From ae22b6d403dcf25098c77f0dfcf59ae58b186461 Mon Sep 17 00:00:00 2001 From: Christopher Long Date: Sun, 17 Jun 2007 22:18:54 +0000 Subject: [PATCH] per-object-permissions: Merged to trunk [5486] NOTE: Not fully tested, will be working on this over the next few weeks. git-svn-id: http://code.djangoproject.com/svn/django/branches/per-object-permissions@5488 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- AUTHORS | 96 +- MANIFEST.in | 15 +- django/__init__.py | 9 +- django/bin/compile-messages.py | 21 +- django/bin/daily_cleanup.py | 12 +- django/bin/make-messages.py | 4 +- django/bin/profiling/gather_profile_stats.py | 2 +- django/conf/__init__.py | 7 +- django/conf/global_settings.py | 35 +- django/conf/locale/bg/LC_MESSAGES/django.mo | Bin 0 -> 51713 bytes django/conf/locale/bg/LC_MESSAGES/django.po | 2670 +++++++++++ django/conf/locale/bg/LC_MESSAGES/djangojs.mo | Bin 0 -> 1727 bytes django/conf/locale/bg/LC_MESSAGES/djangojs.po | 106 + django/conf/locale/ca/LC_MESSAGES/django.mo | Bin 0 -> 49408 bytes django/conf/locale/ca/LC_MESSAGES/django.po | 3034 +++++++++++++ django/conf/locale/ca/LC_MESSAGES/djangojs.mo | Bin 0 -> 1646 bytes django/conf/locale/ca/LC_MESSAGES/djangojs.po | 120 + django/conf/locale/de/LC_MESSAGES/django.mo | Bin 38123 -> 44039 bytes django/conf/locale/de/LC_MESSAGES/django.po | 3911 +++++++++------- django/conf/locale/de/LC_MESSAGES/djangojs.mo | Bin 1460 -> 1569 bytes django/conf/locale/de/LC_MESSAGES/djangojs.po | 20 +- django/conf/locale/el/LC_MESSAGES/django.mo | Bin 15668 -> 15638 bytes django/conf/locale/el/LC_MESSAGES/django.po | 6 +- django/conf/locale/en/LC_MESSAGES/django.mo | Bin 627 -> 627 bytes django/conf/locale/en/LC_MESSAGES/django.po | 3490 +++++++++------ django/conf/locale/es/LC_MESSAGES/django.mo | Bin 28941 -> 40333 bytes django/conf/locale/es/LC_MESSAGES/django.po | 3474 ++++++++------- .../conf/locale/es_AR/LC_MESSAGES/django.mo | Bin 37293 -> 44251 bytes .../conf/locale/es_AR/LC_MESSAGES/django.po | 3931 ++++++++++------- .../conf/locale/es_AR/LC_MESSAGES/djangojs.mo | Bin 1576 -> 1576 bytes .../conf/locale/es_AR/LC_MESSAGES/djangojs.po | 9 +- django/conf/locale/fi/LC_MESSAGES/django.mo | Bin 33598 -> 34867 bytes django/conf/locale/fi/LC_MESSAGES/django.po | 67 +- django/conf/locale/fr/LC_MESSAGES/django.mo | Bin 32919 -> 46214 bytes django/conf/locale/fr/LC_MESSAGES/django.po | 2877 +++++++----- django/conf/locale/he/LC_MESSAGES/django.mo | Bin 36826 -> 48281 bytes django/conf/locale/he/LC_MESSAGES/django.po | 2988 ++++++++----- django/conf/locale/he/LC_MESSAGES/djangojs.mo | Bin 1626 -> 1716 bytes django/conf/locale/he/LC_MESSAGES/djangojs.po | 65 +- django/conf/locale/it/LC_MESSAGES/django.mo | Bin 32320 -> 40774 bytes django/conf/locale/it/LC_MESSAGES/django.po | 3766 ++++++++++------ django/conf/locale/it/LC_MESSAGES/djangojs.mo | Bin 1613 -> 1643 bytes django/conf/locale/it/LC_MESSAGES/djangojs.po | 96 +- django/conf/locale/ja/LC_MESSAGES/django.mo | Bin 41208 -> 47042 bytes django/conf/locale/ja/LC_MESSAGES/django.po | 768 +++- django/conf/locale/ja/LC_MESSAGES/djangojs.mo | Bin 1604 -> 1601 bytes django/conf/locale/ja/LC_MESSAGES/djangojs.po | 14 +- django/conf/locale/kn/LC_MESSAGES/django.mo | Bin 0 -> 57878 bytes django/conf/locale/kn/LC_MESSAGES/django.po | 2533 +++++++++++ django/conf/locale/kn/LC_MESSAGES/djangojs.mo | Bin 0 -> 2205 bytes django/conf/locale/kn/LC_MESSAGES/djangojs.po | 116 + django/conf/locale/ko/LC_MESSAGES/django.mo | Bin 0 -> 42603 bytes django/conf/locale/ko/LC_MESSAGES/django.po | 2797 ++++++++++++ django/conf/locale/ko/LC_MESSAGES/djangojs.mo | Bin 0 -> 1577 bytes django/conf/locale/ko/LC_MESSAGES/djangojs.po | 118 + django/conf/locale/lv/LC_MESSAGES/django.mo | Bin 0 -> 38363 bytes django/conf/locale/lv/LC_MESSAGES/django.po | 2865 ++++++++++++ django/conf/locale/lv/LC_MESSAGES/djangojs.mo | Bin 0 -> 1587 bytes django/conf/locale/lv/LC_MESSAGES/djangojs.po | 119 + django/conf/locale/mk/LC_MESSAGES/django.mo | Bin 0 -> 57210 bytes django/conf/locale/mk/LC_MESSAGES/django.po | 2755 ++++++++++++ django/conf/locale/mk/LC_MESSAGES/djangojs.mo | Bin 0 -> 1921 bytes django/conf/locale/mk/LC_MESSAGES/djangojs.po | 119 + django/conf/locale/nl/LC_MESSAGES/django.mo | Bin 32146 -> 38003 bytes django/conf/locale/nl/LC_MESSAGES/django.po | 783 +++- django/conf/locale/no/LC_MESSAGES/django.mo | Bin 27469 -> 31943 bytes django/conf/locale/no/LC_MESSAGES/django.po | 231 +- django/conf/locale/no/LC_MESSAGES/djangojs.mo | Bin 1492 -> 1540 bytes django/conf/locale/no/LC_MESSAGES/djangojs.po | 15 +- django/conf/locale/pl/LC_MESSAGES/django.mo | Bin 28373 -> 43442 bytes django/conf/locale/pl/LC_MESSAGES/django.po | 2832 ++++++++---- django/conf/locale/pl/LC_MESSAGES/djangojs.mo | Bin 0 -> 1564 bytes django/conf/locale/pl/LC_MESSAGES/djangojs.po | 112 + django/conf/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 37681 bytes django/conf/locale/pt/LC_MESSAGES/django.po | 2125 +++++++++ django/conf/locale/pt/LC_MESSAGES/djangojs.mo | Bin 0 -> 1514 bytes django/conf/locale/pt/LC_MESSAGES/djangojs.po | 108 + .../conf/locale/pt_BR/LC_MESSAGES/django.mo | Bin 28462 -> 30723 bytes .../conf/locale/pt_BR/LC_MESSAGES/django.po | 2433 ++++++---- django/conf/locale/ru/LC_MESSAGES/django.mo | Bin 42820 -> 56778 bytes django/conf/locale/ru/LC_MESSAGES/django.po | 2853 ++++++++---- django/conf/locale/sk/LC_MESSAGES/django.mo | Bin 32375 -> 41205 bytes django/conf/locale/sk/LC_MESSAGES/django.po | 2571 ++++++----- django/conf/locale/sk/LC_MESSAGES/djangojs.mo | Bin 1492 -> 1539 bytes django/conf/locale/sk/LC_MESSAGES/djangojs.po | 77 +- django/conf/locale/sl/LC_MESSAGES/django.mo | Bin 33224 -> 32469 bytes django/conf/locale/sl/LC_MESSAGES/django.po | 269 +- django/conf/locale/sl/LC_MESSAGES/djangojs.mo | Bin 0 -> 1523 bytes django/conf/locale/sl/LC_MESSAGES/djangojs.po | 107 + django/conf/locale/sr/LC_MESSAGES/django.mo | Bin 29583 -> 32246 bytes django/conf/locale/sr/LC_MESSAGES/django.po | 693 ++- django/conf/locale/sr/LC_MESSAGES/djangojs.mo | Bin 1699 -> 1669 bytes django/conf/locale/sr/LC_MESSAGES/djangojs.po | 13 +- django/conf/locale/sv/LC_MESSAGES/django.mo | Bin 29118 -> 45632 bytes django/conf/locale/sv/LC_MESSAGES/django.po | 3052 ++++++++----- django/conf/locale/sv/LC_MESSAGES/djangojs.mo | Bin 905 -> 1680 bytes django/conf/locale/sv/LC_MESSAGES/djangojs.po | 86 +- django/conf/locale/ta/LC_MESSAGES/django.mo | Bin 52050 -> 60022 bytes django/conf/locale/ta/LC_MESSAGES/django.po | 1185 ++--- django/conf/locale/ta/LC_MESSAGES/djangojs.mo | Bin 0 -> 2336 bytes django/conf/locale/ta/LC_MESSAGES/djangojs.po | 112 + django/conf/locale/te/LC_MESSAGES/django.mo | Bin 0 -> 35163 bytes django/conf/locale/te/LC_MESSAGES/django.po | 2109 +++++++++ django/conf/locale/te/LC_MESSAGES/djangojs.mo | Bin 0 -> 2206 bytes django/conf/locale/te/LC_MESSAGES/djangojs.po | 110 + django/conf/locale/tr/LC_MESSAGES/django.mo | Bin 37149 -> 38712 bytes django/conf/locale/tr/LC_MESSAGES/django.po | 1605 ++++--- .../conf/locale/zh_CN/LC_MESSAGES/django.mo | Bin 30798 -> 30798 bytes .../conf/locale/zh_CN/LC_MESSAGES/django.po | 2 +- .../conf/locale/zh_CN/LC_MESSAGES/djangojs.mo | Bin 1505 -> 1498 bytes .../conf/locale/zh_CN/LC_MESSAGES/djangojs.po | 2 +- django/conf/project_template/settings.py | 12 +- django/conf/urls/admin_password_reset.py | 6 - django/conf/urls/defaults.py | 31 +- django/conf/urls/registration.py | 19 - django/contrib/admin/media/css/forms.css | 5 +- django/contrib/admin/media/js/urlify.js | 2 +- .../admin/row_level_perm_manipulator.py | 2 +- .../admin/auth/user/change_password.html | 52 + .../contrib/admin/templatetags/admin_list.py | 51 +- .../admin/templatetags/admin_modify.py | 25 +- .../admin/templatetags/adminapplist.py | 4 +- django/contrib/admin/templatetags/log.py | 13 +- django/contrib/admin/urls.py | 2 + django/contrib/admin/views/auth.py | 41 +- django/contrib/admin/views/decorators.py | 12 +- django/contrib/admin/views/doc.py | 9 +- django/contrib/admin/views/main.py | 62 +- .../admin/views/row_level_permissions.py | 3 +- django/contrib/auth/__init__.py | 9 +- django/contrib/auth/decorators.py | 9 +- django/contrib/auth/forms.py | 16 + django/contrib/auth/models.py | 29 +- django/contrib/auth/views.py | 15 +- django/contrib/comments/feeds.py | 9 +- django/contrib/comments/models.py | 2 +- .../comments/templates/comments/form.html | 2 +- .../contrib/comments/templatetags/comments.py | 22 +- django/contrib/comments/views/comments.py | 12 +- .../contenttypes}/generic.py | 3 +- django/contrib/contenttypes/management.py | 1 + django/contrib/contenttypes/models.py | 24 +- django/contrib/databrowse/__init__.py | 1 + django/contrib/databrowse/datastructures.py | 192 + .../contrib/databrowse/plugins}/__init__.py | 0 .../contrib/databrowse/plugins/calendars.py | 84 + .../databrowse/plugins/fieldchoices.py | 72 + django/contrib/databrowse/plugins/objects.py | 14 + django/contrib/databrowse/sites.py | 148 + .../databrowse/templates/databrowse/base.html | 58 + .../templates/databrowse/calendar_day.html | 17 + .../databrowse/calendar_homepage.html | 17 + .../templates/databrowse/calendar_main.html | 17 + .../templates/databrowse/calendar_month.html | 17 + .../templates/databrowse/calendar_year.html | 17 + .../templates/databrowse/choice_detail.html | 17 + .../templates/databrowse/choice_list.html | 17 + .../databrowse/fieldchoice_detail.html | 17 + .../databrowse/fieldchoice_homepage.html | 17 + .../databrowse/fieldchoice_list.html | 17 + .../templates/databrowse/homepage.html | 21 + .../templates/databrowse/model_detail.html | 19 + .../templates/databrowse/object_detail.html | 41 + django/contrib/databrowse/urls.py | 20 + django/contrib/databrowse/views.py | 23 + django/contrib/flatpages/models.py | 2 +- django/contrib/formtools/preview.py | 26 +- .../formtools/templates/formtools/form.html | 2 +- .../templates/formtools/preview.html | 4 +- .../contrib/humanize/templatetags/humanize.py | 17 +- .../contrib/localflavor/__init__.py | 0 django/contrib/localflavor/au/__init__.py | 0 django/contrib/localflavor/au/au_states.py | 17 + django/contrib/localflavor/au/forms.py | 43 + django/contrib/localflavor/br/__init__.py | 0 django/contrib/localflavor/br/br_states.py | 37 + django/contrib/localflavor/br/forms.py | 119 + django/contrib/localflavor/ch/__init__.py | 0 django/contrib/localflavor/ch/ch_states.py | 31 + django/contrib/localflavor/ch/forms.py | 109 + django/contrib/localflavor/cl/__init__.py | 0 django/contrib/localflavor/cl/forms.py | 78 + django/contrib/localflavor/de/__init__.py | 0 django/contrib/localflavor/de/de_states.py | 21 + django/contrib/localflavor/de/forms.py | 79 + django/contrib/localflavor/fi/__init__.py | 0 .../localflavor/fi/fi_municipalities.py | 427 ++ django/contrib/localflavor/fi/forms.py | 45 + django/contrib/localflavor/fr/__init__.py | 0 django/contrib/localflavor/fr/forms.py | 44 + .../contrib/localflavor/fr/fr_department.py | 112 + django/contrib/localflavor/is_/__init__.py | 0 django/contrib/localflavor/is_/forms.py | 77 + .../contrib/localflavor/is_/is_postalcodes.py | 151 + django/contrib/localflavor/it/__init__.py | 0 django/contrib/localflavor/it/forms.py | 77 + django/contrib/localflavor/it/it_province.py | 114 + django/contrib/localflavor/it/it_region.py | 24 + django/contrib/localflavor/it/util.py | 40 + django/contrib/localflavor/jp/__init__.py | 0 django/contrib/localflavor/jp/forms.py | 38 + .../contrib/localflavor/jp/jp_prefectures.py | 51 + django/contrib/localflavor/no/__init__.py | 0 django/contrib/localflavor/no/forms.py | 77 + .../localflavor/no/no_municipalities.py | 32 + django/contrib/localflavor/uk/__init__.py | 0 django/contrib/localflavor/uk/forms.py | 19 + django/contrib/localflavor/us/__init__.py | 0 django/contrib/localflavor/us/forms.py | 99 + django/contrib/localflavor/us/us_states.py | 240 + django/contrib/markup/models.py | 0 .../contrib}/markup/tests.py | 0 django/contrib/sessions/middleware.py | 19 +- django/contrib/sessions/models.py | 23 +- django/contrib/sessions/tests.py | 19 + django/contrib/sitemaps/__init__.py | 4 +- django/contrib/sitemaps/views.py | 2 +- django/contrib/syndication/feeds.py | 3 + django/contrib/webdesign/__init__.py | 0 django/contrib/webdesign/lorem_ipsum.py | 69 + django/contrib/webdesign/models.py | 0 .../webdesign/templatetags/__init__.py | 0 .../webdesign/templatetags/webdesign.py | 67 + django/contrib/webdesign/tests.py | 17 + django/core/cache/backends/base.py | 3 + django/core/cache/backends/dummy.py | 6 +- django/core/cache/backends/memcached.py | 7 +- django/core/cache/backends/simple.py | 2 +- django/core/context_processors.py | 7 + django/core/handlers/modpython.py | 4 +- django/core/handlers/wsgi.py | 2 +- django/core/mail.py | 243 +- django/core/management.py | 460 +- django/core/serializers/__init__.py | 12 + django/core/serializers/base.py | 34 +- django/core/serializers/json.py | 34 +- django/core/serializers/python.py | 28 +- django/core/serializers/pyyaml.py | 38 + django/core/serializers/xml_serializer.py | 58 +- django/core/servers/basehttp.py | 21 +- django/core/servers/fastcgi.py | 25 +- django/core/urlresolvers.py | 20 +- django/core/validators.py | 49 +- django/db/__init__.py | 3 +- django/db/backends/ado_mssql/base.py | 27 +- django/db/backends/ado_mssql/creation.py | 4 +- django/db/backends/dummy/base.py | 12 +- django/db/backends/mysql/base.py | 118 +- django/db/backends/mysql/client.py | 29 +- django/db/backends/mysql/creation.py | 4 +- django/db/backends/mysql/introspection.py | 4 +- django/db/backends/mysql_old/__init__.py | 0 django/db/backends/mysql_old/base.py | 240 + django/db/backends/mysql_old/client.py | 14 + django/db/backends/mysql_old/creation.py | 30 + django/db/backends/mysql_old/introspection.py | 95 + django/db/backends/oracle/base.py | 27 +- django/db/backends/oracle/creation.py | 4 +- django/db/backends/oracle/introspection.py | 2 +- django/db/backends/postgresql/base.py | 139 +- django/db/backends/postgresql/creation.py | 4 +- .../db/backends/postgresql/introspection.py | 3 +- .../db/backends/postgresql_psycopg2/base.py | 102 +- .../postgresql_psycopg2/introspection.py | 3 +- django/db/backends/sqlite3/base.py | 39 +- django/db/backends/sqlite3/creation.py | 4 +- django/db/backends/util.py | 17 +- django/db/models/__init__.py | 25 - django/db/models/base.py | 114 +- django/db/models/fields/__init__.py | 205 +- django/db/models/fields/related.py | 55 +- django/db/models/loading.py | 2 +- django/db/models/manager.py | 8 +- django/db/models/manipulators.py | 10 +- django/db/models/options.py | 5 +- django/db/models/query.py | 229 +- django/db/models/related.py | 17 +- django/db/transaction.py | 12 +- django/dispatch/dispatcher.py | 118 +- django/http/__init__.py | 72 +- django/middleware/cache.py | 2 +- django/middleware/common.py | 16 +- django/newforms/extras/widgets.py | 3 +- django/newforms/fields.py | 298 +- django/newforms/forms.py | 137 +- django/newforms/models.py | 196 +- django/newforms/util.py | 23 +- django/newforms/widgets.py | 187 +- django/oldforms/__init__.py | 52 +- django/shortcuts/__init__.py | 21 +- django/template/__init__.py | 189 +- django/template/context.py | 9 +- django/template/defaultfilters.py | 135 +- django/template/defaulttags.py | 347 +- django/template/loader.py | 33 +- django/template/loader_tags.py | 27 +- django/test/__init__.py | 6 + django/test/{doctest.py => _doctest.py} | 5 + django/test/client.py | 133 +- django/test/simple.py | 21 +- django/test/testcases.py | 123 +- django/test/utils.py | 77 +- django/utils/_decimal.py | 3079 +++++++++++++ django/utils/cache.py | 2 +- django/utils/datastructures.py | 33 +- django/utils/dateformat.py | 19 +- django/utils/encoding.py | 32 + django/utils/feedgenerator.py | 19 +- django/utils/functional.py | 2 +- django/utils/html.py | 5 +- django/utils/itercompat.py | 24 +- django/utils/simplejson/LICENSE.txt | 2 +- django/utils/simplejson/__init__.py | 47 +- django/utils/simplejson/decoder.py | 6 +- django/utils/simplejson/encoder.py | 98 +- django/utils/simplejson/jsonfilter.py | 40 + django/utils/simplejson/scanner.py | 3 +- django/utils/synch.py | 15 +- django/utils/text.py | 67 +- django/utils/timesince.py | 8 +- django/utils/translation/__init__.py | 101 +- django/utils/translation/trans_null.py | 15 +- django/utils/translation/trans_real.py | 7 +- django/views/debug.py | 71 +- django/views/defaults.py | 8 +- django/views/generic/create_update.py | 6 +- django/views/generic/date_based.py | 12 +- django/views/generic/list_detail.py | 12 +- django/views/generic/simple.py | 8 +- django/views/i18n.py | 12 +- django/views/static.py | 2 +- docs/add_ons.txt | 68 +- docs/apache_auth.txt | 4 +- docs/api_stability.txt | 46 +- docs/authentication.txt | 217 +- docs/cache.txt | 19 +- docs/contributing.txt | 227 +- docs/databases.txt | 165 + docs/databrowse.txt | 60 + docs/db-api.txt | 135 +- docs/design_philosophies.txt | 2 +- docs/distributions.txt | 78 + docs/django-admin.txt | 192 +- docs/documentation.txt | 42 +- docs/email.txt | 101 +- docs/faq.txt | 33 +- docs/fastcgi.txt | 55 +- docs/flatpages.txt | 14 +- docs/forms.txt | 74 +- docs/generic_views.txt | 70 +- docs/i18n.txt | 39 +- docs/install.txt | 82 +- docs/legacy_databases.txt | 26 +- docs/man/django-admin.1 | 162 + docs/middleware.txt | 17 +- docs/model-api.txt | 284 +- docs/modpython.txt | 73 +- docs/newforms.txt | 1415 +++++- docs/outputting_csv.txt | 6 +- docs/outputting_pdf.txt | 4 +- docs/overview.txt | 4 +- docs/redirects.txt | 12 +- docs/release_notes_0.96.txt | 264 ++ docs/request_response.txt | 125 +- docs/serialization.txt | 30 +- docs/sessions.txt | 27 +- docs/settings.txt | 295 +- docs/sitemaps.txt | 22 +- docs/sites.txt | 12 +- docs/static_files.txt | 6 +- docs/syndication_feeds.txt | 79 +- docs/templates.txt | 161 +- docs/templates_python.txt | 198 +- docs/testing.txt | 438 +- docs/tutorial01.txt | 44 +- docs/tutorial02.txt | 16 +- docs/tutorial03.txt | 20 +- docs/tutorial04.txt | 49 +- docs/url_dispatch.txt | 134 +- docs/webdesign.txt | 53 + extras/django_bash_completion | 68 +- scripts/rpm-install.sh | 28 + setup.cfg | 3 +- setup.py | 34 +- tests/modeltests/basic/models.py | 10 +- tests/modeltests/custom_columns/models.py | 96 +- tests/modeltests/empty/models.py | 2 +- tests/modeltests/field_defaults/models.py | 2 +- tests/modeltests/fixtures/__init__.py | 2 + .../fixtures/fixtures/fixture1.json | 18 + .../fixtures/fixtures/fixture2.json | 18 + .../modeltests/fixtures/fixtures/fixture2.xml | 11 + .../modeltests/fixtures/fixtures/fixture3.xml | 11 + .../fixtures/fixtures/initial_data.json | 10 + tests/modeltests/fixtures/models.py | 88 + tests/modeltests/generic_relations/models.py | 43 +- .../modeltests/get_object_or_404/__init__.py | 0 tests/modeltests/get_object_or_404/models.py | 86 + tests/modeltests/get_or_create/models.py | 2 +- tests/modeltests/invalid_models/models.py | 20 +- tests/modeltests/lookup/models.py | 60 + tests/modeltests/m2m_and_m2o/models.py | 2 +- tests/modeltests/m2m_recursive/models.py | 2 +- tests/modeltests/manipulators/models.py | 2 +- tests/modeltests/many_to_many/models.py | 14 +- tests/modeltests/many_to_one/models.py | 4 +- tests/modeltests/model_forms/models.py | 470 +- tests/modeltests/or_lookups/models.py | 15 + tests/modeltests/pagination/models.py | 2 +- tests/modeltests/reverse_lookup/models.py | 2 +- tests/modeltests/select_related/__init__.py | 0 tests/modeltests/select_related/models.py | 152 + tests/modeltests/serializers/models.py | 47 +- .../test_client/fixtures/testdata.json | 20 + tests/modeltests/test_client/management.py | 10 - tests/modeltests/test_client/models.py | 223 +- tests/modeltests/test_client/urls.py | 11 + tests/modeltests/test_client/views.py | 135 +- tests/modeltests/validation/models.py | 6 +- tests/regressiontests/bug639/__init__.py | 0 tests/regressiontests/bug639/models.py | 16 + tests/regressiontests/bug639/test.jpg | Bin 0 -> 1780 bytes tests/regressiontests/bug639/tests.py | 42 + tests/regressiontests/cache/tests.py | 5 + .../datastructures/__init__.py | 0 .../regressiontests/datastructures/models.py | 0 tests/regressiontests/datastructures/tests.py | 67 + tests/regressiontests/dateformat/tests.py | 2 + tests/regressiontests/defaultfilters/tests.py | 95 +- tests/regressiontests/dispatch/__init__.py | 2 + tests/regressiontests/dispatch/models.py | 0 .../dispatch/tests/__init__.py | 7 + .../dispatch/tests/test_dispatcher.py | 144 + .../dispatch/tests/test_robustapply.py | 34 + .../dispatch/tests/test_saferef.py | 79 + .../fixtures_regress/__init__.py | 0 .../fixtures_regress/fixtures/sequence.json | 10 + .../fixtures_regress/models.py | 29 + tests/regressiontests/forms/localflavor.py | 1359 ++++++ tests/regressiontests/forms/regressions.py | 51 + tests/regressiontests/forms/tests.py | 1230 +++++- tests/regressiontests/httpwrappers/tests.py | 32 + tests/regressiontests/humanize/__init__.py | 0 tests/regressiontests/humanize/models.py | 0 tests/regressiontests/humanize/tests.py | 54 + .../invalid_admin_options/__init__.py | 0 .../invalid_admin_options/models.py | 337 ++ .../many_to_one_regress/models.py | 29 +- tests/regressiontests/null_queries/models.py | 2 +- .../serializers_regress/__init__.py | 0 .../serializers_regress/models.py | 211 + .../serializers_regress/tests.py | 320 ++ tests/regressiontests/templates/tests.py | 162 +- tests/regressiontests/templates/urls.py | 11 + tests/regressiontests/templates/views.py | 10 + .../test_client_regress/__init__.py | 0 .../test_client_regress/models.py | 164 + .../test_client_regress/urls.py | 7 + .../test_client_regress/views.py | 8 + tests/regressiontests/text/__init__.py | 0 tests/regressiontests/text/models.py | 0 tests/regressiontests/text/tests.py | 17 + tests/runtests.py | 37 +- tests/templates/base.html | 8 + tests/templates/form_view.html | 15 + tests/templates/login.html | 10 +- tests/urls.py | 6 +- 467 files changed, 71462 insertions(+), 19584 deletions(-) create mode 100644 django/conf/locale/bg/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/bg/LC_MESSAGES/django.po create mode 100644 django/conf/locale/bg/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/bg/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/ca/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/ca/LC_MESSAGES/django.po create mode 100644 django/conf/locale/ca/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/ca/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/kn/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/kn/LC_MESSAGES/django.po create mode 100644 django/conf/locale/kn/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/kn/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/ko/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/ko/LC_MESSAGES/django.po create mode 100644 django/conf/locale/ko/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/ko/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/lv/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/lv/LC_MESSAGES/django.po create mode 100644 django/conf/locale/lv/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/lv/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/mk/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/mk/LC_MESSAGES/django.po create mode 100644 django/conf/locale/mk/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/mk/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/pl/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/pl/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/pt/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/pt/LC_MESSAGES/django.po create mode 100644 django/conf/locale/pt/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/pt/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/sl/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/sl/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/ta/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/ta/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/te/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/te/LC_MESSAGES/django.po create mode 100644 django/conf/locale/te/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/te/LC_MESSAGES/djangojs.po delete mode 100644 django/conf/urls/admin_password_reset.py delete mode 100644 django/conf/urls/registration.py create mode 100644 django/contrib/admin/templates/admin/auth/user/change_password.html rename django/{db/models/fields => contrib/contenttypes}/generic.py (99%) create mode 100644 django/contrib/databrowse/__init__.py create mode 100644 django/contrib/databrowse/datastructures.py rename {tests/regressiontests/markup => django/contrib/databrowse/plugins}/__init__.py (100%) create mode 100644 django/contrib/databrowse/plugins/calendars.py create mode 100644 django/contrib/databrowse/plugins/fieldchoices.py create mode 100644 django/contrib/databrowse/plugins/objects.py create mode 100644 django/contrib/databrowse/sites.py create mode 100644 django/contrib/databrowse/templates/databrowse/base.html create mode 100644 django/contrib/databrowse/templates/databrowse/calendar_day.html create mode 100644 django/contrib/databrowse/templates/databrowse/calendar_homepage.html create mode 100644 django/contrib/databrowse/templates/databrowse/calendar_main.html create mode 100644 django/contrib/databrowse/templates/databrowse/calendar_month.html create mode 100644 django/contrib/databrowse/templates/databrowse/calendar_year.html create mode 100644 django/contrib/databrowse/templates/databrowse/choice_detail.html create mode 100644 django/contrib/databrowse/templates/databrowse/choice_list.html create mode 100644 django/contrib/databrowse/templates/databrowse/fieldchoice_detail.html create mode 100644 django/contrib/databrowse/templates/databrowse/fieldchoice_homepage.html create mode 100644 django/contrib/databrowse/templates/databrowse/fieldchoice_list.html create mode 100644 django/contrib/databrowse/templates/databrowse/homepage.html create mode 100644 django/contrib/databrowse/templates/databrowse/model_detail.html create mode 100644 django/contrib/databrowse/templates/databrowse/object_detail.html create mode 100644 django/contrib/databrowse/urls.py create mode 100644 django/contrib/databrowse/views.py rename tests/regressiontests/markup/models.py => django/contrib/localflavor/__init__.py (100%) create mode 100644 django/contrib/localflavor/au/__init__.py create mode 100644 django/contrib/localflavor/au/au_states.py create mode 100644 django/contrib/localflavor/au/forms.py create mode 100644 django/contrib/localflavor/br/__init__.py create mode 100644 django/contrib/localflavor/br/br_states.py create mode 100644 django/contrib/localflavor/br/forms.py create mode 100644 django/contrib/localflavor/ch/__init__.py create mode 100644 django/contrib/localflavor/ch/ch_states.py create mode 100644 django/contrib/localflavor/ch/forms.py create mode 100644 django/contrib/localflavor/cl/__init__.py create mode 100644 django/contrib/localflavor/cl/forms.py create mode 100644 django/contrib/localflavor/de/__init__.py create mode 100644 django/contrib/localflavor/de/de_states.py create mode 100644 django/contrib/localflavor/de/forms.py create mode 100644 django/contrib/localflavor/fi/__init__.py create mode 100644 django/contrib/localflavor/fi/fi_municipalities.py create mode 100644 django/contrib/localflavor/fi/forms.py create mode 100644 django/contrib/localflavor/fr/__init__.py create mode 100644 django/contrib/localflavor/fr/forms.py create mode 100644 django/contrib/localflavor/fr/fr_department.py create mode 100644 django/contrib/localflavor/is_/__init__.py create mode 100644 django/contrib/localflavor/is_/forms.py create mode 100644 django/contrib/localflavor/is_/is_postalcodes.py create mode 100644 django/contrib/localflavor/it/__init__.py create mode 100644 django/contrib/localflavor/it/forms.py create mode 100644 django/contrib/localflavor/it/it_province.py create mode 100644 django/contrib/localflavor/it/it_region.py create mode 100644 django/contrib/localflavor/it/util.py create mode 100644 django/contrib/localflavor/jp/__init__.py create mode 100644 django/contrib/localflavor/jp/forms.py create mode 100644 django/contrib/localflavor/jp/jp_prefectures.py create mode 100644 django/contrib/localflavor/no/__init__.py create mode 100644 django/contrib/localflavor/no/forms.py create mode 100644 django/contrib/localflavor/no/no_municipalities.py create mode 100644 django/contrib/localflavor/uk/__init__.py create mode 100644 django/contrib/localflavor/uk/forms.py create mode 100644 django/contrib/localflavor/us/__init__.py create mode 100644 django/contrib/localflavor/us/forms.py create mode 100644 django/contrib/localflavor/us/us_states.py create mode 100644 django/contrib/markup/models.py rename {tests/regressiontests => django/contrib}/markup/tests.py (100%) create mode 100644 django/contrib/sessions/tests.py create mode 100644 django/contrib/webdesign/__init__.py create mode 100644 django/contrib/webdesign/lorem_ipsum.py create mode 100644 django/contrib/webdesign/models.py create mode 100644 django/contrib/webdesign/templatetags/__init__.py create mode 100644 django/contrib/webdesign/templatetags/webdesign.py create mode 100644 django/contrib/webdesign/tests.py create mode 100644 django/core/serializers/pyyaml.py create mode 100644 django/db/backends/mysql_old/__init__.py create mode 100644 django/db/backends/mysql_old/base.py create mode 100644 django/db/backends/mysql_old/client.py create mode 100644 django/db/backends/mysql_old/creation.py create mode 100644 django/db/backends/mysql_old/introspection.py rename django/test/{doctest.py => _doctest.py} (99%) create mode 100644 django/utils/_decimal.py create mode 100644 django/utils/encoding.py create mode 100644 django/utils/simplejson/jsonfilter.py create mode 100644 docs/databases.txt create mode 100644 docs/databrowse.txt create mode 100644 docs/distributions.txt create mode 100644 docs/man/django-admin.1 create mode 100644 docs/release_notes_0.96.txt create mode 100644 docs/webdesign.txt create mode 100644 scripts/rpm-install.sh create mode 100644 tests/modeltests/fixtures/__init__.py create mode 100644 tests/modeltests/fixtures/fixtures/fixture1.json create mode 100644 tests/modeltests/fixtures/fixtures/fixture2.json create mode 100644 tests/modeltests/fixtures/fixtures/fixture2.xml create mode 100644 tests/modeltests/fixtures/fixtures/fixture3.xml create mode 100644 tests/modeltests/fixtures/fixtures/initial_data.json create mode 100644 tests/modeltests/fixtures/models.py create mode 100644 tests/modeltests/get_object_or_404/__init__.py create mode 100644 tests/modeltests/get_object_or_404/models.py create mode 100644 tests/modeltests/select_related/__init__.py create mode 100644 tests/modeltests/select_related/models.py create mode 100644 tests/modeltests/test_client/fixtures/testdata.json delete mode 100644 tests/modeltests/test_client/management.py create mode 100644 tests/regressiontests/bug639/__init__.py create mode 100644 tests/regressiontests/bug639/models.py create mode 100644 tests/regressiontests/bug639/test.jpg create mode 100644 tests/regressiontests/bug639/tests.py create mode 100644 tests/regressiontests/datastructures/__init__.py create mode 100644 tests/regressiontests/datastructures/models.py create mode 100644 tests/regressiontests/datastructures/tests.py create mode 100644 tests/regressiontests/dispatch/__init__.py create mode 100644 tests/regressiontests/dispatch/models.py create mode 100644 tests/regressiontests/dispatch/tests/__init__.py create mode 100644 tests/regressiontests/dispatch/tests/test_dispatcher.py create mode 100644 tests/regressiontests/dispatch/tests/test_robustapply.py create mode 100644 tests/regressiontests/dispatch/tests/test_saferef.py create mode 100644 tests/regressiontests/fixtures_regress/__init__.py create mode 100644 tests/regressiontests/fixtures_regress/fixtures/sequence.json create mode 100644 tests/regressiontests/fixtures_regress/models.py create mode 100644 tests/regressiontests/forms/localflavor.py create mode 100644 tests/regressiontests/forms/regressions.py create mode 100644 tests/regressiontests/humanize/__init__.py create mode 100644 tests/regressiontests/humanize/models.py create mode 100644 tests/regressiontests/humanize/tests.py create mode 100644 tests/regressiontests/invalid_admin_options/__init__.py create mode 100644 tests/regressiontests/invalid_admin_options/models.py create mode 100644 tests/regressiontests/serializers_regress/__init__.py create mode 100644 tests/regressiontests/serializers_regress/models.py create mode 100644 tests/regressiontests/serializers_regress/tests.py create mode 100644 tests/regressiontests/templates/urls.py create mode 100644 tests/regressiontests/templates/views.py create mode 100644 tests/regressiontests/test_client_regress/__init__.py create mode 100644 tests/regressiontests/test_client_regress/models.py create mode 100644 tests/regressiontests/test_client_regress/urls.py create mode 100644 tests/regressiontests/test_client_regress/views.py create mode 100644 tests/regressiontests/text/__init__.py create mode 100644 tests/regressiontests/text/models.py create mode 100644 tests/regressiontests/text/tests.py create mode 100644 tests/templates/base.html create mode 100644 tests/templates/form_view.html diff --git a/AUTHORS b/AUTHORS index 645913e7c4..cd136fe06c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,7 +1,6 @@ Django was originally created in late 2003 at World Online, the Web division of the Lawrence Journal-World newspaper in Lawrence, Kansas. - The PRIMARY AUTHORS are (and/or have been): Adrian Holovaty , who originally created Django with @@ -42,132 +41,205 @@ And here is an inevitably incomplete list of MUCH-APPRECIATED CONTRIBUTORS -- people who have submitted patches, reported bugs, added translations, helped answer newbie questions, and generally made Django that much better: - adurdin@gmail.com - akaihola + alang@bright-green.com + Marty Alchin + Daniel Alves Barbosa de Oliveira Vaz Andreas + andy@jadedplanet.net + Fabrice Aneche ant9000@netwise.it David Ascher + david@kazserve.org Arthur + axiak@mit.edu Jiri Barton Ned Batchelder Shannon -jj Behrens Esdras Beleza James Bennett + Ben Paul Bissex Simon Blanchard Andrew Brehaut - andy@jadedplanet.net + brut.alll@gmail.com + Jonathan Buchanan Antonio Cavedoni C8E Chris Chamberlin Amit Chakradeo ChaosKCW + ivan.chelubeev@gmail.com + Bryan Chow + Michal Chruszcz Ian Clelland crankycoder@gmail.com + Pete Crosier Matt Croydon + flavio.curella@gmail.com + Jure Cuhalev dackze+django@gmail.com + David Danier + Dirk Datzert Jonathan Daugherty (cygnus) + dave@thebarproject.com Jason Davies (Esaj) Alex Dedul deric@monowerks.com + Max Derkachev + Jordan Dimov dne@mayonnaise.net Maximillian Dornseif - dummy@habmalnefrage.de Jeremy Dunck + Andrew Durdin Andy Dustman Clint Ecker + enlight Enrico + Ludvig Ericson + Dirk Eschler + Marc Fargas favo@exoweb.net + Bill Fenner + Matthew Flanagan + Eric Floehr + Jorge Gajon gandalf@owca.info Baishampayan Ghose martin.glueck@gmail.com + GomoX Simon Greenhill + Owen Griffiths Espen Grindhaug + Brian Harring Brant Harris Hawkeye - heckj@mac.com + Joe Heck Joel Heenan hipertracker@gmail.com Ian Holsman Kieran Holland + Sung-Jin Hong Robert Rock Howard Jason Huggins - Baurzhan Ismagulov + Hyun Mi Ae + Tom Insam + Baurzhan Ismagulov jcrasta@gmail.com + Zak Johnson Michael Josephson jpellerin@gmail.com junzhang.jn@gmail.com + Antti Kaihola + Ben Dean Kawamura + ian.g.kelly@gmail.com Garth Kidd kilian Sune Kirkeby + Bastian Kleineidam Cameron Knight (ckknight) + Gasper Koren + Martin Kosír Meir Kriheli Bruce Kroeze Joseph Kocherhans konrad@gwu.edu lakin.wecker@gmail.com + Nick Lane Stuart Langridge + Nicola Larosa Eugene Lazutkin Jeong-Min Lee + Jannis Leidel Christopher Lenz lerouxb@gmail.com + Waylan Limberg limodou - mattmcc + Matt McClanahan Martin Maney masonsimon+django@gmail.com Manuzhai - Petar Marić + Petar Marić + Nuno Mariz + marijn@metronomo.cl mark@junklight.com Yasushi Masuda mattycakes@gmail.com Jason McBrayer mccutchen@gmail.com michael.mcewan@gmail.com + mikko@sorl.net mitakummaa@gmail.com mmarshall Eric Moritz + mrmachine Robin Munn + Robert Myers Nebojša Dorđević + Gopal Narayanan Fraser Nevett Sam Newman Neal Norwitz oggie rob Jay Parlar + pavithran s + Barry Pederson pgross@thoughtworks.com phaedo phil@produxion.net + phil.h.smith@gmail.com Gustavo Picon Luke Plant plisk Daniel Poelzleithner + polpak@yahoo.com J. Rademaker Michael Radziej - ramiro + Ramiro Morales + Massimiliano Ravelli Brian Ray + remco@diji.biz rhettg@gmail.com + Henrique Romano + Armin Ronacher Oliver Rutherfurd Ivan Sagalaev (Maniac) + Vinay Sajip David Schein + scott@staplefish.com serbaut@gmail.com Pete Shinners SmileyChris + smurf@smurf.noris.de sopel - Thomas Steinacher + Wiliam Alves de Souza + Georgi Stanojevski + Vasiliy Stavenko + Thomas Steinacher nowell strite Radek Švarz Swaroop C H Aaron Swartz + Ville Säävuori Tyson Tate + Frank Tegtmeyer + thebjorn + Zach Thompson Tom Tobin - Tom Insam Joe Topjian + torne-django@wolfpuppy.org.uk Karen Tracey Makoto Tsuyuki + tt@gurgle.no Amit Upadhyay Geert Vanderkelen + viestards.lists@gmail.com Milton Waddams wam-djangobug@wamber.net + wangchun Dan Watson + Chris Wesseling + James Wheare + charly.wilhelm@gmail.com Rachel Willmer Gary Wilson wojtek diff --git a/MANIFEST.in b/MANIFEST.in index b5fbb3cb90..06a6021a95 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,8 +1,15 @@ +include README include AUTHORS include INSTALL include LICENSE +include MANIFEST.in +recursive-include docs * +recursive-include scripts * +recursive-include examples * +recursive-include extras * recursive-include django/conf/locale * -recursive-include django/contrib/admin/templates -recursive-include django/contrib/admin/media -recursive-include django/contrib/comments/templates -recursive-include django/contrib/sitemaps/templates +recursive-include django/contrib/admin/templates * +recursive-include django/contrib/admin/media * +recursive-include django/contrib/comments/templates * +recursive-include django/contrib/databrowse/templates * +recursive-include django/contrib/sitemaps/templates * diff --git a/django/__init__.py b/django/__init__.py index 5d5461c867..17d8c519cc 100644 --- a/django/__init__.py +++ b/django/__init__.py @@ -1 +1,8 @@ -VERSION = (0, 96, 'pre') +VERSION = (0, 97, 'pre') + +def get_version(): + "Returns the version as a human-format string." + v = '.'.join([str(i) for i in VERSION[:-1]]) + if VERSION[-1]: + v += '-' + VERSION[-1] + return v diff --git a/django/bin/compile-messages.py b/django/bin/compile-messages.py index 0137ec8dd4..2e1e908bbf 100755 --- a/django/bin/compile-messages.py +++ b/django/bin/compile-messages.py @@ -1,9 +1,10 @@ #!/usr/bin/env python +import optparse import os import sys -def compile_messages(): +def compile_messages(locale=None): basedir = None if os.path.isdir(os.path.join('conf', 'locale')): @@ -14,6 +15,9 @@ def compile_messages(): print "This script should be run from the Django SVN tree or your project or app tree." sys.exit(1) + if locale is not None: + basedir = os.path.join(basedir, locale, 'LC_MESSAGES') + for dirpath, dirnames, filenames in os.walk(basedir): for f in filenames: if f.endswith('.po'): @@ -27,10 +31,19 @@ def compile_messages(): os.environ['djangocompilemo'] = pf + '.mo' os.environ['djangocompilepo'] = pf + '.po' if sys.platform == 'win32': # Different shell-variable syntax - cmd = 'msgfmt -o "%djangocompilemo%" "%djangocompilepo%"' + cmd = 'msgfmt --check-format -o "%djangocompilemo%" "%djangocompilepo%"' else: - cmd = 'msgfmt -o "$djangocompilemo" "$djangocompilepo"' + cmd = 'msgfmt --check-format -o "$djangocompilemo" "$djangocompilepo"' os.system(cmd) +def main(): + parser = optparse.OptionParser() + parser.add_option('-l', '--locale', dest='locale', + help="The locale to process. Default is to process all.") + options, args = parser.parse_args() + if len(args): + parser.error("This program takes no arguments") + compile_messages(options.locale) + if __name__ == "__main__": - compile_messages() + main() diff --git a/django/bin/daily_cleanup.py b/django/bin/daily_cleanup.py index 667e0f16c6..c87be1e4c3 100644 --- a/django/bin/daily_cleanup.py +++ b/django/bin/daily_cleanup.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python + """ Daily cleanup job. @@ -5,13 +7,13 @@ Can be run as a cronjob to clean out old data from the database (only expired sessions at the moment). """ -from django.db import backend, connection, transaction +import datetime +from django.db import transaction +from django.contrib.sessions.models import Session def clean_up(): - # Clean up old database records - cursor = connection.cursor() - cursor.execute("DELETE FROM %s WHERE %s < NOW()" % \ - (backend.quote_name('django_session'), backend.quote_name('expire_date'))) + """Clean up expired sessions.""" + Session.objects.filter(expire_date__lt=datetime.datetime.now()).delete() transaction.commit_unless_managed() if __name__ == "__main__": diff --git a/django/bin/make-messages.py b/django/bin/make-messages.py index 557cb5eeec..bf9e7a1962 100755 --- a/django/bin/make-messages.py +++ b/django/bin/make-messages.py @@ -81,7 +81,7 @@ def make_messages(): src = pythonize_re.sub('\n#', src) open(os.path.join(dirpath, '%s.py' % file), "wb").write(src) thefile = '%s.py' % file - cmd = 'xgettext %s -d %s -L Perl --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy -o - "%s"' % ( + cmd = 'xgettext %s -d %s -L Perl --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --from-code UTF-8 -o - "%s"' % ( os.path.exists(potfile) and '--omit-header' or '', domain, os.path.join(dirpath, thefile)) (stdin, stdout, stderr) = os.popen3(cmd, 'b') msgs = stdout.read() @@ -103,7 +103,7 @@ def make_messages(): open(os.path.join(dirpath, '%s.py' % file), "wb").write(templatize(src)) thefile = '%s.py' % file if verbose: sys.stdout.write('processing file %s in %s\n' % (file, dirpath)) - cmd = 'xgettext %s -d %s -L Python --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy -o - "%s"' % ( + cmd = 'xgettext %s -d %s -L Python --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --from-code UTF-8 -o - "%s"' % ( os.path.exists(potfile) and '--omit-header' or '', domain, os.path.join(dirpath, thefile)) (stdin, stdout, stderr) = os.popen3(cmd, 'b') msgs = stdout.read() diff --git a/django/bin/profiling/gather_profile_stats.py b/django/bin/profiling/gather_profile_stats.py index 852f16229d..c0844930e9 100644 --- a/django/bin/profiling/gather_profile_stats.py +++ b/django/bin/profiling/gather_profile_stats.py @@ -22,7 +22,7 @@ def gather_stats(p): else: continue print "Processing %s" % f - if profiles.has_key(path): + if path in profiles: profiles[path].add(prof) else: profiles[path] = prof diff --git a/django/conf/__init__.py b/django/conf/__init__.py index daf5ad766a..021ecc8131 100644 --- a/django/conf/__init__.py +++ b/django/conf/__init__.py @@ -7,6 +7,7 @@ a list of all possible variables. """ import os +import time # Needed for Windows from django.conf import global_settings ENVIRONMENT_VARIABLE = "DJANGO_SETTINGS_MODULE" @@ -105,8 +106,10 @@ class Settings(object): new_installed_apps.append(app) self.INSTALLED_APPS = new_installed_apps - # move the time zone info into os.environ - os.environ['TZ'] = self.TIME_ZONE + if hasattr(time, 'tzset'): + # Move the time zone info into os.environ. See ticket #2315 for why + # we don't do this unconditionally (breaks Windows). + os.environ['TZ'] = self.TIME_ZONE def get_all_members(self): return dir(self) diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index 245096590d..8bdeb64efc 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -38,6 +38,8 @@ LANGUAGE_CODE = 'en-us' LANGUAGES = ( ('ar', gettext_noop('Arabic')), ('bn', gettext_noop('Bengali')), + ('bg', gettext_noop('Bulgarian')), + ('ca', gettext_noop('Catalan')), ('cs', gettext_noop('Czech')), ('cy', gettext_noop('Welsh')), ('da', gettext_noop('Danish')), @@ -54,9 +56,14 @@ LANGUAGES = ( ('is', gettext_noop('Icelandic')), ('it', gettext_noop('Italian')), ('ja', gettext_noop('Japanese')), + ('ko', gettext_noop('Korean')), + ('kn', gettext_noop('Kannada')), + ('lv', gettext_noop('Latvian')), + ('mk', gettext_noop('Macedonian')), ('nl', gettext_noop('Dutch')), ('no', gettext_noop('Norwegian')), ('pl', gettext_noop('Polish')), + ('pt', gettext_noop('Portugese')), ('pt-br', gettext_noop('Brazilian')), ('ro', gettext_noop('Romanian')), ('ru', gettext_noop('Russian')), @@ -65,6 +72,7 @@ LANGUAGES = ( ('sr', gettext_noop('Serbian')), ('sv', gettext_noop('Swedish')), ('ta', gettext_noop('Tamil')), + ('te', gettext_noop('Telugu')), ('tr', gettext_noop('Turkish')), ('uk', gettext_noop('Ukrainian')), ('zh-cn', gettext_noop('Simplified Chinese')), @@ -95,7 +103,7 @@ SERVER_EMAIL = 'root@localhost' SEND_BROKEN_LINK_EMAILS = False # Database connection info. -DATABASE_ENGINE = '' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'. +DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'. DATABASE_NAME = '' # Or path to database file if using sqlite3. DATABASE_USER = '' # Not used with sqlite3. DATABASE_PASSWORD = '' # Not used with sqlite3. @@ -112,6 +120,7 @@ EMAIL_PORT = 25 # Optional SMTP authentication information for EMAIL_HOST. EMAIL_HOST_USER = '' EMAIL_HOST_PASSWORD = '' +EMAIL_USE_TLS = False # List of strings representing installed apps. INSTALLED_APPS = () @@ -135,6 +144,7 @@ TEMPLATE_CONTEXT_PROCESSORS = ( 'django.core.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', + 'django.core.context_processors.media', # 'django.core.context_processors.request', ) @@ -231,7 +241,8 @@ TRANSACTIONS_MANAGED = False # The User-Agent string to use when checking for URL validity through the # isExistingURL validator. -URL_VALIDATOR_USER_AGENT = "Django/0.96pre (http://www.djangoproject.com)" +from django import get_version +URL_VALIDATOR_USER_AGENT = "Django/%s (http://www.djangoproject.com)" % get_version() ############## # MIDDLEWARE # @@ -305,6 +316,12 @@ BANNED_IPS = () AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',) +LOGIN_URL = '/accounts/login/' + +LOGOUT_URL = '/accounts/logout/' + +LOGIN_REDIRECT_URL = '/accounts/profile/' + ########### # TESTING # ########### @@ -315,3 +332,17 @@ TEST_RUNNER = 'django.test.simple.run_tests' # The name of the database to use for testing purposes. # If None, a name of 'test_' + DATABASE_NAME will be assumed TEST_DATABASE_NAME = None + +# Strings used to set the character set and collation order for the test +# database. These values are passed literally to the server, so they are +# backend-dependent. If None, no special settings are sent (system defaults are +# used). +TEST_DATABASE_CHARSET = None +TEST_DATABASE_COLLATION = None + +############ +# FIXTURES # +############ + +# The list of directories to search for fixtures +FIXTURE_DIRS = () diff --git a/django/conf/locale/bg/LC_MESSAGES/django.mo b/django/conf/locale/bg/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..bfa09dcc23d10683bcf359c3723fcd8f469b6e51 GIT binary patch literal 51713 zcmd6w37lL-wf`@REMZ?o)|)_>jLb|HR);_cSx6v(kcC}B&rD~gNl*9C-IHWcGy&Na z5CS3+Ab@}ygpiN~NO+tf}oH}*R zsZ*zJcfPmx_O}Oo{=Q8R91Q+(k0AKywn6Zv!;~8Ym%Kd)mhvnG?nnC1M+L!baMzX~ zI15aH2Z4`+JAp5OlfYNNqrrn)UAr^DCepngZwH%6uLmg_{0vn8`?k4$MuQ!sPXkr% zC{XR40&1MoK+$yxsQTUDp5Oxi{8~`s_y{PzeH0WwJ^`x# z6`<;^1J%w8pxXZm_$c@ta0Yk-%zTH^U^lqmF-{Jy07d_8p!ok$@IdehQ1ka?a47gX zsQ!07*7dhHsPPO1^?WpV2sjHI23`h=e@j6`FSr|&9KHy`n&2;B8`ykY5S#~|2fh`2 z96Sa50w_KYIUe4Fhl7&)3qZAZA9yzSWe`yb!V_G*8Q_tmKM3v(t_4ScUj)VPKZ39z z*a>DF0FDJk_Z;x8U=chVyb)CS$H0BT&wz+X@J$d^4R&sK{5uBJe4h@g-8?9LdH@^_ zz66S%KltYdp6JGZCU^$C%JL$2`(Vr3|e`Q4}+4MM}2w?D1F}mYJNZM^FQzL%b@!CIye!06%?JrPImM( zf$Dd(PmcvpBRv_EeB1out#ylm{z6c^B!C%4i!4pvSQ@~rnbHSHE@%5<5=sGwNyaP;w*MR>3uLQ3;&FSL~ zQ{XM>qd?i2i@~eF4}jN#drb|3PVmFv4&Z--qIdh#9bLPFbQv53YP=~>e7+3SI0rz{ za~-%7xExG@9|vVmcSX6Ce<-MWO+Gym+@ACap!E7AQ2d$+?gC~((Xj~J2fPv#U+w@I zTJUvHcHxj|&d#0#zJ>GvsCw@O)!+5tLEr~L(eWuzbUz8634RWg{Ovp4_0t534<~|Z z=TuPqnFeB7f)(In;IBcozl=r>20sd_-gBVxzX0w64uYcVRsZ}oP~(0b)Og+iB|mLv zA)DY-a4z@|*aq&vqQy{yW5H425|1lE$?!9Xq&)LrIz8xG%dNFtmxB^@W z{sh$c?!-8Y-X}nOy<)G&8A&;K~ z_aVI!)I2}$@yp;a(yxHqfqwJlU;I5=E2D`!e;PK$g;5={_gh%xXpxSviD7vrq=^MelNG}Bs0v`fJ=X2n0;PasR z`xJGeOZY7gT?}p!ib+MepUH>R;vYCQ$SJVV`~g6n&3^qHBZ4 z=R7_SYFsaZ>hBd$?Y#!7o!@|Z{-#fFpK|T&?s0EWe0sp+dqB~96{zypf}&@s$9q80^$4hPt30j+)$TK(==n6L@w^DC z{MSM8^M~MD!8bs)yJLsLy*wV|ak$5k9^c_{g2(CLw$witRDTzMYQGayf0u!3{|azF z@LKQ)a2crid=30lE$9aKC09^VCSM|ugUdRK!Q#|@z9T?(q*dqL5)0#yBV z9-jqO?sFc?py>GyxcfFi@N;k}1pKAT&BOb<;T6vx1TO{m?{W5f38?n(1E~^x44eq= zmT~$r6O_Fh0A=4F2TuTh0-gjON@JtJi$KlyP2h9jL!jEr%y;8|2^2s61ZrGwf}(fl ztedy}LFrKoI20TUO0F*kcLgs4HNWox&jy!*>hGuE2=Jfa5U{D&>BkuG3#7+`dx5*; z936*%?AH)$h)E*UrJ9?DkRMnc!)lp5FoP3w{jT9ozt_pO?V5 zgWm^3a7dr8@9{Kn5Ar)f)h~ko0Ivhz0bYHXYv)-|_G%DRe{X`#;4TFxC&z*s?>L`6 z9h5zo?b8>68dn;W{1rg;cNcg7_!uZUUI2FnzX^&TKLYmzUk5erzk_P$twooA1h_r& zbu4%%`RyfS1AH0$IXJ!F(RthghnIlr?*_01d;pX@mBHEIP7B@m-U;qSy3ePt1WzM< zJ2(k^6_i{azQ~pD0cVhY7s%2Td;U@@q86*0uNm5^yyUa6w(X86Tvm0p8o+n89Zo-8}|j^1k(3{|+f4ekh@^FB9!7lRj*&Vxh2FN6DozXdhVJ6`SNWMA-p(#@dc;Y(l$ zz6ve_{|QR&@4m*#;U~a-Nk0jyoiFGqsQLO8h{y%gm^8Kb0;qlm!PCHRf@8q&Cbv(W1*-lM@F4IGQ1iDE+#dV_*bIId z>;~Ti$AXtIxY^(`@U7tQLGgLWEsie-fxDAF+^5HYdy;Mk4*<^qj|aQJap2wHdEj@! zCW?-Tq|k9d4g@ z33%8x><_@9;Nu@cmMQo0olYO`{jjqu-vcL;KNcm+fLDQE1Ah(jD0uE8ZhRLZO#740 zfNujAgJ*$vf#SpK;GW=KD3$m&4Al5f0mb(MxB$En+z;IL9#{SVP~&a}#m8fOdORq8 zPXmttQ{aK%HQ+wratz1RqFJ*aW*d!JhuE(G@`odzWzi$KZUwV=lH z0I2@fgESR<71VexTkh7uD?z0{1*)A5AR-+Mf*RLcjLbgUU{^tvd;I}74}S+Wu9gQ~ zzwZDk7EA#T0Z#`t-#wuCa2+@sybU}Z{5kkAc=ShEd%*92(x-V3IeB;#Je%|=3QYp9 z1Y5utK$ZIwI0iiF5!N)Y4^;abz^ULqA9M2XPVgwwcY_1q3*b`l)Q>wm@eNSz?)eF1 z6FdnNf3F9h1Iyq@@U~C7aeoH9h4ddmmAm>=ZeG3w?g9f2f7Fd{DIAZz_ZAI6`TULKH=7z1>m`)p90SW z_g>}rlk)g6ut@&zz#GBzYW56DgOb;~o^=i@M3Upumju|><3Y?;0ACkc;s5g_fAmH-}JcKI!DJau#@}~K=J8rFa&=O z-URORl(WM30ZsrP1GfkN0E*5xLGf#sXPo?8 z0FEd92*}bIybdB_LEn03rw-WQ=pF!%CjTbzBJeqI1bEo9>{Y=jp!)d;cqn)u7=q7& zqU#6X9^f0`w&4GOM}ph_m*ao4$5Ej4=y;!=1MW%sB2e`Ag5u+1@CfjBa47f`sP?`K zimvTG?d)+2sQGONLvTEJ0N4Q@2)+y43%mo=ygvfAfscbB_ybV&w?Qd(19t-72JR0k ze-x$1@U7s`&$)Kq0d7zF6j0-v1d6XS{PXicwQ~umdCYoT0`5=x4p8)b3RJyS zpxRpxijU8MYWFK1zYS_We*%sH{|Rb7M?ddyg2y=?yFCtgywT$_kB@=s@6(|8@I0vT zeG3#He&_Rd`Ml%9p`iMm3W~0GgCTe=xC8iz&wmV*oIC{{41UY!|JmauplwLj#iVt4_#g|`z+klI??&W%ntBLEsxQ^tymxq^u`b^=P z&2<6SNUkfnzQFUVxh8V|SFW#d-A8&Rcm>$OmEqFo`yPMJJ?a#Eg^OX>=llGf$@6hs z4{`r2*uo_qB|i_6SenTAJ!PWLcHF<@6L&|M-~#gZ@a4o~eZ-rqxH`CQ=Gh`}kn3Aq zALP2zm*+N^!TnC)Fz}s;{O@pI;F`~~_kfH2v!AFEpI)vv$oq?>oc;fUzyG{1yB<85 z>yunR89)>qlG{@@x#(dECDW{)MZP>l>u?xra-#sgGoKBG3A`5TW4D;B#F1>Ipf);#|u>6Fit9o6Rtq#xz_8}|=^@8CMlo?y?o z*QeWo{hh(z_mck&u4}oU$Ms>ZYkb*eu$OBtc^}~VHuti@(vLrL-NN;L^44HX+%4oC z$yMSyjQq2>WVc3>K8H)6Jsbq5__R+N{DZ$NEkT*HWAq z%_W<2D5%d-9!GG0wB@)zt>oXz^){}xT-R~wGao#R>jv(B>+^E<1Y1IS9oI^(C&|lm z-OlwQ*DG8<L|Dx&M_fBY2SXIf?Xi(tqW8 zuh07;*ur%*c^~1@X9V~%xXe=S&-?td$4UNz`yYcFz%PU2!8TVcc!2xkxK@(Bjq4un zkKnq|KNpN7-OaTd*C)7c;`%k$r+79Q)JJ=oh3+=Ua{pbf*SUVhmHhmZ#02u>GyFaA ztcm+Mnzgm1h3%IXB6pncWZm+>Dfu_>HJ3}DXTWcRzvp_4`ww$vxxbKWHP;WgcHt_M|507s zf1c~B+@B7f2u=d;0`>X2$AU`+uY+&(d2JqNgZ=*gV4gqB{TN^VN$x+v{r9-8=em#U zVDjz&KkMsE;9j3D($m~+@JEm5k#~r{Khu{VPx@l66S*!TZ;Ogq1>OwrO%%n1Rny==K6(CKLK7s+2LIO z&3ziI{hUk22ChRB4?fQQyL{P~zyZ>&T(>3ak0QN->qq1rl*lJ5xP6~g z%Y2&qy|`{5eLL6g+`k51%cai{@FMVI;DJ8xa~{vI5-zsjZ!PZlJ`x}BWt9J0u06S? zkT=cep9GF3Z!A~zxs1H2B-V5Faoxn#!}SO9x8?dS_iqRF3Ben=F6X|PYckgnTsx7s z0DKGhYj9^U7&5jm?98T$#gm5hq_cg)PM)0)Gr3|ZmCc47`TYFeRAGKLT`IPOU4>M4 zSn5fK*-UPJSjvY3`Tjy&rZ}XO&u2SQg_ba12n(6+o>FUPHq%MTs7fl=6{fnn!c3{Y zc3XI6exX_nJ5#wK#dJ2^NhxY3Xb9&O^1WdyHxTxvy3`E6i-MLgL z-8Cdt42NZMWad)YVc`f^RAEDLpjb*nTvu-j!T(go)}4`9_WXTfj*5Tl`W)G zT?1iy5u7ZB^WdZ;p*yo6oukyeOgh`uTx?S-eI?goRWnw==U2C-I>pX>A>G^+GDVvB z4sp7_n1-!9gnj+#=C;xE!j4Qfo5|-ko7dZ*T%$ZDq`tvQW-;u_r;A}OUkX!wed!cK zHu+42{e^5F^NG}jj%mSYB0EU zlDIy;t4kMC<0ZxtMaxsWx=HgGDHxy4>I%EiQ3~Ypxq;q%f6=-x%9@C$3$PA68?aKr z_`beyc)^%G4*{jCK4vEvUr2RiIss=OOkZV@7N&A$vAVEIW@MyyZZ76}F+-=)#m-b; zx@&GE*~7+#BFh;fggBeco24nFv$7^w!E~?0Uv@T)nNiza?Nz;xBh{VGA*X4Sdsbfx z)6x@+M?*UD3(_qi8Xo5R(mC`C{V>}To5oa_OE0APTvvV}OzQ8pKmEm0aB8Y6J0Pv< zg^Kg0Piu#b!Kvw7H>M*vHDU6V$g1ZNldv1i?d(Fo3CZMCwwP{i__!sshZ3bT5h)54 zQkQ44nN%*AkirHCds4aXv1qom(0r=3nC?qqX6!*J-JLElR@W~i=5zBhh2D64mQxZ* zUdt!s`?FmpqlGkfBE5ha&JAEGQC3?BCHxcm3oI_B>;Tm-Pj~hN6UWbZvDRW(kIn$;E6P-*=WNtcA#dMf16!Hafk@FGGG-t5biHtllSBmpS z>eimN2NTnsZTge$?La}f$@HeOVXogNCEw(ln499-eYE!0DpXUwLN$d8jU~?bY56y$ zQ45hyIo9E;NHc7mO?8@yH0!EGxF-c4`_ct7d#s{ZS*Lm?6%{SjQdE@k`X)6z?+8fS zFmJYInaPuc$X%*5>y|aKD!r%=Cx{h%AViSyB>aGT#j3c$g*|CgFiEC0iP;LX`ECXY zf!34LZgX}T*FHu{&%u=!_1AA?#*vWVFuKVTSQwDKYW2gh%<|VAt15@ z_03Zw3x_sY+;pUrUSx)_QhGS%FCsl|dJD=L9U?J>d&;N~D>s>H#N~_EkqwVsI}_Zo zxXt-o_sPy3a|`R(kv_B1Kwloo!xi+FrRo6-40gLK-WzC39q%vRUpnfb!PbT^Cb7E&;$ZB|=2 z%Mm-PnpjT(JzA%}zuF;K1MDWy+EhnJA-#Y#6dO=iZ05AuEV*my<9t4?)2FvioVbxL zRIpKHTY73*m@=h(`t(h-V|8j9OII0`+NW&7(vrp6d@X$HeN$bkOl>{Whf3zc9$c(w z(j#GOJ$g*b@yDIOdfye=?eUwbFlw_!D-B$pVZ+~8N4BWYd0vg`6loI;n+$DP>rttE zjwQ1z)16@lSn;FSt;sJ-#hNF*ENYVx+Z35#=N@Z)S&%Md=4n|;NTt)2>S<@OZ`{kG zRBvB4-5xfLq}Be?$j&_LTxV%yQ(HJaHJ{G4tH%bLV}arC(gLrEBL;xqOQJ}0g-`?o zi`$yV7C?($F=}qEQf)n@-Yo4-m5YiI$`s|X;F>PLM0B;74f1gYb3L(|VN<24uJpVV zyF%YeFge}Pray)LRAGRdbQZTUZM0(B@xWatG2dWqciy}c?{SEv_F%Gh+bpK+yrU(x zNG3wduCzyY*mb}RA6O`sT0#t(EdsLZQXXSS)KgnHyCc)l-gb$FXQJ+7_lo3Jyiu z`;Ae<_SDyttZDhuRvBt(64G$LaY`l^GF_>G;54>SSpHn#OuODTJ`JAF=Wo8huNX{W zI?@Y+DQ>3|Ov&Tnvp>s)!`Ke6`elb%^o$fTo@1*4+f&F{CzGE?KrJd}401j|4)ZdF za91#;pY0nPm|QS*M(i3*?PRN&>tah=kto)6wnLI8Q!sqY?sQixc1#?vY)7LRQFzSc z&g3(g+S`{el(Zd|RW1foA+L)`W12*u7?gB^83P_l?D{$xMzC#mO@!G<=EH87Uh6-1 z7wCnJlcXZm*@N!`1M$B`qDpSl)<*BPsRErw6Hl;RV3d}nKoY~L6XPNx+m*pp5W7xK zu~_lPl;rdjTWn+?IK4kRz@OeeMXqdEiOsdliYYG-a4rhzKFJOJq(Vhf5M}3i(yq0D zoYX`veVbiXj~Vg62J;rqklV`+GH1f$vs<(`%crOyi>4tsg)0@<5Q&O5x?h+sbgC+QL+r-JhA{oC zGugUM9DjbapG7ayUHP0CP%*_uHd_h$giNj85|@fo&Sri+ATG}}>tOT}&bW9yXKbs=Q8D?`1U z`J0~4$<9n42wkA87@V2#r`v-w^Zd`K&1O3@&&J8JV8lY!#$ta*Zw5AZwS`e+M018m zV78xauZ)gJLm=6uQkUSFo=HH(UChutvU9Dts;sV^m92u!oYpL~Sz9(QdkO?qMov}l zq;j`F9V~DWgR?qIZ2^Ds3Ll(>WsGcadvI1FIOzkxKJW$`BNlFHF)E;-gnN^%`Y>G- zi;P$Z$6V;%GmSc!vl(a2n(d_257cF+vVA>FcL{fcZAi3#sw(I?a+a-ZM8wZ3Fwqb$ zfXBg%>3jo>rCIx47n+06cMe63q(E=#}U@hMtr3+<8!T!Jcl=4wG|tY$t1*>bKBv% zcHNq&&_HaMom1u>RQ!aE6zHl7;1NBc_f+WiE86^ObB|e#?4!Br|G}m@il40jvZu|1D5s_$M%Sfo{CMhh~ZM1=i33|{=K#qw_E6P<*>o+@*=-jy;<9IM{UfjfqvO3PhC_W(fS?i!PL2<=nP$K+9dINU)t* zW2wBZn$2_uCTo6`b7crSr#n;VvGbjZ7+*QY3JMYi=G>VzcVb@a2?rWF=r~^o=(ZqN zO4?CFk=bJ1o{_gW;|zT6em0Akc!dg6VP8+agmEPSWpWJs0jBhE_z3y9&BY-@bUJ7b zuo69`QeXSXkvz>4KFu{3sZ+?Z2+mN@1|Pzg4QAT0Xfc>cARnJLax-S?)XKa0Xulry z%K4$39jSN4H*Mk3qmrv1(l;-Shev!(>th3_!FD1eyz|F<25!@@Jv3)?_=7sIEjG8& zgSKbMGohIb#{9pT{csRJa8|0+Uyz413l7>J+rY6&0TFyW3q7$+?c_5#WL4WvExzsv zhp=qXX1TrA@M7goTLHh+`ll%gJIC#vJ$b~ZO*>?yU2C_L#=8_1m(LYLoi|c_wzd!>6|DWo9;b%#Id7BHIE(1T`;SMcQ|l~+>MXFPn~E5 zw)Y=o=}^zA+vFMDi%OgK4%A0So|hL&#Em#D=yF_jV|Uw8`PCt2)5nGv zWb#h6ngdlf3yk4fs93nGZ01TcYA1C5$^C#|BhejUorzwkOfL6zZr$F>(vL`gcas z;koG!_S{T;DNi45$?E;?tp*ub3JldFPUEUVz14?;SbY`|#lmG(Ekxl@!mwPdKw1l; zR|1+aAq4{M7+|J&9F3>-T21tJPW<{!y?ogTQRPJ)TjDk^Rcb%l=BOjvzYMee9HtF& zE55$grmZWkWe73geH(?}_}}&yk+-^uw*3Bb%R9Ht>_({7EJbfqaE9LN2Z62Wz=e;V zXb0=Xw_&#piu+C@t~4mo--p;YBuj6o_=S@BW@*V$ti)t^cO;zP?b&SEvmO)%(}?-? zW=>WPE9|pRP<-BD5T)-Rm7q1hV7{G%3R0q?4{DYqzRu53w8_TKSk;6EBt#ziYyD z7YOufhtb+xK{%i(#Ln{mmqi|_UpJMSUjI@9 zx4gW<8&eCS`tn_=ly`)qcebQ0I;iTv zUl@?StE5|*q!=Z&<09zN9p485PI(PHikOkyKWT}zO&-F7vCwYIyVclVUNE-GzNLz` z)k-`^QHwgW{VukN<#4;7&<=FN%6Z&K-mc1(iX)3CUS|(ydv55qI%_}3XqaBanwP|i zQfCfr87LmU+pJWTkEVounj+gOr6`Os)3q3vkR7!%jK+_nVQ-{*bX-jAN*y)BV@wb0 z6$XSOaeytX4`_mrGmJ=GxE^r2{ ztujH-XnQidKkW+l7v{?ePP{fTLJO45Sn>#@IbbCS=FH~|*|sioa`SVX69#kaU;|U? zHlA+r549%RGASQ5KKqch_R}ppfNEHAXZaP$=x1+7WWzZSb0joL5^CSS@}cWFgg2Tl zOl7yqdVk%n#deV!~gLJXB3FsX= zGIerWK*I(5Bjt>5+T%M6ynB~75(W8TO{X-;6uFnI+JbXzJ3eLh^y(Ljd3BbsAg=+q zwH@BTv6#ED1ZOGYiZH^X&xhq0mhiTWU%2x#=t>FWsUWgqBx@ZTB3UKWY5Tx$ZR1 zzh!#9URaN;+UR$T8YLlPSF26p`RSsrmT+oQuWg_LQNg)gw3r}wiMKIr6B51XN^QS4 zNknkOSszM|o;KXM@KB7djMA1N&!9x4F2Q?DcH}C$qY&CCgxY0B2cgk2=$tfh-4;ZD z+UXBJb++bCMNNs~*KZ@vW zVOg`|2@OL+%fQ`R8|^`=jYCEGtf-xQ$>?4id%GuYhmtYL0jpVHK?j1Nav*V1=glLh z5TyFM18+(E%h-WlX)?>+*0JmVoniSK({JU47C3XFJ(iP?y`ILZdtqsA#Xqz z1=F2eEMFpDwE}_~dimR2iXh=$1l98zr1g!cAU+)Tw7IyjYiVA(BfyHIH0>bo(YQ9} z;oS$~lrM!^nT=4MyDJ6~tXN{=?E#PZx=UqWO|kw$U@rkhOiCt-fxTqm{uTr6W)&L? z*vb^_Pch)tF%%Ki;Fi<;{tk|;b?0A=*R5NaoO>4V=5cT-=Z}~6=Yshuc734*bCdVQ zfY+mNbn|-u`+*~c1R`PLPi9MXbfV4>-D11Nzx z(VR8NQfWE6_O}>V?+6|*YNvx-p7)t^`2~UVQ=BUo#5>#QF4Gm=>1B{0-&qRquYx{_ zdZaEv#mpsci@N8)l&z+9+{X+4NS4v>zLw|my{~-u=pecq6W<*j-yIX*9UI>r7vCKp z-<=Q?x&i`M97#ZGbYm~6R8pKUL{Ey`DcGgHp)Rs#a)K6YNY?SqhGC1OG z4~Sf&nrODMmML}%Z3CKJpeCZ3a=f$^*!S)N+_OL}+aG7KtRrb;(PdU<)@4|CDpU*< zPH7K#gLuCEDF)^|>W^-VExCLP^4!76P9d)^#I;WCYCVUFu(>_#vKRM<%(U=B>-1uG zrmOYT{_bMy?0kDTWX4&uTPG-zOWD?m46{8PGiucFt)q@<9d&FtYIOV2V~!dmOoTp5tdi!&)V|(!6k!NmRFRYF0UP2TwcNb>g4wf zTFYx&!txpltQx$50?%@{&I+kUd42gQHM26V5`T5IwY-9gYgH;7yk1RHbbWcX)g4@- z{#Oq!A!qI2&0+cR!K-+%p}d|ddbFYZI2Bg<;?-T1H&FB$d-N2wA-F9pFE6hyKOs_{ zq3)AWJ;pc$8rIO-YDjRMC%(lBk)fIkp>4z9%_6}QK>q4btTD<(A@%IwO>_;z;i2{B zNL#ITSI~?GuEy4fL%7$hZ3u^zS5iX+uO7UP4%YL%S{hmm11LhjEBWi@PW)#^X-reN zHX5gzQL}nTuc7A4m|#HJCzz(is$qlDw5a)A# zViv2h?*g05Y33xxt2XhdyrS_#jKoGC)YS1pq26k1RX-}P$OY_#Bw3+X87jeI7%3^# z6d_PgNwj4yY@E*~zD~^dh>Zhln1iQziabJOZD}w2I@S?cxB6;X29rfl|sq#ZH-E4 zSk4f^Hs5S4$x=eoN3&Fw0#Ix=XDt%KENn`|vBN?6PU(bIa%$}=*+S;60%0G%s5?C< zFJ)ZooQ}YX)yjw#n6*`jFjm225$&I<(v8SZmXJwOoUwc>^ht~`*HsBKpAw>=d<*aWRE7r#8V4gVqvk>WCepWpm5rvp>c6__W@4a6dv;<+fN0p<}cL9pyG663owA`88197QVE z9?-TN0@;N%w7+4T8!C>2Ye{aAhU^9>r^jcAy&5TtBkD*K-nOz%b7$7U6mPM-nvE{8 z*0`F{dSrCb0nEY2K=Q3Afu=zOs-M+^*C0^0(D)M(vKUiYv$EQX%3;z3i;%(hSuJ@B z44C@z6{0Vwn=!*ollin8r@nt4{X7ZoOXch67Ol2c*Sc?`C%&qVc;5hZ&f}^~lDJb| zXN)mPVTcS%4MksQ_w6Zg-W)JXq7G$_iGlOR9L9obcnVE^Llz~@ane-uPLoVA z%X~@`P{%@F3CdR6Hx{DG7+EXjikh@7ZE&apwl4bOQpQJf>$0HM98+A>~^4d*#;JPzJqC+0FI+H*@3wNbvSK{5>Pp6J*ZXz{=K2*kB%FZFpN9AmKOC`KhyWUmp&sveAV z8F4`vqLuC`?1Lfq&%hki!7?^l2CC z+P+#olB8a1tt_@CMRV(#au$<>EQc)Wiguih2TTiW3x%|r>n$s1vXA~5Nvmlna&{OC z4XMl60Z6onGnE)vRCYZ}xNQm@Uu?W&N&T#28!wX~^QI}>z-ydI!mOH8tu3OBUA9aF zHvCytg%yq0tF3^|jzd834ztWU_jX2L@x862ZEhMCHlMUXE3R7144Y)hvL+D^!x=xs3;ERAA>q=>7TH~? zMRNW2Aqb}~CY4rgr8;0KLJ!3zTYxa;^sJCNW}yf;_C^o)zW$8JDbu6Tb?38IpL&C~aRPLl@Zt&5h_7&h8p3f~>fC zQWy$Cx4uEMy=pbuTe(H<-)>&Uvb>>H4l&E=%@AsXuti?;Df2;&{@AW)Ye`PJH+pvh`MnC8ILFLqVDuER*PNXf-yGe720-@fM9?eqM4q#i2{*9H@yI;zw) z+os6jc8laH+2-VCBKj!}iK%8d`Xvokge`25-phB>4{M#4VzJ$uZ}V?pkydrbo+^s8 z0%_r1wQ;2}`?1DNf;sm%yNyRHXGR)of}#;>M_XmTM1*;@@@GX4v%Nuf+G>&krOY9V zC|NEt>X({Eyr}N4wrO-n`%y``+wagY)J3kEmZZh5yT-GjUpBFC@m1lL(Luk`m?vek z|1Zb9#q4Y(f(+KiyXhgC*t1zd`!N?zx|uADipiJa?k)@fgJZd;n6@f4*2HOU^(-pD zw3%Yo4_3Y5fFWua55DVYf)^%*#EjABztgI&?EI(X+xLp)&IWgf# zzd6|)Ralqk)m}L6-Ga?k(kwD-%$3)}_fdD9IiYnXr+R|WA2(>N3e{$;GRn=&ph$M@ zY@Q#r*1zG%2Cu;~VV)BPSzDsWAo7DX`n?)-Q8)ZrO`TocOar5~vTj2nwW4q7YS4g0 z{eF$N)wPV5sX8yQdTc_Gw}J-$t2lMM+M03jLsoV5F;eby&K&gjVMf?V%9!BIY3WF~ z%{SDAEE;ka8BvVVTZBXaNlS@^EuH_e9+`bI@(SqDxoz6iI0tYOqA%CfzcN$NGV->H zZf&qk=>``!{KcM7(O@YCJct)V77#PF=HU7v@(`jeln29P5UGXP#U#4exUH;MHaoIn z)HR0@#>HxC^tz7T?Q8s-KOq}2`~>-Z-p?}67k4e%P0K;wz&vVmt{A1;NNPEEGoVO> zbE0hLz42cLlI?hq>MIc)Lxyz~Y=Lz_Ir4L9D&gi;?SVx>h+hNB0?1>vU8oj(sBds` zex(M{u72-jbci42;GNj26Rdc@Bm(Yral)tI=`*r^W;I2qLalbZ9FSY*__&Jl3gD5V zCgvX??T$8SWzE?Q>a0CLJW8gl?4$RUS#YfN!*@+-y92LkHh^(A<{4UK#&vG=m)Dv= zJjmEN5|h#ps4E0|slkVmr9a|FlA>{&Eda?n+qcb&+g&~`_L89v8ySX1N@l&X7t*$o z(4rU+5&+(E~pBVJGQV8)7O)Z@vu(h(YW2oj*HcPb5!|x zC3fU)3sCuqC1X23CBu6a&E9lrij^J5)4YUBz2x}Y^lAeTH^-1MMUK|s14SR9VDyuj$y9cMMfz39alRkm|KhAhqC$k=A+ zp*nxYLQJBSa?utGXW1Q*ER!(CkL29(jb(9Nl2&z$P}_`^f!!kBwI$xTPGbK(C_jcP ze-#GVkkU{cK%y8C>(`^AOx%|uLX8|_TJrHblP>E9%UnH~PONKk6`Kcqg%2|A<>#rf}5jR`j6!K@EZK z2{fCEp|a{nmcG2sk)$!p9=N&Q;AY13+R4262Vwl{T#7y`A}AKwa{Ywb<9{9P*wp(6 zHDclB8KjVkgnYNe_{pJE<{j2Wp8ewth{ zvA7+u63waUS)R|`VzZVqZp!Nf1chLLjW&9RqaZOx8FfAc`%J;zY`V~xd0QG-{JUb6 zb~KkhJS+~?y)of`Ngq-qg>r_>h}f8%%4&U((<0GBu?Qi_M==v*Go_sa+9W|1_1?y7 z5b=vDI`Uk`GqX+!=Zcv5vhr&FL<7^PqO)onm2@Qb4Vf#7n_5?v0-2s@vXCQxOs(}8 z@im#|&sq$bz0D`nhK6e}Zis%ab<_@PO(HZe){jP>d;wF_AcGLUp(0{X6zQs>oMsR( zE1OjU={DWDAb5?%HDS_;MrE63CM)KV#3~A?(HYtY?OJy&>?P9CdSjKeKR!0S2TOV- z*@hH}A1v3P#SpVc+=$BF+CAY0wkUAi{66@NU4ny^9CO4Zsrn7LSWh%#ws=XQYAv&>Yd&on zs}i`mC|~(0*0p=Bz%%Hb6u|vSC}veP^(Li*L2hR!&7@zg8*=WiBWc5kdv!HTA*u@1 zG~szuZxbrdt4ox=tECc9mhlHlXF*j?do{VlCAt2zqz16`6K4R7#mpsF(r{L zaOari`)NX(Qyx%P=El0U^#Wb5dP>`j-IibQ;6r8?F;?&_wy1iCQ*TPRU(Kspm(>u?p3IwS zIEKLn-B;d!-pcnd@3O`?o$$unz5NZ9esfxJ!k9@q_YMl%0FzLB1RKlNHshzW(#%>+ zXkENY%a&~`;hb4amM2?F6K7utBa4rWDUu@tB3-1OsVTIT@04)LzM25p0%r*sCD*>a zC}Ov3Y>I57BbD^$Pb^^MW6!L4JHzB5yZ(f$HM9ZwRa1_W(rAd)WvVu-#@ITZR4SNi z$%AP8)()FM7e;ndhAU^@t2avUEZVf07i(fli&)GW&nh;^^6CCRBFF74|8;^en&Jg3 zh-4yKfF)q^Co7|taW!)%IjUi{6aqU$CB4D>?=ff#>0yQ3a(d)){qJ+=-;#?h9rnMe z4Oab5sW*PREVqniWE9BTn2GQ{nr+|gWhgU9kumW`gXO6a4-hW4=q`e-J-=J%{0`f# zpR(uv5i+*L5c9UV|nZ1Q3OuaHg z{Lxq(h0GvrSU`&I?4?V`K2uhXcUyKwsvfN!#fY?@$eeTxi9% zDJtid2wSX3YM&_c>()qqcu6!tQtX{raKhYOIi>dAhZS(9%9b9QvA`<{ZBTJ#S?}4F z`s}+H6f_w1>d}@pEQ>r#7f-N3n~{oshLTd6Z+$;{%YTT{JXL)m&d-`HCYm~PMa3D3 zfHv{kZ)&Hfuqyi^d3fR-L54HX5V?NO4Fj3NANr-|OsF zV_VJ7UqVe~+qWVdLE49F<4A}WL#EuH&WUu*#wz1A(?EH90}u~>8Tm}I$&Qhayasmj z3?qwzCk#{5p{Yb1Z@^`iCc`hBIydo&TXP#s(rYv2fQSq?eEI+O<&(G(7lbhr;p;1q z#RhE!WD_|khi1$r2+DxyR63KXc z)ayJ+{0gW4VzOdvrt!;Z`dJGV_&d^3us}Uaio8h8+QhGZ+9nqDf*_8DUj1L|M~NBt1r@}SxzmY7O>jkm2IGuDTNloTHI7Ms z=ndbHwH;$bhd8P#C?3Ykl+~I4N(QnVHMb196!m7OCL0vL*75Cd3SoeTP>j zBj!!b!Yn>v)9ysjXiDpsM8WaHc0UpotpFVUBDIabd!PkTR^K_va81K^YoEDO@Qr7W zyHGpSuraa{>fD+)fuVy)-t=CCjt0!$nQ>HFZJ9XAlDhqxWR2BAYo&xQvFoFjAJaxU zkM?#kAKA!CJQ0Ow%}>zjrQCy9QkGjEw$8y~inFFBep*%ZCsrA_s&Q)&M4$sC&^$^n zb~6GSyxs|an#R;<)%l0`Lp>IM4uBgxFW=8|lT{8U;EelbCtQLH5D{|Jp_feX6vT+C zHxUM}R^t_k72BmSnlLCHTwN+yEf-kp=IV{LZ0-8yOrFYX+4e54^p)1H z6@+R^vt|1$M9ySSg2uW*zD%RN6kj)~j(Mt&l)@bJOtQC}Att_7?&SnxJe_8BoL}dZ zTCogGHN3KcQDYp(yncS|3*Z*DPW*b{tXJO zT_)H?#8~!in*Nd5W26Pj+!5>Z8RBXs1kOp zAu}4aBk_+Z)v3W&ckO1S0r&JHb_kRG(7ZWm3|PV{wKvs9513RrddXi72{GJSyV1=? zKc;JqdRGtyRip#I!yhD9v_h>`eo~k2TvvDxdN%~0gP)ued7E#^NR|Ou>}QaBV{hal zM(s%D2d{+@1j}Vn)D6EjVr3t+>Gmg28(T@8Ov4?w&6C8(TYRlMT7Jy;cJ57LuN39` z@?rzcY;DgC&5I4ig)q$+n~`8?-u-Z{b7CMM&+{HZDYY4DHU#BD7Er<4LD=N0gu~bn-nwH8mIi|{oqD2xk zZ+?vJUtDKe#VkB)v}zU=kI`bR70xN}CfjoCu_jy(n!|?8+)bmL`Rc_2Q7Z##?hf=e z^fY0KJaH|T&dzJNt`8Yx4Ny{|RZ=3Sk)ag+8=^EVtK-&G_0VwXHf|U(7EYj@sFvfV zz9Oi*NTBYgJMD}l_F7Aw^SE)*kIGXrUPf)Yr25{XGmgmS24z(+G4SWIejSL<_k9S= zeaRoD>xXCD@ZI6>2en7n6<*QQ8*uGwaARGe=w3HxO^gDPxEDW0}KZ0xo z*hyy4uu9eI#=dV6oNxbfq7<=@Hfn zE5+|aIKnMYrqEUm7#%t3<~AdS@WTWSGRYgp@um@68sdK`Q-8`fx^nK0B#41f+F;-z^>jx8(-Is1U0 zBNRHJ1?gm!v861U-v+`G+r^C;M2Hb<8Mh?gO$ns25JoG9_6_oBY+LOL*&FnA zzl#kkw7~kPd_rNoc2p}`L>Y7K;-8h6rytZt8f!30>@1>$g^tx#KOz~7|n<_6&n$o>P757LkB#nqQLm1iAjF>1!dO>&|)iUKMYkR z-}14X0aFOnofTPNg*mq`13Zjdv?M4S@V?Gc2?QAu2@?T}#(86j5v&Wq>RbEHi_^P@ zRO1Kzm~V?=yB*15WE$5p3Z3aKa(QA3n&BV&xA~lLPrM=Feq%RVj1&&%>#*8S6 zrQL%Z16$_(&V!^3IlVahn;c3|5HudxF5v4UTKHHM44jcXAJKnJ-uWIKD zjT?O<&HWm@4i!v55+PQO`nE9BzZF*FG`rb#^Ji%UTl~$^oap9?` z8TDJ=5Eh}*&~lq!oxeyK)dzgk*TZc7v~7&OGG`j&U(z(myB7wS<3+@Wl}~DgokrWF zU+T7MV@{5IYB3S2=ui6*d1LHv^?tb&gP(08!<@q9dQNGc)-OKV?mFjEZ<=9{L=Pm( z5k~-IrSM19m+2Bq6x!Yr&`*49Y(I#v&afYhHJBWpACw96MYd3UXw-G=FKBmVKbBAb z7Ef1qh}BZ{e~X>HMVnhQKsu{&YNWZPup+N8#RQhBx~YwiiYt2ap1xp&xU16E&E1e% z39`yyI8WIL05$BZIBL~=(~5g8*+8_a>?fYX#Oo*J)d3qmDW=&rTWlnL@wX*Z zfPOS1Qb4TzCHM)2EAhh7MwAxwgRUt0`#8I#pJFB7@$U7=Diu;aZHXFk4Q2BbXoH@-tUgfaiSgQKOPl z$OCKGj3iz?`-U{W+JiFKA5@B&BZ@ESDp=!EX^E{bXgu_9ev8#lC2AZ0(O;YS_`5HG zaWHZROuET2E?K7UOH&}u*hV?}w;kx$FGtLh6t(0>)X1fNdM3GZXx*pJtwSGvJ=dO{}8o9+j;bbtI$_HHa0yZqhGvkq@VbOto9I z?RU2tmvow(D2be6nPn4XH8yrg4&8X|A??e8{ZcDFK4eBCn`yh%+7pj+A}Tjtz3Q!UiUOaW9^KZE_zGwR8j z`8RMKi`;5KR}vdJW!mwx-m(5mh;6E<=6&jdb#fy}&ZTPwp|GYCrk!%T}Kh)wMzUZ^pSZlH=gE43N z=}_Fae*i>M2NkwNF;^O=M7nYd(-M}32{)6e8Fvrp#0apjv@_Hw9Wz%sE5jM~Plp7w zpOCbWe=(#sXG~qr(RDe;)a4vomvdZQ&hd3QC)hIJ#_E6Ymr1svi4#>>CJzmYqR@z- zENe{-o8-D3m=&t5BhjxE%8=MHrhu)?#3j*}D3kwaNn)1K%Y=?qFID~lD&XzAtPq1S z;1+>36HG^DktDk+;T}0fVLCaty4Fo@&BG{(?CRF!_Zi)ykqB6H<0M6|`dF9(??J*| z;~P*~9kO(wp;2#U3~?dss|K~MkOt0v#B>&w@^uuXlj+0dKrTf?6+i7Tw!*$@_D27{ z3N14|(5OjBT3$v7Cq;XmW7aT}-nEcK3)_~I@yu$}g>NlZ&aEIsgVCPAZ`W;U)_lo| hYyG6@N|Lh4SXm;$6C|t!X<6N3R+EicE9_ny{6CO8U!?#5 literal 0 HcmV?d00001 diff --git a/django/conf/locale/bg/LC_MESSAGES/django.po b/django/conf/locale/bg/LC_MESSAGES/django.po new file mode 100644 index 0000000000..9c1030685e --- /dev/null +++ b/django/conf/locale/bg/LC_MESSAGES/django.po @@ -0,0 +1,2670 @@ +# translation of django.po to Bulgarian +# +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-04-05 01:32+1000\n" +"PO-Revision-Date: 2007-05-12 17:45+0300\n" +"Last-Translator: Jordan Dimov \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s с този %(type)s вече съществува за зададеното %(field)s.s" + +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "и" + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Въведете валиден %s." + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Множество ID-та се разделят с запетайки" + +#: db/models/fields/related.py:644 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Задръжте натиснат клавиша \"Control\" (или \"Command\" на Mac-а) за да направите повече от един избор. " + +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "Въведете валидни %(self)s ID-та. Стойността %(value)r не е валидна." +msgstr[1] "" + +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s с този %(fieldname)s вече съществува." + +#: db/models/fields/__init__.py:117 db/models/fields/__init__.py:274 +#: db/models/fields/__init__.py:610 db/models/fields/__init__.py:621 +#: oldforms/__init__.py:357 newforms/fields.py:80 newforms/fields.py:376 +#: newforms/fields.py:452 newforms/fields.py:463 newforms/models.py:178 +msgid "This field is required." +msgstr "Това поле е задължително." + +#: db/models/fields/__init__.py:367 +msgid "This value must be an integer." +msgstr "Тази стойност трябва да бъде цяло число" + +#: db/models/fields/__init__.py:402 +msgid "This value must be either True or False." +msgstr "Тази стойност трябва да бъде True или False." + +#: db/models/fields/__init__.py:423 +msgid "This field cannot be null." +msgstr "Това поле не може да има празна стойност." + +#: db/models/fields/__init__.py:457 core/validators.py:148 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Въведете валидна дата в формат ГГГГ-ММ-ДД." + +#: db/models/fields/__init__.py:526 core/validators.py:157 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Въведете валидна дата и час в формат ГГГГ-ММ-ДД ЧЧ:ММ." + +#: db/models/fields/__init__.py:630 +msgid "Enter a valid filename." +msgstr "Въведете валидно име на файл." + +#: db/models/fields/__init__.py:751 +msgid "This value must be either None, True or False." +msgstr "Тази стойност трябва да бъде None, True, или False." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "арабски" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "бенгалски" + +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "каталонски" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "чешки" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "уелски" + +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "датски" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "немски" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "гръцки" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "английски" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "испански" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "аржентински испански" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "финландски" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "френски" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "галицейски" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "унгарски" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "еврит" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "исландски" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "италиански" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "японски" + +#: conf/global_settings.py:58 +msgid "Kannada" +msgstr "каннада (индийски)" + +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "латвийски" + +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "македонски" + +#: conf/global_settings.py:61 +msgid "Dutch" +msgstr "холандски" + +#: conf/global_settings.py:62 +msgid "Norwegian" +msgstr "норвежки" + +#: conf/global_settings.py:63 +msgid "Polish" +msgstr "полски" + +#: conf/global_settings.py:64 +msgid "Portugese" +msgstr "португалски" + +#: conf/global_settings.py:65 +msgid "Brazilian" +msgstr "бразилски" + +#: conf/global_settings.py:66 +msgid "Romanian" +msgstr "ромънски" + +#: conf/global_settings.py:67 +msgid "Russian" +msgstr "руски" + +#: conf/global_settings.py:68 +msgid "Slovak" +msgstr "словашки" + +#: conf/global_settings.py:69 +msgid "Slovenian" +msgstr "словенски" + +#: conf/global_settings.py:70 +msgid "Serbian" +msgstr "сръбски" + +#: conf/global_settings.py:71 +msgid "Swedish" +msgstr "шведски" + +#: conf/global_settings.py:72 +msgid "Tamil" +msgstr "тамил (индийски)" + +#: conf/global_settings.py:73 +msgid "Telugu" +msgstr "телугу (индийски)" + +#: conf/global_settings.py:74 +msgid "Turkish" +msgstr "турски" + +#: conf/global_settings.py:75 +msgid "Ukrainian" +msgstr "украински" + +#: conf/global_settings.py:76 +msgid "Simplified Chinese" +msgstr "китайски" + +#: conf/global_settings.py:77 +msgid "Traditional Chinese" +msgstr "традиционен китайски" + +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "година" +msgstr[1] "години" + +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "месец" +msgstr[1] "месеци" + +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "седмица" +msgstr[1] "седмици" + +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "ден" +msgstr[1] "дни" + +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "час" +msgstr[1] "часа" + +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "минута" +msgstr[1] "минути" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "понеделник" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "вторник" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "сряда" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "четвъртък" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "петък" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "събота" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "неделя" + +#: utils/dates.py:14 +msgid "January" +msgstr "Януари" + +#: utils/dates.py:14 +msgid "February" +msgstr "Февруари" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "Март" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "Април" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "Май" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "Юни" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "Юли" + +#: utils/dates.py:15 +msgid "August" +msgstr "Август" + +#: utils/dates.py:15 +msgid "September" +msgstr "Септември" + +#: utils/dates.py:15 +msgid "October" +msgstr "Октомври" + +#: utils/dates.py:15 +msgid "November" +msgstr "Ноември" + +#: utils/dates.py:16 +msgid "December" +msgstr "Декември" + +#: utils/dates.py:19 +msgid "jan" +msgstr "яну" + +#: utils/dates.py:19 +msgid "feb" +msgstr "фев" + +#: utils/dates.py:19 +msgid "mar" +msgstr "мар" + +#: utils/dates.py:19 +msgid "apr" +msgstr "апр" + +#: utils/dates.py:19 +msgid "may" +msgstr "май" + +#: utils/dates.py:19 +msgid "jun" +msgstr "юни" + +#: utils/dates.py:20 +msgid "jul" +msgstr "юли" + +#: utils/dates.py:20 +msgid "aug" +msgstr "авг" + +#: utils/dates.py:20 +msgid "sep" +msgstr "сеп" + +#: utils/dates.py:20 +msgid "oct" +msgstr "окт" + +#: utils/dates.py:20 +msgid "nov" +msgstr "ное" + +#: utils/dates.py:20 +msgid "dec" +msgstr "дек" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "Яну." + +#: utils/dates.py:27 +msgid "Feb." +msgstr "Фев." + +#: utils/dates.py:28 +msgid "Aug." +msgstr "Авг." + +#: utils/dates.py:28 +msgid "Sept." +msgstr "Септ." + +#: utils/dates.py:28 +msgid "Oct." +msgstr "Окт." + +#: utils/dates.py:28 +msgid "Nov." +msgstr "Ное." + +#: utils/dates.py:28 +msgid "Dec." +msgstr "Дек." + +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "p.m." + +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "a.m." + +#: utils/dateformat.py:46 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:47 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "полунощ" + +#: utils/dateformat.py:97 +msgid "noon" +msgstr "обяд" + +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "j N, Y" + +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "j N, Y, P" + +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "j F" + +#: oldforms/__init__.py:392 +#, 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] "" + +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "Тук не се допускат нови редове." + +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Направете валиден избор; '%(data)s' не е сред %(choices)s." + +#: oldforms/__init__.py:577 contrib/admin/filterspecs.py:150 +#: newforms/widgets.py:174 +msgid "Unknown" +msgstr "Неизвестно" + +#: oldforms/__init__.py:577 contrib/admin/filterspecs.py:143 +#: newforms/widgets.py:174 +msgid "Yes" +msgstr "Да" + +#: oldforms/__init__.py:577 contrib/admin/filterspecs.py:143 +#: newforms/widgets.py:174 +msgid "No" +msgstr "Не" + +#: oldforms/__init__.py:672 core/validators.py:174 core/validators.py:445 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Не е получен файл. Проверете типът кодиране на формата. " + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "Каченият файл е празен. " + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Въведете цяло число между -32768 и 32767." + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "Въведете положително число. " + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Въведете цяло число между 0 и 32767." + +#: contrib/localflavor/no/forms.py:15 +msgid "Enter a zip code in the format XXXX." +msgstr "Въведете пощенски код в формат XXXX." + +#: contrib/localflavor/no/forms.py:36 +msgid "Enter a valid Norwegian social security number." +msgstr "Въведете валиден норвежки номер на социалната осигуровка." + +#: contrib/localflavor/it/forms.py:14 contrib/localflavor/fr/forms.py:17 +#: contrib/localflavor/fi/forms.py:14 contrib/localflavor/de/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "Въведете пощенски код в формат XXXXX." + +#: contrib/localflavor/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Въведете пощенски код в формат XXXXXXX или XXX-XXXX." + +#: 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/br/forms.py:18 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Въведете пощенски код в формат XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Телефонните номера трябва да бъдат в формат XX-XXXX-XXXX. " + +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:46 +msgid "Enter a valid Finnish social security number." +msgstr "Въведете валиден финландски номер на социалната осигуровка." + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "Въведете пощенски код. Между двете части на пощенския код трябва да има разстояние. " + +#: contrib/localflavor/de/forms.py:63 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format" +msgstr "Въведете валиден номер на германска лична карта в формат XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." + +#: 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/usa/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Въведете zip код в формат XXXXX или XXXXX-XXXX." + +#: contrib/localflavor/usa/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Въведете валиден номер на социалната осигуровка в формат XXX-XX-XXXX." + +#: contrib/sessions/models.py:68 +msgid "session key" +msgstr "ключ на сесията" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "данни от сесията" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "дата на валидност" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "сесия" + +#: contrib/sessions/models.py:75 +msgid "sessions" +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 "Браузерът, който използвате не поддържа cookies, а те са необходими за да можете да се логнете. " + +#: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "Въведете правилно потребителско име и парола. И двете полета правят разлика между малки и големи букви!" + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Този акаунт е деактивиран." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "С този email адрес няма обвързан потребителски акаунт. Сигурни ли сте, че сте се регистрирали?" + +#: 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/views.py:39 +msgid "Logged out" +msgstr "Извън системата" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "име" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "код" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "право" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "права" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "група" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "групи" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "потребител" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "Въведете не-повече от 30 символа (само букви, цифри, и подчертавка)" + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "собствено име" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "фамилно име" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "e-mail адрес" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "парола" + +#: contrib/auth/models.py:94 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "Въведете '[algo]$[salt]$[hexdigest]' или използвайте формата за смяна на парола." + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "персонал" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "Указва дали този потребител има достъп до административния панел." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "активен" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "Указва дали този потребител може да влезе в административния панел . Премахнете тази маркировка вместо да изтривате акаунти. " + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "статут на супер-потребител" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "Указва, че този потребител има всички права (без да има нужда да се указват изрично)." + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "последен логин" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "дата на регистриране" + +#: contrib/auth/models.py:101 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "Освен ръчно указаните права, този потребител също ще получи правата на всяка група, към която принадлежи. " + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "потребителски права" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "потребител" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "потребители" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "Лична информация" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "Права" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "Важни дати" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Групи" + +#: contrib/auth/models.py:258 +msgid "message" +msgstr "съобщение" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "и" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" +msgstr "ви" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" +msgstr "ри" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "ти" + +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f милион" +msgstr[1] "%(value).1f милиона" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f милиард" +msgstr[1] "%(value).1f милиарда" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f трилион" +msgstr[1] "%(value).1f трилионаn" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "един" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "два" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "три" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "четири" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "пет" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "шест" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "седем" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "осем" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "девет" + +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "има на класа на модела в Python" + +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "тип на съдържанието" + +#: contrib/contenttypes/models.py:40 +msgid "content types" +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/flatpages/models.py:7 contrib/admin/views/doc.py:315 +msgid "URL" +msgstr "URL" + +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +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/comments/models.py:67 contrib/comments/models.py:166 +msgid "object ID" +msgstr "ID на обекта" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "заглавие" + +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "коментар" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "рейтинг #1" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "рейтинг #2" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "рейтинг #3" + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "рейтинг #4" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "рейтинг #5" + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "рейтинг #6" + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "рейтинг #7" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "рейтинг #8" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "е валиден рейтинг" + +#: contrib/comments/models.py:83 contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "дата и час на подаване" + +#: contrib/comments/models.py:84 contrib/comments/models.py:170 +msgid "is public" +msgstr "е публичен" + +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 +msgid "IP address" +msgstr "IP адрес" + +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "е премахнат" + +#: contrib/comments/models.py:86 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "Щтракнете тази кутийка ако коментарът е неподходящ. Вместо съдържанието на коментара, ще се покаже надписът \"Този коментар бе премахнат.\"" + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "коментари" + +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "Content обект" + +#: contrib/comments/models.py:159 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"Пуснат от %(user)s на %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "име на човека" + +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "ip адрес" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "одобрен от персонала" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "свободен коментар" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "свободни коментари" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "точки" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "дата на точкуване" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "кармична точка" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "кармични точки" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "%(score)d рейтинг от %(user)s" + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"Този коментар бе флагнат от %(user)s:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "дата на флагване" + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "потребителски флаг" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "потребителски флагове" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "Флаг от %r" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "дата на изтриване" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "изтриване от модератор" + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "изтривания от модератор" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr "Изтриване от модератор %r" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:17 +msgid "Username:" +msgstr "Потребител:" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Log out" +msgstr "Изход" + +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Парола:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Забравена парола?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "Рейтинги" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Задължително" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Не-задължително" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Качете снимка" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "Коментар:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "Преглед на коментара" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Вашето име:" + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "Анонимните потребители не могат да гласуват" + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "Невалидно ID на коментар" + +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "Не можете да гласувате за себе си" + +#: contrib/comments/views/comments.py:27 +msgid "This rating is required because you've entered at least one other rating." +msgstr "Този рейтинг е задължителен, понеже сте въвели поне един друг рейтинг. " + +#: contrib/comments/views/comments.py:111 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" +"\n" +"%(text)s" +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:116 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"Този коментар е от съмнителен потребител:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "Само POST заявките са позволени" + +#: contrib/comments/views/comments.py:192 +#: contrib/comments/views/comments.py:284 +msgid "One or more of the required fields wasn't submitted" +msgstr "Едно или повече от задължителните полета липсва" + +#: contrib/comments/views/comments.py:196 +#: contrib/comments/views/comments.py:286 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "Някой е променял формата за коментари (нарушение на сигурността)" + +#: contrib/comments/views/comments.py:206 +#: contrib/comments/views/comments.py:292 +msgid "" +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" +msgstr "Формата за коментарите има невалиден параметър 'target' -- ID-то на обекта е невалидно" + +#: contrib/comments/views/comments.py:257 +#: contrib/comments/views/comments.py:321 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "Формата за коментарите не предоставя нито преглед нито постване. " + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "име на домейна" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "наименование" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "сайт" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "сайтове" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

By %s:

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

    По %s:

    \n" +"
      \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Всички" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Коя-да-е дата" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Днес" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "Последните 7 дни" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Този месец" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Тази година" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "време на действие" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "id на обекта" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "repr на обекта" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "флаг за действие" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "смени съобщение" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "записка" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "записки" + +#: contrib/admin/templatetags/admin_list.py:247 +msgid "All dates" +msgstr "Всички дати" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/change_list.html:6 +#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 +#: 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 +#: contrib/admin/templates/registration/password_reset_form.html:4 +msgid "Home" +msgstr "Начало" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Documentation" +msgstr "Документация" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Bookmarklet-и" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Change password" +msgstr "Промени парола" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "Bookmarklet-и за документация" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

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

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

      За да инсталирате bookmarklet-и, задърпайте линка в bookmarks\n" +"toolbar-а, или щракнете с десния бутон и добавете линка в отметките. Сега можете да\n" +"изберете bookmarklet-а от която и да е страница. Някой от тези\n" +"bookmarklet-и могат да се разглеждат само от компютър, който е маркиран \n" +"като \"вътрешен\" (приказвайте с администратора ако не сте сигурни дали\n" +"компютърът ви е \"вътрешен\").

      \n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Документация за тази страница" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "Препраща от която и да е страница към документацията за изгледа, който я е генерирал. " + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "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 "Показва типът на съдържанието и ID-то на страници, които представляват единичен обект. " + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Редактирай този обект (в този прозорец)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "Отива в админската страница за страници, които представляват единичен обект. " + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Редактирай този обект (в нов прозорец)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "Като горното, но отваря администраторската страница в нов прозорец." + +#: contrib/admin/templates/admin/submit_line.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:9 +msgid "Delete" +msgstr "Изтрий" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Запис като нов" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Запис и нов" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Запис и продължение" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Запис" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Server Error (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/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/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/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] "1 резултат" +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/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:21 +msgid "History" +msgstr "История" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Дата/час" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Потребител" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Действие" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "j N, Y, P" + +#: contrib/admin/templates/admin/object_history.html:36 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "Този обект няма исторя на промените. Вероятно не е добавен чрез административния панел. " + +#: contrib/admin/templates/admin/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 "Изтриването на обекта %(object_name)s '%(escaped_object)s' не може да бъде извършено без да се изтрият и някой свързани обекти, върху които обаче нямате права: " + +#: contrib/admin/templates/admin/delete_confirmation.html:21 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Наистина ли искате да затрием обектите %(object_name)s \"%(escaped_object)s\"? " +"Следните свързани елементи също ще бъдат изтрити:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "Абсолютно" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Покажи всички" + +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Добави %(name)s" + +#: contrib/admin/templates/admin/change_form.html:15 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "Добави" + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Разгледай в сайта" + +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Коригирайте долу допуснатата грешка. " +msgstr[1] "Коригирайте долу допуснатите грешки." + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Подреждане" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Подредба:" + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +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/login.html:25 +#: contrib/admin/views/decorators.py:24 +msgid "Log in" +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/base_site.html:4 +msgid "Django site admin" +msgstr "Административен панел" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Административен панел" + +#: contrib/admin/templates/admin/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:34 +msgid "Password" +msgstr "Парола" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Password (again)" +msgstr "Парола (пак)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +msgid "Enter the same password as above, for verification." +msgstr "Въведете същата парола още веднъж за проверка. " + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Въведете нова парола за потребител %(username)s." + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Сега:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +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/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Благодарим Ви, че използвахте този сайт днес. " + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Влез пак" + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Получавате този e-mail, защото сте поръчали да Ви бъде издадена нова парола " + +#: 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_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_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 "Промяна на парола" + +#: contrib/admin/templates/registration/password_change_form.html:12 +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "Въведете си старата парола (за сигурност), след което въведете желаната нова парола два пъти за да не стават грешки. " + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Стара парола:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Нова парола:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Потвърдете паролата:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Промяна на парола" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Паролата е сменена успешно" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Паролата ви е сменена." + +#: contrib/admin/templates/registration/password_reset_form.html: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 "Забравена парола? Няма проблеми. Въведете си e-mail адреса по-долу и ще ви изпратим нова!" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "E-mail адрес:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Нова парола" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Администрация на сайта" + +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:19 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "Обектът %(name)s \"%(obj)s\" бе успешно добавен. " + +#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 +#: contrib/admin/views/auth.py:24 +msgid "You may edit it again below." +msgstr "Може да го редактирате пак по-долу. " + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "Може да добавите още един обект %s по-долу. " + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "Добави %s" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "Добавен %s." + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "Променен %s." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "Изтрит %s." + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "Няма променени полета." + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "Обектът %(name)s \"%(obj)s\" бе успешно актуализиран. " + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "Обектът %(name)s \"%(obj)s\" бе успешно добавен. Може да го редактирате по-долу. " + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Промени %s" + +#: contrib/admin/views/main.py:476 +#, 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:481 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Едно или повече %(fieldname)s в %(name)s:" + +#: contrib/admin/views/main.py:514 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Обектът %(name)s \"%(obj)s\" бе успешно изтрит. " + +#: contrib/admin/views/main.py:517 +msgid "Are you sure?" +msgstr "Сериозно?" + +#: contrib/admin/views/main.py:539 +#, python-format +msgid "Change history: %s" +msgstr "История на промените: %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s" +msgstr "Изберете %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s to change" +msgstr "Изберете %s за промяна" + +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Грешка с базата данни" + +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "Влезте пак, понеже сесията ви изтече. Не се притеснявайте -- данните ви са записани. " + +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "Браузерът ви май не е настроен да приема cookies. Пуснете ги и заредете страницата на ново. " + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Потребителските имена не могат да съдържат символа '@'." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "E-mail адресът ти не ти е потребителско име. Пробвай '%s'." + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "таг:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "филтър:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "изглед:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Приложението %r липсва" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "Моделът %(name)r го няма в приложение %(label)r" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "свързаният обект `%(label)s.%(type)s` " + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "модел:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "свързани `%(label)s.%(name)s` обекти" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "всички %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "брой %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Полета на %s обекти" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +msgid "Integer" +msgstr "Цяло число" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Boolean (True или False)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Стринг (до %(maxlength)s символа)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Цели числа, разделени с запетая" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Дата (без час)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "Дата (и час)" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "E-mail адрес" + +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "Път към файл" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "Десетична дроб" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (Възможните стойности са True, False или None)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "Връзка с родителския обект" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "Телефонен номер" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "Текст" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "Час" + +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "американски щат (две главни букви)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "XML текст" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s не прилича на обект от тип urlpattern" + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Добави потребител" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Паролата бе успешно сменена. " + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Смени парола: %s" + +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Тази стойност трябва да има не повече от %d символа. " + +#: newforms/fields.py:105 newforms/fields.py:258 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Тази стойност трябва да има поне %d символа. " + +#: newforms/fields.py:128 core/validators.py:120 +msgid "Enter a whole number." +msgstr "Въведете цяло число. " + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Тази стойност трябва да е по-малка или равна на %s. " + +#: newforms/fields.py:132 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Тази стойност трябва да е по-голяма или равна на %s." + +#: newforms/fields.py:165 +msgid "Enter a valid date." +msgstr "Въведете валидна дата. " + +#: newforms/fields.py:192 +msgid "Enter a valid time." +msgstr "Въведете валиден час." + +#: newforms/fields.py:228 +msgid "Enter a valid date/time." +msgstr "Въведете валидна дата / час. " + +#: newforms/fields.py:242 +msgid "Enter a valid value." +msgstr "Въведете валидна стойност. " + +#: newforms/fields.py:271 core/validators.py:162 +msgid "Enter a valid e-mail address." +msgstr "Въведете валиден e-mail адрес. " + +#: newforms/fields.py:289 newforms/fields.py:311 +msgid "Enter a valid URL." +msgstr "Въведете валиден URL. " + +#: newforms/fields.py:313 +msgid "This URL appears to be a broken link." +msgstr "Този URL май е счупен линк. " + +#: newforms/fields.py:362 newforms/models.py:165 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Направете валиден избор. Този не е един от възможните избори. " + +#: newforms/fields.py:380 newforms/fields.py:456 newforms/models.py:182 +msgid "Enter a list of values." +msgstr "Въведете списък от стойности" + +#: newforms/fields.py:389 newforms/models.py:188 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Направете валиден избор. %s не е един от възможните избори. " + +#: template/defaultfilters.py:491 +msgid "yes,no,maybe" +msgstr "да,не,може-би" + +#: 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 бе затрит." + +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Тази стойност може да съдържа само букви, цифри и подчертавки. " + +#: core/validators.py:68 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "Тази стойност може да съдържа само букви, цифри, подчертавки, тиренца и наклонени чертички. " + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Тази стойност трябва да съдържа само букви, цифри, подчертавки или тиренца. " + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Тук не се допускат главни букви. " + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Тук не се допускат малки букви. " + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Въведете само цифри, разделени със запетая. " + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Въведете валидни e-mail адреси разделени със запетая. " + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Въведете валиден IP адрес. " + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "Тук не се допускат празни стойности. " + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Тук не се допускат символи, които не са цифри. " + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Тази стойност не може да бъде само цифри. " + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Само букви и цифри се допускат тук. " + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "Годината трябва да бъде от 1900 нагоре." + +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s" +msgstr "Невалидна дата: %s" + +#: core/validators.py:153 +msgid "Enter a valid time in HH:MM format." +msgstr "Въведете валиден час във формат ЧЧ:ММ. " + +#: core/validators.py:178 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "Качете валидна картинка. Файлът, който сте качили или не е картинка или е развалена. " + +#: core/validators.py:185 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "URL %s не сочи към валидна картинка. " + +#: core/validators.py:189 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "Телефонните номера трябва да бъдат във формат XXX-XXX-XXXX. \"%s\" не е валиден. " + +#: core/validators.py:197 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "URL %s не сочи към валиден QuickTime видео клип." + +#: core/validators.py:201 +msgid "A valid URL is required." +msgstr "Изисква се валиден URL." + +#: core/validators.py:215 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Изисква се валиден HTML. Конкретните грешки са:\n" +"%s" + +#: core/validators.py:222 +#, python-format +msgid "Badly formed XML: %s" +msgstr "Неправилно форматиран XML: %s" + +#: core/validators.py:239 +#, python-format +msgid "Invalid URL: %s" +msgstr "Невалиден URL: %s" + +#: core/validators.py:244 core/validators.py:246 +#, python-format +msgid "The URL %s is a broken link." +msgstr "Този URL %s е счупен линк. " + +#: core/validators.py:252 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Въведете валидно съкращение на американски щат. " + +#: core/validators.py:266 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "Ей-шш! Думичката %s не е позволена тук. " +msgstr[1] "Ей-шш! Думичките %s не са позволени тук. " + +#: core/validators.py:273 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Това поле трябва да съвпада с полето '%s' ." + +#: core/validators.py:292 +msgid "Please enter something for at least one field." +msgstr "Въведете нещичко поне за едното поле. " + +#: core/validators.py:301 core/validators.py:312 +msgid "Please enter both fields or leave them both empty." +msgstr "Или въведете и двете полета или ги оставете празни." + +#: core/validators.py:320 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Това поле трябва да е зададено ако %(field)s е %(value)s" + +#: core/validators.py:333 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Това поле трябва да е зададено ако %(field)s не е %(value)s" + +#: core/validators.py:352 +msgid "Duplicate values are not allowed." +msgstr "Не са позволени стойности, които се повтарят. " + +#: core/validators.py:367 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Тази стойност трябва да бъде между %(lower)s и %(upper)s." + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "Тази стойност трябва да бъде поне %s. " + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "Тази стойност не трябва да надвишава %s." + +#: core/validators.py:407 +#, python-format +msgid "This value must be a power of %s." +msgstr "Тази стойност трябва да е точна степен на %s." + +#: core/validators.py:418 +msgid "Please enter a valid decimal number." +msgstr "Въведете валидна десетична дроб. " + +#: core/validators.py:422 +#, 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:425 +#, 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:428 +#, 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:438 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Файлът, който сте качили трябва да бъде поне %s байта." + +#: core/validators.py:439 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Размерът на файла, който сте качили не трябва да надхвърля %s байта. " + +#: core/validators.py:456 +msgid "The format for this field is wrong." +msgstr "Форматът на това поле е грешен." + +#: core/validators.py:471 +msgid "This field is invalid." +msgstr "Това поле не е валидно" + +#: core/validators.py:507 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Не получихме нищо от %s." + +#: core/validators.py:510 +#, 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:543 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"Затворете тага %(tag)s , който е отворен на ред %(line)s. (Редът започва с " +"\"%(start)s\".)" + +#: core/validators.py:547 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "Некъв текст на ред %(line)s не е позволен в този контекст. (Редът започва с \"%(start)s\".)" + +#: core/validators.py:552 +#, 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:557 +#, 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:561 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "На някой от таговете на ред %(line)s му липсват един или повече задължителни атрибута. (Редът започва с \"%(start)s\".)" + +#: core/validators.py:566 +#, 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\".)" + diff --git a/django/conf/locale/bg/LC_MESSAGES/djangojs.mo b/django/conf/locale/bg/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..e912789236bdb500154a64054772687cd2fc274c GIT binary patch literal 1727 zcmZXS-)me&6vs!cKf3;ozbI8WAfiET+)b#Bn<%D911;UQWVaR{CwC{Co8G+>=H45- z;zN=mrA4SnL=n>v6)F^Jy2;YGF{$___%QcTAN&LQAo}Kmpx-l_x)m?X{mh*C&N<&R z_x{?m=VO8AX^dwve!_STDY;4k2Q@Hde4ITZT@+z&niu7m9B2axMq zkaa(UPlC6=A@FZ-3LJtN*XJ&;f?R(Cgk9JBQ{e4~zXOi`=Xn$>u7TEEuRS1p;Jo)^ z;7VMtNa;MX5AKB@uJxdsb?!mDO0uusCq}AOF)}BEP)>%5UWmo03{_N>29wBFp%|Uk zI#whp3F_+KRp>Ti6}cm!l7=M5LhYXsM`e^s)1YxRY22hFjXzBzvnB|sBpY-zjTByC zgGSO?8Yfg%vx%xtDnlpyL^F@;xlUkA`EDXgK{X0$(}_5)b%fVDVnWrS5@jk;g-&CP zQ(2T%sQiQ)IyK}^>%dnp#l0k>D*0jHpCM6B(O!c}+M$xFn3tzjHR{YN)2VTxaTD-P zSthB$L{xO=UDw8-`r9f_l-oFI^bBfxN2=ai%EW<=id3DEQBBXpxd}C^P2!c}T2S>4 zrM1|r=pyA#o~U@EM#%(fZ%ihtNd5Wz0k6>SmC)gY=BX>c+~a<_jvyJUClb-QMpc2n48Ot$Q1cHVB=P5z(kXD-shdc&?| z^TJ-v7Hu2B8^V5SZ{TPvn}^mmftLNww*D7ia0%O--<^PPEqkA(t^#7Hx0x*efiZnM-oZWL5*uQMs2<&tN%UIm8zl24*8xVE{`&%%wZFjN@Zb^t-&o0>w;R>wV zHH49!vvB)p2=`5Ph3rT0K=z88uXa8H+vji6Vqb(iXd>|?LQ8z*JJ~#@lwEMDHga`z ze71!T)q)p@*%Y=q0WN6UD8`N9-0pG}7Y37d4F+76W_FS9FuTa&6%KW#s{mJC\n" +"Language-Team: Bulgarian\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/dateparse.js:26 +#: contrib/admin/media/js/calendar.js:24 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "Януари Февруари Март Април Май Юни Юли Август Септември Октомври Ноември Декември" + +#: contrib/admin/media/js/dateparse.js:27 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Неделя Понеделник Вторник Сряда Четвъртък Петък Събота" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "Н П В С Ч П С" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Now" +msgstr "Сега" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +msgid "Clock" +msgstr "Часовник" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +msgid "Choose a time" +msgstr "Избери време" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Midnight" +msgstr "Полунощ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "6 a.m." +msgstr "6 a.m." + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "Noon" +msgstr "По обяд" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +msgid "Cancel" +msgstr "Отказ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +msgid "Today" +msgstr "Днес" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +msgid "Calendar" +msgstr "Календар" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +msgid "Yesterday" +msgstr "Вчера" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +msgid "Tomorrow" +msgstr "Утре" + diff --git a/django/conf/locale/ca/LC_MESSAGES/django.mo b/django/conf/locale/ca/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..665d7d41a9c31f312a20a81f7f09a47727926fef GIT binary patch literal 49408 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 Zvq-Ib&V=G4Xfix%0o??K7L0Bg{C`)rX;J_H literal 0 HcmV?d00001 diff --git a/django/conf/locale/ca/LC_MESSAGES/django.po b/django/conf/locale/ca/LC_MESSAGES/django.po new file mode 100644 index 0000000000..30a8797a91 --- /dev/null +++ b/django/conf/locale/ca/LC_MESSAGES/django.po @@ -0,0 +1,3034 @@ +# translation of django.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-25 13:04+0200\n" +"PO-Revision-Date: 2007-05-25 13:04+0200\n" +"Last-Translator: Marc Fargas \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: VIM 7.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: template/defaultfilters.py:491 +msgid "yes,no,maybe" +msgstr "si,no,potser" + +#: template/defaultfilters.py:520 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#: template/defaultfilters.py:522 +#, python-format +msgid "%.1f KB" +msgstr "%.1f KB" + +#: template/defaultfilters.py:524 +#, python-format +msgid "%.1f MB" +msgstr "%.1f MB" + +#: template/defaultfilters.py:525 +#, python-format +msgid "%.1f GB" +msgstr "%.1f GB" + +#: newforms/models.py:173 newforms/fields.py:432 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Esculli una opció vàlida; Aquesta opció no és una de les opcions disponibles." + +#: newforms/models.py:186 newforms/fields.py:87 newforms/fields.py:444 +#: newforms/fields.py:520 newforms/fields.py:531 oldforms/__init__.py:357 +#: db/models/fields/__init__.py:121 db/models/fields/__init__.py:278 +#: db/models/fields/__init__.py:675 db/models/fields/__init__.py:686 +msgid "This field is required." +msgstr "Aquest camp és obligatori." + +#: newforms/models.py:190 newforms/fields.py:448 newforms/fields.py:524 +msgid "Enter a list of values." +msgstr "Introdueixi una llista de valors." + +#: newforms/models.py:196 newforms/fields.py:457 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Esculli una opció vàlida; %s' no és una de les opcions vàlides." + +#: newforms/widgets.py:182 contrib/admin/filterspecs.py:150 +#: oldforms/__init__.py:577 +msgid "Unknown" +msgstr "Desconegut" + +#: newforms/widgets.py:182 contrib/admin/filterspecs.py:143 +#: oldforms/__init__.py:577 +msgid "Yes" +msgstr "Si" + +#: newforms/widgets.py:182 contrib/admin/filterspecs.py:143 +#: oldforms/__init__.py:577 +msgid "No" +msgstr "No" + +#: newforms/fields.py:110 newforms/fields.py:324 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Asseguris de que el seu texte té com a màxim %d caracters." + +#: newforms/fields.py:112 newforms/fields.py:326 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Asseguris de que el seu texte té almenys %d caracters." + +#: newforms/fields.py:135 core/validators.py:121 +msgid "Enter a whole number." +msgstr "Introdueixi un número sencer." + +#: newforms/fields.py:137 newforms/fields.py:160 newforms/fields.py:192 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Aquest valor ha de ser menor o igual a %s." + +#: newforms/fields.py:139 newforms/fields.py:162 newforms/fields.py:194 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Asseguris de que aquest valor sigui superior o igual a %s." + +#: newforms/fields.py:158 newforms/fields.py:186 +msgid "Enter a number." +msgstr "Introdueixi un número." + +#: newforms/fields.py:196 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Asseguris de que no hi ha més de %s dígits en total." + +#: newforms/fields.py:198 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Asseguris de que no hi ha més de %s decimals." + +#: newforms/fields.py:200 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Asseguris de que no hia ha més de %s dígits decimals." + +#: newforms/fields.py:233 +msgid "Enter a valid date." +msgstr "Introdueixi una data vàlida." + +#: newforms/fields.py:260 +msgid "Enter a valid time." +msgstr "Introdueixi una hora vàlida." + +#: newforms/fields.py:296 +msgid "Enter a valid date/time." +msgstr "Introdueixi una data/hora vàlides." + +#: newforms/fields.py:310 +msgid "Enter a valid value." +msgstr "Introdueixi un valor vàlid." + +#: newforms/fields.py:339 core/validators.py:163 +msgid "Enter a valid e-mail address." +msgstr "Introdueixi una adreça de correu vàlida." + +#: newforms/fields.py:357 newforms/fields.py:379 +msgid "Enter a valid URL." +msgstr "Introdueixi una URL vàlida." + +#: newforms/fields.py:381 +msgid "This URL appears to be a broken link." +msgstr "Aquesta URL sembla ser un enllaç trencat." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabic" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengalí" + +#: conf/global_settings.py:41 +msgid "Bulgarian" +msgstr "Bulgar" + +#: conf/global_settings.py:42 +msgid "Catalan" +msgstr "Català" + +#: conf/global_settings.py:43 +msgid "Czech" +msgstr "Txec" + +#: conf/global_settings.py:44 +msgid "Welsh" +msgstr "Galès" + +#: conf/global_settings.py:45 +msgid "Danish" +msgstr "Danès" + +#: conf/global_settings.py:46 +msgid "German" +msgstr "Alemany" + +#: conf/global_settings.py:47 +msgid "Greek" +msgstr "Grec" + +#: conf/global_settings.py:48 +msgid "English" +msgstr "Anglès" + +#: conf/global_settings.py:49 +msgid "Spanish" +msgstr "Espanyol" + +#: conf/global_settings.py:50 +msgid "Argentinean Spanish" +msgstr "Castellà Argentí" + +#: conf/global_settings.py:51 +msgid "Finnish" +msgstr "Finlandès" + +#: conf/global_settings.py:52 +msgid "French" +msgstr "Francès" + +#: conf/global_settings.py:53 +msgid "Galician" +msgstr "Galleg" + +#: conf/global_settings.py:54 +msgid "Hungarian" +msgstr "Húngar" + +#: conf/global_settings.py:55 +msgid "Hebrew" +msgstr "Hebreu" + +#: conf/global_settings.py:56 +msgid "Icelandic" +msgstr "Islandès" + +#: conf/global_settings.py:57 +msgid "Italian" +msgstr "Italià" + +#: conf/global_settings.py:58 +msgid "Japanese" +msgstr "Japonès" + +#: conf/global_settings.py:59 +msgid "Korean" +msgstr "Coreà" + +#: conf/global_settings.py:60 +msgid "Kannada" +msgstr "" + +#: conf/global_settings.py:61 +msgid "Latvian" +msgstr "" + +#: conf/global_settings.py:62 +msgid "Macedonian" +msgstr "Macedoni" + +#: conf/global_settings.py:63 +msgid "Dutch" +msgstr "Holandès" + +#: conf/global_settings.py:64 +msgid "Norwegian" +msgstr "Norueg" + +#: conf/global_settings.py:65 +msgid "Polish" +msgstr "Polac" + +#: conf/global_settings.py:66 +msgid "Portugese" +msgstr "Portuguès" + +#: conf/global_settings.py:67 +msgid "Brazilian" +msgstr "Brasileny" + +#: conf/global_settings.py:68 +msgid "Romanian" +msgstr "Rumanès" + +#: conf/global_settings.py:69 +msgid "Russian" +msgstr "Rús" + +#: conf/global_settings.py:70 +msgid "Slovak" +msgstr "Eslovac" + +#: conf/global_settings.py:71 +msgid "Slovenian" +msgstr "Esloveni" + +#: conf/global_settings.py:72 +msgid "Serbian" +msgstr "Serbi" + +#: conf/global_settings.py:73 +msgid "Swedish" +msgstr "Suec" + +#: conf/global_settings.py:74 +msgid "Tamil" +msgstr "" + +#: conf/global_settings.py:75 +msgid "Telugu" +msgstr "" + +#: conf/global_settings.py:76 +msgid "Turkish" +msgstr "Turc" + +#: conf/global_settings.py:77 +msgid "Ukrainian" +msgstr "Ucranià" + +#: conf/global_settings.py:78 +msgid "Simplified Chinese" +msgstr "Xinés simplificat" + +#: conf/global_settings.py:79 +msgid "Traditional Chinese" +msgstr "Xinés tradicional" + +#: contrib/comments/models.py:67 contrib/comments/models.py:166 +msgid "object ID" +msgstr "ID de l'objecte" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "encapçalament" + +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "comentari" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "qualificació #1" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "qualificació #2" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "qualificació #3" + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "qualificació #4" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "qualificació #5" + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "qualificació #6" + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "qualificació #7" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "qualificació #8" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "és qualificació vàlida" + +#: contrib/comments/models.py:83 contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "data/hora d'enviament" + +#: contrib/comments/models.py:84 contrib/comments/models.py:170 +msgid "is public" +msgstr "és públic" + +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:305 +msgid "IP address" +msgstr "Adreça IP" + +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "està eliminat" + +#: 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 "" +"Marqui aquesta caixa si el comentari no és apropiat. En lloc seu es mostrarà " +"\"Aquest comentari ha estat eliminat\" " + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "comentaris" + +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "Objecte Contingut" + +#: contrib/comments/models.py:159 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"Enviat per %(user)s el %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "nom de la persona" + +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "adreça ip" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "aprovat per el \"staff\"" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "comentari lliure" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "comentaris lliures" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "puntuació" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "data de la puntuació" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "puntuació de karma" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "punts de karma" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "%(score)d punt/s per %(user)s" + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"Aquest comentari va ser marcat per %(user)s:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "data de la marca" + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "marca d'usuari" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "marques d'usuari" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "Marca de %r" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "data d'eliminació" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "eliminació del moderador" + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "eliminacions del moderador" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr "eliminació del moderador per %r" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "El seu nom:" + +#: contrib/comments/templates/comments/freeform.html:5 +#: contrib/comments/templates/comments/form.html:28 +msgid "Comment:" +msgstr "Comentari:" + +#: contrib/comments/templates/comments/freeform.html:10 +#: contrib/comments/templates/comments/form.html:35 +msgid "Preview comment" +msgstr "Previsualitzar comentari" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:17 +msgid "Username:" +msgstr "Usuari:" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/admin/object_history.html:3 +#: 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/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +msgid "Log out" +msgstr "Finalitzar sessió" + +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Contrasenya:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Contrasenya oblidada?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "Qualificacions" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Requerit" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Opcional" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Enviar una fotografia" + +#: contrib/comments/views/comments.py:27 +msgid "" +"This rating is required because you've entered at least one other rating." +msgstr "Es precisa aquesta puntuació perquè has introduït almenys un altre." + +#: 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] "" +"Aquest comentari el va enviar un usuari que ha enviat menys de %(count)s " +"comentari:\n" +"\n" +"%(text)s" +msgstr[1] "" +"Aquest comentari el va enviar un usuari que ha enviat menys de %(count)s " +"comentaris:\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 "" +"Aquest comentari va ser publicat per un usuari incomplet\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "Només s'admed POST" + +#: contrib/comments/views/comments.py:192 +#: contrib/comments/views/comments.py:284 +msgid "One or more of the required fields wasn't submitted" +msgstr "Un o més dels caps requerits no ha estat sotmès" + +#: contrib/comments/views/comments.py:196 +#: contrib/comments/views/comments.py:286 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "" +"Algú està jugant amb el formulari de comentaris (violació de seguretat)" + +#: contrib/comments/views/comments.py:206 +#: contrib/comments/views/comments.py:292 +msgid "" +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" +msgstr "" +"El formulari de comentaris tenia un paràmetre 'target' invàlid -- el ID del " +"objecte era invàlid" + +#: contrib/comments/views/comments.py:257 +#: contrib/comments/views/comments.py:321 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "" +"El formulari del comentari no ha proveït ni 'previsualitzar' ni 'enviar'" + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "Els usuaris anònims no poden votar" + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "ID del comentari invàlid" + +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "No pots votar-te a tu mateix" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "moment de l'acció" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "id del objecte" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "'repr' de l'objecte" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "marca de l'acció" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "missatge del canvi" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "entrada del registre" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "entrades del registre" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

      By %s:

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

        Per %s:

        \n" +"
          \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Tots" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Qualsevol data" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Avui" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "Últims 7 dies" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Aquest mes" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Aquest any" + +#: contrib/admin/templatetags/admin_list.py:249 +msgid "All dates" +msgstr "Totes les dates" + +#: contrib/admin/templates/admin/object_history.html:3 +#: 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/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Documentació" + +#: contrib/admin/templates/admin/object_history.html:3 +#: 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/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +msgid "Change password" +msgstr "Canviar clau" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/change_list.html:6 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 +#: contrib/admin/templates/registration/logged_out.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_change_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "Inici" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:21 +msgid "History" +msgstr "Històric" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Data/hora" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Usuari" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Acció" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "F j, Y, H:i " + +#: contrib/admin/templates/admin/object_history.html:36 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Aquest objecte no te historial de canvis. Probablement no va ser afegit " +"utilitzant aquest lloc administratiu." + +#: 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 "" +"Alguna cosa està malament en la instal·lació de la teva base de dades. " +"Assegurat de que s'han creat les taules, i de que la base de dades és " +"llegible per l'usuari apropiat." + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Cercar" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 resultat" +msgstr[1] "%(counter)s resultats" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s en total" + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Eliminar" + +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eliminar el/la %(object_name)s '%(escaped_object)s' provocaria l'eliminació " +"d'objectes relacionats, però el seu compte no te permisos per a esborrar els " +"tipus d'objecte següents:" + +#: contrib/admin/templates/admin/delete_confirmation.html:21 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Està segur de voler esborrar els/les %(object_name)s \"%(escaped_object)s\"? " +"S'esborraran els següents elements relacionats:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "Si, estic segur" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostrar tots" + +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:24 +msgid "Log in" +msgstr "Iniciar sessió" + +#: contrib/admin/templates/admin/change_form.html:15 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "Afegir" + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Veure en el lloc" + +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Si us plau, corregeixi l'error mostrat abaix." +msgstr[1] "Si us plau, corregeixi els errors mostrats abaix." + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Ordre" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Ordre:" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Models disponibles en la aplicació %(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 "Modificar" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "No té permís per editar res." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Accions recents" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Les meves accions" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Cap disponible" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Error del servidor" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Error del servidor (500)" + +#: contrib/admin/templates/admin/500.html:10 +msgid "" +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Hi ha hagut un error. S'ha informat als administradors del lloc per correu " +"electrònic y hauria d'arreglar-se en breu. Gràcies per la seva paciència." + +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Afegir %(name)s" + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Benvingut," + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Lloc administratiu de Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Adminsitració de Django" + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtre" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Desar com a nou" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Desar i afegir-ne un de nou" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Desar i continuar editant" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Desar" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "No s'ha pogut trobar la pàgina" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Ho sentim, però no s'ha pogut trobar la pàgina solicitada" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "Per %(filter_title)s " + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Primer, entri un usuari i una contrasenya. Després podrà editar més opcions " +"del usuari." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Usuari" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +msgid "Password" +msgstr "Contrasenya" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Password (again)" +msgstr "Contrasenya (de nou)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +msgid "Enter the same password as above, for verification." +msgstr "Introdueixi la mateixa contrasenya que a sobre, per a verificació." + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Introdueixi una contrasenya per l'usuari %(username)s" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Data:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Hora:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Actualment:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Modificar:" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Gràcies per emprar algun temps de cualitat amb el lloc web avui." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Iniciar sessió de nou" + +#: 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 "Canvi de clau" + +#: 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 "" +"Si us plau, introdueixi la seva contrasenya antiga, per seguretat, i tot " +"seguit introdueixi la seva nova contrasenya dues vegades per verificar que " +"l'ha escrit correctament." + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Contrasenya antiga:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Contrasenya nova:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Confirmar contrasenya:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Canviar la meva clau:" + +#: 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 "Restablir contrasenya" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Contrasenya restaber-ta amb èxit" + +#: 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 "" +"Li hem enviat una contrasenya nova a l'adreça de correu electrònic que ens " +"ha indicat. L'hauria de rebre en breu." + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Canvi de clau exitò" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "La seva clau ha estat canviada." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "" +"Està rebent aquest missatge degut a que va solicitar un restabliment de " +"contrasenya." + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "del seu compte d'usuari a %(site_name)s." + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "La seva nova contrasenya és: %(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 "Sentis lliure de canviar-la en aquesta pàgina:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "El seu nom d'usuari, en cas d'haver-lo oblidat:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Gràcies per fer us del nostre lloc!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "L'equip de %(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 "" +"Ha oblidat la seva contrasenya? Introdueixi la seva adreça de correu " +"electrònic i crearem una nova que li enviarem per correu." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Adreça de correu electrònic:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Restablir la meva contrasenya" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "'Bookmarklets'" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "'Bookmarklets' de documentació" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

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

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

          Per a instalar 'bookmarklets', arrosegui l'enllaç a la " +"seva barra de\n" +"marcadors, o faci click amb el botò dret en l'enllaç i afegeixi'l als " +"marcadors.\n" +"Ara pot escollir el 'bookmarklet' des de qualsevol pàgina del lloc.\n" +"Observi que alguns d'aquests 'bookmarklets' precisen que estigui veient\n" +"el lloc des de un ordinador senyalat com a \"intern\" (parli\n" +"amb el seu administrador de sistemes si no està segur de la condició del " +"seu).

          \n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Documentació d'aquesta pàgina" + +#: 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 "" +"El porta des de qualsevol pàgina de la documentació a la vista que la genera." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "Mostra el ID de l'objecte" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Mostra el 'content-type' (tipus de contingut) i el ID inequívoc de les " +"pàgines que representen un únic objecte." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Editar aquest objecte (finestra actual)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"El porta a la pàgina d'administració de pàgines que representen un únic " +"objecte." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Editar aquest objecte (nova finestra)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "Com abans, però obre la pàgina d'administració en una nova finestra." + +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "El/la %(name)s \"%(obj)s\".ha estat agregat/da amb èxit." + +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 +msgid "You may edit it again below." +msgstr "Pot editar-lo de nou abaix." + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Agregar usuari" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Canvi de clau exitós" + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Canviar clau: %s" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Lloc administratiu" + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "Pot agregar un altre %s abaix." + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "Agregar %s" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "Agregat %s." + +#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:339 db/models/manipulators.py:308 +msgid "and" +msgstr "i" + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "Modificat %s." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "Eliminat %s." + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "Cap camp canviat." + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "S'ha modificat amb èxist el/la %(name)s \"%(obj)s." + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"S'ha agregat amb èxit el/la %(name)s \"%(obj)s\". Pot editar-lo de nou abaix." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +#: contrib/admin/views/main.py:476 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Un o més %(fieldname)s en %(name)s: %(obj)s" + +#: contrib/admin/views/main.py:481 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Un o més %(fieldname)s en %(name)s:" + +#: contrib/admin/views/main.py:514 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "El/la %(name)s \"%(obj)s\".ha estat eliminat amb èxit." + +#: contrib/admin/views/main.py:517 +msgid "Are you sure?" +msgstr "Està segur?" + +#: contrib/admin/views/main.py:539 +#, python-format +msgid "Change history: %s" +msgstr "Modificar històric: %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s" +msgstr "Seleccioni %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s to change" +msgstr "Seleccioni %s per modificar" + +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Error de/en la base de dades" + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "etiqueta:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filtre:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "vista:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "La aplicació %r no s'ha pogut trobar" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "El model %(name)r no s'ha trobat en la aplicació %(label)r" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "el objecte relacionat `%(label)s.%(type)s`" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "model:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "objectes relacionats `%(label)s.%(name)s`" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "tots %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "nombre de %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Camps en objectes %s" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:304 contrib/admin/views/doc.py:310 +#: contrib/admin/views/doc.py:311 contrib/admin/views/doc.py:313 +msgid "Integer" +msgstr "Enter" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Booleà (Verdader o Fals)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:312 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Cadena (fins a %(maxlength)s)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Enters separats per comes" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Data (sense hora)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "Data (amb hora)" + +#: contrib/admin/views/doc.py:297 +msgid "Decimal number" +msgstr "Número decimal" + +#: contrib/admin/views/doc.py:298 +msgid "E-mail address" +msgstr "Adreça de correu electrònic" + +#: contrib/admin/views/doc.py:299 contrib/admin/views/doc.py:300 +#: contrib/admin/views/doc.py:303 +msgid "File path" +msgstr "Ruta del fitxer" + +#: contrib/admin/views/doc.py:301 +msgid "Floating point number" +msgstr "Número amb punt de coma flotant" + +#: contrib/admin/views/doc.py:307 +msgid "Boolean (Either True, False or None)" +msgstr "Booleà (Verdader, Fals o 'None' (cap))" + +#: contrib/admin/views/doc.py:308 +msgid "Relation to parent model" +msgstr "Relació amb el model pare" + +#: contrib/admin/views/doc.py:309 +msgid "Phone number" +msgstr "Número de telèfon" + +#: contrib/admin/views/doc.py:314 +msgid "Text" +msgstr "Texte" + +#: contrib/admin/views/doc.py:315 +msgid "Time" +msgstr "Hora" + +#: contrib/admin/views/doc.py:316 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" + +#: contrib/admin/views/doc.py:317 +msgid "U.S. state (two uppercase letters)" +msgstr "Estat dels E.U.A. (dos lletres majúscules)" + +#: contrib/admin/views/doc.py:318 +msgid "XML text" +msgstr "Texte XML" + +#: contrib/admin/views/doc.py:344 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s no sembla ser un objecte 'urlpattern'" + +#: 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 "" +"Si us plau, introdueixi un nom d'usuari i contrasenya vàlids. Tingui en " +"compte que tots dos camps son sensibles a majúscules i minúscules." + +#: 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 "" +"Si us plau, identifiquis de nou doncs la seva sessió ha expirat. No es " +"preocupi, el seu enviament està emmagatzemat." + +#: 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 "" +"Sembla ser que el seu navegador no està configurat per acceptar " +"'cookies' (galetes). Si us plau, habiliti les 'cookies', recarregui aquesta " +"pàgina i provi-ho de nou. " + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Els noms d'usuari no poden contenir el caracter '@'." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" +"La seva adreça de correu no és el seu nom d'usuari. Provi '%s' en tot cas." + +#: contrib/sessions/models.py:68 +msgid "session key" +msgstr "clau de la sessió" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "dades de la sessió" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "data de caducitat" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "sessió" + +#: contrib/sessions/models.py:75 +msgid "sessions" +msgstr "sessions" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "rt" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" +msgstr "r" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" +msgstr "n" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "r" + +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f milió" +msgstr[1] "%(value).1f milions" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f bilió" +msgstr[1] "%(value).1f bilions" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f trilió" +msgstr[1] "%(value).1f trilions" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "un" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "dos" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "tres" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "cuatre" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "cinc" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "sis" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "set" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "vuit" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "nou" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "redreçar des de" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Aquesta ruta hauria de ser el camí absolut, excloent-ne el nom del domini. " +"Exemple '/events/search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "redreçar a" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Això pot ser bé una ruta absoluta (com abans) o una URL completa que comenci " +"per http:// ." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "redreçament" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "redreçaments" + +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Exemple: '/about/contact/'. Asseguri's de posar les barres al principi i al " +"final." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "tìtol" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "contingut" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "habilitar comentaris" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "nom de la plantilla" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Exemple: 'flatpages/contact_page.html'. Si no el proporciona, el sistema " +"utilitzarà 'flatpages/defaula.htmlt'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "s'ha de estar registrat" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Si està marcat, només els usuaris registrats podran veure la pàgina." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "pàgina estàtica" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "pàgines estàtiques" + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "nom del domini" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "nom per mostrar" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "lloc" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "llocs" + +#: contrib/auth/views.py:40 +msgid "Logged out" +msgstr "Sessió finalitzada" + +#: contrib/auth/models.py:44 contrib/auth/models.py:64 +msgid "name" +msgstr "nom" + +#: contrib/auth/models.py:46 +msgid "codename" +msgstr "nom en clau" + +#: contrib/auth/models.py:49 +msgid "permission" +msgstr "permís" + +#: contrib/auth/models.py:50 contrib/auth/models.py:65 +msgid "permissions" +msgstr "permissos" + +#: contrib/auth/models.py:68 +msgid "group" +msgstr "grup" + +#: contrib/auth/models.py:69 contrib/auth/models.py:109 +msgid "groups" +msgstr "grups" + +#: contrib/auth/models.py:99 +msgid "username" +msgstr "nom d'usuari" + +#: contrib/auth/models.py:99 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Requerit. 30 o menys caracters. Només caracters alfanumèrics (lletres, " +"dígits i guions baixos)." + +#: contrib/auth/models.py:100 +msgid "first name" +msgstr "nom propi" + +#: contrib/auth/models.py:101 +msgid "last name" +msgstr "cognoms" + +#: contrib/auth/models.py:102 +msgid "e-mail address" +msgstr "adreça de correu electrònic" + +#: contrib/auth/models.py:103 +msgid "password" +msgstr "contrasenya" + +#: contrib/auth/models.py:103 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Utilitzi '[algo]$[salt]$[hexdigest]' o el formulari de " +"canvi de contrasenya." + +#: contrib/auth/models.py:104 +msgid "staff status" +msgstr "és membre del personal" + +#: contrib/auth/models.py:104 +msgid "Designates whether the user can log into this admin site." +msgstr "Indica si l'usuari pot entrar en el lloc administratiu." + +#: contrib/auth/models.py:105 +msgid "active" +msgstr "actiu" + +#: contrib/auth/models.py:105 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Designa si aquest usuari pot iniciar sessió a la interfície administrativa " +"Djano. Deselecciona-ho enlloc de esborrar comptes d'usuari." + +#: contrib/auth/models.py:106 +msgid "superuser status" +msgstr "estat de superusuari" + +#: contrib/auth/models.py:106 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Designa que aquest usuari té tots els permisos sense assignar-los " +"explícitament." + +#: contrib/auth/models.py:107 +msgid "last login" +msgstr "últim inici de sessió" + +#: contrib/auth/models.py:108 +msgid "date joined" +msgstr "data de creació" + +#: contrib/auth/models.py:110 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"Junt amb els permissos asignats manualment, aquest usuari tindrà, també, els " +"permissos dels grups dels que sigui membre." + +#: contrib/auth/models.py:111 +msgid "user permissions" +msgstr "permissos de l'usuari" + +#: contrib/auth/models.py:115 +msgid "user" +msgstr "usuari" + +#: contrib/auth/models.py:116 +msgid "users" +msgstr "usuaris" + +#: contrib/auth/models.py:122 +msgid "Personal info" +msgstr "Informaciò personal" + +#: contrib/auth/models.py:123 +msgid "Permissions" +msgstr "permissos" + +#: contrib/auth/models.py:124 +msgid "Important dates" +msgstr "Dates importants" + +#: contrib/auth/models.py:125 +msgid "Groups" +msgstr "Grups" + +#: contrib/auth/models.py:269 +msgid "message" +msgstr "missatge" + +#: contrib/auth/models.py:282 +msgid "AnonymousUser" +msgstr "AnonymousUser" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "Els dos camps de contrasenya no coincideixen." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Ja existeix un usuari amb aquest nom." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"El seu navegador no sembla tenir les 'cookies' (galetes) activades. Aquestes " +"són necessàries per iniciar la sessió." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Aquest compte està inactiu" + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Aquesta adreça de correu no té associada cap compte d'usuari. Està segur de " +"que s'ha registrat?" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Els dos camps de nova contrasenya no coincideixen." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "" +"La seva antiga contrasenya no és correcte. Si el plau, introdueixi-la de nou." + +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "nom de la classe del model en python" + +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "tipus de contingut" + +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "tipus de continguts" + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "Argau" + +#: contrib/localflavor/ch/ch_states.py:6 +msgid "Appenzell Innerrhoden" +msgstr "Appenzell Innerrhoden" + +#: contrib/localflavor/ch/ch_states.py:7 +msgid "Appenzell Ausserrhoden" +msgstr "Appenzell Ausserrhoden" + +#: contrib/localflavor/ch/ch_states.py:8 +msgid "Basel-Stadt" +msgstr "Basel-Stadt" + +#: contrib/localflavor/ch/ch_states.py:9 +msgid "Basel-Land" +msgstr "Basel-Land" + +#: contrib/localflavor/ch/ch_states.py:10 +msgid "Berne" +msgstr "Berne" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "Fribourg" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "Geneva" + +#: contrib/localflavor/ch/ch_states.py:13 +msgid "Glarus" +msgstr "Glarus" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "Graubuenden" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "Jura" + +#: contrib/localflavor/ch/ch_states.py:16 +msgid "Lucerne" +msgstr "Lucerne" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "Neuchatel" + +#: contrib/localflavor/ch/ch_states.py:18 +msgid "Nidwalden" +msgstr "Nidwalden" + +#: contrib/localflavor/ch/ch_states.py:19 +msgid "Obwalden" +msgstr "Obwalden" + +#: contrib/localflavor/ch/ch_states.py:20 +msgid "Schaffhausen" +msgstr "Schaffhausen" + +#: contrib/localflavor/ch/ch_states.py:21 +msgid "Schwyz" +msgstr "Schwyz" + +#: contrib/localflavor/ch/ch_states.py:22 +msgid "Solothurn" +msgstr "Solothurn" + +#: contrib/localflavor/ch/ch_states.py:23 +msgid "St. Gallen" +msgstr "St. Gallen" + +#: contrib/localflavor/ch/ch_states.py:24 +msgid "Thurgau" +msgstr "Thurgau" + +#: contrib/localflavor/ch/ch_states.py:25 +msgid "Ticino" +msgstr "Ticino" + +#: contrib/localflavor/ch/ch_states.py:26 +msgid "Uri" +msgstr "Uri" + +#: contrib/localflavor/ch/ch_states.py:27 +msgid "Valais" +msgstr "Valais" + +#: contrib/localflavor/ch/ch_states.py:28 +msgid "Vaud" +msgstr "Vaud" + +#: contrib/localflavor/ch/ch_states.py:29 +msgid "Zug" +msgstr "Zug" + +#: contrib/localflavor/ch/ch_states.py:30 +msgid "Zurich" +msgstr "Zurich" + +#: contrib/localflavor/ch/forms.py:18 contrib/localflavor/no/forms.py:15 +msgid "Enter a zip code in the format XXXX." +msgstr "Introdueixi un codi zip en el format XXXX." + +#: contrib/localflavor/ch/forms.py:90 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" +"Introdueixi un número de identificació o de passaport Suïssos en els formats " +"1234567890 o X1234567<0." + +#: contrib/localflavor/it/forms.py:16 +msgid "Enter a valid zip code." +msgstr "Introdueixi un codi zip vàlid." + +#: contrib/localflavor/it/forms.py:41 +msgid "Enter a valid Social Security number." +msgstr "Introdueixi un número valid de la Seguretat Social." + +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "Introdueixi un número de IVA (VAT) vàlid." + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "" +"Introdueixi un codi postal. És necessari un espai entre les dues parts del " +"codi postal." + +#: contrib/localflavor/us/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Introdueixi un codi zip en el format XXXXX o XXXXX-XXXX." + +#: contrib/localflavor/us/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" +"Introdueixi un número vàlid de la Seguretat Social dels E.U.A. en el format " +"XXX-XX-XXXX." + +#: contrib/localflavor/fi/forms.py:14 contrib/localflavor/de/forms.py:16 +#: contrib/localflavor/fr/forms.py:17 +msgid "Enter a zip code in the format XXXXX." +msgstr "Introdueixi un codi zip en el format XXXXX." + +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +msgid "Enter a valid Finnish social security number." +msgstr "Introdueixi un número vàlid de la seguretat social finlandesa." + +#: contrib/localflavor/no/forms.py:36 +msgid "Enter a valid Norwegian social security number." +msgstr "Introdueixi un número de la seguretat social Noruega vàlid." + +#: contrib/localflavor/cl/forms.py:21 +msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Introdueixi un RUT Xilè vàlid. El format és XX.XXX.XXX-X" + +#: contrib/localflavor/cl/forms.py:26 +msgid "Enter valid a Chilean RUT" +msgstr "Introdueixi un RUT Xilè vàlid." + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "Baden-Wuerttemberg" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "Bavaria" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "Berlin" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "Brandenburg" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "Bremen" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "Hamburg" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "Hessen" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "Mecklenburg-Western Pomerania" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "Lower Saxony" + +#: contrib/localflavor/de/de_states.py:14 +msgid "North Rhine-Westphalia" +msgstr "North Rhine-Westphalia" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "Rhineland-Palatinate" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "Saarland" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "Saxony" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "Saxony-Anhalt" + +#: contrib/localflavor/de/de_states.py:19 +msgid "Schleswig-Holstein" +msgstr "Schleswig-Holstein" + +#: contrib/localflavor/de/de_states.py:20 +msgid "Thuringia" +msgstr "Thuringia" + +#: contrib/localflavor/de/forms.py:60 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"Introdueixi un número de tarjeta d'identificació alemany vàlid en el format " +"XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." + +#: contrib/localflavor/au/forms.py:18 +msgid "Enter a 4 digit post code." +msgstr "Introdueixi un codi postal de 4 dígits." + +#: contrib/localflavor/jp/jp_prefectures.py:4 +msgid "Hokkaido" +msgstr "Hokkaido" + +#: contrib/localflavor/jp/jp_prefectures.py:5 +msgid "Aomori" +msgstr "Aomori" + +#: contrib/localflavor/jp/jp_prefectures.py:6 +msgid "Iwate" +msgstr "Iwate" + +#: contrib/localflavor/jp/jp_prefectures.py:7 +msgid "Miyagi" +msgstr "Miyagi" + +#: contrib/localflavor/jp/jp_prefectures.py:8 +msgid "Akita" +msgstr "Akita" + +#: contrib/localflavor/jp/jp_prefectures.py:9 +msgid "Yamagata" +msgstr "Yamagata" + +#: contrib/localflavor/jp/jp_prefectures.py:10 +msgid "Fukushima" +msgstr "Fukushima" + +#: contrib/localflavor/jp/jp_prefectures.py:11 +msgid "Ibaraki" +msgstr "Ibaraki" + +#: contrib/localflavor/jp/jp_prefectures.py:12 +msgid "Tochigi" +msgstr "Tochigi" + +#: contrib/localflavor/jp/jp_prefectures.py:13 +msgid "Gunma" +msgstr "Gunma" + +#: contrib/localflavor/jp/jp_prefectures.py:14 +msgid "Saitama" +msgstr "Saitama" + +#: contrib/localflavor/jp/jp_prefectures.py:15 +msgid "Chiba" +msgstr "Chiba" + +#: contrib/localflavor/jp/jp_prefectures.py:16 +msgid "Tokyo" +msgstr "Tokyo" + +#: contrib/localflavor/jp/jp_prefectures.py:17 +msgid "Kanagawa" +msgstr "Kanagawa" + +#: contrib/localflavor/jp/jp_prefectures.py:18 +msgid "Yamanashi" +msgstr "Yamanashi" + +#: contrib/localflavor/jp/jp_prefectures.py:19 +msgid "Nagano" +msgstr "Nagano" + +#: contrib/localflavor/jp/jp_prefectures.py:20 +msgid "Niigata" +msgstr "Niigata" + +#: contrib/localflavor/jp/jp_prefectures.py:21 +msgid "Toyama" +msgstr "Toyama" + +#: contrib/localflavor/jp/jp_prefectures.py:22 +msgid "Ishikawa" +msgstr "Ishikawa" + +#: contrib/localflavor/jp/jp_prefectures.py:23 +msgid "Fukui" +msgstr "Fukui" + +#: contrib/localflavor/jp/jp_prefectures.py:24 +msgid "Gifu" +msgstr "Gifu" + +#: contrib/localflavor/jp/jp_prefectures.py:25 +msgid "Shizuoka" +msgstr "Shizuoka" + +#: contrib/localflavor/jp/jp_prefectures.py:26 +msgid "Aichi" +msgstr "Aichi" + +#: contrib/localflavor/jp/jp_prefectures.py:27 +msgid "Mie" +msgstr "Mie" + +#: contrib/localflavor/jp/jp_prefectures.py:28 +msgid "Shiga" +msgstr "Shiga" + +#: contrib/localflavor/jp/jp_prefectures.py:29 +msgid "Kyoto" +msgstr "Kyoto" + +#: contrib/localflavor/jp/jp_prefectures.py:30 +msgid "Osaka" +msgstr "Osaka" + +#: contrib/localflavor/jp/jp_prefectures.py:31 +msgid "Hyogo" +msgstr "Hyogo" + +#: contrib/localflavor/jp/jp_prefectures.py:32 +msgid "Nara" +msgstr "Nara" + +#: contrib/localflavor/jp/jp_prefectures.py:33 +msgid "Wakayama" +msgstr "Wakayama" + +#: contrib/localflavor/jp/jp_prefectures.py:34 +msgid "Tottori" +msgstr "Tottori" + +#: contrib/localflavor/jp/jp_prefectures.py:35 +msgid "Shimane" +msgstr "Shimane" + +#: contrib/localflavor/jp/jp_prefectures.py:36 +msgid "Okayama" +msgstr "Okayama" + +#: contrib/localflavor/jp/jp_prefectures.py:37 +msgid "Hiroshima" +msgstr "Hiroshima" + +#: contrib/localflavor/jp/jp_prefectures.py:38 +msgid "Yamaguchi" +msgstr "Yamaguchi" + +#: contrib/localflavor/jp/jp_prefectures.py:39 +msgid "Tokushima" +msgstr "Tokushima" + +#: contrib/localflavor/jp/jp_prefectures.py:40 +msgid "Kagawa" +msgstr "Kagawa" + +#: contrib/localflavor/jp/jp_prefectures.py:41 +msgid "Ehime" +msgstr "Ehime" + +#: contrib/localflavor/jp/jp_prefectures.py:42 +msgid "Kochi" +msgstr "Kochi" + +#: contrib/localflavor/jp/jp_prefectures.py:43 +msgid "Fukuoka" +msgstr "Fukuoka" + +#: contrib/localflavor/jp/jp_prefectures.py:44 +msgid "Saga" +msgstr "Saga" + +#: contrib/localflavor/jp/jp_prefectures.py:45 +msgid "Nagasaki" +msgstr "Nagasaki" + +#: contrib/localflavor/jp/jp_prefectures.py:46 +msgid "Kumamoto" +msgstr "Kumamoto" + +#: contrib/localflavor/jp/jp_prefectures.py:47 +msgid "Oita" +msgstr "Oita" + +#: contrib/localflavor/jp/jp_prefectures.py:48 +msgid "Miyazaki" +msgstr "Miyazaki" + +#: contrib/localflavor/jp/jp_prefectures.py:49 +msgid "Kagoshima" +msgstr "Kagoshima" + +#: contrib/localflavor/jp/jp_prefectures.py:50 +msgid "Okinawa" +msgstr "Okinawa" + +#: contrib/localflavor/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Introdueixi un codi postal en el format XXXXXXX o XX-XXXX." + +#: contrib/localflavor/br/forms.py:18 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Introdueixi un codi zip en el format XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "El número de telèfon ha de ser en el format XX-XXXX-XXXX." + +#: contrib/localflavor/br/forms.py:72 +msgid "This field requires only numbers." +msgstr "Aquest camps requereix només números." + +#: contrib/localflavor/br/forms.py:74 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Aquest camp requereix com a màxim 11 dígits o 14 caracters." + +#: contrib/localflavor/br/forms.py:84 +msgid "Invalid CPF number." +msgstr "Número CPF invàlid." + +#: contrib/localflavor/br/forms.py:106 +msgid "This field requires at least 14 digits" +msgstr "Aquest camp requereix almenys 14 dígits." + +#: contrib/localflavor/br/forms.py:116 +msgid "Invalid CNPJ number." +msgstr "Número CNPJ invàlid." + +#: contrib/localflavor/is_/forms.py:16 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" +"Introdueixi un número de identificació d'Islàndia. El format és XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:30 +msgid "The Icelandic identification number is not valid." +msgstr "El número de identificació d'Islàndia no és vàlid." + +#: core/validators.py:65 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Aquest valor ha de contenir només números, guions, i guions baixos." + +#: core/validators.py:69 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Aquest valor ha de contenir només lletres, números, guions, guions baixos, i " +"barres (/)." + +#: core/validators.py:73 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "" +"Aquest valor ha de contenir només lletres, números, guions o guions baixos" + +#: core/validators.py:77 +msgid "Uppercase letters are not allowed here." +msgstr "No es permeten majúscules aquí." + +#: core/validators.py:81 +msgid "Lowercase letters are not allowed here." +msgstr "No es permeten minúscules aquí." + +#: core/validators.py:88 +msgid "Enter only digits separated by commas." +msgstr "Introdueixi només dígits separats per comes." + +#: core/validators.py:100 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Introdueixi adreces de correu electrònic vàlides separades per comes." + +#: core/validators.py:104 +msgid "Please enter a valid IP address." +msgstr "Per favor introdueixi una adreça IP vàlida." + +#: core/validators.py:108 +msgid "Empty values are not allowed here." +msgstr "No s'admeten valor buits." + +#: core/validators.py:112 +msgid "Non-numeric characters aren't allowed here." +msgstr "No s'admeten caracters no numèrics." + +#: core/validators.py:116 +msgid "This value can't be comprised solely of digits." +msgstr "Aquest valor no pot contenir només dígits." + +#: core/validators.py:125 +msgid "Only alphabetical characters are allowed here." +msgstr "Només s'admeted caracters alfabètics aquí." + +#: core/validators.py:140 +msgid "Year must be 1900 or later." +msgstr "L'any ha de ser posterior al 1900" + +#: core/validators.py:144 +#, python-format +msgid "Invalid date: %s" +msgstr "Data invàlida: %s" + +#: core/validators.py:149 db/models/fields/__init__.py:463 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Introdueixi una data vàlida en el forma AAAA-MM-DD." + +#: core/validators.py:154 +msgid "Enter a valid time in HH:MM format." +msgstr "Introdueixi una hora vàlida en el format HH:MM." + +#: core/validators.py:158 db/models/fields/__init__.py:532 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Introdueixi un data/hora vàlida en format YYYY-MM-DD HH:MM." + +#: core/validators.py:175 core/validators.py:453 oldforms/__init__.py:672 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"No s'ha enviat cap fitxer. Comprovi el tipus de codificació del formulari." + +#: core/validators.py:179 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Envii una imatge vàilda. El fitxer que ha enviat no era una imatge o estaba " +"corrupte." + +#: core/validators.py:186 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "La URL %s no apunta una imatge vàlida." + +#: core/validators.py:190 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" +"El números de telèfon han de guardar-se en el format XXX-XXX-XXXX. \"%s\" no " +"és vàlid." + +#: core/validators.py:198 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "La URL %s no apunta a un video QuickTime vàlid." + +#: core/validators.py:202 +msgid "A valid URL is required." +msgstr "Es precisa d'una URL vàlida." + +#: core/validators.py:216 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Es precisa HTML vàlid. Els errors específics sòn:\n" +"%s" + +#: core/validators.py:223 +#, python-format +msgid "Badly formed XML: %s" +msgstr "XML incorrectament formatejat: %s" + +#: core/validators.py:240 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL invalida: %s" + +#: core/validators.py:245 core/validators.py:247 +#, python-format +msgid "The URL %s is a broken link." +msgstr "La URL %sés un enllaç trencat." + +#: core/validators.py:253 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Introdueixi una abreviatura vàlida d'estat d'els E.U.A.." + +#: core/validators.py:267 +#, 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] "Vigili la seva boca! Aquí no admetem la paraula: %s." +msgstr[1] "Vigili la seva boca! Aquí no admetem les paraules: %s." + +#: core/validators.py:274 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Aquest camp ha de concordar amb el camp '%s'." + +#: core/validators.py:293 +msgid "Please enter something for at least one field." +msgstr "Si us plau, introdueixi alguna cosa alemnys en un camp." + +#: core/validators.py:302 core/validators.py:313 +msgid "Please enter both fields or leave them both empty." +msgstr "Si us plau, ompli els dos camps o deixi'ls tots dos en blanc." + +#: core/validators.py:321 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "S'ha de proporcionar aquest camps si %(field)s és %(value)s" + +#: core/validators.py:334 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "S'ha de proporcionar aquest camps si %(field)s no és %(value)s" + +#: core/validators.py:353 +msgid "Duplicate values are not allowed." +msgstr "No s'admeten valors duplicats." + +#: core/validators.py:368 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Aquest valor ha de estar comprés entre %(lower)s i %(upper)s." + +#: core/validators.py:370 +#, python-format +msgid "This value must be at least %s." +msgstr "Aquest valor ha de ser com a mínim %s." + +#: core/validators.py:372 +#, python-format +msgid "This value must be no more than %s." +msgstr "Aquest valor ha de ser com a màxim %s." + +#: core/validators.py:408 +#, python-format +msgid "This value must be a power of %s." +msgstr "Aquest valor ha de ser una potència de %s." + +#: core/validators.py:417 +msgid "Please enter a valid decimal number." +msgstr "Si us plau, introdueixi un número decimal vàlid." + +#: core/validators.py:423 +#, 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] "" +"Si us plau, introdueixi un número decimal vàlid amb no més de %s digit." +msgstr[1] "" +"Si us plau, introdueixi un número decimal vàlid amb no més de %s digits." + +#: core/validators.py:426 +#, 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] "" +"Si us plau, introdueixi un número decimal vàlid amb la part entera amb com a " +"màxim %s dígit." +msgstr[1] "" +"Si us plau, introdueixi un número decimal vàlid amb la part entera amb com a " +"màxim %s dígits." + +#: core/validators.py:429 +#, 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] "" +"Si us plau, introdueixi un número decimal vàlid amb no més de %s dígit en la " +"part decimal." +msgstr[1] "" +"Si us plau, introdueixi un número decimal vàlid amb no més de %s dígits en " +"la part decimal." + +#: core/validators.py:437 +msgid "Please enter a valid floating point number." +msgstr "Si us plau, introdueixi un número amb punt de coma flotant vàlid." + +#: core/validators.py:446 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Asseguris de que el fitxer que ha enviat té, com a mínim, %s bytes." + +#: core/validators.py:447 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Asseguris de que el fitxer que ha enviat té, com a màxim %s bytes." + +#: core/validators.py:464 +msgid "The format for this field is wrong." +msgstr "El format per aquest camp és incorrecte." + +#: core/validators.py:479 +msgid "This field is invalid." +msgstr "El camp no és vàlid." + +#: core/validators.py:515 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "No s'ha pogut obtenir res de %s." + +#: core/validators.py:518 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" +"La URL %(url)s ha va tornar la capcelera Content-Type '%(contenttype)s', que " +"no és vàlida." + +#: core/validators.py:551 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"Si us plau, tanqui l'etiqueta %(tag)s des de la línia %(line)s. (La línia " +"comença amb \"%(start)s\".)" + +#: core/validators.py:555 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Part del text que comença en la línia %(line)s no està permès en aquest " +"context. (La línia comença per \"%(start)s\".)" + +#: core/validators.py:560 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"El \"%(attr)s\" de la línia %(line)s no és un atribut vàlid. (La línia " +"comença per \"%(start)s\".)" + +#: core/validators.py:565 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"La \"<%(tag)s>\" de la línia %(line)s no és una etiqueta vàlida. (La línia " +"comença per \"%(start)s\".)" + +#: core/validators.py:569 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Una etiqueta de la línia %(line)s li falta un o més atributs requerits.(La " +"línia comença per \"%(start)s\".)" + +#: core/validators.py:574 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"L'atribut \"%(attr)s\" de la línia %(line)s té un valor que no és vàlid. (La " +"línia comença per \"%(start)s\".)" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "Dilluns" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Dimarts" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Dimecres" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Dijous" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "Divendres" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Dissabte" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Diumenge" + +#: utils/dates.py:14 +msgid "January" +msgstr "Gener" + +#: utils/dates.py:14 +msgid "February" +msgstr "Febrer" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "Març" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "Abril" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "Maig" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "Juny" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "Juliol" + +#: utils/dates.py:15 +msgid "August" +msgstr "Agost" + +#: utils/dates.py:15 +msgid "September" +msgstr "Setembre" + +#: utils/dates.py:15 +msgid "October" +msgstr "Octubre" + +#: utils/dates.py:15 +msgid "November" +msgstr "Novembre" + +#: utils/dates.py:16 +msgid "December" +msgstr "Desembre" + +#: utils/dates.py:19 +msgid "jan" +msgstr "gen" + +#: utils/dates.py:19 +msgid "feb" +msgstr "feb" + +#: utils/dates.py:19 +msgid "mar" +msgstr "mar" + +#: utils/dates.py:19 +msgid "apr" +msgstr "abr" + +#: utils/dates.py:19 +msgid "may" +msgstr "mai" + +#: utils/dates.py:19 +msgid "jun" +msgstr "jun" + +#: utils/dates.py:20 +msgid "jul" +msgstr "jul" + +#: utils/dates.py:20 +msgid "aug" +msgstr "ago" + +#: utils/dates.py:20 +msgid "sep" +msgstr "set" + +#: utils/dates.py:20 +msgid "oct" +msgstr "oct" + +#: utils/dates.py:20 +msgid "nov" +msgstr "nov" + +#: utils/dates.py:20 +msgid "dec" +msgstr "des" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "Gen." + +#: utils/dates.py:27 +msgid "Feb." +msgstr "Feb." + +#: utils/dates.py:28 +msgid "Aug." +msgstr "Ago." + +#: utils/dates.py:28 +msgid "Sept." +msgstr "Set." + +#: utils/dates.py:28 +msgid "Oct." +msgstr "Oct." + +#: utils/dates.py:28 +msgid "Nov." +msgstr "Nov." + +#: utils/dates.py:28 +msgid "Dec." +msgstr "Des." + +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "any" +msgstr[1] "anys" + +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "mes" +msgstr[1] "mesos" + +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "setmana" +msgstr[1] "setmanes" + +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "dia" +msgstr[1] "dies" + +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hora" +msgstr[1] "hores" + +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minut" +msgstr[1] "minuts" + +#: utils/timesince.py:40 +#, python-format +msgid "%d milliseconds" +msgstr "%d milisegons" + +#: utils/timesince.py:41 +#, python-format +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" + +#: utils/timesince.py:47 +#, python-format +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" + +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "p.m." + +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "a.m." + +#: utils/dateformat.py:46 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:47 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "mitja nit" + +#: utils/dateformat.py:97 +msgid "noon" +msgstr "mig dia" + +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "F j, Y" + +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "F j, Y, H:i" + +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "H:i" + +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "j de/d' F del Y" + +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "j de/d' F del Y" + +#: oldforms/__init__.py:392 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Asseguris de que el seu texte té menys de %s caracter." +msgstr[1] "Asseguris de que el seu texte té menys de %s caracters." + +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "No es permeten salts de línia." + +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Esculli una opció vàlida; %(data)s' no està dintre de %(choices)s." + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "El fitxer enviat està buit." + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Introdueixi un número enter entre -32,768 i 32,767." + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "Introdueixi un número positiu." + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Introdueixi un número entre 0 i 32,767." + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "El/La %(verbose_name)s s'ha creat amb èxit." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "El/La %(verbose_name)s s'ha actualtzat amb èxit." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "El %(verbose_name)s s'ha eliminat." + +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "Ja existeix un %(object)s del tipus %(type)s amb aquest %(field)s." + +#: db/models/fields/__init__.py:46 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "Ja existeix %(optname)s amb auqest %(fieldname)s." + +#: db/models/fields/__init__.py:373 +msgid "This value must be an integer." +msgstr "Aquest valor ha de ser un enter." + +#: db/models/fields/__init__.py:408 +msgid "This value must be either True or False." +msgstr "Aquest valor ha de ser True (Veritat) o False (Fals)" + +#: db/models/fields/__init__.py:429 +msgid "This field cannot be null." +msgstr "Aquest camp no pot ser null (estar buit)." + +#: db/models/fields/__init__.py:592 +msgid "This value must be a decimal number." +msgstr "Aquest valor ha de ser un número decimal." + +#: db/models/fields/__init__.py:695 +msgid "Enter a valid filename." +msgstr "Introdueixi un nom de fitxer vàlid." + +#: db/models/fields/__init__.py:818 +msgid "This value must be either None, True or False." +msgstr "Aquest valor ha de ser None (Cap), True (Veritat) o False (Fals)" + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Si us plau, introdueixi un %s vàlid." + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Separi múltiples IDs amb comes." + +#: db/models/fields/related.py:644 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Premi \"Control\" o \"Command\" en un Mac per escollir més d'un." + +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +"Si us plau, introdueixi IDs de %(self)s vàlids. El valor %(value)r és " +"invàlid." +msgstr[1] "" +"Si us plau, introdueixi IDs de %(self)s vàlids. Els valors %(value)r són " +"invàlids." diff --git a/django/conf/locale/ca/LC_MESSAGES/djangojs.mo b/django/conf/locale/ca/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..a5b908df1f90986b1df39f855afd5cc18efd1ec9 GIT binary patch literal 1646 zcmZvcyKh`Y6vhV#uLTkaZ$xoGvg8O|XKm$St>Y+**BfkkW6Qg7k_Kt^?(yBR=gzEV z=9;XOIu#8C9R(eK0zDBm9R)%(6tsXuLC1IQZZIH5n){nGbLKo|KkZNF&wQ>h-oktr z^GD1D%rBn62c!9d=A{2pYMY&!M+DJzyf?840ApJpN9PqJOh3T z-UdGdCC)GN{a-=J^9Lw-{{$tjY!Yx5l=~OKRqzrhaZ6C*L{RcR0FTkbLr~)Uj!Shs z@GNY(B!1_>7r?i{m%)WOuYl6$P4GN80406_J_}C39q>LValQp5{&yf!s_#MZ{{fWx ze+C!9-$1$l4xHD(_d)6BV-QCwpW6nMpFsAc4jHdu%G=6sB{AVr=K$)S-T)=`f5+?d z4e9UI`C4+mi7B;8e=_jY>Kx`PVqi#L@;3h(S4c0FOR7B@srHFBRu3)HLR1^tvK#4u zh0EEhjj{KUNmDW<|83d&AhN5kSk{5G>{*{5tB=fx)wXt(4pZv#Fw~2l4*8hclVB|M z^pv(M$N1POwX33viTXTATn;(VZl1jGmOq(obU3dUs%J*d6yv0BdGGM~MD244FV&|W z4d@PLm-?#Dmh(hYUj@p?-sHR(FOYU4%B{(dN%hCL+ON>)lzP6#pyDXz9Ui&aYA~)s zz10myPWn1k0Sh(ovv27`K%9FV6W0fO!5<-Uwl&HQI7H)Ji$+J<75*qT_Ict%%6hRd zqwK?~h}pomsIj*@$TkA&1n;b)6Sruk*}R%HFJ~)FT3&6fT>hYm9XMwDd}1W(|NC8< z`R(YKvO&-;TAh4o;k83fT^$M?=~@Zn#$jzN<-WY$*g<)fE;t*oE?Y#`INq>k$%o>4 zqqo)DJndw8soB`@F0n)W=>&x)zMn2mtTt{9@2o@Qw0?Wg%~ntSq>e)l*`~|=$he|K zt3#6-ce9)9ILrz>*y_<$1mCk&&^GJ(P)1bZCbb>cSJr5@Twiqb-a0K`SZk=q0zTxz z1ho*UW8%a+10A2L*vw`8&DR!^-i&!=t)a?k8vCGUI?3^%&~Nf7N*FkKIKk*}6dnEZ ze4nlL>4?=XA|-?rc|)mq;zwUmdpHxfDMZ~OacjJ#cHwJzi@F1gx+~#K-B?H-If1&< zktSynR>jC@)kck*)|3VXst)ZybSP&trEAqg@*vku wRkACP&RAPHc`s-o)#N-NM#miaN^pXIfZ0ZjdYBmh5S77ml#jkt?J-{aFBo5nMgRZ+ literal 0 HcmV?d00001 diff --git a/django/conf/locale/ca/LC_MESSAGES/djangojs.po b/django/conf/locale/ca/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..8167253005 --- /dev/null +++ b/django/conf/locale/ca/LC_MESSAGES/djangojs.po @@ -0,0 +1,120 @@ +# translation of djangojs.po to +# Spanish translation for the django-admin JS files. +# Copyright (C) +# This file is distributed under the same license as the PACKAGE package. +# +msgid "" +msgstr "" +"Project-Id-Version: djangojs\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-20 18:25+0200\n" +"PO-Revision-Date: 2007-05-20 18:24+0200\n" +"Last-Translator: Marc Fargas \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: VIM 7.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: contrib/admin/media/js/SelectFilter2.js:33 +#, perl-format +msgid "Available %s" +msgstr "%s Disponibles" + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "Seleccionar tots" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "Afegir" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "Eliminar" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "%s Escollits" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "Faci les seves seleccions i faci click a" + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "Deseleccionar tots" + +#: contrib/admin/media/js/dateparse.js:32 +#: contrib/admin/media/js/calendar.js:24 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" +"Febrer Març Abril Maig Juny Juliol Agost Setembre Octubre Novembre Desembre" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Diumenge Dilluns Dimarts Dimecres Dijous Divendres Dissabte" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "D L M X J V S" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Now" +msgstr "Ara" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +msgid "Clock" +msgstr "Rellotje" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +msgid "Choose a time" +msgstr "Esculli una hora" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "Midnight" +msgstr "Mitja nit" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "6 a.m." +msgstr "6 a.m." + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "Noon" +msgstr "Migdia" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +msgid "Cancel" +msgstr "Cancel·lar" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +msgid "Today" +msgstr "Avui" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +msgid "Calendar" +msgstr "Calendari" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +msgid "Yesterday" +msgstr "Ahir" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +msgid "Tomorrow" +msgstr "Demà" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "Mostrar" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "Ocultar" diff --git a/django/conf/locale/de/LC_MESSAGES/django.mo b/django/conf/locale/de/LC_MESSAGES/django.mo index 0dd2b26dffc7c8e4bc0a14d28bfbac0b71a81be4..d1981a679dbf5856223847300754ac5e652695f3 100644 GIT binary patch literal 44039 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 delta 13851 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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 c5e3f4282a..3ccbefe249 100644 --- a/django/conf/locale/de/LC_MESSAGES/django.po +++ b/django/conf/locale/de/LC_MESSAGES/django.po @@ -1,4 +1,3 @@ -# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. @@ -7,20 +6,1279 @@ msgid "" msgstr "" "Project-Id-Version: Django 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-11-15 18:35+0100\n" -"PO-Revision-Date: 2005-10-08 00:03+0200\n" -"Last-Translator: Georg Bauer \n" +"POT-Creation-Date: 2007-04-09 22:42+0200\n" +"PO-Revision-Date: 2007-02-05 03:19+0100\n" +"Last-Translator: Jannis Leidel \n" +"Language-Team: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: German\n" +"X-Poedit-Country: GERMANY\n" +"X-Poedit-SourceCharset: utf-8\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Generator: KBabel 1.11.4\n" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabisch" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengali" + +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Katalanisch" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Tschechisch" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Walisisch" + +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Dänisch" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "Deutsch" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Griechisch" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "Englisch" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Spanisch" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Argentinisches Spanisch" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Finnisch" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "Französisch" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Galicisch" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Ungarisch" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Hebräisch" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Isländisch" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Italienisch" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Japanisch" + +#: conf/global_settings.py:58 +msgid "Korean" +msgstr "Koreanisch" + +#: conf/global_settings.py:59 +msgid "Kannada" +msgstr "Kannada" + +#: conf/global_settings.py:60 +msgid "Latvian" +msgstr "Lettisch" + +#: conf/global_settings.py:61 +msgid "Macedonian" +msgstr "Mazedonisch" + +#: conf/global_settings.py:62 +msgid "Dutch" +msgstr "Holländisch" + +#: conf/global_settings.py:63 +msgid "Norwegian" +msgstr "Norwegisch" + +#: conf/global_settings.py:64 +msgid "Polish" +msgstr "Polnisch" + +#: conf/global_settings.py:65 +msgid "Portugese" +msgstr "Portugiesisch" + +#: conf/global_settings.py:66 +msgid "Brazilian" +msgstr "Brasilianisches Portugiesisch" + +#: conf/global_settings.py:67 +msgid "Romanian" +msgstr "Rumänisch" + +#: conf/global_settings.py:68 +msgid "Russian" +msgstr "Russisch" + +#: conf/global_settings.py:69 +msgid "Slovak" +msgstr "Slowakisch" + +#: conf/global_settings.py:70 +msgid "Slovenian" +msgstr "Slowenisch" + +#: conf/global_settings.py:71 +msgid "Serbian" +msgstr "Serbisch" + +#: conf/global_settings.py:72 +msgid "Swedish" +msgstr "Schwedisch" + +#: conf/global_settings.py:73 +msgid "Tamil" +msgstr "Tamilisch" + +#: conf/global_settings.py:74 +msgid "Telugu" +msgstr "Telugisch" + +#: conf/global_settings.py:75 +msgid "Turkish" +msgstr "Türkisch" + +#: conf/global_settings.py:76 +msgid "Ukrainian" +msgstr "Ukrainisch" + +#: conf/global_settings.py:77 +msgid "Simplified Chinese" +msgstr "Vereinfachtes Chinesisch" + +#: conf/global_settings.py:78 +msgid "Traditional Chinese" +msgstr "Traditionelles Chinesisch" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

          By %s:

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

            Nach %s:

            \n" +"
              \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Alle" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Alle Daten" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Heute" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "Letzte 7 Tage" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Diesen Monat" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Dieses Jahr" + +#: contrib/admin/filterspecs.py:143 newforms/widgets.py:180 +#: oldforms/__init__.py:577 +msgid "Yes" +msgstr "Ja" + +#: contrib/admin/filterspecs.py:143 newforms/widgets.py:180 +#: oldforms/__init__.py:577 +msgid "No" +msgstr "Nein" + +#: contrib/admin/filterspecs.py:150 newforms/widgets.py:180 +#: oldforms/__init__.py:577 +msgid "Unknown" +msgstr "Unbekannt" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "Zeitpunkt der Aktion" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "Objekt-ID" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "Objekt Darst." + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "Aktionskennzeichen" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "Änderungsmeldung" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "Logeintrag" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "Logeinträge" + +#: 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 +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 +msgid "Home" +msgstr "Start" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Serverfehler" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Serverfehler (500)" + +#: 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/base.html:25 +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 +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 +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 +msgid "Log out" +msgstr "Abmelden" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Django-Systemverwaltung" + +#: 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 +msgid "Add" +msgstr "Hinzufügen" + +#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/object_history.html:5 +msgid "History" +msgstr "Geschichte" + +#: contrib/admin/templates/admin/change_form.html:22 +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 +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 +msgid "Ordering" +msgstr "Sortierung" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Reihenfolge:" + +#: contrib/admin/templates/admin/change_list.html:12 +#, 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 +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: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:26 +msgid "Yes, I'm sure" +msgstr "Ja, ich bin sicher" + +#: 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 +msgid "Filter" +msgstr "Filter" + +#: 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 +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Ändern" + +#: 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 +msgid "Recent Actions" +msgstr "Kürzliche Aktionen" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Meine Aktionen" + +#: 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/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 +msgid "Password:" +msgstr "Passwort:" + +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:24 +msgid "Log in" +msgstr "Anmelden" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Datum/Zeit" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Benutzer" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Aktion" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "j. N Y, H:i" + +#: contrib/admin/templates/admin/object_history.html:36 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Dieses Objekt hat keine Änderungsgeschichte. Es wurde möglicherweise nicht " +"über diese Verwaltungsseiten angelegt." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Zeige alle" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Los" + +#: 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 +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s gesamt" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Als neu sichern" + +#: 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 +msgid "Save and continue editing" +msgstr "Sichern und weiter bearbeiten" + +#: 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: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 +msgid "Password" +msgstr "Passwort" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +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 +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 +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Bitte geben Sie ein neues Passwort für den Benutzer %(username)s ein." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Bookmarklets" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "Dokumentations-Bookmarklets" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

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

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

              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 +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:22 +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:25 +msgid "Edit this object (current window)" +msgstr "Dieses Objekt im aktuellen Fenster ändern." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +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." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Dieses Objekt in einem neuen Fenster ändern." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +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." +msgstr "Vielen Dank, dass Sie hier ein paar nette Minuten verbracht haben." + +#: contrib/admin/templates/registration/logged_out.html:10 +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 +msgid "Password change" +msgstr "Passwort ändern" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Passwort erfolgreich geändert" + +#: contrib/admin/templates/registration/password_change_done.html:12 +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:17 +msgid "Old password:" +msgstr "Altes Passwort:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Neues Passwort:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Passwort wiederholen:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Mein Passwort ändern" + +#: 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 "Passwort zurücksetzen" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +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." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Sie erhalten diese E-Mail, weil Sie ein neues Passwort" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "für Ihren Benutzer bei %(site_name)s angefordert haben." + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "Ihr neues Passwort lautet: %(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 "Sie können das Passwort auf folgender Seite ändern:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Ihr Benutzername, falls Sie ihn vergessen haben:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Vielen Dank, dass Sie unsere Seiten benutzen!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +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." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "E-Mail-Adresse:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Mein Passwort zurücksetzen" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Datum:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Zeit:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Derzeit:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Ändern:" + +#: contrib/admin/templatetags/admin_list.py:247 +msgid "All dates" +msgstr "Alle Tage" + +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)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 +msgid "You may edit it again below." +msgstr "Das Element kann jetzt weiter bearbeitet werden." + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Benutzer hinzufügen" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Passwort erfolgreich geändert." + +#: contrib/admin/views/auth.py:64 +#, 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 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: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." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Benutzernamen dürfen das Zeichen '@' nicht enthalten." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" +"Die 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:50 +msgid "tag:" +msgstr "Schlagwort:" + +#: 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 "Ansicht:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Anwendung %r nicht gefunden" + +#: contrib/admin/views/doc.py:171 +#, 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 +#, 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 +msgid "model:" +msgstr "Modell:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "verknüpftes `%(label)s.%(name)s` Objekt" + +#: 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 "Anzahl von %s" + +#: contrib/admin/views/doc.py:229 +#, 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 +msgid "Integer" +msgstr "Ganzzahl" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Boolscher Wert (True oder False)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Zeichenkette (bis zu %(maxlength)s Zeichen)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Kommaseparierte Liste von Ganzzahlen" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Datum (ohne Uhrzeit)" + +#: contrib/admin/views/doc.py:296 +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 +msgid "Decimal number" +msgstr "Dezimalzahl" + +#: contrib/admin/views/doc.py:304 contrib/comments/models.py:85 +msgid "IP address" +msgstr "IP-Adresse" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Boolscher Wert (True, False oder None)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "Beziehung zum Eltern-Modell" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "Telefonnummer" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "Text" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "Zeit" + +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "Adresse (URL)" + +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "U.S. Bundesstaat (zwei Großbuchstaben)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "XML-Text" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s ist scheinbar kein urlpattern Objekt" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Website-Verwaltung" + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, 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 +#, python-format +msgid "Add %s" +msgstr "%s hinzufügen" + +#: contrib/admin/views/main.py:335 +#, 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 +msgid "and" +msgstr "und" + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "%s geändert." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "%s gelöscht." + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "Keine Felder geändert." + +#: contrib/admin/views/main.py:345 +#, 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 +#, 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." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "%s ändern" + +#: contrib/admin/views/main.py:476 +#, 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 +#, 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 +#, 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 +msgid "Are you sure?" +msgstr "Sind Sie ganz sicher?" + +#: contrib/admin/views/main.py:539 +#, python-format +msgid "Change history: %s" +msgstr "Änderungsgeschichte: %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s" +msgstr "%s auswählen" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s to change" +msgstr "%s zur Änderung auswählen" + +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Datenbankfehler" + +#: 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." + +#: contrib/auth/forms.py:25 +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." + +#: 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:117 +msgid "The two 'new password' fields didn't match." +msgstr "Die beiden neuen Passwörter sind nicht identisch." + +#: contrib/auth/forms.py:124 +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 +msgid "name" +msgstr "Name" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "Codename" + +#: contrib/auth/models.py:43 +msgid "permission" +msgstr "Berechtigung" + +#: contrib/auth/models.py:44 contrib/auth/models.py:59 +msgid "permissions" +msgstr "Berechtigungen" + +#: contrib/auth/models.py:62 +msgid "group" +msgstr "Gruppe" + +#: contrib/auth/models.py:63 contrib/auth/models.py:103 +msgid "groups" +msgstr "Gruppen" + +#: contrib/auth/models.py:93 +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:94 +msgid "first name" +msgstr "Vorname" + +#: contrib/auth/models.py:95 +msgid "last name" +msgstr "Nachname" + +#: contrib/auth/models.py:96 +msgid "e-mail address" +msgstr "E-Mail-Adresse" + +#: contrib/auth/models.py:97 +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:98 +msgid "staff status" +msgstr "Administrator" + +#: contrib/auth/models.py:98 +msgid "Designates whether the user can log into this admin site." +msgstr "" +"Legt fest, ob sich der Benutzer an der Administrationsseite anmelden kann." + +#: contrib/auth/models.py:99 +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:100 +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:101 +msgid "last login" +msgstr "Letzte Anmeldung" + +#: contrib/auth/models.py:102 +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:105 +msgid "user permissions" +msgstr "Berechtigungen" + +#: contrib/auth/models.py:109 +msgid "user" +msgstr "Benutzer" + +#: contrib/auth/models.py:110 +msgid "users" +msgstr "Benutzer" + +#: contrib/auth/models.py:116 +msgid "Personal info" +msgstr "Persönliche Infos" + +#: contrib/auth/models.py:117 +msgid "Permissions" +msgstr "Berechtigungen" + +#: contrib/auth/models.py:118 +msgid "Important dates" +msgstr "Wichtige Daten" + +#: contrib/auth/models.py:119 +msgid "Groups" +msgstr "Gruppen" + +#: contrib/auth/models.py:263 +msgid "message" +msgstr "Mitteilung" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Abgemeldet" #: contrib/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" -msgstr "Objekt ID" +msgstr "Objekt-ID" #: contrib/comments/models.py:68 msgid "headline" -msgstr "berschrift" +msgstr "Überschrift" #: contrib/comments/models.py:69 contrib/comments/models.py:90 #: contrib/comments/models.py:167 @@ -69,23 +1327,19 @@ msgstr "Datum/Zeit Erstellung" #: contrib/comments/models.py:84 contrib/comments/models.py:170 msgid "is public" -msgstr "ist ffentlich" - -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 -msgid "IP address" -msgstr "IP-Adresse" +msgstr "ist öffentlich" #: contrib/comments/models.py:86 msgid "is removed" -msgstr "ist gelscht" +msgstr "ist gelöscht" #: contrib/comments/models.py:86 msgid "" "Check this box if the comment is inappropriate. A \"This comment has been " "removed\" message will be displayed instead." msgstr "" -"Hier einen Haken setzen, wenn der Kommentar unpassend ist. Es wird dann eine " -"\"Dieser Kommentar wurde entfernt\" Meldung statt dessen angezeigt." +"Hier einen Haken setzen, wenn der Kommentar unpassend ist. Stattdessen wird " +"dann \"Dieser Kommentar wurde entfernt\" Meldung angezeigt." #: contrib/comments/models.py:91 msgid "comments" @@ -120,7 +1374,7 @@ msgstr "IP-Adresse" #: contrib/comments/models.py:173 msgid "approved by staff" -msgstr "Besttigt vom Betreiber" +msgstr "Bestätigt vom Betreiber" #: contrib/comments/models.py:176 msgid "free comment" @@ -181,39 +1435,63 @@ msgstr "Gekennzeichnet von %r" #: contrib/comments/models.py:278 msgid "deletion date" -msgstr "Lschdatum" +msgstr "Löschdatum" #: contrib/comments/models.py:280 msgid "moderator deletion" -msgstr "Lschung vom Moderator" +msgstr "Löschung vom Moderator" #: contrib/comments/models.py:281 msgid "moderator deletions" -msgstr "Lschungen vom Moderator" +msgstr "Löschungen vom Moderator" #: contrib/comments/models.py:285 #, python-format msgid "Moderator deletion by %r" -msgstr "Vom Moderator %r gelscht" +msgstr "Vom Moderator %r gelöscht" -#: contrib/comments/views/karma.py:19 -msgid "Anonymous users cannot vote" -msgstr "Anonyme Benutzer knnen nicht abstimmen" +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Passwort vergessen?" -#: contrib/comments/views/karma.py:23 -msgid "Invalid comment ID" -msgstr "Ungltige Kommentar-ID" +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "Bewertungen" -#: contrib/comments/views/karma.py:25 -msgid "No voting for yourself" -msgstr "Keine Abstimmung bei Dir selber" +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Erforderlich" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Optional" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Ein Bild veröffentlichen" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "Kommentar:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "Kommentarvorschau" + +#: contrib/comments/templates/comments/freeform.html:4 +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 "" -"Die Abstimmung ist zwangsweise, weil Du an mindestens einer anderen " -"Abstimmung teilnimmst." +"Diese Abstimmung ist zwingend erforderlich, da Sie an mindestens einer " +"weiteren Abstimmung teilnehmen." #: contrib/comments/views/comments.py:111 #, python-format @@ -245,7 +1523,7 @@ msgid "" "\n" "%(text)s" msgstr "" -"Dieser Kommentar ist von einem nicht einschtzbaren Benutzer:\n" +"Dieser Kommentar ist von einem nicht einschätzbaren Benutzer:\n" "\n" "%(text)s" @@ -257,7 +1535,7 @@ msgstr "Nur POST ist erlaubt" #: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" -msgstr "Eines oder mehrere der erforderlichen Felder fehlt" +msgstr "Eines oder mehrere der erforderlichen Felder fehlen" #: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 @@ -272,7 +1550,7 @@ msgid "" "invalid" msgstr "" "Das Kommentarformular hatte einen falschen 'target' Parameter -- die Objekt-" -"ID ist ungltig." +"ID ist ungültig." #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 @@ -280,919 +1558,459 @@ msgid "The comment form didn't provide either 'preview' or 'post'" msgstr "" "Das Kommentarformular wurde nicht mit 'preview' oder 'post' abgeschickt" -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" -msgstr "Benutzername:" +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "Anonyme Benutzer dürfen nicht abstimmen" -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Log out" -msgstr "Abmelden" +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "Ungültige Kommentar-ID" -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Passwort:" +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "Keine Abstimmung für dich selbst" -#: contrib/comments/templates/comments/form.html:8 -msgid "Forgotten your password?" -msgstr "Kennwort vergessen?" +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "Python Model-Klassenname" -#: contrib/comments/templates/comments/form.html:12 -msgid "Ratings" -msgstr "Bewertungen" +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "Inhaltstyp" -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Required" -msgstr "Erforderlich" +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "Inhaltstypen" -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Optional" -msgstr "Optional" - -#: contrib/comments/templates/comments/form.html:23 -msgid "Post a photo" -msgstr "Ein Bild verffentlichen" - -#: contrib/comments/templates/comments/form.html:28 -#: contrib/comments/templates/comments/freeform.html:5 -msgid "Comment:" -msgstr "Kommentar:" - -#: contrib/comments/templates/comments/form.html:35 -#: contrib/comments/templates/comments/freeform.html:10 -msgid "Preview comment" -msgstr "Kommentarvorschau" - -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "Ihr Name:" - -#: contrib/admin/filterspecs.py:40 -#, python-format +#: contrib/flatpages/models.py:8 msgid "" -"

              By %s:

              \n" -"
                \n" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." msgstr "" -"

                Nach %s:

                \n" -"
                  \n" +"Beispiel: '/about/contact/'. Wichtig: vorne und hinten muss ein / stehen." -#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 -msgid "All" -msgstr "Alle" +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "Titel" -#: contrib/admin/filterspecs.py:109 -msgid "Any date" -msgstr "Alle Daten" +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "Inhalt" -#: contrib/admin/filterspecs.py:110 -msgid "Today" -msgstr "Heute" +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "Kommentare aktivieren" -#: contrib/admin/filterspecs.py:113 -msgid "Past 7 days" -msgstr "Letzte 7 Tage" +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "Name der Vorlage" -#: contrib/admin/filterspecs.py:115 -msgid "This month" -msgstr "Diesen Monat" - -#: contrib/admin/filterspecs.py:117 -msgid "This year" -msgstr "Dieses Jahr" - -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "Ja" - -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "Nein" - -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Unbekannt" - -#: contrib/admin/models.py:16 -msgid "action time" -msgstr "Zeit der Aktion" - -#: contrib/admin/models.py:19 -msgid "object id" -msgstr "Objekt ID" - -#: contrib/admin/models.py:20 -msgid "object repr" -msgstr "Objekt Darst." - -#: contrib/admin/models.py:21 -msgid "action flag" -msgstr "Aktionskennzeichen" - -#: contrib/admin/models.py:22 -msgid "change message" -msgstr "nderungsmeldung" - -#: contrib/admin/models.py:25 -msgid "log entry" -msgstr "Logeintrag" - -#: contrib/admin/models.py:26 -msgid "log entries" -msgstr "Logeintrge" - -#: contrib/admin/templatetags/admin_list.py:230 -msgid "All dates" -msgstr "Alle Tage" - -#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:59 +#: contrib/flatpages/models.py:13 msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." msgstr "" -"Bitte einen Benutzernamen und ein Kennwort eingeben. Beide Felder " -"bercksichtigen die Gro-/Kleinschreibung." +"Beispiel: 'flatpages/contact_page.html'. Wenn dieses Feld nicht gefüllt ist, " +"wird 'flatpages/default.html' als Standard gewählt." -#: contrib/admin/views/decorators.py:24 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "Anmelden" +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "Registrierung erforderlich" -#: contrib/admin/views/decorators.py:62 -msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." msgstr "" -"Bitte neu anmelden, da die Session ausgelaufen ist. Keine Angst: die " -"Beitrge wurden gesichert." +"Wenn hier ein Haken gesetzt ist, können nur angemeldete Benutzer diese Seite " +"sehen." -#: 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." +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "Webseite" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "Webseiten" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" 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:83 -msgid "Usernames cannot contain the '@' character." -msgstr "Benutzernamen knnen das Zeichen '@' nicht enthalten." - -#: contrib/admin/views/decorators.py:85 -#, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" msgstr "" -"Die eMail-Adresse ist nicht der Benutzername. Bitte '%s' stattdessen " -"versuchen." -#: contrib/admin/views/main.py:223 -msgid "Site administration" -msgstr "Website Verwaltung" - -#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:18 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "%(name)s \"%(obj)s\" wurde erfolgreich hinzugefgt." - -#: 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 "Das Element kann jetzt weiter gendert werden." - -#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 -#, 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 -#, python-format -msgid "Add %s" -msgstr "%s zufgen" - -#: contrib/admin/views/main.py:335 -#, python-format -msgid "Added %s." -msgstr "%s hinzugefgt." - -#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 -#: contrib/admin/views/main.py:339 db/models/manipulators.py:306 -msgid "and" -msgstr "und" - -#: contrib/admin/views/main.py:337 -#, python-format -msgid "Changed %s." -msgstr "%s gendert" - -#: contrib/admin/views/main.py:339 -#, python-format -msgid "Deleted %s." -msgstr "%s gelscht." - -#: contrib/admin/views/main.py:342 -msgid "No fields changed." -msgstr "Keine Felder gendert." - -#: contrib/admin/views/main.py:345 -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "%(name)s \"%(obj)s\" wurde erfolgreich gendert." - -#: contrib/admin/views/main.py:353 -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" msgstr "" -"%(name)s \"%(obj)s\" wurde erfolgreich zugefgt. Das Element kann jetzt " -"gendert werden." -#: contrib/admin/views/main.py:391 -#, python-format -msgid "Change %s" -msgstr "%s ndern" - -#: contrib/admin/views/main.py:473 -#, 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:478 -#, 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:511 -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" wurde erfolgreich gelscht." - -#: contrib/admin/views/main.py:514 -msgid "Are you sure?" -msgstr "Sicher? Ganz sicher?" - -#: contrib/admin/views/main.py:536 -#, python-format -msgid "Change history: %s" -msgstr "nderungsgeschichte: %s" - -#: contrib/admin/views/main.py:570 -#, python-format -msgid "Select %s" -msgstr "%s auswhlen" - -#: contrib/admin/views/main.py:570 -#, python-format -msgid "Select %s to change" -msgstr "%s zur nderung auswhlen" - -#: contrib/admin/views/main.py:758 -msgid "Database error" -msgstr "Datenbankfehler" - -#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 -#: contrib/admin/views/doc.py:50 -msgid "tag:" -msgstr "Schlagwort:" - -#: 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 "Ansicht:" - -#: contrib/admin/views/doc.py:164 -#, python-format -msgid "App %r not found" -msgstr "Anwendung %r nicht gefunden" - -#: contrib/admin/views/doc.py:171 -#, python-format -msgid "Model %r not found in app %r" -msgstr "Modell %r wurde nicht in Anwendung %r gefunden" - -#: contrib/admin/views/doc.py:183 -#, python-format -msgid "the related `%s.%s` object" -msgstr "Das verknpfte `%s.%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 -msgid "model:" -msgstr "Modell:" - -#: contrib/admin/views/doc.py:214 -#, python-format -msgid "related `%s.%s` objects" -msgstr "verknpftes `%s.%s` Objekt" - -#: 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 "Anzahl von %s" - -#: contrib/admin/views/doc.py:229 -#, 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 -msgid "Integer" -msgstr "Ganzzahl" - -#: contrib/admin/views/doc.py:292 -msgid "Boolean (Either True or False)" -msgstr "Wahrheitswert (Wahr oder Falsch)" - -#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 -#, python-format -msgid "String (up to %(maxlength)s)" -msgstr "Zeichenkette (bis zu %(maxlength)s Zeichen)" - -#: contrib/admin/views/doc.py:294 -msgid "Comma-separated integers" -msgstr "Kommaseparierte Liste von Zahlen" - -#: contrib/admin/views/doc.py:295 -msgid "Date (without time)" -msgstr "Datum (ohne Zeit)" - -#: contrib/admin/views/doc.py:296 -msgid "Date (with time)" -msgstr "Datum (mit Zeit)" - -#: 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 -msgid "Decimal number" -msgstr "Dezimalzahl" - -#: contrib/admin/views/doc.py:306 -msgid "Boolean (Either True, False or None)" -msgstr "Wahrheitswert (Wahr, Falsch oder Nichts)" - -#: contrib/admin/views/doc.py:307 -msgid "Relation to parent model" -msgstr "Beziehung zum bermodell" - -#: contrib/admin/views/doc.py:308 -msgid "Phone number" -msgstr "Telefonnummer" - -#: contrib/admin/views/doc.py:313 -msgid "Text" -msgstr "Text" - -#: contrib/admin/views/doc.py:314 -msgid "Time" -msgstr "Zeit" - -#: 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 "U.S. Bundesstaat (zwei Grossbuchstaben)" - -#: contrib/admin/views/doc.py:317 -msgid "XML text" -msgstr "XML Text" - -#: contrib/admin/views/doc.py:343 -#, python-format -msgid "%s does not appear to be a urlpattern object" -msgstr "%s ist scheinbar kein urlpattern Objekt" - -#: contrib/admin/views/auth.py:29 -msgid "Add user" -msgstr "Benutzer zufgen" - -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Documentation" -msgstr "Dokumentation" - -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Change password" -msgstr "Passwort ndern" - -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/base.html:30 -#: contrib/admin/templates/admin/delete_confirmation.html:6 -#: contrib/admin/templates/admin/change_form.html:13 -#: contrib/admin/templates/admin/invalid_setup.html:4 -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/logged_out.html:4 -#: contrib/admin/templates/registration/password_reset_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Home" -msgstr "Start" - -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 -msgid "History" -msgstr "Geschichte" - -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "Datum/Zeit" - -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "Benutzer" - -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "Aktion" - -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" -msgstr "j. N Y, H:i" - -#: contrib/admin/templates/admin/object_history.html:36 -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" msgstr "" -"Dieses Objekt hat keine nderungsgeschichte. Es wurde mglicherweise nicht " -"ber diese Verwaltungsseiten angelegt." -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Django Systemverwaltung" - -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Django Verwaltung" - -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "Serverfehler" - -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "Serverfehler (500)" - -#: 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 "" -"Es hat einen Fehler gegeben. Dieser Fehler wurde an die Serververwalter per " -"eMail weitergegeben und sollte bald behoben sein. Vielen Dank fr Ihr " -"Verstndnis." - -#: 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 -msgid "We're sorry, but the requested page could not be found." -msgstr "" -"Es tut uns leid, aber die angeforderte Seite kann nicht gefunden werden." - -#: contrib/admin/templates/admin/index.html:17 +#: contrib/humanize/templatetags/humanize.py:47 #, 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 -msgid "%(name)s" -msgstr "%(name)s" - -#: contrib/admin/templates/admin/index.html:28 -#: contrib/admin/templates/admin/change_form.html:15 -msgid "Add" -msgstr "Zufgen" - -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "ndern" - -#: 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 -msgid "Recent Actions" -msgstr "Krzliche Aktionen" - -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "Meine Aktionen" - -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "Keine vorhanden" - -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s zufgen" - -#: contrib/admin/templates/admin/base.html:25 -msgid "Welcome," -msgstr "Willkommen," - -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "Lschen" - -#: 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 Lschung des %(object_name)s '%(escaped_object)s' htte die Lschung von " -"abhngigen Daten zur Folge, aber Sie haben nicht die ntigen Rechte um die " -"folgenden abhngigen Daten zu lschen:" - -#: 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\" lschen " -"wollen? Es werden zustzlich die folgenden abhngigen Daten mit gelscht:" - -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "Ja, ich bin sicher" - -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(filter_title)s " -msgstr " Nach %(filter_title)s " - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Los" - -#: contrib/admin/templates/admin/search_form.html:10 -#, python-format -msgid "1 result" -msgid_plural "%(counter)s results" +msgid "%(value).1f million" +msgid_plural "%(value).1f million" msgstr[0] "" msgstr[1] "" -#: contrib/admin/templates/admin/search_form.html:10 +#: contrib/humanize/templatetags/humanize.py:50 #, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s gesamt" +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "" +msgstr[1] "" -#: contrib/admin/templates/admin/pagination.html:10 -msgid "Show all" -msgstr "Zeige alle" - -#: contrib/admin/templates/admin/filters.html:4 -msgid "Filter" -msgstr "Filter" - -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "Im Web Anzeigen" - -#: contrib/admin/templates/admin/change_form.html:30 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Bitte den Fehler korrigieren." -msgstr[1] "Bitte die Fehler korrigieren." - -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Sortierung" - -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Reihenfolge:" - -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "Als Neu sichern" - -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "Sichern und neu hinzufgen" - -#: 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 -msgid "Save" -msgstr "Sichern" - -#: 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 "" -"Irgendetwas ist falsch mit der Datenbankkonfiguration. Bitte sicherstellen, " -"das die richtigen Datenbanktabellen angelegt wurden und bitte sicherstellen, " -"das die Datenbank vom verwendeten Datenbankbenutzer auch lesbar ist." - -#: 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 knnen weitere " -"Optionen fr den Benutzer gendert werden." - -#: contrib/admin/templates/admin/auth/user/add_form.html:12 -msgid "Username" -msgstr "Benutzername" - -#: contrib/admin/templates/admin/auth/user/add_form.html:18 -msgid "Password" -msgstr "Passwort" - -#: contrib/admin/templates/admin/auth/user/add_form.html:23 -msgid "Password (again)" -msgstr "Kennwort (wiederholen)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:24 -msgid "Enter the same password as above, for verification." -msgstr "Bitte das gleiche Passwort zur Prfung nochmal eingeben." - -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_form.html:6 -#: contrib/admin/templates/registration/password_change_form.html:10 -msgid "Password change" -msgstr "Kennwort ndern" - -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" -msgstr "Kennwortnderung erfolgreich" - -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "Ihr Kennwort wurde gendert." - -#: 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 "Kennwort zurcksetzen" - -#: 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 auf ein neues und senden das per E-Mail zu." - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "E-Mail-Adresse:" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "Mein Kennwort zurcksetzen" - -#: contrib/admin/templates/registration/logged_out.html:8 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Vielen Dank, da Sie hier ein paar nette Minuten verbracht haben." - -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "Erneut Anmelden" - -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "Erfolgreich Kennwort zurckgesetzt" - -#: 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 Ihnen ein neues Kennwort per eMail zugeschickt an die Adresse, die " -"Sie uns gegeben haben. Es sollte in Krze ankommen." - -#: 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 Sicherheitsgrnden erst Ihr altes Kennwort 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 -msgid "Old password:" -msgstr "altes Kennwort:" - -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "neues Kennwort:" - -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "Kennwortwiederholung:" - -#: contrib/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "Mein Kennwort ndern" - -#: contrib/admin/templates/registration/password_reset_email.html:2 -msgid "You're receiving this e-mail because you requested a password reset" -msgstr "Sie erhalten diese Mail, weil Sie ein neues Kennwort" - -#: contrib/admin/templates/registration/password_reset_email.html:3 +#: contrib/humanize/templatetags/humanize.py:53 #, python-format -msgid "for your user account at %(site_name)s" -msgstr "fr Ihren Benutzer bei %(site_name)s angefordert haben." +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "" +msgstr[1] "" -#: contrib/admin/templates/registration/password_reset_email.html:5 -#, python-format -msgid "Your new password is: %(new_password)s" -msgstr "Ihr neues Kennwort ist: %(new_password)s" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "ein" -#: contrib/admin/templates/registration/password_reset_email.html:7 -msgid "Feel free to change this password by going to this page:" -msgstr "Sie knnen das Kennwort auf folgender Seite ndern:" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "zwei" -#: contrib/admin/templates/registration/password_reset_email.html:11 -msgid "Your username, in case you've forgotten:" -msgstr "Ihr Benutzername, falls Sie ihn vergessen haben:" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "drei" -#: contrib/admin/templates/registration/password_reset_email.html:13 -msgid "Thanks for using our site!" -msgstr "Vielen Dank, dass Sie unsere Seiten benutzen!" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "vier" -#: contrib/admin/templates/registration/password_reset_email.html:15 -#, python-format -msgid "The %(site_name)s team" -msgstr "Das Team von %(site_name)s" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "fünf" -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "Bookmarklets" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "sechs" -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "Dokumentations-Bookmarklets" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "sieben" -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "acht" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "neun" + +#: contrib/localflavor/au/forms.py:18 +msgid "Enter a 4 digit post code." +msgstr "Bitte eine gültige vierstellige Postleitzahl eingeben." + +#: contrib/localflavor/br/forms.py:18 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Bitte eine gültige Postleitzahl im Format XXXXX-XXX eingeben." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Telefonnummern müssen das Format XXX-XXX-XXXX haben." + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "Baden-Württemberg" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "Bayern" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "Berlin" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "Brandenburg" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "Bremen" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "Hamburg" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "Hessen" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "Mecklenburg-Vorpommern" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "Niedersachsen" + +#: contrib/localflavor/de/de_states.py:14 +msgid "North Rhine-Westphalia" +msgstr "Nordrhein-Westfalen" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "Rheinland-Pfalz" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "Saarland" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "Sachsen" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "Sachsen-Anhalt" + +#: contrib/localflavor/de/de_states.py:19 +msgid "Schleswig-Holstein" +msgstr "Schleswig-Holstein" + +#: contrib/localflavor/de/de_states.py:20 +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 +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 "" -"\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" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." msgstr "" -"\n" -"

                  Um Bookmarklets zu installieren mssen diese Links in die\n" -"Browser-Werkzeugleiste gehzogen werden, oder mittels rechter Maustaste in " -"die\n" -"Bookmarks gespeichert werden. Danach knnen die Bookmarklets von jeder " -"Seite\n" -"aufgerufen werden. Einige Bookmarklets sind fr den Zugriff von 'internen'\n" -"Rechnern eingeschrnkt. Falls nicht klar ist, ob ein Rechner als 'intern'\n" -"bewertet wird, bitte den Administrator fragen.

                  \n" +"Bitte eine gültige deutsche Personalausweisnummer im Format " +"XXXXXXXXXXX-XXXXXXX-XXXXXXX-X eingeben." -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "Dokumentation fr diese Seite" +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +msgid "Enter a valid Finnish social security number." +msgstr "Bitte eine gültige finnische Sozialversicherungsnummer eingeben." -#: contrib/admin/templates/admin_doc/bookmarklets.html:20 -msgid "" -"Jumps you from any page to the documentation for the view that generates " -"that page." +#: contrib/localflavor/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." msgstr "" -"Springt von jeder Seite zu der Dokumentation fr den View der diese Seite " -"erzeugt." +"Bitte eine gültige Postleitzahl im Format XXXXXXX oder XXX-XXXX " +"eingeben." -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -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." +#: contrib/localflavor/jp/jp_prefectures.py:4 +msgid "Hokkaido" msgstr "" -"Zeigt den Content-Type und die eindeutige ID fr Seiten die ein einzelnes " -"Objekt reprsentieren." -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "Dieses Objekt im aktuellen Fenster ndern." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 -msgid "Jumps to the admin page for pages that represent a single object." +#: contrib/localflavor/jp/jp_prefectures.py:5 +msgid "Aomori" msgstr "" -"Springt zu der Administrationsseite fr dieses Objekt, wenn diese Seite ein " -"Objekt reprsentiert." -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "Dieses Objekt in einem neuen Fenster ndern." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 -msgid "As above, but opens the admin page in a new window." +#: contrib/localflavor/jp/jp_prefectures.py:6 +msgid "Iwate" msgstr "" -"Wie zuvor, aber ffnent die Administrationsseite in einem neuen Fenster." -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Datum:" +#: contrib/localflavor/jp/jp_prefectures.py:7 +msgid "Miyagi" +msgstr "" -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Zeit:" +#: contrib/localflavor/jp/jp_prefectures.py:8 +msgid "Akita" +msgstr "" -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Derzeit:" +#: contrib/localflavor/jp/jp_prefectures.py:9 +msgid "Yamagata" +msgstr "" -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "ndern:" +#: 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 "Zeit" + +#: 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/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/no/forms.py:36 +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/us/forms.py:18 +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 +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/redirects/models.py:7 msgid "redirect from" @@ -1226,259 +2044,23 @@ msgstr "Umleitung" msgid "redirects" msgstr "Umleitungen" -#: 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." - -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "Titel" - -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "Inhalt" - -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "Kommentare aktivieren" - -#: contrib/flatpages/models.py:12 -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 gefllt ist, " -"wird 'flatpages/default.html' als Standard gewhlt." - -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "Registrierung erforderlich" - -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "" -"Wenn hier ein Haken ist, knnen nur angemeldete Benutzer diese Seite sehen." - -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "Webseite" - -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "Webseiten" - -#: contrib/auth/views.py:39 -msgid "Logged out" -msgstr "Abgemeldet" - -#: contrib/auth/models.py:38 contrib/auth/models.py:57 -msgid "name" -msgstr "Name" - -#: contrib/auth/models.py:40 -msgid "codename" -msgstr "Codename" - -#: contrib/auth/models.py:42 -msgid "permission" -msgstr "Berechtigung" - -#: contrib/auth/models.py:43 contrib/auth/models.py:58 -msgid "permissions" -msgstr "Berechtigungen" - -#: contrib/auth/models.py:60 -msgid "group" -msgstr "Gruppe" - -#: contrib/auth/models.py:61 contrib/auth/models.py:100 -msgid "groups" -msgstr "Gruppen" - -#: contrib/auth/models.py:90 -msgid "username" -msgstr "Benutzername" - -#: contrib/auth/models.py:90 -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:91 -msgid "first name" -msgstr "Vorname" - -#: contrib/auth/models.py:92 -msgid "last name" -msgstr "Nachname" - -#: contrib/auth/models.py:93 -msgid "e-mail address" -msgstr "eMail-Adresse" - -#: contrib/auth/models.py:94 -msgid "password" -msgstr "Kennwort" - -#: contrib/auth/models.py:94 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Im Format '[algo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:95 -msgid "staff status" -msgstr "Administrator" - -#: contrib/auth/models.py:95 -msgid "Designates whether the user can log into this admin site." -msgstr "" -"Gibt an, ob der Benutzer sich an der Administrationsseite anmelden kann." - -#: contrib/auth/models.py:96 -msgid "active" -msgstr "Aktiv" - -#: contrib/auth/models.py:96 -msgid "" -"Designates whether this user can log into the Django admin. Unselect this " -"instead of deleting accounts." -msgstr "" -"Gibt an, ob der Benutzer sich an der Administrationsseite anmelden kann. " -"Anstelle Benutzer zu lschen, kann das hier auch einfach abgeschaltet werden." - -#: contrib/auth/models.py:97 -msgid "superuser status" -msgstr "Hauptadmin." - -#: contrib/auth/models.py:97 -msgid "" -"Designates that this user has all permissions without explicitly assigning " -"them." -msgstr "" -"Bestimmt, dass dieser Benutzer alle Berechtigungen hat, ohne diese einzeln " -"zuweisen zu mssen." - -#: contrib/auth/models.py:98 -msgid "last login" -msgstr "letzte Anmeldung" - -#: contrib/auth/models.py:99 -msgid "date joined" -msgstr "Mitglied seit" - -#: 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 "" -"Zustzlich zu den manuell angelegten Rechten erhlt dieser Benutzer auch " -"alle Rechte, die seine zugewiesenen Gruppen haben." - -#: contrib/auth/models.py:102 -msgid "user permissions" -msgstr "Berechtigungen" - -#: contrib/auth/models.py:105 -msgid "user" -msgstr "Benutzer" - -#: contrib/auth/models.py:106 -msgid "users" -msgstr "Benutzer" - -#: contrib/auth/models.py:111 -msgid "Personal info" -msgstr "Persnliche Infos" - -#: contrib/auth/models.py:112 -msgid "Permissions" -msgstr "Berechtigungen" - -#: contrib/auth/models.py:113 -msgid "Important dates" -msgstr "Wichtige Daten" - -#: contrib/auth/models.py:114 -msgid "Groups" -msgstr "Gruppen" - -#: contrib/auth/models.py:258 -msgid "message" -msgstr "Mitteilung" - -#: contrib/auth/forms.py:16 -msgid "The two password fields didn't match." -msgstr "Die zwei Passwrter sind nicht gleich." - -#: contrib/auth/forms.py:24 -msgid "A user with that username already exists." -msgstr "Ein Benutzer mit diesem Namen existiert bereits." - -#: contrib/auth/forms.py:52 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" -"Der Webbrowser scheint keine Cookies aktiviert zu haben. Cookies sind fr " -"die Anmeldung zwingend notwendig." - -#: contrib/auth/forms.py:61 -msgid "This account is inactive." -msgstr "Dieser Benutzer ist inaktiv." - -#: contrib/auth/forms.py:84 -msgid "" -"That e-mail address doesn't have an associated user account. Are you sure " -"you've registered?" -msgstr "" -"Die Email-Adresse hat keinen Benutzer zugeordnet. Sicher, dass die Adresse " -"hier angemeldet ist?" - -#: contrib/auth/forms.py:116 -msgid "The two 'new password' fields didn't match." -msgstr "Die zwei Passwrter sind nicht gleich." - -#: contrib/auth/forms.py:123 -msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "Das alte Passwort war falsch. Bitte neu eingeben." - -#: contrib/contenttypes/models.py:20 -msgid "python model class name" -msgstr "Python Model-Klassenname" - -#: contrib/contenttypes/models.py:23 -msgid "content type" -msgstr "Inhaltstyp" - -#: contrib/contenttypes/models.py:24 -msgid "content types" -msgstr "Inhaltstypen" - -#: contrib/sessions/models.py:51 +#: contrib/sessions/models.py:68 msgid "session key" msgstr "Sitzungs-ID" -#: contrib/sessions/models.py:52 +#: contrib/sessions/models.py:69 msgid "session data" msgstr "Sitzungsdaten" -#: contrib/sessions/models.py:53 +#: contrib/sessions/models.py:70 msgid "expire date" msgstr "Verfallsdatum" -#: contrib/sessions/models.py:57 +#: contrib/sessions/models.py:74 msgid "session" msgstr "Sitzung" -#: contrib/sessions/models.py:58 +#: contrib/sessions/models.py:75 msgid "sessions" msgstr "Sitzungen" @@ -1498,6 +2080,512 @@ msgstr "Website" msgid "sites" msgstr "Websites" +#: core/validators.py:64 +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 "Uppercase letters are not allowed here." +msgstr "Großbuchstaben sind hier nicht erlaubt." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Kleinbuchstaben sind hier nicht erlaubt." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Hier sind nur durch Komma getrennte Ziffern erlaubt." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Bitte mit Komma getrennte, gültige E-Mail-Adressen eingeben." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Bitte eine gültige IP-Adresse eingeben." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "Dieses Feld darf nicht leer sein." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Nichtnumerische Zeichen sind hier nicht erlaubt." + +#: core/validators.py:115 +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 +msgid "Enter a whole number." +msgstr "Bitte eine ganze Zahl eingeben." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Nur alphabetische Zeichen sind hier erlaubt." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "Das Jahr muss 1900 oder später sein." + +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s" +msgstr "Ungültiges Datum: %s" + +#: core/validators.py:148 db/models/fields/__init__.py:457 +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 +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 +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." + +#: core/validators.py:162 newforms/fields.py:271 +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 +msgid "No file was submitted. Check the encoding type on the form." +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:185 +#, 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 +#, 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." + +#: core/validators.py:197 +#, 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 +msgid "A valid URL is required." +msgstr "Eine gültige URL wird hier verlangt." + +#: core/validators.py:215 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Bitte gültiges HTML eingeben. Fehler sind:\n" +"%s" + +#: core/validators.py:222 +#, python-format +msgid "Badly formed XML: %s" +msgstr "Ungültiges XML: %s" + +#: core/validators.py:239 +#, python-format +msgid "Invalid URL: %s" +msgstr "Ungültige URL: %s" + +#: core/validators.py:244 core/validators.py:246 +#, python-format +msgid "The URL %s is a broken link." +msgstr "Die URL %s funktioniert nicht." + +#: core/validators.py:252 +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 +#, 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 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Dieses Feld muss zum Feld '%s' passen." + +#: core/validators.py:292 +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 +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 +#, 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." + +#: core/validators.py:333 +#, 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." + +#: core/validators.py:352 +msgid "Duplicate values are not allowed." +msgstr "Doppelte Werte sind hier nicht erlaubt." + +#: core/validators.py:367 +#, 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 +#, python-format +msgid "This value must be at least %s." +msgstr "Dieser Wert muss mindestens %s sein." + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "Dieser Wert darf maximal %s sein." + +#: core/validators.py:407 +#, python-format +msgid "This value must be a power of %s." +msgstr "Dieser Wert muss eine Potenz von %s sein." + +#: core/validators.py:418 +msgid "Please enter a valid decimal number." +msgstr "Bitte eine gültige Dezimalzahl eingeben." + +#: core/validators.py:422 +#, 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] "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 +#, 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." + +#: core/validators.py:428 +#, 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." + +#: core/validators.py:438 +#, 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." + +#: core/validators.py:439 +#, 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." + +#: core/validators.py:456 +msgid "The format for this field is wrong." +msgstr "Das Format für dieses Feld ist falsch." + +#: core/validators.py:471 +msgid "This field is invalid." +msgstr "Dieses Feld ist ungültig." + +#: core/validators.py:507 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Konnte nichts von %s empfangen." + +#: core/validators.py:510 +#, python-format +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 +#, 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\"." + +#: core/validators.py:547 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"In Zeile %(line)s ist Text, der nicht in dem Kontext erlaubt ist. Die Zeile " +"beginnt mit \"%(start)s\"." + +#: core/validators.py:552 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"Das Attribute %(attr)s in Zeile %(line)s ist ungültig. Die Zeile beginnt mit " +"\"%(start)s\"." + +#: core/validators.py:557 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"<%(tag)s> in Zeile %(line)s ist ungültig. Die Zeile beginnt mit \"%(start)s" +"\"." + +#: core/validators.py:561 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Ein Tag in Zeile %(line)s hat eines oder mehrere Pflichtattribute nicht. Die " +"Zeile beginnt mit \"%(start)s\"." + +#: core/validators.py:566 +#, 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\"." + +#: db/models/manipulators.py:307 +#, 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'." + +#: db/models/fields/__init__.py:42 +#, 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 +msgid "This field is required." +msgstr "Dieses Feld ist zwingend erforderlich." + +#: db/models/fields/__init__.py:367 +msgid "This value must be an integer." +msgstr "Dieser Wert muss eine Ganzzahl sein." + +#: db/models/fields/__init__.py:402 +msgid "This value must be either True or False." +msgstr "Dieser Wert muss wahr oder falsch sein." + +#: db/models/fields/__init__.py:423 +msgid "This field cannot be null." +msgstr "Dieses Feld darf nicht leer sein." + +#: db/models/fields/__init__.py:630 +msgid "Enter a valid filename." +msgstr "Bitte einen gültigen Dateinamen eingeben." + +#: db/models/fields/__init__.py:751 +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 +#, python-format +msgid "Please enter a valid %s." +msgstr "Bitte ein gültiges '%s' eingeben." + +#: db/models/fields/related.py:642 +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:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +"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 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Bitte sicherstellen, dass der Text maximal %d Zeichen hat." + +#: newforms/fields.py:105 newforms/fields.py:258 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Bitte sicherstellen, dass der Text wenigstens %d Zeichen hat." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Dieser Wert darf maximal %s sein." + +#: newforms/fields.py:132 +#, 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 +msgid "Enter a valid date." +msgstr "Bitte ein gültiges Datum eingeben." + +#: newforms/fields.py:192 +msgid "Enter a valid time." +msgstr "Bitte eine gültige Uhrzeit eingeben." + +#: newforms/fields.py:228 +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:289 newforms/fields.py:311 +msgid "Enter a valid URL." +msgstr "Bitte eine gültige Adresse eingeben." + +#: newforms/fields.py:313 +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 +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 +msgid "Enter a list of values." +msgstr "Eine Liste mit Werten eingeben." + +#: newforms/fields.py:389 newforms/models.py:188 +#, 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 +#, 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 +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 +#, 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." + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "Die ausgewählte Datei ist leer." + +#: oldforms/__init__.py:730 +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 +msgid "Enter a positive number." +msgstr "Bitte eine ganze, positive Zahl eingeben." + +#: oldforms/__init__.py:750 +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 +msgid "yes,no,maybe" +msgstr "Ja,Nein,Vielleicht" + +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "nachm." + +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "vorm." + +#: utils/dateformat.py:46 +msgid "PM" +msgstr "nachm." + +#: utils/dateformat.py:47 +msgid "AM" +msgstr "vorm." + +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "Mitternacht" + +#: utils/dateformat.py:97 +msgid "noon" +msgstr "Mittag" + #: utils/dates.py:6 msgid "Monday" msgstr "Montag" @@ -1536,7 +2624,7 @@ msgstr "Februar" #: utils/dates.py:14 utils/dates.py:27 msgid "March" -msgstr "Mrz" +msgstr "März" #: utils/dates.py:14 utils/dates.py:27 msgid "April" @@ -1584,7 +2672,7 @@ msgstr "Feb" #: utils/dates.py:19 msgid "mar" -msgstr "Mr" +msgstr "Mär" #: utils/dates.py:19 msgid "apr" @@ -1686,474 +2774,26 @@ msgid_plural "minutes" msgstr[0] "Minute" msgstr[1] "Minuten" -#: utils/translation/trans_real.py:362 +#: utils/translation/trans_real.py:358 msgid "DATE_FORMAT" msgstr "j. N Y" -#: utils/translation/trans_real.py:363 +#: utils/translation/trans_real.py:359 msgid "DATETIME_FORMAT" msgstr "j. N Y, H:i" -#: utils/translation/trans_real.py:364 +#: utils/translation/trans_real.py:360 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:380 +#: utils/translation/trans_real.py:376 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:381 +#: utils/translation/trans_real.py:377 msgid "MONTH_DAY_FORMAT" msgstr "j. F" -#: conf/global_settings.py:39 -msgid "Arabic" -msgstr "Arabisch" - -#: conf/global_settings.py:40 -msgid "Bengali" -msgstr "Bengali" - -#: conf/global_settings.py:41 -msgid "Czech" -msgstr "Tschechisch" - -#: conf/global_settings.py:42 -msgid "Welsh" -msgstr "Walisisch" - -#: conf/global_settings.py:43 -msgid "Danish" -msgstr "Dnisch" - -#: conf/global_settings.py:44 -msgid "German" -msgstr "Deutsch" - -#: conf/global_settings.py:45 -msgid "Greek" -msgstr "Griechisch" - -#: conf/global_settings.py:46 -msgid "English" -msgstr "Englisch" - -#: conf/global_settings.py:47 -msgid "Spanish" -msgstr "Spanisch" - -#: conf/global_settings.py:48 -msgid "Argentinean Spanish" -msgstr "Argentinisches Spanisch" - -#: conf/global_settings.py:49 -msgid "Finnish" -msgstr "Finnisch" - -#: conf/global_settings.py:50 -msgid "French" -msgstr "Franzsisch" - -#: conf/global_settings.py:51 -msgid "Galician" -msgstr "Galicisch" - -#: conf/global_settings.py:52 -msgid "Hungarian" -msgstr "Ungarisch" - -#: conf/global_settings.py:53 -msgid "Hebrew" -msgstr "Hebrisch" - -#: conf/global_settings.py:54 -msgid "Icelandic" -msgstr "Islndisch" - -#: conf/global_settings.py:55 -msgid "Italian" -msgstr "Italienisch" - -#: conf/global_settings.py:56 -msgid "Japanese" -msgstr "Japanisch" - -#: conf/global_settings.py:57 -msgid "Dutch" -msgstr "Hollndisch" - -#: conf/global_settings.py:58 -msgid "Norwegian" -msgstr "Norwegisch" - -#: conf/global_settings.py:59 -msgid "Polish" -msgstr "Polnisch" - -#: conf/global_settings.py:60 -msgid "Brazilian" -msgstr "Brasilianisch" - -#: conf/global_settings.py:61 -msgid "Romanian" -msgstr "Rumnisch" - -#: conf/global_settings.py:62 -msgid "Russian" -msgstr "Russisch" - -#: conf/global_settings.py:63 -msgid "Slovak" -msgstr "Slowakisch" - -#: conf/global_settings.py:64 -msgid "Slovenian" -msgstr "Slowenisch" - -#: conf/global_settings.py:65 -msgid "Serbian" -msgstr "Serbisch" - -#: conf/global_settings.py:66 -msgid "Swedish" -msgstr "Schwedisch" - -#: conf/global_settings.py:67 -msgid "Tamil" -msgstr "Tamilisch" - -#: conf/global_settings.py:68 -msgid "Turkish" -msgstr "Trkisch" - -#: conf/global_settings.py:69 -msgid "Ukrainian" -msgstr "Ukrainisch" - -#: conf/global_settings.py:70 -msgid "Simplified Chinese" -msgstr "Vereinfachtes Chinesisch" - -#: conf/global_settings.py:71 -msgid "Traditional Chinese" -msgstr "Traditionelles Chinesisch" - -#: core/validators.py:64 -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 Schrgstriche " -"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 "Uppercase letters are not allowed here." -msgstr "Grobuchstaben sind hier nicht erlaubt." - -#: core/validators.py:80 -msgid "Lowercase letters are not allowed here." -msgstr "Kleinbuchstaben sind hier nicht erlaubt." - -#: core/validators.py:87 -msgid "Enter only digits separated by commas." -msgstr "Hier sind nur durch Komma getrennte Ziffern erlaubt." - -#: core/validators.py:99 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Bitte mit Komma getrennte, gltige eMail-Adressen eingeben." - -#: core/validators.py:103 -msgid "Please enter a valid IP address." -msgstr "Bitte eine gltige IP-Adresse eingeben." - -#: core/validators.py:107 -msgid "Empty values are not allowed here." -msgstr "Dieses Feld darf nicht leer sein." - -#: core/validators.py:111 -msgid "Non-numeric characters aren't allowed here." -msgstr "Nichtnumerische Zeichen sind hier nicht erlaubt." - -#: core/validators.py:115 -msgid "This value can't be comprised solely of digits." -msgstr "Dieser Wert darf nicht nur aus Ziffern bestehen." - -#: core/validators.py:120 -msgid "Enter a whole number." -msgstr "Bitte eine ganze Zahl eingeben." - -#: core/validators.py:124 -msgid "Only alphabetical characters are allowed here." -msgstr "Nur alphabetische Zeichen sind hier erlaubt." - -#: core/validators.py:139 -msgid "Year must be 1900 or later." -msgstr "Das Jahr muss 1900 oder spter sein." - -#: core/validators.py:143 -#, python-format -msgid "Invalid date: %s." -msgstr "Ungltiges Datum: %s" - -#: core/validators.py:147 db/models/fields/__init__.py:424 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Bitte ein gltiges Datum im Format JJJJ-MM-TT eingeben." - -#: core/validators.py:152 -msgid "Enter a valid time in HH:MM format." -msgstr "Bitte eine gltige Zeit im Format SS:MM eingeben." - -#: core/validators.py:156 db/models/fields/__init__.py:488 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "" -"Bitte eine gltige Datums- und Zeitangabe im Format JJJJ-MM-TT SS:MM " -"eingeben." - -#: core/validators.py:161 -msgid "Enter a valid e-mail address." -msgstr "Bitte eine gltige eMail-Adresse eingeben" - -#: 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 "" -"Es wurde keine Datei geschickt. Eventuell ist das Formular-Encoding falsch." - -#: core/validators.py:177 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Bitte ein Bild hochladen. Die Datei, die hochgeladen wurde, ist kein Bild " -"oder ist defekt." - -#: core/validators.py:184 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "Die URL %s zeigt nicht auf ein gltiges Bild." - -#: core/validators.py:188 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" -"Telefonnummern mssen im Format XXX-XXX-XXXX sein. \"%s\" ist ungltig." - -#: core/validators.py:196 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "Die URL %s zeigt nicht auf ein gltiges QuickTime video." - -#: core/validators.py:200 -msgid "A valid URL is required." -msgstr "Eine gltige URL ist hier verlangt." - -#: core/validators.py:214 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" -"Bitte gltiges HTML eingeben. Fehler sind:\n" -"%s" - -#: core/validators.py:221 -#, python-format -msgid "Badly formed XML: %s" -msgstr "Ungltiges XML: %s" - -#: core/validators.py:238 -#, python-format -msgid "Invalid URL: %s" -msgstr "Ungltige URL: %s" - -#: core/validators.py:243 core/validators.py:245 -#, python-format -msgid "The URL %s is a broken link." -msgstr "Die URL %s funktioniert nicht." - -#: core/validators.py:251 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Bitte eine gltige Abkrzung fr einen US-Staat eingeben." - -#: 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] "Keine Schimpfworte! Das Wort %s ist hier nicht gern gesehen!" -msgstr[1] "Keine Schimpfworte! Die Wrter %s sind hier nicht gern gesehen!" - -#: core/validators.py:272 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Dieses Feld muss zum Feld '%s' passen." - -#: core/validators.py:291 -msgid "Please enter something for at least one field." -msgstr "Bitte mindestens eines der Felder ausfllen." - -#: core/validators.py:300 core/validators.py:311 -msgid "Please enter both fields or leave them both empty." -msgstr "Bitte entweder beide Felder ausfllen, oder beide leer lassen." - -#: core/validators.py:318 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "" -"Dieses Feld muss gefllt sein, wenn Feld %(field)s den Wert %(value)s hat." - -#: core/validators.py:330 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "" -"Dieses Feld muss gefllt sein, wenn Feld %(field)s nicht %(value)s ist." - -#: core/validators.py:349 -msgid "Duplicate values are not allowed." -msgstr "Doppelte Werte sind hier nicht erlaubt." - -#: core/validators.py:364 -msgid "This value must be between %s and %s." -msgstr "Dieser Wert muss zwischen %s und %s sein." - -#: core/validators.py:366 -msgid "This value must be at least %s." -msgstr "Dieser Wert muss mindestens %s sein." - -#: core/validators.py:368 -msgid "This value must be no more than %s." -msgstr "Dieser Wert darf maximal %s sein." - -#: core/validators.py:404 -#, python-format -msgid "This value must be a power of %s." -msgstr "Dieser Wert muss eine Potenz von %s sein." - -#: core/validators.py:415 -msgid "Please enter a valid decimal number." -msgstr "Bitte eine gltige Dezimalzahl eingeben." - -#: 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] "Bitte eine gltige Dezimalzahl mit maximal %s Ziffer eingeben." -msgstr[1] "Bitte eine gltige Dezimalzahl mit maximal %s Ziffern eingeben." - -#: 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] "Bitte eine gltige Dezimalzahl mit maximal %s Ziffer eingeben." -msgstr[1] "Bitte eine gltige Dezimalzahl mit maximal %s Ziffern eingeben." - -#: core/validators.py:425 -#, python-format -msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "" -"Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "" -"Bitte eine gltige Dezimalzahl mit maximal %s Dezimalstelle eingeben." -msgstr[1] "" -"Bitte eine gltige Dezimalzahl mit maximal %s Dezimalstellen eingeben." - -#: core/validators.py:435 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "" -"Bitte sicherstellen, da die hochgeladene Datei mindestens %s Bytes gross " -"ist." - -#: core/validators.py:436 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "" -"Bitte sicherstellen, da die hochgeladene Datei maximal %s Bytes gross ist." - -#: core/validators.py:453 -msgid "The format for this field is wrong." -msgstr "Das Format fr dieses Feld ist falsch." - -#: core/validators.py:468 -msgid "This field is invalid." -msgstr "Dieses Feld ist ungltig." - -#: core/validators.py:504 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Konnte nichts von %s empfangen." - -#: core/validators.py:507 -#, python-format -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:540 -#, 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 schlieen. Die Zeile " -"beginnt mit \"%(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 "" -"In Zeile %(line)s ist Text, der nicht in dem Kontext erlaubt ist. Die Zeile " -"beginnt mit \"%(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 "" -"Das Attribute %(attr)s in Zeile %(line)s ist ungltig. Die Zeile beginnt mit " -"\"%(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> in Zeile %(line)s ist ungltig. Die Zeile beginnt mit \"%(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 "" -"Ein Tag in Zeile %(line)s hat eines oder mehrere Pflichtattribute nicht. Die " -"Zeile beginnt mit \"%(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 "" -"Das Attribut %(attr)s in Zeile %(line)s hat einen ungltigen Wert. Die Zeile " -"beginnt mit \"%(start)s\"." - #: views/generic/create_update.py:43 #, python-format msgid "The %(verbose_name)s was created successfully." @@ -2167,101 +2807,4 @@ msgstr "%(verbose_name)s wurde erfolgreich aktualisiert." #: views/generic/create_update.py:184 #, python-format msgid "The %(verbose_name)s was deleted." -msgstr "%(verbose_name)s wurde gelscht" - -#: db/models/manipulators.py:305 -#, 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 fr dieses '%(field)" -"s'." - -#: db/models/fields/__init__.py:41 -#, 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:115 db/models/fields/__init__.py:266 -#: db/models/fields/__init__.py:569 db/models/fields/__init__.py:580 -#: forms/__init__.py:352 -msgid "This field is required." -msgstr "Dieses Feld ist zwingend." - -#: db/models/fields/__init__.py:349 -msgid "This value must be an integer." -msgstr "Dieser Wert muss eine Ganzzahl sein." - -#: db/models/fields/__init__.py:381 -msgid "This value must be either True or False." -msgstr "Dieser Wert muss wahr oder falsch sein." - -#: db/models/fields/__init__.py:397 -msgid "This field cannot be null." -msgstr "Dieses Feld darf nicht leer sein." - -#: db/models/fields/__init__.py:589 -msgid "Enter a valid filename." -msgstr "Bitte einen gltigen Dateinamen eingeben" - -#: db/models/fields/related.py:51 -#, python-format -msgid "Please enter a valid %s." -msgstr "Bitte ein gltiges '%s' eingeben." - -#: db/models/fields/related.py:618 -msgid "Separate multiple IDs with commas." -msgstr "Mehrere IDs knnen mit Komma getrennt werden." - -#: db/models/fields/related.py:620 -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 gedrckt halten." - -#: 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] "" -"Bitte gltige IDs fr %(self)s eingeben. Der Wert %(value)r ist ungltig." -msgstr[1] "" -"Bitte gltige IDs fr %(self)s eingeben. Die Werte %(value)r sind ungltig." - -#: forms/__init__.py:387 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Bitte sicherstellen, dass der Text weniger als %s Zeichen hat." -msgstr[1] "Bitte sicherstellen, dass der Text weniger als %s Zeichen hat." - -#: forms/__init__.py:392 -msgid "Line breaks are not allowed here." -msgstr "Zeilenumbrche sind hier nicht erlaubt." - -#: forms/__init__.py:493 forms/__init__.py:566 forms/__init__.py:605 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "" -"Bitte eine gltige Auswahl treffen; '%(data)s' ist nicht in %(choices)s." - -#: forms/__init__.py:669 -msgid "The submitted file is empty." -msgstr "Die ausgewhlte Datei ist leer." - -#: forms/__init__.py:725 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Bitte eine ganze Zahl zwischen -32.768 und 32.767 eingeben." - -#: forms/__init__.py:735 -msgid "Enter a positive number." -msgstr "Bitte eine ganze, positive Zahl eingeben." - -#: forms/__init__.py:745 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Bitte eine ganze Zahl zwischen 0 und 32.767 eingeben." - -#: template/defaultfilters.py:401 -msgid "yes,no,maybe" -msgstr "Ja,Nein,Vielleicht" +msgstr "%(verbose_name)s wurde gelöscht" diff --git a/django/conf/locale/de/LC_MESSAGES/djangojs.mo b/django/conf/locale/de/LC_MESSAGES/djangojs.mo index dc92386f0b5546a773d19c16792b399a9f8d2087..9f39c16444ba716738690d4f46f7261636da4712 100644 GIT binary patch delta 701 zcmZ9}KS-NF7{~E5d1Ir-*v3Dt5ZaeW9n%U9f(`~OSh@uiI*HLEZ!o@vH)4tif`cH4 zA}EPlfb}2{)p-U}p{r=+N(Br-P+`V`AJa_N=t?N@}<0|JJ7|Jth zo_a}rNj++#p}bBQ(~cvU#4*g^1g7z=n=fNG{_US0l zwVU{jO7sVn_zo3VFMY_O0=&X897P3QM#X8M60hShm)LUiU)ZFBeMQAP#WeZNcRJc| zfsgP9_TV*U@vpO;EW|SXsP%(b#v$y&Rn&nuk;iP)Xx$zv;UT`j6VyS^aGd<+oDPr4 zuv-CgG&;y2>MykBP^FKmTj+NwsMaf(iVizK)!zS0zkBf*dtIMe4-2jX{*|~bOx2<#|4m~dsN2Y&SY%YR_oK<`^2cIm zSK`}bz`k%Tp7RPlb|J8#nF*pbTU#-uc-MQLFV*X|;m=o^KZ(+sG_y9U*r;m5_|*HH ME`_Ytppq*810pI^4*&oF delta 607 zcmYk(J4*vW5Ww+Gy!eXoalQ~W9uW}{QV5FR6+S=n zB`Bmag+;(3g|%SeC$O>*D+LP+3;z=%xMcQscY8ZCm%VB!2lLOSaiJJJ!~pR~3=+pa zCdNC~;|JE^7q;LxHe!?iciqGg_kGxmqu7KKHEj%Vzla;Sg6z+$Yc32P+@KV=MJZTD zNmxM(A8;DqP!bLEvNSM;)k4@$Q#Q)_CP^D`8zoN?<^5dk`AOBhQm0(Bv2cd1cv-WA zgxPUVlM}DfnB>Rdejg`B;!x19*Y!^kLV&g2^n%6(zuKcnWii!x*JtyIISL S9lm&JcTW~|Bv8~(fwdpQ`a#wJ diff --git a/django/conf/locale/de/LC_MESSAGES/djangojs.po b/django/conf/locale/de/LC_MESSAGES/djangojs.po index c39bcd067f..3c0852ebac 100644 --- a/django/conf/locale/de/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/de/LC_MESSAGES/djangojs.po @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-12-09 11:51+0100\n" "PO-Revision-Date: 2005-12-04 13:21+0100\n" -"Last-Translator: Georg Bauer \n" +"Last-Translator: Dirk Eschler \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" @@ -21,11 +21,11 @@ msgstr "Verf #: contrib/admin/media/js/SelectFilter2.js:41 msgid "Choose all" -msgstr "alles auswhlen" +msgstr "Alles auswhlen" #: contrib/admin/media/js/SelectFilter2.js:46 msgid "Add" -msgstr "Zufgen" +msgstr "Hinzufgen" #: contrib/admin/media/js/SelectFilter2.js:48 msgid "Remove" @@ -42,7 +42,7 @@ msgstr "Gew #: contrib/admin/media/js/SelectFilter2.js:59 msgid "Clear all" -msgstr "alles abwhlen" +msgstr "Alles abwhlen" #: contrib/admin/media/js/dateparse.js:26 #: contrib/admin/media/js/calendar.js:24 @@ -89,7 +89,7 @@ msgstr "Mittag" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 #: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 msgid "Cancel" -msgstr "Abbruch" +msgstr "Abbrechen" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 #: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 @@ -107,3 +107,13 @@ msgstr "Gestern" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 msgid "Tomorrow" msgstr "Morgen" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "Anzeigen" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "Verbergen" + diff --git a/django/conf/locale/el/LC_MESSAGES/django.mo b/django/conf/locale/el/LC_MESSAGES/django.mo index 4a7d8e41f0dc284ebbe17c274f756adb542238c8..a048d879760739d23c973c6e4f56cf9da27a3101 100644 GIT binary patch delta 1653 zcmXZbYiP}J9LMqRDQ1pgW*0MY*k(J-n9G>Wb;z$6{w_}}p_CD^ zA}p6un@g(|X;CCBw{0#DTw=uo9#|CbPyb(?_WFIlJOA(R`}_WXr>&u>;YLZEH!WZm z9cz|uW*5ep1+fDY@gXYz21nvg9EF2IW^ow8EX=_bSnlFesOLLy3_ig@*oR5@6Q^R_ zc=IfkMd5g};aGv0xDms+A2aYO4#fvZul54F@R!R!oM4ts{1WxOzc?6!6jP(gs5k>v zHyhPJWv1tE;E_lmaR$|C3nt?YWDn~^o#>0p|3)=7l;am-81?;4s153HG&bWTY{&Wd z2~|IfZgucHkA*fU#XO9lMsys9;YBRRHdF(FiDm;Z2~#i)m7jttJRjA_GSu@MoI6~; z9`#C(y4Y(`BEY-Cdj9b$$E*QY<@yC4qwYixF2&C-pT{wE!eZ2&Sch>~jXKCKHE>)X-#9!NoWox1dIS68YFQ z{%GXAF5idR$fo&|D@E07#1Yu4nEkDj#bEq_+NdA-SYm;{;UeU%*k)XShfy0n!T@%= zxEBu*_n|hfrOOj|8<$|k4F4`2$7RIt(JNyyai%}A8k|GijB4aH?!zCbcU&{e|CKbN z-gOglFYT<$-^U>FQ&fXJ&Tpva`*9a075cBPv5@)ei?>LmVJE8aTjUpJAF&+cXPd3W zwYVBDVLSHY8Em8LG+bH4VQ?F&&M{<9YjW{pXBURZcNa1L1Qvfta33swu3u;tsz3#5 z^lMza7gLE3;&42TDR>3b@h<9)bffD1#dr)C`%cG!#Koxki#)ejjw)2?jJW(B%piZj z#ph5by@(^R!^O{>U!8#x|9k1q0%w`C3X^$$QauZP8Fm!aQ9Ek%_fRMLggWuRlGgPJ zH?XgfrRdi={U8tnmj~6=gw?ol|pKR2sENDQD;(%3;`)y~%{4kv{6g z$wpQ=W}1zd7kUO?w51A zqpzcRSf8%AdrNnnp&&{An z3TB`h&3ADTs_t@B10NQ7!313-Qb~M|>a+*5Z~&RZuA^2o?($l;8q3BStU^7%2Q|R~ z%)>aA;xD)XAEWA*)2$X>?J>{Rtl#7<1Y zPf!avh+G#thidG1)WU{c{C5z0HpW1gB*Z@L!9}R8>B8Cg4TkY7vU}E#+WJ3H6HTIa zu&69(cq2xMx1#c$cpQJg0j%Jq*YP24YNF)IVCU*k^-khk98}EwcAY^AK0!?ssxo6}^HCGNjhu=# z;j4HGHPJAJ@PUg*@pIw{)Wo0BhKa{e4L)-w*97n9;K$@EQAZcAVgL2uEfP66f+{?P z{L}1()j`J*+(Nt`-^X9^66VnD*LV|iuyw6j1dpNWoJV@FJ{Lc7{)>g=pRQ&9wW8ct zf{r4nLLZ-NoHFkN7*Bg9Dh2zhN%kMIG5w)C%*~asK$0a|_NS-j1rj%X5Q| zP=#8Yoi6_sE+Bu##Y3nDuVNGPYtlHrB0_SSyW@n?*!z|t}{gMIy4Eqt)(I2R- zzlU1Ui|d0GFI?ZdBeg%HbYHBsZGT~NtTEOaYhqOUe\n" +"Last-Translator: Orestis Markou \n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" @@ -164,9 +164,9 @@ msgid "" "\n" "%(text)s" msgstr "" -"Αυτο το σχόλιο σημειώθηκε απο %(χρήστη)ες\n" +"Αυτο το σχόλιο σημειώθηκε απο %(user)s\n" "\n" -"%(κείμενο)α" +"%(text)s" #: contrib/comments/models.py:265 msgid "flag date" diff --git a/django/conf/locale/en/LC_MESSAGES/django.mo b/django/conf/locale/en/LC_MESSAGES/django.mo index 6c4dbe4b4ef18e42500d5eb273abe9a38f71ee2b..038e794a83aaaea40acfedeedbf3d061df69e654 100644 GIT binary patch delta 28 jcmey&@|k5rCZmA4u7QcJfvJLlp_Q?bwxPk~O2%IRdJqUE delta 28 jcmey&@|k5rCZm9vu7Rblk*R{Asg;Sbwt>;)O2%IRdb|iU diff --git a/django/conf/locale/en/LC_MESSAGES/django.po b/django/conf/locale/en/LC_MESSAGES/django.po index feba39f7cd..7e36c6358c 100644 --- a/django/conf/locale/en/LC_MESSAGES/django.po +++ b/django/conf/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-09-25 15:43+0200\n" +"POT-Creation-Date: 2007-04-05 01:32+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,6 +15,1168 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "" + +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "" + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "" + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "" + +#: db/models/fields/related.py:644 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +msgstr[1] "" + +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "" + +#: db/models/fields/__init__.py:117 db/models/fields/__init__.py:274 +#: db/models/fields/__init__.py:610 db/models/fields/__init__.py:621 +#: oldforms/__init__.py:357 newforms/fields.py:80 newforms/fields.py:376 +#: newforms/fields.py:452 newforms/fields.py:463 newforms/models.py:178 +msgid "This field is required." +msgstr "" + +#: db/models/fields/__init__.py:367 +msgid "This value must be an integer." +msgstr "" + +#: db/models/fields/__init__.py:402 +msgid "This value must be either True or False." +msgstr "" + +#: db/models/fields/__init__.py:423 +msgid "This field cannot be null." +msgstr "" + +#: db/models/fields/__init__.py:457 core/validators.py:148 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "" + +#: db/models/fields/__init__.py:526 core/validators.py:157 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "" + +#: db/models/fields/__init__.py:630 +msgid "Enter a valid filename." +msgstr "" + +#: db/models/fields/__init__.py:751 +msgid "This value must be either None, True or False." +msgstr "" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "" + +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "" + +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "" + +#: conf/global_settings.py:58 +msgid "Kannada" +msgstr "" + +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "" + +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "" + +#: conf/global_settings.py:61 +msgid "Dutch" +msgstr "" + +#: conf/global_settings.py:62 +msgid "Norwegian" +msgstr "" + +#: conf/global_settings.py:63 +msgid "Polish" +msgstr "" + +#: conf/global_settings.py:64 +msgid "Portugese" +msgstr "" + +#: conf/global_settings.py:65 +msgid "Brazilian" +msgstr "" + +#: conf/global_settings.py:66 +msgid "Romanian" +msgstr "" + +#: conf/global_settings.py:67 +msgid "Russian" +msgstr "" + +#: conf/global_settings.py:68 +msgid "Slovak" +msgstr "" + +#: conf/global_settings.py:69 +msgid "Slovenian" +msgstr "" + +#: conf/global_settings.py:70 +msgid "Serbian" +msgstr "" + +#: conf/global_settings.py:71 +msgid "Swedish" +msgstr "" + +#: conf/global_settings.py:72 +msgid "Tamil" +msgstr "" + +#: conf/global_settings.py:73 +msgid "Telugu" +msgstr "" + +#: conf/global_settings.py:74 +msgid "Turkish" +msgstr "" + +#: conf/global_settings.py:75 +msgid "Ukrainian" +msgstr "" + +#: conf/global_settings.py:76 +msgid "Simplified Chinese" +msgstr "" + +#: conf/global_settings.py:77 +msgid "Traditional Chinese" +msgstr "" + +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "" + +#: utils/dates.py:14 +msgid "January" +msgstr "" + +#: utils/dates.py:14 +msgid "February" +msgstr "" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "" + +#: utils/dates.py:15 +msgid "August" +msgstr "" + +#: utils/dates.py:15 +msgid "September" +msgstr "" + +#: utils/dates.py:15 +msgid "October" +msgstr "" + +#: utils/dates.py:15 +msgid "November" +msgstr "" + +#: utils/dates.py:16 +msgid "December" +msgstr "" + +#: utils/dates.py:19 +msgid "jan" +msgstr "" + +#: utils/dates.py:19 +msgid "feb" +msgstr "" + +#: utils/dates.py:19 +msgid "mar" +msgstr "" + +#: utils/dates.py:19 +msgid "apr" +msgstr "" + +#: utils/dates.py:19 +msgid "may" +msgstr "" + +#: utils/dates.py:19 +msgid "jun" +msgstr "" + +#: utils/dates.py:20 +msgid "jul" +msgstr "" + +#: utils/dates.py:20 +msgid "aug" +msgstr "" + +#: utils/dates.py:20 +msgid "sep" +msgstr "" + +#: utils/dates.py:20 +msgid "oct" +msgstr "" + +#: utils/dates.py:20 +msgid "nov" +msgstr "" + +#: utils/dates.py:20 +msgid "dec" +msgstr "" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "" + +#: utils/dates.py:27 +msgid "Feb." +msgstr "" + +#: utils/dates.py:28 +msgid "Aug." +msgstr "" + +#: utils/dates.py:28 +msgid "Sept." +msgstr "" + +#: utils/dates.py:28 +msgid "Oct." +msgstr "" + +#: utils/dates.py:28 +msgid "Nov." +msgstr "" + +#: utils/dates.py:28 +msgid "Dec." +msgstr "" + +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "" + +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "" + +#: utils/dateformat.py:46 +msgid "PM" +msgstr "" + +#: utils/dateformat.py:47 +msgid "AM" +msgstr "" + +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "" + +#: utils/dateformat.py:97 +msgid "noon" +msgstr "" + +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "N j, Y" + +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "N j, Y, P" + +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" + +#: oldforms/__init__.py:392 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "" +msgstr[1] "" + +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "" + +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "" + +#: oldforms/__init__.py:577 contrib/admin/filterspecs.py:150 +#: newforms/widgets.py:174 +msgid "Unknown" +msgstr "" + +#: oldforms/__init__.py:577 contrib/admin/filterspecs.py:143 +#: newforms/widgets.py:174 +msgid "Yes" +msgstr "" + +#: oldforms/__init__.py:577 contrib/admin/filterspecs.py:143 +#: newforms/widgets.py:174 +msgid "No" +msgstr "" + +#: oldforms/__init__.py:672 core/validators.py:174 core/validators.py:445 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "" + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "" + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "" + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "" + +#: contrib/localflavor/no/forms.py:15 +msgid "Enter a zip code in the format XXXX." +msgstr "" + +#: contrib/localflavor/no/forms.py:36 +msgid "Enter a valid Norwegian social security number." +msgstr "" + +#: contrib/localflavor/it/forms.py:14 contrib/localflavor/fr/forms.py:17 +#: contrib/localflavor/fi/forms.py:14 contrib/localflavor/de/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/jp/forms.py:21 +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/br/forms.py:18 +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/fi/forms.py:40 contrib/localflavor/fi/forms.py:46 +msgid "Enter a valid Finnish social security number." +msgstr "" + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "" + +#: contrib/localflavor/de/forms.py:63 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format" +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/usa/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/usa/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" + +#: contrib/sessions/models.py:68 +msgid "session key" +msgstr "" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "" + +#: contrib/sessions/models.py:75 +msgid "sessions" +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 "" + +#: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "" + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" + +#: 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/views.py:39 +msgid "Logged out" +msgstr "" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "" + +#: contrib/auth/models.py:94 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "" + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "" + +#: contrib/auth/models.py:101 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "" + +#: contrib/auth/models.py:258 +msgid "message" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "" + +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "" + +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "" + +#: contrib/contenttypes/models.py:40 +msgid "content types" +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 "" + +#: 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 "" + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "" + +#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:315 +msgid "URL" +msgstr "" + +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" + +#: 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 "" + +#: 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/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" msgstr "" @@ -187,6 +1349,75 @@ msgstr "" msgid "Moderator deletion by %r" msgstr "" +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:17 +msgid "Username:" +msgstr "" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Log out" +msgstr "" + +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "" + #: contrib/comments/views/karma.py:19 msgid "Anonymous users cannot vote" msgstr "" @@ -254,72 +1485,20 @@ msgstr "" msgid "The comment form didn't provide either 'preview' or 'post'" msgstr "" -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" +#: contrib/sites/models.py:10 +msgid "domain name" msgstr "" -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Log out" +#: contrib/sites/models.py:11 +msgid "display name" msgstr "" -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" +#: contrib/sites/models.py:15 +msgid "site" msgstr "" -#: contrib/comments/templates/comments/form.html:8 -msgid "Forgotten your password?" -msgstr "" - -#: contrib/comments/templates/comments/form.html:12 -msgid "Ratings" -msgstr "" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Required" -msgstr "" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Optional" -msgstr "" - -#: contrib/comments/templates/comments/form.html:23 -msgid "Post a photo" -msgstr "" - -#: contrib/comments/templates/comments/form.html:28 -#: contrib/comments/templates/comments/freeform.html:5 -msgid "Comment:" -msgstr "" - -#: contrib/comments/templates/comments/form.html:35 -#: contrib/comments/templates/comments/freeform.html:10 -msgid "Preview comment" -msgstr "" - -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" +#: contrib/sites/models.py:16 +msgid "sites" msgstr "" #: contrib/admin/filterspecs.py:40 @@ -354,18 +1533,6 @@ msgstr "" msgid "This year" msgstr "" -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "" - -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "" - -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "" - #: contrib/admin/models.py:16 msgid "action time" msgstr "" @@ -394,53 +1561,489 @@ msgstr "" msgid "log entries" msgstr "" -#: contrib/admin/templatetags/admin_list.py:230 +#: contrib/admin/templatetags/admin_list.py:247 msgid "All dates" msgstr "" -#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:59 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/change_list.html:6 +#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 +#: 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 +#: contrib/admin/templates/registration/password_reset_form.html:4 +msgid "Home" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Documentation" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Change password" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

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

                  \n" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:9 +msgid "Delete" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "" + +#: contrib/admin/templates/admin/500.html:10 +msgid "" +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +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/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] "" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:21 +msgid "History" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "N j, Y, P" + +#: contrib/admin/templates/admin/object_history.html:36 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +#: contrib/admin/templates/admin/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 "" + +#: 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 "" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "" + +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:15 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "" + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +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/views/decorators.py:24 #: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:24 msgid "Log in" msgstr "" -#: contrib/admin/views/decorators.py:62 -msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." -msgstr "" - -#: contrib/admin/views/decorators.py:69 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "" - -#: contrib/admin/views/decorators.py:83 -msgid "Usernames cannot contain the '@' character." -msgstr "" - -#: contrib/admin/views/decorators.py:85 +#: contrib/admin/templates/admin/index.html:17 #, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." +msgid "Models available in the %(name)s application." +msgstr "" + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "" + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "" + +#: contrib/admin/templates/admin/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:34 +msgid "Password" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Password (again)" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +msgid "Enter the same password as above, for verification." +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +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/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_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 "" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "" + +#: 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 "" + +#: 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_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 "" + +#: contrib/admin/templates/registration/password_change_form.html:12 +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html: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/views/main.py:223 msgid "Site administration" msgstr "" -#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:17 +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:19 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "" #: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 -#: contrib/admin/views/auth.py:22 +#: contrib/admin/views/auth.py:24 msgid "You may edit it again below." msgstr "" @@ -459,11 +2062,6 @@ msgstr "" msgid "Added %s." msgstr "" -#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 -#: contrib/admin/views/main.py:339 -msgid "and" -msgstr "" - #: contrib/admin/views/main.py:337 #, python-format msgid "Changed %s." @@ -494,44 +2092,65 @@ msgstr "" msgid "Change %s" msgstr "" -#: contrib/admin/views/main.py:473 +#: contrib/admin/views/main.py:476 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "" -#: contrib/admin/views/main.py:478 +#: contrib/admin/views/main.py:481 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "" -#: contrib/admin/views/main.py:511 +#: contrib/admin/views/main.py:514 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "" -#: contrib/admin/views/main.py:514 +#: contrib/admin/views/main.py:517 msgid "Are you sure?" msgstr "" -#: contrib/admin/views/main.py:536 +#: contrib/admin/views/main.py:539 #, python-format msgid "Change history: %s" msgstr "" -#: contrib/admin/views/main.py:570 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s" msgstr "" -#: contrib/admin/views/main.py:570 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s to change" msgstr "" -#: contrib/admin/views/main.py:758 +#: contrib/admin/views/main.py:768 msgid "Database error" msgstr "" +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" + +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "" + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" + #: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 #: contrib/admin/views/doc.py:50 msgid "tag:" @@ -554,12 +2173,12 @@ msgstr "" #: contrib/admin/views/doc.py:171 #, python-format -msgid "Model %r not found in app %r" +msgid "Model %(name)r not found in app %(label)r" msgstr "" #: contrib/admin/views/doc.py:183 #, python-format -msgid "the related `%s.%s` object" +msgid "the related `%(label)s.%(type)s` object" msgstr "" #: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 @@ -569,7 +2188,7 @@ msgstr "" #: contrib/admin/views/doc.py:214 #, python-format -msgid "related `%s.%s` objects" +msgid "related `%(label)s.%(name)s` objects" msgstr "" #: contrib/admin/views/doc.py:219 @@ -647,10 +2266,6 @@ msgstr "" msgid "Time" msgstr "" -#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "" - #: contrib/admin/views/doc.py:316 msgid "U.S. state (two uppercase letters)" msgstr "" @@ -664,1331 +2279,86 @@ msgstr "" msgid "%s does not appear to be a urlpattern object" msgstr "" -#: contrib/admin/views/auth.py:28 +#: contrib/admin/views/auth.py:30 msgid "Add user" msgstr "" -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Documentation" +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." msgstr "" -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Change password" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/base.html:30 -#: contrib/admin/templates/admin/delete_confirmation.html:6 -#: contrib/admin/templates/admin/change_form.html:13 -#: contrib/admin/templates/admin/invalid_setup.html:4 -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/logged_out.html:4 -#: contrib/admin/templates/registration/password_reset_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Home" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 -msgid "History" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" -msgstr "N j, Y, P" - -#: contrib/admin/templates/admin/object_history.html:36 -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "" - -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "" - -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "" - -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "" - -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "" - -#: contrib/admin/templates/admin/500.html:10 -msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." -msgstr "" - -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "" - -#: contrib/admin/templates/admin/404.html:10 -msgid "We're sorry, but the requested page could not be found." -msgstr "" - -#: contrib/admin/templates/admin/index.html:17 +#: contrib/admin/views/auth.py:64 #, python-format -msgid "Models available in the %(name)s application." +msgid "Change password: %s" msgstr "" -#: contrib/admin/templates/admin/index.html:18 +#: newforms/fields.py:103 newforms/fields.py:256 #, python-format -msgid "%(name)s" +msgid "Ensure this value has at most %d characters." msgstr "" -#: contrib/admin/templates/admin/index.html:28 -#: contrib/admin/templates/admin/change_form.html:15 -msgid "Add" -msgstr "" - -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "" - -#: contrib/admin/templates/admin/index.html:44 -msgid "You don't have permission to edit anything." -msgstr "" - -#: contrib/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "" - -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "" - -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "" - -#: contrib/admin/templates/admin/change_list.html:11 +#: newforms/fields.py:105 newforms/fields.py:258 #, python-format -msgid "Add %(name)s" +msgid "Ensure this value has at least %d characters." msgstr "" -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "" - -#: contrib/admin/templates/admin/base.html:25 -msgid "Welcome," -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:14 -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#: 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 "" - -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "" - -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -#: 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] "" - -#: contrib/admin/templates/admin/search_form.html:10 -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -#: contrib/admin/templates/admin/pagination.html:10 -msgid "Show all" -msgstr "" - -#: contrib/admin/templates/admin/filters.html:4 -msgid "Filter" -msgstr "" - -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "" - -#: contrib/admin/templates/admin/change_form.html:30 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "" -msgstr[1] "" - -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "" - -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "" - -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "" - -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "" - -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "" - -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "" - -#: contrib/admin/templates/admin/invalid_setup.html:8 -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#: contrib/admin/templates/admin/auth/user/add_form.html:6 -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -#: contrib/admin/templates/admin/auth/user/add_form.html:12 -msgid "Username" -msgstr "" - -#: contrib/admin/templates/admin/auth/user/add_form.html:18 -msgid "Password" -msgstr "" - -#: contrib/admin/templates/admin/auth/user/add_form.html:23 -msgid "Password (again)" -msgstr "" - -#: contrib/admin/templates/admin/auth/user/add_form.html:24 -msgid "Enter the same password as above, for verification." -msgstr "" - -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_form.html:6 -#: contrib/admin/templates/registration/password_change_form.html:10 -msgid "Password change" -msgstr "" - -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" -msgstr "" - -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "" - -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:6 -#: contrib/admin/templates/registration/password_reset_form.html:10 -#: contrib/admin/templates/registration/password_reset_done.html:4 -msgid "Password reset" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_form.html:12 -msgid "" -"Forgotten your password? Enter your e-mail address below, and we'll reset " -"your password and e-mail the new one to you." -msgstr "" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "" - -#: contrib/admin/templates/registration/logged_out.html:8 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_done.html:12 -msgid "" -"We've e-mailed a new password to the e-mail address you submitted. You " -"should be receiving it shortly." -msgstr "" - -#: contrib/admin/templates/registration/password_change_form.html:12 -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "" - -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "" - -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "" - -#: contrib/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:2 -msgid "You're receiving this e-mail because you requested a password reset" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:3 -#, python-format -msgid "for your user account at %(site_name)s" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:5 -#, python-format -msgid "Your new password is: %(new_password)s" -msgstr "" - -#: 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 "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 -msgid "" -"\n" -"

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

                  \n" -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:20 -msgid "" -"Jumps you from any page to the documentation for the view that generates " -"that page." -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 -msgid "Jumps to the admin page for pages that represent a single object." -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 -msgid "As above, but opens the admin page in a new window." -msgstr "" - -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "" - -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "" - -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "" - -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "" - -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "" - -#: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." -msgstr "" - -#: 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 "" - -#: contrib/redirects/models.py:13 -msgid "redirect" -msgstr "" - -#: contrib/redirects/models.py:14 -msgid "redirects" -msgstr "" - -#: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "" - -#: 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 "" - -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "" - -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "" - -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "" - -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "" - -#: contrib/auth/views.py:39 -msgid "Logged out" -msgstr "" - -#: contrib/auth/models.py:38 contrib/auth/models.py:57 -msgid "name" -msgstr "" - -#: contrib/auth/models.py:40 -msgid "codename" -msgstr "" - -#: contrib/auth/models.py:42 -msgid "permission" -msgstr "" - -#: contrib/auth/models.py:43 contrib/auth/models.py:58 -msgid "permissions" -msgstr "" - -#: contrib/auth/models.py:60 -msgid "group" -msgstr "" - -#: contrib/auth/models.py:61 contrib/auth/models.py:100 -msgid "groups" -msgstr "" - -#: contrib/auth/models.py:90 -msgid "username" -msgstr "" - -#: contrib/auth/models.py:90 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" - -#: contrib/auth/models.py:91 -msgid "first name" -msgstr "" - -#: contrib/auth/models.py:92 -msgid "last name" -msgstr "" - -#: contrib/auth/models.py:93 -msgid "e-mail address" -msgstr "" - -#: contrib/auth/models.py:94 -msgid "password" -msgstr "" - -#: contrib/auth/models.py:94 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "" - -#: contrib/auth/models.py:95 -msgid "staff status" -msgstr "" - -#: contrib/auth/models.py:95 -msgid "Designates whether the user can log into this admin site." -msgstr "" - -#: contrib/auth/models.py:96 -msgid "active" -msgstr "" - -#: contrib/auth/models.py:96 -msgid "" -"Designates whether this user can log into the Django admin. Unselect this " -"instead of deleting accounts." -msgstr "" - -#: contrib/auth/models.py:97 -msgid "superuser status" -msgstr "" - -#: contrib/auth/models.py:97 -msgid "" -"Designates that this user has all permissions without explicitly assigning " -"them." -msgstr "" - -#: contrib/auth/models.py:98 -msgid "last login" -msgstr "" - -#: contrib/auth/models.py:99 -msgid "date joined" -msgstr "" - -#: contrib/auth/models.py:101 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" - -#: contrib/auth/models.py:102 -msgid "user permissions" -msgstr "" - -#: contrib/auth/models.py:105 -msgid "user" -msgstr "" - -#: contrib/auth/models.py:106 -msgid "users" -msgstr "" - -#: contrib/auth/models.py:111 -msgid "Personal info" -msgstr "" - -#: contrib/auth/models.py:112 -msgid "Permissions" -msgstr "" - -#: contrib/auth/models.py:113 -msgid "Important dates" -msgstr "" - -#: contrib/auth/models.py:114 -msgid "Groups" -msgstr "" - -#: contrib/auth/models.py:256 -msgid "message" -msgstr "" - -#: contrib/auth/forms.py:52 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" - -#: contrib/auth/forms.py:61 -msgid "This account is inactive." -msgstr "" - -#: contrib/contenttypes/models.py:20 -msgid "python model class name" -msgstr "" - -#: contrib/contenttypes/models.py:23 -msgid "content type" -msgstr "" - -#: contrib/contenttypes/models.py:24 -msgid "content types" -msgstr "" - -#: contrib/sessions/models.py:51 -msgid "session key" -msgstr "" - -#: contrib/sessions/models.py:52 -msgid "session data" -msgstr "" - -#: contrib/sessions/models.py:53 -msgid "expire date" -msgstr "" - -#: contrib/sessions/models.py:57 -msgid "session" -msgstr "" - -#: contrib/sessions/models.py:58 -msgid "sessions" -msgstr "" - -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "" - -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "" - -#: contrib/sites/models.py:15 -msgid "site" -msgstr "" - -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "" - -#: utils/dates.py:6 -msgid "Monday" -msgstr "" - -#: utils/dates.py:6 -msgid "Tuesday" -msgstr "" - -#: utils/dates.py:6 -msgid "Wednesday" -msgstr "" - -#: utils/dates.py:6 -msgid "Thursday" -msgstr "" - -#: utils/dates.py:6 -msgid "Friday" -msgstr "" - -#: utils/dates.py:7 -msgid "Saturday" -msgstr "" - -#: utils/dates.py:7 -msgid "Sunday" -msgstr "" - -#: utils/dates.py:14 -msgid "January" -msgstr "" - -#: utils/dates.py:14 -msgid "February" -msgstr "" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "March" -msgstr "" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "April" -msgstr "" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "May" -msgstr "" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "June" -msgstr "" - -#: utils/dates.py:15 utils/dates.py:27 -msgid "July" -msgstr "" - -#: utils/dates.py:15 -msgid "August" -msgstr "" - -#: utils/dates.py:15 -msgid "September" -msgstr "" - -#: utils/dates.py:15 -msgid "October" -msgstr "" - -#: utils/dates.py:15 -msgid "November" -msgstr "" - -#: utils/dates.py:16 -msgid "December" -msgstr "" - -#: utils/dates.py:19 -msgid "jan" -msgstr "" - -#: utils/dates.py:19 -msgid "feb" -msgstr "" - -#: utils/dates.py:19 -msgid "mar" -msgstr "" - -#: utils/dates.py:19 -msgid "apr" -msgstr "" - -#: utils/dates.py:19 -msgid "may" -msgstr "" - -#: utils/dates.py:19 -msgid "jun" -msgstr "" - -#: utils/dates.py:20 -msgid "jul" -msgstr "" - -#: utils/dates.py:20 -msgid "aug" -msgstr "" - -#: utils/dates.py:20 -msgid "sep" -msgstr "" - -#: utils/dates.py:20 -msgid "oct" -msgstr "" - -#: utils/dates.py:20 -msgid "nov" -msgstr "" - -#: utils/dates.py:20 -msgid "dec" -msgstr "" - -#: utils/dates.py:27 -msgid "Jan." -msgstr "" - -#: utils/dates.py:27 -msgid "Feb." -msgstr "" - -#: utils/dates.py:28 -msgid "Aug." -msgstr "" - -#: utils/dates.py:28 -msgid "Sept." -msgstr "" - -#: utils/dates.py:28 -msgid "Oct." -msgstr "" - -#: utils/dates.py:28 -msgid "Nov." -msgstr "" - -#: utils/dates.py:28 -msgid "Dec." -msgstr "" - -#: utils/timesince.py:12 -msgid "year" -msgid_plural "years" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:13 -msgid "month" -msgid_plural "months" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:14 -msgid "week" -msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:15 -msgid "day" -msgid_plural "days" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:16 -msgid "hour" -msgid_plural "hours" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:17 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "" -msgstr[1] "" - -#: utils/translation/trans_real.py:362 -msgid "DATE_FORMAT" -msgstr "N j, Y" - -#: utils/translation/trans_real.py:363 -msgid "DATETIME_FORMAT" -msgstr "N j, Y, P" - -#: utils/translation/trans_real.py:364 -msgid "TIME_FORMAT" -msgstr "P" - -#: utils/translation/trans_real.py:380 -msgid "YEAR_MONTH_FORMAT" -msgstr "F Y" - -#: utils/translation/trans_real.py:381 -msgid "MONTH_DAY_FORMAT" -msgstr "F j" - -#: conf/global_settings.py:39 -msgid "Arabic" -msgstr "" - -#: conf/global_settings.py:40 -msgid "Bengali" -msgstr "" - -#: conf/global_settings.py:41 -msgid "Czech" -msgstr "" - -#: conf/global_settings.py:42 -msgid "Welsh" -msgstr "" - -#: conf/global_settings.py:43 -msgid "Danish" -msgstr "" - -#: conf/global_settings.py:44 -msgid "German" -msgstr "" - -#: conf/global_settings.py:45 -msgid "Greek" -msgstr "" - -#: conf/global_settings.py:46 -msgid "English" -msgstr "" - -#: conf/global_settings.py:47 -msgid "Spanish" -msgstr "" - -#: conf/global_settings.py:48 -msgid "Argentinean Spanish" -msgstr "" - -#: conf/global_settings.py:49 -msgid "Finnish" -msgstr "" - -#: conf/global_settings.py:50 -msgid "French" -msgstr "" - -#: conf/global_settings.py:51 -msgid "Galician" -msgstr "" - -#: conf/global_settings.py:52 -msgid "Hungarian" -msgstr "" - -#: conf/global_settings.py:53 -msgid "Hebrew" -msgstr "" - -#: conf/global_settings.py:54 -msgid "Icelandic" -msgstr "" - -#: conf/global_settings.py:55 -msgid "Italian" -msgstr "" - -#: conf/global_settings.py:56 -msgid "Japanese" -msgstr "" - -#: conf/global_settings.py:57 -msgid "Dutch" -msgstr "" - -#: conf/global_settings.py:58 -msgid "Norwegian" -msgstr "" - -#: conf/global_settings.py:59 -msgid "Brazilian" -msgstr "" - -#: conf/global_settings.py:60 -msgid "Romanian" -msgstr "" - -#: conf/global_settings.py:61 -msgid "Russian" -msgstr "" - -#: conf/global_settings.py:62 -msgid "Slovak" -msgstr "" - -#: conf/global_settings.py:63 -msgid "Slovenian" -msgstr "" - -#: conf/global_settings.py:64 -msgid "Serbian" -msgstr "" - -#: conf/global_settings.py:65 -msgid "Swedish" -msgstr "" - -#: conf/global_settings.py:66 -msgid "Tamil" -msgstr "" - -#: conf/global_settings.py:67 -msgid "Turkish" -msgstr "" - -#: conf/global_settings.py:68 -msgid "Ukrainian" -msgstr "" - -#: conf/global_settings.py:69 -msgid "Simplified Chinese" -msgstr "" - -#: conf/global_settings.py:70 -msgid "Traditional Chinese" -msgstr "" - -#: core/validators.py:63 -msgid "This value must contain only letters, numbers and underscores." -msgstr "" - -#: core/validators.py:67 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "" - -#: core/validators.py:71 -msgid "This value must contain only letters, numbers, underscores or hyphens." -msgstr "" - -#: core/validators.py:75 -msgid "Uppercase letters are not allowed here." -msgstr "" - -#: core/validators.py:79 -msgid "Lowercase letters are not allowed here." -msgstr "" - -#: core/validators.py:86 -msgid "Enter only digits separated by commas." -msgstr "" - -#: core/validators.py:98 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "" - -#: core/validators.py:102 -msgid "Please enter a valid IP address." -msgstr "" - -#: core/validators.py:106 -msgid "Empty values are not allowed here." -msgstr "" - -#: core/validators.py:110 -msgid "Non-numeric characters aren't allowed here." -msgstr "" - -#: core/validators.py:114 -msgid "This value can't be comprised solely of digits." -msgstr "" - -#: core/validators.py:119 +#: newforms/fields.py:128 core/validators.py:120 msgid "Enter a whole number." msgstr "" -#: core/validators.py:123 -msgid "Only alphabetical characters are allowed here." -msgstr "" - -#: core/validators.py:138 -msgid "Year must be 1900 or later." -msgstr "" - -#: core/validators.py:142 +#: newforms/fields.py:130 #, python-format -msgid "Invalid date: %s." +msgid "Ensure this value is less than or equal to %s." msgstr "" -#: core/validators.py:146 db/models/fields/__init__.py:415 -msgid "Enter a valid date in YYYY-MM-DD format." +#: newforms/fields.py:132 +#, python-format +msgid "Ensure this value is greater than or equal to %s." msgstr "" -#: core/validators.py:151 -msgid "Enter a valid time in HH:MM format." +#: newforms/fields.py:165 +msgid "Enter a valid date." msgstr "" -#: core/validators.py:155 db/models/fields/__init__.py:477 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +#: newforms/fields.py:192 +msgid "Enter a valid time." msgstr "" -#: core/validators.py:160 +#: newforms/fields.py:228 +msgid "Enter a valid date/time." +msgstr "" + +#: newforms/fields.py:242 +msgid "Enter a valid value." +msgstr "" + +#: newforms/fields.py:271 core/validators.py:162 msgid "Enter a valid e-mail address." msgstr "" -#: core/validators.py:172 core/validators.py:401 forms/__init__.py:661 -msgid "No file was submitted. Check the encoding type on the form." +#: newforms/fields.py:289 newforms/fields.py:311 +msgid "Enter a valid URL." msgstr "" -#: core/validators.py:176 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." +#: newforms/fields.py:313 +msgid "This URL appears to be a broken link." msgstr "" -#: core/validators.py:183 +#: newforms/fields.py:362 newforms/models.py:165 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" + +#: newforms/fields.py:380 newforms/fields.py:456 newforms/models.py:182 +msgid "Enter a list of values." +msgstr "" + +#: newforms/fields.py:389 newforms/models.py:188 #, python-format -msgid "The URL %s does not point to a valid image." +msgid "Select a valid choice. %s is not one of the available choices." msgstr "" -#: core/validators.py:187 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" - -#: core/validators.py:195 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "" - -#: core/validators.py:199 -msgid "A valid URL is required." -msgstr "" - -#: core/validators.py:213 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" - -#: core/validators.py:220 -#, python-format -msgid "Badly formed XML: %s" -msgstr "" - -#: core/validators.py:230 -#, python-format -msgid "Invalid URL: %s" -msgstr "" - -#: core/validators.py:234 core/validators.py:236 -#, python-format -msgid "The URL %s is a broken link." -msgstr "" - -#: core/validators.py:242 -msgid "Enter a valid U.S. state abbreviation." -msgstr "" - -#: core/validators.py:256 -#, python-format -msgid "Watch your mouth! The word %s is not allowed here." -msgid_plural "Watch your mouth! The words %s are not allowed here." -msgstr[0] "" -msgstr[1] "" - -#: core/validators.py:263 -#, python-format -msgid "This field must match the '%s' field." -msgstr "" - -#: core/validators.py:282 -msgid "Please enter something for at least one field." -msgstr "" - -#: core/validators.py:291 core/validators.py:302 -msgid "Please enter both fields or leave them both empty." -msgstr "" - -#: core/validators.py:309 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "" - -#: core/validators.py:321 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "" - -#: core/validators.py:340 -msgid "Duplicate values are not allowed." -msgstr "" - -#: core/validators.py:363 -#, python-format -msgid "This value must be a power of %s." -msgstr "" - -#: core/validators.py:374 -msgid "Please enter a valid decimal number." -msgstr "" - -#: core/validators.py:378 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "" -"Please enter a valid decimal number with at most %s total digits." -msgstr[0] "" -msgstr[1] "" - -#: core/validators.py:381 -#, 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] "" -msgstr[1] "" - -#: core/validators.py:384 -#, 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] "" -msgstr[1] "" - -#: core/validators.py:394 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "" - -#: core/validators.py:395 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "" - -#: core/validators.py:412 -msgid "The format for this field is wrong." -msgstr "" - -#: core/validators.py:427 -msgid "This field is invalid." -msgstr "" - -#: core/validators.py:463 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "" - -#: core/validators.py:466 -#, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" - -#: core/validators.py:499 -#, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" - -#: core/validators.py:503 -#, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" - -#: core/validators.py:508 -#, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" - -#: core/validators.py:513 -#, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" - -#: core/validators.py:517 -#, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" - -#: core/validators.py:522 -#, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" +#: template/defaultfilters.py:491 +msgid "yes,no,maybe" msgstr "" #: views/generic/create_update.py:43 @@ -2006,92 +2376,270 @@ msgstr "" msgid "The %(verbose_name)s was deleted." msgstr "" -#: db/models/manipulators.py:302 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." msgstr "" -#: db/models/fields/__init__.py:40 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "" - -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:551 db/models/fields/__init__.py:562 -#: forms/__init__.py:346 -msgid "This field is required." -msgstr "" - -#: db/models/fields/__init__.py:340 -msgid "This value must be an integer." -msgstr "" - -#: db/models/fields/__init__.py:372 -msgid "This value must be either True or False." -msgstr "" - -#: db/models/fields/__init__.py:388 -msgid "This field cannot be null." -msgstr "" - -#: db/models/fields/__init__.py:571 -msgid "Enter a valid filename." -msgstr "" - -#: db/models/fields/related.py:51 -#, python-format -msgid "Please enter a valid %s." -msgstr "" - -#: db/models/fields/related.py:618 -msgid "Separate multiple IDs with commas." -msgstr "" - -#: db/models/fields/related.py:620 +#: core/validators.py:68 msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." msgstr "" -#: db/models/fields/related.py:664 +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "" + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "" + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "" + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "" + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "" + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "" + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "" + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "" + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "" + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "" + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "" + +#: core/validators.py:143 #, python-format -msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid "Invalid date: %s" +msgstr "" + +#: core/validators.py:153 +msgid "Enter a valid time in HH:MM format." +msgstr "" + +#: core/validators.py:178 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" + +#: core/validators.py:185 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "" + +#: core/validators.py:189 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" + +#: core/validators.py:197 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "" + +#: core/validators.py:201 +msgid "A valid URL is required." +msgstr "" + +#: core/validators.py:215 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" + +#: core/validators.py:222 +#, python-format +msgid "Badly formed XML: %s" +msgstr "" + +#: core/validators.py:239 +#, python-format +msgid "Invalid URL: %s" +msgstr "" + +#: core/validators.py:244 core/validators.py:246 +#, python-format +msgid "The URL %s is a broken link." +msgstr "" + +#: core/validators.py:252 +msgid "Enter a valid U.S. state abbreviation." +msgstr "" + +#: core/validators.py:266 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "" +msgstr[1] "" + +#: core/validators.py:273 +#, python-format +msgid "This field must match the '%s' field." +msgstr "" + +#: core/validators.py:292 +msgid "Please enter something for at least one field." +msgstr "" + +#: core/validators.py:301 core/validators.py:312 +msgid "Please enter both fields or leave them both empty." +msgstr "" + +#: core/validators.py:320 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "" + +#: core/validators.py:333 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "" + +#: core/validators.py:352 +msgid "Duplicate values are not allowed." +msgstr "" + +#: core/validators.py:367 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "" + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "" + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "" + +#: core/validators.py:407 +#, python-format +msgid "This value must be a power of %s." +msgstr "" + +#: core/validators.py:418 +msgid "Please enter a valid decimal number." +msgstr "" + +#: core/validators.py:422 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." msgid_plural "" -"Please enter valid %(self)s IDs. The values %(value)r are invalid." +"Please enter a valid decimal number with at most %s total digits." msgstr[0] "" msgstr[1] "" -#: forms/__init__.py:381 +#: core/validators.py:425 #, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "" +"Please enter a valid decimal number with a whole part of at most %s digits." msgstr[0] "" msgstr[1] "" -#: forms/__init__.py:386 -msgid "Line breaks are not allowed here." -msgstr "" - -#: forms/__init__.py:487 forms/__init__.py:560 forms/__init__.py:599 +#: core/validators.py:428 #, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "" +"Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "" +msgstr[1] "" + +#: core/validators.py:438 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." msgstr "" -#: forms/__init__.py:663 -msgid "The submitted file is empty." +#: core/validators.py:439 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." msgstr "" -#: forms/__init__.py:719 -msgid "Enter a whole number between -32,768 and 32,767." +#: core/validators.py:456 +msgid "The format for this field is wrong." msgstr "" -#: forms/__init__.py:729 -msgid "Enter a positive number." +#: core/validators.py:471 +msgid "This field is invalid." msgstr "" -#: forms/__init__.py:739 -msgid "Enter a whole number between 0 and 32,767." +#: core/validators.py:507 +#, python-format +msgid "Could not retrieve anything from %s." msgstr "" -#: template/defaultfilters.py:401 -msgid "yes,no,maybe" +#: core/validators.py:510 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" + +#: core/validators.py:543 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" + +#: core/validators.py:547 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" + +#: core/validators.py:552 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" + +#: core/validators.py:557 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" + +#: core/validators.py:561 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" + +#: core/validators.py:566 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" msgstr "" diff --git a/django/conf/locale/es/LC_MESSAGES/django.mo b/django/conf/locale/es/LC_MESSAGES/django.mo index fe44d24a1703ba25e2e9884636cebeeb573061fa..b8b9185b6d204cab0259d640ba0c254d78ea5b5f 100644 GIT binary patch literal 40333 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

                  gb0kLaYz={ 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 diff --git a/django/conf/locale/es/LC_MESSAGES/django.po b/django/conf/locale/es/LC_MESSAGES/django.po index 8036e398b9..6b55435a12 100644 --- a/django/conf/locale/es/LC_MESSAGES/django.po +++ b/django/conf/locale/es/LC_MESSAGES/django.po @@ -1,1352 +1,24 @@ -# translation of django.po to Spanish -# translation of django.po to Espaol +# translation of django.po to Castellano # This file is distributed under the same license as the PACKAGE package. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER. +# # Ricardo Javier Crdenes Medina , 2005. # Ricardo Javier Cardenes Medina , 2005. -# +# AgarFu , 2007. +# Mario Gonzalez , 2007 msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:11+0200\n" -"PO-Revision-Date: 2005-11-28 15:28+0000\n" -"Last-Translator: Ricardo Javier Cardenes Medina \n" -"Language-Team: Spanish \n" +"POT-Creation-Date: 2007-02-24 17:08+0000\n" +"PO-Revision-Date: 2007-02-24 18:02-0600\n" +"Last-Translator: Mario Gonzalez \n" +"Language-Team: Castellano \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.10.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: contrib/comments/models.py:67 contrib/comments/models.py:166 -msgid "object ID" -msgstr "ID de objeto" - -#: contrib/comments/models.py:68 -msgid "headline" -msgstr "encabezado" - -#: contrib/comments/models.py:69 contrib/comments/models.py:90 -#: contrib/comments/models.py:167 -msgid "comment" -msgstr "comentario" - -#: contrib/comments/models.py:70 -msgid "rating #1" -msgstr "calificacin 1" - -#: contrib/comments/models.py:71 -msgid "rating #2" -msgstr "calificacin 2" - -#: contrib/comments/models.py:72 -msgid "rating #3" -msgstr "calificacin 3" - -#: contrib/comments/models.py:73 -msgid "rating #4" -msgstr "calificacin 4" - -#: contrib/comments/models.py:74 -msgid "rating #5" -msgstr "calificacin 5" - -#: contrib/comments/models.py:75 -msgid "rating #6" -msgstr "calificacin 6" - -#: contrib/comments/models.py:76 -msgid "rating #7" -msgstr "calificacin 7" - -#: contrib/comments/models.py:77 -msgid "rating #8" -msgstr "calificacin 8" - -#: contrib/comments/models.py:82 -msgid "is valid rating" -msgstr "es calificacin vlida" - -#: contrib/comments/models.py:83 contrib/comments/models.py:169 -msgid "date/time submitted" -msgstr "fecha/hora de envo" - -#: contrib/comments/models.py:84 contrib/comments/models.py:170 -msgid "is public" -msgstr "es pblico" - -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 -msgid "IP address" -msgstr "Direccin IP" - -#: contrib/comments/models.py:86 -msgid "is removed" -msgstr "est eliminado" - -#: contrib/comments/models.py:86 -msgid "" -"Check this box if the comment is inappropriate. A \"This comment has been " -"removed\" message will be displayed instead." -msgstr "" -"Marque esta caja si el comentario es inapropiado. En su lugar se mostrar " -"\"Este comentario ha sido eliminado\"." - -#: contrib/comments/models.py:91 -#, fuzzy -msgid "comments" -msgstr "comentario" - -#: contrib/comments/models.py:131 contrib/comments/models.py:207 -msgid "Content object" -msgstr "Objeto contenido" - -#: contrib/comments/models.py:159 -#, python-format -msgid "" -"Posted by %(user)s at %(date)s\n" -"\n" -"%(comment)s\n" -"\n" -"http://%(domain)s%(url)s" -msgstr "" -"Enviado por %(user)s en %(date)s\n" -"\n" -"%(comment)s\n" -"\n" -"http://%(domain)s%(url)s" - -#: contrib/comments/models.py:168 -msgid "person's name" -msgstr "nombre de la persona" - -#: contrib/comments/models.py:171 -msgid "ip address" -msgstr "direccin ip" - -#: contrib/comments/models.py:173 -msgid "approved by staff" -msgstr "aprobado por el staff" - -#: contrib/comments/models.py:176 -#, fuzzy -msgid "free comment" -msgstr "Comentario libre" - -#: contrib/comments/models.py:177 -#, fuzzy -msgid "free comments" -msgstr "Comentarios libres" - -#: contrib/comments/models.py:233 -msgid "score" -msgstr "puntuacin" - -#: contrib/comments/models.py:234 -msgid "score date" -msgstr "fecha de la puntuacin" - -#: contrib/comments/models.py:237 -#, fuzzy -msgid "karma score" -msgstr "Punto karma" - -#: contrib/comments/models.py:238 -#, fuzzy -msgid "karma scores" -msgstr "Puntos karma" - -#: contrib/comments/models.py:242 -#, python-format -msgid "%(score)d rating by %(user)s" -msgstr "Puntuado %(score)d por %(user)s" - -#: contrib/comments/models.py:258 -#, python-format -msgid "" -"This comment was flagged by %(user)s:\n" -"\n" -"%(text)s" -msgstr "" -"Este comentario fue marcado por %(user)s:\n" -"\n" -"%(text)s" - -#: contrib/comments/models.py:265 -msgid "flag date" -msgstr "fecha de la marca" - -#: contrib/comments/models.py:268 -#, fuzzy -msgid "user flag" -msgstr "Marca de usuario" - -#: contrib/comments/models.py:269 -#, fuzzy -msgid "user flags" -msgstr "Marcas de usuario" - -#: contrib/comments/models.py:273 -#, python-format -msgid "Flag by %r" -msgstr "Marca de %r" - -#: contrib/comments/models.py:278 -msgid "deletion date" -msgstr "fecha de eliminacin" - -#: contrib/comments/models.py:280 -#, fuzzy -msgid "moderator deletion" -msgstr "Eliminacin de moderador" - -#: contrib/comments/models.py:281 -#, fuzzy -msgid "moderator deletions" -msgstr "Eliminaciones de moderador" - -#: contrib/comments/models.py:285 -#, python-format -msgid "Moderator deletion by %r" -msgstr "Eliminacin del moderador %r" - -#: contrib/comments/views/karma.py:19 -msgid "Anonymous users cannot vote" -msgstr "Los usuarios annimos no pueden votar" - -#: contrib/comments/views/karma.py:23 -msgid "Invalid comment ID" -msgstr "ID de comentario no vlido" - -#: contrib/comments/views/karma.py:25 -msgid "No voting for yourself" -msgstr "No puedes votarte t mismo" - -#: contrib/comments/views/comments.py:28 -msgid "" -"This rating is required because you've entered at least one other rating." -msgstr "Se precisa esta puntuacin porque ha introducido al menos otra ms." - -#: contrib/comments/views/comments.py:112 -#, python-format -msgid "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comment:\n" -"\n" -"%(text)s" -msgid_plural "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comments:\n" -"\n" -"%(text)s" -msgstr[0] "" -"Este comentario lo envi un usuario que ha enviado menos de %(count)s " -"comentario:\n" -"\n" -"%(text)s" -msgstr[1] "" -"Este comentario lo envi un usuario que ha enviado menos de %(count)s " -"comentarios:\n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:117 -#, python-format -msgid "" -"This comment was posted by a sketchy user:\n" -"\n" -"%(text)s" -msgstr "" - -#: contrib/comments/views/comments.py:189 -#: contrib/comments/views/comments.py:280 -msgid "Only POSTs are allowed" -msgstr "Slo se admite POST" - -#: contrib/comments/views/comments.py:193 -#: contrib/comments/views/comments.py:284 -msgid "One or more of the required fields wasn't submitted" -msgstr "No se proporcion uno o ms de los siguientes campos requeridos" - -#: contrib/comments/views/comments.py:197 -#: contrib/comments/views/comments.py:286 -msgid "Somebody tampered with the comment form (security violation)" -msgstr "" -"Alguien est jugando con el formulario de comentarios (violacin de " -"seguridad)" - -#: contrib/comments/views/comments.py:207 -#: contrib/comments/views/comments.py:292 -msgid "" -"The comment form had an invalid 'target' parameter -- the object ID was " -"invalid" -msgstr "" -"El formulario de comentarios tiene un parmetro 'target' no vlido (el ID de " -"objeto era invlido)" - -#: contrib/comments/views/comments.py:257 -#: contrib/comments/views/comments.py:321 -msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "El formulario de comentario no proporcion 'previsualizar' ni 'enviar'" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" -msgstr "Usuario:" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Clave:" - -#: contrib/comments/templates/comments/form.html:6 -#, fuzzy -msgid "Forgotten your password?" -msgstr "Cambiar mi clave" - -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Log out" -msgstr "Terminar sesin" - -#: contrib/comments/templates/comments/form.html:12 -#, fuzzy -msgid "Ratings" -msgstr "calificacin 1" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Required" -msgstr "" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Optional" -msgstr "" - -#: contrib/comments/templates/comments/form.html:23 -msgid "Post a photo" -msgstr "" - -#: contrib/comments/templates/comments/form.html:27 -#: contrib/comments/templates/comments/freeform.html:5 -#, fuzzy -msgid "Comment:" -msgstr "Comentario" - -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 -#, fuzzy -msgid "Preview comment" -msgstr "Comentario libre" - -#: contrib/comments/templates/comments/freeform.html:4 -#, fuzzy -msgid "Your name:" -msgstr "nombre de usuario" - -#: contrib/admin/filterspecs.py:40 -#, python-format -msgid "" -"

                  By %s:

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

                    Por %s:

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

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

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

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

                      By %s:

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

                        Por %s:

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

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

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

                          Para instalar bookmarklets, arrastre el enlace a su barra\n" +"de favoritos, o pulse con el botn derecho el enlace y adalo a sus " +"favoritos.\n" +"Ahora puede escoger el bookmarklet desde cualquier pgina en el sitio.\n" +"Observer que algunos de estos bookmarklets precisan que est viendo\n" +"el sitio desde un computador sealado como \"interno\" (hable\n" +"con su administrador de sistemas si no est seguro de si el suyo lo es).\n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Documentacin de esta pgina" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "Le lleva desde cualquier pgina a la documentacin de la vista que la genera." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "Mostrar ID de objeto" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Muestra el tipo de contenido e ID unvoco de las pginas que representan un " +"nico objeto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Editar este objeto (ventana actual)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"Le lleva a la pgina de administracin de pginas que representan un nico " +"objeto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Editar este objeto (nueva ventana)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "Como antes, pero abre la pgina de administracin en una nueva ventana." + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Error del servidor" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Error de servidor (500)" + +#: contrib/admin/templates/admin/500.html:10 +msgid "" +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ha ocurrido un error. Se ha informado a los administradores del sitio " +"mediante correo electrnico y debera arreglarse en breve. Gracias por su " +"paciencia." + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Buscar" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 resultado" +msgstr[1] "%(counter)s resultados" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s total" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:21 +msgid "History" +msgstr "Histrico" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Fecha/hora" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Usuario" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Accin" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "j M Y P" + +#: contrib/admin/templates/admin/object_history.html:36 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Este objeto no tiene histrico de cambios. Probablemente no fue aadido " +"usando este sitio de administracin." + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Sitio de administracin de Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Administracin de Django" + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Bienvenido," + +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:24 +msgid "Log in" +msgstr "Identificarse" + +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Agregar %(name)s" + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Eliminar" + +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eliminar el %(object_name)s '%(escaped_object)s' provocara la eliminacin " +"de objetos relacionados, pero su cuenta no tiene permiso para borrar los " +"siguientes tipos de objetos:" + +#: contrib/admin/templates/admin/delete_confirmation.html:21 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Est seguro de que quiere borrar los %(object_name)s \"%(escaped_object)s" +"\"? Se borrarn los siguientes objetos relacionados:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "S, estoy seguro" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Pgina no encontrada" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Lo sentimos, pero no se encuentra la pgina solicitada." + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtro" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Grabar como nuevo" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Grabar y aadir otro" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Grabar y continuar editando" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Grabar" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modelos disponibles en la aplicacin %(name)s." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:28 +#: contrib/admin/templates/admin/change_form.html:15 +msgid "Add" +msgstr "Agregar" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Modificar" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "No tiene permiso para editar nada." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Acciones recientes" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Mis acciones" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Ninguno disponible" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostrarlo todo" + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Ver en el sitio" + +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Por favor, corrija el siguiente error." +msgstr[1] "Por favor, corrija los siguientes errores." + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Ordenacin" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Orden:" + +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Algo va mal con la instalacin de la base de datos. Asegrate que las tablas " +"necesarias han sido creadas, y que la base de datos puede ser leda por el " +"usuario apropiado." + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Primero introduzca un nombre de usuario y una contrasea. Luego podr " +"editar el resto de opciones del usuario." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Nombre de usuario" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +msgid "Password" +msgstr "Contrasea" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Password (again)" +msgstr "Contrasea (de nuevo)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +msgid "Enter the same password as above, for verification." +msgstr "Introduzca la misma contrasea que arriba, para verificacin" + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Introduzca una nueva contrasea para el usuario %(username)s." + +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +#: contrib/admin/templates/registration/password_reset_done.html:4 +msgid "Password reset" +msgstr "Recuperar clave" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll reset " +"your password and e-mail the new one to you." +msgstr "" +"Ha olvidado su clave? Introduzca su direccin de correo electrnico, y " +"crearemos una nueva que le enviaremos por correo." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Direccin de correo electrnico:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Recuperar mi clave" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Identificarse de nuevo" + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Est recibiendo este mensaje debido a que solicit recuperar la clave" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "de su cuenta de usuario en %(site_name)s." + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "Su nueva clave es: %(new_password)s" + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "Puede cambiarla accediendo a esta pgina:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Su nombre de usuario, en caso de haberlo olvidado:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Gracias por usar nuestro sitio!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "El equipo de %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Recuperacin de clave exitosa" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." +msgstr "" +"Le hemos enviado una clave nueva a la direccin que ha suministrado. Debera " +"recibirla en breve." + +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_form.html:6 +#: contrib/admin/templates/registration/password_change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:4 +msgid "Password change" +msgstr "Cambio de clave" + +#: contrib/admin/templates/registration/password_change_form.html:12 +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Por favor, introduzca su clave antigua, por seguridad, y despus introduzca " +"la nueva clave dos veces para verificar que la ha escrito correctamente." + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Clave antigua:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Clave nueva:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Confirme clave:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Cambiar mi clave" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Cambio de clave exitoso" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Su clave ha sido cambiada." + +#: contrib/admin/templatetags/admin_list.py:238 +msgid "All dates" +msgstr "Todas las fechas" + +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" +"Por favor, identifquese de nuevo, porque su sesin ha caducado. No se " +"preocupe: se ha guardado su envo." + +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Parece que su navegador no est configurado para aceptar cookies. Actvelas " +"por favor, recargue esta pgina, e intntelo de nuevo." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Los nombres de usuario no pueden contener el carcter '@'." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" +"Su direccin de correo no es su nombre de usuario. Pruebe con '%s' en su " +"lugar." + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "etiqueta:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filtro:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "vista:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Aplicacin %r no encontrada" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr "El modelo %(model_name)s no se ha encontrado en la aplicacin %(app_label)r" + +#: contrib/admin/views/doc.py:184 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "el objeto relacionado`%(app_label)s.%(data_type)s` " + +#: contrib/admin/views/doc.py:185 contrib/admin/views/doc.py:207 +#: contrib/admin/views/doc.py:222 contrib/admin/views/doc.py:227 +msgid "model:" +msgstr "modelo:" + +#: contrib/admin/views/doc.py:216 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "los objetos relacionados `%(app_label)s.%(object_name)s`" + +#: contrib/admin/views/doc.py:222 +#, python-format +msgid "all %s" +msgstr "todo %s" + +#: contrib/admin/views/doc.py:227 +#, python-format +msgid "number of %s" +msgstr "nmero de %s" + +#: contrib/admin/views/doc.py:232 +#, python-format +msgid "Fields on %s objects" +msgstr "Campos en %s objetos" + +#: contrib/admin/views/doc.py:294 contrib/admin/views/doc.py:304 +#: contrib/admin/views/doc.py:306 contrib/admin/views/doc.py:312 +#: contrib/admin/views/doc.py:313 contrib/admin/views/doc.py:315 +msgid "Integer" +msgstr "Entero" + +#: contrib/admin/views/doc.py:295 +msgid "Boolean (Either True or False)" +msgstr "Booleano (Verdadero o Falso)" + +#: contrib/admin/views/doc.py:296 contrib/admin/views/doc.py:314 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Cadena (mximo %(maxlength)s)" + +#: contrib/admin/views/doc.py:297 +msgid "Comma-separated integers" +msgstr "Enteros separados por comas" + +#: contrib/admin/views/doc.py:298 +msgid "Date (without time)" +msgstr "Fecha (sin hora)" + +#: contrib/admin/views/doc.py:299 +msgid "Date (with time)" +msgstr "Fecha (con hora)" + +#: contrib/admin/views/doc.py:300 +msgid "E-mail address" +msgstr "Direccin de correo electrnico" + +#: contrib/admin/views/doc.py:301 contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:305 +msgid "File path" +msgstr "Ruta de fichero" + +#: contrib/admin/views/doc.py:303 +msgid "Decimal number" +msgstr "Nmero decimal" + +#: contrib/admin/views/doc.py:309 +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadero, Falso o Nulo)" + +#: contrib/admin/views/doc.py:310 +msgid "Relation to parent model" +msgstr "Relacin con el modelo padre" + +#: contrib/admin/views/doc.py:311 +msgid "Phone number" +msgstr "Nmero de telfono" + +#: contrib/admin/views/doc.py:316 +msgid "Text" +msgstr "Texto" + +#: contrib/admin/views/doc.py:317 +msgid "Time" +msgstr "Hora" + +#: contrib/admin/views/doc.py:319 +msgid "U.S. state (two uppercase letters)" +msgstr "Estado de los EEUU (dos letras maysculas)" + +#: contrib/admin/views/doc.py:320 +msgid "XML text" +msgstr "Texto XML" + +#: contrib/admin/views/doc.py:346 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s no parece ser un objeto urlpattern" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Sitio administrativo" + +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:19 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "Se aadi con xito el %(name)s \"%(obj)s\"." + +#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 +#: contrib/admin/views/auth.py:24 +msgid "You may edit it again below." +msgstr "Puede editarlo de nuevo abajo." + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "Puede agregar otro %s abajo." + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "Agregar %s" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "Agregado %s." + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "Modificado %s." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "Borrado %s." + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "No ha cambiado ningn campo." + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "Se modific con xito el %(name)s \"%(obj)s." + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "Se agreg con xito el %(name)s \"%(obj)s. Puede editarlo de nuevo abajo." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +#: contrib/admin/views/main.py:473 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Uno o ms %(fieldname)s en %(name)s: %(obj)s" + +#: contrib/admin/views/main.py:478 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Uno o ms %(fieldname)s en %(name)s:" + +#: contrib/admin/views/main.py:511 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Se elimin con xito el %(name)s \"%(obj)s\"." + +#: contrib/admin/views/main.py:514 +msgid "Are you sure?" +msgstr "Est seguro?" + +#: contrib/admin/views/main.py:536 +#, python-format +msgid "Change history: %s" +msgstr "Modificar histrico: %s" + +#: contrib/admin/views/main.py:570 +#, python-format +msgid "Select %s" +msgstr "Escoja %s" + +#: contrib/admin/views/main.py:570 +#, python-format +msgid "Select %s to change" +msgstr "Escoja %s para modificar" + +#: contrib/admin/views/main.py:758 +msgid "Database error" +msgstr "Erorr en la base de datos" + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Aadir usuario" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "La clave se ha cambiado exitosamente." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Cambiar clave: %s" + +#: contrib/localflavor/usa/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Introduzca un cdigo postal en el formato XXXXX o XXXX-XXXX." + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "" +"Introduzca un cdigo postal. Se necesita un espacio entre las dos partes del " +"cdigo." + +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "clave de sesin" + +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "datos de sesin" + +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "fecha de caducidad" + +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "sesin" + +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "sesiones" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "El %(verbose_name)s se ha creado correctamente." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "Se actualiz con xito el %(verbose_name)s." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "El %(verbose_name)s ha sido eliminado." -#, fuzzy -#~ msgid "" -#~ "Please enter a valid decimal number with a whole part of at most %s digit." -#~ msgid_plural "" -#~ "Please enter a valid decimal number with a whole part of at most %s " -#~ "digits." -#~ msgstr[0] "" -#~ "Por favor, introduzca un nmero decimal vlido con a lo ms %s dgito en " -#~ "total." -#~ msgstr[1] "" -#~ "Por favor, introduzca un nmero decimal vlido con a lo ms %s dgitos en " -#~ "total." diff --git a/django/conf/locale/es_AR/LC_MESSAGES/django.mo b/django/conf/locale/es_AR/LC_MESSAGES/django.mo index a247bb23858e243def5ce0c0b5f50e08980e4ebe..717bbcbd050d99e9f9924fab04723cef1e03e70f 100644 GIT binary patch delta 16696 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 diff --git a/django/conf/locale/es_AR/LC_MESSAGES/django.po b/django/conf/locale/es_AR/LC_MESSAGES/django.po index 36cae2f7f2..02f80682e7 100644 --- a/django/conf/locale/es_AR/LC_MESSAGES/django.po +++ b/django/conf/locale/es_AR/LC_MESSAGES/django.po @@ -1,15 +1,13 @@ -# Translation of django.po to Argentinean spanish, based on Spanish -# translation work by Ricardo Javier Crdenes Medina. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. -# Ramiro Morales , 2006. +# FIRST AUTHOR , YEAR # msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-11-05 19:57-0300\n" -"PO-Revision-Date: 2006-11-05 20:00-0300\n" +"POT-Creation-Date: 2007-05-19 13:22-0300\n" +"PO-Revision-Date: 2007-05-19 13:33-0300\n" "Last-Translator: Ramiro Morales \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" @@ -17,203 +15,343 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: contrib/contenttypes/models.py:20 -msgid "python model class name" -msgstr "nombre de la clase python del modelo" +#: newforms/fields.py:82 newforms/fields.py:378 newforms/fields.py:454 +#: newforms/fields.py:465 newforms/models.py:186 +#: db/models/fields/__init__.py:117 db/models/fields/__init__.py:274 +#: db/models/fields/__init__.py:612 db/models/fields/__init__.py:623 +#: oldforms/__init__.py:357 +msgid "This field is required." +msgstr "Este campo es obligatorio." -#: contrib/contenttypes/models.py:23 -msgid "content type" -msgstr "tipo de contenido" +#: newforms/fields.py:105 newforms/fields.py:258 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Asegrese de que este valor tenga como mximo %d caracteres." -#: contrib/contenttypes/models.py:24 -msgid "content types" -msgstr "tipos de contenido" +#: newforms/fields.py:107 newforms/fields.py:260 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Asegrese de que este valor tenga al menos %d caracteres." -#: contrib/auth/views.py:39 -msgid "Logged out" -msgstr "Sesin cerrada" +#: newforms/fields.py:130 core/validators.py:120 +msgid "Enter a whole number." +msgstr "Introduzca un nmero entero." -#: contrib/auth/models.py:38 contrib/auth/models.py:57 -msgid "name" -msgstr "nombre" +#: newforms/fields.py:132 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Asegrese de que este valor sea menor o igual a %s." -#: contrib/auth/models.py:40 -msgid "codename" -msgstr "nombre en cdigo" +#: newforms/fields.py:134 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Asegrese de que este valor sea mayor o igual a %s." -#: contrib/auth/models.py:42 -msgid "permission" -msgstr "permiso" +#: newforms/fields.py:167 +msgid "Enter a valid date." +msgstr "Introduzca una fecha vlida." -#: contrib/auth/models.py:43 contrib/auth/models.py:58 -msgid "permissions" -msgstr "permisos" +#: newforms/fields.py:194 +msgid "Enter a valid time." +msgstr "Introduzca una hora vlida." -#: contrib/auth/models.py:60 -msgid "group" -msgstr "grupo" +#: newforms/fields.py:230 +msgid "Enter a valid date/time." +msgstr "Introduzca una fecha/hora vlida." -#: contrib/auth/models.py:61 contrib/auth/models.py:100 -msgid "groups" -msgstr "grupos" +#: newforms/fields.py:244 +msgid "Enter a valid value." +msgstr "Introduzca un valor vlido." -#: contrib/auth/models.py:90 -msgid "username" -msgstr "nombre de usuario" +#: newforms/fields.py:273 core/validators.py:162 +msgid "Enter a valid e-mail address." +msgstr "Introduzca una direccin de correo electrnico vlida" -#: contrib/auth/models.py:90 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." +#: newforms/fields.py:291 newforms/fields.py:313 +msgid "Enter a valid URL." +msgstr "Introduzca una URL vlida." + +#: newforms/fields.py:315 +msgid "This URL appears to be a broken link." +msgstr "La URL parece ser un enlace roto." + +#: newforms/fields.py:366 newforms/models.py:173 +msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" -"Requerido. Longitud mxima 30 caracteres alfanumricos (letras, dgitos y " -"guiones bajos)." +"Seleccione una opcin vlida. Esa opcin no es una de las opciones " +"disponibles." -#: contrib/auth/models.py:91 -msgid "first name" -msgstr "nombre" +#: newforms/fields.py:382 newforms/fields.py:458 newforms/models.py:190 +msgid "Enter a list of values." +msgstr "Introduzca una lista de valores." -#: contrib/auth/models.py:92 -msgid "last name" -msgstr "apellido" - -#: contrib/auth/models.py:93 -msgid "e-mail address" -msgstr "direccin de correo" - -#: contrib/auth/models.py:94 -msgid "password" -msgstr "contrasea" - -#: contrib/auth/models.py:94 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Use '[algoritmo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:95 -msgid "staff status" -msgstr "es staff" - -#: contrib/auth/models.py:95 -msgid "Designates whether the user can log into this admin site." -msgstr "Indica si el usuario puede ingresar a este sitio de administracin." - -#: contrib/auth/models.py:96 -msgid "active" -msgstr "activo" - -#: contrib/auth/models.py:96 -msgid "" -"Designates whether this user can log into the Django admin. Unselect this " -"instead of deleting accounts." +#: newforms/fields.py:391 newforms/models.py:196 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." msgstr "" -"Indica si el usuario puede ingresar al sitio de administracin Django." -"Desactive este campo en lugar de eliminar usuarios." +"Seleccione una opcin vlida. %s no es una de las opciones disponibles." -#: contrib/auth/models.py:97 -msgid "superuser status" -msgstr "es superusuario" +#: newforms/widgets.py:182 contrib/admin/filterspecs.py:150 +#: oldforms/__init__.py:577 +msgid "Unknown" +msgstr "Desconocido" -#: contrib/auth/models.py:97 -msgid "" -"Designates that this user has all permissions without explicitly assigning " -"them." +#: newforms/widgets.py:182 contrib/admin/filterspecs.py:143 +#: oldforms/__init__.py:577 +msgid "Yes" +msgstr "S" + +#: newforms/widgets.py:182 contrib/admin/filterspecs.py:143 +#: oldforms/__init__.py:577 +msgid "No" +msgstr "No" + +#: utils/dateformat.py:40 +msgid "p.m." msgstr "" -"Indica que este usuario posee todos los permisos, sin asignarle los mismos " -"explcitamente." -#: contrib/auth/models.py:98 -msgid "last login" -msgstr "ltimo registro" - -#: contrib/auth/models.py:99 -msgid "date joined" -msgstr "fecha de creacin" - -#: contrib/auth/models.py:101 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." +#: utils/dateformat.py:41 +msgid "a.m." msgstr "" -"Adems de los permisos asignados manualmente, este usuario tambin poseer " -"todos los permisos de los grupos a los que pertenezca." -#: contrib/auth/models.py:102 -msgid "user permissions" -msgstr "permisos de usuario" - -#: contrib/auth/models.py:105 -msgid "user" -msgstr "usuario" - -#: contrib/auth/models.py:106 -msgid "users" -msgstr "usuarios" - -#: contrib/auth/models.py:111 -msgid "Personal info" -msgstr "Informacin personal" - -#: contrib/auth/models.py:112 -msgid "Permissions" -msgstr "Permisos" - -#: contrib/auth/models.py:113 -msgid "Important dates" -msgstr "Fechas importantes" - -#: contrib/auth/models.py:114 -msgid "Groups" -msgstr "Grupos" - -#: contrib/auth/models.py:258 -msgid "message" -msgstr "mensaje" - -#: contrib/auth/forms.py:16 -msgid "The two password fields didn't match." -msgstr "Los dos campos de contraseas no coinciden entre si." - -#: contrib/auth/forms.py:24 -msgid "A user with that username already exists." -msgstr "Ya existe un usuario con ese nombre." - -#: contrib/auth/forms.py:52 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." +#: utils/dateformat.py:46 +msgid "PM" msgstr "" -"Su navegador Web aparenta no tener cookies activas. Las cookies son un " -"requerimiento para poder ingresar." -#: contrib/auth/forms.py:59 contrib/admin/views/decorators.py:10 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." +#: utils/dateformat.py:47 +msgid "AM" msgstr "" -"Por favor ingrese un nombre de usuario y una contrasea correctos. Note que " -"ambos campos son sensibles a maysculas/minsculas." -#: contrib/auth/forms.py:61 -msgid "This account is inactive." -msgstr "Esta cuenta est inactiva" +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "medianoche" -#: contrib/auth/forms.py:84 -msgid "" -"That e-mail address doesn't have an associated user account. Are you sure " -"you've registered?" +#: utils/dateformat.py:97 +msgid "noon" +msgstr "medioda" + +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "ao" +msgstr[1] "aos" + +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "mes" +msgstr[1] "meses" + +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "semana" +msgstr[1] "semanas" + +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "da" +msgstr[1] "das" + +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hora" +msgstr[1] "horas" + +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuto" +msgstr[1] "minutos" + +#: utils/timesince.py:40 +#, python-format +msgid "%d milliseconds" +msgstr "%d milisegundos" + +#: utils/timesince.py:41 +#, python-format +msgid "%(number)d %(type)s" msgstr "" -"Esa direccin de e-mail no est asociada a ninguna cuenta de usuario. Est " -"seguro de que ya se ha registrado?" -#: contrib/auth/forms.py:116 -msgid "The two 'new password' fields didn't match." -msgstr "Los dos campos 'nueva contrasea' no coinciden entre si." - -#: contrib/auth/forms.py:123 -msgid "Your old password was entered incorrectly. Please enter it again." +#: utils/timesince.py:47 +#, python-format +msgid ", %(number)d %(type)s" msgstr "" -"La antigua contrasea ingresada es incorrecta. Por favor ingrsela " -"nuevamente." + +#: utils/dates.py:6 +msgid "Monday" +msgstr "Lunes" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Martes" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Mircoles" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Jueves" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "Viernes" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Sbado" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Domingo" + +#: utils/dates.py:14 +msgid "January" +msgstr "Enero" + +#: utils/dates.py:14 +msgid "February" +msgstr "Febrero" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "Marzo" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "Abril" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "Mayo" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "Junio" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "Julio" + +#: utils/dates.py:15 +msgid "August" +msgstr "Agosto" + +#: utils/dates.py:15 +msgid "September" +msgstr "Setiembre" + +#: utils/dates.py:15 +msgid "October" +msgstr "Octubre" + +#: utils/dates.py:15 +msgid "November" +msgstr "Noviembre" + +#: utils/dates.py:16 +msgid "December" +msgstr "Diciembre" + +#: utils/dates.py:19 +msgid "jan" +msgstr "ene" + +#: utils/dates.py:19 +msgid "feb" +msgstr "feb" + +#: utils/dates.py:19 +msgid "mar" +msgstr "mar" + +#: utils/dates.py:19 +msgid "apr" +msgstr "abr" + +#: utils/dates.py:19 +msgid "may" +msgstr "may" + +#: utils/dates.py:19 +msgid "jun" +msgstr "jun" + +#: utils/dates.py:20 +msgid "jul" +msgstr "jul" + +#: utils/dates.py:20 +msgid "aug" +msgstr "ago" + +#: utils/dates.py:20 +msgid "sep" +msgstr "set" + +#: utils/dates.py:20 +msgid "oct" +msgstr "oct" + +#: utils/dates.py:20 +msgid "nov" +msgstr "nov" + +#: utils/dates.py:20 +msgid "dec" +msgstr "dic" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "Enero" + +#: utils/dates.py:27 +msgid "Feb." +msgstr "Feb." + +#: utils/dates.py:28 +msgid "Aug." +msgstr "Ago." + +#: utils/dates.py:28 +msgid "Sept." +msgstr "Set." + +#: utils/dates.py:28 +msgid "Oct." +msgstr "Oct." + +#: utils/dates.py:28 +msgid "Nov." +msgstr "Nov." + +#: utils/dates.py:28 +msgid "Dec." +msgstr "Dic." + +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "j N Y" + +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "j N Y P" + +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "j \\de F" #: contrib/redirects/models.py:7 msgid "redirect from" @@ -247,6 +385,1651 @@ msgstr "redirecci msgid "redirects" msgstr "redirecciones" +#: contrib/auth/models.py:44 contrib/auth/models.py:64 +msgid "name" +msgstr "nombre" + +#: contrib/auth/models.py:46 +msgid "codename" +msgstr "nombre en cdigo" + +#: contrib/auth/models.py:49 +msgid "permission" +msgstr "permiso" + +#: contrib/auth/models.py:50 contrib/auth/models.py:65 +msgid "permissions" +msgstr "permisos" + +#: contrib/auth/models.py:68 +msgid "group" +msgstr "grupo" + +#: contrib/auth/models.py:69 contrib/auth/models.py:109 +msgid "groups" +msgstr "grupos" + +#: contrib/auth/models.py:99 +msgid "username" +msgstr "nombre de usuario" + +#: contrib/auth/models.py:99 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Requerido. Longitud mxima 30 caracteres alfanumricos (letras, dgitos y " +"guiones bajos)." + +#: contrib/auth/models.py:100 +msgid "first name" +msgstr "nombre" + +#: contrib/auth/models.py:101 +msgid "last name" +msgstr "apellido" + +#: contrib/auth/models.py:102 +msgid "e-mail address" +msgstr "direccin de correo" + +#: contrib/auth/models.py:103 +msgid "password" +msgstr "contrasea" + +#: contrib/auth/models.py:103 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Use '[algo]$[salt]$[hexdigest]' o use el formulario de " +"cambio de contrasea." + +#: contrib/auth/models.py:104 +msgid "staff status" +msgstr "es staff" + +#: contrib/auth/models.py:104 +msgid "Designates whether the user can log into this admin site." +msgstr "Indica si el usuario puede ingresar a este sitio de administracin." + +#: contrib/auth/models.py:105 +msgid "active" +msgstr "activo" + +#: contrib/auth/models.py:105 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Indica si el usuario puede ingresar al sitio de administracin Django." +"Desactive este campo en lugar de eliminar usuarios." + +#: contrib/auth/models.py:106 +msgid "superuser status" +msgstr "es superusuario" + +#: contrib/auth/models.py:106 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Indica que este usuario posee todos los permisos, sin asignarle los mismos " +"explcitamente." + +#: contrib/auth/models.py:107 +msgid "last login" +msgstr "ltimo ingreso" + +#: contrib/auth/models.py:108 +msgid "date joined" +msgstr "fecha de creacin" + +#: contrib/auth/models.py:110 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"Adems de los permisos asignados manualmente, este usuario tambin poseer " +"todos los permisos de los grupos a los que pertenezca." + +#: contrib/auth/models.py:111 +msgid "user permissions" +msgstr "permisos de usuario" + +#: contrib/auth/models.py:115 +msgid "user" +msgstr "usuario" + +#: contrib/auth/models.py:116 +msgid "users" +msgstr "usuarios" + +#: contrib/auth/models.py:122 +msgid "Personal info" +msgstr "Informacin personal" + +#: contrib/auth/models.py:123 +msgid "Permissions" +msgstr "Permisos" + +#: contrib/auth/models.py:124 +msgid "Important dates" +msgstr "Fechas importantes" + +#: contrib/auth/models.py:125 +msgid "Groups" +msgstr "Grupos" + +#: contrib/auth/models.py:269 +msgid "message" +msgstr "mensaje" + +#: contrib/auth/models.py:282 +msgid "AnonymousUser" +msgstr "UsuarioAnonimo" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "Los dos campos de contraseas no coinciden entre si." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Ya existe un usuario con ese nombre." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Su navegador Web aparenta no tener cookies activas. Las cookies son un " +"requerimiento para poder ingresar." + +#: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"Por favor introduzca un nombre de usuario y una contrasea correctos. Note " +"que ambos campos son sensibles a maysculas/minsculas." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Esta cuenta est inactiva" + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Esa direccin de e-mail no est asociada a ninguna cuenta de usuario. Est " +"seguro de que ya se ha registrado?" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Los dos campos 'nueva contrasea' no coinciden entre si." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "" +"La antigua contrasea ingresada es incorrecta. Por favor ingrsela " +"nuevamente." + +#: contrib/auth/views.py:40 +msgid "Logged out" +msgstr "Sesin cerrada" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

                          By %s:

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

                            Por %s:

                            \n" +"
                              \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Todos/as" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Cualquier fecha" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Hoy" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "ltimos 7 das" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Este mes" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Este ao" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "hora de accin" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "id de objeto" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "repr de objeto" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "marca de accin" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "mensaje de cambio" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "entrada de registro" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "entradas de registro" + +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "Identificarse" + +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" +"Por favor, identifquese de nuevo porque su sesin ha caducado. No se " +"preocupe: se ha guardado su envo." + +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Parece que su navegador no est configurado para aceptar cookies. Actvelas " +"por favor, recargue esta pgina, e intntelo de nuevo." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Los nombres de usuario no pueden contener el carcter '@'." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" +"Su direccin de correo no es su nombre de usuario. Intente nuevamente usando " +"'%s'." + +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "Se agreg con xito %(name)s \"%(obj)s\"." + +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 +msgid "You may edit it again below." +msgstr "Puede modificarlo nuevamente abajo." + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Agregar usuario" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Cambio de contrasea exitoso" + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Cambiar contrasea: %s" + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "etiqueta:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filtrar:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "ver:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Aplicacin %r no encontrada" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "Modelo %(name)r no encontrado en aplicacin %(label)r" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "el objeto relacionado `%(label)s%(type)s`" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "modelo:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "objetos relacionados `%(label)s.%(name)s`" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "todos %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "nmero de %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Campos en %s objetos" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +msgid "Integer" +msgstr "Entero" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Booleano (Verdadero o Falso)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Cadena (mximo %(maxlength)s)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Enteros separados por comas" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Fecha (sin hora)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "Fecha (con hora)" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "Direccin de correo electrnico" + +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "Ruta de archivo" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "Nmero decimal" + +#: contrib/admin/views/doc.py:304 contrib/comments/models.py:85 +msgid "IP address" +msgstr "Direccin IP" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadero, Falso o Nulo)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "Relacin con el modelo padre" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "Nmero de telfono" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "Texto" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "Hora" + +#: 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 "Estado de los EE.UU. (dos letras maysculas)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "Texto XML" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s no parece ser un objeto urlpattern" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Sitio administrativo" + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "Puede agregar otro %s abajo." + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "Agregar %s" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "Agregado %s." + +#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:339 db/models/manipulators.py:308 +msgid "and" +msgstr "y" + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "Modifica %s." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "Elimina %s." + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "No ha modificado ningn campo." + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "Se modific con xito %(name)s \"%(obj)s\"." + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"Se agreg con xito %(name)s \"%(obj)s\". Puede modificarlo nuevamente abajo." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +#: contrib/admin/views/main.py:476 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Uno o ms %(fieldname)s en %(name)s: %(obj)s" + +#: contrib/admin/views/main.py:481 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Uno o ms %(fieldname)s en %(name)s:" + +#: contrib/admin/views/main.py:514 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Se elimin con xito %(name)s \"%(obj)s\"." + +#: contrib/admin/views/main.py:517 +msgid "Are you sure?" +msgstr "Est seguro?" + +#: contrib/admin/views/main.py:539 +#, python-format +msgid "Change history: %s" +msgstr "Historia de modificaciones: %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s" +msgstr "Seleccione %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s to change" +msgstr "Seleccione %s a modificar" + +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Error de base de datos" + +#: contrib/admin/templatetags/admin_list.py:247 +msgid "All dates" +msgstr "Todas las fechas" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Fecha:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Hora:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Actualmente" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Modificar:" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modelos disponibles en la aplicacin %(name)s." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:28 +#: contrib/admin/templates/admin/change_form.html:15 +msgid "Add" +msgstr "Agregar" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Modificar" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "No tiene permiso para editar nada." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Acciones recientes" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Mis acciones" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Ninguna disponible" + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtrar" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Buscar" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "un resultado" +msgstr[1] "%(counter)s resultados" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "total: %(full_result_count)s" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostrar todos/as" + +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Documentacin" + +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +msgid "Change password" +msgstr "Cambiar contrasea" + +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "Cerrar sesin" + +#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/change_list.html:6 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "Inicio" + +#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/object_history.html:5 +msgid "History" +msgstr "Historia" + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Ver en el sitio" + +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Por favor, corrija el siguiente error." +msgstr[1] "Por favor, corrija los siguientes errores." + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Ordenacin" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Orden:" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Pgina no encontrada" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Lo sentimos, pero no se encuentra la pgina solicitada." + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Sitio de administracin de Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Administracin de Django" + +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Agregar %(name)s" + +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "Usuario:" + +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "Contrasea:" + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Bienvenido," + +#: contrib/admin/templates/admin/submit_line.html:3 +#: contrib/admin/templates/admin/delete_confirmation.html:9 +msgid "Delete" +msgstr "Eliminar" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Grabar como nuevo" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Grabar y aadir otro" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Grabar y continuar editando" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Grabar" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Fecha/hora" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Usuario" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Accin" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "j M Y P" + +#: contrib/admin/templates/admin/object_history.html:36 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Este objeto no tiene historia de modificaciones. Probablemente no fu " +"aadido usando este sitio de administracin." + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Error del servidor" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Error de servidor (500)" + +#: contrib/admin/templates/admin/500.html:10 +msgid "" +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ha ocurrido un error. Se ha informado a los administradores del sitio " +"mediante correo electrnico y debera ser solucionado en breve. Gracias por " +"su paciencia." + +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eliminar el %(object_name)s '%(escaped_object)s' provocara la eliminacin " +"de objetos relacionados, pero su cuenta no tiene permiso para eliminar los " +"siguientes tipos de objetos:" + +#: contrib/admin/templates/admin/delete_confirmation.html:21 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Est seguro de que quiere eliminar los %(object_name)s \"%(escaped_object)s" +"\"? Se eliminarn los siguientes objetos relacionados:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "S, estoy seguro" + +#: contrib/admin/templates/admin/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 "" +"Hay algn problema con su instalacin de base de datos. Asegrese de que las " +"tablas de la misma hayan sido creadas, y asegrese de que el usuario " +"apropiado tenga permisos de lectura en la base de datos." + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Introduzca una nueva contrasea para el usuario %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Contrasea:" + +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Contrasea (de nuevo)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Para verificacin, introduzca la misma contrasea que ingres arriba." + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Primero, introduzca un nombre de usuario y una contrasea. Luego podr " +"configurar opciones adicionales." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Nombre de usuario:" + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_form.html:6 +#: contrib/admin/templates/registration/password_change_form.html:10 +msgid "Password change" +msgstr "Cambio de contrasea" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Cambio de contrasea exitoso" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Su contrasea ha sido cambiada." + +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +#: contrib/admin/templates/registration/password_reset_done.html:4 +msgid "Password reset" +msgstr "Recuperar contrasea" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll reset " +"your password and e-mail the new one to you." +msgstr "" +"Ha olvidado su contrasea? Introduzca su direccin de correo electrnico, y " +"crearemos una nueva que le enviaremos por correo." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Direccin de correo electrnico:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Recuperar mi contrasea" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Recuperacin de contrasea exitosa" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." +msgstr "" +"Le hemos enviado una nueva contrasea a la direccin que ha suministrado. " +"Debera recibirla en breve." + +#: contrib/admin/templates/registration/password_change_form.html:12 +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Por favor, por razones de seguridad, introduzca su contrasea antigua, y " +"luego introduzca la nueva contrasea dos veces para verificar que la ha " +"escrito correctamente." + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Contrasea antigua:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Contrasea nueva:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Confirme contrasea:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Cambiar mi contrasea" + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "" +"Est recibiendo este mensaje debido a que solicit recuperar la contrasea" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "de su cuenta de usuario en %(site_name)s." + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "Su nueva contrasea es: %(new_password)s" + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "Puede cambiarla accediendo a esta pgina:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Su nombre de usuario, en caso de haberlo olvidado:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Gracias por usar nuestro sitio!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "El equipo de %(site_name)s" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Identificarse de nuevo" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Bookmarklets" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "Bookmarklets de documentacin" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

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

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

                              Para instalar bookmarklets, arrastre el enlace a su barra\n" +"de favoritos, o pulse con el botn derecho el enlace y adalo a sus " +"favoritos.\n" +"Ahora puede seleccionar el bookmarklet desde cualquier pgina en el sitio.\n" +"Tenga en cuenta que algunos de estos bookmarklets precisan que est viendo\n" +"el sitio desde un equipo sealado como \"interno\" (hable\n" +"con su administrador de sistemas si no est seguro de si el suyo lo es).\n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Documentacin de esta pgina" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"Le lleva desde cualquier pgina a la documentacin de la vista que la genera." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "Mostrar ID de objeto" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Muestra el tipo de contenido e ID unvoco de las pginas que representan un " +"nico objeto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Editar este objeto (ventana actual)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"Le lleva a la pgina de administracin de pginas que representan un nico " +"objeto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Editar este objeto (nueva ventana)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "" +"Como antes, pero abre la pgina de administracin en una nueva ventana." + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "nombre de dominio" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "nombre para visualizar" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "sitio" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "sitios" + +#: contrib/sessions/models.py:68 +msgid "session key" +msgstr "clave de sesin" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "datos de sesin" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "fecha de caducidad" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "sesin" + +#: contrib/sessions/models.py:75 +msgid "sessions" +msgstr "sesiones" + +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "nombre de la clase python del modelo" + +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "tipo de contenido" + +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "tipos de contenido" + +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Ejemplo: '/about/contact/'. Asegrese de que pone barras al principio y al " +"final." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "ttulo" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "contenido" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "activar comentarios" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "nombre de plantilla" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Ejemplo: 'flatpages/contact_page.html'. Si no lo proporciona, el sistema " +"usar 'flatpages/default.html'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "debe estar registrado" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Si est marcado, slo los usuarios registrados podrn ver la pgina." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "pgina esttica" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "pginas estticas" + +#: contrib/localflavor/no/forms.py:15 contrib/localflavor/ch/forms.py:18 +msgid "Enter a zip code in the format XXXX." +msgstr "Introduzca un zip code en formato XXX." + +#: contrib/localflavor/no/forms.py:36 +msgid "Enter a valid Norwegian social security number." +msgstr "Introduzca un nmero de seguridad social Noruego vlido." + +#: contrib/localflavor/us/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Introduzca un zip code en el formato XXXXX o XXXXX-XXXX." + +#: contrib/localflavor/us/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Introduzca un Nmero de Seguridad Social en formato XXX-XX-XXXX." + +#: 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/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Introduzca un cdigo postal en formato XXXXXX o XXX-XXXX." + +#: contrib/localflavor/ch/forms.py:90 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" +"Introduzca un nmero vlido de tarjeta de identidad o pasaporte Suizos en " +"formato X1234567<0 o 1234567890." + +#: 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/fi/forms.py:14 contrib/localflavor/de/forms.py:16 +#: contrib/localflavor/fr/forms.py:17 +msgid "Enter a zip code in the format XXXXX." +msgstr "Introduzca un zip code en formato XXXXX." + +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +msgid "Enter a valid Finnish social security number." +msgstr "Introduzca un nmero de seguridad social finlands vlido." + +#: contrib/localflavor/au/forms.py:18 +msgid "Enter a 4 digit post code." +msgstr "Introduzca un post code de 4 dgitos." + +#: contrib/localflavor/is_/forms.py:16 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" +"Introduzca un nmero de identificacin islands vlido. El formato es XXXXXX-" +"XXXX." + +#: contrib/localflavor/is_/forms.py:30 +msgid "The Icelandic identification number is not valid." +msgstr "El nmero de identificacin islands no es vlido." + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "" +"Introduzca un postcode. Se requiere un espacio entre las dos secciones del " +"mismo." + +#: 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:60 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"Introduzca un nmero de tarjeta de identidad alemn vlido en formato " +"XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." + +#: contrib/localflavor/br/forms.py:18 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Introduzca un zip code en formato XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Los nmeros telefnicos deben respetar el formato XX-XXXX-XXXX." + +#: contrib/localflavor/br/forms.py:72 +msgid "This field requires only numbers." +msgstr "Este campo permite slo valores numricos." + +#: contrib/localflavor/br/forms.py:74 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Este campo requiere como mximo 11 dgitos o 14 caracteres." + +#: contrib/localflavor/br/forms.py:84 +msgid "Invalid CPF number." +msgstr "Nmero CPF invlido." + +#: contrib/localflavor/br/forms.py:106 +msgid "This field requires at least 14 digits" +msgstr "Este campo requiere al menos 14 dgitos." + +#: contrib/localflavor/br/forms.py:116 +msgid "Invalid CNPJ number." +msgstr "Nmero CNPJ invlido." + +#: contrib/localflavor/cl/forms.py:21 +msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Introduzca un RUT chileno vlido. EL formato es XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:26 +msgid "Enter valid a Chilean RUT" +msgstr "Introduzca un RUT chileno vlido." + +#: contrib/localflavor/it/forms.py:16 +msgid "Enter a valid zip code." +msgstr "Introduzca un zip code vlido." + +#: contrib/localflavor/it/forms.py:41 +msgid "Enter a valid Social Security number." +msgstr "Introduzca un nmero de Seguridad Social vlido." + +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "Introduzca un nmero VAT vlido." + #: contrib/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" msgstr "ID de objeto" @@ -304,10 +2087,6 @@ msgstr "fecha/hora de env msgid "is public" msgstr "es pblico" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 -msgid "IP address" -msgstr "Direccin IP" - #: contrib/comments/models.py:86 msgid "is removed" msgstr "est eliminado" @@ -439,7 +2218,7 @@ msgstr "ID de comentario no v #: contrib/comments/views/karma.py:25 msgid "No voting for yourself" -msgstr "No puedes votarte t mismo" +msgstr "Ud. no puede votarse a s mismo" #: contrib/comments/views/comments.py:27 msgid "" @@ -470,13 +2249,13 @@ msgstr[1] "" "%(text)s" #: contrib/comments/views/comments.py:116 -#, fuzzy, python-format +#, python-format msgid "" "This comment was posted by a sketchy user:\n" "\n" "%(text)s" msgstr "" -"Este comentario ha sido enviado por un usuario 'sketcky':\n" +"Este comentario ha sido enviado por un usuario 'semi-annimo':\n" "\n" "%(text)s" @@ -511,52 +2290,6 @@ msgstr "" msgid "The comment form didn't provide either 'preview' or 'post'" msgstr "El formulario de comentario no proporcion 'previsualizar' ni 'enviar'" -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "Su nombre:" - -#: contrib/comments/templates/comments/freeform.html:5 -#: contrib/comments/templates/comments/form.html:28 -msgid "Comment:" -msgstr "Comentario:" - -#: contrib/comments/templates/comments/freeform.html:10 -#: contrib/comments/templates/comments/form.html:35 -msgid "Preview comment" -msgstr "Previsualizar comentario" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" -msgstr "Usuario:" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Log out" -msgstr "Cerrar sesin" - -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Contrasea:" - #: contrib/comments/templates/comments/form.html:8 msgid "Forgotten your password?" msgstr "Olvid su contrasea?" @@ -579,1322 +2312,148 @@ msgstr "Opcional" msgid "Post a photo" msgstr "Enviar una foto" -#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:315 -msgid "URL" -msgstr "URL" - -#: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "" -"Ejemplo: '/about/contact/'. Asegrese de que pone barras al principio y al " -"final." - -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "ttulo" - -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "contenido" - -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "activar comentarios" - -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "nombre de plantilla" - -#: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " -"will use 'flatpages/default.html'." -msgstr "" -"Ejemplo: 'flatpages/contact_page.html'. Si no lo proporciona, el sistema " -"usar 'flatpages/default.html'." - -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "debe estar registrado" - -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Si est marcado, slo los usuarios registrados podrn ver la pgina." - -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "pgina esttica" - -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "pginas estticas" - -#: contrib/sessions/models.py:51 -msgid "session key" -msgstr "clave de sesin" - -#: contrib/sessions/models.py:52 -msgid "session data" -msgstr "datos de sesin" - -#: contrib/sessions/models.py:53 -msgid "expire date" -msgstr "fecha de caducidad" - -#: contrib/sessions/models.py:57 -msgid "session" -msgstr "sesin" - -#: contrib/sessions/models.py:58 -msgid "sessions" -msgstr "sesiones" - -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "nombre de dominio" - -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "nombre para visualizar" - -#: contrib/sites/models.py:15 -msgid "site" -msgstr "sitio" - -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "sitios" - -#: contrib/admin/filterspecs.py:40 -#, python-format -msgid "" -"

                              By %s:

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

                                Por %s:

                                \n" -"
                                  \n" - -#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 -msgid "All" -msgstr "Todos/as" - -#: contrib/admin/filterspecs.py:109 -msgid "Any date" -msgstr "Cualquier fecha" - -#: contrib/admin/filterspecs.py:110 -msgid "Today" -msgstr "Hoy" - -#: contrib/admin/filterspecs.py:113 -msgid "Past 7 days" -msgstr "ltimos 7 das" - -#: contrib/admin/filterspecs.py:115 -msgid "This month" -msgstr "Este mes" - -#: contrib/admin/filterspecs.py:117 -msgid "This year" -msgstr "Este ao" - -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "S" - -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "No" - -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Desconocido" - -#: contrib/admin/models.py:16 -msgid "action time" -msgstr "hora de accin" - -#: contrib/admin/models.py:19 -msgid "object id" -msgstr "id de objeto" - -#: contrib/admin/models.py:20 -msgid "object repr" -msgstr "repr de objeto" - -#: contrib/admin/models.py:21 -msgid "action flag" -msgstr "marca de accin" - -#: contrib/admin/models.py:22 -msgid "change message" -msgstr "mensaje de cambio" - -#: contrib/admin/models.py:25 -msgid "log entry" -msgstr "entrada de registro" - -#: contrib/admin/models.py:26 -msgid "log entries" -msgstr "entradas de registro" - -#: contrib/admin/templatetags/admin_list.py:230 -msgid "All dates" -msgstr "Todas las fechas" - -#: contrib/admin/views/decorators.py:24 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "Identificarse" - -#: contrib/admin/views/decorators.py:62 -msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." -msgstr "" -"Por favor, identifquese de nuevo porque su sesin ha caducado. No se " -"preocupe: se ha guardado su envo." - -#: contrib/admin/views/decorators.py:69 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "" -"Parece que su navegador no est configurado para aceptar cookies. Actvelas " -"por favor, recargue esta pgina, e intntelo de nuevo." - -#: contrib/admin/views/decorators.py:83 -msgid "Usernames cannot contain the '@' character." -msgstr "Los nombres de usuario no pueden contener el carcter '@'." - -#: contrib/admin/views/decorators.py:85 -#, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "" -"Su direccin de correo no es su nombre de usuario. Pruebe con '%s' en su " -"lugar." - -#: contrib/admin/views/main.py:223 -msgid "Site administration" -msgstr "Sitio administrativo" - -#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:18 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "Se agreg con xito %(name)s \"%(obj)s\"." - -#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 -#: contrib/admin/views/auth.py:23 -msgid "You may edit it again below." -msgstr "Puede modificarlo nuevamente abajo." - -#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 -#, python-format -msgid "You may add another %s below." -msgstr "Puede agregar otro %s abajo." - -#: contrib/admin/views/main.py:289 -#, python-format -msgid "Add %s" -msgstr "Agregar %s" - -#: contrib/admin/views/main.py:335 -#, python-format -msgid "Added %s." -msgstr "Agregado %s." - -#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 -#: contrib/admin/views/main.py:339 db/models/manipulators.py:306 -msgid "and" -msgstr "y" - -#: contrib/admin/views/main.py:337 -#, python-format -msgid "Changed %s." -msgstr "Modifica %s." - -#: contrib/admin/views/main.py:339 -#, python-format -msgid "Deleted %s." -msgstr "Elimina %s." - -#: contrib/admin/views/main.py:342 -msgid "No fields changed." -msgstr "No ha modificado ningn campo." - -#: contrib/admin/views/main.py:345 -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "Se modific con xito %(name)s \"%(obj)s." - -#: contrib/admin/views/main.py:353 -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" -"Se agreg con xito %(name)s \"%(obj)s. Puede modificarlo nuevamente abajo." - -#: contrib/admin/views/main.py:391 -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -#: contrib/admin/views/main.py:473 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Uno o ms %(fieldname)s en %(name)s: %(obj)s" - -#: contrib/admin/views/main.py:478 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Uno o ms %(fieldname)s en %(name)s:" - -#: contrib/admin/views/main.py:511 -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Se elimin con xito %(name)s \"%(obj)s\"." - -#: contrib/admin/views/main.py:514 -msgid "Are you sure?" -msgstr "Est seguro?" - -#: contrib/admin/views/main.py:536 -#, python-format -msgid "Change history: %s" -msgstr "Historia de modificaciones: %s" - -#: contrib/admin/views/main.py:570 -#, python-format -msgid "Select %s" -msgstr "Seleccione %s" - -#: contrib/admin/views/main.py:570 -#, python-format -msgid "Select %s to change" -msgstr "Seleccione %s a modificar" - -#: contrib/admin/views/main.py:758 -msgid "Database error" -msgstr "Error de base de datos" - -#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 -#: contrib/admin/views/doc.py:50 -msgid "tag:" -msgstr "etiqueta:" - -#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 -#: contrib/admin/views/doc.py:81 -msgid "filter:" -msgstr "Filtrar:" - -#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 -#: contrib/admin/views/doc.py:139 -msgid "view:" -msgstr "ver:" - -#: contrib/admin/views/doc.py:164 -#, python-format -msgid "App %r not found" -msgstr "App %r no encontrada" - -#: contrib/admin/views/doc.py:171 -#, python-format -msgid "Model %r not found in app %r" -msgstr "Modelo %r no encontrado en app %r" - -#: contrib/admin/views/doc.py:183 -#, python-format -msgid "the related `%s.%s` object" -msgstr "El objeto relacionado `%s.%s`" - -#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 -#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 -msgid "model:" -msgstr "modelo:" - -#: contrib/admin/views/doc.py:214 -#, python-format -msgid "related `%s.%s` objects" -msgstr "objetos relacionados `%s.%s`" - -#: contrib/admin/views/doc.py:219 -#, python-format -msgid "all %s" -msgstr "todos %s" - -#: contrib/admin/views/doc.py:224 -#, python-format -msgid "number of %s" -msgstr "nmero de %s" - -#: contrib/admin/views/doc.py:229 -#, python-format -msgid "Fields on %s objects" -msgstr "Capos en %s objetos" - -#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 -#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 -#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 -msgid "Integer" -msgstr "Entero" - -#: contrib/admin/views/doc.py:292 -msgid "Boolean (Either True or False)" -msgstr "Booleano (Verdadero o Falso)" - -#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 -#, python-format -msgid "String (up to %(maxlength)s)" -msgstr "Cadena (mximo %(maxlength)s)" - -#: contrib/admin/views/doc.py:294 -msgid "Comma-separated integers" -msgstr "Enteros separados por comas" - -#: contrib/admin/views/doc.py:295 -msgid "Date (without time)" -msgstr "Fecha (sin hora)" - -#: contrib/admin/views/doc.py:296 -msgid "Date (with time)" -msgstr "Fecha (con hora)" - -#: contrib/admin/views/doc.py:297 -msgid "E-mail address" -msgstr "Direccin de correo electrnico" - -#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 -#: contrib/admin/views/doc.py:302 -msgid "File path" -msgstr "Ruta de archivo" - -#: contrib/admin/views/doc.py:300 -msgid "Decimal number" -msgstr "Nmero decimal" - -#: contrib/admin/views/doc.py:306 -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (Verdadero, Falso o Nulo)" - -#: contrib/admin/views/doc.py:307 -msgid "Relation to parent model" -msgstr "Relacin con el modelo padre" - -#: contrib/admin/views/doc.py:308 -msgid "Phone number" -msgstr "Nmero de telfono" - -#: contrib/admin/views/doc.py:313 -msgid "Text" -msgstr "Texto" - -#: contrib/admin/views/doc.py:314 -msgid "Time" -msgstr "Hora" - -#: contrib/admin/views/doc.py:316 -msgid "U.S. state (two uppercase letters)" -msgstr "Estado de los EEUU (dos letras maysculas)" - -#: contrib/admin/views/doc.py:317 -msgid "XML text" -msgstr "Texto XML" - -#: contrib/admin/views/doc.py:343 -#, python-format -msgid "%s does not appear to be a urlpattern object" -msgstr "%s no parece ser un objeto urlpattern" - -#: contrib/admin/views/auth.py:29 -msgid "Add user" -msgstr "Agregar usuario" - -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Actualmente" - -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Modificar:" - -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Fecha:" - -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Hora:" - -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Documentation" -msgstr "Documentacin" - -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Change password" -msgstr "Cambiar contrasea" - -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/change_form.html:13 -#: contrib/admin/templates/admin/base.html:30 -#: contrib/admin/templates/admin/delete_confirmation.html:6 -#: contrib/admin/templates/admin/invalid_setup.html:4 -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/logged_out.html:4 -#: contrib/admin/templates/registration/password_reset_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Home" -msgstr "Inicio" - -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 -msgid "History" -msgstr "Historia" - -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "Fecha/hora" - -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "Usuario" - -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "Accin" - -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" -msgstr "j M Y P" - -#: contrib/admin/templates/admin/object_history.html:36 -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Este objeto no tiene historia de modificaciones. Probablemente no fue " -"aadido usando este sitio de administracin." - -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Agregar %(name)s" - -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(filter_title)s " -msgstr " Por %(filter_title)s " - -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "Error del servidor" - -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "Error del servidor (500)" - -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "Error de servidor (500)" - -#: contrib/admin/templates/admin/500.html:10 -msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." -msgstr "" -"Ha ocurrido un error. Se ha informado a los administradores del sitio " -"mediante correo electrnico y debera arreglarse en breve. Gracias por su " -"paciencia" - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Buscar" - -#: contrib/admin/templates/admin/search_form.html:10 -#, python-format -msgid "1 result" -msgid_plural "%(counter)s results" -msgstr[0] "un resultado" -msgstr[1] "%(counter)s resultados" - -#: contrib/admin/templates/admin/search_form.html:10 -#, python-format -msgid "%(full_result_count)s total" -msgstr "total: %(full_result_count)s" - -#: contrib/admin/templates/admin/pagination.html:10 -msgid "Show all" -msgstr "Mostrar todos/as" - -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Sitio de administracin de Django" - -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Administracin de Django" - -#: contrib/admin/templates/admin/index.html:17 -#, python-format -msgid "Models available in the %(name)s application." -msgstr "Modelos disponibles en la aplicacin %(name)s." - -#: contrib/admin/templates/admin/index.html:18 -#, python-format -msgid "%(name)s" -msgstr "%(name)s" - -#: contrib/admin/templates/admin/index.html:28 -#: contrib/admin/templates/admin/change_form.html:15 -msgid "Add" -msgstr "Agregar" - -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "Modificar" - -#: contrib/admin/templates/admin/index.html:44 -msgid "You don't have permission to edit anything." -msgstr "No tiene permiso para editar nada." - -#: contrib/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "Acciones recientes" - -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "Mis acciones" - -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "Ninguna disponible" - -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "Pgina no encontrada" - -#: contrib/admin/templates/admin/404.html:10 -msgid "We're sorry, but the requested page could not be found." -msgstr "Lo sentimos, pero no se encuentra la pgina solicitada." - -#: contrib/admin/templates/admin/filters.html:4 -msgid "Filter" -msgstr "Filtrar" - -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "Ver en el sitio" - -#: contrib/admin/templates/admin/change_form.html:30 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Por favor, corrija el siguiente error." -msgstr[1] "Por favor, corrija los siguientes errores." - -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Ordenacin" - -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Orden:" - -#: contrib/admin/templates/admin/base.html:25 -msgid "Welcome," -msgstr "Bienvenido," - -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "Eliminar" - -#: contrib/admin/templates/admin/delete_confirmation.html:14 -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Eliminar el %(object_name)s '%(escaped_object)s' provocara la eliminacin " -"de objetos relacionados, pero su cuenta no tiene permiso para eliminar los " -"siguientes tipos de objetos:" - -#: contrib/admin/templates/admin/delete_confirmation.html:21 -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Est seguro de que quiere eliminar los %(object_name)s \"%(escaped_object)s" -"\"? Se eliminarn los siguientes objetos relacionados:" - -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "S, estoy seguro" - -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "Grabar como nuevo" - -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "Grabar y aadir otro" - -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "Grabar y continuar editando" - -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "Grabar" - -#: contrib/admin/templates/admin/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 "" -"hay algn problema con su instalacin de base de datos. Asegrese de que las " -"tablas de la misma hayan sido creadas, y asegrese de que el usuario " -"apropiado tenga permisos de escritura en la base de datos." - -#: contrib/admin/templates/admin/auth/user/add_form.html:6 -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Primero, ingrese un nombre de usuario y una contrasea. Luego podr " -"configurar opciones adicionales." - -#: contrib/admin/templates/admin/auth/user/add_form.html:12 -msgid "Username" -msgstr "Nombre de usuario:" - -#: contrib/admin/templates/admin/auth/user/add_form.html:18 -msgid "Password" -msgstr "Contrasea:" - -#: contrib/admin/templates/admin/auth/user/add_form.html:23 -msgid "Password (again)" -msgstr "Contrasea (de nuevo)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:24 -msgid "Enter the same password as above, for verification." -msgstr "Para verificacin, ingrese la misma contrasea que ingres arriba." - -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_form.html:6 -#: contrib/admin/templates/registration/password_change_form.html:10 -msgid "Password change" -msgstr "Cambio de contrasea" - -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" -msgstr "Cambio de contrasea exitoso" - -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "Su contrasea ha sido cambiada." - -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:6 -#: contrib/admin/templates/registration/password_reset_form.html:10 -#: contrib/admin/templates/registration/password_reset_done.html:4 -msgid "Password reset" -msgstr "Recuperar contrasea" - -#: contrib/admin/templates/registration/password_reset_form.html:12 -msgid "" -"Forgotten your password? Enter your e-mail address below, and we'll reset " -"your password and e-mail the new one to you." -msgstr "" -"Ha olvidado su contrasea? Introduzca su direccin de correo electrnico, y " -"crearemos una nueva que le enviaremos por correo." - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "Direccin de correo electrnico:" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "Recuperar mi cntrasea" - -#: contrib/admin/templates/registration/logged_out.html:8 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." - -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "Identificarse de nuevo" - -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "Recuperacin de contrasea exitosa" - -#: contrib/admin/templates/registration/password_reset_done.html:12 -msgid "" -"We've e-mailed a new password to the e-mail address you submitted. You " -"should be receiving it shortly." -msgstr "" -"Le hemos enviado una nueva contrasea a la direccin que ha suministrado. " -"Debera recibirla en breve." - -#: contrib/admin/templates/registration/password_change_form.html:12 -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Por favor, introduzca su contrasea antigua, por seguridad, y despus " -"introduzca la nueva contrasea dos veces para verificar que la ha escrito " -"correctamente." - -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Contrasea antigua:" - -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "Contrasea nueva:" - -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "Confirme contrasea:" - -#: contrib/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "Cambiar mi contrasea" - -#: contrib/admin/templates/registration/password_reset_email.html:2 -msgid "You're receiving this e-mail because you requested a password reset" -msgstr "" -"Est recibiendo este mensaje debido a que solicit recuperar la contrasea" - -#: contrib/admin/templates/registration/password_reset_email.html:3 -#, python-format -msgid "for your user account at %(site_name)s" -msgstr "de su cuenta de usuario en %(site_name)s." - -#: contrib/admin/templates/registration/password_reset_email.html:5 -#, python-format -msgid "Your new password is: %(new_password)s" -msgstr "Su nueva contrasea es: %(new_password)s" - -#: contrib/admin/templates/registration/password_reset_email.html:7 -msgid "Feel free to change this password by going to this page:" -msgstr "Puede cambiarla accediendo a esta pgina:" - -#: contrib/admin/templates/registration/password_reset_email.html:11 -msgid "Your username, in case you've forgotten:" -msgstr "Su nombre de usuario, en caso de haberlo olvidado:" - -#: contrib/admin/templates/registration/password_reset_email.html:13 -msgid "Thanks for using our site!" -msgstr "Gracias por usar nuestro sitio!" - -#: contrib/admin/templates/registration/password_reset_email.html:15 -#, python-format -msgid "The %(site_name)s team" -msgstr "El equipo de %(site_name)s" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "Bookmarklets" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "Bookmarklets de documentacin" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 -msgid "" -"\n" -"

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

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

                                  Para instalar bookmarklets, arrastre el enlace a su barra\n" -"de favoritos, o pulse con el botn derecho el enlace y adalo a sus " -"favoritos.\n" -"Ahora puede sleccionar el bookmarklet desde cualquier pgina en el sitio.\n" -"Observer que algunos de estos bookmarklets precisan que est viendo\n" -"el sitio desde un equipo sealado como \"interno\" (hable\n" -"con su administrador de sistemas si no est seguro de si el suyo lo es).\n" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "Documentacin de esta pgina" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:20 -msgid "" -"Jumps you from any page to the documentation for the view that generates " -"that page." -msgstr "" -"Le lleva desde cualquier pgina a la documentacin de la vista que la genera." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "Mostrar ID de objeto" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "" -"Muestra el tipo de contenido e ID unvoco de las pginas que representan un " -"nico objeto." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "Editar este objeto (ventana actual)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 -msgid "Jumps to the admin page for pages that represent a single object." -msgstr "" -"Le lleva a la pgina de administracin de pginas que representan un nico " -"objeto." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "Editar este objeto (nueva ventana)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 -msgid "As above, but opens the admin page in a new window." -msgstr "" -"Como antes, pero abre la pgina de administracin en una nueva ventana." - -#: utils/dates.py:6 -msgid "Monday" -msgstr "Lunes" - -#: utils/dates.py:6 -msgid "Tuesday" -msgstr "Martes" - -#: utils/dates.py:6 -msgid "Wednesday" -msgstr "Mircoles" - -#: utils/dates.py:6 -msgid "Thursday" -msgstr "Jueves" - -#: utils/dates.py:6 -msgid "Friday" -msgstr "Viernes" - -#: utils/dates.py:7 -msgid "Saturday" -msgstr "Sbado" - -#: utils/dates.py:7 -msgid "Sunday" -msgstr "Domingo" - -#: utils/dates.py:14 -msgid "January" -msgstr "Enero" - -#: utils/dates.py:14 -msgid "February" -msgstr "Febrero" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "March" -msgstr "Marzo" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "April" -msgstr "Abril" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "May" -msgstr "Mayo" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "June" -msgstr "Junio" - -#: utils/dates.py:15 utils/dates.py:27 -msgid "July" -msgstr "Julio" - -#: utils/dates.py:15 -msgid "August" -msgstr "Agosto" - -#: utils/dates.py:15 -msgid "September" -msgstr "Setiembre" - -#: utils/dates.py:15 -msgid "October" -msgstr "Octubre" - -#: utils/dates.py:15 -msgid "November" -msgstr "Noviembre" - -#: utils/dates.py:16 -msgid "December" -msgstr "Diciembre" - -#: utils/dates.py:19 -msgid "jan" -msgstr "ene" - -#: utils/dates.py:19 -msgid "feb" +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "Comentario:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "Previsualizar comentario" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Su nombre:" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" msgstr "" -#: utils/dates.py:19 -msgid "mar" +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" msgstr "" -#: utils/dates.py:19 -msgid "apr" -msgstr "abr" - -#: utils/dates.py:19 -msgid "may" +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" msgstr "" -#: utils/dates.py:19 -msgid "jun" +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" msgstr "" -#: utils/dates.py:20 -msgid "jul" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f milln" +msgstr[1] "%(value).1f millones" -#: utils/dates.py:20 -msgid "aug" -msgstr "ago" +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f millardo" +msgstr[1] "%(value).1f millardos" -#: utils/dates.py:20 -msgid "sep" -msgstr "set" +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f billn" +msgstr[1] "%(value).1f billones" -#: utils/dates.py:20 -msgid "oct" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "uno" -#: utils/dates.py:20 -msgid "nov" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "dos" -#: utils/dates.py:20 -msgid "dec" -msgstr "dic" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "tres" -#: utils/dates.py:27 -msgid "Jan." -msgstr "Enero" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "cuatro" -#: utils/dates.py:27 -msgid "Feb." -msgstr "" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "cinco" -#: utils/dates.py:28 -msgid "Aug." -msgstr "Ago." +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "seis" -#: utils/dates.py:28 -msgid "Sept." -msgstr "Set." +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "siete" -#: utils/dates.py:28 -msgid "Oct." -msgstr "" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "ocho" -#: utils/dates.py:28 -msgid "Nov." -msgstr "" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "nueve" -#: utils/dates.py:28 -msgid "Dec." -msgstr "Dic." - -#: utils/timesince.py:12 -msgid "year" -msgid_plural "years" -msgstr[0] "ao" -msgstr[1] "aos" - -#: utils/timesince.py:13 -msgid "month" -msgid_plural "months" -msgstr[0] "mes" -msgstr[1] "meses" - -#: utils/timesince.py:14 -msgid "week" -msgid_plural "weeks" -msgstr[0] "semana" -msgstr[1] "semanas" - -#: utils/timesince.py:15 -msgid "day" -msgid_plural "days" -msgstr[0] "da" -msgstr[1] "das" - -#: utils/timesince.py:16 -msgid "hour" -msgid_plural "hours" -msgstr[0] "hora" -msgstr[1] "horas" - -#: utils/timesince.py:17 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "minuto" -msgstr[1] "minutos" - -#: utils/translation/trans_real.py:362 -msgid "DATE_FORMAT" -msgstr "j N Y" - -#: utils/translation/trans_real.py:363 -msgid "DATETIME_FORMAT" -msgstr "j N Y P" - -#: utils/translation/trans_real.py:364 -msgid "TIME_FORMAT" -msgstr "P" - -#: utils/translation/trans_real.py:380 -msgid "YEAR_MONTH_FORMAT" -msgstr "F Y" - -#: utils/translation/trans_real.py:381 -msgid "MONTH_DAY_FORMAT" -msgstr "j \\de F" - -#: conf/global_settings.py:39 -msgid "Arabic" -msgstr "rabe" - -#: conf/global_settings.py:40 -msgid "Bengali" -msgstr "Bengal" - -#: conf/global_settings.py:41 -msgid "Czech" -msgstr "Checo" - -#: conf/global_settings.py:42 -msgid "Welsh" -msgstr "Gals" - -#: conf/global_settings.py:43 -msgid "Danish" -msgstr "Dans" - -#: conf/global_settings.py:44 -msgid "German" -msgstr "Alemn" - -#: conf/global_settings.py:45 -msgid "Greek" -msgstr "Griego" - -#: conf/global_settings.py:46 -msgid "English" -msgstr "Ingls" - -#: conf/global_settings.py:47 -msgid "Spanish" -msgstr "Espaol" - -#: conf/global_settings.py:48 -msgid "Argentinean Spanish" -msgstr "Espaol Argentino" - -#: conf/global_settings.py:49 -msgid "Finnish" -msgstr "Finlands" - -#: conf/global_settings.py:50 -msgid "French" -msgstr "Francs" - -#: conf/global_settings.py:51 -msgid "Galician" -msgstr "Gallego" - -#: conf/global_settings.py:52 -msgid "Hungarian" -msgstr "Hngaro" - -#: conf/global_settings.py:53 -msgid "Hebrew" -msgstr "Hebreo" - -#: conf/global_settings.py:54 -msgid "Icelandic" -msgstr "Islands" - -#: conf/global_settings.py:55 -msgid "Italian" -msgstr "Italiano" - -#: conf/global_settings.py:56 -msgid "Japanese" -msgstr "Japons" - -#: conf/global_settings.py:57 -msgid "Dutch" -msgstr "Holands" - -#: conf/global_settings.py:58 -msgid "Norwegian" -msgstr "Noruego" - -#: conf/global_settings.py:59 -msgid "Polish" -msgstr "Polaco" - -#: conf/global_settings.py:60 -msgid "Brazilian" -msgstr "Brasileo" - -#: conf/global_settings.py:61 -msgid "Romanian" -msgstr "Rumano" - -#: conf/global_settings.py:62 -msgid "Russian" -msgstr "Ruso" - -#: conf/global_settings.py:63 -msgid "Slovak" -msgstr "Eslovaco" - -#: conf/global_settings.py:64 -msgid "Slovenian" -msgstr "Esloveno" - -#: conf/global_settings.py:65 -msgid "Serbian" -msgstr "Serbio" - -#: conf/global_settings.py:66 -msgid "Swedish" -msgstr "Sueco" - -#: conf/global_settings.py:67 -msgid "Tamil" -msgstr "Tamil" - -#: conf/global_settings.py:68 -msgid "Turkish" -msgstr "Turco" - -#: conf/global_settings.py:69 -msgid "Ukrainian" -msgstr "Ucraniano" - -#: conf/global_settings.py:70 -msgid "Simplified Chinese" -msgstr "Chino simplificado" - -#: conf/global_settings.py:71 -msgid "Traditional Chinese" -msgstr "Chino tradicional" - -#: db/models/manipulators.py:305 +#: db/models/manipulators.py:307 #, python-format msgid "%(object)s with this %(type)s already exists for the given %(field)s." msgstr "Ya existe un(a) %(object)s con este/a %(type)s para %(field)s." -#: db/models/fields/__init__.py:41 +#: db/models/fields/__init__.py:42 #, python-format msgid "%(optname)s with this %(fieldname)s already exists." msgstr "Ya existe %(optname)s con este %(fieldname)s." -#: db/models/fields/__init__.py:115 db/models/fields/__init__.py:266 -#: db/models/fields/__init__.py:569 db/models/fields/__init__.py:580 -#: forms/__init__.py:347 -msgid "This field is required." -msgstr "Este campo es obligatorio." - -#: db/models/fields/__init__.py:349 +#: db/models/fields/__init__.py:369 msgid "This value must be an integer." msgstr "Este valor debe ser un nmero entero." -#: db/models/fields/__init__.py:381 +#: db/models/fields/__init__.py:404 msgid "This value must be either True or False." msgstr "Este valor debe ser True o False." -#: db/models/fields/__init__.py:397 +#: db/models/fields/__init__.py:425 msgid "This field cannot be null." msgstr "Este campo no puede ser nulo." -#: db/models/fields/__init__.py:424 core/validators.py:146 +#: db/models/fields/__init__.py:459 core/validators.py:148 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Introduzca una fecha vlida en formato AAAA-MM-DD." -#: db/models/fields/__init__.py:488 core/validators.py:155 +#: db/models/fields/__init__.py:528 core/validators.py:157 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Introduzca una fecha/hora vlida en formato YYYY-MM-DD HH:MM." +msgstr "Introduzca una fecha/hora vlida en formato AAAA-MM-DD HH:MM." -#: db/models/fields/__init__.py:589 +#: db/models/fields/__init__.py:632 msgid "Enter a valid filename." -msgstr "Introduzca un nombre de achivo vlido" +msgstr "Introduzca un nombre de archivo vlido." -#: db/models/fields/related.py:51 +#: db/models/fields/__init__.py:753 +msgid "This value must be either None, True or False." +msgstr "Este valor debe ser None, True o False." + +#: db/models/fields/related.py:53 #, python-format msgid "Please enter a valid %s." msgstr "Por favor, introduzca un %s vlido." -#: db/models/fields/related.py:618 +#: db/models/fields/related.py:642 msgid "Separate multiple IDs with commas." -msgstr " Separe mltiples IDs con comas." +msgstr " Separe mltiples identificadores con comas." -#: db/models/fields/related.py:620 +#: db/models/fields/related.py:644 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" -"Mantenga presionada \"Control\" (\"Command\" en un Mac) para seleccionar ms " -"de uno." +"Mantenga presionada \"Control\" (\"Command\" en una Mac) para seleccionar " +"ms de uno." -#: db/models/fields/related.py:664 +#: db/models/fields/related.py:691 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -1906,48 +2465,253 @@ msgstr[1] "" "Por favor, introduzca IDs de %(self)s vlidos. Los valores %(value)r no son " "vlidos." -#: forms/__init__.py:382 +#: oldforms/__init__.py:392 #, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Asegrese de que su texto tiene menos de %s carcter." +msgstr[0] "Asegrese de que su texto tiene menos de %s caracter." msgstr[1] "Asegrese de que su texto tiene menos de %s caracteres." -#: forms/__init__.py:387 +#: oldforms/__init__.py:397 msgid "Line breaks are not allowed here." msgstr "No se permiten saltos de lnea." -#: forms/__init__.py:488 forms/__init__.py:561 forms/__init__.py:600 +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." msgstr "Seleccione una opcin vlida; '%(data)s' no est en %(choices)s." -#: forms/__init__.py:662 core/validators.py:172 core/validators.py:401 +#: oldforms/__init__.py:672 core/validators.py:174 core/validators.py:445 msgid "No file was submitted. Check the encoding type on the form." msgstr "" "No se envi un archivo. Verifique el tipo de codificacin en el formulario." -#: forms/__init__.py:664 +#: oldforms/__init__.py:674 msgid "The submitted file is empty." msgstr "El archivo enviado est vaco." -#: forms/__init__.py:720 +#: oldforms/__init__.py:730 msgid "Enter a whole number between -32,768 and 32,767." msgstr "Introduzca un nmero entero entre -32.768 y 32.767." -#: forms/__init__.py:730 +#: oldforms/__init__.py:740 msgid "Enter a positive number." msgstr "Introduzca un nmero positivo." -#: forms/__init__.py:740 +#: oldforms/__init__.py:750 msgid "Enter a whole number between 0 and 32,767." msgstr "Introduzca un nmero entero entre 0 y 32.767." -#: core/validators.py:63 +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "Se cre con xito %(verbose_name)s." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "Se actualiz con xito %(verbose_name)s." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "Se elimin %(verbose_name)s." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "rabe" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengal" + +#: conf/global_settings.py:41 +msgid "Bulgarian" +msgstr "Blgaro" + +#: conf/global_settings.py:42 +msgid "Catalan" +msgstr "Cataln" + +#: conf/global_settings.py:43 +msgid "Czech" +msgstr "Checo" + +#: conf/global_settings.py:44 +msgid "Welsh" +msgstr "Gals" + +#: conf/global_settings.py:45 +msgid "Danish" +msgstr "Dans" + +#: conf/global_settings.py:46 +msgid "German" +msgstr "Alemn" + +#: conf/global_settings.py:47 +msgid "Greek" +msgstr "Griego" + +#: conf/global_settings.py:48 +msgid "English" +msgstr "Ingls" + +#: conf/global_settings.py:49 +msgid "Spanish" +msgstr "Espaol" + +#: conf/global_settings.py:50 +msgid "Argentinean Spanish" +msgstr "Espaol Argentino" + +#: conf/global_settings.py:51 +msgid "Finnish" +msgstr "Finlands" + +#: conf/global_settings.py:52 +msgid "French" +msgstr "Francs" + +#: conf/global_settings.py:53 +msgid "Galician" +msgstr "Gallego" + +#: conf/global_settings.py:54 +msgid "Hungarian" +msgstr "Hngaro" + +#: conf/global_settings.py:55 +msgid "Hebrew" +msgstr "Hebreo" + +#: conf/global_settings.py:56 +msgid "Icelandic" +msgstr "Islands" + +#: conf/global_settings.py:57 +msgid "Italian" +msgstr "Italiano" + +#: conf/global_settings.py:58 +msgid "Japanese" +msgstr "Japons" + +#: conf/global_settings.py:59 +msgid "Korean" +msgstr "Koreano" + +#: conf/global_settings.py:60 +msgid "Kannada" +msgstr "Canars" + +#: conf/global_settings.py:61 +msgid "Latvian" +msgstr "Letn" + +#: conf/global_settings.py:62 +msgid "Macedonian" +msgstr "Macedonio" + +#: conf/global_settings.py:63 +msgid "Dutch" +msgstr "Holands" + +#: conf/global_settings.py:64 +msgid "Norwegian" +msgstr "Noruego" + +#: conf/global_settings.py:65 +msgid "Polish" +msgstr "Polaco" + +#: conf/global_settings.py:66 +msgid "Portugese" +msgstr "Portugus" + +#: conf/global_settings.py:67 +msgid "Brazilian" +msgstr "Brasileo" + +#: conf/global_settings.py:68 +msgid "Romanian" +msgstr "Rumano" + +#: conf/global_settings.py:69 +msgid "Russian" +msgstr "Ruso" + +#: conf/global_settings.py:70 +msgid "Slovak" +msgstr "Eslovaco" + +#: conf/global_settings.py:71 +msgid "Slovenian" +msgstr "Esloveno" + +#: conf/global_settings.py:72 +msgid "Serbian" +msgstr "Serbio" + +#: conf/global_settings.py:73 +msgid "Swedish" +msgstr "Sueco" + +#: conf/global_settings.py:74 +msgid "Tamil" +msgstr "Tamil" + +#: conf/global_settings.py:75 +msgid "Telugu" +msgstr "Telugu" + +#: conf/global_settings.py:76 +msgid "Turkish" +msgstr "Turco" + +#: conf/global_settings.py:77 +msgid "Ukrainian" +msgstr "Ucraniano" + +#: conf/global_settings.py:78 +msgid "Simplified Chinese" +msgstr "Chino simplificado" + +#: conf/global_settings.py:79 +msgid "Traditional Chinese" +msgstr "Chino tradicional" + +#: template/defaultfilters.py:491 +msgid "yes,no,maybe" +msgstr "si,no,talvez" + +#: template/defaultfilters.py:520 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#: template/defaultfilters.py:522 +#, python-format +msgid "%.1f KB" +msgstr "" + +#: template/defaultfilters.py:524 +#, python-format +msgid "%.1f MB" +msgstr "" + +#: template/defaultfilters.py:525 +#, python-format +msgid "%.1f GB" +msgstr "" + +#: core/validators.py:64 msgid "This value must contain only letters, numbers and underscores." msgstr "Este valor debe contener slo letras, nmeros y guiones bajos." -#: core/validators.py:67 +#: core/validators.py:68 msgid "" "This value must contain only letters, numbers, underscores, dashes or " "slashes." @@ -1955,69 +2719,61 @@ msgstr "" "Este valor debe contener slo letras, nmeros, guiones bajos, guiones o " "barras (/)" -#: core/validators.py:71 +#: core/validators.py:72 msgid "This value must contain only letters, numbers, underscores or hyphens." msgstr "" "Este valor debe contener slo letras, nmeros, guiones bajos o guiones." -#: core/validators.py:75 +#: core/validators.py:76 msgid "Uppercase letters are not allowed here." msgstr "No se admiten letras maysculas." -#: core/validators.py:79 +#: core/validators.py:80 msgid "Lowercase letters are not allowed here." msgstr "No se admiten letras minsculas." -#: core/validators.py:86 +#: core/validators.py:87 msgid "Enter only digits separated by commas." msgstr "Introduzca slo dgitos separados por comas." -#: core/validators.py:98 +#: core/validators.py:99 msgid "Enter valid e-mail addresses separated by commas." msgstr "Introduzca direcciones de correo vlidas separadas por comas." -#: core/validators.py:102 +#: core/validators.py:103 msgid "Please enter a valid IP address." msgstr "Por favor introduzca una direccin IP vlida." -#: core/validators.py:106 +#: core/validators.py:107 msgid "Empty values are not allowed here." msgstr "No se admiten valores vacos." -#: core/validators.py:110 +#: core/validators.py:111 msgid "Non-numeric characters aren't allowed here." msgstr "No se admiten caracteres no numricos." -#: core/validators.py:114 +#: core/validators.py:115 msgid "This value can't be comprised solely of digits." msgstr "Este valor no puede estar formado slo por dgitos." -#: core/validators.py:119 -msgid "Enter a whole number." -msgstr "Introduzca un nmero entero." - -#: core/validators.py:123 +#: core/validators.py:124 msgid "Only alphabetical characters are allowed here." msgstr "Slo se admiten caracteres alfabticos." -#: core/validators.py:138 +#: core/validators.py:139 msgid "Year must be 1900 or later." msgstr "El ao debe ser 1900 o posterior." -#: core/validators.py:142 +#: core/validators.py:143 #, python-format -msgid "Invalid date: %s." -msgstr "Fecha no vlida: %s." +msgid "Invalid date: %s" +msgstr "Fecha no vlida: %s" -#: core/validators.py:151 +#: core/validators.py:153 msgid "Enter a valid time in HH:MM format." msgstr "Introduzca una hora vlida en formato HH:MM." -#: core/validators.py:160 -msgid "Enter a valid e-mail address." -msgstr "Introduzca una direccin de correo electrnico vlida" - -#: core/validators.py:176 +#: core/validators.py:178 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -2025,28 +2781,28 @@ msgstr "" "Enve una imagen vlida. El archivo que ha enviado no era una imagen o se " "trataba de una imagen corrupta." -#: core/validators.py:183 +#: core/validators.py:185 #, python-format msgid "The URL %s does not point to a valid image." msgstr "La URL %s no apunta a una imagen vlida." -#: core/validators.py:187 +#: core/validators.py:189 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." msgstr "" "Los nmeros telefnicos deben respetar el formato XXX-XXX-XXXX. \"%s\" no es " "vlido." -#: core/validators.py:195 +#: core/validators.py:197 #, python-format msgid "The URL %s does not point to a valid QuickTime video." msgstr "La URL %s no apunta a un vdeo QuickTime vlido." -#: core/validators.py:199 +#: core/validators.py:201 msgid "A valid URL is required." msgstr "Se precisa una URL vlida." -#: core/validators.py:213 +#: core/validators.py:215 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" @@ -2055,81 +2811,96 @@ msgstr "" "Se precisa HTML vlido. Los errores especficos son:\n" "%s" -#: core/validators.py:220 +#: core/validators.py:222 #, python-format msgid "Badly formed XML: %s" msgstr "XML mal formado: %s" -#: core/validators.py:230 +#: core/validators.py:239 #, python-format msgid "Invalid URL: %s" msgstr "URL no vlida: %s" -#: core/validators.py:234 core/validators.py:236 +#: core/validators.py:244 core/validators.py:246 #, python-format msgid "The URL %s is a broken link." msgstr "La URL %s es un enlace roto." -#: core/validators.py:242 +#: core/validators.py:252 msgid "Enter a valid U.S. state abbreviation." -msgstr "Introduzca una abreviatura vlida de estado de los EEUU." +msgstr "Introduzca una abreviatura vlida de estado de los EE.UU." -#: core/validators.py:256 +#: core/validators.py:266 #, python-format msgid "Watch your mouth! The word %s is not allowed here." msgid_plural "Watch your mouth! The words %s are not allowed here." msgstr[0] "Vigila tu boca! Aqu no admitimos la palabra %s." msgstr[1] "Vigila tu boca! Aqu no admitimos las palabras %s." -#: core/validators.py:263 +#: core/validators.py:273 #, python-format msgid "This field must match the '%s' field." msgstr "Este campo debe concordar con el campo '%s'." -#: core/validators.py:282 +#: core/validators.py:292 msgid "Please enter something for at least one field." msgstr "Por favor, introduzca algo en al menos un campo." -#: core/validators.py:291 core/validators.py:302 +#: core/validators.py:301 core/validators.py:312 msgid "Please enter both fields or leave them both empty." msgstr "Por favor, rellene ambos campos o deje ambos vacos." -#: core/validators.py:309 +#: core/validators.py:320 #, python-format msgid "This field must be given if %(field)s is %(value)s" msgstr "Se debe proporcionar este campo si %(field)s es %(value)s" -#: core/validators.py:321 +#: core/validators.py:333 #, python-format msgid "This field must be given if %(field)s is not %(value)s" msgstr "Se debe proporcionar este campo si %(field)s no es %(value)s" -#: core/validators.py:340 +#: core/validators.py:352 msgid "Duplicate values are not allowed." msgstr "No se admiten valores duplicados." -#: core/validators.py:363 +#: core/validators.py:367 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Este valor debe estar entre %(lower)s y %(upper)s." + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "Este valor debe ser al menos %s." + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "Este valor debe ser no mayor que %s." + +#: core/validators.py:407 #, python-format msgid "This value must be a power of %s." msgstr "Este valor debe ser una potencia de %s." -#: core/validators.py:374 +#: core/validators.py:418 msgid "Please enter a valid decimal number." msgstr "Por favor, introduzca un nmero decimal vlido." -#: core/validators.py:378 +#: core/validators.py:422 #, python-format msgid "Please enter a valid decimal number with at most %s total digit." msgid_plural "" "Please enter a valid decimal number with at most %s total digits." msgstr[0] "" -"Por favor, introduzca un nmero decimal vlido con con un mximo de un " -"dgito en total." +"Por favor, introduzca un nmero decimal vlido con un mximo de un dgito en " +"total." msgstr[1] "" "Por favor, introduzca un nmero decimal vlido con un maximo de %s dgitos " "en total." -#: core/validators.py:381 +#: core/validators.py:425 #, python-format msgid "" "Please enter a valid decimal number with a whole part of at most %s digit." @@ -2142,7 +2913,7 @@ msgstr[1] "" "Por favor, introduzca un nmero decimal vlido con un mximo de %s dgitos " "enteros." -#: core/validators.py:384 +#: core/validators.py:428 #, python-format msgid "Please enter a valid decimal number with at most %s decimal place." msgid_plural "" @@ -2154,30 +2925,32 @@ msgstr[1] "" "Por favor, introduzca un nmero decimal vlido con un mximo de %s " "posiciones decimales." -#: core/validators.py:394 +#: core/validators.py:438 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Asegrese de que el archivo que enva tiene al menos %s bytes." +msgstr "" +"Asegrese de que el archivo que enva es de un tamao mnimo de %s bytes." -#: core/validators.py:395 +#: core/validators.py:439 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Asegrese de que el archivo que enva tiene como mximo %s bytes." +msgstr "" +"Asegrese de que el archivo que enva es de un tamao mximo de %s bytes." -#: core/validators.py:412 +#: core/validators.py:456 msgid "The format for this field is wrong." msgstr "El formato de este campo es incorrecto." -#: core/validators.py:427 +#: core/validators.py:471 msgid "This field is invalid." msgstr "Este campo no es vlido." -#: core/validators.py:463 +#: core/validators.py:507 #, python-format msgid "Could not retrieve anything from %s." -msgstr "No pude obtener nada de %s." +msgstr "No se pudo obtener nada de %s." -#: core/validators.py:466 +#: core/validators.py:510 #, python-format msgid "" "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." @@ -2185,78 +2958,62 @@ msgstr "" "La URL %(url)s devolvi la cabecera Content-Type '%(contenttype)s', que no " "es vlida." -#: core/validators.py:499 +#: core/validators.py:543 #, python-format msgid "" "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " "\"%(start)s\".)" msgstr "" "Por favor, cierre la etiqueta %(tag)s de la lnea %(line)s. (La lnea " -"empieza por \"%(start)s\".)" +"empieza con \"%(start)s\".)" -#: core/validators.py:503 +#: core/validators.py:547 #, python-format msgid "" "Some text starting on line %(line)s is not allowed in that context. (Line " "starts with \"%(start)s\".)" msgstr "" "Parte del texto que comienza en la lnea %(line)s no est permitido en ese " -"contexto. (La lnea empieza por \"%(start)s\".)" +"contexto. (La lnea empieza con \"%(start)s\".)" -#: core/validators.py:508 +#: core/validators.py:552 #, python-format msgid "" "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" "(start)s\".)" msgstr "" "El \"%(attr)s\" de la lnea %(line)s no es un atributo vlido. (La lnea " -"empieza por \"%(start)s\".)" +"empieza con \"%(start)s\".)" -#: core/validators.py:513 +#: core/validators.py:557 #, python-format msgid "" "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" "(start)s\".)" msgstr "" "La \"<%(tag)s>\" de la lnea %(line)s no es una etiqueta vlida. (La lnea " -"empieza por \"%(start)s\".)" +"empieza con \"%(start)s\".)" -#: core/validators.py:517 +#: core/validators.py:561 #, python-format msgid "" "A tag on line %(line)s is missing one or more required attributes. (Line " "starts with \"%(start)s\".)" msgstr "" "A una etiqueta de la lnea %(line)s le faltan uno o ms atributos " -"requeridos. (La lnea empieza por \"%(start)s\".)" +"requeridos. (La lnea empieza con \"%(start)s\".)" -#: core/validators.py:522 +#: core/validators.py:566 #, python-format msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " "starts with \"%(start)s\".)" msgstr "" "El atributo \"%(attr)s\" de la lnea %(line)s tiene un valor que no es " -"vlido. (La lnea empieza por \"%(start)s\".)" +"vlido. (La lnea empieza con \"%(start)s\".)" -#: template/defaultfilters.py:401 -msgid "yes,no,maybe" -msgstr "si,no,tal vez" - -#: views/generic/create_update.py:43 -#, python-format -msgid "The %(verbose_name)s was created successfully." -msgstr "Se cre con xito %(verbose_name)." - -#: views/generic/create_update.py:117 -#, python-format -msgid "The %(verbose_name)s was updated successfully." -msgstr "Se actualiz con xito %(verbose_name)s." - -#: views/generic/create_update.py:184 -#, python-format -msgid "The %(verbose_name)s was deleted." -msgstr "Se elimin %(verbose_name)s." +#~ msgid "Use '[algo]$[salt]$[hexdigest]'" +#~ msgstr "Use '[algoritmo]$[salt]$[hexdigest]'" #~ msgid "Have you forgotten your password?" #~ msgstr "Ha olvidado su contrasea?" diff --git a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.mo b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.mo index 3f89e3e33f3c15436125e413b284b2b7026ce415..d8e3cc6fd6a488b72c0ce397e8b8c69fe4d35bc7 100644 GIT binary patch delta 44 qcmZ3%vw~;CU1nZ$T>~RsBU1%Kb1M^z$*-8Dkwr{RHw&?dF#!M$RtlW} delta 44 xcmZ3%vw~;CU1nZ0T?0#9BU1%KQ!4|@$*-8DK_aHQhGq(e23AG}n}t}!m;eqx3XuQ+ diff --git a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po index 1865de9450..91ecb09eed 100644 --- a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po @@ -1,15 +1,14 @@ # Argentinean spanish translation for the django-admin JS files, based on # Spanish translation work by Jorge Gajon. -# Copyright (C) -# This file is distributed under the same license as the PACKAGE package. -# Ramiro Morales , 2006. +# This file is distributed under the same license as the Django package. +# Copyright (C) Ramiro Morales , 2006,2007. # msgid "" msgstr "" "Project-Id-Version: Django JavaScript 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-09-25 15:09-0300\n" -"PO-Revision-Date: 2006-05-16 10:20-0300\n" +"POT-Creation-Date: 2007-02-25 17:48-0300\n" +"PO-Revision-Date: 2007-02-25 17:55-0300\n" "Last-Translator: Ramiro Morales \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" diff --git a/django/conf/locale/fi/LC_MESSAGES/django.mo b/django/conf/locale/fi/LC_MESSAGES/django.mo index 1e690716fd7407ed1b8c309067d898f5be3cc237..024d2ad98b1e5ede4edd8d27d78283f78c0c5db9 100644 GIT binary patch delta 10225 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 LnX__^Za4n}zf@17 diff --git a/django/conf/locale/fi/LC_MESSAGES/django.po b/django/conf/locale/fi/LC_MESSAGES/django.po index 9b91982e6b..275feaaf81 100644 --- a/django/conf/locale/fi/LC_MESSAGES/django.po +++ b/django/conf/locale/fi/LC_MESSAGES/django.po @@ -93,7 +93,7 @@ msgstr "tšekki" #: conf/global_settings.py:42 msgid "Welsh" -msgstr "" +msgstr "wales" #: conf/global_settings.py:43 msgid "Danish" @@ -169,15 +169,15 @@ msgstr "venäjä" #: conf/global_settings.py:61 msgid "Slovak" -msgstr "" +msgstr "slovakia" #: conf/global_settings.py:62 msgid "Slovenian" -msgstr "" +msgstr "slovenia" #: conf/global_settings.py:63 msgid "Serbian" -msgstr "" +msgstr "serbia" #: conf/global_settings.py:64 msgid "Swedish" @@ -189,15 +189,15 @@ msgstr "" #: conf/global_settings.py:66 msgid "Ukrainian" -msgstr "" +msgstr "ukraina" #: conf/global_settings.py:67 msgid "Simplified Chinese" -msgstr "" +msgstr "kiina (yksinkertaistettu)" #: conf/global_settings.py:68 msgid "Traditional Chinese" -msgstr "" +msgstr "kiina (perinteinen)" #: core/validators.py:63 msgid "This value must contain only letters, numbers and underscores." @@ -211,7 +211,7 @@ msgstr "Tässä voidaan käyttää vain kirjaimia (a-z), numeroita (0-9) sekä a #: core/validators.py:75 msgid "Uppercase letters are not allowed here." -msgstr "Versaalit (ABC) eivät kelpaa tässä." +msgstr "Isot kirjaimet (ABC) eivät kelpaa tässä." #: core/validators.py:79 msgid "Lowercase letters are not allowed here." @@ -270,7 +270,7 @@ msgstr "Kuva ei kelpaa. Lähettämäsi tiedosto ei ole kuva, tai tiedosto on vio #: core/validators.py:162 #, python-format msgid "The URL %s does not point to a valid image." -msgstr "Osoittessa %s ei ole kelpaavaa kuvaa." +msgstr "Osoittessa %s ei ole kuvaa tai se on vioittunut." #: core/validators.py:166 #, python-format @@ -280,7 +280,7 @@ msgstr "Puhelinnumeron tulee olla muodossa XXX-XXX-XXXX. \"%s\" ei kelpaa." #: core/validators.py:174 #, python-format msgid "The URL %s does not point to a valid QuickTime video." -msgstr "Osoitteessa %s ei ole kelpaavaa QuickTime-videota." +msgstr "Osoitteessa %s ei ole QuickTime-videota tai se on vioittunut." #: core/validators.py:178 msgid "A valid URL is required." @@ -308,7 +308,7 @@ msgstr "URL-osoite %s ei kelpaa." #: core/validators.py:213 core/validators.py:215 #, python-format msgid "The URL %s is a broken link." -msgstr "Osoite %s on katkennut linkki." +msgstr "Osoite %s on rikkoutunut tai väärä linkki." #: core/validators.py:221 msgid "Enter a valid U.S. state abbreviation." @@ -324,7 +324,7 @@ msgstr[1] "Sanoja \"%s\" ei saa käyttää tässä." #: core/validators.py:243 #, python-format msgid "This field must match the '%s' field." -msgstr "" +msgstr "Arvon täytyy olla sama kuin kentässä '%s'." #: core/validators.py:262 msgid "Please enter something for at least one field." @@ -403,7 +403,7 @@ msgstr "Tämä arvo ei kelpaa." #: core/validators.py:441 #, python-format msgid "Could not retrieve anything from %s." -msgstr "" +msgstr "Tietoja ei voida noutaa kohteesta: %s." #: core/validators.py:444 #, python-format @@ -1029,19 +1029,19 @@ msgstr " %(filter_title)s:" #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" -msgstr "Talleta uutena" +msgstr "Tallenna uutena" #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save and add another" -msgstr "Talleta ja lisää seuraava" +msgstr "Tallenna ja lisää seuraava" #: contrib/admin/templates/admin/submit_line.html:6 msgid "Save and continue editing" -msgstr "Talleta välillä ja jatka muokkaamista" +msgstr "Tallenna välillä ja jatka muokkaamista" #: contrib/admin/templates/admin/submit_line.html:7 msgid "Save" -msgstr "Talleta ja poistu" +msgstr "Tallenna ja poistu" #: contrib/admin/templates/admin/change_list.html:11 #, python-format @@ -1676,7 +1676,13 @@ msgid_plural "" "\n" "%(text)s" msgstr[0] "" +"Kommentin kirjoittanut käyttäjä on kirjoittanut vain yhden kommentin:\n" +"\n" +"%(text)s" msgstr[1] "" +"Kommentin kirjoittanut käyttäjä on kirjoittanut alle %(count)s kommenttia:\n" +"\n" +"%(text)s" # Mitä "sketchy user" tarkoittaa? #: contrib/comments/views/comments.py:116 @@ -1972,38 +1978,38 @@ msgstr "joulu" #: utils/timesince.py:12 msgid "year" msgid_plural "years" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "vuosi" +msgstr[1] "vuotta" #: utils/timesince.py:13 msgid "month" msgid_plural "months" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kuukausi" +msgstr[1] "kuukautta" #: utils/timesince.py:14 msgid "week" msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "viikko" +msgstr[1] "viikkoa" #: utils/timesince.py:15 msgid "day" msgid_plural "days" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "päivä" +msgstr[1] "päivää" #: utils/timesince.py:16 msgid "hour" msgid_plural "hours" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "tunti" +msgstr[1] "tuntia" #: utils/timesince.py:17 msgid "minute" msgid_plural "minutes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "minuutti" +msgstr[1] "minuuttia" #: utils/translation/trans_real.py:362 msgid "DATE_FORMAT" @@ -2019,10 +2025,9 @@ msgstr "G:i" #: utils/translation/trans_real.py:380 msgid "YEAR_MONTH_FORMAT" -msgstr "N j, Y" +msgstr "N Y" #: utils/translation/trans_real.py:381 -#, fuzzy msgid "MONTH_DAY_FORMAT" msgstr "N j, Y" diff --git a/django/conf/locale/fr/LC_MESSAGES/django.mo b/django/conf/locale/fr/LC_MESSAGES/django.mo index 7b2b1f6e9ecf4b069b56fec0a78cb92f8f8fcdd8..b96306cabd8397092c919622a6815e53014b9649 100644 GIT binary patch literal 46214 zcmchg37lO;mH)5oG&`~h0+&GOZs_iWKnOG;&}4^n5|T~=0*2e~-R^$L>-U;>-|J2X zaRb2xTyPf<6_*4R1#xhjQE73+WfUEC+{O)cR0em)QFQ*_->JIq-PcPJ{LlaYKB@jy z)va4qx9ZfXb51S!_apateZcShy@KG`;NwRG!GGg_->HfXf>+N8g4aDG2wnpoP5AV) zf}jsv2(AHN1D*i>5Ig|@9DEM%fQNy5gU5gegU9>$R#5fq0`~p|sz6L>iI3Q+mn>Equ4-avRKsP|gu2f;JJ`5;vcR)YJ0H-O6L z#o&?P%fO?+J3+O_{T@FGD&40+eaGj(lfbWor-8o*4+5WcuB-QKQ0eD@%I91kUgV!I z1y$Y}kNx0bglnMc`4Uj?y&0^6ZwK{#$1HH|{A^I|FdsYuTm&8pt_4+}&0q_76R7uI z1uFm7gR1AdK$UYpsCqsE>isW*YR~WZ=TCs@hu}PyPYbAaI~-K`M}vCrBvAQug7<;v zfNQ}YgXb&EpFyw$9u0m2RK1@7)jxj&j|UI#cKzK7okg{wt__kH0Vo)`2U)Ip7`O#o!mf)4_umxqdzyY$Lo3RJ)f!(cz7t@_z_C z5&R0M@}C4X^!K~Sr9T4{T`mIWg6qLEz?(p|=LbOb`y-(8{ROCTdD6u}FdJL}sy-!9 z&tDI!9UcWQ1OEaJgUfqd|9%)$|9%Xl3xf$zXsZK2BKda2BZkY6tcH98mc#099@esPvbDqPNSzy}*s2-n-I2-|WK!pzQv_ad>Lw}8vRqd?K&)!+?a z5mdTg`1s#~8sB>@b>r!1Q01NuD%~7#UvL4q4|t)EzXVjeOMU!$kR}hV0M~RYm;WK)zJ!kk6@P*cpXQ&R0iHtqJa9j-4-{X!3RL}uKz;uRn1I*& z=f4752|opjPn@>grJE0Gd|V8|3WG6F<-Z@?8~hL``hLiVzYgw4_*YcLk{WZ1&+T-~oiM1J!=p!9&0ofct~Dfufh!gX)JjfyaRF13V zQ2BRU>e^{OsQO+2s$PpgJ?{n8&Kp6|+aM@DH3psp-VQ4L{ou2}Pk{%5-v-6!ANTlc zQ1yEXR6n;c=+(~0g0PxkDR?D#6L>NB@8Blz&N0{1}YDCqT_3t1ox_=~__FYoOkLz7O9FicVhT<6r0F@AUES0>$6%1=Wt91P=ng z1*)Du0o8s_fTE{AgKFnP);a!sEU0!o6I>2%0mU~T05uMN2`c?>K-KFn;0fT~3~GJ< z$>5P-2dMNHfl9X&G&=CO5mb9@25Hiu1nRwi1fL0h1yp?>2UXrLLACcEK&GtV%0A`_ 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 F{{ZrgMGXJ| delta 10543 zcmaLc33yc1-N*4eVF`pl*f$N_umupp5`vJhB&-P#fIDt#Br`!1-8< zORy~-Lrvr)HphPJx>zKd<}L#)Bms5>s}?@c&{9jI?cW$HpiK$OwB&EcQuvoS2^3r4%&N2r8u; zu_xYydIS$4kK1_}HQ?u{0ZyYP?hN$Kx5refBaz4K%)vyA;v!sw%Fr9g9Grg)B>$A1 z&V#&XI3Cr(YV3x;Kpv~J2Z!SyaWMXfns_=Dbu=DFU@6YTTX6;c4V9T`7uhw0W2n!^ z*0}v5@}ERu2MwCpF08|+uqBQh;yD&uQO~vY0!*Mj2bGa|wtX??QeS54ccU_}7pLGs z)P%l4P2g;df+o;>sMnB!)2a7BrPhyE<7!k#r)>Kf)Z$Fc@Y;K#I__iZ>8J@0v+ZLr zkNS9=hcVk8J5E8*_D$3spT%VK4f8r~hf(TXF&($!Xgq{j_$ev_y?H*(us^sk3JNy)ts_#&Dn81V9oh72`?NOQOg6cRG zwI(h??!}plnYbR+|D(432)5Gx|AB&L*nFhdaU0aYoiPRbqIN^3ZJ&)js9%PfSUtAE z_15jEiTnzc$vrp$AHl`=73N|gvs$SAe**=j>LYaVU$_a~QKSj?U_Ts8zWJ_Ggu1h9 za05P!*I^dVMXUZ9)WB&M^KQTl)Q!}jGPMzPgWE8sfp=0+N*}=v_>8T;iu%Hvw*EdU z<)5NntzV)t(QJ&DfmBpR24N@6ME-N8^U(*_q1MW7)OGvDkbe!(NP}K9PoZXh0z2Xd zsF|L@+1QfTmfDL^15}_M-BqX#H=r`G9mnBmRR0;--jCF1)b;aF?Mt%BznVlo9Xa8F)#)-^^9p>DEECc67JcMUa6MSf*H}Ff?jrx12HF5@72F~DIwj}yd z+wVGDgg0RU#y+R8kU|!32Mx3x^*(q8d*ORH5PwF-bkZkzkD?5f@<&l?=Q&gcUqU_O zqt@f7NA(se<^RAw_zgDG{_j57>*zw%1p{y~W?(vQ#@=`kHNY{{z<)xe_C3_Z+f4D+ zP7an+&qvm$a}dk$6V&&Lrg{@zj4ibPm)nL4Y{mtvQTw+RHNXZ;#RI5EbQBrW`3x_^ zjA{H7<2F=^U%~-+9QBCKqB7WJy0_LQSZ82M#&;G_(7>0Wwx8eDqt<%VE?9#~^;S$o zW9vI@{T|frc@T92PhcB7jCuseQQ!XirL@>uV%vkL4Ah|d-H94!FSfwPuq8g7PySm`Xre(K9oXWnIqLjzY=tLK6MEmC{~VQ(GcgL{+ts|^C)~VJa>tgE) z)Ie3Jj_Xhp*=W!I61z~p9rXwfViLw4qoA4o4wZoyQFnS2)xq1Sjz2=(`6*NfU!$%& zi|sLSrZ;eR)cFCZ>xW=#9DzxggSvhi(r?UJNI_p%W-lm1b-WrU`W$C1>e)X#i}y9Y zf(vj^q4$Pchk8Fej>_Z-T!p9b0$e)VTWs~H8(fQ;z$Q%6{@+2N4Gp_cGv046Xv7Ta zFWCB5sEIZ&;P}}t$oP&>{&L>ilZBc8d6Kb`mqb87nn&@au)&8GNL8+-krMe#5 z;yTow-GDuCKkANN!glxpDpOzKP3Tdh5F7k`BV@ktzxf5*Ytd7<}5wu#6uwX+DP;H_AJ@8AlY!f&lI zvlo@={m4(h^Eh_JuVWNCP-w$XUKdQoeVB<#<-4daer)}x^?THvC9oy5Xp>O&6y%rH z>4wVC5^DgFtHMkeq4jGEYjrH*qKR-m4B;-y}DJM2l_MRk~i zn#g2Z&qoa~$JQ64Cg#Uwcn@-Y%xS@IXeJFws8u-udtf2zS(oEFtU+D(4f0BG23^jA z#ah(B&!b*sFX9M%8Po6w)FVhO@fLMoRO*LeGwuIr6qNcIs6Ux3!yMdzTJ_JNQh6LT z&`H#t{oU5TKxN=Gs-N#sYbs@#_eZvIm_>ax_QpLp8V_Tu7=@oHsDnhmcLyn`nRh}> zD9gGC)2Xk)fw&u$p(EHC-$HHMFR>e*Mcrw~<=&qq2O&?@i6O5H=WUEVLg6BosycWd zQ}G+T3pvlc>Lf*J6hAEOv6K{ z{@%dW_;!%|tKkD0T>K2<+i|6r!c^=|dlnYsZ0v~lpx$tgV=FvtJ%$nLZy`I|nYGG0 ze=lZG-*4;hT0e?W&;(9dzd@z;2h<%*sN{D6FXdwlzKmqqNvQJvA5IXnsqaQT^OLCU z`z`AF*&*+*xkIO;48;_s{3RQcn^-ri&Ca>npI1gPM z!0l?0O-F6p%TW`$0`ssD2jMrEguSCIU>uAywEyp;uz-fsI1%%CQ4hh**asiQVfZE% zVXIp24i;fD^@mXzeAfB`YVG_1+u-Zi8Bf~tUtvG$-(!6L_p0+2Lm$)^hai)6MqwuI zL4DyJREJKzw?>k29MxVp0heNXyd5{<1Gatm72f|54Wrh|>!?h;gNfSzA5qY1{1WvB z`wqL}k2n@PHF$p!DZ~uw4OobKk%jMki!-t0N^gP>;0WrEqbB|->JhXf@9K99YLORV zOsVrzNWgOJhAUAMxdxl#Cfj~JDg(Q%2T+gTDOBcO!W2A)%EbHF5l^EAZhn>bioXEW z@8GL={+%ccqd{MsY%iFHO4V}giK|dE-h}$%ZKwh7wC(qzCh|D8#TPIgU$^JaqQ*(S z+I!EqsPCs=ZTJ5$8q`4+>e)=P7NR;_gu0V5RAw5iS6kO(JKC>B-N?EA*jChy z?La-kUG{uzKLyR`5Nd$K*4M1>SUlZ z=e2#sNv#PTpLjThj2}PP!tpHFYWy!4Q>d&W9wx4)qn3CJF`6<9+PRbXj?mFy2kPNf zog1){HoZZgAo7Tv#A@2Q5iGCxKhwnCqM+k8qLP@v$#X{$g|+9^f1rLNF_?If&@soJ z&!ViXT}J&{+)n&AaqiHgna?@iX-*kFhyT>`*U^E7c0?~?FZFBUt=?PhamtSo5e4Uc z#6Uua{(h)q8TKH$5HEO5PFu>G2(68=c%TBcdoSE)+r;%mF|mkqGl}Dr-yr%CBdGV4#Asp_^(sQgR-b+T`>Fg) ztg|OJ=qyJk>ghNg|AIlBpc5Qhh|7tvDjfO;OdS{F8scfnQ}7zwuDv{*wr6z_hu$^u z_2-9LPPVcaUWWyQ{+*pkqpSMV&NoT#>Kb(D2% zp*{q+5y$lWhtjZwxSMi+qAz6~&2bYx5U+V}txS9FFl}$z_Fr1Xg`BU#KK8m9)>3?% z_SbZgJv4UgDLyVBT%wHlkb{?jTkZ6A2yvW!IlGjSE)Nu+4t)@03pyEvP3Gmr&Mmok#pLMtg5c zm)q|wvFCngZDZS?r+%p|>(om`4fSl?picg**7J_8ww%hj6O>cWJEvlM;-d4~?x37| z-T()wPbVf3KN0T|w-OH$UlKYBi1mclK>WCh4l*cpvGuvsucUk*kzzX^PdSTng}tUf zsG-RX zZmGW};N(?Df|X|Ps4?b~QM1jAtVum88{D#Rq>4)y70$}$dS_A~R8F7fa8_~iD}xkr zM$c)R?M$xlhste_zZqR`QZGJaPF}q9+#s1_(#)k}ZZZ?c4mT&per;aM9$}u%Sz@-0 z>tW`MZ)ti?NH_B*3^lh*7;a8Zm~WO&tTr{d>E_kk+e~F%o;j2^E3q=*R{LuzOl;Eq zvFS`ceqU7t!nspZ_eB>DNr)z)<&b6!p=)(ns#$Xn!|I`Q~eR1tXoxESre=# zg9THfZhf$(!d(%rs`8sp<}PmZ&l~MC(~EP>&Bem)s?z8dI>l+!J5i|S+_FB99g-n z?dYMyvxbfs?T#3pJz|6zyK3U#>Hek%DqU7-q%<6I$Cdj7l^Lahx)Og)Nhlnx_E(jR z3We)4LIIxbs%sM6IsS;Y(%GtK%wI#rZN^n(PKY-}T{EkCjX7O?f$6?_Sj(n;@jbL+ z^|Y?@!%z5BH`?@6#GPo4L@w{a#&WCt zmGON>ckxYD5GoA@Ol5RZV$;4Tn=D|CMKgV_Xc$Sq_$h2hd*SwB6_SG(&J#N{?F>Tu~8Zjdb4dk?FXx zV{B@uF5D1^XaleC_HR6Sfh*m3s{WrHTpfs%)^b%%gcTmHaZB}vh(-h67A}ZJ{7w5v zUdV3a;Og3dQ|J$d*z@!r-^r0CvwdSll0UwW*&cHm+g+RPBW)8mxrqhZ(t(hxcNV z4WFjNw!4!ej7x^*M}p?*ZT(HF?Ndy6`v;A;-0+CcEWL4*DY~(B2RE7?tn_lhf^XVi zW0u^Q#hIl4d!}*8jk(Rt?wb#pCvI_*!?ji1Z2YYdFv+)u%w4z6Hnlqj_G;Q!?T?TF zt<{1lbYa;>glbg(|UCH_?O|Pg8 zvLu3`FuzDO5r1h=>p2vtPybO$OlEuwucI}%s+c*c;kTm&3$Irfsu*T zk*0m2aFvN2SkU;F13q8UdG8(H!_%6Dc=3cD9%r6-c)OW*DBrwrXyJJ;o}9)(UHG=k Wx~s7-AiaAc0du7B3RC(>pZ@_z`j5&0 diff --git a/django/conf/locale/fr/LC_MESSAGES/django.po b/django/conf/locale/fr/LC_MESSAGES/django.po index 104e9a2aa1..2e525466b1 100644 --- a/django/conf/locale/fr/LC_MESSAGES/django.po +++ b/django/conf/locale/fr/LC_MESSAGES/django.po @@ -7,15 +7,779 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:11+0200\n" +"POT-Creation-Date: 2007-04-22 09:06+0200\n" "PO-Revision-Date: 2006-05-08 15:12+0200\n" -"Last-Translator: Gaël Chardon \n" +"Last-Translator: Baptiste Goupil \n" "Language-Team: français \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: contrib/comments/models.py:67 contrib/comments/models.py:166 +#: oldforms/__init__.py:357 db/models/fields/__init__.py:114 +#: db/models/fields/__init__.py:271 db/models/fields/__init__.py:607 +#: db/models/fields/__init__.py:618 newforms/models.py:178 +#: newforms/fields.py:80 newforms/fields.py:376 newforms/fields.py:452 +#: newforms/fields.py:463 +msgid "This field is required." +msgstr "Ce champ est obligatoire." + +#: oldforms/__init__.py:392 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Assurez-vous que votre texte fait moins de %s caractère." +msgstr[1] "Assurez-vous que votre texte fait moins de %s caractères." + +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "Les retours à la ligne ne sont pas autorisés ici." + +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Sélectionnez un choix valide ; '%(data)s' n'est pas dans %(choices)s." + +#: oldforms/__init__.py:577 newforms/widgets.py:180 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Inconnu" + +#: oldforms/__init__.py:577 newforms/widgets.py:180 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "Oui" + +#: oldforms/__init__.py:577 newforms/widgets.py:180 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "Non" + +#: oldforms/__init__.py:672 core/validators.py:174 core/validators.py:445 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "Le fichier soumis est vide." + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Entrez un nombre entier entre -32 768 et 32 767." + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "Entrez un nombre entier positif." + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Entrez un nombre entier entre 0 et 32 767." + +#: db/models/manipulators.py:302 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "" + +#: db/models/manipulators.py:303 +msgid "and" +msgstr "et" + +#: db/models/fields/__init__.py:41 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s avec le champ %(fieldname)s existe déjà." + +#: db/models/fields/__init__.py:364 +msgid "This value must be an integer." +msgstr "Cette valeur doit être un entier." + +#: db/models/fields/__init__.py:399 +msgid "This value must be either True or False." +msgstr "Cette valeur doit être soit Vraie soit Fausse." + +#: db/models/fields/__init__.py:420 +msgid "This field cannot be null." +msgstr "Ce champ ne peut pas être vide." + +#: db/models/fields/__init__.py:454 core/validators.py:148 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Entrez une date valide au format AAAA-MM-JJ." + +#: db/models/fields/__init__.py:523 core/validators.py:157 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Entrez une date et une heure valide au format AAAA-MM-JJ HH:MM." + +#: db/models/fields/__init__.py:627 +msgid "Enter a valid filename." +msgstr "Entrez un nom de fichier valide." + +#: db/models/fields/__init__.py:748 +msgid "This value must be either None, True or False." +msgstr "Cette valeur doit être Nulle, Vraie ou Fausse." + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Entrez un %s valide." + +#: db/models/fields/related.py:624 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Maintenez \"Contrôle (ctrl)\", ou \"Commande (touche pomme)\" sur un Mac, " +"pour en sélectionner plusieurs." + +#: db/models/fields/related.py:668 +#, 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] "Entrez un ID %(self)s valide. La valeur %(value)r est invalide." +msgstr[1] "" +"Entrez des ID %(self)s valides. Les valeurs %(value)r sont invalides." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabe" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Indien" + +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Catalan" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Tchèque" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Gallois" + +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Dannois" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "Allemand" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Grec" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "Anglais" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Espagnol" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Espagnol Argentin" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Dannois" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "Français" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Galicien" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Hongrois" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Israélien" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Islandais" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Italien" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Japonais" + +#: conf/global_settings.py:58 +msgid "Kannada" +msgstr "Kannada" + +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "Letton" + +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "Macédonien" + +#: conf/global_settings.py:61 +msgid "Dutch" +msgstr "Néerlandais" + +#: conf/global_settings.py:62 +msgid "Norwegian" +msgstr "Norvégien" + +#: conf/global_settings.py:63 +msgid "Polish" +msgstr "Polonais" + +#: conf/global_settings.py:64 +msgid "Portugese" +msgstr "" + +#: conf/global_settings.py:65 +msgid "Brazilian" +msgstr "Brésilien" + +#: conf/global_settings.py:66 +msgid "Romanian" +msgstr "Roumain" + +#: conf/global_settings.py:67 +msgid "Russian" +msgstr "Russe" + +#: conf/global_settings.py:68 +msgid "Slovak" +msgstr "Slovaque" + +#: conf/global_settings.py:69 +msgid "Slovenian" +msgstr "Slovaque" + +#: conf/global_settings.py:70 +msgid "Serbian" +msgstr "Serbe" + +#: conf/global_settings.py:71 +msgid "Swedish" +msgstr "Suédois" + +#: conf/global_settings.py:72 +msgid "Tamil" +msgstr "Tamoul" + +#: conf/global_settings.py:73 +msgid "Telugu" +msgstr "Télougou" + +#: conf/global_settings.py:74 +msgid "Turkish" +msgstr "Turc" + +#: conf/global_settings.py:75 +msgid "Ukrainian" +msgstr "Ukrainien" + +#: conf/global_settings.py:76 +msgid "Simplified Chinese" +msgstr "Chinois simplifié" + +#: conf/global_settings.py:77 +msgid "Traditional Chinese" +msgstr "Chinois traditionnel" + +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "" +"Ce champ ne doit contenir que des lettres, des nombres et des tirets bas " +"('_')." + +#: core/validators.py:68 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Ce champ ne doit contenir que des lettres, des nombres, des tirets bas ('_') " +"et des '/'." + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "" +"Ce champ ne doit contenir que des lettres, des nombres, des tirets bas ('_') " +"et des '-'." + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Les lettres majuscules ne sont pas autorisées ici." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Les lettres minuscules ne sont pas autorisées ici." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Saisissez uniquement des chiffres séparés par des virgules." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Entrez des adresses de courriel valides séparées par des virgules." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Entrez une adresse IP valide." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "Vous ne pouvez pas laisser ce champ vide." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Les caractères non numériques ne sont pas autorisés ici." + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Cette valeur ne peut pas être composé uniquement de chiffres." + +#: core/validators.py:120 newforms/fields.py:128 +msgid "Enter a whole number." +msgstr "Entrez un nombre entier." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Seules les lettres de l'alphabet sont autorisées ici." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "L'année doit être supérieure à 1900." + +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s" +msgstr "Date invalide&nbsp;: %s" + +#: core/validators.py:153 +msgid "Enter a valid time in HH:MM format." +msgstr "Entrez une heure valide au format HH:MM." + +#: core/validators.py:162 newforms/fields.py:271 +msgid "Enter a valid e-mail address." +msgstr "Entrez une adresse de courriel valide." + +#: core/validators.py:178 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Envoyez une image valide. Le fichier que vous avez transferé n'est pas une " +"image ou bien est une image corrompue." + +#: core/validators.py:185 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "L'URL %s ne pointe pas vers une image valide." + +#: core/validators.py:189 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" +"Les numéros de téléphone doivent être au format XXX-XXX-XXXX. \"%s\" est " +"incorrect." + +#: core/validators.py:197 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "L'URL %s ne pointe pas vers une vidéo QuickTime valide." + +#: core/validators.py:201 +msgid "A valid URL is required." +msgstr "Une URL valide est requise." + +#: core/validators.py:215 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Du HTML valide est requis. Les erreurs sont les suivantes&nbsp;:\n" +"%s" + +#: core/validators.py:222 +#, python-format +msgid "Badly formed XML: %s" +msgstr "XML mal formé&nbsp;: %s" + +#: core/validators.py:239 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL invalide&nbsp;: %s" + +#: core/validators.py:244 core/validators.py:246 +#, python-format +msgid "The URL %s is a broken link." +msgstr "L'URL %s est un lien cassé." + +#: core/validators.py:252 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Entrez une abréviation d'état américain valide." + +#: core/validators.py:266 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "Attention à votre langage ! Le mot %s n'est pas autorisé ici." +msgstr[1] "Attention à votre langage ! Les mots %s ne sont pas autorisés ici." + +#: core/validators.py:273 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Ce champ doit correspondre au champ '%s'." + +#: core/validators.py:292 +msgid "Please enter something for at least one field." +msgstr "Saisissez au moins une valeur dans un des champs s'il vous plaît." + +#: core/validators.py:301 core/validators.py:312 +msgid "Please enter both fields or leave them both empty." +msgstr "" +"Renseignez chacun des champs ou laissez les deux vides s'il vous plaît." + +#: core/validators.py:320 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Ce champ doit être renseigné si %(field)s vaut %(value)s" + +#: core/validators.py:333 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Ce champ doit être renseigné si %(field)s ne vaut pas %(value)s" + +#: core/validators.py:352 +msgid "Duplicate values are not allowed." +msgstr "Des valeurs identiques ne sont pas autorisées." + +#: core/validators.py:367 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Cette valeur doit être comprise entre %(lower)s et %(upper)s." + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "Cette valeur doit être au moins %s." + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "Cette valeur ne doit pas dépasser %s." + +#: core/validators.py:407 +#, python-format +msgid "This value must be a power of %s." +msgstr "Cette valeur doit être une puissance de %s." + +#: core/validators.py:418 +msgid "Please enter a valid decimal number." +msgstr "Saisissez un nombre décimal valide s'il vous plaît." + +#: core/validators.py:422 +#, 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] "" +"Saisissez un nombre décimal valide avec au plus %s chiffre s'il vous plaît." +msgstr[1] "" +"Saisissez un nombre décimal valide avec au plus %s chiffres s'il vous plaît." + +#: core/validators.py:425 +#, 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] "Veuillez saisir un nombre décimal valide avec au plus %s chiffre." +msgstr[1] "Veuillez saisir un nombre décimal valide avec au plus %s chiffres." + +#: core/validators.py:428 +#, 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] "Veuillez saisir un nombre décimal valide avec au plus %s décimale." +msgstr[1] "Veuillez saisir un nombre décimal valide avec au plus %s décimales." + +#: core/validators.py:438 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "" +"Vérifiez que le fichier transféré fait au moins une taille de %s octets." + +#: core/validators.py:439 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "" +"Vérifiez que le fichier transféré fait au plus une taille de %s octets." + +#: core/validators.py:456 +msgid "The format for this field is wrong." +msgstr "Le format de ce champ est mauvais." + +#: core/validators.py:471 +msgid "This field is invalid." +msgstr "Ce champ est invalide." + +#: core/validators.py:507 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Impossible de récupérer quoi que ce soit depuis %s." + +#: core/validators.py:510 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" +"L'entête Content-Type '%(contenttype)s', renvoyée par l'url %(url)s n'est " +"pas valide." + +#: core/validators.py:543 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"Veuillez fermer le tag %(tag)s de la ligne %(line)s. (La ligne débutant par " +"\"%(start)s\".)" + +#: core/validators.py:547 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Du texte commençant à la ligne %(line)s n'est pas autorisé dans ce contexte. " +"(Ligne débutant par \"%(start)s\".)" + +#: core/validators.py:552 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"%(attr)s\" ligne %(line)s n'est pas un attribut valide. (Ligne débutant " +"par \"%(start)s\".)" + +#: core/validators.py:557 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"<%(tag)s>\" ligne %(line)s n'est pas un tag valide. (Ligne débutant par \"%" +"(start)s\".)" + +#: core/validators.py:561 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Un tag, ou un ou plusieurs attributs, de la ligne %(line)s est manquant. " +"(Ligne débutant par \"%(start)s\".)" + +#: core/validators.py:566 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"La valeur de l'attribut \"%(attr)s\" de la ligne %(line)s n'est pas valide. " +"(Ligne débutant par \"%(start)s\".)" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "L'objet %(verbose_name)s a été créé avec succès." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "L'objet %(verbose_name)s a été mis à jour avec succès." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "L'objet %(verbose_name)s a été supprimé." + +#: newforms/models.py:165 newforms/fields.py:362 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Sélectionnez un choix valide. Ce choix ne fait pas partie de ceux " +"disponibles." + +#: newforms/models.py:182 newforms/fields.py:380 newforms/fields.py:456 +msgid "Enter a list of values." +msgstr "Entrez une liste de valeur." + +#: newforms/models.py:188 newforms/fields.py:389 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Sélectionnez un choix valide ; %s n'en fait pas partie." + +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Assurez-vous que cette valeur fait moins de %d caractère." + +#: newforms/fields.py:105 newforms/fields.py:258 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Assurez-vous que cette valeur fait au moins %d caractère." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Assurez-vous que cette valeur soit plus petite ou égale à %s." + +#: newforms/fields.py:132 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Assurez-vous que cette valeur soit plus grande ou égale à %s." + +#: newforms/fields.py:165 +msgid "Enter a valid date." +msgstr "Entrez une date valide." + +#: newforms/fields.py:192 +msgid "Enter a valid time." +msgstr "Entrez une heure valide." + +#: newforms/fields.py:228 +msgid "Enter a valid date/time." +msgstr "Entrez une date et une heure valides." + +#: newforms/fields.py:242 +msgid "Enter a valid value." +msgstr "Entrez une valeur valide." + +#: newforms/fields.py:289 newforms/fields.py:311 +msgid "Enter a valid URL." +msgstr "Entrez une URL valide." + +#: newforms/fields.py:313 +msgid "This URL appears to be a broken link." +msgstr "L'URL est un lien cassé." + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "e" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" +msgstr "er" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" +msgstr "d" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "e" + +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f million" +msgstr[1] "%(value).1f millions" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f milliard" +msgstr[1] "%(value).1f milliards" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f billion" +msgstr[1] "%(value).1f billions" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "un" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "deux" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "trois" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "quatre" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "cinq" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "six" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "sept" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "huit" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "neuf" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "redirigé depuis" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Ceci doit être un chemin absolu, sans nom de domaine. Par exemple: '/events/" +"search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "redirigé vers" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Ceci peut être soit un chemin absolu (voir ci-dessus) soit une URL complète " +"débutant par 'http://'." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "redirige" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "redirige" + +#: contrib/comments/models.py:67 contrib/comments/models.py:156 msgid "object ID" msgstr "ID de l'objet" @@ -23,8 +787,8 @@ msgstr "ID de l'objet" msgid "headline" msgstr "titre" -#: contrib/comments/models.py:69 contrib/comments/models.py:90 -#: contrib/comments/models.py:167 +#: contrib/comments/models.py:69 contrib/comments/models.py:91 +#: contrib/comments/models.py:157 msgid "comment" msgstr "commentaire" @@ -64,15 +828,15 @@ msgstr "vote n°8" msgid "is valid rating" msgstr "est un vote valide" -#: contrib/comments/models.py:83 contrib/comments/models.py:169 +#: contrib/comments/models.py:83 contrib/comments/models.py:159 msgid "date/time submitted" msgstr "date et heure soumises" -#: contrib/comments/models.py:84 contrib/comments/models.py:170 +#: contrib/comments/models.py:84 contrib/comments/models.py:160 msgid "is public" msgstr "est public" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 +#: contrib/comments/models.py:85 contrib/admindocs/views.py:304 msgid "IP address" msgstr "adresse IP" @@ -88,15 +852,15 @@ msgstr "" "Cochez cette case si le commentaire est inadéquat. Un message type \"Ce " "commentaire a été supprimé\" sera affiché en lieu et place de celui-ci." -#: contrib/comments/models.py:91 +#: contrib/comments/models.py:92 msgid "comments" msgstr "commentaires" -#: contrib/comments/models.py:131 contrib/comments/models.py:207 +#: contrib/comments/models.py:121 contrib/comments/models.py:188 msgid "Content object" msgstr "Type de contenu" -#: contrib/comments/models.py:159 +#: contrib/comments/models.py:149 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -111,48 +875,48 @@ msgstr "" "\n" "http://%(domain)s%(url)s" -#: contrib/comments/models.py:168 +#: contrib/comments/models.py:158 msgid "person's name" msgstr "nom" -#: contrib/comments/models.py:171 +#: contrib/comments/models.py:161 msgid "ip address" msgstr "adresse IP" -#: contrib/comments/models.py:173 +#: contrib/comments/models.py:163 msgid "approved by staff" msgstr "approuvé par l'équipe" -#: contrib/comments/models.py:176 +#: contrib/comments/models.py:167 msgid "free comment" msgstr "commentaire libre" -#: contrib/comments/models.py:177 +#: contrib/comments/models.py:168 msgid "free comments" msgstr "commentaires libres" -#: contrib/comments/models.py:233 +#: contrib/comments/models.py:214 msgid "score" msgstr "evaluation" -#: contrib/comments/models.py:234 +#: contrib/comments/models.py:215 msgid "score date" msgstr "date d'évaluation" -#: contrib/comments/models.py:237 +#: contrib/comments/models.py:219 msgid "karma score" msgstr "point de Karma" -#: contrib/comments/models.py:238 +#: contrib/comments/models.py:220 msgid "karma scores" msgstr "points de Karma" -#: contrib/comments/models.py:242 +#: contrib/comments/models.py:224 #, python-format msgid "%(score)d rating by %(user)s" msgstr "%(score)d évalué par %(user)s" -#: contrib/comments/models.py:258 +#: contrib/comments/models.py:240 #, python-format msgid "" "This comment was flagged by %(user)s:\n" @@ -163,36 +927,36 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/models.py:265 +#: contrib/comments/models.py:247 msgid "flag date" msgstr "date d'indicateur" -#: contrib/comments/models.py:268 +#: contrib/comments/models.py:251 msgid "user flag" msgstr "indicateur utilisateur" -#: contrib/comments/models.py:269 +#: contrib/comments/models.py:252 msgid "user flags" msgstr "indicateurs utilisateur" -#: contrib/comments/models.py:273 +#: contrib/comments/models.py:256 #, python-format msgid "Flag by %r" msgstr "Indicateur par %r" -#: contrib/comments/models.py:278 +#: contrib/comments/models.py:261 msgid "deletion date" msgstr "date de suppression" -#: contrib/comments/models.py:280 +#: contrib/comments/models.py:264 msgid "moderator deletion" msgstr "suppression de modérateur" -#: contrib/comments/models.py:281 +#: contrib/comments/models.py:265 msgid "moderator deletions" msgstr "suppressions de modérateur" -#: contrib/comments/models.py:285 +#: contrib/comments/models.py:269 #, python-format msgid "Moderator deletion by %r" msgstr "Suppression de modérateur par %r" @@ -209,13 +973,13 @@ msgstr "ID de commentaire invalide" msgid "No voting for yourself" msgstr "Impossible de voter pour soi-même" -#: contrib/comments/views/comments.py:28 +#: contrib/comments/views/comments.py:27 msgid "" "This rating is required because you've entered at least one other rating." msgstr "" "Ce votre est nécéssaire parceque vous avez saisi au moins un autre vote." -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, python-format msgid "" "This comment was posted by a user who has posted fewer than %(count)s " @@ -229,44 +993,44 @@ msgid_plural "" "%(text)s" msgstr[0] "" "Ce commentaire a été posté par un utilisateur qui a posté moins de %(count)s " -"commentaire :\n" +"commentaire&nbsp;:\n" "\n" "%(text)s" msgstr[1] "" "Ce commentaire a été posté par un utilisateur qui a posté moins de %(count)s " -"commentaires :\n" +"commentaires&nbsp;:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:117 +#: contrib/comments/views/comments.py:116 #, python-format msgid "" "This comment was posted by a sketchy user:\n" "\n" "%(text)s" msgstr "" -"Ce commentaire a été posté par un utilisateur imprécis :\n" +"Ce commentaire a été posté par un utilisateur imprécis&nbsp;:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" msgstr "Seuls les POSTs sont autorisés" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" msgstr "Un ou plusieurs champs requis n'ont pas été remplis" -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" msgstr "" "Quelqu'un a trafiqué le formulaire de commentaire (violation des règles de " "sécurité)" -#: contrib/comments/views/comments.py:207 +#: contrib/comments/views/comments.py:206 #: contrib/comments/views/comments.py:292 msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " @@ -282,27 +1046,33 @@ msgstr "" "Le formulaire de commentaire ne proposait ni les options de prévisualisation " "ni d'envoi" +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Votre nom&nbsp;:" + +#: contrib/comments/templates/comments/freeform.html:5 +#: contrib/comments/templates/comments/form.html:28 +msgid "Comment:" +msgstr "Commentaire&nbsp;:" + +#: contrib/comments/templates/comments/freeform.html:10 +#: contrib/comments/templates/comments/form.html:35 +msgid "Preview comment" +msgstr "Prévisualisation du commentaire" + #: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 +#: contrib/admin/templates/admin/login.html:19 msgid "Username:" msgstr "Nom d'utilisateur" #: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Mot de passe" - -#: contrib/comments/templates/comments/form.html:6 -msgid "Forgotten your password?" -msgstr "Mot de passe oublié?" - -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/change_list.html:8 +#: contrib/admin/templates/admin/change_form.html:16 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:4 @@ -318,6 +1088,15 @@ msgstr "Mot de passe oublié?" msgid "Log out" msgstr "Déconnexion" +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:22 +msgid "Password:" +msgstr "Mot de passe" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Mot de passe oublié?" + #: contrib/comments/templates/comments/form.html:12 msgid "Ratings" msgstr "Votes" @@ -336,19 +1115,21 @@ msgstr "Optionel" msgid "Post a photo" msgstr "Poster une photo" -#: contrib/comments/templates/comments/form.html:27 -#: contrib/comments/templates/comments/freeform.html:5 -msgid "Comment:" -msgstr "Commentaire :" +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "nom de domaine" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 -msgid "Preview comment" -msgstr "Prévisualisation du commentaire" +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "nom à afficher" -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "Votre nom :" +#: contrib/sites/models.py:16 +msgid "site" +msgstr "site" + +#: contrib/sites/models.py:17 +msgid "sites" +msgstr "sites" #: contrib/admin/filterspecs.py:40 #, python-format @@ -356,11 +1137,11 @@ msgid "" "

                                  By %s:

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

                                    Par %s :

                                    \n" +"

                                    Par %s&nbsp;:

                                    \n" "
                                      \n" #: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 msgid "All" msgstr "Tout" @@ -384,17 +1165,65 @@ msgstr "Ce mois-ci" msgid "This year" msgstr "Cette année" -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "Oui" +#: contrib/admin/options.py:307 contrib/admin/views/auth.py:19 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "L'objet %(name)s \"%(obj)s\" a été ajouté avec succès." -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "Non" +#: contrib/admin/options.py:311 contrib/admin/options.py:363 +#: contrib/admin/views/auth.py:24 +msgid "You may edit it again below." +msgstr "Vous pouvez continuez de l'éditez ci-dessous." -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Inconnu" +#: contrib/admin/options.py:321 contrib/admin/options.py:372 +#, python-format +msgid "You may add another %s below." +msgstr "Vous pouvez ajouter un autre %s ci-dessous." + +#: contrib/admin/options.py:358 +msgid "No fields changed." +msgstr "Aucun champ modifié." + +#: contrib/admin/options.py:361 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "L'objet %(name)s \"%(obj)s\" a été modifié avec succès." + +#: contrib/admin/options.py:369 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"L'objet %(name)s \"%(obj)s\" a été ajouté avec succès.Vous pouvez continuez " +"de l'éditez ci-dessous." + +#: contrib/admin/options.py:408 +#, python-format +msgid "Add %s" +msgstr "Ajouter %s" + +#: contrib/admin/options.py:468 +#, python-format +msgid "Change %s" +msgstr "Changement %s" + +#: contrib/admin/options.py:494 +msgid "Database error" +msgstr "Erreur de base de données" + +#: contrib/admin/options.py:539 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "L'objet %(name)s \"%(obj)s\" a été supprimé avec succès." + +#: contrib/admin/options.py:542 +msgid "Are you sure?" +msgstr "Êtes-vous sûr ?" + +#: contrib/admin/options.py:564 +#, python-format +msgid "Change history: %s" +msgstr "Historique des changements&nbsp;: %s" #: contrib/admin/models.py:16 msgid "action time" @@ -424,12 +1253,16 @@ msgstr "entrée d'historique" msgid "log entries" msgstr "entrées d'historique" -#: contrib/admin/templatetags/admin_list.py:228 -msgid "All dates" -msgstr "Toutes les dates" +#: contrib/admin/widgets.py:43 +msgid "Date:" +msgstr "Date&nbsp;:" -#: contrib/admin/views/decorators.py:9 contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 +#: contrib/admin/widgets.py:43 +msgid "Time:" +msgstr "Heure&nbsp;:" + +#: contrib/admin/sites.py:13 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." @@ -438,12 +1271,12 @@ msgstr "" "Remarquez que chacun de ces champs est sensible à la casse (différenciation " "des majuscules/minuscules)." -#: contrib/admin/views/decorators.py:23 -#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/sites.py:33 contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:27 msgid "Log in" msgstr "Connectez-vous" -#: contrib/admin/views/decorators.py:61 +#: contrib/admin/sites.py:186 contrib/admin/views/decorators.py:62 msgid "" "Please log in again, because your session has expired. Don't worry: Your " "submission has been saved." @@ -451,7 +1284,7 @@ msgstr "" "Votre session a expiré, connectez-vous de nouveau s'il vous plaît. Ne vous " "inquiétez pas, votre travail précédement éffectué a été sauvé." -#: contrib/admin/views/decorators.py:68 +#: contrib/admin/sites.py:193 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." @@ -459,202 +1292,85 @@ msgstr "" "Il semblerait que votre navigateur n'accepte pas les cookies. Activez-les, " "rechargez cette page et rééssayez s'il vous plaît." -#: contrib/admin/views/decorators.py:82 +#: contrib/admin/sites.py:207 contrib/admin/views/decorators.py:83 msgid "Usernames cannot contain the '@' character." msgstr "Les noms d'utilisateur ne peuvent contenir le caractère '@'" -#: contrib/admin/views/decorators.py:84 +#: contrib/admin/sites.py:209 contrib/admin/views/decorators.py:85 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "" "Votre courriel n'est pas votre nom d'utilisateur. Essayez '%s' à la place." -#: contrib/admin/views/main.py:226 +#: contrib/admin/sites.py:263 contrib/admin/views/main.py:136 msgid "Site administration" msgstr "Gestion du site" -#: contrib/admin/views/main.py:260 +#: contrib/admin/templatetags/admin_list.py:247 +msgid "All dates" +msgstr "Toutes les dates" + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Ajouter l'utilisateur" + +#: contrib/admin/views/auth.py:55 +msgid "Password changed successfully." +msgstr "Mot de passe modifié avec succés" + +#: contrib/admin/views/auth.py:62 #, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "L'objet %(name)s \"%(obj)s\" a été ajouté avec succès." +msgid "Change password: %s" +msgstr "Modifier le mot de passe&nbsp;: %s" -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 -msgid "You may edit it again below." -msgstr "Vous pouvez continuez de l'éditez ci-dessous." - -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 -#, python-format -msgid "You may add another %s below." -msgstr "Vous pouvez ajouter un autre %s ci-dessous." - -#: contrib/admin/views/main.py:290 -#, python-format -msgid "Add %s" -msgstr "Ajouter %s" - -#: contrib/admin/views/main.py:336 -#, python-format -msgid "Added %s." -msgstr "Ajouté %s." - -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 -msgid "and" -msgstr "et" - -#: contrib/admin/views/main.py:338 -#, python-format -msgid "Changed %s." -msgstr "Modifié %s." - -#: contrib/admin/views/main.py:340 -#, python-format -msgid "Deleted %s." -msgstr "Supprimé %s." - -#: contrib/admin/views/main.py:343 -msgid "No fields changed." -msgstr "Aucun champ modifié." - -#: contrib/admin/views/main.py:346 -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "L'objet %(name)s \"%(obj)s\" a été modifié avec succès." - -#: contrib/admin/views/main.py:354 -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" -"L'objet %(name)s \"%(obj)s\" a été ajouté avec succès.Vous pouvez continuez " -"de l'éditez ci-dessous." - -#: contrib/admin/views/main.py:392 -#, python-format -msgid "Change %s" -msgstr "Changement %s" - -#: contrib/admin/views/main.py:470 +#: contrib/admin/views/main.py:215 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Un ou plusieurs %(fieldname)s dans %(name)s: %(obj)s" +msgstr "Un ou plusieurs %(fieldname)s dans %(name)s&nbsp;: %(obj)s" -#: contrib/admin/views/main.py:475 +#: contrib/admin/views/main.py:220 #, python-format msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Un ou plusieurs %(fieldname)s dans %(name)s:" +msgstr "Un ou plusieurs %(fieldname)s dans %(name)s&nbsp;: " -#: contrib/admin/views/main.py:508 -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "L'objet %(name)s \"%(obj)s\" a été supprimé avec succès." - -#: contrib/admin/views/main.py:511 -msgid "Are you sure?" -msgstr "Êtes-vous sûr ?" - -#: contrib/admin/views/main.py:533 -#, python-format -msgid "Change history: %s" -msgstr "Historique des changements : %s" - -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:262 #, python-format msgid "Select %s" msgstr "Sélectionnez %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:262 #, python-format msgid "Select %s to change" msgstr "Sélectionnez %s pour changer" -#: contrib/admin/views/doc.py:277 contrib/admin/views/doc.py:286 -#: contrib/admin/views/doc.py:288 contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:297 -msgid "Integer" -msgstr "Entier" +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Actuellement&nbsp;:" -#: contrib/admin/views/doc.py:278 -msgid "Boolean (Either True or False)" -msgstr "Booléen (Vrai ou Faux)" +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Modification&nbsp;:" -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296 -#, python-format -msgid "String (up to %(maxlength)s)" -msgstr "Chaîne de caractère (jusqu'à %(maxlength)s)" - -#: contrib/admin/views/doc.py:280 -msgid "Comma-separated integers" -msgstr "Des entiers séparés par une virgule" - -#: contrib/admin/views/doc.py:281 -msgid "Date (without time)" -msgstr "Date (sans l'heure)" - -#: contrib/admin/views/doc.py:282 -msgid "Date (with time)" -msgstr "Date (avec l'heure)" - -#: contrib/admin/views/doc.py:283 -msgid "E-mail address" -msgstr "Courriel :" - -#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287 -msgid "File path" -msgstr "Chemin vers le fichier" - -#: contrib/admin/views/doc.py:285 -msgid "Decimal number" -msgstr "Nombre décimal" - -#: contrib/admin/views/doc.py:291 -msgid "Boolean (Either True, False or None)" -msgstr "Booléen (Vrai, Faux ou None)" - -#: contrib/admin/views/doc.py:292 -msgid "Relation to parent model" -msgstr "Relation au modèle parent" - -#: contrib/admin/views/doc.py:293 -msgid "Phone number" -msgstr "Numéro de téléphone" - -#: contrib/admin/views/doc.py:298 -msgid "Text" -msgstr "Texte" - -#: contrib/admin/views/doc.py:299 -msgid "Time" -msgstr "Heure" - -#: contrib/admin/views/doc.py:300 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admin/views/doc.py:301 -msgid "U.S. state (two uppercase letters)" -msgstr "État U.S. (deux lettres majuscules)" - -#: contrib/admin/views/doc.py:302 -msgid "XML text" -msgstr "Texte XML" - -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/change_list.html:8 +#: contrib/admin/templates/admin/change_form.html:16 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Documentation" -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/change_list.html:8 +#: contrib/admin/templates/admin/change_form.html:16 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:4 @@ -670,12 +1386,14 @@ msgstr "Documentation" msgid "Change password" msgstr "Modifier votre mot de passe" -#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/object_history.html:7 +#: contrib/admin/templates/admin/change_list.html:10 #: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/base.html:28 -#: contrib/admin/templates/admin/delete_confirmation.html:6 -#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/delete_confirmation.html:8 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -685,8 +1403,8 @@ msgstr "Modifier votre mot de passe" msgid "Home" msgstr "Accueil" -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/object_history.html:7 +#: contrib/admin/templates/admin/change_form.html:29 msgid "History" msgstr "Historique" @@ -706,7 +1424,7 @@ msgstr "Action" msgid "DATE_WITH_TIME_FULL" msgstr "j. N Y, H:i" -#: contrib/admin/templates/admin/object_history.html:36 +#: contrib/admin/templates/admin/object_history.html:34 msgid "" "This object doesn't have a change history. It probably wasn't added via this " "admin site." @@ -714,13 +1432,19 @@ msgstr "" "Cet objet n'a pas d'historique de modification. Il n'a probablement pas été " "ajouté au moyen de ce site d'administration." -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Site d'administration de Django" +#: contrib/admin/templates/admin/change_list.html:18 +#, python-format +msgid "Add %(name)s" +msgstr "Ajouter %(name)s" -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Administration de Django" +#: contrib/admin/templates/admin/change_list.html:28 +msgid "Filter" +msgstr "Filtre" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Par %(filter_title)s " #: contrib/admin/templates/admin/500.html:4 msgid "Server error" @@ -743,6 +1467,43 @@ msgstr "" "administrateurs du site et sera corrigée dans les meilleurs délais. Merci " "pour votre patience." +#: contrib/admin/templates/admin/invalid_setup.html:7 +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 "" +"Quelque chose ne va pas avec votre base de données. Vérifiez que lesbonnes " +"bases ont été créées, et qu'elle est lisible par le bon utilisateur." + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Envoyer" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 résultat" +msgstr[1] "%(counter)s résultats" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s résultats" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Tout montrer" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Site d'administration de Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Administration de Django" + #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 msgid "Page not found" @@ -752,104 +1513,85 @@ msgstr "Cette page n'a pas été trouvée" msgid "We're sorry, but the requested page could not be found." msgstr "Nous sommes désolés, mais la page demandée est introuvable." -#: contrib/admin/templates/admin/index.html:17 +#: contrib/admin/templates/admin/index.html:18 #, python-format msgid "Models available in the %(name)s application." msgstr "Modèles disponibles dans l'application %(name)s." -#: contrib/admin/templates/admin/index.html:28 -#: contrib/admin/templates/admin/change_form.html:15 +#: contrib/admin/templates/admin/index.html:19 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:29 +#: contrib/admin/templates/admin/change_form.html:22 msgid "Add" msgstr "Ajouter" -#: contrib/admin/templates/admin/index.html:34 +#: contrib/admin/templates/admin/index.html:35 msgid "Change" msgstr "Modifier" -#: contrib/admin/templates/admin/index.html:44 +#: contrib/admin/templates/admin/index.html:45 msgid "You don't have permission to edit anything." msgstr "Vous n'avez pas la permission d'éditer quoi que ce soit." -#: contrib/admin/templates/admin/index.html:52 +#: contrib/admin/templates/admin/index.html:53 msgid "Recent Actions" msgstr "Actions récentes" -#: contrib/admin/templates/admin/index.html:53 +#: contrib/admin/templates/admin/index.html:54 msgid "My Actions" msgstr "Mes actions" -#: contrib/admin/templates/admin/index.html:57 +#: contrib/admin/templates/admin/index.html:58 msgid "None available" msgstr "Aucun(e) disponible" -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Ajouter %(name)s" - -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "Avez vous perdu votre mot de passe?" - -#: contrib/admin/templates/admin/base.html:23 -msgid "Welcome," -msgstr "Bienvenue," - -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "Supprimer" - -#: contrib/admin/templates/admin/delete_confirmation.html:14 -#, python-format -msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Supprimer l'objet %(object_name)s '%(object)s' provoquerait la suppression " -"des objets qui lui sont liés mais votre compte ne possède pas la permission " -"de supprimer les types d'objets suivants :" - -#: contrib/admin/templates/admin/delete_confirmation.html:21 -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" -msgstr "" -"Êtes vous certain de vouloir supprimer l'objet %(object_name)s \"%(object)s" -"\" ? Les éléments suivant sont liés à celui-ci et seront aussi supprimés :" - -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "Oui, j'en suis certain" - -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(title)s " -msgstr " Par %(title)s " - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Envoyer" - -#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/change_form.html:30 msgid "View on site" msgstr "Voir sur le site" -#: contrib/admin/templates/admin/change_form.html:30 +#: contrib/admin/templates/admin/change_form.html:40 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Veuillez corriger l'erreur ci-dessous." msgstr[1] "Veuillez corriger les erreurs ci-dessous." -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Tri" +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Bienvenue," -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Ordre :" +#: contrib/admin/templates/admin/delete_confirmation.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Supprimer" + +#: contrib/admin/templates/admin/delete_confirmation.html:17 +#, 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 "" +"Supprimer l'objet %(object_name)s '%(escaped_object)s' provoquerait la " +"suppression des objets qui lui sont liés mais votre compte ne possède pas la " +"permission de supprimer les types d'objets suivants&nbsp;:" + +#: contrib/admin/templates/admin/delete_confirmation.html:24 +#, 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 "" +"Êtes vous certain de vouloir supprimer l'objet %(object_name)s \"%" +"(escaped_object)s\" ? Les éléments suivant sont liés à celui-ci et seront " +"aussi supprimés&nbsp;:" + +#: contrib/admin/templates/admin/delete_confirmation.html:29 +msgid "Yes, I'm sure" +msgstr "Oui, j'en suis certain" #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" @@ -867,6 +1609,40 @@ msgstr "Sauver et continuer les modifications" msgid "Save" msgstr "Sauver" +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Entrez un nouveau mot de passe pour l'utilisateur %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Mot de passe" + +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Mot de passe (à nouveau)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Entrez le même mot de passe que précedemment, par sécurité." + +#: 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 "" +"Entrez tout d'abord un nom d'utilisateur et un mot de passe.Vous pourrez " +"ensuite modifier plus d'options." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Nom d'utilisateur" + #: 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 @@ -901,7 +1677,7 @@ msgstr "" #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" -msgstr "Courriel :" +msgstr "Courriel&nbsp;:" #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "Reset my password" @@ -939,11 +1715,11 @@ msgstr "" #: contrib/admin/templates/registration/password_change_form.html:17 msgid "Old password:" -msgstr "Ancien mot de passe :" +msgstr "Ancien mot de passe&nbsp;:" #: contrib/admin/templates/registration/password_change_form.html:19 msgid "New password:" -msgstr "Nouveau mot de passe :" +msgstr "Nouveau mot de passe&nbsp;:" #: contrib/admin/templates/registration/password_change_form.html:21 msgid "Confirm password:" @@ -966,15 +1742,15 @@ msgstr "pour votre compte au site %(site_name)s" #: contrib/admin/templates/registration/password_reset_email.html:5 #, python-format msgid "Your new password is: %(new_password)s" -msgstr "Votre nouveau mot de passe est : %(new_password)s" +msgstr "Votre nouveau mot de passe est&nbsp;: %(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 "Vous pouvez modifier ce mot de passe à l'adresse suivante :" +msgstr "Vous pouvez modifier ce mot de passe à l'adresse suivante&nbsp;:" #: contrib/admin/templates/registration/password_reset_email.html:11 msgid "Your username, in case you've forgotten:" -msgstr "Votre nom d'utilisateur, en cas d'oubli :" +msgstr "Votre nom d'utilisateur, en cas d'oubli&nbsp;:" #: contrib/admin/templates/registration/password_reset_email.html:13 msgid "Thanks for using our site!" @@ -1003,6 +1779,15 @@ msgid "" "as \"internal\" (talk to your system administrator if you aren't sure if\n" "your computer is \"internal\").

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

                                      Pour installer des bookmarklets, faîtes glisser le lien " +"vers\n" +"votre barre de marques-pages, ou cliquez droit dessus et ajoutez-y le.\n" +"Maintenant vous pouvez le sélectionner depuis n'importe quelle page\n" +"du site. Notez que certains d'entre eux nécessitent que vous visionniez\n" +"le site depuis un ordinateur dit \"interne\" (veuillez contacter votre\n" +"administrateur système si vous n'êtes pas sûr que votre ordinateur le soit)." +"

                                      \n" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "Documentation for this page" @@ -1046,60 +1831,667 @@ msgstr "" "Comme ci-dessus, mais ouvre la page d'administration dans une nouvelle " "fenêtre." -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Date :" +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "nom du module python" -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Heure :" +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "type de contenu" -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Actuellement :" +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "types de contenu" -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Modification :" +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Déconnecté" -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "redirigé depuis" +#: contrib/auth/models.py:38 contrib/auth/models.py:58 +msgid "name" +msgstr "nom" -#: contrib/redirects/models.py:8 +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "nom de code" + +#: contrib/auth/models.py:43 +msgid "permission" +msgstr "permission" + +#: contrib/auth/models.py:44 contrib/auth/models.py:59 +msgid "permissions" +msgstr "permissions" + +#: contrib/auth/models.py:62 +msgid "group" +msgstr "groupe" + +#: contrib/auth/models.py:63 contrib/auth/models.py:100 +msgid "groups" +msgstr "groupes" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "nom d'utilisateur" + +#: contrib/auth/models.py:90 msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." msgstr "" -"Ceci doit être un chemin absolu, sans nom de domaine. Par exemple: '/events/" -"search/'." +"Requis. 30 caractères maximum, alphanumériques uniquement (lettres, " +"chiffres, et tirets bas '_')." -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "redirigé vers" +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "prénom" -#: contrib/redirects/models.py:10 +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "nom" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "courriel" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "mot de passe" + +#: contrib/auth/models.py:94 msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." msgstr "" -"Ceci peut être soit un chemin absolu (voir ci-dessus) soit une URL complète " -"débutant par 'http://'." +"Utilisez [algo]$[salt]$[hexdigest]' ou le formulaire " +"de changement de mot de passe." -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "redirige" +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "statut équipe" -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "redirige" +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "Précise si l'utilisateur peut se connecter à ce site d'administration." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "actif" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Précise si l'utilisateur peut se connecter à l'administration. " +"Déselectionnezceci plutôt que supprimer le compte." + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "statut super-utilisateur" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Précise que l'utilisateur possède toutes les permissions sans les assigner " +"explicitement." + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "dernière connexion" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "date d'inscription" + +#: 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 "" +"En plus des permissions qui lui sont manuellement assignées, cet utilisateur " +"recevra aussi toutes les permissions de tous les groupes auquels il " +"appartient. " + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "permissions de l'utilisateur" + +#: contrib/auth/models.py:106 +msgid "user" +msgstr "utilisateur" + +#: contrib/auth/models.py:107 +msgid "users" +msgstr "utilisateurs" + +#: contrib/auth/models.py:248 +msgid "message" +msgstr "message" + +#: contrib/auth/models.py:261 +msgid "AnonymousUser" +msgstr "Anonyme" + +#: contrib/auth/models.py:320 +msgid "Personal info" +msgstr "Information personnelle" + +#: contrib/auth/models.py:321 +msgid "Permissions" +msgstr "Permissions" + +#: contrib/auth/models.py:322 +msgid "Important dates" +msgstr "Dates importantes" + +#: contrib/auth/models.py:323 +msgid "Groups" +msgstr "Groupes" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "Les deux mots de passe ne correspondent pas." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Un utilisateur avec ce nom existe déjà." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Votre navigateur ne semble pas avoir activé les cookies. Les cookies sont " +"nécessaire pour se connecter" + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Ce compte est inactif." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Cette adresse e-mail ne correspond à aucun compte utilisateur. Êtes-vous sûr " +"de vous être enregistré ?" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Les deux nouveaux mots de passe ne correspondent pas." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Votre ancien mot de passe est incorrect. Veuillez le rectifier." + +#: contrib/admindocs/views.py:46 contrib/admindocs/views.py:48 +#: contrib/admindocs/views.py:50 +msgid "tag:" +msgstr "mot-clé&nbsp;:" + +#: contrib/admindocs/views.py:77 contrib/admindocs/views.py:79 +#: contrib/admindocs/views.py:81 +msgid "filter:" +msgstr "filtre&nbsp;:" + +#: contrib/admindocs/views.py:135 contrib/admindocs/views.py:137 +#: contrib/admindocs/views.py:139 +msgid "view:" +msgstr "vue&nbsp;:" + +#: contrib/admindocs/views.py:164 +#, python-format +msgid "App %r not found" +msgstr "L'application %r n'a pas été trouvée." + +#: contrib/admindocs/views.py:171 +#, python-format +msgid "Model %(name)r not found in app %(app)r" +msgstr "Le modèle %(name)r n'a pas été trouvé dans l'application %(app)r" + +#: contrib/admindocs/views.py:183 +#, python-format +msgid "the related `%(app)s.%(type)s` object" +msgstr "l'objet `%(app)s.%(type)s en relation " + +#: contrib/admindocs/views.py:183 contrib/admindocs/views.py:205 +#: contrib/admindocs/views.py:219 contrib/admindocs/views.py:224 +msgid "model:" +msgstr "modèle&nbsp;:" + +#: contrib/admindocs/views.py:214 +#, python-format +msgid "related `%(app)s.%(name)s` objects" +msgstr "les objets `%(app)s.%(name)s en relation" + +#: contrib/admindocs/views.py:219 +#, python-format +msgid "all %s" +msgstr "tous les %s" + +#: contrib/admindocs/views.py:224 +#, python-format +msgid "number of %s" +msgstr "nombre de %s" + +#: contrib/admindocs/views.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Champs sur les objets %s" + +#: contrib/admindocs/views.py:291 contrib/admindocs/views.py:301 +#: contrib/admindocs/views.py:303 contrib/admindocs/views.py:309 +#: contrib/admindocs/views.py:310 contrib/admindocs/views.py:312 +msgid "Integer" +msgstr "Entier" + +#: contrib/admindocs/views.py:292 +msgid "Boolean (Either True or False)" +msgstr "Booléen (Vrai ou Faux)" + +#: contrib/admindocs/views.py:293 contrib/admindocs/views.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Chaîne de caractère (jusqu'à %(maxlength)s)" + +#: contrib/admindocs/views.py:294 +msgid "Comma-separated integers" +msgstr "Des entiers séparés par une virgule" + +#: contrib/admindocs/views.py:295 +msgid "Date (without time)" +msgstr "Date (sans l'heure)" + +#: contrib/admindocs/views.py:296 +msgid "Date (with time)" +msgstr "Date (avec l'heure)" + +#: contrib/admindocs/views.py:297 +msgid "E-mail address" +msgstr "Courriel&nbsp;:" + +#: contrib/admindocs/views.py:298 contrib/admindocs/views.py:299 +#: contrib/admindocs/views.py:302 +msgid "File path" +msgstr "Chemin vers le fichier" + +#: contrib/admindocs/views.py:300 +msgid "Decimal number" +msgstr "Nombre décimal" + +#: contrib/admindocs/views.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Booléen (Vrai, Faux ou None)" + +#: contrib/admindocs/views.py:307 +msgid "Relation to parent model" +msgstr "Relation au modèle parent" + +#: contrib/admindocs/views.py:308 +msgid "Phone number" +msgstr "Numéro de téléphone" + +#: contrib/admindocs/views.py:313 +msgid "Text" +msgstr "Texte" + +#: contrib/admindocs/views.py:314 +msgid "Time" +msgstr "Heure" + +#: contrib/admindocs/views.py:315 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" + +#: contrib/admindocs/views.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "État U.S. (deux lettres majuscules)" + +#: contrib/admindocs/views.py:317 +msgid "XML text" +msgstr "Texte XML" + +#: contrib/admindocs/views.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s ne semble pas être un objet urlpattern" + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "" +"Entrez un code postal Anglais. Un espace est requis entre les deux parties." + +#: contrib/localflavor/au/forms.py:18 +msgid "Enter a 4 digit post code." +msgstr "Entrez un code postal Australien (4 chiffres)." + +#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/de/forms.py:16 +#: contrib/localflavor/it/forms.py:14 contrib/localflavor/fi/forms.py:14 +msgid "Enter a zip code in the format XXXXX." +msgstr "Entrez un code postal (format XXXXX)." + +#: contrib/localflavor/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Entrez un code postal Japonais (format XXXXXXX ou XXX-XXXX)." + +#: contrib/localflavor/jp/jp_prefectures.py:4 +msgid "Hokkaido" +msgstr "Hokkaidō" + +#: contrib/localflavor/jp/jp_prefectures.py:5 +msgid "Aomori" +msgstr "Aomori" + +#: contrib/localflavor/jp/jp_prefectures.py:6 +msgid "Iwate" +msgstr "Iwate" + +#: contrib/localflavor/jp/jp_prefectures.py:7 +msgid "Miyagi" +msgstr "Miyagi" + +#: contrib/localflavor/jp/jp_prefectures.py:8 +msgid "Akita" +msgstr "Akita" + +#: contrib/localflavor/jp/jp_prefectures.py:9 +msgid "Yamagata" +msgstr "Yamagata" + +#: contrib/localflavor/jp/jp_prefectures.py:10 +msgid "Fukushima" +msgstr "Fukushima" + +#: contrib/localflavor/jp/jp_prefectures.py:11 +msgid "Ibaraki" +msgstr "Ibaraki" + +#: contrib/localflavor/jp/jp_prefectures.py:12 +msgid "Tochigi" +msgstr "Tochigi" + +#: contrib/localflavor/jp/jp_prefectures.py:13 +msgid "Gunma" +msgstr "Gunma" + +#: contrib/localflavor/jp/jp_prefectures.py:14 +msgid "Saitama" +msgstr "Saitama" + +#: contrib/localflavor/jp/jp_prefectures.py:15 +msgid "Chiba" +msgstr "Chiba" + +#: contrib/localflavor/jp/jp_prefectures.py:16 +msgid "Tokyo" +msgstr "Tokyo" + +#: contrib/localflavor/jp/jp_prefectures.py:17 +msgid "Kanagawa" +msgstr "Kanagawa" + +#: contrib/localflavor/jp/jp_prefectures.py:18 +msgid "Yamanashi" +msgstr "Yamanashi" + +#: contrib/localflavor/jp/jp_prefectures.py:19 +msgid "Nagano" +msgstr "Nagano" + +#: contrib/localflavor/jp/jp_prefectures.py:20 +msgid "Niigata" +msgstr "Niigata" + +#: contrib/localflavor/jp/jp_prefectures.py:21 +msgid "Toyama" +msgstr "Toyama" + +#: contrib/localflavor/jp/jp_prefectures.py:22 +msgid "Ishikawa" +msgstr "Ishikawa" + +#: contrib/localflavor/jp/jp_prefectures.py:23 +msgid "Fukui" +msgstr "Fukui" + +#: contrib/localflavor/jp/jp_prefectures.py:24 +msgid "Gifu" +msgstr "Gifu" + +#: contrib/localflavor/jp/jp_prefectures.py:25 +msgid "Shizuoka" +msgstr "Shizuoka" + +#: contrib/localflavor/jp/jp_prefectures.py:26 +msgid "Aichi" +msgstr "Aichi" + +#: contrib/localflavor/jp/jp_prefectures.py:27 +msgid "Mie" +msgstr "Mie" + +#: contrib/localflavor/jp/jp_prefectures.py:28 +msgid "Shiga" +msgstr "Shiga" + +#: contrib/localflavor/jp/jp_prefectures.py:29 +msgid "Kyoto" +msgstr "Kyōto" + +#: contrib/localflavor/jp/jp_prefectures.py:30 +msgid "Osaka" +msgstr "Osaka" + +#: contrib/localflavor/jp/jp_prefectures.py:31 +msgid "Hyogo" +msgstr "Hyōgo" + +#: contrib/localflavor/jp/jp_prefectures.py:32 +msgid "Nara" +msgstr "Nara" + +#: contrib/localflavor/jp/jp_prefectures.py:33 +msgid "Wakayama" +msgstr "Wakayama" + +#: contrib/localflavor/jp/jp_prefectures.py:34 +msgid "Tottori" +msgstr "Tottori" + +#: contrib/localflavor/jp/jp_prefectures.py:35 +msgid "Shimane" +msgstr "Shimane" + +#: contrib/localflavor/jp/jp_prefectures.py:36 +msgid "Okayama" +msgstr "Okayama" + +#: contrib/localflavor/jp/jp_prefectures.py:37 +msgid "Hiroshima" +msgstr "Hiroshima" + +#: contrib/localflavor/jp/jp_prefectures.py:38 +msgid "Yamaguchi" +msgstr "Yamaguchi" + +#: contrib/localflavor/jp/jp_prefectures.py:39 +msgid "Tokushima" +msgstr "Tokushima" + +#: contrib/localflavor/jp/jp_prefectures.py:40 +msgid "Kagawa" +msgstr "Kagawa" + +#: contrib/localflavor/jp/jp_prefectures.py:41 +msgid "Ehime" +msgstr "Ehime" + +#: contrib/localflavor/jp/jp_prefectures.py:42 +msgid "Kochi" +msgstr "Kochi" + +#: contrib/localflavor/jp/jp_prefectures.py:43 +msgid "Fukuoka" +msgstr "Fukuoka" + +#: contrib/localflavor/jp/jp_prefectures.py:44 +msgid "Saga" +msgstr "Saga" + +#: contrib/localflavor/jp/jp_prefectures.py:45 +msgid "Nagasaki" +msgstr "Nagasaki" + +#: contrib/localflavor/jp/jp_prefectures.py:46 +msgid "Kumamoto" +msgstr "Kumamoto" + +#: contrib/localflavor/jp/jp_prefectures.py:47 +msgid "Oita" +msgstr "Ōita" + +#: contrib/localflavor/jp/jp_prefectures.py:48 +msgid "Miyazaki" +msgstr "Miyazaki" + +#: contrib/localflavor/jp/jp_prefectures.py:49 +msgid "Kagoshima" +msgstr "Kagoshima" + +#: contrib/localflavor/jp/jp_prefectures.py:50 +msgid "Okinawa" +msgstr "Okinawa" + +#: contrib/localflavor/br/forms.py:18 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Entrez un code postal Brésilien (format XXXXX-XXX)." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Les numéros de téléphone doivent être au format XX-XXXX-XXXX." + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "Bade-Wurtemberg" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "Bavière" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "Berlin" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "Brandebourg" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "Brême" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "Hambourg" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "Hess" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "Mecklembourg-Poméranie occidentale" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "Basse Saxe" + +#: contrib/localflavor/de/de_states.py:14 +msgid "North Rhine-Westphalia" +msgstr "Rhénanie-du-Nord-Westphalie" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "Rhénanie-Palatinat" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "Sarre" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "Saxe" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "Saxe-Anhalt" + +#: contrib/localflavor/de/de_states.py:19 +msgid "Schleswig-Holstein" +msgstr "Schleswig-Holstein" + +#: contrib/localflavor/de/de_states.py:20 +msgid "Thuringia" +msgstr "Thuringe" + +#: contrib/localflavor/de/forms.py:60 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"Entrez un numéro de carte d'identité Allemand (format XXXXXXXXXXX-XXXXXXX-" +"XXXXXXX-X)." + +#: contrib/localflavor/no/forms.py:15 +msgid "Enter a zip code in the format XXXX." +msgstr "Entrez un code postal Norvégien (format XXXX)." + +#: contrib/localflavor/no/forms.py:36 +msgid "Enter a valid Norwegian social security number." +msgstr "Entrez un numéro de sécurité sociale Norvégien." + +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:46 +msgid "Enter a valid Finnish social security number." +msgstr "Entrez un numéro de sécurité sociale Finlandais." + +#: contrib/localflavor/us/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Entrez un code postal Américain (format XXXXX ou XXXXX-XXXX)." + +#: contrib/localflavor/us/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Entrez un numéro de sécurité sociale Américain (format XXX-XX-XXXX)." + +#: contrib/sessions/models.py:68 +msgid "session key" +msgstr "clé de session" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "donnée de session" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "date d'expiration" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "session" + +#: contrib/sessions/models.py:75 +msgid "sessions" +msgstr "sessions" #: contrib/flatpages/models.py:8 msgid "" "Example: '/about/contact/'. Make sure to have leading and trailing slashes." msgstr "" -"Par exemple : '/about/contact/'. Vérifiez la présence du caractère '/' en " -"début et en fin de chaine." +"Par exemple&nbsp;: '/about/contact/'. Vérifiez la présence du caractère " +"'/' en début et en fin de chaine." #: contrib/flatpages/models.py:9 msgid "title" @@ -1119,8 +2511,8 @@ msgstr "nom du template" #: contrib/flatpages/models.py:13 msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." msgstr "" "Par exemple: 'flatfiles/contact_page'. Sans définition, le système utilisera " "'flatfiles/default'." @@ -1135,195 +2527,14 @@ msgstr "" "Si coché, seuls les utilisateurs connectés auront la possibilité de voir " "cette page." -#: contrib/flatpages/models.py:18 +#: contrib/flatpages/models.py:19 msgid "flat page" msgstr "page à plat" -#: contrib/flatpages/models.py:19 +#: contrib/flatpages/models.py:20 msgid "flat pages" msgstr "pages à plat" -#: contrib/auth/models.py:13 contrib/auth/models.py:26 -msgid "name" -msgstr "nom" - -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "nom de code" - -#: contrib/auth/models.py:17 -msgid "permission" -msgstr "permission" - -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -msgid "permissions" -msgstr "permissions" - -#: contrib/auth/models.py:29 -msgid "group" -msgstr "groupe" - -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -msgid "groups" -msgstr "groupes" - -#: contrib/auth/models.py:55 -msgid "username" -msgstr "nom d'utilisateur" - -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "prénom" - -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "nom" - -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "courriel" - -#: contrib/auth/models.py:59 -msgid "password" -msgstr "mot de passe" - -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Utilisez '[algo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "statut équipe" - -#: contrib/auth/models.py:60 -msgid "Designates whether the user can log into this admin site." -msgstr "Précise si l'utilisateur peut se connecter à ce site d'administration." - -#: contrib/auth/models.py:61 -msgid "active" -msgstr "actif" - -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "statut super-utilisateur" - -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "dernière connexion" - -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "date d'inscription" - -#: contrib/auth/models.py:66 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"En plus des permissions qui lui sont manuellement assignées, cet utilisateur " -"recevra aussi toutes les permissions de tous les groupes auquels il " -"appartient. " - -#: contrib/auth/models.py:67 -msgid "user permissions" -msgstr "permissions de l'utilisateur" - -#: contrib/auth/models.py:70 -msgid "user" -msgstr "utilisateur" - -#: contrib/auth/models.py:71 -msgid "users" -msgstr "utilisateurs" - -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "Information personnelle" - -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "Permissions" - -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "Dates importantes" - -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Groupes" - -#: contrib/auth/models.py:219 -msgid "message" -msgstr "message" - -#: contrib/auth/forms.py:30 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" -"Votre navigateur ne semble pas avoir activé les cookies. Les cookies sont " -"nécessaire pour se connecter" - -#: contrib/contenttypes/models.py:25 -msgid "python model class name" -msgstr "nom du module python" - -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "type de contenu" - -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "types de contenu" - -#: contrib/sessions/models.py:35 -msgid "session key" -msgstr "clé de session" - -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "donnée de session" - -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "date d'expiration" - -#: contrib/sessions/models.py:41 -msgid "session" -msgstr "session" - -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "sessions" - -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "nom de domaine" - -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "nom à afficher" - -#: contrib/sites/models.py:15 -msgid "site" -msgstr "site" - -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "sites" - -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "j F Y" - -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "j F Y, G:i" - -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "G:i:s" - #: utils/dates.py:6 msgid "Monday" msgstr "Lundi" @@ -1491,8 +2702,8 @@ msgstr[1] "mois" #: utils/timesince.py:14 msgid "week" msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "semaine" +msgstr[1] "semaines" #: utils/timesince.py:15 msgid "day" @@ -1512,485 +2723,107 @@ msgid_plural "minutes" msgstr[0] "minute" msgstr[1] "minutes" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "Indien" +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "après-midi" -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "Tchèque" +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "matin" -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "Gallois" +#: utils/dateformat.py:46 +msgid "PM" +msgstr "Matin" -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "Dannois" +#: utils/dateformat.py:47 +msgid "AM" +msgstr "Après-midi" -#: conf/global_settings.py:41 -msgid "German" -msgstr "Allemand" +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "minuit" -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "Grec" +#: utils/dateformat.py:97 +msgid "noon" +msgstr "midi" -#: conf/global_settings.py:43 -msgid "English" -msgstr "Anglais" +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "j F Y" -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "Espagnol" +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "j F Y, G:i" -#: conf/global_settings.py:45 -msgid "French" -msgstr "Français" +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "G:i:s" -#: conf/global_settings.py:46 -msgid "Galician" -msgstr "Galicien" +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" -#: conf/global_settings.py:47 -msgid "Hungarian" -msgstr "Hongrois" +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "j F" -#: conf/global_settings.py:48 -msgid "Hebrew" -msgstr "Israélien" - -#: conf/global_settings.py:49 -msgid "Icelandic" -msgstr "Islandais" - -#: conf/global_settings.py:50 -msgid "Italian" -msgstr "Italien" - -#: conf/global_settings.py:51 -msgid "Japanese" -msgstr "Japonais" - -#: conf/global_settings.py:52 -msgid "Dutch" -msgstr "Néerlandais" - -#: conf/global_settings.py:53 -msgid "Norwegian" -msgstr "Norvégien" - -#: conf/global_settings.py:54 -msgid "Brazilian" -msgstr "Brésilien" - -#: conf/global_settings.py:55 -msgid "Romanian" -msgstr "Roumain" - -#: conf/global_settings.py:56 -msgid "Russian" -msgstr "Russe" - -#: conf/global_settings.py:57 -msgid "Slovak" -msgstr "Slovaque" - -#: conf/global_settings.py:58 -msgid "Slovenian" -msgstr "Slovaque" - -#: conf/global_settings.py:59 -msgid "Serbian" -msgstr "Serbe" - -#: conf/global_settings.py:60 -msgid "Swedish" -msgstr "Suédois" - -#: conf/global_settings.py:61 -msgid "Ukrainian" -msgstr "Ukrainien" - -#: conf/global_settings.py:62 -msgid "Simplified Chinese" -msgstr "Chinois simplifié" - -#: conf/global_settings.py:63 -msgid "Traditional Chinese" -msgstr "Chinois traditionnel" - -#: core/validators.py:60 -msgid "This value must contain only letters, numbers and underscores." -msgstr "" -"Ce champ ne doit contenir que des lettres, des nombres et des tirets bas " -"('_')." - -#: core/validators.py:64 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "" -"Ce champ ne doit contenir que des lettres, des nombres, des tirets bas ('_') " -"et des '/'." - -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "Les lettres majuscules ne sont pas autorisées ici." - -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "Les lettres minuscules ne sont pas autorisées ici." - -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Saisissez uniquement des chiffres séparés par des virgules." - -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Entrez des adresses de courriel valides séparées par des virgules." - -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Entrez une adresse IP valide." - -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "Vous ne pouvez pas laisser ce champ vide." - -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "Les caractères non numériques ne sont pas autorisés ici." - -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "Cette valeur ne peut pas être composé uniquement de chiffres." - -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Entrez un nombre entier." - -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Seules les lettres de l'alphabet sont autorisées ici." - -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Entrez une date valide au format AAAA-MM-JJ." - -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Entrez une heure valide au format HH:MM." - -#: core/validators.py:132 db/models/fields/__init__.py:468 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Entrez une date et une heure valide au format AAAA-MM-JJ HH:MM." - -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "Entrez une adresse de courriel valide." - -#: core/validators.py:148 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Envoyez une image valide. Le fichier que vous avez transferé n'est pas une " -"image ou bien est une image corrompue." - -#: core/validators.py:155 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "L'URL %s ne pointe pas vers une image valide." - -#: core/validators.py:159 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" -"Les numéros de téléphone doivent être au format XXX-XXX-XXXX. \"%s\" est " -"incorrect." - -#: core/validators.py:167 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "L'URL %s ne pointe pas vers une vidéo QuickTime valide." - -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "Une URL valide est requise." - -#: core/validators.py:185 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" -"Du HTML valide est requis. Les erreurs sont les suivantes :\n" -"%s" - -#: core/validators.py:192 -#, python-format -msgid "Badly formed XML: %s" -msgstr "XML mal formé : %s" - -#: core/validators.py:202 -#, python-format -msgid "Invalid URL: %s" -msgstr "URL invalide : %s" - -#: core/validators.py:206 core/validators.py:208 -#, python-format -msgid "The URL %s is a broken link." -msgstr "L'URL %s est un lien cassé." - -#: core/validators.py:214 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Entrez une abréviation d'état américain valide." - -#: core/validators.py:229 -#, python-format -msgid "Watch your mouth! The word %s is not allowed here." -msgid_plural "Watch your mouth! The words %s are not allowed here." -msgstr[0] "Attention à votre langage ! Le mot %s n'est pas autorisé ici." -msgstr[1] "Attention à votre langage ! Les mots %s ne sont pas autorisés ici." - -#: core/validators.py:236 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Ce champ doit correspondre au champ '%s'." - -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "Saisissez au moins une valeur dans un des champs s'il vous plaît." - -#: core/validators.py:264 core/validators.py:275 -msgid "Please enter both fields or leave them both empty." -msgstr "" -"Renseignez chacun des champs ou laissez les deux vides s'il vous plaît." - -#: core/validators.py:282 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "Ce champ doit être renseigné si %(field)s vaut %(value)s" - -#: core/validators.py:294 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "Ce champ doit être renseigné si %(field)s ne vaut pas %(value)s" - -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "Des valeurs identiques ne sont pas autorisées." - -#: core/validators.py:336 -#, python-format -msgid "This value must be a power of %s." -msgstr "Cette valeur doit être une puissance de %s." - -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "Saisissez un nombre décimal valide s'il vous plaît." - -#: core/validators.py:349 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "" -"Please enter a valid decimal number with at most %s total digits." -msgstr[0] "" -"Saisissez un nombre décimal valide avec au plus %s chiffre s'il vous plaît." -msgstr[1] "" -"Saisissez un nombre décimal valide avec au plus %s chiffres s'il vous plaît." - -#: core/validators.py:352 -#, python-format -msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "" -"Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "" -"Saisissez un nombre décimal valide avec au plus %s décimale s'il vous plaît" -msgstr[1] "" -"Saisissez un nombre décimal valide avec au plus %s décimales s'il vous plaît" - -#: core/validators.py:362 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "" -"Vérifiez que le fichier transféré fait au moins une taille de %s octets." - -#: core/validators.py:363 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "" -"Vérifiez que le fichier transféré fait au plus une taille de %s octets." - -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "Le format de ce champ est mauvais." - -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "Ce champ est invalide." - -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Impossible de récupérer quoi que ce soit depuis %s." - -#: core/validators.py:429 -#, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" -"L'entête Content-Type '%(contenttype)s', renvoyée par l'url %(url)s n'est " -"pas valide." - -#: core/validators.py:462 -#, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" -"Veuillez fermer le tag %(tag)s de la ligne %(line)s. (La ligne débutant par " -"\"%(start)s\".)" - -#: core/validators.py:466 -#, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Du texte commençant à la ligne %(line)s n'est pas autorisé dans ce contexte. " -"(Ligne débutant par \"%(start)s\".)" - -#: core/validators.py:471 -#, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"%(attr)s\" ligne %(line)s n'est pas un attribut valide. (Ligne débutant " -"par \"%(start)s\".)" - -#: core/validators.py:476 -#, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"<%(tag)s>\" ligne %(line)s n'est pas un tag valide. (Ligne débutant par \"%" -"(start)s\".)" - -#: core/validators.py:480 -#, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Un tag, ou un ou plusieurs attributs, de la ligne %(line)s est manquant. " -"(Ligne débutant par \"%(start)s\".)" - -#: core/validators.py:485 -#, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"La valeur de l'attribut \"%(attr)s\" de la ligne %(line)s n'est pas valide. " -"(Ligne débutant par \"%(start)s\".)" - -#: db/models/manipulators.py:302 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "" - -#: db/models/fields/__init__.py:40 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s avec le champ %(fieldname)s existe déjà." - -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 -#: forms/__init__.py:346 -msgid "This field is required." -msgstr "Ce champ est obligatoire." - -#: db/models/fields/__init__.py:337 -msgid "This value must be an integer." -msgstr "Cette valeur doit être un entier." - -#: db/models/fields/__init__.py:369 -msgid "This value must be either True or False." -msgstr "Cette valeur doit être soit Vraie soit Fausse." - -#: db/models/fields/__init__.py:385 -msgid "This field cannot be null." -msgstr "Ce champ ne peut pas être vide." - -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Entrez un nom de fichier valide." - -#: db/models/fields/related.py:43 -#, python-format -msgid "Please enter a valid %s." -msgstr "Entrez un %s valide." - -#: db/models/fields/related.py:579 -msgid "Separate multiple IDs with commas." -msgstr "Séparez les ID par des virgules." - -#: db/models/fields/related.py:581 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Maintenez \"Contrôle (ctrl)\", ou \"Commande (touche pomme)\" sur un Mac, " -"pour en sélectionner plusieurs." - -#: db/models/fields/related.py:625 -#, python-format -msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -msgid_plural "" -"Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr[0] "Entrez un ID %(self)s valide. La valeur %(value)r est invalide." -msgstr[1] "" -"Entrez des ID %(self)s valides. Les valeurs %(value)r sont invalides." - -#: forms/__init__.py:380 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Assurez-vous que votre texte fais moins de %s caractère." -msgstr[1] "Assurez-vous que votre texte fais moins de %s caractères." - -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "Les retours à la ligne ne sont pas autorisés ici." - -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Sélectionnez un choix valide ; '%(data)s' n'est pas dans %(choices)s." - -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "Le fichier soumis est vide." - -#: forms/__init__.py:699 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Entrez un nombre entier entre -32 768 et 32 767." - -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "Entrez un nombre entier positif." - -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Entrez un nombre entier entre 0 et 32 767." - -#: template/defaultfilters.py:379 +#: template/defaultfilters.py:491 msgid "yes,no,maybe" msgstr "oui,non,peut-être" +#: template/defaultfilters.py:520 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d octet" +msgstr[1] "%(size)d octets" + +#: template/defaultfilters.py:522 +#, python-format +msgid "%.1f KB" +msgstr "%.1f Ko" + +#: template/defaultfilters.py:524 +#, python-format +msgid "%.1f MB" +msgstr "%.1f Mo" + +#: template/defaultfilters.py:525 +#, python-format +msgid "%.1f GB" +msgstr "%.1f Go" + +#~ msgid "One or more %(fieldname)s in %(name)s&nbsp;:" +#~ msgstr "Un ou plusieurs %(fieldname)s dans %(name)s&nbsp;:" + +#~ msgid "Separate multiple IDs with commas." +#~ msgstr "Séparez les ID par des virgules." + +#~ msgid "Added %s." +#~ msgstr "Ajouté %s." + +#~ msgid "Changed %s." +#~ msgstr "Modifié %s." + +#~ msgid "Deleted %s." +#~ msgstr "Supprimé %s." + +#~ msgid "Ordering" +#~ msgstr "Tri" + +#~ msgid "Order:" +#~ msgstr "Ordre&nbsp;:" + +#~ msgid "%dth" +#~ msgstr "%de" + +#~ msgid "Have you forgotten your password?" +#~ msgstr "" +#~ "Avez vous perdu votre mot de passe?" + +#~ msgid "Use '[algo]$[salt]$[hexdigest]'" +#~ msgstr "Utilisez '[algo]$[salt]$[hexdigest]'" + #~ msgid "Comment" #~ msgstr "Commentaire" diff --git a/django/conf/locale/he/LC_MESSAGES/django.mo b/django/conf/locale/he/LC_MESSAGES/django.mo index 0f8b07e5bbc3e97d13050b7ebff01878da6a549e..50021ed86d2c67543cf1ad5be9673e02b9d72eed 100644 GIT binary patch literal 48281 zcmcJY34mNxmHwYB0V4ap%A+B4x1>88OK3tMWPw07lMWD2pt`HNyOQdvwyHWwGomO0 zE}&TLfVxFY@|(_rANF zd+xdCo_p?nj~9>JZ+*b;jD3ROWN^w6LGV59-`t?sAb7qd2-dwW2)+UyL%3^P5VV7D z1LuQZ0Z#%?8y^G*f)|2EfwRDw;5FbRa1d1aUk48Xe+4St-#i{QAqb8p+z1{3PVqRy z;~elX;@iQoU>X!Xt3lPf-G@I4b`X9BYzCVr2Ep;*B9LYUIdBwM0QUu#g9n2*`uN*H zmG=SgAn9+dtgP_{`5m4=T4pjPYfro=Hf%}8M0aec*z?(oZLFwNPs@->h{0j#8 zvmf|%Q0cz~iVr^k#fRT{{EL6S|JknmgF(@KB=`pKRPYRNDk!=;L6z4Fs+_V9zs*0t z1w4}YJ3S79;_p9#M}hweD&G+Jdhq*T8T=V2e%^47Yxe+n1mSmqhl1-s(Q!XG8vHyc zetZp7`QHLn-cLZ)^E*&<9(1nDe>f;Uo(k&ucu?(`0jivNp!n4eitkH6)!PB8oVS81 zeMSp_eoIg zdDcJwHh2o*KZ8nlB9&vP&FZcu~`8Z>m zlaFSQE(s=rqH7r_dAb>tyu1%o|EvZVgBwA~?JJ<#`$up&c+@36y~ov{V+^dH5$E|0z)QJ>$b)^7suO|6Onf&wmK29nI4ny{(|=n(V{V!Al9x1to{; z!JEJbL6v_xg{Zw}f$GPLL8WU4)!%7Q<7@?}^zQ*h=PGbN@Gc*}2~<1p_wf&duq1dC zTm=5c$6q?rl`{tvU)w>Icdd_4fu|A9f_nabQ2J|)e|{gR_H74C;K#s5@XT4R+BrNAHoK`YQy*&lZrO8(a%60q+4%1%C@(1s=_y6u)y| z2;K^=2Ok1&1*gmjf_H*XgJ*y<=F&zm3yL3`!FPerfwzP6<}s&%-vq^nw)u|UX`tx3 z0z_njtHHy-Eui@R2&i^G0g9f_g5u|kU@F9FrAOF_xeZQz^1t>E?GU%^)JI+Q3~9NYRKBl*=YVfOh|U7r!IQz8L8iLkUXU&eUI0%Ao33`x=YUF|1;>Ev!P~%3 z`tT(Psrs!4grwkI;5hIF@NDqFYv2)hA*lAf0v-#FzShlSr-2g*pAVi3=0MeRKX@ki z1@JuZm!R6!1an4%mxGWHECv};!6P7~2d{#vf5BT^`kO(G%Wa^>(PzL(;D3PP*D=?* zd3gq?cK3o)!PVd_@Oe=3a2%bXe(wU+kA0xzeI=-Vd?zURyUpVr9@l`9pADe$J?!x@ zP;&bexG(s9Q04!pfBp*)76!iq8^QTExc069Rp0ZV>i-6)d@q9PryqlA|IrLW$@>gY z{CyKBKE5050-pkv@AM8=P75gd&-LLc;1Pspf+vAjfugen9s;faRo|`PDd3~v$>5j4 z>EO>nSR9P+bb9^+p!)4uQ2qK1a2oh$P;xOf?fPK}xG&*%fokV%;OoKnd%PPQMfiS? zyFjIX6coLW`|#&HJ_jC3{Fgz~PoVnYWgmXUhhGK7uOQ>vcL=C@PXg6{jiBnez~e=r z_%Iz*zBhqNe;ug$mV*0(1K?rcJ3u}EAgFRSfuiF+P<+`A?gxGhRKGmw@iYGUbD;S4 zO;G9n0;=A9=uFXZ7`Q)p3OEWp9aMYY2rB&~Q1wg(RsM7zo(qb;t3lD#<1y#44;0;H zQ1#sms+>DPm9xP=-{!-QfGX$X9-ji$&QF7)=kwqw@GBl)0FNa6eNcSUMM= z4DLht2p>M$;|ZYZc>^fA8bHxA&g1!@=$;NL-F%OWK=I=$Q1rYRRC_X@()WSl=i9*J z!1sYFcbmtDJwD;_(;lDo_;rsjdi*gc`hN|ozTbf=|F59xJGjS{e>`{$;Rf&wa55-9 zyag0}ouJy02M+*?pxS*SsB&%x4+PhO%C{L*JGc4pc2N0042qsdLFIo8JRJNCsPtb2 zMc)vpbUy+c!5@Pv_wcO4V?mX7GN^nZcn~-S6usj>mD>g$2wnjyf4j$PK;^r^V+IsG zOTp7$hkgNH0XHpm^UM2lZXNOG7^*X(CBdGE>fRdlB;7ssw@O`a7{c|5EzJ9{v(;lA%)h}NKHJ|<1hfgWE@+N^QZzlK;;B}zVeH)ZsJgm?0 zqs8N7kJCZXI}bbr>;P3yA9y%;8#oHQ+sAJKXApi2JOTUzco=xpTb+JB9TeX$@_0FT zE8)eU^zwH=>Hk;33&HV4*WNrRzApz=?k(V<;Ju*Q^)RS%KMRVU=fNYvA@FqYr(g?s zXvx(x1yp}50mau2Q2B2H)z0^Tr-65YD*xl4+Wi$!^}h^Co?lmXbR7cTMEFGT9B>1u z=U)P4M|>O9IQX`^0LHJ@&=@){Mzw7+-w0~X%L*m~Jicb%MqWfw8{ClAC zzXD1={sgLh`!08M9}KE}4WRhg0)7!}1DAmZu5k8O8N8S9r$Nzm-AdQ~K2Z7J3!VzD z1CIqC11Esb`S4%BqX{29;OcD#ClkI1oCvN2)xHmb&ETV;%J~j>5%_CxE;#W;;Ws7#=|@#R!-GWNw==+l36J&R^T9(2PXmtx7l7hNC)f(E1V!g|a60%Rcskgy%E|jIQ2EN>LE!D6 z`e8LFy6*wijt4=d`=pQm5-9olmVf>W@C?HHu6FHc0+nwbsQ5JadhorV`e8k&c6=B- z0{jH1^8OvX4EzC@0-M*EsUEx^oJ{yvAVWEL<66g;hrwpTUjUy4e*?Y<{>wUiCE&g5 z-8yN;UHGgBm%%ph%itn#^xdQduLDs5!6_RY-Gks82tVP&-vBQs{4-GXox9QT=LS&n zvJ5;Hyd4z(wt(*ew}Z!n&Z z;C0~so19-h?eTH&eBwtT+y{UcgW~UHpz2!;hTu|A{C+>Eez+G@`o}@l^Ut8@cn&Os zKLyVMufNyl11%pYdL9S+z~{kP;Iu9H48iw+;z#j5=dXV+sCGU9D*iK|#@h>^`1K+v z`dq;bbHQ<2ktMJTJR5utRD7__m3tm2dgprGvG6z#^s&c9iN{9RnK?8`QW}goIY3tUO@O^Q0adRUI-qy(}fp<;^(`; z+rbZlbM$A!HuBOy#P)EkA2vUv&+Hj2;TxO1z!SJ zf^$FY`s*3+0K#7eM}tG)D5dl9KLHOU{44+bkKlO1`#<8+p9@M3rh(%7)!@G18t@I^ zUEm?$Xv)-k*Vof&T*@4vzY$=M#7_;l-fj{VwoQa0fUW{3ZBK zu*$G4}!X2Q>ci^1Q5(i4|I=J?bJil6I1wR01A1o)80kAtH3Sy27(HEhW)&^zo?2ogO|JRJl!{+BpeSc^8A?=WI~*Edf>DGEn3FR#4>*dfW~k zL--L;>HiH>zkL%t8vG%sdj0?&1Mc^PYv+le%9#Yd9&7`ZZx*QZ?V!?M@8kP@_!e+7 z@f$&<`zk223if zZ+C#AYqgKx0IJ`%`uImc@$qr+IPfzbzXht?UxCX1`hRkGBq(}M07ch0k8PmJoe8Sm zgR8aA6^x;Y1iG-(mTmovm zmqGRGjiB&oYG7A3M2!6BpfS^K{PVJDKnar2Q7* z^SQs5OTY68KgzY#r&C;t`$n!axc_giRa`F+7JvG<-oX7F@JPzjZ!Tf+Y%TZ|kRfNk z0^$GSt{2qrJ}|U9_ospU$8!7iMBEJS|J$eE0HUU?pQXEQ%;reI7FLNE_%acCUZ-3&Z zaox%_m+-%Hb#Wj4?&RiMTwmb&V-)G}bELzhGTVQM`w#eh4a9YDe;(H)t_;^{#HG1z z;EH}lZVu#`e&=z?Rv1nAZ{WpTKlRU!23K(Xn7E_B&vTv2rQc~D7lRsG|H<``9`Kvs zAeiaXoB`@Am42E>|AXtFh?9=g?>VkF@cdTrMW1JY`#jejgb(A{E8IW8{iEOluHSRL zlklrt8tdc11Gx126xTWa-XaozG!75r+2cO$0q{7=A4l9u?k9rZ<@!0-MO^xQ#6j>U z!jrjw3)dff+?mA52GQ?h-2Vmq7w}bZKk#_2-*bJQ@GV@OTn7=B-dzO#mFp(%_3PpO z-?-k)bu5>DTRmRK{SnZq`9Qz7ItcFM`Ess#ghzqz=9=xF$rpPy_dfuC$h8moTM0LC z|GZCgJNNp1*@69CoVb_%((h>UZX@lxxKCLOWf5-X{!(AYCq1t6_-3B~ycEh7FAF!{TY@CS+b2Oobo_aEgNAUqTN1Xqds zw0}-8_$=2ixfUeiew?^J$=~;ZZKOLCn%)V1oA5fWUvc#lK88!b4{fU~*Y!~Lcx0r(Z-{*(yo_B!Iu2DgI;`)BuX ze-gCn_f_tX<$kmeKSTHxuITr5?q49V1^jgs3I2yqb36C@a{mb*{yw;qxc7i1@Ganc zu8(r{64viOx&JP>%tG$Z0n|T__-}CihU+=5^<4Vh=D_}bFLAHiCeqx*wVLZ~gr|bP z0Z#z+yBGX57iPBEhkxOIkn4EDonZ9)n!i7kh=trwR~VWO0IuY^ittN{<2nx51>VJV zIM+JD`i5xyHd0gQh8a`Q6RIb3h&*+u@r6Wsp~ z_n+qa0hfw7l|MgIJePiRz;|#R;lqy+x0(C5gR{Vm;5WH`=byg|{0G7}gR8-Z!AHR8 z_X}=5NZf^77jXTS>tBicH?C`aqV*nM2QBAv|1@cy1+N5e;d+MqFM%HbF9!Adu!G=D z;5Eek96W{m&vO4W|4guz>vvqQBYq-y1Naj7DNw&pd({1d`or(fKJLrlcEWE2Kg89{ zbt>T_!L{IDxuV}!xp^bkSw7-m()`)q|0DMYLt8so8+tOizJ{sog)o~hl~cJ~*ik4f>rEAx#%W5U%Y{O&BUKz57K&jp+uc)c>C9z2Nf~8H<ULJv5*r6E4qYR%G+8T`I}f5q1`O`})h7Vwld9vfcSqIg=ipDuoT% zJdycSt|4rKMHM!b21?}&#HD+)`E03NOqJn6w##Zt6*Kup=<28DY}aUGTU>rNS!i?X zlyQAiM+f001L2sau56CVt}kcHxlD5@3>wBXrOM@EbEzRLd%$0?=1A^%aB(tz^!0RQ$E!TwYur=?Z_0H)3l&G(C6X`9ZTtTQX84&9@-Q=4O6*d zCY2rtGb`b4DeQu~l8)}|@=TsoUD-@7-CSy=kb%Niarug~z#I zI<$PHOlKjVrpi*7E@Vn!zEBQReSMh}Z8c#{h5f}`ADxQ`hK^goSV$et%n69PIv|+R zGij=Xsnj-Q9JiyV^yiSTX(4@CSBQGErIJ`sKxp7`FMNqcO+u_ndzOP~p%@tT0mD*3 zbwEv5wnB^(+Qkd!NR0g$P4i%GFs-vJ7Eep3b*ZUNfGkk5IF+lL4380jX}O%PFwKx9 zLB5b5=q>b@too9ai@3TRWl?#y*h)aHC{Hl0uP+=^H0F09y;R&s2L{uMsg7(X;IxMg zW~r+csl2JPG%Cw9kOrmeo9n&2G2k+#&QxC}eSIY24HtzX(rGEAIhQM#8Y*UTQZ=Z^ zOs~d)lyC+eq_Wd(RkdG4s5_HKU^9&TMSUssPERlmJOf(JM-(KuDIhvKql`_qBACC>~p`>jdQb(d<>c(s?o1%hZrZdNoIsN-GM*bd+kOa3WiqPwOOUdQZk?FJ!W# zuu{rgj6`umQ(2Ol%`-ZS1;m3sYYnG`4eiodQHmbsi;fKHiB`}f>4va3Qz~iZiu*NN z>dU1D)Zfgw=(pBjI>o12N}0YCy2u`sGu@dYZFTiRVj4 z`7LJ9J(=b7etrOT%CNQ>RKsL?f00?KoEsqfjhW7#V8*oeneDUZ&b)rs{DpI;wOhFA z{;JvSmtF5tES@um1DGanGw7R+R4Ef?ip4^aSjIq;)8AQCeIlZOJeK3Qak{mqZNZF8 zXRH2XG$rUJ+ndUTPN@-;?0aw>V^PthT|3wshYz;KaD}nNsYKZgHlS2OG~OKRFmg0% zY=Ta8+T3NDShIIe3O@E_il!i$e$mKoSejH+MzChHk_NUfQqA)gghnEY&?Yuhj*<}B zS(Rel+$UCLR`y{%G4&6G2r?#!Z*Z?z6&JXoCu8GGl4(Vv;KE#?n?^#Q)#OILSxNPC zBC_?eX2Kau8E*xrI$FcU`PeEm**AezLt|!omLXlqoX#4O7Wc7cW*Jq%j6!F>MibMn zo+m>|!>?5H$j$yxAv-Xb(JxL(@N8~|rRZpzJEc`K45}IZWh8uNOK&QhlLd+(lxl)) z!OXPmQVn3&b751b8zWv%HrGi}(V{%X~_)M661q z92tZ7a)<^kmBTUVu(Jm((8+8MOGixITiBb#G^-m6in1hxSP#VzTbN;nm`EQCFPeS`@0z zW~8I-OMR(M4El=2g0?TOkiu7K8hwIUhU1}(Pu0GJU(4LNEi-0}P`MJ;7OOa$Qfo@M?6S7Gb9YmY<*6+!Q>7?tpRy{= zXuQ?NYeHA;yQ@-ZYV(=utBt%di&vsbMXcz-vWx^i8fYz(CXPMt+{xHC>CkS^s}xi> z!}vWWtrQT^phnf`hrLR4wO1j-l*n!hHmTdY(xX&`JSKu^))G1-vKv{#$_`D%T1PD? zY55iFQ%yE*si66Ed8U|+6hKt86U<1(}1xW?9SZfY5=kw1m$%PceKOUpu%B;b8v{Xn3E zUkfJ?&56tEVtpm6p%fK&y+W-$<=!0S&X$djs>_yS@?qOAN8hH$TK9VokJ;`_L1AO1 zsC1?)#bVo+63ohUwCYc>KUEyyCX>VN&KRvsi!5PWC2>d4SKS3O@4U$-lG=h<@@Zg= z;NOUBk`j@O0$cz+x?}PLY!(5FrSjO2*}*1TO_Ca=#*nBc>!SQv8MuvZWtr-rICz+m z@neg9n_cmtpw3|2tQ>v4ezL6d+PH^cx4O7D*?3>32CffuKiE~Aq&D}Yjob>?Mm9T{9!VEx3(I3G5!*uu`p zHJDSA5F;wjLXJL3A%vYsMgi$HXQgq^*;aX!++}zngUk9^Fta?&^S)?oc*fIiP!Tum zB^H|!H5<-Y@ZFho3yMeGQE>!B-6gN338e{dFuPZiq8t&L2TH+g$V=0sn#&U?&K_(^_=#ORj&bIe#I4kBOIFYg z_v!N%TprJPapZzo!{V4OZ809Dkpe@W!`U<9veZ782J6lEx`LSC@)UC~e{8^Ap28P` zJO!8c=LY!G+b92{aUtOak5~jnTPl~id>If-jC-RD0Y=E*Dvv|j4(=*`0S zbSqQ0b7H9zF{o^o!9yVpCNV`^aVU@%kEotWe8pyTS{Kpz7FHM-2A!4loOPvUM^uAW z*IpRqx~s5&tbRej-Evj1+&OpVca~cN{uJctnZFDV+KN;#A9WjP{kC9!!t?AM``(WV zUn8FGZ8GPJ#f_gV)q7ndM{~qVIOn!$JoCtdj$AN*QM(gg-(VM=%Juco|7Dg;tRkbu zZdF3hnfW%CvimW=NY6vK0A2_4>DyGWU~aI0A(ZepFNhqM(M{N7!>XBt&ZVgeu4mu1d`=7TaJ9f4}8Llbo*V%oR{OlI{My-D}st zHn?oh!yKR(hn20fJ#S@1B^Pj+`dvx$b~-aAt~oNj*h{i>BbZ?G;*H9V0=sd39Lr}V zg^BAo?_3tc%5}4;oHempcD9~-P_ZyZNRX~_tm4(8_EhMWNpeug0fRD)w4yC3TI*Kz z_mnge*>%fGP~nNjPu`h%4b+TK!rw`SZC|=Y*55@#BLCh|P}7A;NkKy+>A19z@m{>7 z^kPO%$C@nK1!scxIz65wH9Ae?YLa{5YLen_E@5&p`?t%E(RL>z$go*fLpYoWaJb^rk-GmKhOK~1XNocGtfmrrRpzu@w7BLuM8M=aqo4_c zO(tzVEzxNRn|UiKZTqK0XE8x9D45rG0hW3{W+&QPe$Z6d*CVq}0VtCx;CG%i7RNNn z;B79A9zCYXTf++Ul*@f>G-BKoHRZ;y&-&E8EiXtyEFmTu?}qg(&WuP4vom=%e2U{ zoV`>mLG84cnp>$sE577D-9j2;7T>~tIEdx9C{^w+$|hO_2knoQ!_o#s?lB?s#3JP! z$mS7Mtz8n{4DC9rX=f}o#^Z-AU>^HbR+EAN6?t@Hbce8 zbIBOZBV=#aR*y^czbNN|ko_!VAk|!IjEXTc$XBl;4~x9hhY2=U&h}vgGJ2hQmmJ6i zL=x;S{dH#8qD-;FIGics_X%fe?=GB@>7Cki&iL`oQ^s*eYJ2AP^^$?m5(SIc?_iw; za&QOR$ldt8li4#Ys5OtaOj!};%PkswUJ|lzrK@I}hjTAiVT-bOgYZx>NN`8l`ficV z>)4X6vd6S2S6H4}76>vXOpA0H$hIi#(2Eoz!??-WuD{69`qEB1KOj{C0dZVf9#J4CyBAOG@f!41LYK$%TZqu^F(Ps3$4ZK$5N-Bo`g%Xyjc zJjCuV*qhjd*81ON0N9UlzA@86owoafgF!>Fx2k|R6Y@@~v@K%LM4~@gxC|Pk$e%P= z#NIN*HnIL^ERAXEO|8T+++FTzF3~6ky9O=`1Z{OCH2=yXRT+NH?G2D+JEy@t5A>l=X@>cDW1o~XrMV(V60C%LaQ;!2$q{e4J!U9xoa$j_nlH?vNjWMw+TTPopn zufp1;!g?4ZXiYS;*KAU3C}>x;m6bTb)rV`>P6$O4%$xc-71^%c5_y*kdzlMmi=W!K z>`p0LQ*(~o*j0g5>ijw0 zn3X(g54ACA+BHVYCEqZL@9c2}*?w!ZKK6^MVX2B4l&q;knr1T_KL2tQhYt|rOg-DWi&!BLNr-Y+$%cJ}V!RS8p`6st)r^aM>4?@Qto!8l5@zI=}L@KNRQj5O#R1Ew~vrL+HJ?>t%{oA zF{+RG5(P%6Zkb*)$t^s#`V{Eyl2;uUt(!1kaNCqlC)BB1Q!;B}EHW4uFGIc5`PE0f z4jo>_ZnKX~u3@EFdj|S&M7&lis)}KWoYE$>ii`KFtq%tf5_*$;%2dB$NhY-n2m8|& zw96Rg@3MhH&|YN!TWfk8vC;ady+7l!^cR=O3b$h~?$k76nzHMKRM;G+G}P>pZe;yWfecVs*g3|WPZ7dKXvU2AZq`3){> zpId!?oio`uFF8};EDc6YG1E4BOewfhE*ci0(ow-xGGUyLiF4}Zp3{u4I=GzhKtwB3 zcYyG!Oe5=*lH5-2z^Z7HZi5%FRy%U&kmwLF3dPQ`w+7^sva_|3w4H6KM_h`Go|>hT zTMfnANm@cwv>QD%c&2W(h{`koW)#U#jqc?&uzUQ4j2SvQV5$ntiGdSV)+ze0 ztBaUokfI>382rKfKu69@5qKMu2y@?*xG^7Agyu-D3X}pZF2kj)_A+U^cjxiq1rBio z0lOVsOiQ9%83OzxdI!Kvg&<)z1l8RdWb{T|5bwl$vYad0mDH8#2++rjnKqEqK(5R# zRt#)CSjs-;(*As~EX6u9G|zGJz7%l0 z3)7{*aB#QQb#me(lf3vq0)Iac@ERi*2nFcJpqG`gag_Jd{k`I#VJ-~@ZVusm?4hO@?kcyS!vWz*4}PMidV&T@c>6!b};qk$1r6k6i8 zqdeZ10v5E zctC1&V<%xMA@(n#CnfIWFH_x67ilhHrOngf4bi!YQfuVsy1|?NrNDKu{dL01!N9=p zyhNx6sW`AKGZ5XAUDkDAv#S0OkzE<^PLmCJ4g7LHas9ASdM1isZ@4YMFU}}r{2FWN zTQ{ZFq1pL*BAQ9Zxw61s(G0Mu0+nokoL;huH26v`veL6I!m3lEQXr2^Tfq78Wqe#4 zX&qq7%NNEXv>ogf6$^SdvSoI<jnzHO1@CITo*F1If9F8UQGrU^b@$9v60MOoaU}qtJ zaW3164xc)DF7Fss+AyJY{OIXUwYJE&)@BC6IQk-+zrbuPc8M-r+&-&iawVOr@5&Tg zX8IE?ZQxOm>Z6De=bYIAyjYC_9)(>qN8su*M(5|tH z+o@D*hISCKBOF>av@0Z!a_n?5o5{0-1e+DVmH0UOXp(Fmx`$F$4XqE!vze#cRi-5g z$-j(B#3>r_cq=GG7zx2ZM}vuo(S(WF>CbaxdQ)f7|67BWG|Hg47rtqsWl!9zQE z37SHzB|EvfSGBEH1+d_5?jdRmv{V-d14jGG2Pq9oHV-`nts6z{4wq*O*>|d_ofIJ6 ztsh!5dT3Jv$wc;+p^dx^&5c#P7II+WHq|c<-TK)8sBfdeshw6}zT|;Z)ie6haG?PJA z`(icyv94igQxGXr-R$nwYU>!hc;>N|xJn%8h)q$qt%eCZjHmWSwIp*FQTMe{a{OvF z?WBXnQ1d29i#3;sq<5k+;h8U0IZdZGr%A$yv|$DtwlxfGR2kBLn3wUJ){wGGR1sr- z413#}NOgdQ?0wY_kiYs5Hc(OG(a3LKON6b6owU}JLO^hp+P(uxp-nqm#*{Sl*DIER zZqzW&hc+Z$$sXZdY~$ZUuAEiK(Jp%_+ggu-TJ>HwwVHs$G8;xBE1{7Jf|i8DT5(?U z7~L9rgYbBV3GXg;oJN-8mTEDE2|Fp9zkc-YbVE3fOmuD}Fag}MQNNC^mwJ_7I~qr= z0bG(eZ6DeZFjBX1%LodLjiwJPx4USllcK7)QZiH_FmRnAxs+zTpPJSo!J7m93Ax_| zx7GLPKE$Y!Q9-dws?MvfC`x*WXUZcoEukikhpel&B?_r2z*ibod5?JF=8bzfHZOf@ zg0zK_Rt41kfKdjmQiu}jU83H!A)1p^A`OkW8L~|ysXprSgaYu96L| z8JfwQF0)pxqgJUuYpvAx-8^647E?iOsNtka4lfE|v&z)yWn7E9Yamk<3|e8k!WMQ< zhrf>wL4yrLn{9feQEP|pSO19j8ccMSnDqc1cDE|jG{yLq2(2C3Nw;dKt!ebg{nnuk z>WS5quuiY1Yc^R!{6;$zZVi)6sP7RpC0j!o>P`_Dy}!| zgOn;cUDu#8)-z0)Kvolp=nmaW?XnY`)Fan2F{IPEm5mfhF2U6V)J#o$Xoi>^#9w`) z)bw%82#Zc?d#ikty2+Cduhm?2>D{!ICi?!SYP!Z$le%mZk2ex}sF7RWt@h%5nx)@B zcv)Mv4Hp9UO9DP#k%(g?L~`KYxufW6Qo>i|{*-CVk$;Y6Dw_6Xn_~E*& z?mPSBd&s1DlcXpr)D1wYmy|R8s=azDF%S&|BVDr@Ixt&#K>x%>r!4~3k#Z*t^agKS zILt)f$Y7R6PV~F0Cf1xVL)3`|Uv^^hw0Y77gY}S~l4`0n>Cx<>5sPA!#ruE-m`@oV zuyl|{AzQ||xGq0aD0w_F`#DQOsHyL6b&iurRs||rQeo=$|Fo=-Qf=~=?T&m&eap6U zW1gTNoFYXW#t@KVcU|Ha8*wYhsZktL>Q}eP7zsS>abFRT6mEn`EPw)TqBWfx0oJXF z=kcvbu_=f?3Y_SxMn8fhBZgwNR58igWW8ec0OT1HA<|8QEus6c0BJS$uv#_2VInf& z$toBYiP)%U^;fMNOHZz2Kqlru^_$lljM~?b(I(I6g9OHSuWzdwXp63$5N!P=1+IyX zC9W94q!WFnfJh7&O=0j_w^9}+vnJ?TjAA@1#RFCs!#f>X+nJ}NjE3i5hrn!StZj(L zWmHO4R+Z^Tk2h{1(#u?e8jTgBXN_?mQnrK|y((PEXy0b1iHGM+wj?5d#O$x7Au%&- z7BGHPh>!b0T5GKr8V%LesFSlb{bJdccn(e~ zk3D=xA!2u2u%BjCtoj5!T!+Tt&2m}^?GSya!1Yk{m4ZE%fpwr!N8{y{P_LT3=+!S{ zSOnqXaH`wtuTy4ByrvKHH%P>!=rI;Tm@do4iZVyQ?n=;dN7{hYavOPHkM|&`BZswE zpHHw?SgLR@>yT}-6479PT&XuWR^Qk&`qnrL~cv<<-gAMV@ryh34$ofr{JuhV}dz)^o=`y;?daF*k zvK?*WjypnPv<3N;{4mnAzG5D17+O6%cg+fU#O{&93_a#KIlKodRvgtuE27G`BZgOu zphQMtRO;>%$)LhwRC9)x?>_Uemj(Dnz#h%(pkpyQT)#rqP1X2Dglg)nnIb3{P7@Ne$a7j76W!8fOwg z$1aqYcV@0`8TnHk%=s*qSkoF(7%I}OIsBSHZWC*m$%EVbk%z<7q8X>QeIr-442VIf z;ZbFkF~Vm&NN5fcdCN_Y1u(<;Rd6kML&VJR==&Z_D67o$qj9wwwANEAKbiOBU^q!q z@0N8bBb(_}hKo_DY0-HHb~%TmxVK)n@>04Ly)(SU0}UnPL_Iswk*^^}1;&gq#egE@ z^?+bwUPO~ByJ)u$W$f9SBi3S8KqS#7W=V;bP-!2}9J`hoTDQ7dtGZ0fLn%*;N8g{e zR#KNaFX26mWqBRsk#x%-|CteEJ(hRC*llR*<@?929&qbRqH=pLSM226j+y59Do)f zcN8mbH8k-Z6T<5i_FpogOf8s(w!=O-Ox9~kjrUFCtw_KAQc4NaTG-@Wxe_9yQ|(Z@ zMP5_<;S*M_m2R88ARv3fk~Q{JzK6oYXmo3?lUc5fRlg1C2Q>Lf}X_WT{T)rQw0>zgXj} z5ry^3g4y;U>SQF(EytW5gIAF#u7~jI8NU*?PpVKSgT&9miD!ISrTUSXoK=4EEmEP9 z`q=-e#j-ilE8Id4RAo}n$uBMQSK>Om>JuzPGW^h_PK%iym1lp@r;fkMLfHK3a&&7( zM&35VN9m5WZpv^gD>xO$lLwAU|Ct(-#>W91#k#(fUEV$Al%VP+bu&(K_F8@>J>GBW~l*MkFA3j(WhLjO&S9>=Np^+*Ijs` zd`yP{?b=}CCoazM-+O^9KfG112E5g&QK0fnpjMeTkR25w{HS-Uza8T={g_mXJgFwO zE#0jtI&J*Nv!f=sXkU}~wQxw6_hg#-w@wtR#0i#W>I;c1og$x`SPwUBRc?yfPZ(8C zO`~kE^c1ZD%bt$m=)f#MflV?@e+PpYq2uu9r{e8IL#aRM zY42z>mF0SM&^C=MVvxr+DZ3U$9Ic3#6uG&NO?b>nFCJ@1>A_l+k7&xTD3!9+gaW}- z>tpAx-^rCIZ=;#aEsoLVBu^~T5^Dwo9$ss<^K^PkS1s4LlpJU*XdqWUd1DV(qY9PC zEuJwdCBEBR^a-8N1Pr28NBsQHKqu5>*mnBxFW=z&Yq)|%FvUrn2O^#zVq{T2ZnKXX1fG}yOUWl8+ zEb^MY)`B7*lXs80VqUuWgYHW|Ml|CoHh5s(pj#wtHMLE5n{vRS(U~Iq;!pkKSg-Ba zRaA=(5SoPA7>IUY=@d<@5>J^B1huQqYNSG5yoTA$DovV7D>3P-dr^DpPwrKCJn*8q zi8zTwJQFG?J*<5j>k}EGgUKEFh=MVtI^2sMQh&5x#g~L=f_a$hHYB!66WhLy4}L2s zP9U|8lF(s5Rqiw^Oo}aSugO{=*zAaynz)F+uMT6xuv%h~*+Vr6&z6=)yCq$n6>oHE z{*QOU_qI_Z)>gL>yQ%LrH}8MjFPZ{POyee0msqy}jEq|CU%#_`p>@(rP|cN5Z=5hV zoQl#0zjmCQUa$eh*g+gMA!r7u=ZsDi9ou~>0h>l+J06d9#&=~$gOiNzGfL4gVn|23 zl+l?+Y&wxwU!}$J>Fpio%rP&GRIiP1Gp}XSqm`rsvC$@u{{LGI%3R zPAe_GY(CW5luZm-Q!-u5NUhrVmB}UF7CO-BAja}0_^E(40tcf}?3X1fiJ26doZo=X zkg8mxg{Sn39R`cGu*@`2TU_0magSqg`>&HD5U-fOM+G_Y*f_=xTr1!J`zZIxep*Xr$16(d8lNpJR z^T{A_wfijUrVT8E49R7SAf0R$d(`KP{I{v#x0Y5WIGR&;)qbFASORrwO_u6URY9Pg z8}x^TeJFN@NsGCKGTwy%+O!r%S9#e*8K|q`8A4(g=T+0CL9}j1f!27glu*y>JFUbd z<UBgwZP4syymVi~isN0$6c>LU z3zFkEL*hd@@$vJTS0>CEC2BPfm@ke#uQsPKxt#^9tuGYZu(u_Q6XsKO%-jZXc&TML zn0_{GAudPfM0J8)Qf6b@PjW2HG@@yIXnl?jb7aX%XEmmPDI3*67^bM{RG}H;9yH&e zo2jI?{Glc(R(X*qQrUWgLst| z`?@Mc%S3UiR`Y^&ssH>I=}~l$co)%4@NX@%QsNt23FQvA+~$!j@FY|wrLH*tg)Vpg zl$P7MtiV`iN5hOrjS5K?gi2G{I>_xE!6558Ss;iYxB@?waFm`%S_uHtFpR>o(O%r#L-|NQqIJwEQu;gy)@p_3sg>ia`pHmfxk_COLWC z3TvIczvDmQReyy@tf^qX>2EHB$QrGBHE7S$UYVI9=SA=K)OoyRu2D z5fUe7iM>3{+cr>OwAdFdP~!;=$?-m<$~VU%+QiZ%WfD7?&pO3BVkR5;RoP_zXgF2B zP&~A*1$(&q(_d!c;A=+WuodQa_mDBX^{RySf@3wt8=>XAO1NiWJCmR*Q} zDk+hlY8RR|@n#~4l5(KObv^(F8I&xqMb*@=sYGK4qt(4hC_m+WVdYC;RB!8TYl!x1 zTy{924ohT?&C{fvq1Gp=mGH2d)+C^jLYtg-NTbs`NTqNpD%Q13v!YINRz45Lm|Gux zAZ&!3Q6^K-TQq3-2%^3erj|m4Z^CbdqcXSRoqL^PH#BS%bvmv(aNyosv;gfeo6_C4*|ZIh{12n@QzO_KJGl zN+zv#lw5n)u^dn;Es-=!4cc@Qow2Pi7}3FO#)@T(%~q{K5DN6?~zrgPgGIesQ;@PV0ogBzyuo( zRCicaH@PA0zF1a2c}4U1Wk>9Mh=-o+L6bQuGC5!_Pi&aTwzUO$GMxm#>@8)ieBg}E zaU?~45Efc{Rj)5ErpZy1C^!<>M8R=l=eB`U5vC$v3*o|B} zdR%b{@wqc^n9(OAB=3}lVc z%ApWjRK#;WswANs{0Q~qMzfB*ni@#h<}#tFHkjP;`%8#gq+sMguRg}c0n6$yuc?E* zaToK;=Gr=Ar_#-0O0*xC%w12Y?C_1mN**424Qx+2Vkf9{jqLtCWvDQ6ugaH<+{Z|a zzTw8H(Zna*_E;M-OLw@Jt7KD~WJ^BG=-(5q!`_{&XfoT$!thypo@H>nBgKS-jI=fAj`#^A}Wb;ZA~DDmrbIu#IGr&S2diBdU4br z(o%l>-QHQF!;4z{IVUUTydws69*|BWNphgk>ps*+OWo^vykQ@msWN@Rp?2edy^>p* zm+ganl%w4!VyTHWxBY=rb`nm5S_5Anc+n^@PdJ`9HAG$-8{XooCm;7tL`&XM%ihNK^6GtVG-0DEH7evi1 zwme4?)K;%-C4^aLlgORy&3fy9ho znvK^6^rd%TS8nNU1TRjjSe0TNiAVs2yza zY9G^Y^4OGMhqkOfdG$H58&Ih;J|HAPu;fEkqDf4f`uz}vr0ijJv_nEb=CXR9^+Ljv zF??tsL$y9gacDK!sXgviw+||05 z!Gt92gt>N(O%t95CwvIG)eRjI#X@f!SAB#v*0$12>XM1lUEo zJ$f1+Ju!~gJc}2X}I%1E3!jFg-Smz(Jlx5gFU3Uz%;C!e$|g*0Vz#1U>J?J_j{P>7b< zeBlu`#-WK-p-EMtv#UbqRE5s13Y}LKnk@Flmb>=hBxKfr_+6(hlGHfF-c2QJ&2tmH zopu<6Uhx1?sA4jrbwhNFIr&{k`a}Y)3Dt(UhKn&Fp(Wxt+fY{BeikJq^=SB-Z>lO@ z|0f>zf9cZKB%77Ye}ia*WPE3mRLO^;g!1KCw}EXwT(wJ1V53$xm8s;!=9|1RvV-hI zgjv1u1e17_n9nh&B-?8u6MGl+sSl_+Va?S#)T_7|eX$bq{db^TuZppBWtEOn(MEhs zf}5vJ4@a|NooC920K3=V63?rwyF|R7Z~O!={`*^3dt}Zx>7$s<)^@2$)^2Xu3eor3 NE0|+VkdV;e{{aP!uI&H- delta 10936 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 diff --git a/django/conf/locale/he/LC_MESSAGES/django.po b/django/conf/locale/he/LC_MESSAGES/django.po index 6e4df17521..9fc5d7ee80 100644 --- a/django/conf/locale/he/LC_MESSAGES/django.po +++ b/django/conf/locale/he/LC_MESSAGES/django.po @@ -1,121 +1,171 @@ # translation of Django. # Copyright (C) 2006 THE Django'S COPYRIGHT HOLDER # This file is distributed under the same license as the Django package. +# Meir Kriheli , 2007. # # msgid "" msgstr "" "Project-Id-Version: Django 0.95\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-06-15 12:42+0300\n" -"PO-Revision-Date: 2006-06-15 12:40+0300\n" -"Last-Translator: Meir Kriheli \n" -"Language-Team: Hebrew\n" +"POT-Creation-Date: 2007-05-04 19:38+0300\n" +"PO-Revision-Date: 2007-05-06 12:43+0300\n" +"Last-Translator: meir <(null)>\n" +"Language-Team: English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" +"Content-Transfer-Encoding: 8bit" -#: template/defaultfilters.py:389 -msgid "yes,no,maybe" -msgstr "כן,לא,אולי" +#: newforms/models.py:165 newforms/fields.py:364 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "יש לבחור אפשרות חוקית; '%(data)s' אינו בין %(choices)s." -#: forms/__init__.py:346 db/models/fields/__init__.py:114 -#: db/models/fields/__init__.py:265 db/models/fields/__init__.py:545 -#: db/models/fields/__init__.py:556 +#: newforms/models.py:178 newforms/fields.py:80 newforms/fields.py:376 +#: newforms/fields.py:452 newforms/fields.py:463 +#: db/models/fields/__init__.py:117 db/models/fields/__init__.py:274 +#: db/models/fields/__init__.py:612 db/models/fields/__init__.py:623 +#: oldforms/__init__.py:357 msgid "This field is required." msgstr "יש להזין תוכן בשדה זה." -#: forms/__init__.py:381 +#: newforms/models.py:182 newforms/fields.py:380 newforms/fields.py:456 +msgid "Enter a list of values." +msgstr "יש להזין רשימת ערכים" + +#: newforms/models.py:188 newforms/fields.py:389 #, 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 תווים." +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "יש לבחור אפשרות חוקית. %s אינו בין האפשרויות הזמינות." -#: forms/__init__.py:386 -msgid "Line breaks are not allowed here." -msgstr "מעברי שורה אסורים כאן." +#: newforms/widgets.py:180 oldforms/__init__.py:577 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "לא ידוע" -#: forms/__init__.py:485 forms/__init__.py:558 forms/__init__.py:597 +#: newforms/widgets.py:180 oldforms/__init__.py:577 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "כן" + +#: newforms/widgets.py:180 oldforms/__init__.py:577 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "לא" + +#: newforms/fields.py:103 newforms/fields.py:256 #, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "יש לבחור אפשרות חוקית; '%(data)s' אינו בין %(choices)s." +msgid "Ensure this value has at most %d characters." +msgstr "נא לוודא שהטקסט שלך מכיל %d תווים לכל היותר." -#: forms/__init__.py:659 core/validators.py:151 core/validators.py:376 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "לא נשלח שום קובץ. נא לבדוק את סוג הקידוד של הטופס." +#: newforms/fields.py:105 newforms/fields.py:258 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "נא לוודא שערך זה מכיל לפחות %d תווים" -#: forms/__init__.py:661 -msgid "The submitted file is empty." -msgstr "הקובץ שנשלח ריק." +#: newforms/fields.py:128 core/validators.py:120 +msgid "Enter a whole number." +msgstr "נא להזין מספר שלם." -#: forms/__init__.py:717 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "חש להזין מספר שלם בין ‎-32,768 ל- 32,767." +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "יש לוודא שערך זה פחות מ או שווה ל %s." -#: forms/__init__.py:727 -msgid "Enter a positive number." -msgstr "יש להזין מספר חיובי." +#: newforms/fields.py:132 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "יש לוודא שהערך גדול מ או שווה ל %s." -#: forms/__init__.py:737 -msgid "Enter a whole number between 0 and 32,767." -msgstr "יש להזין מספר שלם בין 0 ל- 32,767." +#: newforms/fields.py:165 +msgid "Enter a valid date." +msgstr "יש להזין תאריך חוקי." -#: utils/translation.py:363 -msgid "DATE_FORMAT" -msgstr "d.m.Y" +#: newforms/fields.py:192 +msgid "Enter a valid time." +msgstr "יש להזין שעה חוקית." -#: utils/translation.py:364 -msgid "DATETIME_FORMAT" -msgstr "d.m.y H:i:s" +#: newforms/fields.py:228 +msgid "Enter a valid date/time." +msgstr "יש להזין תאריך ושעה חוקיים." -#: utils/translation.py:365 -msgid "TIME_FORMAT" -msgstr "H:i:s" +#: newforms/fields.py:242 +msgid "Enter a valid value." +msgstr "יש להזין ערך חוקי." -#: utils/translation.py:381 -msgid "YEAR_MONTH_FORMAT" -msgstr "d.m.Y" +#: newforms/fields.py:271 core/validators.py:162 +msgid "Enter a valid e-mail address." +msgstr "יש להזין כתובת דוא\"ל חוקית." -#: utils/translation.py:382 -msgid "MONTH_DAY_FORMAT" -msgstr "d.m.Y" +#: newforms/fields.py:289 newforms/fields.py:311 +msgid "Enter a valid URL." +msgstr "יש להזין URL חוקי." -#: utils/timesince.py:12 -msgid "year" -msgid_plural "years" -msgstr[0] "שנה" -msgstr[1] "שנים" +#: newforms/fields.py:313 +msgid "This URL appears to be a broken link." +msgstr "ה-URL‏ הזה כנראה מכיל קישור שבור." -#: utils/timesince.py:13 -msgid "month" -msgid_plural "months" -msgstr[0] "חודש" -msgstr[1] "חודשים" +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s עם %(type)s קיים כבר עבור %(field)s נתון." -#: utils/timesince.py:14 -msgid "week" -msgid_plural "weeks" -msgstr[0] "שבוע" -msgstr[1] "שבועות" +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "ו" -#: utils/timesince.py:15 -msgid "day" -msgid_plural "days" -msgstr[0] "יום" -msgstr[1] "ימים" +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "יש להזין %s חוקי." -#: utils/timesince.py:16 -msgid "hour" -msgid_plural "hours" -msgstr[0] "שעה" -msgstr[1] "שעות" +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "יש להפריד מזהים מרובים בפסיקים." -#: utils/timesince.py:17 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "דקה" -msgstr[1] "דקות" +#: db/models/fields/related.py:644 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "החזק את \"Control\", או \"Command\" על מק, לחוץ כדי לבחור יותר מאחד." + +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr "נא להזין זיהוי %(self)s חוקי. הערך %(value)r אינו חוקי." + +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s·עם·%(fieldname)s·זה קיימת כבר." + +#: db/models/fields/__init__.py:369 +msgid "This value must be an integer." +msgstr "ערך זה חייב להיות מספר שלם." + +#: db/models/fields/__init__.py:404 +msgid "This value must be either True or False." +msgstr "ערך זה חייב להיות אמת או שקר." + +#: db/models/fields/__init__.py:425 +msgid "This field cannot be null." +msgstr "שדה זה אינו יכול להכיל null." + +#: db/models/fields/__init__.py:459 core/validators.py:148 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "יש להזין תאריך במבנה YYYY-MM-DD." + +#: db/models/fields/__init__.py:528 core/validators.py:157 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "יש להזין תאריך ושעה במבנה YYYY-MM-DD HH:MM." + +#: db/models/fields/__init__.py:632 +msgid "Enter a valid filename." +msgstr "יש להזין שם קובץ חוקי." + +#: db/models/fields/__init__.py:753 +msgid "This value must be either None, True or False." +msgstr "ערך זה חייב להיות כלום, אמת או שקר." #: utils/dates.py:6 msgid "Monday" @@ -269,147 +319,411 @@ msgstr "נוב'" msgid "Dec." msgstr "דצמ'" -#: db/models/manipulators.py:302 +#: utils/timesince.py:12 +msgid "year" +msgstr "שנה" + +#: utils/timesince.py:13 +msgid "month" +msgstr "חודש" + +#: utils/timesince.py:14 +msgid "week" +msgstr "שבוע" + +#: utils/timesince.py:15 +msgid "day" +msgstr "יום" + +#: utils/timesince.py:16 +msgid "hour" +msgstr "שעה" + +#: utils/timesince.py:17 +msgid "minute" +msgstr "דקה" + +#: utils/timesince.py:40 #, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "%(object)s עם %(type)s קיים כבר עבור %(field)s נתון." +msgid "%d milliseconds" +msgstr "%d מילישניות" -#: db/models/fields/__init__.py:40 +#: utils/timesince.py:41 #, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s·עם·%(fieldname)s·זה קיימת כבר." +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" -#: db/models/fields/__init__.py:337 -msgid "This value must be an integer." -msgstr "ערך זה חייב להיות מספר שלם." - -#: db/models/fields/__init__.py:369 -msgid "This value must be either True or False." -msgstr "ערך זה חייב להיות אמת או שקר." - -#: db/models/fields/__init__.py:385 -msgid "This field cannot be null." -msgstr "שדה זה אינו יכול להכיל null." - -#: db/models/fields/__init__.py:471 core/validators.py:135 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "יש להזין תאריך ושעה במבנה YYYY-MM-DD HH:MM." - -#: db/models/fields/__init__.py:565 -msgid "Enter a valid filename." -msgstr "יש להזין שם קובץ חוקי." - -#: db/models/fields/related.py:43 +#: utils/timesince.py:47 #, python-format -msgid "Please enter a valid %s." -msgstr "יש להזין %s חוקי." +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" -#: db/models/fields/related.py:579 -msgid "Separate multiple IDs with commas." -msgstr "יש להפריד מזהים מרובים בפסיקים." +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "אחר הצהריים" -#: db/models/fields/related.py:581 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "החזק את \"Control\", או \"Command\" על מק, לחוץ כדי לבחור יותר מאחד." +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "בבוקר" -#: db/models/fields/related.py:625 +#: utils/dateformat.py:46 +msgid "PM" +msgstr "אחר הצהריים" + +#: utils/dateformat.py:47 +msgid "AM" +msgstr "בבוקר" + +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "חצות" + +#: utils/dateformat.py:97 +msgid "noon" +msgstr "צהריים" + +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "d.m.Y" + +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "d.m.y H:i:s" + +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "H:i:s" + +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "d.m.Y" + +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "d.m.Y" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "ערבית" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "בנגאלית - Bengali" + +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "קאטלונית - Catalan" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "צ'כית - Czech" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "וולשית - Welsh" + +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "דנית - Danish" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "גרמנית - German" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "יוונית - Greek" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "אנגלית - English" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "ספרדית - Spanish" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "ספרדית ארגנטינאית - Argentinean Spanish" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "פינית - Finnish" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "צרפתית - French" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "גאליצית - Galician" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "הונגרית (Hungarian)" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "עברית - Hebrew" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "איסלנדית - Icelandic" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "איטלקית - Italian" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "יפנית - Japanese" + +#: conf/global_settings.py:58 +msgid "Korean" +msgstr "קוריאנית - Korean" + +#: conf/global_settings.py:59 +msgid "Kannada" +msgstr "קנדה - Kannada" + +#: conf/global_settings.py:60 +msgid "Latvian" +msgstr "לטבית - Latvian" + +#: conf/global_settings.py:61 +msgid "Macedonian" +msgstr "מקדונית - Macedonian" + +#: conf/global_settings.py:62 +msgid "Dutch" +msgstr "הולנדית - Dutch" + +#: conf/global_settings.py:63 +msgid "Norwegian" +msgstr "נורווגית - Norwegian" + +#: conf/global_settings.py:64 +msgid "Polish" +msgstr "פולנית - Polish" + +#: conf/global_settings.py:65 +msgid "Portugese" +msgstr "פורטוגזית - Portugese" + +#: conf/global_settings.py:66 +msgid "Brazilian" +msgstr "ברזילאית - Brazilian" + +#: conf/global_settings.py:67 +msgid "Romanian" +msgstr "רומנית - Romanian" + +#: conf/global_settings.py:68 +msgid "Russian" +msgstr "רוסית - Russian" + +#: conf/global_settings.py:69 +msgid "Slovak" +msgstr "סלובקית - Slovak" + +#: conf/global_settings.py:70 +msgid "Slovenian" +msgstr "סלובנית - Slovenian" + +#: conf/global_settings.py:71 +msgid "Serbian" +msgstr "סרבית - Serbian" + +#: conf/global_settings.py:72 +msgid "Swedish" +msgstr "שוודית - Swedish" + +#: conf/global_settings.py:73 +msgid "Tamil" +msgstr "" + +#: conf/global_settings.py:74 +msgid "Telugu" +msgstr "" + +#: conf/global_settings.py:75 +msgid "Turkish" +msgstr "טורקית - Turkish" + +#: conf/global_settings.py:76 +msgid "Ukrainian" +msgstr "אוקראינית - Ukrainian" + +#: conf/global_settings.py:77 +msgid "Simplified Chinese" +msgstr "סינית פשוטה - Simplified·Chinese" + +#: conf/global_settings.py:78 +msgid "Traditional Chinese" +msgstr "סינית מסורתית - Traditional·Chinese" + +#: template/defaultfilters.py:491 +msgid "yes,no,maybe" +msgstr "כן,לא,אולי" + +#: template/defaultfilters.py:520 #, python-format -msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -msgid_plural "" -"Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr[0] "נא להזין זיהוי %(self)s חוקי. הערך %(value)r אינו חוקי." -msgstr[1] "" -"נא להזין זיהויי %(self)s חוקיים. הערכים %(value)r אינם חוקיים." +msgid "%(size)d byte" +msgstr "%(size)d בתים" -#: core/validators.py:63 +#: template/defaultfilters.py:522 +#, python-format +msgid "%.1f KB" +msgstr "%.1f KB" + +#: template/defaultfilters.py:524 +#, python-format +msgid "%.1f MB" +msgstr "%.1f MB" + +#: template/defaultfilters.py:525 +#, python-format +msgid "%.1f GB" +msgstr "%.1f GB" + +#: 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 נמחק." + +#: oldforms/__init__.py:392 +#, python-format +msgid "Ensure your text is less than %s character." +msgstr "נא לוודא שהטקסט שלך מכיל פחות מ %s תו." + +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "מעברי שורה אסורים כאן." + +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "יש לבחור אפשרות חוקית; '%(data)s' אינו בין %(choices)s." + +#: oldforms/__init__.py:672 core/validators.py:174 core/validators.py:445 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "לא נשלח שום קובץ. נא לבדוק את סוג הקידוד של הטופס." + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "הקובץ שנשלח ריק." + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "חש להזין מספר שלם בין ‎-32,768 ל- 32,767." + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "יש להזין מספר חיובי." + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "יש להזין מספר שלם בין 0 ל- 32,767." + +#: core/validators.py:64 msgid "This value must contain only letters, numbers and underscores." msgstr "ערך זה חייב להכיל אותיות, ספרות וקווים תחתונים בלבד." -#: core/validators.py:67 +#: core/validators.py:68 msgid "" "This value must contain only letters, numbers, underscores, dashes or " "slashes." msgstr "ערך זה חייב להכיל אותיות, ספרות, מקפים, קווים תחתונים ונטויים בלבד." -#: core/validators.py:75 +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "ערך זה חייב להכיל אותיות, ספרות, מקפים וקווים תחתונים בלבד." + +#: core/validators.py:76 msgid "Uppercase letters are not allowed here." msgstr "אסור להשתמש באותיות גדולות." -#: core/validators.py:79 +#: core/validators.py:80 msgid "Lowercase letters are not allowed here." msgstr "אסור להשתמש באותיות קטנות." -#: core/validators.py:86 +#: core/validators.py:87 msgid "Enter only digits separated by commas." msgstr "יש להזין רק ספרות מופרדות בפסיקים." -#: core/validators.py:98 +#: core/validators.py:99 msgid "Enter valid e-mail addresses separated by commas." msgstr "יש להזין רק כתובות דוא\"ל מופרדות בפסיקים." -#: core/validators.py:102 +#: core/validators.py:103 msgid "Please enter a valid IP address." msgstr "נא להזין כתובת IP חוקית." -#: core/validators.py:106 +#: core/validators.py:107 msgid "Empty values are not allowed here." msgstr "חובה להזין ערך בשדה זה." -#: core/validators.py:110 +#: core/validators.py:111 msgid "Non-numeric characters aren't allowed here." msgstr "מותר להזין ספרות בלבד." -#: core/validators.py:114 +#: core/validators.py:115 msgid "This value can't be comprised solely of digits." msgstr "ערך זה אינו יכול להכיל ספרות בלבד." -#: core/validators.py:119 -msgid "Enter a whole number." -msgstr "נא להזין מספר שלם." - -#: core/validators.py:123 +#: core/validators.py:124 msgid "Only alphabetical characters are allowed here." msgstr "יש להזין כאן אותיות בלבד." -#: core/validators.py:127 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "יש להזין תאריך במבנה YYYY-MM-DD." +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "שנה צריכה להיות 1900 ומעלה." -#: core/validators.py:131 +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s" +msgstr "תאריך שגוי: %s" + +#: core/validators.py:153 msgid "Enter a valid time in HH:MM format." msgstr "יש להזין שעה במבנה HH:MM." -#: core/validators.py:139 -msgid "Enter a valid e-mail address." -msgstr "יש להזין כתובת דוא\"ל חוקית." - -#: core/validators.py:155 +#: core/validators.py:178 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." msgstr "נא להעלות תמונה חוקית. הקובץ שהעלת אינו תמונה אומכיל תמונה מקולקלת." -#: core/validators.py:162 +#: core/validators.py:185 #, python-format msgid "The URL %s does not point to a valid image." msgstr "ה-URL %s אנו מצביע לתמונה חוקית." -#: core/validators.py:166 +#: core/validators.py:189 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." msgstr "מספרי טלפון חייבים להיות במבנה XXX-XXX-XXXX.‏ \"%s\" אינו חוקי." -#: core/validators.py:174 +#: core/validators.py:197 #, python-format msgid "The URL %s does not point to a valid QuickTime video." msgstr "ה-URL‏ %s אינו מצביע לסרטון QuickTime חוקי." -#: core/validators.py:178 +#: core/validators.py:201 msgid "A valid URL is required." msgstr "יש להזין URL חוקי." -#: core/validators.py:192 +#: core/validators.py:215 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" @@ -418,123 +732,141 @@ msgstr "" "יש להזין HTML חוקי. שגיאות ספציפיות:\n" "%s" -#: core/validators.py:199 +#: core/validators.py:222 #, python-format msgid "Badly formed XML: %s" msgstr "מבנה XML שגוי: %s" -#: core/validators.py:209 +#: core/validators.py:239 #, python-format msgid "Invalid URL: %s" msgstr "URL שגוי: %s" -#: core/validators.py:213 core/validators.py:215 +#: core/validators.py:244 core/validators.py:246 #, python-format msgid "The URL %s is a broken link." msgstr "ה-URL‏ %s הוא קישור שבור." -#: core/validators.py:221 +#: core/validators.py:252 msgid "Enter a valid U.S. state abbreviation." msgstr "יש להזין קיצור חוקי למדינה בארה\"ב." -#: core/validators.py:236 +#: core/validators.py:266 #, python-format msgid "Watch your mouth! The word %s is not allowed here." -msgid_plural "Watch your mouth! The words %s are not allowed here." -msgstr[0] "שמור על לשונך! המילה %s אסורה לשימוש כאן." -msgstr[1] "שמור על לשונך! המילים %s אסורות לשימוש כאן." +msgstr "שמור על לשונך! המילה %s אסורה לשימוש כאן." -#: core/validators.py:243 +#: core/validators.py:273 #, python-format msgid "This field must match the '%s' field." msgstr "תוכן השדה חייב להיות זהה לשדה '%s'." -#: core/validators.py:262 +#: core/validators.py:292 msgid "Please enter something for at least one field." msgstr "יש להזין תוכן בלפחות אחד מהשדות." -#: core/validators.py:271 core/validators.py:282 +#: core/validators.py:301 core/validators.py:312 msgid "Please enter both fields or leave them both empty." msgstr "יש להזין תוכן בשני השדות או להשאיר את שניהם ריקים." -#: core/validators.py:289 +#: core/validators.py:320 #, python-format msgid "This field must be given if %(field)s is %(value)s" msgstr "יש להזין מידע בשדה זה אם שדה %(field)s מכיל %(value)s" -#: core/validators.py:301 +#: core/validators.py:333 #, python-format msgid "This field must be given if %(field)s is not %(value)s" msgstr "יש להזין תוכן בשדה זה אם תוכן שדה %(field)s אינו %(value)s" -#: core/validators.py:320 +#: core/validators.py:352 msgid "Duplicate values are not allowed." msgstr "לא ניתן להזין ערכים כפולים." -#: core/validators.py:343 +#: core/validators.py:367 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "ערך זה חייב להיות בין %(lower)s ל-%(upper)s." + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "ערך זה חייב להיות לפחות %s." + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "ערך זה אינו יכול להיות יותר מ-%s." + +#: core/validators.py:407 #, python-format msgid "This value must be a power of %s." msgstr "ערך זה חייב להיות חזקה של %s." -#: core/validators.py:354 +#: core/validators.py:418 msgid "Please enter a valid decimal number." msgstr "יש להזין מספר עשרוני חוקי." -#: core/validators.py:356 +#: core/validators.py:422 #, 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 ספרות לכל היותר." +msgstr "נא להזין מספר עשרוני חוקי עם %s ספרה לכל היותר." +"נא להזין מספר עשורני חוקי עם %s ספרות לכל היותר." -#: core/validators.py:359 +#: core/validators.py:425 +#, python-format +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr "" +"נא להזין מספר עשרוני המכיל מספר שלם עם %s ספרה לכל היותר." +"נא להזין מספר עשרוני המכיל מספר שלם עם %s ספרות לכל היותר." + +#: core/validators.py:428 #, 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 ספרות אחרי הנקודה לכל היותר." +msgstr "נא להזין מספר עשרוני חוקי בעל %s ספרה לכל היותר במקום העשרוני." +"נא להזין מספר עשרוני חוקי בעל %s ספרות לכל היותר במקום העשרוני." -#: core/validators.py:369 +#: core/validators.py:438 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." msgstr "יש להעלות קובץ בגודל %s בתים לפחות." -#: core/validators.py:370 +#: core/validators.py:439 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." msgstr "יש לוודא שהקובץ שהעלת הוא בגודל %s בתים לכל היותר." -#: core/validators.py:387 +#: core/validators.py:456 msgid "The format for this field is wrong." msgstr "מבנה תוכן שדה זה שגוי." -#: core/validators.py:402 +#: core/validators.py:471 msgid "This field is invalid." msgstr "שדה זה אינו חוקי." -#: core/validators.py:438 +#: core/validators.py:507 #, python-format msgid "Could not retrieve anything from %s." msgstr "לא ניתן לאחזר כלום מ %s." -#: core/validators.py:441 +#: core/validators.py:510 #, 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:474 +#: core/validators.py:543 #, python-format msgid "" "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " "\"%(start)s\".)" msgstr "נא לסגור את תג·%(tag)s·בשורה·%(line)s.·(השורה מתחילה ב·\"%(start)s\".)" -#: core/validators.py:478 +#: core/validators.py:547 #, python-format msgid "" "Some text starting on line %(line)s is not allowed in that context. (Line " @@ -542,7 +874,7 @@ msgid "" msgstr "" "חלק מהטקסט בשורה·%(line)s·אסור בהקשר זה.·(השורה·מתחילה ב·\"%(start)s\".)" -#: core/validators.py:483 +#: core/validators.py:552 #, python-format msgid "" "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" @@ -550,7 +882,7 @@ msgid "" msgstr "" "\"%(attr)s\"·בשורה·%(line)s·אינה תכונה חוקית.·(השורה מתחילה ב·\"%(start)s\".)" -#: core/validators.py:488 +#: core/validators.py:557 #, python-format msgid "" "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" @@ -558,16 +890,16 @@ msgid "" msgstr "" "\"<%(tag)s>\"·בשורה·%(line)s·אינו תג חוקי.·(השורה מתחילה ב·\"%(start)s\".)" -#: core/validators.py:492 +#: core/validators.py:561 #, python-format msgid "" "A tag on line %(line)s is missing one or more required attributes. (Line " "starts with \"%(start)s\".)" msgstr "" -"לתג בשורה %(line)s חסרה תכונה אחת או יותר נדרשות. (השורה מתחילה ב-\"%" -"(start)s\".)" +"לתג בשורה %(line)s חסרה תכונה אחת או יותר נדרשות. (השורה מתחילה ב-\"%(start)s" +"\".)" -#: core/validators.py:497 +#: core/validators.py:566 #, python-format msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " @@ -576,138 +908,6 @@ msgstr "" "לתכונה·\"%(attr)s\"·בשורה·%(line)s·יש ערך לא חוקי.·(השורה·מתחילה ב·\"%(start)" "s\".)" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "בנגאלית - Bengali" - -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "צ'כית - Czech" - -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "וולשית - Welsh" - -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "דנית - Danish" - -#: conf/global_settings.py:41 -msgid "German" -msgstr "גרמנית - German" - -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "יוונית - Greek" - -#: conf/global_settings.py:43 -msgid "English" -msgstr "אנגלית - English" - -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "ספרדית - Spanish" - -#: conf/global_settings.py:45 -msgid "Argentinean Spanish" -msgstr "ספרדית ארגנטינאית - Argentinean Spanish" - -#: conf/global_settings.py:46 -msgid "French" -msgstr "צרפתית - French" - -#: conf/global_settings.py:47 -msgid "Galician" -msgstr "גאליצית - Galician" - -#: conf/global_settings.py:48 -msgid "Hungarian" -msgstr "הונגרית (Hungarian)" - -#: conf/global_settings.py:49 -msgid "Hebrew" -msgstr "עברית - Hebrew" - -#: conf/global_settings.py:50 -msgid "Icelandic" -msgstr "איסלנדית - Icelandic" - -#: conf/global_settings.py:51 -msgid "Italian" -msgstr "איטלקית - Italian" - -#: conf/global_settings.py:52 -msgid "Japanese" -msgstr "יפנית - Japanese" - -#: conf/global_settings.py:53 -msgid "Dutch" -msgstr "הולנדית - Dutch" - -#: conf/global_settings.py:54 -msgid "Norwegian" -msgstr "נורווגית - Norwegian" - -#: conf/global_settings.py:55 -msgid "Brazilian" -msgstr "ברזילאית - Brazilian" - -#: conf/global_settings.py:56 -msgid "Romanian" -msgstr "רומנית - Romanian" - -#: conf/global_settings.py:57 -msgid "Russian" -msgstr "רוסית - Russian" - -#: conf/global_settings.py:58 -msgid "Slovak" -msgstr "סלובקית - Slovak" - -#: conf/global_settings.py:59 -msgid "Slovenian" -msgstr "סלובנית - Slovenian" - -#: conf/global_settings.py:60 -msgid "Serbian" -msgstr "סרבית - Serbian" - -#: conf/global_settings.py:61 -msgid "Swedish" -msgstr "שוודית - Swedish" - -#: conf/global_settings.py:62 -msgid "Ukrainian" -msgstr "אוקראינית - Ukrainian" - -#: conf/global_settings.py:63 -msgid "Simplified Chinese" -msgstr "סינית פשוטה - Simplified·Chinese" - -#: conf/global_settings.py:64 -msgid "Traditional Chinese" -msgstr "סינית מסורתית - Traditional·Chinese" - -#: contrib/sessions/models.py:35 -msgid "session key" -msgstr "מפתח התחברות (session key)" - -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "מידע התחברות (session data)" - -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "תאריך פג תוקף" - -#: contrib/sessions/models.py:41 -msgid "session" -msgstr "התחברות" - -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "התחברויות" - #: contrib/sites/models.py:10 msgid "domain name" msgstr "שם מתחם" @@ -724,18 +924,6 @@ msgstr "אתר" msgid "sites" msgstr "אתרים" -#: contrib/contenttypes/models.py:25 -msgid "python model class name" -msgstr "שם ה-class של מודל פייתון" - -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "סוג תוכן" - -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "סוגי תוכן" - #: contrib/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" msgstr "מזהה אובייקט" @@ -793,7 +981,7 @@ msgstr "תאריך/שעת הגשה" msgid "is public" msgstr "ציבורי" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:292 +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 msgid "IP address" msgstr "כתובת IP" @@ -917,103 +1105,31 @@ msgstr "מחיקות מודרטור" msgid "Moderator deletion by %r" msgstr "מחיקת מודרציה ע\"י %r" -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "שמך:" - -#: contrib/comments/templates/comments/freeform.html:5 -#: contrib/comments/templates/comments/form.html:27 -msgid "Comment:" -msgstr "תגובה:" - -#: contrib/comments/templates/comments/freeform.html:9 -#: contrib/comments/templates/comments/form.html:32 -msgid "Preview comment" -msgstr "תצוגה מקדימה של התגובה" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" -msgstr "שם משתמש:" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "סיסמה:" - -#: contrib/comments/templates/comments/form.html:6 -msgid "Forgotten your password?" -msgstr "שכחת את סיסמתך ?" - -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.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/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/model_index.html:5 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin/base.html:24 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -msgid "Log out" -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/views/comments.py:28 +#: contrib/comments/views/comments.py:27 msgid "" "This rating is required because you've entered at least one other rating." msgstr "הדירוג נדרש מאחר והזנת לפחות דרוג אחד אחר." -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, python-format msgid "" "This comment was posted by a user who has posted fewer than %(count)s " "comment:\n" "\n" "%(text)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" +msgstr "" +"התגובה נשלחה ע\"י משתמש אשר שלח פחות מ-%(count)s תגובה:\n" "\n" "%(text)s" -msgstr[1] "" -"התגובה נשלחה ע\"י משתמש אשר שלח פחות מ-%(count)s " -"תגובות:\n" +"התגובה נשלחה ע\"י משתמש אשר שלח פחות מ-%(count)s תגובות:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:117 +#: contrib/comments/views/comments.py:116 #, python-format msgid "" "This comment was posted by a sketchy user:\n" @@ -1024,22 +1140,22 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" msgstr "רק פעולות POST מותרות" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" msgstr "אחד או יותר מהשדות הנדרשים אינו נשלח." -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" msgstr "מישהו התעסק עם טופס התגובה (הפרת אבטחה)" -#: contrib/comments/views/comments.py:207 +#: contrib/comments/views/comments.py:206 #: contrib/comments/views/comments.py:292 msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " @@ -1063,51 +1179,141 @@ msgstr "מזהה תגובה שגוי" msgid "No voting for yourself" msgstr "לא ניתן להצביע לעצמך" -#: contrib/admin/filterspecs.py:40 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:17 +msgid "Username:" +msgstr "שם משתמש:" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +msgid "Log out" +msgstr "יציאה" + +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "סיסמה:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "שכחת את סיסמתך ?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "דירוג" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "נדרש" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "אופציונלי" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "שליחת תמונה" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "תגובה:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "תצוגה מקדימה של התגובה" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "שמך:" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "רביעי" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" +msgstr "ראשון" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" +msgstr "שני" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "שלישי" + +#: contrib/humanize/templatetags/humanize.py:47 #, python-format -msgid "" -"

                                      By %s:

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

                                        ע\"י %s:

                                        \n" -"
                                          \n" +msgid "%(value).1f million" +msgstr "%(value).1f מיליון" -#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 -msgid "All" -msgstr "הכל" +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgstr "%(value).1f ביליון" -#: contrib/admin/filterspecs.py:109 -msgid "Any date" -msgstr "כל תאריך" +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgstr "%(value).1f טריליון" -#: contrib/admin/filterspecs.py:110 -msgid "Today" -msgstr "היום" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "אחד" -#: contrib/admin/filterspecs.py:113 -msgid "Past 7 days" -msgstr "בשבוע האחרון" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "שניים" -#: contrib/admin/filterspecs.py:115 -msgid "This month" -msgstr "החודש" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "שלושה" -#: contrib/admin/filterspecs.py:117 -msgid "This year" -msgstr "השנה" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "ארבעה" -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "כן" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "חמישה" -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "לא" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "שישה" -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "לא ידוע" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "שבעה" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "שמונה" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "תשעה" #: contrib/admin/models.py:16 msgid "action time" @@ -1137,50 +1343,371 @@ msgstr "רישום יומן" msgid "log entries" msgstr "רישומי יומן" -#: contrib/admin/templatetags/admin_list.py:230 +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

                                          By %s:

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

                                            ע\"י %s:

                                            \n" +"
                                              \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "הכל" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "כל תאריך" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "היום" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "בשבוע האחרון" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "החודש" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "השנה" + +#: contrib/admin/templatetags/admin_list.py:247 msgid "All dates" msgstr "כל התאריכים" -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "הנוכחי." +#: 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 "" +"נא להזין שם משתמש וסיסמה נכונים. בשני השדות גודל האותיות האנגליות משנה." -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "שינוי:" +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "כניסה" -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "תאריך:" +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" +"נא להתחבר שוב, מאחר ופג תוקף ההתחברות הנוכחית. אל דאגה: המידע ששלחת נשמר." -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "שעה:" +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"נראה שהדפדפן שלך אינו מוגדר לקבל עוגיות. נא לאפשר עוגיות, לטעון מחדש את הדף " +"ולנסות שוב." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "שם משתמש אינו יכול להכיל את התו '@'." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "כתובת הדוא\"ל שלך אינה שם המשתמש שלך. נסה/י '%s' במקום." + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "תג:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "סינון:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "צפיה (view):" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "יישום %r לא נמצא" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "מודל %(name)r לא נמצא ביישום %(label)r" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "האובייקט `%(label)s.%(type)s` הקשור" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "מודל:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "אובייקטי `%(label)s.%(name)s` מקושרים" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "כל %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "מספר %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Fields on %s objects" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +msgid "Integer" +msgstr "מספר שלם" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "בוליאני (אמת או שקר)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "מחרוזת (עד %(maxlength)s תווים)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "מספרים שלמים מופרדים בפסיקים" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "תאריך (ללא שעה)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "תאריך (כולל שעה)" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "כתובת דוא\"ל" + +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "נתיב קובץ" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "מספר עשרוני" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "בוליאני (אמת, שקר או כלום)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "יחס למודל אב" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "מספר טלפון" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "טקסט" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "זמן" + +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" + +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "מדינה בארה\"ב (שתי אותיות גדולות)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "טקסט XML" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "לא נראה ש-%s הוא אובייקט urlpattern" + +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "הוספת %(name)s \"%(obj)s\" בוצעה בהצלחה." + +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 +msgid "You may edit it again below." +msgstr "ניתן לערוך שוב מתחת" + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "הוספת משתמש" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "הסיסמה שונתה בהצלחה." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "שינוי סיסמה: %s" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "ניהול אתר" + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "ניתן להוסיף %s נוסף מתחת." + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "הוספת %s" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "%s התווסף." + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "%s שונה." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "%s נמחק." + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "אף שדה לא השתנה." + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "שינוי %(name)s \"%(obj)s\" בוצע בהצלחה." + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "הוספת %(name)s \"%(obj)s\" בוצעה בהצלחה. ניתן לערוך אותו שוב מתחת." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "שינוי %s" + +#: contrib/admin/views/main.py:476 +#, 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:481 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "אחד או יותר %(fieldname)s ב%(name)s:" + +#: contrib/admin/views/main.py:514 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "מחיקת %(name)s \"%(obj)s\" בוצעה בהצלחה." + +#: contrib/admin/views/main.py:517 +msgid "Are you sure?" +msgstr "האם את/ה בטוח/ה ?" + +#: contrib/admin/views/main.py:539 +#, python-format +msgid "Change history: %s" +msgstr "היסטוריית שינוי: %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s" +msgstr "בחירת %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s to change" +msgstr "בחירת %s לשינוי" + +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "שגיאת בסיס נתונים" + +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +msgid "Change password" +msgstr "שינוי סיסמה" #: contrib/admin/templates/admin_doc/bookmarklets.html:3 -#: contrib/admin/templates/admin/base.html:29 -#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/base.html:30 #: contrib/admin/templates/admin/change_form.html:13 #: contrib/admin/templates/admin/delete_confirmation.html:6 -#: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:5 #: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 +#: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Home" msgstr "דף הבית" #: contrib/admin/templates/admin_doc/bookmarklets.html:3 -#: contrib/admin/templates/admin/base.html:24 -#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 msgid "Documentation" msgstr "תיעוד" @@ -1188,26 +1715,6 @@ msgstr "תיעוד" msgid "Bookmarklets" msgstr "ייסומניות" -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.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/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/model_index.html:5 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin/base.html:24 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -msgid "Change password" -msgstr "שינוי סיסמה" - #: contrib/admin/templates/admin_doc/bookmarklets.html:5 msgid "Documentation bookmarklets" msgstr "ייסומוניות תיעוד" @@ -1266,65 +1773,133 @@ msgstr "עריכת אובייקט זה (בחלון חדש)" msgid "As above, but opens the admin page in a new window." msgstr "כנ\"ל, אך דף הניהול ייפתח בחלון חדש." -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "האם שכחת את הסיסמה שלך?" - -#: contrib/admin/templates/admin/login.html:25 -#: contrib/admin/views/decorators.py:23 -msgid "Log in" -msgstr "כניסה" - -#: contrib/admin/templates/admin/submit_line.html:3 -#: contrib/admin/templates/admin/delete_confirmation.html:9 -msgid "Delete" -msgstr "מחיקה" - -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "שמירה כחדש" - -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "שמירה והוספת אחר" - -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "שמירה והמשך עריכה" - -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "שמירה" - -#: contrib/admin/templates/admin/base.html:24 -msgid "Welcome," -msgstr "שלום" - #: contrib/admin/templates/admin/filters.html:4 msgid "Filter" msgstr "סינון" -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "בצע" +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +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/change_form.html:15 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "הוספה" +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 msgid "History" msgstr "היסטוריה" +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "צפיה באתר" + +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgstr "נא לתקן את השגיאה המופיעה מתחת." + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "מיון" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "מיון:" + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "מחיקה" + +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"מחיקת %(object_name)s '%(escaped_object)s' מצריכה מחיקת " +"אובייקטים מקושרים, אך לחשבון שלך אין הרשאות למחיקת" +"סוגי האובייקטים הבאים:" + +#: contrib/admin/templates/admin/delete_confirmation.html:21 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"האם ברצונך למחוק את %(object_name)s \"%(escaped_object)s\"? " +"כל הפריטים הקשורים הבאים יימחקו:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "כן, אני בטוח/ה" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " לפי %(filter_title)s " + +#: contrib/admin/templates/admin/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/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/object_history.html:18 msgid "Date/time" msgstr "תאריך/שעה" @@ -1348,40 +1923,21 @@ msgid "" msgstr "" "לאובייקט זה אין היסטוריית שינוי. כנראה לא השתמשו בממשק הניהול הזה להוספתו." -#: contrib/admin/templates/admin/change_form.html:15 -#: contrib/admin/templates/admin/index.html:28 -msgid "Add" -msgstr "הוספה" +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "שמירה כחדש" -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "צפיה באתר" +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "שמירה והוספת אחר" -#: contrib/admin/templates/admin/change_form.html:30 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "נא לתקן את השגיאה המופיעה מתחת." -msgstr[1] "נא לתקן את השגיאות המופיעות מתחת." +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "שמירה והמשך עריכה" -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "מיון" - -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "מיון:" - -#: contrib/admin/templates/admin/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/pagination.html:10 -msgid "Show all" -msgstr "הצג הכל" +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "שמירה" #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 @@ -1392,92 +1948,127 @@ msgstr "דף לא קיים" msgid "We're sorry, but the requested page could not be found." msgstr "אנו מצטערים, לא ניתן למצוא את הדף המבוקש." -#: contrib/admin/templates/admin/filter.html:2 +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "בצע" + +#: contrib/admin/templates/admin/search_form.html:10 #, python-format -msgid " By %(title)s " -msgstr " לפי %(title)s " +msgid "1 result" +msgstr "תוצאה אחת" -#: contrib/admin/templates/admin/delete_confirmation.html:14 +#: contrib/admin/templates/admin/search_form.html:10 #, python-format -msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"מחיקת %(object_name)s '%(object)s' תמחק אובייקטים קשורים, אך לחשבון שלך אין " -"הרשאות למחיקת אובייקטים מהסוג הבא:" +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s סה\"כ" -#: contrib/admin/templates/admin/delete_confirmation.html:21 -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" -msgstr "" -"האם ברצונך למחוק את %(object_name)s·\"%(object)s\"? כלהפריטים הקשורים הבאים " -"יימחקו:" +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "הצג הכל" -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -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/index.html:17 -#, python-format -msgid "Models available in the %(name)s application." -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/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/change_list.html:11 +#: contrib/admin/templates/admin/change_list.html:12 #, python-format msgid "Add %(name)s" msgstr "הוספת %(name)s" +#: 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/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:34 +msgid "Password" +msgstr "סיסמה" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Password (again)" +msgstr "סיסמה (שוב)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +msgid "Enter the same password as above, for verification." +msgstr "יש להזין את אותה סיסנה שוב,לאימות." + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "יש להזין סיסמה חדשה עבור המשתמש %(username)s." + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "הנוכחי." + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +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/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +#: contrib/admin/templates/registration/password_reset_done.html:4 +msgid "Password reset" +msgstr "איפוס סיסמה" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll reset " +"your password and e-mail the new one to you." +msgstr "" +"שכחת את סיסמתך ? נא להזין את כתובת הדוא\"ל מתחת, אנו נאפסאת הסיסמה ונשלח את " +"החדשה אליך." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "כתובת דוא\"ל:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "אפס את סיסמתי" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "תודה על בילוי זמן איכות עם האתר." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "התחבר/י שוב" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "הסיסמה אופסה בהצלחה" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." +msgstr "" +"שלחנו את הסיסמה החדשה לכתובת הדוא\"ל שהזנת. היא אמורה להתקבל תוך זמן קצר." + #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" msgstr "הודעה זו התקבלה כי ביקשת איפוס סיסמה" @@ -1509,13 +2100,22 @@ msgstr "תודה על השימוש באתר שלנו!" msgid "The %(site_name)s team" msgstr "צוות %(site_name)s" +#: 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:4 msgid "Password change" msgstr "שינוי סיסמה" +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "הסיסמה שונתה בהצלחה" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "סיסמתך שונתה." + #: contrib/admin/templates/registration/password_change_form.html:12 msgid "" "Please enter your old password, for security's sake, and then enter your new " @@ -1540,262 +2140,712 @@ msgstr "אימות סיסמה:" msgid "Change my password" msgstr "שנה את סיסמתי" -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" -msgstr "הסיסמה שונתה בהצלחה" +#: contrib/localflavor/it/forms.py:16 +msgid "Enter a valid zip code." +msgstr "יש להזין מיקוד חוקי." -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "סיסמתך שונתה." +#: contrib/localflavor/it/forms.py:41 +msgid "Enter a valid Social Security number." +msgstr "יש להזין מספר ביטוח לאומי חוקי." -#: contrib/admin/templates/registration/logged_out.html:8 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "תודה על בילוי זמן איכות עם האתר." +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "יש להזין מספר מעמ חוקי" -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "התחבר/י שוב" +#: contrib/localflavor/us/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "יש להזין מיקוד חוקי בתחביר XXXXX או XXXXX-XXXX." -#: 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/localflavor/us/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "יש להזין מספר ביטוח לאומי אמריקאי בתחביר XXX-XX-XXXX." -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "הסיסמה אופסה בהצלחה" +#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/fi/forms.py:14 +#: contrib/localflavor/de/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "יש להזין מיקוד בתחביר XXXXX." -#: contrib/admin/templates/registration/password_reset_done.html:12 +#: contrib/localflavor/ch/forms.py:18 contrib/localflavor/no/forms.py:15 +msgid "Enter a zip code in the format XXXX." +msgstr "יש להזין מיקוד בתחביר XXXX." + +#: contrib/localflavor/ch/forms.py:90 msgid "" -"We've e-mailed a new password to the e-mail address you submitted. You " -"should be receiving it shortly." +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." msgstr "" -"שלחנו את הסיסמה החדשה לכתובת הדוא\"ל שהזנת. היא אמורה להתקבל תוך זמן קצר." +"יש להזין מספר זיהוי או דרכון שוויצרי בתחביר X1234567<0 או " +"1234567890." -#: contrib/admin/templates/registration/password_reset_form.html:12 +#: 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 "Thurgau" + +#: 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/no/forms.py:36 +msgid "Enter a valid Norwegian social security number." +msgstr "יש להזין מספר ביטוח לאומי נורבגי חוקי." + +#: contrib/localflavor/br/forms.py:18 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "יש להזין מיקוד בתחביר XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "מספרי טלפון חייבים להיות בתחביר XX-XXXX-XXXX." + +#: contrib/localflavor/br/forms.py:72 +msgid "This field requires only numbers." +msgstr "יש להזין רק ספרות בשדה זה." + +#: contrib/localflavor/br/forms.py:74 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "שדה זה דורש 11 או 14 ספרות לכל היותר." + +#: contrib/localflavor/br/forms.py:84 +msgid "Invalid CPF number." +msgstr "מספר CPF לא חוקי" + +#: contrib/localflavor/br/forms.py:106 +msgid "This field requires at least 14 digits" +msgstr "שדה זה דורש לפחות 14 ספרות." + +#: contrib/localflavor/br/forms.py:116 +msgid "Invalid CNPJ number." +msgstr "מספר CNPJ לא חוקי" + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "יש להזין קוד דואר. נדרש רווח בין שני חלקי הקוד." + +#: contrib/localflavor/is_/forms.py:16 msgid "" -"Forgotten your password? Enter your e-mail address below, and we'll reset " -"your password and e-mail the new one to you." +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "" -"שכחת את סיסמתך ? נא להזין את כתובת הדוא\"ל מתחת, אנו נאפסאת הסיסמה ונשלח את " -"החדשה אליך." +"יש להזין מספר זיהוי איסלנדי חוקי. התחביר הוא XXXXXX-XXXX." -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "כתובת דוא\"ל:" +#: contrib/localflavor/is_/forms.py:30 +msgid "The Icelandic identification number is not valid." +msgstr "" -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "אפס את סיסמתי" +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +msgid "Enter a valid Finnish social security number." +msgstr "יש להזין מספר ביטוח לאומי פיני חוקי." -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:289 -#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:297 -#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:300 -msgid "Integer" -msgstr "מספר שלם" +#: contrib/localflavor/cl/forms.py:21 +msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "יש להזין RUT צ'יליאני חוקי. התחביר הוא XX.XXX.XXX-X." -#: contrib/admin/views/doc.py:280 -msgid "Boolean (Either True or False)" -msgstr "בוליאני (אמת או שקר)" +#: contrib/localflavor/cl/forms.py:26 +msgid "Enter valid a Chilean RUT" +msgstr "יש להזין RUT צ'יליאני חוקי." -#: contrib/admin/views/doc.py:281 contrib/admin/views/doc.py:299 -#, python-format -msgid "String (up to %(maxlength)s)" -msgstr "מחרוזת (עד %(maxlength)s תווים)" +#: contrib/localflavor/au/forms.py:18 +msgid "Enter a 4 digit post code." +msgstr "יש להזין קוד דואר בן 4 ספרות." -#: contrib/admin/views/doc.py:282 -msgid "Comma-separated integers" -msgstr "מספרים שלמים מופרדים בפסיקים" +#: contrib/localflavor/de/forms.py:60 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"יש להזין מספר זיהוי גרמני חוקי בתחביר XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." -#: contrib/admin/views/doc.py:283 -msgid "Date (without time)" -msgstr "תאריך (ללא שעה)" +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "" -#: contrib/admin/views/doc.py:284 -msgid "Date (with time)" -msgstr "תאריך (כולל שעה)" +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "באווריה" -#: contrib/admin/views/doc.py:285 -msgid "E-mail address" +#: 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/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "יש להזין קוד דואר בתחביר XXXXXXX או XXX-XXXX." + +#: 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 "Iwate" + +#: 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 "Shimane" + +#: 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 "Ehime" + +#: 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/sessions/models.py:68 +msgid "session key" +msgstr "מפתח התחברות (session key)" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "מידע התחברות (session data)" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "תאריך פג תוקף" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "התחברות" + +#: contrib/sessions/models.py:75 +msgid "sessions" +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 "נראה שעוגיות לא מאופשרות בדפדפן שלך.הן נדרשות כדי להתחבר." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "חשבון זה אינו פעיל." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "כתובת דואר אלקטרוני זו אינה משוייכת למשתמש. בטוח שנרשמת ?" + +#: 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:44 contrib/auth/models.py:64 +msgid "name" +msgstr "שם" + +#: contrib/auth/models.py:46 +msgid "codename" +msgstr "שם קוד" + +#: contrib/auth/models.py:49 +msgid "permission" +msgstr "הרשאה" + +#: contrib/auth/models.py:50 contrib/auth/models.py:65 +msgid "permissions" +msgstr "הרשאות" + +#: contrib/auth/models.py:68 +msgid "group" +msgstr "קבוצה" + +#: contrib/auth/models.py:69 contrib/auth/models.py:109 +msgid "groups" +msgstr "קבוצות" + +#: contrib/auth/models.py:99 +msgid "username" +msgstr "שם משתמש" + +#: contrib/auth/models.py:99 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "דורש 30 תווים או פחות. תווים אלפאנומריים בלבד (אותיות, ספרות וקווים תחתונים)." + +#: contrib/auth/models.py:100 +msgid "first name" +msgstr "שם פרטי" + +#: contrib/auth/models.py:101 +msgid "last name" +msgstr "שם משפחה" + +#: contrib/auth/models.py:102 +msgid "e-mail address" msgstr "כתובת דוא\"ל" -#: contrib/admin/views/doc.py:286 contrib/admin/views/doc.py:287 -#: contrib/admin/views/doc.py:290 -msgid "File path" -msgstr "נתיב קובץ" +#: contrib/auth/models.py:103 +msgid "password" +msgstr "סיסמה" -#: contrib/admin/views/doc.py:288 -msgid "Decimal number" -msgstr "מספר עשרוני" - -#: contrib/admin/views/doc.py:294 -msgid "Boolean (Either True, False or None)" -msgstr "בוליאני (אמת, שקר או כלום)" - -#: contrib/admin/views/doc.py:295 -msgid "Relation to parent model" -msgstr "יחס למודל אב" - -#: contrib/admin/views/doc.py:296 -msgid "Phone number" -msgstr "מספר טלפון" - -#: contrib/admin/views/doc.py:301 -msgid "Text" -msgstr "טקסט" - -#: contrib/admin/views/doc.py:302 -msgid "Time" -msgstr "זמן" - -#: contrib/admin/views/doc.py:303 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admin/views/doc.py:304 -msgid "U.S. state (two uppercase letters)" -msgstr "מדינה בארה\"ב (שתי אותיות גדולות)" - -#: contrib/admin/views/doc.py:305 -msgid "XML text" -msgstr "טקסט XML" - -#: contrib/admin/views/main.py:226 -msgid "Site administration" -msgstr "ניהול אתר" - -#: contrib/admin/views/main.py:260 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "הוספת %(name)s \"%(obj)s\" בוצעה בהצלחה." - -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 -msgid "You may edit it again below." -msgstr "ניתן לערוך שוב מתחת" - -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 -#, python-format -msgid "You may add another %s below." -msgstr "ניתן להוסיף %s נוסף מתחת." - -#: contrib/admin/views/main.py:290 -#, python-format -msgid "Add %s" -msgstr "הוספת %s" - -#: contrib/admin/views/main.py:336 -#, python-format -msgid "Added %s." -msgstr "%s התווסף." - -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 -msgid "and" -msgstr "ו" - -#: contrib/admin/views/main.py:338 -#, python-format -msgid "Changed %s." -msgstr "%s שונה." - -#: contrib/admin/views/main.py:340 -#, python-format -msgid "Deleted %s." -msgstr "%s נמחק." - -#: contrib/admin/views/main.py:343 -msgid "No fields changed." -msgstr "אף שדה לא השתנה." - -#: contrib/admin/views/main.py:346 -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "שינוי %(name)s \"%(obj)s\" בוצע בהצלחה." - -#: contrib/admin/views/main.py:354 -#, python-format +#: contrib/auth/models.py:103 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:392 -#, python-format -msgid "Change %s" -msgstr "שינוי %s" - -#: contrib/admin/views/main.py:470 -#, 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:475 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "אחד או יותר %(fieldname)s ב%(name)s:" - -#: contrib/admin/views/main.py:508 -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "מחיקת %(name)s \"%(obj)s\" בוצעה בהצלחה." - -#: contrib/admin/views/main.py:511 -msgid "Are you sure?" -msgstr "האם את/ה בטוח/ה ?" - -#: contrib/admin/views/main.py:533 -#, python-format -msgid "Change history: %s" -msgstr "היסטוריית שינוי: %s" - -#: contrib/admin/views/main.py:567 -#, python-format -msgid "Select %s" -msgstr "בחירת %s" - -#: contrib/admin/views/main.py:567 -#, python-format -msgid "Select %s to change" -msgstr "בחירת %s לשינוי" - -#: contrib/admin/views/main.py:743 -msgid "Database error" -msgstr "שגיאת בסיס נתונים" - -#: contrib/admin/views/decorators.py:9 contrib/auth/forms.py:36 -#: contrib/auth/forms.py:43 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." msgstr "" -"נא להזין שם משתמש וסיסמה נכונים. בשני השדות גודל האותיות האנגליות משנה." +"יש להזין '[algo]$[salt]$[hexdigest]' או להשתמש בטופס " +"שינוי הסיסמה." -#: contrib/admin/views/decorators.py:61 +#: contrib/auth/models.py:104 +msgid "staff status" +msgstr "סטטוס איש צוות" + +#: contrib/auth/models.py:104 +msgid "Designates whether the user can log into this admin site." +msgstr "מציין האם המשתמש יכול להתחבר לאתר הניהול." + +#: contrib/auth/models.py:105 +msgid "active" +msgstr "פעיל" + +#: contrib/auth/models.py:105 msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." -msgstr "" -"נא להתחבר שוב, מאחר ופג תוקף ההתחברות הנוכחית. אל דאגה: המידע ששלחת נשמר." +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "מציין האם המשתמש יכול להתחבר לאתר הניהול. יש לבטל בחירה זו" +"במקום למחוק חשבונות משתמשים." -#: contrib/admin/views/decorators.py:68 +#: contrib/auth/models.py:106 +msgid "superuser status" +msgstr "סטטוס משתמש על" + +#: contrib/auth/models.py:106 msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "מציין שלמשתמש זה יש את כל ההרשאות ללא הצורך המפורש בהענקתן." + +#: contrib/auth/models.py:107 +msgid "last login" +msgstr "כניסה אחרונה" + +#: contrib/auth/models.py:108 +msgid "date joined" +msgstr "תאריך הצטרפות" + +#: contrib/auth/models.py:110 +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/admin/views/decorators.py:82 -msgid "Usernames cannot contain the '@' character." -msgstr "שם משתמש אינו יכול להכיל את התו '@'." +#: contrib/auth/models.py:111 +msgid "user permissions" +msgstr "הרשאות משתמש" -#: contrib/admin/views/decorators.py:84 -#, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "כתובת הדוא\"ל שלך אינה שם המשתמש שלך. נסה/י '%s' במקום." +#: contrib/auth/models.py:115 +msgid "user" +msgstr "משתמש" + +#: contrib/auth/models.py:116 +msgid "users" +msgstr "משתמשים" + +#: contrib/auth/models.py:122 +msgid "Personal info" +msgstr "מידע אישי" + +#: contrib/auth/models.py:123 +msgid "Permissions" +msgstr "הרשאות" + +#: contrib/auth/models.py:124 +msgid "Important dates" +msgstr "תאריכים חשובים" + +#: contrib/auth/models.py:125 +msgid "Groups" +msgstr "קבוצות" + +#: contrib/auth/models.py:269 +msgid "message" +msgstr "הודעה" + +#: contrib/auth/models.py:282 +msgid "AnonymousUser" +msgstr "משתמש אנונימי" + +#: contrib/auth/views.py:40 +msgid "Logged out" +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/redirects/models.py:7 msgid "redirect from" @@ -1825,175 +2875,15 @@ msgstr "הפניה" msgid "redirects" msgstr "הפניות" -#: contrib/auth/forms.py:30 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "נראה שעוגיות לא מאופשרות בדפדפן שלך.הן נדרשות כדי להתחבר." +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "שם ה-class של מודל פייתון" -#: contrib/auth/forms.py:45 -msgid "This account is inactive." -msgstr "חשבון זה אינו פעיל." +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "סוג תוכן" -#: contrib/auth/views.py:39 -msgid "Logged out" -msgstr "יצאת מהמערכת" - -#: contrib/auth/models.py:13 contrib/auth/models.py:26 -msgid "name" -msgstr "שם" - -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "שם קוד" - -#: contrib/auth/models.py:17 -msgid "permission" -msgstr "הרשאה" - -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -msgid "permissions" -msgstr "הרשאות" - -#: contrib/auth/models.py:29 -msgid "group" -msgstr "קבוצה" - -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -msgid "groups" -msgstr "קבוצות" - -#: contrib/auth/models.py:55 -msgid "username" -msgstr "שם משתמש" - -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "שם פרטי" - -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "שם משפחה" - -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "כתובת דוא\"ל" - -#: contrib/auth/models.py:59 -msgid "password" -msgstr "סיסמה" - -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "השתמש ב '[algo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "סטטוס איש צוות" - -#: contrib/auth/models.py:60 -msgid "Designates whether the user can log into this admin site." -msgstr "מציין האם המשתמש יכול להתחבר לאתר הניהול." - -#: contrib/auth/models.py:61 -msgid "active" -msgstr "פעיל" - -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "סטטוס משתמש על" - -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "כניסה אחרונה" - -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "תאריך הצטרפות" - -#: contrib/auth/models.py:66 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"בנוסף לכל ההרשאות שהוקצו ידנית, יוענקו למשתמש גם כל ההרשאות של כל קבוצה " -"המשוייכת אליו." - -#: contrib/auth/models.py:67 -msgid "user permissions" -msgstr "הרשאות משתמש" - -#: contrib/auth/models.py:70 -msgid "user" -msgstr "משתמש" - -#: contrib/auth/models.py:71 -msgid "users" -msgstr "משתמשים" - -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "מידע אישי" - -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "הרשאות" - -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "תאריכים חשובים" - -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "קבוצות" - -#: contrib/auth/models.py:219 -msgid "message" -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'. If this isn't provided, the system will " -"use 'flatpages/default'." -msgstr "" -"דוגמא: 'flatpages/contact_page'. האם אינו קיים, המערכתתשתמש ב 'flatpages/" -"default'." - -#: 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/contenttypes/models.py:40 +msgid "content types" +msgstr "סוגי תוכן" diff --git a/django/conf/locale/he/LC_MESSAGES/djangojs.mo b/django/conf/locale/he/LC_MESSAGES/djangojs.mo index 25395987703dfde0969791a4a650ee843bd8dc25..09ecd64d878f3ffbfcbec31d39189685020db101 100644 GIT binary patch delta 672 zcmZ9}ODIH97{Ku}Gk1*Fc#P-5Vm2)3=8We}Hbi+WMvAhUl!;j|h1e(yH7gq~3uS?Y zuoG(wI~&^@$x2O4vrrMz+iSj1!fwIvz%ErGa ziDfbl6(|YX(ZMd1#EU3-R!}zHz*a7iLpkszAIZUPuoCYu%KqxX1oBu-;L~W4RTkEx z%(tLy;1~yRi}9El-=l2gp&b0h%)enR<1ZY>5`q#>(hRb{nx-R(4@}?$<)r5*e}V7( z#Na2AnEWnz6_)tlf~ug_QzJ4cD0OCBg*B$nJyoKCh8I#XGs$cFx0V}Ak*6&4d!}*U z11W1HGnaP9gGZr-?7I6JJa&3*-EHfhc%rjUJ8imC>(Ys&J(*t1tYorF_R#EVx-Z_L hb>X_J+fYv+vgaLp7v9;`j}-}o_qJ4?e*6u|MDzO=RV5g#BZ1RO*qB{sB_5)eg2P-qdv$)V699n`_%qR>HiDM4_N zqLbhvv^eM|5c&y3`~VK3lMWsHpBO)6Cyq28 zjCYLS2L|yAzH6YiZPtTD5iWJ46|Ow4O~OMuc<30AvSJM3f!U;Y@r)4>a6#u#wG} zmTlUWF>B{i*%>QkS+PRiTrVF~_A7h4=3=p0&Kd0f$+OesHRGX-)?5vTHFq\n" "Language-Team: Hebrew\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit" -#: contrib/admin/media/js/dateparse.js:32 -#: contrib/admin/media/js/calendar.js:24 -msgid "" -"January February March April May June July August September October November " -"December" -msgstr "" -"ינואר פברואר מרץ אפריל מאי יוני יולי אוגוסט ספטמבר אוקטובר נובמבר דצמבר" - -#: contrib/admin/media/js/dateparse.js:33 -msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" -msgstr "ראשון שני שלישי רביעי חמישי שישי שבת" - #: contrib/admin/media/js/SelectFilter2.js:33 #, perl-format msgid "Available %s" @@ -58,54 +46,75 @@ msgstr "יש לסמן את ההרשאות המבוקשות וללחוץ על " 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/admin/DateTimeShortcuts.js:45 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +#: 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:48 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 msgid "Clock" msgstr "שעון" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 msgid "Choose a time" msgstr "בחירת שעה" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 msgid "Midnight" msgstr "חצות" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 msgid "6 a.m." msgstr "6 בבוקר" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Noon" msgstr "צהריים" -#: 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 "ביטול" -#: 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 "היום" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 msgid "Calendar" msgstr "לוח שנה" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 msgid "Yesterday" msgstr "אתמול" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 msgid "Tomorrow" msgstr "מחר" diff --git a/django/conf/locale/it/LC_MESSAGES/django.mo b/django/conf/locale/it/LC_MESSAGES/django.mo index 6b7dd0f01fefc80624ee17e80b0ab8ea8d0a5a29..e0d5e0442d6cba1c84ce368af67c1f9faf927d52 100644 GIT binary patch literal 40774 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 delta 13548 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 lu>@zDocjJ~, 2006. -# -# +# msgid "" msgstr "" -"Project-Id-Version: Django pre-1.0\n" +"Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:12+0200\n" -"PO-Revision-Date: 2006-05-21 23:45+0200\n" -"Last-Translator: Carlo C8E Miron \n" -"Language-Team: Italian \n" +"POT-Creation-Date: 2007-04-11 17:39+0200\n" +"PO-Revision-Date: 2007-03-14 19:29+0100\n" +"Last-Translator: Flavio Curella \n" +"Language-Team: Italiano\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabo" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengali" + +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Catalano" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Ceco" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Gallese" + +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Danese" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "Tedesco" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Greco" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "Inglese" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Spagnolo" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Spagnolo argentino" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Finlandese" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "Francese" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Galiziano" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Ungherese" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Ebraico" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Islandese" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Italiano" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Giapponese" + +#: conf/global_settings.py:58 +#, fuzzy +msgid "Korean" +msgstr "Norvegese" + +#: conf/global_settings.py:59 +msgid "Kannada" +msgstr "Kannada" + +#: conf/global_settings.py:60 +msgid "Latvian" +msgstr "Lettone" + +#: conf/global_settings.py:61 +msgid "Macedonian" +msgstr "Macedone" + +#: conf/global_settings.py:62 +msgid "Dutch" +msgstr "Olandese" + +#: conf/global_settings.py:63 +msgid "Norwegian" +msgstr "Norvegese" + +#: conf/global_settings.py:64 +msgid "Polish" +msgstr "Polacco" + +#: conf/global_settings.py:65 +msgid "Portugese" +msgstr "Portoghese" + +#: conf/global_settings.py:66 +msgid "Brazilian" +msgstr "Brasiliano" + +#: conf/global_settings.py:67 +msgid "Romanian" +msgstr "Rumeno" + +#: conf/global_settings.py:68 +msgid "Russian" +msgstr "Russo" + +#: conf/global_settings.py:69 +msgid "Slovak" +msgstr "Slovacco" + +#: conf/global_settings.py:70 +msgid "Slovenian" +msgstr "Sloveno" + +#: conf/global_settings.py:71 +msgid "Serbian" +msgstr "Serbo" + +#: conf/global_settings.py:72 +msgid "Swedish" +msgstr "Svedese" + +#: conf/global_settings.py:73 +msgid "Tamil" +msgstr "Tamil" + +#: conf/global_settings.py:74 +msgid "Telugu" +msgstr "" + +#: conf/global_settings.py:75 +msgid "Turkish" +msgstr "Turco" + +#: conf/global_settings.py:76 +msgid "Ukrainian" +msgstr "Ucraino" + +#: conf/global_settings.py:77 +msgid "Simplified Chinese" +msgstr "Cinese semplificato" + +#: conf/global_settings.py:78 +msgid "Traditional Chinese" +msgstr "Cinese tradizionale" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

                                              By %s:

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

                                                Da %s:

                                                \n" +"
                                                  \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Tutti" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Qualsiasi data" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Oggi" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "Ultimi 7 giorni" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Questo mese" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Quest'anno" + +#: contrib/admin/filterspecs.py:143 newforms/widgets.py:180 +#: oldforms/__init__.py:577 +msgid "Yes" +msgstr "Sì" + +#: contrib/admin/filterspecs.py:143 newforms/widgets.py:180 +#: oldforms/__init__.py:577 +msgid "No" +msgstr "No" + +#: contrib/admin/filterspecs.py:150 newforms/widgets.py:180 +#: oldforms/__init__.py:577 +msgid "Unknown" +msgstr "Sconosciuto" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "data azione" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "ID oggetto" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "rappresentazione oggetto" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "flag azione" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "messaggio di modifica" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "voce di log" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "voci di log" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Pagina non trovata" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Spiacenti, ma la pagina richiesta non è stata trovata." + +#: contrib/admin/templates/admin/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 +msgid "Home" +msgstr "Pagina iniziale" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Errore del server" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Errore del server (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Errore del server (500)" + +#: contrib/admin/templates/admin/500.html:10 +msgid "" +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Si è verificato un errore. È stato riportato agli amministratori del sito " +"via e-mail e verrà corretto a breve. Grazie per la tua pazienza." + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Benvenuto," + +#: 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 +msgid "Documentation" +msgstr "Documentazione" + +#: 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 +msgid "Change password" +msgstr "Cambia la password" + +#: 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 +msgid "Log out" +msgstr "Esci" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Amministrazione sito Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Amministrazione Django" + +#: contrib/admin/templates/admin/change_form.html:15 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "Aggiungi" + +#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/object_history.html:5 +msgid "History" +msgstr "Storia" + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Vedi sul sito" + +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Correggere l'errore qui sotto." +msgstr[1] "Correggere gli errori qui sotto." + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Ordinamento" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Ordine:" + +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Aggiungi %(name)s" + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Cancella" + +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"La cancellazione di %(object_name)s '%(escaped_object)s' causerebbe la " +"cancellazione di oggetti collegati, ma questo account non ha i permessi per " +"cancellare gli oggetti dei seguenti tipi:" + +#: contrib/admin/templates/admin/delete_confirmation.html:21 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Sei sicuro di voler rimuovere %(object_name)s \"%(escaped_object)s\"? Tutti " +"i seguenti oggetti collegati saranno cancellati:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "Sì, sono sicuro" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Per %(filter_title)s " + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtro" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modelli disponibili nell'applicazione %(name)s." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Modifica" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "Non hai i privilegi per modificare alcunché." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Azioni Recenti" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Azioni Proprie" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Nessuno disponibile" + +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Ci sono problemi nell'installazione del database. Assicurarsi che le tabelle " +"appropriate del database siano state create, e che il database sia leggibile " +"dall'utente appropriato." + +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "Nome utente:" + +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "Password:" + +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:24 +msgid "Log in" +msgstr "Accedi" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Data/orario" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Utente" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Azione" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "j F Y, H:i" + +#: contrib/admin/templates/admin/object_history.html:36 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Questo oggetto non ha cambiamenti registrati. Probabilmente non è stato " +"creato con questo sito di amministrazione." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostra tutto" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Vai" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 risultato" +msgstr[1] "%(counter)s risultati" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s totali" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Salva come nuovo" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Salva e aggiungi un altro" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Salva e continua le modifiche" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Salva" + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Inserire innanzitutto nome utente e password. Si potrà quindi modificare le " +"altre impostazioni dell'utente." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Nome utente" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +msgid "Password" +msgstr "Password" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Password (again)" +msgstr "Password (di nuovo)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +msgid "Enter the same password as above, for verification." +msgstr "Inserire la stessa password inserita sopra, come verifica." + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Inserire una nuova password per l'utente %(username)s." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Bookmarklet" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "Bookmarklet alla documentazione" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

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

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

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

                                                  \n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Documentazione per questa pagina" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"Porta da qualsiasi pagina alla documentazione della view che genera quella " +"pagina." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "Mostra l'ID dell'oggetto" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Mostra il content-type e l'ID univoco di pagine che rappresentano un singolo " +"oggetto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Modifica quest'oggetto (nella finestra corrente)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"Porta alla pagina amministrativa di pagine che rappresentano un oggetto " +"singolo." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Modifica quest'oggetto (in una nuova finestra)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "" +"Come sopra, ma apre la pagina di amministrazione in una nuova finestra." + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Grazie per aver speso il tuo tempo prezioso su questo sito oggi." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Accedi di nuovo" + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_form.html:6 +#: contrib/admin/templates/registration/password_change_form.html:10 +msgid "Password change" +msgstr "Cambio password" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Cambio di password avvenuto correttamente" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "La password è stata cambiata." + +#: contrib/admin/templates/registration/password_change_form.html:12 +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Inserire l'attuale password, per ragioni di sicurezza, e poi la nuova " +"password due volte, per verificare di averla scritta correttamente." + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Password attuale:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Nuova password:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Confermare la password:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Modifica la mia password" + +#: contrib/admin/templates/registration/password_reset_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 "Reimposta la password" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Password reimpostata correttamente" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." +msgstr "" +"La nuova password è stata inviata all'indirizzo e-mail inserito. Arriverà a " +"breve." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "" +"Hai ricevuto questa e-mail perché hai chiesto di reimpostare la password" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "per il tuo account utente su %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "La tua nuova password è: %(new_password)s" + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "Puoi liberamente cambiare la tua password tramite questa pagina:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Il tuo nome utente, in caso l'abbia dimenticato:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Grazie per aver usato il nostro sito!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "Il team di %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll reset " +"your password and e-mail the new one to you." +msgstr "" +"Dimenticata la password? Inserire il proprio indirizzo e-mail qui sotto: la " +"password sarà reimpostata, e la nuova ti verrà inviata per e-mail." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Indirizzo e-mail:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Reimposta la mia password" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Data:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Orario:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Attualmente:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Modifica:" + +#: contrib/admin/templatetags/admin_list.py:247 +msgid "All dates" +msgstr "Tutte le date" + +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" è stato aggiunto correttamente." + +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 +msgid "You may edit it again below." +msgstr "È possibile modificarlo nuovamente qui sotto." + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Aggiungi utente" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "La password è stata cambiata correttamente." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Cambia la password: %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 "" +"Inserire nome utente e password corretti. Entrambi i campi sono case " +"sensitive." + +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" +"La sessione è scaduta: occorre accedere nuovamente. I dati inseriti sono " +"stati comunquesalvati." + +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Il browser non sembra configurato per accettare i cookie. Una volta " +"abilitati, ricaricare la pagina e riprovare." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "I nomi utente non possono contenere il carattere '@'." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" +"Il nome utente non è costituito dall'indirizzo e-mail. Provare con '%s'." + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "tag:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filtro:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "view:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Appl. %r non trovata" + +#: contrib/admin/views/doc.py:171 +#, fuzzy, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "Modello %r non trovato nell'appl. %r" + +#: contrib/admin/views/doc.py:183 +#, fuzzy, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "l'oggetto `%s.%s` collegato" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "modello:" + +#: contrib/admin/views/doc.py:214 +#, fuzzy, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "oggetti `%s.%s` collegati" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "tutti %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "numero di %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Campi sugli oggetti %s" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +msgid "Integer" +msgstr "Intero" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Booleano (True o False)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Stringa (fino a %(maxlength)s caratteri)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Interi separati da virgola" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Data (senza orario)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "Data (con orario)" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "Indirizzo e-mail" + +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "Percorso di file" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "Numero decimale" + +#: contrib/admin/views/doc.py:304 contrib/comments/models.py:85 +msgid "IP address" +msgstr "indirizzo IP" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (True, False o None)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "Collegamento a modello padre" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "Numero di telefono" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "Testo" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "Orario" + +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" + +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "Stato USA (due lettere maiuscole)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "Testo XML" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s non sembra essere un oggetto urlpattern" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Amministrazione sito" + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "È possibile aggiungere un altro %s qui sotto." + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "Aggiungere %s" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "Aggiunto %s" + +#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:339 db/models/manipulators.py:308 +msgid "and" +msgstr "e" + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "Modificato %s." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "Cancellato %s" + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "Nessun campo modificato." + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" è stato modificato correttamente." + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"%(name)s \"%(obj)s\" è stato aggiunto correttamente. È possibile modificarlo " +"nuovamente qui sotto." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Modificare %s" + +#: contrib/admin/views/main.py:476 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Uno o più %(fieldname)s in %(name)s: %(obj)s" + +#: contrib/admin/views/main.py:481 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Uno o più %(fieldname)s in %(name)s:" + +#: contrib/admin/views/main.py:514 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" è stato cancellato correttamente." + +#: contrib/admin/views/main.py:517 +msgid "Are you sure?" +msgstr "Sei sicuro?" + +#: contrib/admin/views/main.py:539 +#, python-format +msgid "Change history: %s" +msgstr "Tracciato delle modifiche: %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s" +msgstr "Seleziona %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s to change" +msgstr "Seleziona %s per modificare" + +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Errore nel database" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "I due campi password non corrispondono." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Un utente con questo nome·è già presente." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Il browser web sembra non avere i cookie abilitati. I cookie sono necessari " +"per poter accedere." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Questo account non è attivo." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Questo indirizzo email non è associato ad alcun account utente. Sei sicuro " +"di esserti registrato?" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "I due campi 'nuova password' non corrispondono." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "" +"La vecchia password non è stata inserita correttamente: va inserita di nuovo." + +#: contrib/auth/models.py:38 contrib/auth/models.py:58 +msgid "name" +msgstr "nome" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "nome in codice" + +#: contrib/auth/models.py:43 +msgid "permission" +msgstr "permesso" + +#: contrib/auth/models.py:44 contrib/auth/models.py:59 +msgid "permissions" +msgstr "permessi" + +#: contrib/auth/models.py:62 +msgid "group" +msgstr "gruppo" + +#: contrib/auth/models.py:63 contrib/auth/models.py:103 +msgid "groups" +msgstr "gruppi" + +#: contrib/auth/models.py:93 +msgid "username" +msgstr "nome utente" + +#: contrib/auth/models.py:93 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Obbligatorio. 30 caratteri o meno. Solo caratteri alfanumerici (lettere, " +"cifre e sottolineature)." + +#: contrib/auth/models.py:94 +msgid "first name" +msgstr "nome" + +#: contrib/auth/models.py:95 +msgid "last name" +msgstr "cognome" + +#: contrib/auth/models.py:96 +msgid "e-mail address" +msgstr "indirizzo e-mail" + +#: contrib/auth/models.py:97 +msgid "password" +msgstr "password" + +#: contrib/auth/models.py:97 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Usare '[algo]$[salt]$[hexdigest]' oppure la maschera di cambio password." + +#: contrib/auth/models.py:98 +msgid "staff status" +msgstr "privilegi di staff" + +#: contrib/auth/models.py:98 +msgid "Designates whether the user can log into this admin site." +msgstr "Indica se l'utente può accedere a questo sito di amministrazione." + +#: contrib/auth/models.py:99 +msgid "active" +msgstr "attivo" + +#: contrib/auth/models.py:99 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Indica se l'utente può accedere all'amministrazione di Django. Deselezionare " +"qui, piuttosto che cancellare gli account." + +#: contrib/auth/models.py:100 +msgid "superuser status" +msgstr "privilegi di superutente" + +#: contrib/auth/models.py:100 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Indica che l'utente ha tutti i privilegi, senza che siano stati assegnati " +"esplicitamente." + +#: contrib/auth/models.py:101 +msgid "last login" +msgstr "ultimo accesso" + +#: contrib/auth/models.py:102 +msgid "date joined" +msgstr "iscritto in data" + +#: 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 "" +"In aggiunta ai privilegi assegnati manualmente, l'utente riceverà anche " +"tutti i privilegi assegnati ad ogni gruppo cui appartiene." + +#: contrib/auth/models.py:105 +msgid "user permissions" +msgstr "privilegi utente" + +#: contrib/auth/models.py:109 +msgid "user" +msgstr "utente" + +#: contrib/auth/models.py:110 +msgid "users" +msgstr "utenti" + +#: contrib/auth/models.py:116 +msgid "Personal info" +msgstr "Informazioni personali" + +#: contrib/auth/models.py:117 +msgid "Permissions" +msgstr "Privilegi" + +#: contrib/auth/models.py:118 +msgid "Important dates" +msgstr "Date importanti" + +#: contrib/auth/models.py:119 +msgid "Groups" +msgstr "Gruppi" + +#: contrib/auth/models.py:263 +msgid "message" +msgstr "messaggio" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Accesso annullato" #: contrib/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" @@ -64,44 +1315,35 @@ msgstr "valutazione #8" #: contrib/comments/models.py:82 msgid "is valid rating" -msgstr "valutazione valida" +msgstr "è una valutazione valida" #: contrib/comments/models.py:83 contrib/comments/models.py:169 msgid "date/time submitted" -msgstr "data/ora di sottomissione" +msgstr "data/orario di inserimento" #: contrib/comments/models.py:84 contrib/comments/models.py:170 msgid "is public" -msgstr "pubblico" - -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 -msgid "IP address" -msgstr "indirizzo IP" +msgstr "è pubblico" #: contrib/comments/models.py:86 msgid "is removed" -msgstr "eliminato" +msgstr "è rimosso" #: contrib/comments/models.py:86 msgid "" "Check this box if the comment is inappropriate. A \"This comment has been " "removed\" message will be displayed instead." msgstr "" -"Spunta la casella se il commento è inappropriato. Verrà sostituito con un " +"Spuntare la casella se il commento è inappropriato. Verrà sostituito dal " "messaggio \"Questo commento è stato rimosso\"." -#: contrib/comments/models/comments.py:31 -msgid "Comment" -msgstr "Commento" - -#: contrib/comments/models/comments.py:32 #: contrib/comments/models.py:91 -msgid "Comments" -msgstr "Commenti" +msgid "comments" +msgstr "commenti" #: contrib/comments/models.py:131 contrib/comments/models.py:207 msgid "Content object" -msgstr "Contenitore" +msgstr "Oggetto con contenuto" #: contrib/comments/models.py:159 #, python-format @@ -112,7 +1354,7 @@ msgid "" "\n" "http://%(domain)s%(url)s" msgstr "" -"Commento di %(user)s del %(date)s\n" +"Inserito da %(user)s il %(date)s\n" "\n" "%(comment)s\n" "\n" @@ -166,7 +1408,7 @@ msgid "" "\n" "%(text)s" msgstr "" -"Questo commento ha un flag di %(user)s:\n" +"A questo commento è stato apposto un flag da %(user)s:\n" "\n" "%(text)s" @@ -187,139 +1429,27 @@ msgstr "flag utente" msgid "Flag by %r" msgstr "Flag da %r" -#: contrib/comments/models/comments.py:278 #: contrib/comments/models.py:278 msgid "deletion date" -msgstr "data eliminazione" +msgstr "data cancellazione" #: contrib/comments/models.py:280 msgid "moderator deletion" -msgstr "rimozione da moderatore" +msgstr "cancellazione da moderatore" #: contrib/comments/models.py:281 msgid "moderator deletions" -msgstr "rimozioni da moderatore" +msgstr "cancellazioni da moderatore" #: contrib/comments/models.py:285 #, python-format msgid "Moderator deletion by %r" -msgstr "Rimozione da moderatore di %r" +msgstr "Cancellazione da moderatore %r" -#: contrib/comments/views/karma.py:19 -msgid "Anonymous users cannot vote" -msgstr "Gli utenti anonimi non possono votare" - -#: contrib/comments/views/karma.py:23 -msgid "Invalid comment ID" -msgstr "ID commento non valido" - -#: contrib/comments/views/karma.py:25 -msgid "No voting for yourself" -msgstr "Non votare per te stesso" - -#: contrib/comments/views/comments.py:28 -msgid "" -"This rating is required because you've entered at least one other rating." -msgstr "" -"Questa valutazione è obbligatoria perché hai inserito almeno un'altra valutazione" - -#: contrib/comments/views/comments.py:112 -#, python-format -msgid "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comment:\n" -"\n" -"%(text)s" -msgid_plural "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comments:\n" -"\n" -"%(text)s" -msgstr[0] "" -"Commento di un utente autore di meno di %(count)s commento:\n" -"\n" -"%(text)s" -msgstr[1] "" -"Commento di un utente autore di meno di %(count)s commenti:\n" -"\n" -"%(text)s" -"" - -#: contrib/comments/views/comments.py:117 -#, python-format -msgid "" -"This comment was posted by a sketchy user:\n" -"\n" -"%(text)s" -msgstr "" -"Commento di un utente \"sketchy\":\n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:189 -#: contrib/comments/views/comments.py:280 -msgid "Only POSTs are allowed" -msgstr "Sono ammessi solo POST" - -#: contrib/comments/views/comments.py:193 -#: contrib/comments/views/comments.py:284 -msgid "One or more of the required fields wasn't submitted" -msgstr "Uno o più dei campi richiesti non sono stati sottomessi" - -#: contrib/comments/views/comments.py:197 -#: contrib/comments/views/comments.py:286 -msgid "Somebody tampered with the comment form (security violation)" -msgstr "Qualcuno ha alterato il modulo di commento (violazione di sicurezza)" - -#: contrib/comments/views/comments.py:207 -#: contrib/comments/views/comments.py:292 -msgid "" -"The comment form had an invalid 'target' parameter -- the object ID was " -"invalid" -msgstr "" -"Il modulo di commento ha un parametro 'target' non valido -- l'ID dell'oggetto non e` valido" - -#: contrib/comments/views/comments.py:257 -#: contrib/comments/views/comments.py:321 -msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "Il modulo di commento non fornisce 'anteprima' o 'invia'" - -#: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" -msgstr "Nome utente:" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Password:" - -#: contrib/comments/templates/comments/form.html:6 msgid "Forgotten your password?" msgstr "Hai dimenticato la password?" -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Log out" -msgstr "Esci" - #: contrib/comments/templates/comments/form.html:12 msgid "Ratings" msgstr "Valutazioni" @@ -332,770 +1462,126 @@ msgstr "Obbligatorio" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 msgid "Optional" -msgstr "Opzionale" +msgstr "Facoltativo" #: contrib/comments/templates/comments/form.html:23 msgid "Post a photo" msgstr "Invia una foto" -#: contrib/comments/templates/comments/form.html:27 +#: contrib/comments/templates/comments/form.html:28 #: contrib/comments/templates/comments/freeform.html:5 msgid "Comment:" msgstr "Commento:" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 msgid "Preview comment" msgstr "Anteprima commento" #: contrib/comments/templates/comments/freeform.html:4 msgid "Your name:" -msgstr "Il tuo nome:" +msgstr "Il suo nome:" -#: contrib/admin/filterspecs.py:40 -#, python-format +#: contrib/comments/views/comments.py:27 msgid "" -"

                                                  By %s:

                                                  \n" -"
                                                    \n" +"This rating is required because you've entered at least one other rating." msgstr "" -"

                                                    Da %s:

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

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

                                                      \n" +"%(text)s" +msgstr[0] "" +"Questo commento è stato inserito da un utente autore di meno di %(count)s " +"commento:\n" +"\n" +"%(text)s" +msgstr[1] "" +"Questo commento è stato inserito da un utente autore di meno di %(count)s " +"commenti:\n" +"\n" +"%(text)s" -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "Documentazione per questa pagina" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +#: contrib/comments/views/comments.py:116 +#, python-format msgid "" -"Jumps you from any page to the documentation for the view that generates " -"that page." +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" msgstr "" -"Ti porta da qualsiasi pagina alla documentazione della view che genera quella pagina." +"Questo commento è stato inserito da un utente non confermato:\n" +"\n" +"%(text)s" -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "Mostra l'ID dell'oggetto" +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "Sono ammessi solo POST" -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +#: contrib/comments/views/comments.py:192 +#: contrib/comments/views/comments.py:284 +msgid "One or more of the required fields wasn't submitted" +msgstr "Uno o più campi richiesti non sono stati inseriti" + +#: contrib/comments/views/comments.py:196 +#: contrib/comments/views/comments.py:286 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "Qualcuno ha alterato il modulo di commento (violazione di sicurezza)" + +#: contrib/comments/views/comments.py:206 +#: contrib/comments/views/comments.py:292 msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" msgstr "" -"Mostra il tipo di contenuto e l'ID univoco per pagine che rappresentano un singolo oggetto." +"Il modulo di commento ha un parametro 'target' non valido -- l'ID " +"dell'oggetto non è valido" -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "Modifica quest'oggetto (nella finestra corrente)" +#: contrib/comments/views/comments.py:257 +#: contrib/comments/views/comments.py:321 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "Il modulo di commento non fornisce né 'anteprima' né 'invia'" -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 -msgid "Jumps to the admin page for pages that represent a single object." -msgstr "Ti porta alla pagina amministrativa per pagine che rappresentano un oggetto singolo." +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "Gli utenti anonimi non possono votare" -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "Modifica quest'oggetto (in una nuova finestra)" +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "ID commento non valido" -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 -msgid "As above, but opens the admin page in a new window." -msgstr "Come sopra, ma apre la pagina di amministrazione in una nuova finestra." +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "Impossibile votare per se stessi" -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Data:" +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "nome della classe modello in Python" -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Ora:" +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "content type" -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Attualmente:" - -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Modifica:" - -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "redirigi da" - -#: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." -msgstr "" -"Un percorso assoluto, senza nome a dominio. Esempio: '/events/search/'." - -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "redirigi verso" - -#: contrib/redirects/models.py:10 -msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." -msgstr "" -"Un percorso assoluto (come sopra) o un URL completo iniziante con 'http://'." - -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "redirigi" - -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "redirezioni" +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "content type" #: contrib/flatpages/models.py:8 msgid "" "Example: '/about/contact/'. Make sure to have leading and trailing slashes." msgstr "" -"Esempio: '/about/contact/'. Attenzione alla barra ('/') iniziale e finale." +"Esempio: '/about/contact/'. Assicurarsi di inserire le barre diagonali " +"iniziali e finali." #: contrib/flatpages/models.py:9 msgid "title" @@ -1115,11 +1601,11 @@ msgstr "nome modello" #: contrib/flatpages/models.py:13 msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." msgstr "" -"Esempio: 'flatpages/contact_page'. Se non specificato, il sistema userà " -"'flatpages/default'." +"Esempio: 'flatpages/contact_page.html'. Se non specificato, il sistema userà " +"'flatpages/default.html'." #: contrib/flatpages/models.py:14 msgid "registration required" @@ -1127,7 +1613,9 @@ msgstr "registrazione obbligatoria" #: contrib/flatpages/models.py:14 msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Se selezionata, solo gli utenti registrati potranno vedere la pagina." +msgstr "" +"Se selezionato, solo gli utenti che hanno effettuato l'accesso potranno " +"vedere la pagina." #: contrib/flatpages/models.py:18 msgid "flat page" @@ -1137,160 +1625,459 @@ msgstr "pagina statica" msgid "flat pages" msgstr "pagine statiche" -#: contrib/auth/models.py:13 contrib/auth/models.py:26 -msgid "name" -msgstr "nome" - -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "nome in codice" - -#: contrib/auth/models.py:17 -msgid "permission" -msgstr "permesso" - -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -msgid "permissions" -msgstr "permessi" - -#: contrib/auth/models.py:29 -msgid "group" -msgstr "gruppo" - -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -msgid "groups" -msgstr "gruppi" - -#: contrib/auth/models.py:55 -msgid "username" -msgstr "nome utente" - -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "nome" - -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "cognome" - -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "indirizzo e-mail" - -#: contrib/auth/models.py:59 -msgid "password" -msgstr "password" - -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Usare '[algo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "staff" - -#: contrib/auth/models.py:60 -msgid "Designates whether the user can log into this admin site." -msgstr "Autorizza l'utente ad accedere a questo sito di amministrazione." - -#: contrib/auth/models.py:61 -msgid "active" -msgstr "attivo" - -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "superuser" - -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "ultimo accesso" - -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "iscritto da" - -#: contrib/auth/models.py:66 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" msgstr "" -"In aggiunta ai permessi assegnati manualmente, l'utente riceverà anche tutti " -"i permessi assegnati ad ogni gruppo cui appartiene." -#: contrib/auth/models.py:67 -msgid "user permissions" -msgstr "permessi utente" +#: contrib/humanize/templatetags/humanize.py:17 +#, fuzzy +msgid "st" +msgstr "º" -#: contrib/auth/models.py:70 -msgid "user" -msgstr "utente" +#: contrib/humanize/templatetags/humanize.py:17 +#, fuzzy +msgid "nd" +msgstr "º" -#: contrib/auth/models.py:71 -msgid "users" -msgstr "utenti" +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "º" -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "Informazioni personali" +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f milione" +msgstr[1] "%(value).1f milioni" -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "Permessi" +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f miliardo" +msgstr[1] "%(value).1f miliardi" -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "Date importanti" +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "" +msgstr[1] "" -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Gruppi" - -#: contrib/auth/models.py:219 -msgid "message" -msgstr "messaggio" - -#: contrib/auth/forms.py:30 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" msgstr "" -"Il browser non ha i cookie abilitati. Per accedere, è necessario abilitarli." -#: contrib/contenttypes/models.py:25 -msgid "python model class name" -msgstr "nome della classe modello in python" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "due" -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "tipo di contenuto" +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "tre" -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "tipo di contenuti" +#: contrib/humanize/templatetags/humanize.py:68 +#, fuzzy +msgid "four" +msgstr "quattro" -#: contrib/sessions/models.py:35 +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "cinque" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "sei" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "sette" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "otto" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "nove" + +#: contrib/localflavor/au/forms.py:18 +#, fuzzy +msgid "Enter a 4 digit post code." +msgstr "Inserire una codici postale di 4 cifre." + +#: contrib/localflavor/br/forms.py:18 +#, fuzzy +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Inserire un codice postale nel formato XXXXX o XXXXX-XXXX." + +#: contrib/localflavor/br/forms.py:30 +#, fuzzy +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "" +"I numeri di telefono devono essere in formato XXX-XXX-XXXX. \"%s\" non è " +"valido." + +#: 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 +#, fuzzy +msgid "Berlin" +msgstr "Berlino" + +#: 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 "Amburgo" + +#: contrib/localflavor/de/de_states.py:11 +#, fuzzy +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 +#, fuzzy +msgid "Saarland" +msgstr "" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "Sassonia" + +#: 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:16 contrib/localflavor/fi/forms.py:14 +#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/it/forms.py:14 +#, fuzzy +msgid "Enter a zip code in the format XXXXX." +msgstr "Inserire un codice postale nel formato XXXXX o XXXXX-XXXX." + +#: contrib/localflavor/de/forms.py:60 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "Inserire un numero tedesco di carta d'identità valido nel formato XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." + +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +#, fuzzy +msgid "Enter a valid Finnish social security number." +msgstr "Inserire un numero valido di assisstenza sociale finlandese." + +#: contrib/localflavor/jp/forms.py:21 +#, fuzzy +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Inserire un codice postale nel formato XXXXX o XXXXX-XXXX." + +#: 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 +#, fuzzy +msgid "Kanagawa" +msgstr "Kannada" + +#: 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 +#, fuzzy +msgid "Shimane" +msgstr "Modifica" + +#: 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 +#, fuzzy +msgid "Kagawa" +msgstr "Kannada" + +#: contrib/localflavor/jp/jp_prefectures.py:41 +#, fuzzy +msgid "Ehime" +msgstr "Orario" + +#: 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/no/forms.py:15 +#, fuzzy +msgid "Enter a zip code in the format XXXX." +msgstr "Inserire un codice postale nel formato XXXXX o XXXXX-XXXX." + +#: contrib/localflavor/no/forms.py:36 +#, fuzzy +msgid "Enter a valid Norwegian social security number." +msgstr "Inserire un numero decimale valido." + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "" +"Inserire un codice postale. È obbligatorio uno spazio tra le due parti del " +"codice postale." + +#: contrib/localflavor/us/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Inserire un codice postale nel formato XXXXX o XXXXX-XXXX." + +#: contrib/localflavor/us/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Inserire un numero di assistenza sociale statunitense valido, nel formato XXX-XX-XXXX." + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "redirigi da" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Deve essere un percorso assoluto, senza nome di dominio. Esempio: '/events/" +"search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "redirigi verso" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Può essere un percorso assoluto (come sopra) o una URL completa che inizia " +"con 'http://'." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "redirezione" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "redirezioni" + +#: contrib/sessions/models.py:68 msgid "session key" msgstr "chiave di sessione" -#: contrib/sessions/models.py:36 +#: contrib/sessions/models.py:69 msgid "session data" msgstr "dati di sessione" -#: contrib/sessions/models.py:37 +#: contrib/sessions/models.py:70 msgid "expire date" msgstr "data di scadenza" -#: contrib/sessions/models.py:41 +#: contrib/sessions/models.py:74 msgid "session" msgstr "sessione" -#: contrib/sessions/models.py:42 +#: contrib/sessions/models.py:75 msgid "sessions" msgstr "sessioni" #: contrib/sites/models.py:10 msgid "domain name" -msgstr "nome a dominio" +msgstr "nome di dominio" #: contrib/sites/models.py:11 msgid "display name" @@ -1304,17 +2091,503 @@ msgstr "sito" msgid "sites" msgstr "siti" -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "j F Y" +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Questo valore può contenere solo lettere, cifre e sottolineature." -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "j F Y, H:i" +#: core/validators.py:68 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Questo valore può contenere solo lettere, cifre, sottolineature, trattini e " +"barre diagonali." -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "H:i" +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "" +"Questo valore può contenere solo lettere, cifre, sottolineature e trattini." + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Non sono ammesse lettere maiuscole." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Non sono ammesse lettere minuscole." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Inserire solo cifre separate da virgole." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Inserire indirizzi e-mail validi separati da virgole." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Inserire un indirizzo IP valido." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "È necessario inserire un valore." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Sono ammessi soltanto caratteri numerici." + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Questo valore non può essere composto solo da cifre." + +#: core/validators.py:120 newforms/fields.py:128 +msgid "Enter a whole number." +msgstr "Inserire un numero intero." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Sono ammessi solo caratteri alfabetici." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "L'anno deve essere 1900 o successivo." + +#: core/validators.py:143 +#, fuzzy, python-format +msgid "Invalid date: %s" +msgstr "Data non valida: %s." + +#: core/validators.py:148 db/models/fields/__init__.py:457 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Inserire una data valida in formato AAAA-MM-GG." + +#: core/validators.py:153 +msgid "Enter a valid time in HH:MM format." +msgstr "Inserire un orario valido in formato OO:MM." + +#: core/validators.py:157 db/models/fields/__init__.py:526 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Inserire una data/ora valida in formato AAAA-MM-GG OO:MM." + +#: core/validators.py:162 newforms/fields.py:271 +msgid "Enter a valid e-mail address." +msgstr "Inserire un indirizzo e-mail valido." + +#: core/validators.py:174 core/validators.py:445 oldforms/__init__.py:672 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Non è stato inviato alcun file. Verificare il tipo di codifica della form." + +#: core/validators.py:178 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Caricare un'immagine valida. Il file caricato non è un'immagine o è corrotto." + +#: core/validators.py:185 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "La URL %s non punta ad un'immagine valida." + +#: core/validators.py:189 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" +"I numeri di telefono devono essere in formato XXX-XXX-XXXX. \"%s\" non è " +"valido." + +#: core/validators.py:197 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "La URL %s non punta ad un video QuickTime valido." + +#: core/validators.py:201 +msgid "A valid URL is required." +msgstr "Inserire una URL valida." + +#: core/validators.py:215 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"È richiesto HTML valido. Gli errori sono i seguenti:\n" +"%s" + +#: core/validators.py:222 +#, python-format +msgid "Badly formed XML: %s" +msgstr "XML malformato: %s" + +#: core/validators.py:239 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL non valida: %s" + +#: core/validators.py:244 core/validators.py:246 +#, python-format +msgid "The URL %s is a broken link." +msgstr "La URL %s è un link non funzionante." + +#: core/validators.py:252 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Inserire un valido nome di stato USA abbreviato." + +#: core/validators.py:266 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "Moderare i termini: la parola %s non è ammessa." +msgstr[1] "Moderare i termini: le parole %s non sono ammesse." + +#: core/validators.py:273 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Questo campo deve corrispondere al campo '%s'." + +#: core/validators.py:292 +msgid "Please enter something for at least one field." +msgstr "Inserire qualcosa in almeno un campo." + +#: core/validators.py:301 core/validators.py:312 +msgid "Please enter both fields or leave them both empty." +msgstr "Inserire entrambi i campi o lasciarli entrambi vuoti." + +#: core/validators.py:320 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Questo campo è obbligatorio se %(field)s è %(value)s" + +#: core/validators.py:333 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Questo campo è obbligatorio se %(field)s non è %(value)s" + +#: core/validators.py:352 +msgid "Duplicate values are not allowed." +msgstr "Non sono ammessi valori duplicati." + +#: core/validators.py:367 +#, fuzzy, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Questo valore deve essere compreso tra %s e %s." + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "Questo valore deve essere almeno pari a %s." + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "Questo valore non deve essere maggiore di %s." + +#: core/validators.py:407 +#, python-format +msgid "This value must be a power of %s." +msgstr "Questo valore deve essere una potenza di %s." + +#: core/validators.py:418 +msgid "Please enter a valid decimal number." +msgstr "Inserire un numero decimale valido." + +#: core/validators.py:422 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "" +"Please enter a valid decimal number with at most %s total digits." +msgstr[0] "Inserire un numero decimale con non più di %s cifra in totale." +msgstr[1] "Inserire un numero decimale con non più di %s cifre in totale." + +#: core/validators.py:425 +#, python-format +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "" +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "" +"Inserire un numero decimale la cui parte intera sia composta da non più di %" +"s cifra." +msgstr[1] "" +"Inserire un numero decimale la cui parte intera sia composta da non più di %" +"s cifre." + +#: core/validators.py:428 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "" +"Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "Inserire un decimale con non più di %s cifra decimale." +msgstr[1] "Inserire un decimale con non più di %s cifre decimali." + +#: core/validators.py:438 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Verificare che il file caricato sia grande almeno %s byte." + +#: core/validators.py:439 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Verificare che il file caricato non sia più grande di %s byte." + +#: core/validators.py:456 +msgid "The format for this field is wrong." +msgstr "Il formato di questo campo non è valido." + +#: core/validators.py:471 +msgid "This field is invalid." +msgstr "Questo campo non è valido." + +#: core/validators.py:507 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Impossibile recuperare alcunché da %s." + +#: core/validators.py:510 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" +"La URL %(url)s ha restituito un header Content-Type non valido: '%" +"(contenttype)s'." + +#: core/validators.py:543 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"Chiudere il tag %(tag)s a linea %(line)s. (La linea inizia con \"%(start)s" +"\".)" + +#: core/validators.py:547 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Il testo che comincia a linea %(line)s non e' ammesso in questo contesto. " +"(La linea comincia con \"%(start)s\".)" + +#: core/validators.py:552 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"%(attr)s\" a linea %(line)s non è un attributo valido. (La linea comincia " +"con \"%(start)s\".)" + +#: core/validators.py:557 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"<%(tag)s>\" a linea %(line)s non è un tag valido. (La linea comincia con " +"\"%(start)s\".)" + +#: core/validators.py:561 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Un tag a linea %(line)s manca di uno o più attributi richiesti. (La linea " +"comincia con \"%(start)s\".)" + +#: core/validators.py:566 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"L'attributo \"%(attr)s\" a linea %(line)s ha un valore non valido. (La linea " +"comincia con \"%(start)s\".)" + +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s·con questo·%(type)s·esiste già per questo·%(field)s." + +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s·con questo·%(fieldname)s·esiste già." + +#: db/models/fields/__init__.py: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 +msgid "This field is required." +msgstr "Questo campo è obbligatorio." + +#: db/models/fields/__init__.py:367 +msgid "This value must be an integer." +msgstr "Questo valore deve essere un intero." + +#: db/models/fields/__init__.py:402 +msgid "This value must be either True or False." +msgstr "Questo valore deve essere True o False." + +#: db/models/fields/__init__.py:423 +msgid "This field cannot be null." +msgstr "Questo campo non può essere nullo." + +#: db/models/fields/__init__.py:630 +msgid "Enter a valid filename." +msgstr "Inserire un nome file valido." + +#: db/models/fields/__init__.py:751 +#, fuzzy +msgid "This value must be either None, True or False." +msgstr "Questo valore deve essere True o False." + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Inserire un %s valido." + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Separare ID multipli con virgole." + +#: db/models/fields/related.py:644 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Tenere premuto \"Control\", o \"Command\" su Mac, per selezionarne più di " +"uno." + +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +"Inserire un ID validi per %(self)s. Il valore %(value)r non è valido." +msgstr[1] "" +"Inserire un ID validi per %(self)s. I valori %(value)r non sono validi." + +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Assicurarsi che questo valore non contenga più di %d caratteri." + +#: newforms/fields.py:105 newforms/fields.py:258 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Assicurarsi che questo valore contenga almeno %d caratteri." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Assicurarsi che questo valore sia minore o uguale a %s." + +#: newforms/fields.py:132 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Assicurarsi che questo valore sia maggiore o uguale a %s." + +#: newforms/fields.py:165 +msgid "Enter a valid date." +msgstr "Inserire una data valida." + +#: newforms/fields.py:192 +msgid "Enter a valid time." +msgstr "Inserire un orario valido." + +#: newforms/fields.py:228 +msgid "Enter a valid date/time." +msgstr "Inserire una coppia data/orario valida." + +#: newforms/fields.py:242 +msgid "Enter a valid value." +msgstr "Inserire un valore valido." + +#: newforms/fields.py:289 newforms/fields.py:311 +msgid "Enter a valid URL." +msgstr "Inserire una URL valida." + +#: newforms/fields.py:313 +msgid "This URL appears to be a broken link." +msgstr "Questa URL non sembra funzionare." + +#: newforms/fields.py:362 newforms/models.py:165 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Selezionare un'opzione valida. La scelta effettuata non compare tra quelle " +"disponibili." + +#: newforms/fields.py:380 newforms/fields.py:456 newforms/models.py:182 +msgid "Enter a list of values." +msgstr "Inserire una lista di valori." + +#: newforms/fields.py:389 newforms/models.py:188 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Selezionare un'opzione valida;'%s non compare tra quelle disponibili." + +#: oldforms/__init__.py:392 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Assicurarsi che il testo sia più corto di %s carattere." +msgstr[1] "Assicurarsi che il testo sia più corto di %s caratteri." + +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "Non sono ammessi a capo manuali." + +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Selezionare un'opzione valida; '%(data)s' non presente in %(choices)s." + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "Il file inviato è vuoto." + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Inserire un numero intero compreso tra -32.768 e 32.767." + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "Inserire un numero positivo." + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Inserire un numero intero compreso tra 0 e 32.767." + +#: template/defaultfilters.py:491 +msgid "yes,no,maybe" +msgstr "sì,no,forse" + +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "" + +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "" + +#: utils/dateformat.py:46 +msgid "PM" +msgstr "" + +#: utils/dateformat.py:47 +msgid "AM" +msgstr "" + +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "mezzanotte" + +#: utils/dateformat.py:97 +msgid "noon" +msgstr "mezzogiorno" #: utils/dates.py:6 msgid "Monday" @@ -1504,467 +2777,40 @@ msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minuti" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "Bengali" +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "j F Y" -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "Ceco" +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "j F Y, H:i" -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "Gallese" +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "H:i" -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "Danese" +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "Y F" -#: conf/global_settings.py:41 -msgid "German" -msgstr "Tedesco" +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "Greco" - -#: conf/global_settings.py:43 -msgid "English" -msgstr "Inglese" - -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "Spagnolo" - -#: conf/global_settings.py:45 -msgid "French" -msgstr "Francese" - -#: conf/global_settings.py:46 -msgid "Galician" -msgstr "Galiziano" - -#: conf/global_settings.py:47 -msgid "Hungarian" -msgstr "Ungherese" - -#: conf/global_settings.py:48 -msgid "Hebrew" -msgstr "Ebreo" - -#: conf/global_settings.py:49 -msgid "Icelandic" -msgstr "Islandese" - -#: conf/global_settings.py:50 -msgid "Italian" -msgstr "Italiano" - -#: conf/global_settings.py:51 -msgid "Japanese" -msgstr "Giapponese" - -#: conf/global_settings.py:52 -msgid "Dutch" -msgstr "Olandese" - -#: conf/global_settings.py:53 -msgid "Norwegian" -msgstr "Norvegese" - -#: conf/global_settings.py:54 -msgid "Brazilian" -msgstr "Brasiliano" - -#: conf/global_settings.py:55 -msgid "Romanian" -msgstr "Rumeno" - -#: conf/global_settings.py:56 -msgid "Russian" -msgstr "Russo" - -#: conf/global_settings.py:57 -msgid "Slovak" -msgstr "Slovacco" - -#: conf/global_settings.py:58 -msgid "Slovenian" -msgstr "Sloveno" - -#: conf/global_settings.py:59 -msgid "Serbian" -msgstr "Serbo" - -#: conf/global_settings.py:60 -msgid "Swedish" -msgstr "Svedese" - -#: conf/global_settings.py:61 -msgid "Ukrainian" -msgstr "Ucraino" - -#: conf/global_settings.py:62 -msgid "Simplified Chinese" -msgstr "Cinese semplificato" - -#: conf/global_settings.py:63 -msgid "Traditional Chinese" -msgstr "Cinese tradizionale" - -#: core/validators.py:60 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Sono ammesse solo lettere, numeri e sottolineature ('_')." - -#: core/validators.py:64 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "Sono ammesse solo lettere, numeri, sottolineature ('_'), trattini" -"('-') e barre ('/')." - -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "Non sono ammesse lettere maiuscole." - -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "Non sono ammesse lettere minuscole." - -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Inserire solo numeri separati da virgole." - -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Inserire indirizzi e-mail validi separati da virgole." - -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Inserire un indirizzo IP valido." - -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "E' necessario inserire un valore." - -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "Sono ammessi soltanto caratteri numerici." - -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "Il valore non può essere composto solo da cifre." - -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Inserire un numero." - -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Sono ammessi solo caratteri alfabetici." - -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Inserire un data valida in formato AAAA-MM-GG." - -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Inserire un orario valido in formato OO:MM." - -#: core/validators.py:132 db/models/fields/__init__.py:468 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Inserire una data/ora in formato AAAA-MM-GG OO:MM." - -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "Inserire un indirizzo e-mail valido." - -#: core/validators.py:148 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Caricare un'immagine valida. Il file inserito non è un'immagine o è corrotto." - -#: core/validators.py:155 +#: views/generic/create_update.py:43 #, python-format -msgid "The URL %s does not point to a valid image." -msgstr "L'URL %s non punta ad un'immagine valida." +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s è stato creato correttamente." -#: core/validators.py:159 +#: views/generic/create_update.py:117 #, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" -"I numeri di telefono devono essere in formato XXX-XXX-XXXX. \"%s\" non è " -"valido." +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s è stato aggiornato correttamente." -#: core/validators.py:167 +#: views/generic/create_update.py:184 #, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "L'URL %s non punta ad un video QuickTime valido." - -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "Inserire un URL valido." - -#: core/validators.py:185 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" -"E' richiesto HTML valido. Gli errori sono i seguenti:\n" -"%s" - -#: core/validators.py:192 -#, python-format -msgid "Badly formed XML: %s" -msgstr "XML malformato: %s" - -#: core/validators.py:202 -#, python-format -msgid "Invalid URL: %s" -msgstr "URL non valida: %s" - -#: core/validators.py:206 core/validators.py:208 -#, python-format -msgid "The URL %s is a broken link." -msgstr "L'URL %s è un link rotto." - -#: core/validators.py:214 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Inserire un nome di stato americano abbreviato valido." - -#: core/validators.py:229 -#, python-format -msgid "Watch your mouth! The word %s is not allowed here." -msgid_plural "Watch your mouth! The words %s are not allowed here." -msgstr[0] "Attenzione! La parola %s non è ammessa." -msgstr[1] "Attenzione! Le parole %s non sono ammesse." - -#: core/validators.py:236 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Questo campo deve corrispondere al campo '%s'." - -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "Inserire qualcosa in almeno un campo." - -#: core/validators.py:264 core/validators.py:275 -msgid "Please enter both fields or leave them both empty." -msgstr "Inserire entrambi i campi o lasciarli entrambi vuoti." - -#: core/validators.py:282 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "Il campo è obbligatorio se %(field)s è %(value)s" - -#: core/validators.py:294 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "Il campo è obbligatorio se %(field)s non è %(value)s" - -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "Non sono ammessi valori duplicati." - -#: core/validators.py:336 -#, python-format -msgid "This value must be a power of %s." -msgstr "Il valore deve essere una potenza di %s." - -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "Inserire un numero decimale valido." - -#: core/validators.py:349 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "" -"Please enter a valid decimal number with at most %s total digits." -msgstr[0] "Inserire un numero decimale con non più di %s cifra." -msgstr[1] "Inserire un numero decimale con non più di %s cifre totali." - -#: core/validators.py:352 -#, python-format -msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "" -"Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "Inserire un decimale con non più di %s cifra decimale." -msgstr[1] "Inserire un decimale con non più di %s cifre decimali." - -#: core/validators.py:362 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Verifica che il file inserito sia almeno di %s byte." - -#: core/validators.py:363 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Verifica che il file inserito sia al massimo %s byte." - -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "Formato del file non valido." - -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "Il campo non è valido." - -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Impossibile recuperare alcunché da %s." - -#: core/validators.py:429 -#, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" -"L'URL %(url)s restituisce un Content-Type header non valido '%(contenttype)s'." - -#: core/validators.py:462 -#, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" -"Il tag %(tag)s alla linea %(line)s non è chiuso. (La linea comincia con \"%(start)s\".)" - -#: core/validators.py:466 -#, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Il testo che comincia a linea %(line)s non e' ammesso in questo contesto. " -"(La linea comincia con \"%(start)s\".)" - -#: core/validators.py:471 -#, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"%(attr)s\" alla linea %(line)s è un attributo invalido. (La linea comincia " -"con \"%(start)s\".)" - -#: core/validators.py:476 -#, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"<%(tag)s>\" alla linea %(line)s: tag non valido. (La linea comincia con \"%" -"(start)s\".)" - -#: core/validators.py:480 -#, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Un tag alla linea %(line)s manca di uno o più attributi richiesti. (La linea " -"comincia con \"%(start)s\".)" - -#: core/validators.py:485 -#, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"L'attributo \"%(attr)s\" alla linea %(line)s ha un valore non valido. (La " -"linea comincia con \"%(start)s\".)" - -#: db/models/manipulators.py:302 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "%(object)s·con questo·%(type)s·esistono già per questo·%(field)s." - -#: core/meta/fields.py:60 -#: db/models/fields/__init__.py:40 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s·con questo·%(fieldname)s·esiste già." - -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 -#: forms/__init__.py:346 -msgid "This field is required." -msgstr "Il campo è obbligatorio." - -#: db/models/fields/__init__.py:337 -msgid "This value must be an integer." -msgstr "Il valore deve essere un intero." - -#: db/models/fields/__init__.py:369 -msgid "This value must be either True or False." -msgstr "Il valore deve essere True o False." - -#: db/models/fields/__init__.py:385 -msgid "This field cannot be null." -msgstr "Il campo non può essere nullo." - -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Inserire un nome file valido." - -#: db/models/fields/related.py:43 -#, python-format -msgid "Please enter a valid %s." -msgstr "Inserire un %s valido." - -#: db/models/fields/related.py:579 -msgid "Separate multiple IDs with commas." -msgstr "Separa ID multipli con virgole." - -#: db/models/fields/related.py:581 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr " Premi \"Control\", o \"Command\" su Mac, per selezionarne più di uno." - -#: db/models/fields/related.py:625 -#, python-format -msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -msgid_plural "" -"Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr[0] "Inserire un ID valido per %(self)s. Il valore %(value)r non è valido." -msgstr[1] "Inserire un ID valido per %(self)s. I valori %(value)r non sono validi." - -#: forms/__init__.py:380 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Assicurati che il testo sia più corto di %s carattere." -msgstr[1] "Assicurati che il testo sia più corto di %s caratteri." - -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "Non è ammesso andare a capo." - -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Selezionare un'opzione valida; '%(data)s' non presente in %(choices)s." - -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "Il file sottomesso è vuoto." - -#: forms/__init__.py:699 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Inserire un numero tra -32768 e 32767." - -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "Inserire un numero positivo." - -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Inserire un numero compreso tra 0 e 32767." - -#: template/defaultfilters.py:379 -msgid "yes,no,maybe" -msgstr "sì,no,forse" +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s è stato cancellato." +#~ msgid "Have you forgotten your password?" +#~ msgstr "Hai dimenticato la password?" diff --git a/django/conf/locale/it/LC_MESSAGES/djangojs.mo b/django/conf/locale/it/LC_MESSAGES/djangojs.mo index 2df21b6558cf512967a19f9baad3169fb14ff327..c34009f14827be9f1c1765f39cb4e29c5a7f0544 100644 GIT binary patch delta 795 zcmZ9}&ui2`6u|N6CaLSXt+iS$T1tBGAi8U^v}-A=6a}@kR?!w#LCUxr*VLFmlG00| zx1PMn;LSsC{so@BcoMvN^2bR;q#%fb2f^=agNOr@Pv*_cdo#(K>euS#hhh7vqK(qW z=CgIj(7cjT{ph2G(^$n8mT|6_zlj5kZ({{}xF6HP4Rjc9p^cAmS*cC+gcnKl zxtREdQs@Ut;a@0;CFsH+N`kXEjgu&eAED&QPzrBgn@en=?ElCnncu-d{D~FnD~H|t z2n^v6j-uS~6iT8d%7$5#1lJ4Oc$cw8x$#RpfUi*w{uU+gdz1rw!U_Cd%#X0>JoVKW zFLI+hC>vLb@qLuP!1~<-fjUB$V)DBrsjQbnNs~h!rAyKO+ei_R3mz`srKW$32VY1H z7eT(ZI!HfMjO7c+t^PK%)3;(@4ZDGvFKt^7l6CW?)GK#ab=*r z@7EjVmED@?1idJ9*J3wGbs8q> l)?OfA%k$kqWX?F_&ui2`6bJBhldZOH{jqBWag`}OXwigB=+-rx6_={mQhz|V#~y}l43Q+WWD^e} z?AfCXo`s$SFM_>!@KzAilSkJ-Kt1S552Aiwwu%nCd@_@n_g<1ul{b~)hpO>N!#IYh zBVHp;BJNM%g7F1T!mm(=-(dy*fcxQ8Y5cqjXD~kwr{QTh1)V)TSjPM++<8zJg8o5mKUgY^DYlU{MG@KvN#1bGt}N&)>m=a0IEb&u}07 z25YFV{ld*5EYy&dHqP(qKuXYon{X9Uf+z3*d=9D6myi, 2006. # +# Carlo C8E Miron , 2006. +# Nicola 'tekNico' Larosa , 2007. msgid "" msgstr "" -"Project-Id-Version: Django JavaScript 1.0\n" +"Project-Id-Version: djangojs\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-12-09 11:51+0100\n" -"PO-Revision-Date: 2005-12-04 21:47+0100\n" -"Last-Translator: Carlo C8E Miron \n" -"Language-Team: Italian \n" +"POT-Creation-Date: 2007-02-26 20:46+0100\n" +"PO-Revision-Date: 2007-02-26 20:55+0100\n" +"Last-Translator: Nicola Larosa \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: KBabel 1.11.2\n" + +#: contrib/admin/media/js/calendar.js:24 +#: contrib/admin/media/js/dateparse.js:32 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" +"Gennaio Febbraio Marzo Aprile Maggio Giugno Luglio Agosto Settembre Ottobre " +"Novembre Dicembre" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "D L M M G V S" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Domenica Lunedì Martedì Mercoledì Giovedì Venerdì Sabato" #: contrib/admin/media/js/SelectFilter2.js:33 #, perl-format @@ -23,7 +42,7 @@ msgstr "Disponibile %s" #: contrib/admin/media/js/SelectFilter2.js:41 msgid "Choose all" -msgstr "Seleziona tutto" +msgstr "Scegli tutto" #: contrib/admin/media/js/SelectFilter2.js:46 msgid "Add" @@ -36,7 +55,7 @@ msgstr "Rimuovi" #: contrib/admin/media/js/SelectFilter2.js:53 #, perl-format msgid "Chosen %s" -msgstr "Selezionato %s" +msgstr "Scelto %s" #: contrib/admin/media/js/SelectFilter2.js:54 msgid "Select your choice(s) and click " @@ -46,66 +65,59 @@ msgstr "Seleziona le tue scelte e clicca " msgid "Clear all" msgstr "Cancella tutto" -#: contrib/admin/media/js/dateparse.js:26 -#: contrib/admin/media/js/calendar.js:24 -msgid "" -"January February March April May June July August September October November " -"December" -msgstr "" -"Gennaio Febbraio Marzo Aprile Maggio Giugno Luglio Agosto Settembre Ottobre " -"Novembre Dicembre" - -#: contrib/admin/media/js/dateparse.js:27 -msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" -msgstr "Domenica Lunedì Martedì Mercoledì Giovedì Venerdì Sabato" - -#: contrib/admin/media/js/calendar.js:25 -msgid "S M T W T F S" -msgstr "D L M M G V S" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 msgid "Now" msgstr "Adesso" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 msgid "Clock" msgstr "Orologio" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 msgid "Choose a time" -msgstr "Seleziona un orario" +msgstr "Scegli un orario" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 msgid "Midnight" msgstr "Mezzanotte" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 msgid "6 a.m." msgstr "6 del mattino" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Noon" msgstr "Mezzogiorno" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 msgid "Cancel" msgstr "Annulla" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 msgid "Today" msgstr "Oggi" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 msgid "Calendar" msgstr "Calendario" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 msgid "Yesterday" msgstr "Ieri" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 msgid "Tomorrow" msgstr "Domani" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "Mostra" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "Nascondi" + diff --git a/django/conf/locale/ja/LC_MESSAGES/django.mo b/django/conf/locale/ja/LC_MESSAGES/django.mo index e6725c1140a9f009fb214fda450e67b0b9b1c455..07d39947554d7039d4b12c55c3c3b40b73711adb 100644 GIT binary patch delta 15653 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 U#I)tMvrYpXXseBV?-LvU4-eXlCjbBd delta 10779 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 k4S(V5>a}Q@^;gMWvwv_<$-c3HUIzs diff --git a/django/conf/locale/ja/LC_MESSAGES/django.po b/django/conf/locale/ja/LC_MESSAGES/django.po index a55af3b45d..ab761254ae 100644 --- a/django/conf/locale/ja/LC_MESSAGES/django.po +++ b/django/conf/locale/ja/LC_MESSAGES/django.po @@ -1,13 +1,13 @@ # Translation of django.po to japanese. -# Copyright (C) 2005,2006 THE PACKAGE'S COPYRIGHT HOLDER +# Copyright (C) 2005,2006,2007 makoto tsuyuki # This file is distributed under the same license as the PACKAGE package. -# makoto tsuyuki , 2005,2006. +# makoto tsuyuki , 2005,2006,2007. # msgid "" msgstr "" "Project-Id-Version: Django 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-10-21 20:42+0900\n" +"POT-Creation-Date: 2007-03-26 22:51+0900\n" "PO-Revision-Date: 2006-05-18 00:28+0900\n" "Last-Translator: makoto tsuyuki \n" "Language-Team: Japanese \n" @@ -24,126 +24,150 @@ msgid "Bengali" msgstr "ベンガル語" #: conf/global_settings.py:41 +msgid "Catalan" +msgstr "カタロニア語" + +#: conf/global_settings.py:42 msgid "Czech" msgstr "チェコ語" -#: conf/global_settings.py:42 +#: conf/global_settings.py:43 msgid "Welsh" msgstr "ウェールズ語" -#: conf/global_settings.py:43 +#: conf/global_settings.py:44 msgid "Danish" msgstr "デンマーク語" -#: conf/global_settings.py:44 +#: conf/global_settings.py:45 msgid "German" msgstr "ドイツ語" -#: conf/global_settings.py:45 +#: conf/global_settings.py:46 msgid "Greek" msgstr "ギリシャ語" -#: conf/global_settings.py:46 +#: conf/global_settings.py:47 msgid "English" msgstr "英語" -#: conf/global_settings.py:47 +#: conf/global_settings.py:48 msgid "Spanish" msgstr "スペイン語" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Argentinean Spanish" msgstr "アルゼンチンスペイン語" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Finnish" msgstr "フィンランド語" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "French" msgstr "フランス語" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "Galician" msgstr "ガリシア語" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Hungarian" msgstr "ハンガリー語" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "Hebrew" msgstr "ヘブライ語" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 msgid "Icelandic" msgstr "アイスランド語" -#: conf/global_settings.py:55 +#: conf/global_settings.py:56 msgid "Italian" msgstr "イタリア語" -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Japanese" msgstr "日本語" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Kannada" +msgstr "カンナダ語" + +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "ラトビア語" + +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "マケドニア語" + +#: conf/global_settings.py:61 msgid "Dutch" msgstr "オランダ語" -#: conf/global_settings.py:58 +#: conf/global_settings.py:62 msgid "Norwegian" msgstr "ノルウェー語" -#: conf/global_settings.py:59 +#: conf/global_settings.py:63 msgid "Polish" msgstr "ポーランド語" -#: conf/global_settings.py:60 +#: conf/global_settings.py:64 +msgid "Portugese" +msgstr "ポルトガル語" + +#: conf/global_settings.py:65 msgid "Brazilian" msgstr "ブラジル語" -#: conf/global_settings.py:61 +#: conf/global_settings.py:66 msgid "Romanian" msgstr "ルーマニア語" -#: conf/global_settings.py:62 +#: conf/global_settings.py:67 msgid "Russian" msgstr "ロシア語" -#: conf/global_settings.py:63 +#: conf/global_settings.py:68 msgid "Slovak" msgstr "スロバキア語" -#: conf/global_settings.py:64 +#: conf/global_settings.py:69 msgid "Slovenian" msgstr "スロヴェニア語" -#: conf/global_settings.py:65 +#: conf/global_settings.py:70 msgid "Serbian" msgstr "セルビア語" -#: conf/global_settings.py:66 +#: conf/global_settings.py:71 msgid "Swedish" msgstr "スウェーデン語" -#: conf/global_settings.py:67 +#: conf/global_settings.py:72 msgid "Tamil" msgstr "タミル語" -#: conf/global_settings.py:68 +#: conf/global_settings.py:73 +msgid "Telugu" +msgstr "テルグ語" + +#: conf/global_settings.py:74 msgid "Turkish" msgstr "トルコ語" -#: conf/global_settings.py:69 +#: conf/global_settings.py:75 msgid "Ukrainian" msgstr "ウクライナ語" -#: conf/global_settings.py:70 +#: conf/global_settings.py:76 msgid "Simplified Chinese" msgstr "簡体字中国語" -#: conf/global_settings.py:71 +#: conf/global_settings.py:77 msgid "Traditional Chinese" msgstr "繁体字中国語" @@ -181,15 +205,18 @@ msgstr "今月" msgid "This year" msgstr "今年" -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:143 newforms/widgets.py:170 +#: oldforms/__init__.py:577 msgid "Yes" msgstr "はい" -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:143 newforms/widgets.py:170 +#: oldforms/__init__.py:577 msgid "No" msgstr "いいえ" -#: contrib/admin/filterspecs.py:150 +#: contrib/admin/filterspecs.py:150 newforms/widgets.py:170 +#: oldforms/__init__.py:577 msgid "Unknown" msgstr "不明" @@ -237,6 +264,7 @@ msgstr "申し訳ありませんが、お探しのページは見つかりませ #: 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 @@ -275,6 +303,7 @@ msgstr "ようこそ" #: 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 @@ -286,6 +315,9 @@ msgstr "ドキュメント" #: 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 @@ -306,6 +338,7 @@ msgstr "パスワードの変更" #: 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 @@ -335,30 +368,31 @@ msgstr "Django 管理サイト" msgid "Add" msgstr "追加" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/object_history.html:5 msgid "History" msgstr "履歴" -#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/change_form.html:22 msgid "View on site" msgstr "サイト上で表示" -#: contrib/admin/templates/admin/change_form.html:30 +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "下記のエラーを修正してください。" msgstr[1] "下記のエラーを修正してください。" -#: contrib/admin/templates/admin/change_form.html:48 +#: contrib/admin/templates/admin/change_form.html:50 msgid "Ordering" msgstr "順序" -#: contrib/admin/templates/admin/change_form.html:51 +#: contrib/admin/templates/admin/change_form.html:53 msgid "Order:" msgstr "並び変え:" -#: contrib/admin/templates/admin/change_list.html:11 +#: contrib/admin/templates/admin/change_list.html:12 #, python-format msgid "Add %(name)s" msgstr "%(name)s を追加" @@ -451,10 +485,6 @@ msgstr "ユーザ名:" msgid "Password:" msgstr "パスワード:" -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "パスワードをお忘れですか?" - #: contrib/admin/templates/admin/login.html:25 #: contrib/admin/views/decorators.py:24 msgid "Log in" @@ -533,17 +563,26 @@ msgid "Username" msgstr "ユーザ名" #: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:34 msgid "Password" msgstr "パスワード" #: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 msgid "Password (again)" msgstr "パスワード(確認用)" #: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:40 msgid "Enter the same password as above, for verification." msgstr "確認のため、再度パスワードを入力してください。" +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, 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 "ブックマークレット" @@ -576,7 +615,6 @@ msgstr "" msgid "Documentation for this page" msgstr "このページのドキュメント" -# TODO #: contrib/admin/templates/admin_doc/bookmarklets.html:20 msgid "" "Jumps you from any page to the documentation for the view that generates " @@ -743,25 +781,34 @@ msgstr "現在:" msgid "Change:" msgstr "変更:" -#: contrib/admin/templatetags/admin_list.py:230 +#: contrib/admin/templatetags/admin_list.py:247 msgid "All dates" msgstr "いつでも" -#: contrib/admin/views/auth.py:17 contrib/admin/views/main.py:257 +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" を追加しました。" -#: contrib/admin/views/auth.py:22 contrib/admin/views/main.py:261 +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 #: contrib/admin/views/main.py:347 msgid "You may edit it again below." msgstr "続けて編集できます。" -#: contrib/admin/views/auth.py:28 +#: contrib/admin/views/auth.py:30 msgid "Add user" msgstr "ユーザを追加" -#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:59 +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "パスワードを変更しました" + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "パスワードの変更: %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." @@ -815,13 +862,13 @@ msgstr "アプリケーション %r が見つかりません" #: contrib/admin/views/doc.py:171 #, python-format -msgid "Model %r not found in app %r" -msgstr "モデル %r が %r アプリケーションに見つかりません" +msgid "Model %(name)r not found in app %(label)r" +msgstr "モデル %(name)r が %(label)r アプリケーションに見つかりません" #: contrib/admin/views/doc.py:183 #, python-format -msgid "the related `%s.%s` object" -msgstr "`%s.%s` (関連オブジェクト)" +msgid "the related `%(label)s.%(type)s` object" +msgstr "`%(label)s.%(type)s` (関連オブジェクト)" #: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 #: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 @@ -830,8 +877,8 @@ msgstr "モデル :" #: contrib/admin/views/doc.py:214 #, python-format -msgid "related `%s.%s` objects" -msgstr "`%s.%s` (関連オブジェクト)" +msgid "related `%(label)s.%(name)s` objects" +msgstr "`%(label)s.%(name)s` (関連オブジェクト)" #: contrib/admin/views/doc.py:219 #, python-format @@ -949,7 +996,7 @@ msgid "Added %s." msgstr "%s を追加しました。" #: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 -#: contrib/admin/views/main.py:339 +#: contrib/admin/views/main.py:339 db/models/manipulators.py:308 msgid "and" msgstr "と" @@ -983,53 +1030,53 @@ msgstr "%(name)s \"%(obj)s\" を追加しました。続けて編集できます msgid "Change %s" msgstr "%s を変更" -#: contrib/admin/views/main.py:473 +#: contrib/admin/views/main.py:476 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "%(name)s に %(fieldname)s が一つ以上あります: %(obj)s" -#: contrib/admin/views/main.py:478 +#: contrib/admin/views/main.py:481 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "%(name)s に %(fieldname)s が一つ以上あります:" -#: contrib/admin/views/main.py:511 +#: contrib/admin/views/main.py:514 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" を削除しました。" -#: contrib/admin/views/main.py:514 +#: contrib/admin/views/main.py:517 msgid "Are you sure?" msgstr "よろしいですか?" -#: contrib/admin/views/main.py:536 +#: contrib/admin/views/main.py:539 #, python-format msgid "Change history: %s" msgstr "変更履歴: %s" -#: contrib/admin/views/main.py:570 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s" msgstr "%s を選択" -#: contrib/admin/views/main.py:570 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s to change" msgstr "変更する %s を選択" -#: contrib/admin/views/main.py:758 +#: contrib/admin/views/main.py:768 msgid "Database error" msgstr "データベースエラー" -#: contrib/auth/forms.py:16 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 msgid "The two password fields didn't match." msgstr "確認用パスワードが一致しません。" -#: contrib/auth/forms.py:24 +#: contrib/auth/forms.py:25 msgid "A user with that username already exists." msgstr "同じユーザ名が既に登録済みです。" -#: contrib/auth/forms.py:52 +#: contrib/auth/forms.py:53 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1037,21 +1084,21 @@ msgstr "" "お使いのブラウザはクッキーを有効にしていないようです。ログインにはクッキーが" "必要です。" -#: contrib/auth/forms.py:61 +#: contrib/auth/forms.py:62 msgid "This account is inactive." msgstr "アカウントが無効です。" -#: contrib/auth/forms.py:84 +#: contrib/auth/forms.py:85 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" msgstr "メールアドレスの一致するユーザはいません。本当に登録しましたか?" -#: contrib/auth/forms.py:116 +#: contrib/auth/forms.py:117 msgid "The two 'new password' fields didn't match." msgstr "新しいパスワード(確認用)が一致しません。" -#: contrib/auth/forms.py:123 +#: contrib/auth/forms.py:124 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "元のパスワードが間違っています。もう一度入力してください。" @@ -1108,8 +1155,12 @@ msgid "password" msgstr "パスワード" #: contrib/auth/models.py:94 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "'[アルゴリズム]$[ソルト]$[ダイジェスト(hex)]' 形式を使って下さい" +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"'[algo]$[salt]$[hexdigest]'形式か、パスワード変更フォー" +"ムを使ってください。" #: contrib/auth/models.py:95 msgid "staff status" @@ -1478,15 +1529,15 @@ msgstr "コメント ID が不正です" msgid "No voting for yourself" msgstr "自分には投票できません。" -#: contrib/contenttypes/models.py:20 +#: contrib/contenttypes/models.py:36 msgid "python model class name" msgstr "Python モデルクラス名" -#: contrib/contenttypes/models.py:23 +#: contrib/contenttypes/models.py:39 msgid "content type" msgstr "コンテンツタイプ" -#: contrib/contenttypes/models.py:24 +#: contrib/contenttypes/models.py:40 msgid "content types" msgstr "コンテンツタイプ" @@ -1536,6 +1587,284 @@ msgstr "フラットページ" msgid "flat pages" msgstr "フラットページ" +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "番目" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" +msgstr "番目" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" +msgstr "番目" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "番目" + +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f 百万" +msgstr[1] "%(value).1f 百万" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f 十億" +msgstr[1] "%(value).1f 十億" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f 兆" +msgstr[1] "%(value).1f 兆" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "1" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "2" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "3" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "4" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "5" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "6" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "7" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "8" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "9" + +#: contrib/localflavor/fr/forms.py:17 +#, fuzzy +msgid "Enter a zip code in the format XXXXX." +msgstr "XXXXXの形式でZipコードを入力してください。" + +#: contrib/localflavor/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "XXXXXか、XXXXX-XXXXの形式で郵便番号を入力してください。" + +#: 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/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "ポスタルコードを入力してください。コードとコードの間は半角のスペースで区切ってください。" + +#: contrib/localflavor/usa/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "XXXXXか、XXXXX-XXXXの形式で郵便番号を入力してください。" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "リダイレクト元" @@ -1564,23 +1893,23 @@ msgstr "リダイレクト" msgid "redirects" msgstr "リダイレクト" -#: contrib/sessions/models.py:51 +#: contrib/sessions/models.py:68 msgid "session key" msgstr "セッションキー" -#: contrib/sessions/models.py:52 +#: contrib/sessions/models.py:69 msgid "session data" msgstr "セッションデータ" -#: contrib/sessions/models.py:53 +#: contrib/sessions/models.py:70 msgid "expire date" msgstr "有効期限" -#: contrib/sessions/models.py:57 +#: contrib/sessions/models.py:74 msgid "session" msgstr "セッション" -#: contrib/sessions/models.py:58 +#: contrib/sessions/models.py:75 msgid "sessions" msgstr "セッション" @@ -1600,92 +1929,92 @@ msgstr "サイト" msgid "sites" msgstr "サイト" -#: core/validators.py:63 +#: core/validators.py:64 msgid "This value must contain only letters, numbers and underscores." msgstr "半角の英数字およびアンダースコア以外は使用できません。" -#: core/validators.py:67 +#: core/validators.py:68 msgid "" "This value must contain only letters, numbers, underscores, dashes or " "slashes." msgstr "" "半角の英数字、アンダースコア、ダッシュ、スラッシュ以外は使用できません。" -#: core/validators.py:71 +#: core/validators.py:72 msgid "This value must contain only letters, numbers, underscores or hyphens." msgstr "半角の英数字、アンダースコア、ハイフン以外は使用できません。" -#: core/validators.py:75 +#: core/validators.py:76 msgid "Uppercase letters are not allowed here." msgstr "大文字はここでは使用できません。" -#: core/validators.py:79 +#: core/validators.py:80 msgid "Lowercase letters are not allowed here." msgstr "小文字はここでは使用できません。" -#: core/validators.py:86 +#: core/validators.py:87 msgid "Enter only digits separated by commas." msgstr "カンマ区切りの数字だけを入力してください。" -#: core/validators.py:98 +#: core/validators.py:99 msgid "Enter valid e-mail addresses separated by commas." msgstr "カンマ区切りの有効なメールアドレスを入力してください。" -#: core/validators.py:102 +#: core/validators.py:103 msgid "Please enter a valid IP address." msgstr "有効な IP アドレスを入力してください。" -#: core/validators.py:106 +#: core/validators.py:107 msgid "Empty values are not allowed here." msgstr "入力は必須です。" -#: core/validators.py:110 +#: core/validators.py:111 msgid "Non-numeric characters aren't allowed here." msgstr "数値以外は使用できません。" -#: core/validators.py:114 +#: core/validators.py:115 msgid "This value can't be comprised solely of digits." msgstr "数値だけの値にはできません。" -#: core/validators.py:119 +#: core/validators.py:120 newforms/fields.py:126 msgid "Enter a whole number." msgstr "整数を入力してください。" -#: core/validators.py:123 +#: core/validators.py:124 msgid "Only alphabetical characters are allowed here." msgstr "半角アルファベット以外使用できません。" -#: core/validators.py:138 +#: core/validators.py:139 msgid "Year must be 1900 or later." msgstr "1900年以降を指定してください。" -#: core/validators.py:142 +#: core/validators.py:143 #, python-format -msgid "Invalid date: %s." +msgid "Invalid date: %s" msgstr "無効な日付: %s" -#: core/validators.py:146 db/models/fields/__init__.py:424 +#: core/validators.py:148 db/models/fields/__init__.py:457 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "YYYY-MM-DD形式で日付を入力してください。" -#: core/validators.py:151 +#: core/validators.py:153 msgid "Enter a valid time in HH:MM format." msgstr "HH:MM形式で時刻を入力してください。" -#: core/validators.py:155 db/models/fields/__init__.py:486 +#: core/validators.py:157 db/models/fields/__init__.py:526 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." msgstr "YYYY-MM-DD HH:MM形式で日時を入力してください。" -#: core/validators.py:160 +#: core/validators.py:162 newforms/fields.py:269 msgid "Enter a valid e-mail address." msgstr "有効なメールアドレスを入力してください。" -#: core/validators.py:172 core/validators.py:401 forms/__init__.py:662 +#: core/validators.py:174 core/validators.py:445 oldforms/__init__.py:672 msgid "No file was submitted. Check the encoding type on the form." msgstr "" "ファイルが取得できませんでした。formのencoding typeを確認してください。" -#: core/validators.py:176 +#: core/validators.py:178 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -1693,26 +2022,26 @@ msgstr "" "画像をアップロードしてください。アップロードした画像は画像でないか、または壊" "れています。" -#: core/validators.py:183 +#: core/validators.py:185 #, python-format msgid "The URL %s does not point to a valid image." msgstr "URL ( %s ) は画像ではありません。" -#: core/validators.py:187 +#: core/validators.py:189 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." msgstr "電話番号は XXX-XXX-XXXX 形式で入力してください。\"%s\" は無効です。" -#: core/validators.py:195 +#: core/validators.py:197 #, python-format msgid "The URL %s does not point to a valid QuickTime video." msgstr "URL ( %s ) は QuickTime ビデオではありません。" -#: core/validators.py:199 +#: core/validators.py:201 msgid "A valid URL is required." msgstr "正しい URL を入力してください。" -#: core/validators.py:213 +#: core/validators.py:215 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" @@ -1721,71 +2050,86 @@ msgstr "" "有効な HTML を入力してください。エラー:\n" "%s" -#: core/validators.py:220 +#: core/validators.py:222 #, python-format msgid "Badly formed XML: %s" msgstr "不正な XML です: %s" -#: core/validators.py:230 +#: core/validators.py:239 #, python-format msgid "Invalid URL: %s" msgstr "無効なURL: %s" -#: core/validators.py:234 core/validators.py:236 +#: core/validators.py:244 core/validators.py:246 #, python-format msgid "The URL %s is a broken link." msgstr "URL ( %s ) はリンクが壊れています。" -#: core/validators.py:242 +#: core/validators.py:252 msgid "Enter a valid U.S. state abbreviation." msgstr "正しい米州略称を入力してください。" -#: core/validators.py:256 +#: core/validators.py:266 #, python-format msgid "Watch your mouth! The word %s is not allowed here." msgid_plural "Watch your mouth! The words %s are not allowed here." msgstr[0] "言葉使いに気を付けて! %s という言葉は使えません。" msgstr[1] "言葉使いに気を付けて! %s という言葉は使えません。" -#: core/validators.py:263 +#: core/validators.py:273 #, python-format msgid "This field must match the '%s' field." msgstr "このフィールドは '%s' フィールドと一致せねばなりません。" -#: core/validators.py:282 +#: core/validators.py:292 msgid "Please enter something for at least one field." msgstr "少なくとも一つのフィールドに何か入力してください。" -#: core/validators.py:291 core/validators.py:302 +#: core/validators.py:301 core/validators.py:312 msgid "Please enter both fields or leave them both empty." msgstr "両方のフィールドに入力するか、両方とも未入力にしてください。" -#: core/validators.py:309 +#: core/validators.py:320 #, python-format msgid "This field must be given if %(field)s is %(value)s" msgstr "" "%(field)s を %(value)s にするのなら、このフィールドに必ず入力してください。" -#: core/validators.py:321 +#: core/validators.py:333 #, python-format msgid "This field must be given if %(field)s is not %(value)s" msgstr "" "%(field)s を %(value)s にしないのなら、このフィールドに必ず入力してください。" -#: core/validators.py:340 +#: core/validators.py:352 msgid "Duplicate values are not allowed." msgstr "重複する値は認められません。" -#: core/validators.py:363 +#: core/validators.py:367 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "この値は %(lower)s から %(upper)s の間でなければなりません。" + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "この値は %s 以上でなければなりません。" + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "この値は %s より小さくなければなりません。" + +#: core/validators.py:407 #, python-format msgid "This value must be a power of %s." msgstr "この値は %s の累乗でなければなりません。" -#: core/validators.py:374 +#: core/validators.py:418 msgid "Please enter a valid decimal number." msgstr "有効な 10 進数を入力してください。" -#: core/validators.py:378 +#: core/validators.py:422 #, python-format msgid "Please enter a valid decimal number with at most %s total digit." msgid_plural "" @@ -1793,7 +2137,7 @@ msgid_plural "" msgstr[0] "全体で %s 文字以下の数字を入力してください。" msgstr[1] "全体で %s 文字以下の数字を入力してください。" -#: core/validators.py:381 +#: core/validators.py:425 #, python-format msgid "" "Please enter a valid decimal number with a whole part of at most %s digit." @@ -1802,7 +2146,7 @@ msgid_plural "" msgstr[0] "整数部は %s 文字以下の数字を入力してください。" msgstr[1] "整数部は %s 文字以下の数字を入力してください。" -#: core/validators.py:384 +#: core/validators.py:428 #, python-format msgid "Please enter a valid decimal number with at most %s decimal place." msgid_plural "" @@ -1810,37 +2154,37 @@ msgid_plural "" msgstr[0] "小数部は %s 文字以下の数字を入力してください。" msgstr[1] "小数部は %s 文字以下の数字を入力してください。" -#: core/validators.py:394 +#: core/validators.py:438 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." msgstr "アップロードするファイルの大きさは %s バイト以上にしてください。" -#: core/validators.py:395 +#: core/validators.py:439 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." msgstr "アップロードするファイルの大きさは %s 最大バイトまでです。" -#: core/validators.py:412 +#: core/validators.py:456 msgid "The format for this field is wrong." msgstr "フィールドの形式が正しくありません。" -#: core/validators.py:427 +#: core/validators.py:471 msgid "This field is invalid." msgstr "このフィールドは無効です。" -#: core/validators.py:463 +#: core/validators.py:507 #, python-format msgid "Could not retrieve anything from %s." msgstr "%s から何も検索できませんでした。" -#: core/validators.py:466 +#: core/validators.py:510 #, python-format msgid "" "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." msgstr "" "URL %(url)s は無効なコンテンツタイプヘッダ '%(contenttype)s' を返しました。" -#: core/validators.py:499 +#: core/validators.py:543 #, python-format msgid "" "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " @@ -1849,7 +2193,7 @@ msgstr "" "%(line)s 行目から始まる %(tag)s タグを閉じてください (\"%(start)s\" で始まる" "行です)。" -#: core/validators.py:503 +#: core/validators.py:547 #, python-format msgid "" "Some text starting on line %(line)s is not allowed in that context. (Line " @@ -1858,7 +2202,7 @@ msgstr "" "%(line)s 行目から始まるテキストはこのコンテキストでは使えません。 (\"%(start)" "s\" で始まる行です)。" -#: core/validators.py:508 +#: core/validators.py:552 #, python-format msgid "" "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" @@ -1867,7 +2211,7 @@ msgstr "" "%(line)s 行目の \"%(attr)s\" は無効なアトリビュートです (\"%(start)s\" で始ま" "る行です)。" -#: core/validators.py:513 +#: core/validators.py:557 #, python-format msgid "" "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" @@ -1876,7 +2220,7 @@ msgstr "" "%(line)s 行目の \"<%(tag)s>\" は無効なタグです( \"%(start)s\" で始まる行で" "す)。" -#: core/validators.py:517 +#: core/validators.py:561 #, python-format msgid "" "A tag on line %(line)s is missing one or more required attributes. (Line " @@ -1885,7 +2229,7 @@ msgstr "" "%(line)s 行目のタグは必須アトリビュートが未入力です( \"%(start)s\" で始まる行" "です)。" -#: core/validators.py:522 +#: core/validators.py:566 #, python-format msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " @@ -1894,56 +2238,61 @@ msgstr "" "%(line)s 行目の \"%(attr)s\" アトリビュートの値が正しくありません (\"%(start)" "s\" で始まる行です) 。" -#: db/models/manipulators.py:305 +#: db/models/manipulators.py:307 #, python-format msgid "%(object)s with this %(type)s already exists for the given %(field)s." msgstr "" "%(field)s に入力されたものは、この %(type)s の %(object)s に既に存在します。" -#: db/models/fields/__init__.py:41 +#: db/models/fields/__init__.py:42 #, python-format msgid "%(optname)s with this %(fieldname)s already exists." msgstr "%(fieldname)s に %(optname)s は既に存在します。" -#: 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:347 +#: 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:78 newforms/fields.py:374 newforms/fields.py:450 +#: newforms/fields.py:461 newforms/models.py:177 oldforms/__init__.py:357 msgid "This field is required." msgstr "このフィールドは必須です。" -#: db/models/fields/__init__.py:349 +#: db/models/fields/__init__.py:367 msgid "This value must be an integer." msgstr "値は整数でなければなりません。" -#: db/models/fields/__init__.py:381 +#: db/models/fields/__init__.py:402 msgid "This value must be either True or False." msgstr "値は真: True または偽: False でなければなりません。" -#: db/models/fields/__init__.py:397 +#: db/models/fields/__init__.py:423 msgid "This field cannot be null." msgstr "このフィールドには NULL を指定できません。" -#: db/models/fields/__init__.py:580 +#: db/models/fields/__init__.py:630 msgid "Enter a valid filename." msgstr "正しいファイル名を入力してください。" -#: db/models/fields/related.py:51 +#: db/models/fields/__init__.py:751 +msgid "This value must be either None, True or False." +msgstr "値は、空: None、真: True または偽: False でなければなりません。" + +#: db/models/fields/related.py:53 #, python-format msgid "Please enter a valid %s." msgstr "正しい %s を入力してください。" -#: db/models/fields/related.py:618 +#: db/models/fields/related.py:642 msgid "Separate multiple IDs with commas." msgstr "複数の ID はカンマで区切ってください。" -#: db/models/fields/related.py:620 +#: db/models/fields/related.py:644 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "複数選択するときには Control キーを押したまま選択してください。Mac は " "Command キーを使ってください" -#: db/models/fields/related.py:664 +#: db/models/fields/related.py:691 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -1951,42 +2300,123 @@ msgid_plural "" msgstr[0] "正しい %(self)s IDを入力してください。 %(value)r は無効です。" msgstr[1] "正しい %(self)s IDを入力してください。 %(value)r は無効です。" -#: forms/__init__.py:382 +#: newforms/fields.py:101 newforms/fields.py:254 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "%d 字以下で入力してください。" + +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "%d 字以上で入力してください。" + +#: newforms/fields.py:128 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "この値は %s 以下でなければなりません。" + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "この値は %s 以上でなければなりません。" + +#: newforms/fields.py:163 +msgid "Enter a valid date." +msgstr "日付を正しく入力してください。" + +#: newforms/fields.py:190 +msgid "Enter a valid time." +msgstr "時間を正しく入力してください。" + +#: newforms/fields.py:226 +msgid "Enter a valid date/time." +msgstr "日付/時間を正しく入力してください。" + +#: newforms/fields.py:240 +msgid "Enter a valid value." +msgstr "値を正しく入力してください。" + +#: newforms/fields.py:287 newforms/fields.py:309 +msgid "Enter a valid URL." +msgstr "URLを正しく入力してください。" + +#: newforms/fields.py:311 +msgid "This URL appears to be a broken link." +msgstr "このURLはリンクが壊れています。" + +#: newforms/fields.py:360 newforms/models.py:164 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "正しく選択してください。選択したものは候補にありません。" + +#: newforms/fields.py:378 newforms/fields.py:454 newforms/models.py:181 +msgid "Enter a list of values." +msgstr "リストを入力してください。" + +#: newforms/fields.py:387 newforms/models.py:187 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "正しく選択してください。 %s は候補にありません。" + +#: oldforms/__init__.py:392 #, 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 字以下で入力してください。" -#: forms/__init__.py:387 +#: oldforms/__init__.py:397 msgid "Line breaks are not allowed here." msgstr "改行はできません。" -#: forms/__init__.py:488 forms/__init__.py:561 forms/__init__.py:600 +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." msgstr "正しく選択してください。; '%(data)s' は %(choices)s にありません。" -#: forms/__init__.py:664 +#: oldforms/__init__.py:674 msgid "The submitted file is empty." msgstr "入力されたファイルは空です。" -#: forms/__init__.py:720 +#: oldforms/__init__.py:730 msgid "Enter a whole number between -32,768 and 32,767." msgstr "-32,768 から 32,767 までの整数を入力してください。" -#: forms/__init__.py:730 +#: oldforms/__init__.py:740 msgid "Enter a positive number." msgstr "正の数を入力してください。" -#: forms/__init__.py:740 +#: oldforms/__init__.py:750 msgid "Enter a whole number between 0 and 32,767." msgstr "0 から 32,767 までの整数を入力してください。" -#: template/defaultfilters.py:401 +#: template/defaultfilters.py:491 msgid "yes,no,maybe" msgstr "はい,いいえ,たぶん" +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "p.m." + +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "a.m." + +#: utils/dateformat.py:46 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:47 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "0時" + +#: utils/dateformat.py:97 +msgid "noon" +msgstr "12時" + #: utils/dates.py:6 msgid "Monday" msgstr "月曜日" @@ -2209,21 +2639,3 @@ msgstr "%(verbose_name)s を更新しました。" #, python-format msgid "The %(verbose_name)s was deleted." msgstr " %(verbose_name)s を削除しました。" - -#~ msgid "String (up to 50)" -#~ msgstr "文字列 (50 字まで)" - -#~ msgid "Comment" -#~ msgstr "コメント" - -#~ msgid "Comments" -#~ msgstr "コメント" - -#~ msgid "label" -#~ msgstr "ラベル" - -#~ msgid "package" -#~ msgstr "パッケージ" - -#~ msgid "packages" -#~ msgstr "パッケージ" diff --git a/django/conf/locale/ja/LC_MESSAGES/djangojs.mo b/django/conf/locale/ja/LC_MESSAGES/djangojs.mo index bddecacb108c1580bc2d408c658ad30deadb7451..45a4ff9f67b56a15720d178ff2b181720754aff9 100644 GIT binary patch delta 132 zcmX@YbC73)3u7n?0|Ub{Rt5$jVpt6%*nsp#D7^znO9T1)fwTmWz6}-s0;COq{NGT% z4p0+FpD~oS+B}odl8M(`*T7iU$V|b=*viCk^L^&yj9doKW;QVx8Ue}4n^`9U0Nhm< AbpQYW delta 135 zcmX@ebA)Gu3u7o70|Ub{Rt5$Ty%tJufzrEyv@}rs5RjGt()Xa^-+{CNkpB#KXCjtOY Cq8pL` diff --git a/django/conf/locale/ja/LC_MESSAGES/djangojs.po b/django/conf/locale/ja/LC_MESSAGES/djangojs.po index 0ec1cadcf5..d35b88aa73 100644 --- a/django/conf/locale/ja/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/ja/LC_MESSAGES/djangojs.po @@ -1,14 +1,12 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# Japanese translation for js. +# Copyright (C) 2005 makoto tsuyuki # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy +# makoto tsuyuki , 2005. msgid "" msgstr "" "Project-Id-Version: Django 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-10-06 00:30+0900\n" +"POT-Creation-Date: 2007-03-26 23:41+0900\n" "PO-Revision-Date: 2006-05-08 13:39+0900\n" "Last-Translator: makoto tsuyuki \n" "Language-Team: Japanese \n" @@ -85,7 +83,7 @@ msgstr "時間を選択" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 msgid "Midnight" -msgstr "夜中" +msgstr "0時" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 msgid "6 a.m." @@ -93,7 +91,7 @@ msgstr "午前 6 時" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Noon" -msgstr "正午" +msgstr "12時" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 #: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 diff --git a/django/conf/locale/kn/LC_MESSAGES/django.mo b/django/conf/locale/kn/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..51e9ab5fbc2aea2af6d204b21f00a9b5c144009a GIT binary patch literal 57878 zcmds=3!Gh5eeX8~1mX)26;X5(2s0y@NdS2`L?Dm^f(ZnY2>61NnUk4AX3iPTIg=0{ zb%GM2JOzS?Xrw~IJ1}DiRE64B(bh-RTD4jntJQk1t=HGpTU))~-~Ye%>&%%DkoMkB z=aYSYd%gba|6XgaeP;6HfqQL^`1#ZxQS=IMuNOqoxqlQzKY6)oqiF7|D7uNZqrn$b z{_K%av;zDNcn)}UM--{+25?{S!{9=2D|jsU6Hs*H&M2Aie3aB1d8uYa4+!9p!%1AMl-^___joC3pjP1o#lRANY5m#!ZIu zkH7;d|198MM@7*KDZdmHy$1U3F*PWcP21FInW>9+jG+4cb`dSN~2)+xH-#h|Jzh4BUzi)uz z`$=#m_(M>3oW~^M{|s;~crj@G13n3g{y&BCzk-Bo^ea$$`%S3-9e66`y><&T4BP<{-2A^4o*JYHS`iq1`->Td%N1n&b603Q$SUjaq` zTcP|UD87Ff>VFE(r~FHBIe7f>-v51|?0g+4xgP?b2R;I7-p_#I^NU~u{3h4|E;+&d zxd~DgT>(Nm`Xng5{2WxC_zkFh^zR@p8odl7nZ7~IcQGjX1EBo04obgcpyYfvcoKLs z_!97|p#1K~;0wSPfZUkn}zo)6;s(I11DF1jBS{qKeP z-+-di(d&H91yw!))V!yL@;TuClrI2fp9**gxE@r$o4}WW9|Ohbr$EK=69K;lim&g2 z()+)FCxib6UI@Mx;a>&b2%Zm4fCq!mokxxbj{rA=3&AVEZ-X1a((625eILZtqkSPN zc~1f_2QLAy1pfu>14mEs`M(7&r2Ior^2|Qf^*0ZcJPSb0zZ{f4hQJay3d$e90jmDT zp!ELpQ2sYi_Stj3$LGGF^l~UDeVhPFKc|B)0+)iAI4XfN!COK3)u%x9`wLL?zX-k@ z{5mN8{S1`f{0M}n&F1|`RFp!l2*?ggF!qT*-?cnEkEcoDc2>;a#HvR@A#2a*D#4FShN z`Q!IN_4_yQFtBTpmtPNR+}l9K-Dkn0z<&o{0d}4dMYvG35IhGQ0}luP22}em!HwVn zXSyA30asEU2j_tME{-BnQFJ2s5I78q|5u&meD#7arF1Gj;*z^{Qb!2bhY z0PY2|kci#_%8$2!n&xF`56a6j-LLi>+E#obTA4sbD(z6!h))I9G8HSf)! z#%%$Q0`CST&)31{fqSEL>E%H11aKj^8hj_HaX$b>=U+kb{p(Qv4^VORoMrCU2ZQ4C zHQ@8X6G6?l2-Lb-2W8LeL0mMtAAAe=GmumfopY|+;VSS*$~S|up9H>i2v56Vs- z1~tz^0e67v_b8}wPk`$Gx1i>m1YZdLG}Qkd)cEHv_xWE4%Ku&pO5ZaB&JOj*gVM)* zQ1k~u%{L0l9`6RFhxdY#>v~Z3{~##39|1-8?ogfp#m{4)`1n%5uLk@(Q2hTrsQG>f ziq0=U(fM6y-*<(V4+2H!l>ujh((93+`05FG9C#q*dEkq{b3pOm2a4YcC^}V8^VUJl z_pX5N1;y8mp!#hACGW>T@poTn-w8@Te*r4)zXFQRj|2W9;C}?%hh(Dm0|LH0;H-di zK+W@7P;^fN#mBPH{$}vSlvjhA?;W7zx(O6tw}RsLPEdNe8| zNWf80^S%vy(;lq7;HT;EeUhQ#@y<6#(O-jq27V5_njoG9u6(Q0e>?aN%I^VDakK}E z$ZNnifJ?xuK&_|W1eF(l4t6ll{ug^5Ib}iSjo=`RQ=k`Pcx; zzBhrQa~~+We-6$Ee+^c_*RJ+;;x4e0@?U|oz+ZsJfG->H{lXGZ{9Xah1|JILC&7jA zHDfS}E~b82#n-Wizy*{)2hIeae~CXw%?0d|z$rmg7TRlCX9wbTqgP( z@MLgq!}+U$vgamH^zLfHGx%Nb4)FR>o)N&~)s{bp@cn5}`v2@7`+n*B;0o&JyvzOVJ!9VgR`4+TO@If2Uk63+pF{aqpy=+q!JiWk z1J&;qP=0$axbGg!2hOJaSC>1#zXsLsMep|g#F5|^D4z}XfG>X!c4ORGp!!v=2>A}2 zL-{7K1N=)+^Zx`?-r0Mj$LC8x&3_~)e&>Pmlf~dS!2byKU%!&G70UkzN*||ea({g@ zDF3@0JPf=Od==~Y z-T=-AuK*?I6QJgK0nRCY)_{`p3Q&G~H>h!+0XxB8f}6oZ`S@3G0{m0(Pj1FG=>IJr z;Ovg_hi~!ckZ*&(rvBg$vSxt$e+XNFzr2l@q2H|^VGRI(50XNntG2LbrTy37{b1#G z;st!^$DEJT3EunZR|geG@tvMOmVn}O4Y(A%6?`H1&*0yHzX40&=eN3CM{RTcoe}Vj zp!yGkE5LVx!{Apz$$jcwo_8wXsg$n;ajEFb;AP+&@Aka*HSm>`e*sE=2j1h)M?IkY z_ad+Zd`B4zf+eu;Vf+OA42Vghy?1g(4BiVa1UEh6 z{_`d93>bdiqrT3qz{w_Q{~(BqMQ{6r=iLK8NlvBTpMy(O|Cr~WCqU`r*Wjh#OGpA^ z;3iOhx8I+6+*HA@P`(1Z1w0?&35n=`fo}!hgK|y-zYi`2kNk@$IuC4ubcvn-zYo6m zFY!tE82*gsxyjFZoc|2mkM@0@@cq{Tp!EI<@EEWQd@=aufOYUsC~pGy1dsZh+kFn$ zP5E4K5_}hU8F=yMeZTT8P;~bEE6W zdBNX;2ZF!)qUVEszvSha;QrJf2a2yn;7af;Q1W~flsxx?ec&W`0l47H?nfU6sfzae z8)6FlD!3iI6XnO?N-Aalwcs-FlVAmW{?~l{UI)&l`~Y|$_}zd%2VY2e@4xl@_+n6c zsDSGCF7Wl>4PYnuWN6>#>+TOsD3qYCU^^Y9QX-vKk#SZ!QgMf*MJB8 zo$GrscsS)+z#G9Oly`zX;9lSGamRwsr@RDIK6oRjdDeyUt>BTAcYEV;$G2nMX z`GtS)a?Sz8_exOn*1_k1SAe2>b->%e7g4?s>;?ZU;BP^VJO10=e=+!C$`^v7TLYz! zs{?KakEZ-p@L+JS?>HU`8XfTE)Gr2Qw=yWbUkknr{5E(9_$yHT_WuX3pAD*hQNU8D ze@DQZ!4BFV1Wy6K8SvmIT`w1a$5DS3I1l_ZDF65!DE;mGUH7j}Q1YDt$_{Sg_ z?T>&O_YF|;d@r>B5|n?%ldi{=pvG6gW5HWM>EjEa=>HQq3;ZppeusU}^|lOD{pFzK zzYClJ{w1h+zYNL`z6H(!e+cdY>gNJ(E)0chD0gwMJ*a-(%Jnwx<;&tjyk1WE3NHCU zi7WZpM%@U7KjV5oSDEswx#n{}4}3SMpBuP8j!Wy=J(S1x9Ci+M|n`6sRq*&Y4q_qK2^=nVI>!Ru)| z4t$g9xYy4+z%}7s<<4;bI`EB@ALII-8p6*_;5$Q~JCaK97OtbXUPap?@HDQgx$ouL z$^9RLFX9^JYI6M@b@y}a$Gv_&&-H)o&Oc7b-Or}a6O`W*>Ru4WsJIXJ{|L_ITFw2Q zTtDFce{t2hUdHtSuA8af$n`$1elGpY;@X${9ai#v!BWb95z4E;tGONx{V(DEV_dg$ z>1PesOKBV9dMnqBTo+LHe(+GPH*x9bH35gYe+AdCRT+Nz!3SuML!UhYUIl)X>wTf$ z0`89wZ6|>5qW;TV16;LGudcUp?aQTS68(J5A$pMV_1ynGR}c4Rg6DEQ&UG)Be#WU^ z3Le9CVi zUk&{?tDfr&uHSQ=$F+n$r*b{Y{Q+D*Nu4tBP83+)ec-NE&XP=7c0zqyW}u7m3? zt|Pf#$fci;g9m{XEAgHZ+>7hGT<@ms6X0Sl{and)5!ZcOeO%qNe+qm7*B^2HhU-+W z7jZ2L^rIQ`M&iDqQls&@nSSBN*DC{q&F;RTN*_IwA*E`6TqIf`D^+JS%0uNodNDG`L%h0P8;(oW_3=n)pbVGRp;2j;dt!z+%alvaxKSG} z$Fx;{wlq{h%XF)(g8!blbBX$4&w8^Fud6f%W5`$$Iz3&{%z3krWT2~Y@>5c!+f&nn z?a`s3i|XaZ=uq>bzS?ND346^N+KOg%R!hTh%S~<7C0LjiW2rd^|M0PXM6#5I>g7`Z z`nY@?Dqvvs~k;RXsm;Yp*SoyT2!z-`A|v zs?q%ZeqG2H)NX}_)k$LAlxaql^M{6X#r-%s9jdkJ`r+DWBUZPDLQ*POONi07-g-sz zM@HgVb<@>qtjts+^$Jw#rB#(az@yBZUSYkiRJE}0C$ue6<-D%Si-N6i%yOfzG*a%r zC~=ROr^I5*qZv;a8md{i*2_Z*Nm5C9SU#j=RVG$NyT7+E`ze$L%2kYACPJ2vl!(v4 zXg+SXsrm3@fPIWMn$c;c{-O19&0)B> zVCj-x)EJ#st_~1?(P_E7slt$E?p#Rlkx*9DN6qewN<)ouSKH>_e7^dzSP|)kCccURbPES6Ax8sVr906iXoxPp^#*^_w5o z%cQ;XTC7-IPf8)iY{ig+pFUbA3pa=O-q`7HEB6gX3+As_xMK0rg%>S4=e(u!S6I1l zfBxbXXI|tzRxVi*EpWeCP->P|l^W%^T(8&a)Z)vXp2I4nwp>LGziOs+b98I1z0rbl zUynY@!>b5FZYsm2p}0C4it=G<&6O=U?LJwgT7#xzYS47V>r5q{pR`U|V2DBzH?BGs zb$P!nNToi@)s_IYS`C)a<4Cz~*^1?cMCjpVUXewja&|)j8c0gKuwp8rSdT5aE0I7` z$$cnC*7LtqRlaP5-2zM9`WUBW$qfPzOI0bsb%SLKB6+5fBsIlDwE={LL7T}V*mec& zN8+;WhL+<6mk?VuPXRsg%4)g`G2b_bm7u9IgUax({77H@m48F6Z7YncXhE%SRMEuJ zqxO6$ztL&5H2De$7uxqk3r3|WIUebM6y>wO@Fh#xu}n}c7;WO=3%iF)l_Bl8aD+xn zu{T=SuYH&T*ew@#_IZqieAm^cN0tp~9Uf_}pN55)L|5*K7FGv_lx!DPlVyMfwS1W+ zlOcGLf3TvHLIw%{K2}$a0pe0TQbTX7_#rN`hOp-KEbq~-1}&6Ut*V#Tl9SMBYd5WD z3V;jw>0Y|Dd%*(B*`;Q?juxXWz0W+ecj?k;#*_;RZl%cXt*nKuwO)xpleDM2ZjjX? z$V@hEu2VwoKK7W|CmeqwX{|rD+Y>UPZ3oPK%B~54T9tt7uMAY!Xk}TLO_8#C3D4;FHngVl~?uXqdr=yuji&b#G+F+ zUh!(yYM&%od9~jhs9A0c`ARJHMvJtmB@`_jLMo*aUtrrgs5`;}sM_vjQKjB!&W_0> z7As0;ay3&(GE+~yVz6ADt?b_6+oRGd$f3isBHy;1mIv8HV>J}FXowxF_QOn6s}I!J z?pA$qNNAoiZA0vSVoOQU!LG#Qx%Z7ECd+obiAnVsYmRFU9xWaosnwg>ar=gTG3@nYb?ht#rQvL8Z^Xzj%DSAaydDHZ zhPj8u0DIM1Jb=|&m+yf(v#@WITb23-;{jQK^goAK^gUxww3r_3>A>`P#rCO5IoUui zUXXSX+v>w$9vr2wvq~g)J}k`6DzS~nkkMJAL+kk%9?>JF$(7r{D=}I4)4)EYULKM0 zQA#P+0~o>Jfd*ZpAde{?F$9|Zg@syVrNN+cDD!wx*7h}Qc-#hOjaJK%J$&O!r8QHQ z>99sFvCT{55SIo@m8um;fa{EvrU#m2#pK~w{cKxhE0}uw8IJGvh#OCgOKVkSprz|$f5>h` zXA^lzcIl1IuJI2+Et~rSz=q7KkbNDiW@B{Ka0PYt_r%E)mu%Blvn5U2X=M|!hNH3j zWh@WgS~28!QYiUlHPzK_9vN77`?BqmSxBoHVXCcQ@G(6^W|A|szOFo=pgOy@RuioC zCy{gd*cS0o(__gwq`XY5b8=@D;RGf;w4=sEg}u@4b@K;*&Rg=`!y|rjh>@rejrrMG zP#R;%Q_Id-zQVmR2mk)03Pd6uO|9XV1f;27>HPZ$%*HJ-r3p{_kV`^F%hIoZr`JZJr;+06XrdI9Ln0m z{tzD@=Aj!amh~jtGDI&CSQ$gsO&2W1o4H&|_uyQeO3hu3c<}<_VukhydO{~w47;>k zrx90hja`n{(Re~Yj@}xx9yzwuYNI+5GSh5ZFdAhZ>nqLm9jrV&NQFh7Cxh_xV8gWC zPKL$Jb(KDzfNJqN#Z=Xw?bh3VTC0=2zag!JI33C~$0k+z#u6kaOXa>2G3?uw2B}b+ zPn`g9(!)C#mcIoxrFPCIb#8f~UMAVvnDw;N#0JJ<30_0YOaUfFdYA~ig#PYLD#|B6q`bOv38-Yf29!GQR z5|ah~Je@U%oil;1reW0L#mtA`o%$do_PJr7~3TEov9MPcCbQggJfy~%PEW*_!Y#l9cJ%~{jc zVwHNju2k_%Jql{s^A_HG@YJ*1A75rQvO8_A!#WpQOX1x^-(U@IIVt8C66Ke=8XfX+ zy)Ceffj2kwwq|)a<7H_YYF0+r4G|@tMr8nte) zD-WOCdEDH&UGwH}M{jHMPCyxtEAx| z1bJc=JJ_T}5(n36J8hfpVbVk^ZF-E3;F4|G(wo?@y5Oqh<0{>n7$Yp%@#!Jgtk7fL zAkIu$BXx!pqzps`^{I_k?uGOSr-t?hHA%haj`Hn_6*^7U!DVeXNAa$SBT&;;n1Qe= z#hfRsVNXEfS>uh#p^RmQ{z`xDj5IF$o6HW*Q?!6~=tX4*2lmYlqgxm{$PojZh(rM$ zd=Y_jqz=+*ofAv#z`MImMQLg_Hx2!bo>(CJDh}iEX%-%EfgI7Hj_G%I%j3FlOG^i2HCTnwJ(B7}{c(uB6nH*sd z3ItM|%NUj*IlHa!Xm9$Kn!`IbZh4o=OZv4*i}qQN3yP&sTGglx@dXa_#16GnfveZm zT~c)^)>kZInJ-;5EGc({t&VvRlO%>v6mWoThe^3TQ?E8kT6@?Ft^Wa@YPK7~hzKaB_wR;;S#yMU$;{KG+sF}iG2MT{mm1J| z6>Z9k&_L>1=^ndSog7aTx+l-t{sk4@o2TDVk&`BS_n>2+Vb?>neVTq4vA{vAvP#D+ zwp&Ip@H0$$VL6i|A)NGm7KN_8Hz|cpT=H!Jg@ImttYS%Budq{3Um)c1P0{i5R0Tzt zgJUr*tTZLc$Zz#K*kRi92)oey(wQA;w`~qVT=<^H)Q(E|JdK3oeLr8F9nNyldhrS1X%3&Ae|k{H7+gQX z6JHx?cF9G73=b#veof@kS8b-8^=Kb8aW1Jnl@=uX=#5rr9~7;q^RiCQPn=pMTjLeH zwzjs>`WkJ(R%UN=JDclj@hD%uDx5rbMP$2ZS=bA=Z=I1lv`M6ea#-uR#)5f8;z`ktNN7k;L_}5cts5b|fwhc_*pjcBf+idc$9rwz6FLQe%ZL4s7 zZFiD;`|6c%w;~>*u}(yOjqKTxvnB0u*hj5iO-(&2jSfUUYx4EAh*vZAO%87CX*t0L zH+FQ8V5|*%q0or*s1RSm-o4y!_x>f5)Z?jJA90Aw#VL?D*MNw}Qhig-R=g;;`b9-s zMCm&{W2_PR*_zW>U0xND1#$6SkS`24HEAYv!2d0nBkKIF5y=D4s+%_5vC_;pXR}AH z$iCx{=p$cfMD_~UKO2#radesyv1P7Dl@V<(aNI_O7mbXr;*Fc`!Z!wW>xtYq84+K| ziZ0;|$|a-KXibTyfY?sN^7oC1?|tw-v4+q3ttDEWMY1>G>wt6!_v<6R%+3YE0ZA<4 z%i8R*BRkIPH7LIHYg5&rPMa*7rCM7X`RfU(|Ih8=!%l-wPY-W{9Xy(YaoF1X7=fh$5()&a3Y+b z8cJzlO?iEC&v30``ruY!YG3;rr7()7loFB(UQ_i(932ul#GGl*7p`_}MfSD&NaO9p zGlr2%bsi9-{c|3iKbk^^L?zu;I&pnYLy~iAL)ZF8aojYR*(b3Hw ztjea1ZwU9suV=f#AzHko##_?L+ia$I1t%!+Jibe1-Jp3Y-}V}zTaR8eo(z@hz$g*Z zt&SOuU5r@DcWX1*kM5Z}<8)7!-8%c|wRL(9ma0@wvaJs1+pk->Vo~>rSwC^Jx?JyG z7+#L|#wV_-G^hT?%H;SXlj9$ooVX_Wyk~M^!{qpu$?*@^&4c!Nhkbrva(rTP{4VRv z=Z1K4{0b{G;1R36b8`H#$?eU6bPsxqWhCqlvMR#%sm9%3F<@?M4MoU=-4i z&z|AJAixgDP-tbEss|<~uC&=ikOEWhGzyzxh4R&|24>$%2iO_6Pk2pqmfo21ZkQZL zv1tAds4!w$MMw&%9%iwMW=GwyBF;_Gd^*3#2t9S}q1Pt*$C8Zs$0V6en=|-RPnmFT zBjFSCVh72G@+j=!F6Dcx@q=1iezAxh=tTo|xtzXOz;zG5+&^H=?iVc*pub09Sc4}v z^vp0J7;%?*0RkgD`h9#hM4c9;XCh&y)Pj~aK{u5bpC~8-K9G`Tx4`DOGyCPHE(YRl z(n6wddCIM(8-~cg%%CQN1e6XjFnUE>Tk|?Zo-q>-qq?hMy!*`du2>J!)QgyLW6zAv z7=q}D3GhmWK9HZlbd<466KckF8G9uKB3kie%B8ES3eqqm!JN*>9BFrF9XgEW9*b{` zWu8nn3aAcqyECH=+Rz4Sn@vjZCoLzx-lg-Q!moBsj^k$1cEmQzzgJ$^AlF8)-audf;M5B~AFj1nA>GOOVNN(p-|X(GB*S z`a5n>^1>xDZ^yxs5n|2PpdA|OzrH4(Q3>pCqS8bDD!&x39$+DjKmzZ%D%F#ENc`aKJ<;UEHu~I~1Oh(JNN7E5zkbJ5X$ZxIU&Dh- zk0(0pz7Nv5jh~spEW4n0cXs^HbD>rXoW$&AQAZBS7Gey5liq4V^Equ)LYLJ~&7KLk$#h$T?T`ZrA2!xqTDr*9qP*3~9V9zUnvj^-*hPodB|b`G z1PQ0M$%s>GZTmqAg*>XjE3iA0urw4>?UZrm5-qhPQAQ&LB4ED_xRn-$G^IY)T81HJ zq&L&KzhRePB>JKoZ@}xfS+3vC2p0XR{3`xwqvIXGqec#qv~rr);LuDHIDxd=9Bb19 zZ7alEIf-V~sWl#?dFc2cMFkD4vQV@PQ6!DTzCO6EG$#{62ObG-*k_!qNv+Sh#i*kI zsL{se=W?xy7+_2-NY?sWX<9y7ewQ;SE@w7=xzp^hQB4zkA}Hb}$`L0>hlLo>qn zV;V{eveJuB);7{g$hfq@KLpJVYQCMSyrofA>OR`i;SJMq;Z6gCtt(t_G&z2AZd1hk zx0`H5V^x7k$i1hbnG2U7ZA7|m`Pw!*>Gkvc=d*C6*`pn(zpBn{5`l_zhF10ihket47q#@-CSyrRXuG1fr2axypwnhnz-pZsHT{KLj}fq7$y zkwGLy!5njTuVN4mru9MVtkEu*m#D~%o!F2kmyLA=GMu>g4CKN0i2Z(sX)jQvPnt9k zivAB<#L01sbD0UBPT$ty@ti!(jM=!?MNRwDgqE>4%JC@mVv^c%X&Rjsf|DJv{241C z6IN;SG($6zCAlWCmXF&+BWw577AK}#`KN3~L#t;}MXHCv+iBNhEVDA^LGJSGE1$+Q zwPiE^Zo}g#cz@gEk`8^@=CcPX@r=Sam1UxJV3S zIM&he4xMpI^)#MkGh-5~+itCONO&UjF$hm?K%_gAyjr`?NvXGKl+=m?Q~X9_haixb zNH6VMoD4a}!|1L!ku~!ny5O6>(jgk;)1AZPo++kUEA8QSLKl(%GGAT{U$p=Ay#mQjANrc!H~j63BKeK&H-K8@s-aed5Rg2nhC~<0BI@By4cfK z8rOY3KuagE+Mr6WRqPlQ7-JGkqV&QZW0P_xD4=R|MKA6lA|+m%MkAvr zPvr**H*3kHS!r3~j#1_;w?;6|8NP>!WD=5OI70 zWWh@UX)Os4BBQ&XB#Cm2@YcnPUtaWS3J9Al91A%DLjiW zNSed6I4TCg6qDn#o)gT+q=O`B=w9cXh>x*@ zW7~eAXn91=pATb$f@5UiCp!5FG_mr8d}Eh-Y}20lhL(XArQ_I{Z!wm*VJ1GAjCiCi zq;~3QZmmKbXg;G|xx5AUbd&oIA#S(AJW%r+EOESNj-7Kx)}iiLQSCoLC$ zvl(NHB}y_4tl4}$E=D(hBG;*5$KIbQ5AiiC}rA06~d>6VnSbSa09KY7OLpF z;PH8e+Y;SsoV)Z!UFIr~pd9`YrtWh3q~K%qX);WVCG8;%xZ^|BQ!7-s4^B~BlBGR~ zt8Cjw@>VA2h@}a9kiGs!Q`s}&7{~fRZ{m&$k!Mp1Hxn}9OqO*sHb2Euavdze5Z7!$Rqe?6U&F~c73$BWCCIfg5miWv zvm)42&d@zMarflJU9%@A?w_1sA<+v(U)k{-Hi*U6`)SqFIwnf9AEIl$A^^}C3PHIa zqYM|6rw!T32`K|UJX>~S5D9e)XK=3XM zhT|sNRQZXX5()>Tls!?ww1@4(#uskY>MXFGG6dQ1v;@1*Xrmf2b0xv#VzE2H$t4!O zT}@#Nk?1I;y+LQSjM{CjPN!6hVszBH5>B7q_zDVwKi1pkuPd3ri0$#_dMvnVa4y6^ zP+~0?m6PK)CYeFm*YD%bIXV||XJ};+Dm=PsElZp>Jvp&FoHD9!B-(FYw*AvhMjnnc z-7;eu1T;Y2Hyhl`n`p*H{_O(~ok>|lpLx5%5oD~$OGIX3=He{7gUrAR$U1Cmn3?36tWi7YswM)T8y zha3z^C(ID4vT#o+&}Gag@G53wb~M3F7N|LY-o@WXd)7R||Du}tI?N?$apH1V#Hh+N zi4Nte)FxY=pegbSJ&;3BGrp%xjs%LTuHZTO0w zV_XWCa_9#&q5y*4N!|%Hra{9fgiqVhQs?_Pm&1nW}}O61!y1;T4xq% zhCY~Xt2PbvqAydc!n!fDrb+3$>aS#-5XiDOvlts< z2?nuu7AQL=CpK9SN*5aEdI>o|0ziP-#%#8{SgskJ6}t6N6LUKO(Wik2Z`>1J5LKB@ zE~T}d>;q4}eqxd!JVUd*>e`3fdyFHEX5ceo#4TW-{-Qy-_I9X2IypfOMs^LDD|(WH zQ#xnQJ&{T1c~{2K7l^`pWZ2Ku+tvlGCsoOtS$tCNGlh<6q+lig(}3okH~>7!FI(~@ zIT{<|KeqKEfo2uVKp7Dk>1va{tyaR~>YFHBXP$@$=m`r_ZWFotRG)KEn9Oa=RIszn zJ{hI~(2!D0c5^ZH;06|gC*cUUoBz|`3iICXeF_R_5KX?#@N*vbWqNDh0M9;ga1|2{ zvmv4a$O9awhAiE$%yZ;nfH@TtnkVHI!5N=XL7aE{cTy5FW&+ZY$lKynJRf*=bFHK_ z3ldQv5af1tlb4RUmCGZG7J7)02TLpZ2eTwKP^Z#a z3)zjCP%tSd#1t7Mp=5q(LF~C8v4-ciLN696B*GaAau(L>vn@l^B0eAxJ&n5c{YQ_AbG9nQHG*` zL*fGI$^h};oO(Bjm*IrWgNKI$0w1+YVHpT3bb%P$Fcu;h2pyw*inKm%U(zl-8?}nl zYC8n5Wnw}LkUQ(`A{0_}&dODubqz95DOYvZqr;!BtrvoRYMl?AR#wB+n5pfN6@VTjO$vP-bjnBC$B@@&mE zxm|2m;M|2CP8u7dbZu;mpeGF~l`slkaC71`%z2OX4Q4Vsn&Cu4=F=1N)8pSBOWQKb zByi2A;u@Y>c8hK-DTJ(K@fJeF9YF)}vMJoTZ{X5!teqzelVGph)z>f0)kB2Hr+A)Y z*2Kvs$n;5L5^2sl0me;e%YRum-9+Nmcp=OqA`c0eAfc4FE^WSYCk@IYW=xxlDLDT` zl^&Zkn7YOJmr^?5frvmk7BAVGRyU ziAkf>XaUlyFhyW}ce3Ti_a|@hl}OwGW>r&^nLcIhCdP(JuS|RbDYLkML9l_pl|}%T`8mhmvU-6WuC~q zEzKAt^+@_DM4*qSV|br0q$TFSX%qs93(#Gz3r&39orEWRABqtaYR;+~oxp1E#;ucO z$%vVtfS-^P;hP(*=B{gJz}NdyF**Jr4@Ou)GtQ|`%8U;v!L_Lt_eE#nVbS&~+DAyN zu#<)br2|uTA01)y+wEV4exROGHPEV zNg9$rTb+<(2IFHw`+e6v+$kg}w8<-BU zm$(52pm+ONax%EhMspFjEq1Zz4JKr#tE~dghcmE5AOx;CmTZ>p5@o~*k6#qfPHtZ5 zY=T@D9%*RDG2j?7J7L!cLwSe!H$prvg4c#kh15q~L3gN=DTs3#@x_%cenzJQ?@Sp#*Xl8v&s{sbkw#ITAu2)NLj6_7)$tRLrEc_nk{x(c5k-u z^etJky%Gh{(Y}sduy3vX6!D`BA-R(zSari=uQG<^sBE#M*L5~9Szxr5`1+tp+lal3 zJ!G5ZjlWyq|4W0t1$CL*=!f8hx%BKiQH;*9*_wXl<$w8DXq;F{n@6C2qSFoLR<_d^JWu(G-}PqPbgM+py| zbli>e74y!-Nz9?9T11=D@M}@b024^0eI3KbY+oloOgFrl6H}Wy8ouY&LRQ3MoVF@? zM}{<34f`9S!o9|nXTe}oK!Y6&yUpTv6679aB37slw5|Ab~oHD&c&9m)#Hw8pu zd>X~GvZgwOiR`f-T0|?)B#=*fFhi#{wwlkKSS|F-5=a+MO%}e$o0*ervdz?pl9-X0 z*S^yA0SUCp?w#qekVm8i2VGp1Za64nDu38iuimNi(4J)y-!istR_!lxC1=?MS!~WI z*}stb5<8lg!%PcxieXcqpHsD_ZwP45!jowF$5XIIQcJb|)T91~61jjo*>mjdmz6VBjn;0g&&=8`c#zR2e` zc*CPmCEuxHrtSQF7{1)C1XEbH;MTnfN7SPOjV{to3zxu}H)O>4Q%KYI)%P?YW2zA2 z84biqwUMoE%#Rbmqi^<@9^I;@^CErYr7)bJataT2MdsQe?C972@px)p$TJ~{J*_$i z1fVNl9vU+P)i8r@Fr;_H>oljeDM)3hv`Rs1Rj5k&hF*MMH;p8PLZKX+-xPFW6GT;k-?io6*QDv(A{YO$OmAq1jEdcbN*Z6rc2w&B##9SNk$ zf^7Z^#@OG#uiz9hF20+lcPRvag$+-bXwqlH*~to8U!R%)%(*fcjnd`f=^*B_`=Xd> zb9<(oUQg~n>>;_>|Kh`c(*t!(oX=+AUYfz}(I?i?Q~mXmA+*eciyY9=hml|K6@*3v zm~Z#114%x27i9neQ?LmW6FLaxA;8f9_gDqZYK$1$ReRd(6EF(unNOQ~D%|{|rq|@KsJKwub+0$ehI~O&MS_8Id;BIx|Z2yEah}jscz2OSQkn+bl!47ABOk z>EhXgHg{ZPP@WA&m@;Zyu6La!yG?GcsU*@#6?JKP@mTUO-xe%kb9yIc-{MJ&GBn}C zvqZMT&v?q`B2D7E2_Lo7jDR&*_S^Vys}hpL2zyw=4vjr92(~eklTD{yfpQFt#K=ai zbQWo(d{1v$U98l6tViK>g=-g|Mf31ScS1{Jiw#rrBnxx;=fz-%fml?=$r)J7D9jgylN9vq9A|rCLaX|9Z@dHX3%iRn+)NNT0?Zk|l9161fKfhS5#ec~9(o(K44Z7K zMt@4gjG&fWoF*wWaf^|*@4=Ej7!4bI`c4tr1qG&SkQ>*#iW+orS;lc3>|w^e9`uML zC`defDV0r)3ETFk7oZ0(@*Mdhz1#6()6hpL#(FaUW}}2FOF78Nwv+iJspn`s?dz_SC``?wK*t>>0RwS@g77z*ei_X&hm1Zn6GKx@TnP;_6tbW|?^K|1vvGwg zU{#E@ByE^_Uw#z~85*Uy>Rc#~MX4a_Ed1|W5X9wW{zSi=;%lpfSdfOyPMaBG@CK8& zMOJ1IF2pBx(bmMRiz3D*$1wzLHrX!qKBb8Im;*P>5(+Z7Bu+~#^K0pBm@IVSk zz+Qr>-3KZ9v|60;HfVcQL2C%ipg;<`u*oqw21p%Qy4-9`A-clVnq6kVhdskT@~O;|{O@OCeL`6cr6j>+evJ2_2-KrS zq828Jv(7>adv^XzY4~ad#P}Yv$|6&xiX|}ZqDV4X=TCj@0GPe zEQF-hmfUV?=P8tdFi1ANzH|Rw0dnD71nlkd*Ovd%%>uiilc$)N@M2ca#hyoyeX2~m zGn16=){$it@oY-)D#E>$;IqLw+(O(r&u8t{x%AaQ|4&lU+@|EuxVFaU4Q2q+3fdqi zZ|^qmk*iT)pzjQs?J9e+zu)79|0Sg5|GT4WYqY^Av6PxOi=syQCuKvhVJk#Z=JnL& z?C9Pm<#Az?CtiA>VYZ3k$iRwl>R*-&0fI>RFQ6xpAqhj8CX#o-L*c;a51AoVJ8b)N ztLK&=C=0B-*;MZu$kuSJ09&jj$);Lpw7B@Xz(BlxW89HYPJN#}$rfsJ3q{Cq$Udh2 z=I2_&a2Qmg^g=BRBqZ|vZNpExan3wM@_O7YF4NT2>U>C;y0W{RUK%50ev^UD=!E{p zY%)1MJ+5@a=$H~wJ*8u5g3p~N_he=6pgk3?V>>pHM}ck(cwz)IxQL0jC`HPC=GJs3 z4rI1;?SKtxiN768N<&VxjF=WXsI+K2O*HNY@&G;c_>N3Qp^%8jXl@I;3*4KTm1yWU z?X*%%o0Wq8h^jpc?G`v8Kxse$W{sej5KSltMd1Qs%X1G5!)B^7SizeDLj>lS_VTK- zao$!G0S&nFr{*tabsLJFgz!Y&y6f`u8ETOsFuE=AU|iWP>VB*JVPZ?yu_tVOF)O9N z(-`*b%Dl^h(^wop54f{=aH5&^s3o~dJP8sbA)gc7TP~|BK_jNxG%2y_9GXb?JIfi(m!B>+n?*!@c z#z=!+f z|8{^jUmrOANnTNhgXlC_;i33~{Dj^)x|S#kLgDrAGf#wZ$ohE;l^e8w4FA!=Q_dKK zPJA+rq3Tr&kLED$@2pJE#MH|=f(r3 z?k&O;H~>@nN=QE)Ly}osRZh;I0|-l+bDlvLY^w#1JE-_E4leR;%CZ%7$PB)7h7$j> zMVn*+m&~dIe0alT9_VRiY6;(*KVtW>;D`)%OM5C2+vo_dftcq@X3-Qr#uHUYH85_X zPf0NCDIhEIr#p7;^IHcy2Tt5sa?6?s$&O!c3I}dVCexx}ON?_9axXo&gWJ}$j~?!{ zsnhA8k-0bHIDy21kM(p+{ZDA!5ZUR4t!1f~YcGUYQjuBRv-D0=AgS|89UPir#4rNW z(LEwih}x0I9cDG)h_Sbrju?_xR)PD(Z;Kq7N44s~wR5vE$HJ$C;7*h2Vp?kSMg3Px zPevP|gHD}Fkmu=;G@Zc!qUpRGitaW$&G$n1*{_05(Xg?AcY00?dkF7^OW>XOuZJrn z+3Kq%_lmZd%x|y=BbGgTxK9;y98F`T|0fc(ij7$a5l(9qC7s<}A#*)@GCobi%ywJ4 z8kHeU{c<)4xoPeUUTsmm8)lnrW621Z6}r1Y)cdlLA>bo zQOn6)UhkRDGq(iJVxg63poc1PY0L1|Wh(tFwPFPn%9K(*g^-Jpmmo`a>PCg6K-$B$2#+G< zOs%}{`q$i_O6NtXQFP#v8JUQ^44W2Qz`c0Ns<*5EWIH!}JbdW_S}vozwIaf2DAab_ z5``wrY7^SIwdsYum;wD{9TiM%dbZLFv4Va(_#eH^0L+iK>@=IVdP2JdFr7Zycv@`# zL%7WX<*;eeIY>d*E{!|6ClOSH&6V?T3A*E1$pgG*w{V}>VE?nYH4>3+-dy3e_z#XL z3qYP;>@*>)+zVCIWd*agKTxZ4l5!L@hv`c(bY(ls{sL~`tW`$^S)A;y{HEs*;>8#7 zJUgEI3i11NIYK?D6Od5RfC67@U?K4717&2RgQ6ajU<}zu-OVhn-w;NSb*=B9Bfaof z($>@YPO19@NgK^S00mUv`uE#{EjK5OIV(iI8A}W^yS)sDeZmC}sn82$%JjkSaUEA; zA^a23W%7b{*@=_JAw@oQdDGd(JaKAK#9dI%Hscw`3-5oa@-+oXsAbwa)LASh*+*V) z|8Kk$JRZJ%5iN=@w0_AdYhzIA1iuZ+f&mAzNFlePJkMD;a>Aj^M6tM6#x7S|7iF8Q zFx$)rm7wCAvvtD^VMBBx?CT0LAYEQr{@o$-mS7GgSb0KX*Mu~Dqhf~ReR{N@OXkC| zG?ZAwhGRL@g(C*e=$l#y4?}9?4c})&-8B0Gh;I<{NN9}u=A}T`mZOZ8SZ$rlIF#eC z{Dvfg%=iK3L=hf4Q)cn(1s7-uc8FhW%QzVgioUwJRy+f4GlDjt$WMV^n1fn~$RJjb zRZ4)k9>Ci~4VGLSRwKD-;&3v@Vm$VsZWs43dbo%TY^C!$YtL1eUCI1_ISECJ;lr4nM9Jxi1G!8s0 z&@^hpkCZG5{_Cy}-wJx`g7!@xsmJ&#^fWa*p-hGa+@Y9dYiF*^OgcH>Q_oZQ6tiO` zS#0-*p=s!DX8?EUR3c5)wW(J^nJolWbWWnmxRV_%5yK-+U^z=QuDcMuxxA>Y44OfG z$~rLZYYhkbD6*;BTiW3pvs=1m7eUJ^hH zKzZ~+35;?}>T#{$k#yW*thxiizuo}1uT2vJ%^uMncspIWtyPH6Y;dO4pv{m%d!BZF zX%Gq5C2+L2~ioZv$s|~;A2@})81wpo>NnQBs4s- zq}MGFpV9~odaE__B7Om`(kx$;{>R2XW7~%jxlXoZ;tFk63HDexU*a6PSMr1z4tK*t zHC(i@%x-kanAV--z#}CPV+-YcN8}*@a8h&K@ki-S^+P-Hb|qsHvB$N`@f-z%kiqYqO^IhSP2jXjVz z9jcYjAPAm75tenBa=i>Wu26frT^Q_11g)TT=i3Djf2s$fD9JsPxFLZh+~$TNiEN^p z@vS~W3D%4$nr*7`x?wm{p=qDSxoGEJ@Vd#4;NVrh5Bu&enbBkFoQ!)JdJI}>wSf0R za3_JbS@|cn!E3t~nsm%NP1D`+G;Na;_e|Sz@AQN2o4)D(Y3V&cizj(3=n271>GwFd z8%c8PR=+s^C~JB|Nn5*5e&*w~Y1sYoovD-PEEt31ed54;6<62Z4<7MPg2tm8C-S&J z+T<5o7~ +# This file is distributed under the same license as the Django package. +# Kannada Localization Team , 2007. +# +# +msgid "" +msgstr "" +"Project-Id-Version: Django-kn 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-09-25 15:43+0200\n" +"PO-Revision-Date: 2007-01-08 20:22+0530\n" +"Last-Translator: Kannada Localization Team \n" +"Language-Team: Kannada \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit" + +#: contrib/comments/models.py:67 contrib/comments/models.py:166 +msgid "object ID" +msgstr "ವಸ್ತುವಿನ ಐಡಿ" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "ತಲೆಬರಹ" + +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "ಟಿಪ್ಪಣಿ" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "ಕ್ರಮಾಂಕ ೧" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "ಕ್ರಮಾಂಕ ೨" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "ಕ್ರಮಾಂಕ ೩ " + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "ಕ್ರಮಾಂಕ ೪" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "ಕ್ರಮಾಂಕ ೫ " + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "ಕ್ರಮಾಂಕ ೬ " + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "ಕ್ರಮಾಂಕ ೭" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "ಕ್ರಮಾಂಕ ೮" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "ಕ್ರಮಬದ್ಧ ಕ್ರಮಾಂಕ" + +#: contrib/comments/models.py:83 contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "ಸಲ್ಲಿಸಿದ ದಿನಾಂಕ/ಸಮಯ" + +#: contrib/comments/models.py:84 contrib/comments/models.py:170 +msgid "is public" +msgstr "ಸಾರ್ವಜನಿಕವಾಗಿದೆ" + +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 +msgid "IP address" +msgstr "IP ವಿಳಾಸ" + +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "ತೆಗೆದು ಹಾಕಲಾಗಿದೆ" + +#: contrib/comments/models.py:86 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"ಟಿಪ್ಪಣಿ ಅನುಚಿತವಾಗಿ " +"ಇದ್ದಲ್ಲಿ ಈ ಚೌಕದಲ್ಲಿ ಗುರುತು " +"ಮಾಡಿ. ಅದರ ಬದಲಾಗಿ \"ಈ ಟಿಪ್ಪಣಿ " +"ತೆಗೆದುಹಾಕಲಾಗಿದೆ\" ಎಂಬ " +"ಸಂದೇಶವನ್ನು ತೋರಿಸಲಾಗುವುದು." + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "ಟಿಪ್ಪಣಿಗಳು" + +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "ಒಳವಿಷಯ ವಸ್ತು" + +#: contrib/comments/models.py:159 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"ಸಲ್ಲಿಸಿದವರು %(user)s ರವರು %(date)s\n" +"\n" +" ದಿನ/ಸಮಯಕ್ಕೆ %(comment)s\n" +"\n" +"http://%(domain)s%(url)s ಸಲ್ಲಿಸಿದ್ದು" + +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "ವ್ಯಕ್ತಿಯ ಹೆಸರು" + +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "IP ವಿಳಾಸ" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "" +"ಸಿಬ್ಬಂದಿಯಿಂದ ಅನುಮೋದನೆ " +"ಪಡೆದಿದೆ" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "ಉಚಿತ ಟಿಪ್ಪಣಿ" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "ಉಚಿತ ಟಿಪ್ಪಣಿಗಳು" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "ಅಂಕ" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "ಅಂಕದ ದಿನಾಂಕ" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "ಕರ್ಮ ಅಂಕ" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "ಕರ್ಮ ಅಂಕಗಳು" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr " %(user)s ಇಂದ %(score)d ಕ್ರಮಾಂಕ" + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"ಈ ಟಿಪ್ಪಣಿಯನ್ನು %(user)s ರವರು " +"ಪತಾಕೆಯಿಂದ ಗುರುತು " +"ಮಾಡಿದ್ದಾರೆ:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "ಪತಾಕೆ ದಿನಾಂಕ" + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "ಬಳಕೆದಾರ ಪತಾಕೆ" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "ಬಳಕೆದಾರ ಪತಾಕೆಗಳು" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "%r ಇಂದ ಪತಾಕೆ" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "ತೆಗೆದುಹಾಕಿದ ದಿನಾಂಕ" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "ನಿಯಂತ್ರಕರು ಅಳಿಸಿದ್ದು" + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "ನಿಯಂತ್ರಕರು ಅಳಿಸಿದ್ದು" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr " %r ಇಂದ ನಿಯಂತ್ರಕರ ಅಳಿಸುವಿಕೆ " + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "" +"ಅನಾಮಧೇಯ ಬಳಕೆದಾರರು ಮತ " +"ಹಾಕುವಂತಿಲ್ಲ" + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "ತಪ್ಪು ಟಿಪ್ಪಣಿ ಐಡಿ" + +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "" +"ತಮಗೇ ಮತ ಹಾಕಿಕೊಳ್ಳುವಂತಿಲ್ಲ." + +#: contrib/comments/views/comments.py:27 +msgid "" +"This rating is required because you've entered at least one other rating." +msgstr "" +"ನೀವು ಬೇರೆಯ ಕ್ರಮಾಂಕ " +"ನೀಡಿರುವುದರಿಂದ ಈ ಕ್ರಮಾಂಕ " +"ಅವಶ್ಯವಾಗಿದೆ." + +#: contrib/comments/views/comments.py:111 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" +"\n" +"%(text)s" +"This comment was posted by a user who has posted fewer than %(count)s " +"comments:\n" +"\n" +"%(text)s" +msgstr "" +"%(count)s ಕ್ಕಿಂತಲೂ ಕಡಿಮೆ " +"ಟಿಪ್ಪಣಿಗಳನ್ನು ಬರೆದಿರುವ " +"ಸದಸ್ಯರಿಂದ ಈ ಟಿಪ್ಪಣಿ " +"ಬರೆಯಲ್ಪಟ್ಟಿದೆ:\n" +"\n" +"%(text)s" +"%(count)sಕ್ಕಿಂತಲೂ ಕಡಿಮೆ " +"ಟಿಪ್ಪಣಿಗಳನ್ನು ಬರೆದಿರುವ " +"ಸದಸ್ಯರಿಂದ ಈ ಟಿಪ್ಪಣಿ " +"ಬರೆಯಲ್ಪಟ್ಟಿದೆ:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:116 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"ಈ ಟಿಪ್ಪಣಿಯನ್ನು ಅಪೂರ್ಣ " +"ಮಾಹಿತಿಯುಳ್ಳ ಬಳಕೆದಾರ :\n" +"\n" +" %(text)s ರು ಸಲ್ಲಿಸಿದ್ದಾರೆ" + +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "" +"ಸಲ್ಲಿಕೆಗಳಿಗೆ ಮಾತ್ರ " +"ಅನುಮತಿಯಿದೆ" + +#: contrib/comments/views/comments.py:192 +#: contrib/comments/views/comments.py:284 +msgid "One or more of the required fields wasn't submitted" +msgstr "" +"ಒಂದು ಅಥವಾ ಹೆಚ್ಚು ಅಗತ್ಯ " +"ಅಂಶಗಳನ್ನು ಸಲ್ಲಿಸಿಲ್ಲ" + +#: contrib/comments/views/comments.py:196 +#: contrib/comments/views/comments.py:286 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "" +"ಯಾರೋ ಟಿಪ್ಪಣಿಯನ್ನು " +"ಬದಲಾಯಿಸಿದ್ದಾರೆ( ಭದ್ರತೆಯ " +"ಉಲ್ಲಂಘನೆ)" + +#: contrib/comments/views/comments.py:206 +#: contrib/comments/views/comments.py:292 +msgid "" +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" +msgstr "" +"ಟಿಪ್ಪಣಿ ನಮೂನೆಗೆ ತಪ್ಪು " +"ಟಾರ್ಗೆಟ್ ಪ್ಯಾರಾಮೀಟರ್ ಇದೆ. " +"ವಸ್ತುವಿನ ಐಡಿಯು " +"ದೋಷಪೂರಿತವಾಗಿತ್ತು." + +#: contrib/comments/views/comments.py:257 +#: contrib/comments/views/comments.py:321 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "" +"ಟಿಪ್ಪಣಿ ನಮೂನೆ " +"'ಮುನ್ನೋಟ'ವನ್ನಾಗಲೀ " +"'ಸಲ್ಲಿಕೆ'ಯನ್ನಾಗಲೀ " +"ಒದಗಿಸಲಿಲ್ಲ." + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:17 +msgid "Username:" +msgstr "ಬಳಕೆದಾರನ ಹೆಸರು:" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +msgid "Log out" +msgstr "ಹೊರಕ್ಕೆ ಹೋಗಿ" + +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "ಪ್ರವೇಶಪದ:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "" +"ನಿಮ್ಮ ಪ್ರವೇಶಪದ ಮರೆತಿದ್ದೀರಾ?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "ಕ್ರಮಾಂಕಗಳು" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "ಅವಶ್ಯ" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "ಐಚ್ಛಿಕ" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "ಭಾವಚಿತ್ರ ಸಲ್ಲಿಸಿ" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "ಟಿಪ್ಪಣಿ:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "ಟಿಪ್ಪಣಿ ಮುನ್ನೋಟ" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "ನಿಮ್ಮ ಹೆಸರು:" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

                                                      By %s:

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

                                                        %s ಇಂದ :

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

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

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

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

                                                          \n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "ಈ ಪುಟದ ಬಗೆಗಿನ ಮಾಹಿತಿ" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"ನಿಮ್ಮನ್ನು ಯಾವುದೇ ಪುಟದಿಂದ ಆ " +"ಪುಟವನ್ನು ಸೃಷ್ಟಿಸುವ ನೋಟದ " +"ಮಾಹಿತಿಪುಟಕ್ಕೆ ಕೊಂಡೊಯ್ಯುವದು" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "ವಸ್ತುವಿನ ಐಡಿ ತೋರಿಸಿ" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"ಏಕೈಕ ವಸ್ತುವನ್ನು " +"ಪ್ರತಿನಿಧಿಸುವ ಪುಟಗಳ ವಿಶಿಷ್ಠ " +"ಐಡಿ ಮತ್ತು ಒಳವಿಷಯಬಗೆಯನ್ನು " +"ತೋರಿಸುತ್ತದೆ." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "" +"ಈ ವಸ್ತುವನ್ನು ಬದಲಿಸಿ(ಈಗಿನ " +"ಕಿಟಕಿಯಲ್ಲಿ)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"ಏಕೈಕ ವಸ್ತುವನ್ನು " +"ಪ್ರತಿನಿಧಿಸುವ ಪುಟಗಳಿಗಾಗಿ " +"ಆಡಳಿತಪುಟಕ್ಕೆ ಒಯ್ಯುತ್ತದೆ" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "" +"ಈ ವಸ್ತುವನ್ನು ಬದಲಿಸಿ(ಹೊಸ " +"ಕಿಟಕಿಯಲ್ಲಿ)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "" +"ಮೇಲಿನಂತೆ, ಆದರೆ " +"ಆಡಳಿತಪುಟವನ್ನು ಹೊಸ " +"ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆಯುವದು." + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "ದಿನಾಂಕ:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "ಸಮಯ:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "ಈಗ:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "ಬದಲಿಸಿ / ಬದಲಾವಣೆ :" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "ಪುನರ್ನಿರ್ದೇಶನ ಇಲ್ಲಿಂದ->" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: " +"'/events/search/'." +msgstr "" +"ಇದು ಡೊಮೈನ್ ಹೊರತುಪಡಿಸಿದ " +"ಸಂಪೂರ್ಣ ಪಥವಾಗಿರಬೇಕು " +"ಉದಾ.'/events/search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "ಪುನರ್ನಿರ್ದೇಶನ ಇಲ್ಲಿಗೆ->" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"ಇದು ಮೇಲಿನಂತೆ ಸಂಪೂರ್ಣ " +"ಪಥವಾದರೂ ಆಗಿರಬಹುದು ಅಥವಾ " +"'http://'ದಿಂದ ಆರಂಭವಾಗುವ ಸಂಪೂರ್ಣ URL " +"ಆಗಿರಬಹುದು." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "ಪುನರ್ನಿರ್ದೇಶನ" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "ಪುನರ್ನಿರ್ದೇಶನ(ಗಳು)" + +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"ಉದಾ:'/about/contact/'. ಮೊದಲು ಮತ್ತು " +"ಕೊನೆಯಲ್ಲಿ ಓರೆಗೆರೆ (/) ಇರುವಂತೆ " +"ನೋಡಿಕೊಳ್ಳಿ." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "ಶೀರ್ಷಿಕೆ" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "ಒಳವಿಷಯ" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "" +"ಟಿಪ್ಪಣಿಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "ಟೆಂಪ್ಲೇಟಿನ ಹೆಸರು" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"ಉದಾ:'flatpages/contact_page.html'. ಇದನ್ನು " +"ಕೊಡದಿದ್ದರೆ ಗಣಕವ್ಯವಸ್ಥೆಯು " +"'flatpages/default.html' ಅನ್ನು ಬಳಸುವದು." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "ನೋಂದಾವಣೆ ಅಗತ್ಯವಿದೆ." + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "" +"ಇದರಲ್ಲಿ ಗುರುತು ಮಾಡಿದರೆ, " +"ಒಳಬಂದ (ಲಾಗಿನ್ ಆದ) ಬಳಕೆದಾರರು " +"ಮಾತ್ರ ಪುಟವನ್ನು ನೋಡಬಹುದು." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "ಚಪ್ಪಟೆ ಪುಟ" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "ಚಪ್ಪಟೆ ಪುಟಗಳು" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "ಹೊರಬರಲಾಗಿದೆ" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "ಹೆಸರು" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "ಸಾಂಕೇತಿಕ ಹೆಸರು" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "ಅನುಮತಿ" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "ಅನುಮತಿಗಳು" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "ಗುಂಪು" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "ಗುಂಪುಗಳು" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "ಬಳಕೆದಾರ-ಹೆಸರು" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"೩೦ ಅಥವಾ ಕಡಿಮೆ ಅಕ್ಷರಗಳು " +"ಅವಶ್ಯ. ( ಅಕ್ಷರಗಳು , ಅಂಕೆಗಳು " +"ಮತ್ತು ಅಂಡರ್ಸ್ಕೋರ್(_) ಗಳು " +"ಮಾತ್ರ)" + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "ಮೊದಲ ಹೆಸರು" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "ಕೊನೆಯ ಹೆಸರು" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "ವಿ-ಅಂಚೆ ವಿಳಾಸ" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "ಪ್ರವೇಶಪದ" + +#: contrib/auth/models.py:94 +msgid "Use '[algo]$[salt]$[hexdigest]'" +msgstr " '[algo]$[salt]$[hexdigest]' ಬಳಸಿ" + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "ಸಿಬ್ಬಂದಿ ಸ್ಥಿತಿ" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "" +"ಬಲಕೆದಾರರು ಈ ಆಡಳಿತ ತಾಣಕ್ಕೆ " +"ಪ್ರವೇಶಪಡೆಯಬಹುದೇ ಎಂಬುದನ್ನು " +"ತಿಳಿಸುತ್ತದೆ." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "ಸಕ್ರಿಯ" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"ಈ ಬಳಕೆದಾರರು ಜಾಂಗೋ " +"ಆಡಳಿತಪುಟಕ್ಕೆ " +"ಪ್ರವೇಶಪಡೆಯಬಹುದೇ ಎಂಬುದನ್ನು " +"ತಿಳಿಸುತ್ತದೆ. ಖಾತೆಗಳನ್ನು " +"ಕಿತ್ತುಹಾಕುವ ಬದಲು ಇದನ್ನು " +"ಆಯ್ಕೆಯನ್ನು ತೆಗೆದುಹಾಕಿರಿ." + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "ಮಹಾಬಳಕೆದಾರನ ಸ್ಧಿತಿ" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"ಈ ಸದಸ್ಯರು ಸುವ್ಯಕ್ತವಾಗಿ " +"ನೀಡದಿದ್ದರೂ ಎಲ್ಲಾ " +"ಅನುಮತಿಗಳನ್ನು ಪಡೆದಿರುವರು " +"ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತದೆ." + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "ಕಡೇ ಸಾರಿ ಒಳಬಂದದ್ದು" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "ಸೇರಿದ ದಿನಾಂಕ" + +#: contrib/auth/models.py:101 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"ವೈಯಕ್ತಿಕವಾಗಿ ನೀಡಲಾಗಿರುವ " +"ಅನುಮತಿಗಳ ಜೊತೆಗೆ, ಈ ಸದಸ್ಯರು " +"ತಮ್ಮ ಗುಂಪಿಗೆ ನೀಡಲಾಗಿರುವ " +"ಅನುಮತಿಗಳನ್ನೂ ಕೂಡ " +"ಪಡೆಯುತ್ತಾರೆ." + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "ಬಳಕೆದಾರ ಅನುಮತಿಗಳು" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "ಬಳಕೆದಾರ" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "ಬಳಕೆದಾರರು" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "ವೈಯುಕ್ತಿಕ ಮಾಹಿತಿ" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "ಅನುಮತಿಗಳು" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "ಮಹತ್ವದ ದಿನಾಂಕಗಳು" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "ಗುಂಪುಗಳು" + +#: contrib/auth/models.py:256 +msgid "message" +msgstr "ಸಂದೇಶ" + +#: contrib/auth/forms.py:52 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"ನಿಮ್ಮ ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ " +"ಕುಕೀಗಳು " +"ಸಕ್ರಿಯಗೊಳಿಸಲ್ಪಟ್ಟಂತಿಲ್ಲ. " +"ಒಳಬರಲು ಕುಕೀಗಳು ಅಗತ್ಯ. " + +#: contrib/auth/forms.py:61 +msgid "This account is inactive." +msgstr "ಈ ಖಾತೆಯು ನಿಷ್ಕ್ರಿಯವಾಗಿದೆ" + +#: contrib/contenttypes/models.py:20 +msgid "python model class name" +msgstr "" +"ಪೈಥಾನ್ ಮಾಡೆಲ್ ಕ್ಲಾಸಿನ ಹೆಸರು" + +#: contrib/contenttypes/models.py:23 +msgid "content type" +msgstr "ಒಳವಿಷಯದ ಬಗೆ" + +#: contrib/contenttypes/models.py:24 +msgid "content types" +msgstr "ಒಳವಿಷಯದ ಬಗೆಗಳು" + +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "ಅಧಿವೇಶನದ ಕೀಲಿಕೈ" + +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "ಅಧಿವೇಶನದ ದತ್ತಾಂಶ" + +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "ಅವಧಿಮೀರುವ ದಿನಾಂಕ" + +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "ಅಧಿವೇಶನ" + +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "ಅಧಿವೇಶನಗಳು" + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "ಡೊಮೈನ್ ಹೆಸರು" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "ತೋರಿಸುವ ಹೆಸರು" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "ತಾಣ" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "ತಾಣಗಳು" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "ಸೋಮವಾರ" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "ಮಂಗಳವಾರ" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "ಬುಧವಾರ" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "ಗುರುವಾರ" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "ಶುಕ್ರವಾರ" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "ಶನಿವಾರ" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "ರವಿವಾರ" + +#: utils/dates.py:14 +msgid "January" +msgstr "ಜನವರಿ" + +#: utils/dates.py:14 +msgid "February" +msgstr "ಫೆಬ್ರುವರಿ" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "ಮಾರ್ಚ್" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "ಎಪ್ರಿಲ್" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "ಮೇ" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "ಜೂನ್" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "ಜುಲೈ" + +#: utils/dates.py:15 +msgid "August" +msgstr "ಆಗಸ್ಟ್" + +#: utils/dates.py:15 +msgid "September" +msgstr "ಸೆಪ್ಟೆಂಬರ್" + +#: utils/dates.py:15 +msgid "October" +msgstr "ಅಕ್ಟೋಬರ್" + +#: utils/dates.py:15 +msgid "November" +msgstr "ನವೆಂಬರ್" + +#: utils/dates.py:16 +msgid "December" +msgstr "ಡಿಸೆಂಬರ್" + +#: utils/dates.py:19 +msgid "jan" +msgstr "ಜನವರಿ" + +#: utils/dates.py:19 +msgid "feb" +msgstr "ಫೆಬ್ರವರಿ" + +#: utils/dates.py:19 +msgid "mar" +msgstr "ಮಾರ್ಚ್" + +#: utils/dates.py:19 +msgid "apr" +msgstr "ಏಪ್ರಿಲ್" + +#: utils/dates.py:19 +msgid "may" +msgstr "ಮೇ" + +#: utils/dates.py:19 +msgid "jun" +msgstr "ಜೂನ್" + +#: utils/dates.py:20 +msgid "jul" +msgstr "ಜುಲೈ" + +#: utils/dates.py:20 +msgid "aug" +msgstr "ಆಗಸ್ಟ್" + +#: utils/dates.py:20 +msgid "sep" +msgstr "ಸೆಪ್ಟೆಂಬರ್" + +#: utils/dates.py:20 +msgid "oct" +msgstr "ಅಕ್ಟೋಬರ್" + +#: utils/dates.py:20 +msgid "nov" +msgstr "ನವೆಂಬರ್" + +#: utils/dates.py:20 +msgid "dec" +msgstr "ಡಿಸೆಂಬರ್" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "ಜನವರಿ." + +#: utils/dates.py:27 +msgid "Feb." +msgstr "ಫೆಬ್ರವರಿ." + +#: utils/dates.py:28 +msgid "Aug." +msgstr "ಆಗಸ್ಟ್." + +#: utils/dates.py:28 +msgid "Sept." +msgstr "ಸೆಪ್ಟೆಂಬರ್." + +#: utils/dates.py:28 +msgid "Oct." +msgstr "ಅಕ್ಟೋಬರ್." + +#: utils/dates.py:28 +msgid "Nov." +msgstr "ನವೆಂಬರ್." + +#: utils/dates.py:28 +msgid "Dec." +msgstr "ಡಿಸೆಂಬರ್." + +#: utils/timesince.py:12 +msgid "year" +msgstr "ವರ್ಷ" + +#: utils/timesince.py:13 +msgid "month" +msgstr "ತಿಂಗಳು" + +#: utils/timesince.py:14 +msgid "week" +msgstr "ವಾರ" + +#: utils/timesince.py:15 +msgid "day" +msgstr "ದಿನ" + +#: utils/timesince.py:16 +msgid "hour" +msgstr "ಘಂಟೆ" + +#: utils/timesince.py:17 +msgid "minute" +msgstr "ನಿಮಿಷ" + +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "N j, Y" + +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "N j, Y, P" + +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "ಅರೇಬಿಕ್" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "ಬೆಂಗಾಲಿ" + +#: conf/global_settings.py:41 +msgid "Czech" +msgstr "ಝೆಕ್" + +#: conf/global_settings.py:42 +msgid "Welsh" +msgstr "ವೆಲ್ಷ್" + +#: conf/global_settings.py:43 +msgid "Danish" +msgstr "ಡ್ಯಾನಿಷ್" + +#: conf/global_settings.py:44 +msgid "German" +msgstr "ಜರ್ಮನ್" + +#: conf/global_settings.py:45 +msgid "Greek" +msgstr "ಗ್ರೀಕ್" + +#: conf/global_settings.py:46 +msgid "English" +msgstr "ಇಂಗ್ಲಿಷ್" + +#: conf/global_settings.py:47 +msgid "Spanish" +msgstr "ಸ್ಪ್ಯಾನಿಷ್" + +#: conf/global_settings.py:48 +msgid "Argentinean Spanish" +msgstr "ಅರ್ಜೆಂಟೈನಾದ ಸ್ಪ್ಯಾನಿಷ್" + +#: conf/global_settings.py:49 +msgid "Finnish" +msgstr "ಫಿನ್ನಿಶ್" + +#: conf/global_settings.py:50 +msgid "French" +msgstr "ಫ್ರೆಂಚ್" + +#: conf/global_settings.py:51 +msgid "Galician" +msgstr "ಗ್ಯಾಲಿಶಿಯನ್" + +#: conf/global_settings.py:52 +msgid "Hungarian" +msgstr "ಹಂಗೇರಿಯನ್" + +#: conf/global_settings.py:53 +msgid "Hebrew" +msgstr "ಹೀಬ್ರೂ" + +#: conf/global_settings.py:54 +msgid "Icelandic" +msgstr "ಐಸ್‍ಲ್ಯಾಂಡಿಕ್" + +#: conf/global_settings.py:55 +msgid "Italian" +msgstr "ಇಟಾಲಿಯನ್" + +#: conf/global_settings.py:56 +msgid "Japanese" +msgstr "ಜಪಾನೀಸ್" + +#: conf/global_settings.py:57 +msgid "Dutch" +msgstr "ಡಚ್" + +#: conf/global_settings.py:58 +msgid "Norwegian" +msgstr "ನಾರ್ವೇಜಿಯನ್" + +#: conf/global_settings.py:59 +msgid "Brazilian" +msgstr "ಬ್ರಾಝಿಲಿಯನ್" + +#: conf/global_settings.py:60 +msgid "Romanian" +msgstr "ರೋಮೇನಿಯನ್" + +#: conf/global_settings.py:61 +msgid "Russian" +msgstr "ರಶಿಯನ್" + +#: conf/global_settings.py:62 +msgid "Slovak" +msgstr "ಸ್ಲೋವಾಕ್" + +#: conf/global_settings.py:63 +msgid "Slovenian" +msgstr "ಸ್ಲೋವೇನಿಯನ್" + +#: conf/global_settings.py:64 +msgid "Serbian" +msgstr "ಸೆರ್ಬಿಯನ್" + +#: conf/global_settings.py:65 +msgid "Swedish" +msgstr "ಸ್ವೀಡಿಷ್" + +#: conf/global_settings.py:66 +msgid "Tamil" +msgstr "ತಮಿಳು" + +#: conf/global_settings.py:67 +msgid "Turkish" +msgstr "ಟರ್ಕಿಶ್" + +#: conf/global_settings.py:68 +msgid "Ukrainian" +msgstr "ಯುಕ್ರೇನಿಯನ್" + +#: conf/global_settings.py:69 +msgid "Simplified Chinese" +msgstr "ಸರಳೀಕೃತ ಚೈನೀಸ್" + +#: conf/global_settings.py:70 +msgid "Traditional Chinese" +msgstr "ಸಂಪ್ರದಾಯಿಕ ಚೈನೀಸ್ " + +#: core/validators.py:63 +msgid "This value must contain only letters, numbers and underscores." +msgstr "" +"ಈ ಬೆಲೆಯು ಕೇವಲ ಅಕ್ಷರಗಳು , " +"ಅಂಕೆಗಳು ಮತ್ತು ಅಂಡರ್ಸ್ಕೋರ್(_) " +"ಗಳನ್ನು ಒಳಗೊಂಡಿರಬೇಕು" + +#: core/validators.py:67 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"ಈ ಬೆಲೆಯು ಅಕ್ಷರಗಳು , ಅಂಕೆಗಳು , " +"ಅಡಿಗೆರೆ ಅರ್ಥಾತ್ " +"ಅಂಡರ್ಸ್ಕೋರ್(_) ,ಅಡ್ಡಗೆರೆ " +"ಅರ್ಥಾತ್ ಡ್ಯಾಷ್(-) ಮತ್ತು " +"ಓರೆಗೆರೆ ಅರ್ಥಾತ್ ಸ್ಲ್ಯಾಶ್ (/) " +"ಗಳನ್ನು ಒಳಗೊಳ್ಳಬಹುದು." + +#: core/validators.py:71 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "" +"ಈ ಬೆಲೆಯು ಕೇವಲ ಅಕ್ಷರಗಳು , " +"ಅಂಕೆಗಳು ಮತ್ತು ಅಂಡರ್ಸ್ಕೋರ್(_) " +"ಮತ್ತು ಹೈಫನ್(-)ಗಳನ್ನು " +"ಒಳಗೊಂಡಿರಬೇಕು" + +#: core/validators.py:75 +msgid "Uppercase letters are not allowed here." +msgstr "" +"ಇಂಗ್ಲೀಷ್ ದೊಡ್ಡಕ್ಷರಗಳನ್ನು " +"ಇಲ್ಲಿ ಬಳಸುವಂತಿಲ್ಲ" + +#: core/validators.py:79 +msgid "Lowercase letters are not allowed here." +msgstr "" +"ಇಂಗ್ಲೀಷ್ ಸಣ್ಣಕ್ಷರಗಳನ್ನು " +"ಇಲ್ಲಿ ಬಳಸುವಂತಿಲ್ಲ" + +#: core/validators.py:86 +msgid "Enter only digits separated by commas." +msgstr "" +"ಅಲ್ಪವಿರಾಮ(,)ಗಳಿಂದ ಬೇರ್ಪಟ್ಟ " +"ಅಂಕೆಗಳನ್ನು ಮಾತ್ರ ಬರೆಯಿರಿ." + +#: core/validators.py:98 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "" +"ಇ-ಅಂಚೆಗಳ ವಿಳಾಸಗಳನ್ನು, " +"ಅಲ್ಪವಿರಾಮ(,)ಗಳಿಂದ " +"ಬೇರ್ಪಟ್ಟಿರುವಂತೆ ಸೂಚಿಸಿರಿ." + +#: core/validators.py:102 +msgid "Please enter a valid IP address." +msgstr "ಸರಿಯಾದ IP ವಿಳಾಸ ಬರೆಯಿರಿ" + +#: core/validators.py:106 +msgid "Empty values are not allowed here." +msgstr "ಇಲ್ಲಿ ಖಾಲಿ ಬಿಡುವಂತಿಲ್ಲ" + +#: core/validators.py:110 +msgid "Non-numeric characters aren't allowed here." +msgstr "" +"ಅಂಕೆಗಳಲ್ಲದೆ ಯಾವದೇ " +"ಅಕ್ಷರಗಳನ್ನು ಇಲ್ಲಿ " +"ಬಳಸುವಂತಿಲ್ಲ" + +#: core/validators.py:114 +msgid "This value can't be comprised solely of digits." +msgstr "" +"ಈ ಬೆಲೆಯಲ್ಲಿ ಅಂಕೆಗಳಷ್ಟೇ " +"ಇರುವಂತಿಲ್ಲ" + +#: core/validators.py:119 +msgid "Enter a whole number." +msgstr "ಪೂರ್ಣಾಂಕವೊಂದನ್ನು ಬರೆಯಿರಿ" + +#: core/validators.py:123 +msgid "Only alphabetical characters are allowed here." +msgstr "" +"ವರ್ಣಮಾಲೆಯ ಅಕ್ಷರಗಳನ್ನು " +"ಮಾತ್ರ ಇಲ್ಲಿ ಬಳಸಬಹುದು." + +#: core/validators.py:138 +msgid "Year must be 1900 or later." +msgstr "" +"ವರ್ಷವು ೧೯೦೦ ಅಥವಾ " +"ನಂತರದ್ದಿರಬೇಕು." + +#: core/validators.py:142 +#, python-format +msgid "Invalid date: %s." +msgstr "ತಪ್ಪು ದಿನಾಂಕ: %s." + +#: core/validators.py:146 db/models/fields/__init__.py:415 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "" +"ಸರಿಯಾದ ದಿನಾಂಕವನ್ನು " +"ವವವವ-ತಿತಿ-ದಿದಿ ರೀತಿಗೆ " +"ಹೊಂದುವಂತೆ ಸೂಚಿಸಿರಿ." + +#: core/validators.py:151 +msgid "Enter a valid time in HH:MM format." +msgstr "" +"HH:MM ರೂಪದಲ್ಲಿ ಸರಿಯಾದ ಸಮಯವನ್ನು " +"ಬರೆಯಿರಿ" + +#: core/validators.py:155 db/models/fields/__init__.py:477 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "" +"ಸರಿಯಾದ ದಿನಾಂಕ/ವೇಳೆಯನ್ನು " +"ವವವವ-ತಿತಿ-ದಿದಿ ಗಗ:ನಿನಿ " +"ರೀತಿಗೆ ಹೊಂದುವಂತೆ ಸೂಚಿಸಿರಿ." + +#: core/validators.py:160 +msgid "Enter a valid e-mail address." +msgstr "" +"ಕ್ರಮಬದ್ಧ ವಿ-ವಿಳಾಸವೊಂದನ್ನು " +"ಇಲ್ಲಿ ಬರೆಯಿರಿ" + +#: core/validators.py:172 core/validators.py:401 forms/__init__.py:661 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"ಯಾವದೇ ಕಡತವನ್ನೂ " +"ಸಲ್ಲಿಸಲಾಗಿಲ್ಲ.ನಮೂನೆಯ ಮೇಲಿನ " +"ಸಂಕೇತೀಕರಣ ಬಗೆಯನ್ನು " +"ಪರೀಕ್ಷಿಸಿ." + +#: core/validators.py:176 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"ಸರಿಯಾದ ಚಿತ್ರವನ್ನು ಏರಿಸಿ. " +"ನೀವು ಏರಿಸಿದ ಕಡತವು ಚಿತ್ರವಲ್ಲ " +"ಅಥವಾ ಅದು ಕೆಟ್ಟು ಹೋಗಿರುವ " +"ಚಿತ್ರ. " + +#: core/validators.py:183 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "" +"%s URL ಸರಿಯಾದ ಚಿತ್ರದೆಡೆಗೆ " +"ಒಯ್ಯುತ್ತಿಲ್ಲ." + +#: core/validators.py:187 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" +"ದೂರವಾಣಿ ಅಂಕೆಗಳು XXX-XXX-XXXX " +"ರೀತಿಯಲ್ಲಿರಬೇಕು. \"%s\" " +"ತಪ್ಪಾಗಿರುತ್ತದೆ." + +#: core/validators.py:195 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "" +"%s URL ಸರಿಯಾದ ಕ್ವಿಕ್‍ಟೈಮ್ " +"ದೃಶ್ಯದೆಡೆಗೆ ಒಯ್ಯುತ್ತಿಲ್ಲ." + +#: core/validators.py:199 +msgid "A valid URL is required." +msgstr "ಸರಿಯಾದ URL ಅವಶ್ಯವಿದೆ" + +#: core/validators.py:213 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"ಸರಿಯಾದ HTML ಅವಶ್ಯ. ಇಲ್ಲಿನ " +"ನಿರ್ದಿಷ್ಟ ತಪ್ಪುಗಳು:\n" +"%s" + +#: core/validators.py:220 +#, python-format +msgid "Badly formed XML: %s" +msgstr "ತಪ್ಪು XML: %s" + +#: core/validators.py:230 +#, python-format +msgid "Invalid URL: %s" +msgstr "ತಪ್ಪು URL: %s" + +#: core/validators.py:234 core/validators.py:236 +#, python-format +msgid "The URL %s is a broken link." +msgstr "%s ಈ URL ಮುರಿದ ಕೊಂಡಿಯಾಗಿದೆ." + +#: core/validators.py:242 +msgid "Enter a valid U.S. state abbreviation." +msgstr "" +" ಅಮೇರಿಕೆಯ ಸಂಯುಕ್ತ ಸಂಸ್ಥಾನದ " +"ರಾಜ್ಯದ ಸರಿಯಾದ " +"ಸಂಕ್ಷಿಪ್ತರೂಪವನ್ನು ಕೊಡಿ." + +#: core/validators.py:256 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgstr "" +"ನಾಲಿಗೆ ಬಿಗಿ ಹಿಡಿಯಿರಿ! %s " +"ಶಬ್ದವನ್ನು ಇಲ್ಲಿ " +"ಬಳಸುವಂತಿಲ್ಲ." +"ನಾಲಿಗೆ ಬಿಗಿ ಹಿಡಿಯಿರಿ! %s ಈ " +"ಶಬ್ದಗಳನ್ನು ಇಲ್ಲಿ " +"ಬಳಸುವಂತಿಲ್ಲ." + +#: core/validators.py:263 +#, python-format +msgid "This field must match the '%s' field." +msgstr "" +"ಈ ಅಂಶವು '%s' ಅಂಶದೊಂದಿಗೆ " +"ಹೊಂದಿಕೊಳ್ಳಬೇಕು." + +#: core/validators.py:282 +msgid "Please enter something for at least one field." +msgstr "" +"ಕನಿಷ್ಠ ಒಂದು ಅಂಶದಲ್ಲಿ " +"ಏನನ್ನಾದರೂ ಬರೆಯಿರಿ." + +#: core/validators.py:291 core/validators.py:302 +msgid "Please enter both fields or leave them both empty." +msgstr "" +"ಎರಡೂ ಅಂಶಗಳನ್ನು ಭರತಿ ಮಾಡಿರಿ " +"ಅಥವಾ ಎರಡನ್ನೂ ಖಾಲಿಯಾಗಿಡಿ." + +#: core/validators.py:309 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "" +" %(field)s ಇದು %(value)s ಆಗಿದ್ದರೆ ಈ " +"ಅಂಶವನ್ನು ಕೊಡಲೇಬೇಕು" + +#: core/validators.py:321 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "" +" %(field)s ಇದು %(value)s ಆಗಿಲ್ಲದಿದ್ದರೆ ಈ " +"ಅಂಶವನ್ನು ಕೊಡಲೇಬೇಕು" + +#: core/validators.py:340 +msgid "Duplicate values are not allowed." +msgstr "" +"ಪಡಿಯಚ್ಚುಬೆಲೆಗಳಿಗೆ " +"ಅನುಮತಿಯಿಲ್ಲ" + +#: core/validators.py:363 +#, python-format +msgid "This value must be a power of %s." +msgstr "ಈ ಬೆಲೆಯು %sದ ಘಾತವಾಗಿರಬೇಕು." + +#: core/validators.py:374 +msgid "Please enter a valid decimal number." +msgstr "" +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆ ಬರೆಯಿರಿ" + +#: core/validators.py:378 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +"Please enter a valid decimal number with at most %s total digits." +msgstr "" +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆಯನ್ನು - ಹೆಚ್ಚೆಂದರೆ " +"ಒಟ್ಟು %s ಅಂಕೆ ಇರುವಂತೆ - " +"ಬರೆಯಿರಿ." +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆಯನ್ನು - ಹೆಚ್ಚೆಂದರೆ " +"ಒಟ್ಟು %s ಅಂಕೆಗಳು ಇರುವಂತೆ - " +"ಬರೆಯಿರಿ." + +#: core/validators.py:381 +#, python-format +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr "" +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆಯನ್ನು - ಪೂರ್ಣಾಂಕ ಭಾಗವು " +"ಹೆಚ್ಚೆಂದರೆ ಒಟ್ಟು %s ಅಂಕೆ " +"ಇರುವಂತೆ - ಬರೆಯಿರಿ." +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆಯನ್ನು - ಪೂರ್ಣಾಂಕ ಭಾಗವು " +"ಹೆಚ್ಚೆಂದರೆ ಒಟ್ಟು %s ಅಂಕೆಗಳು " +"ಇರುವಂತೆ - ಬರೆಯಿರಿ." + +#: core/validators.py:384 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +"Please enter a valid decimal number with at most %s decimal places." +msgstr "" +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆಯನ್ನು - ದಶಮಾಂಶ ಭಾಗವು " +"ಹೆಚ್ಚೆಂದರೆ ಒಟ್ಟು %s ಸ್ಥಾನ " +"ಇರುವಂತೆ - ಬರೆಯಿರಿ." +"ದಯವಿಟ್ಟು ಸರಿಯಾದ ದಶಮಾನ " +"ಸಂಖ್ಯೆಯನ್ನು - ದಶಮಾಂಶ ಭಾಗವು " +"ಹೆಚ್ಚೆಂದರೆ %s ಸ್ಥಾನಗಳು " +"ಇರುವಂತೆ - ಬರೆಯಿರಿ." + +#: core/validators.py:394 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "" +"ನೀವು ಏರಿಸಿದ ಕಡತವು ಕನಿಷ್ಟ %s " +"ಬೈಟ್‍ಗಳಷ್ಟು ದೊಡ್ಡದಿದೆ ಎಂದು " +"ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ." + +#: core/validators.py:395 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "" +"ನೀವು ಏರಿಸಿದ ಕಡತವು %s " +"ಬೈಟ್‍ಗಳಿಗಿಂತ ಹೆಚ್ಚಿರದ ಹಾಗೆ " +"ನೋಡಿಕೊಳ್ಳಿ." + +#: core/validators.py:412 +msgid "The format for this field is wrong." +msgstr "ಈ ಅಂಶದ ಸ್ವರೂಪವು ತಪ್ಪಾಗಿದೆ" + +#: core/validators.py:427 +msgid "This field is invalid." +msgstr "ಈ ಅಂಶವು ತಪ್ಪಾಗಿದೆ" + +#: core/validators.py:463 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "" +" %s ದಿಂದ ಏನನ್ನೂ " +"ಹೊರತೆಗೆದುಕೊಳ್ಳಲಾಗಲಿಲ್ಲ." + +#: core/validators.py:466 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" +" %(url)s ಈ URL ತಪ್ಪು ಒಳವಿಷಯ-ಬಗೆಯ " +"ಶಿರೋ‍ಭಾಗ '%(contenttype)s' ಅನ್ನು " +"ಮರಳಿಸಿತು." + +#: core/validators.py:499 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"ದಯವಿಟ್ಟು %(line)s - ಸಾಲಿನಿಂದ " +"ಮುಚ್ಚಿರದ %(tag)s ಟ್ಯಾಗ್ ಅನ್ನು " +"ಮುಚ್ಚಿರಿ . (ಸಾಲು \"%(start)s\" ಎಂದು " +"ಆರಂಭವಾಗುತ್ತದೆ.)" + +#: core/validators.py:503 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +" %(line)s ಸಾಲಿನಲ್ಲಿ ಆರಂಭವಾಗುವ ಕೆಲ " +"ಪಠ್ಯಭಾಗವನ್ನು ಆ ಸಂದರ್ಭದಲ್ಲಿ " +"ಬಳಸಲಾಗದು.(ಸಾಲು \"%(start)s\" ಎಂದು " +"ಆರಂಭವಾಗುತ್ತದೆ.)" + +#: core/validators.py:508 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with " +"\"%(start)s\".)" +msgstr "" +" %(line)sನೆ ಸಾಲಿನಲ್ಲಿರುವ \"%(attr)s\" " +"ತಪ್ಪು ಗುಣಧರ್ಮವಾಗಿದೆ . (ಸಾಲು " +"\"%(start)s\" ಎಂದು ಆರಂಭವಾಗುತ್ತದೆ.)" + +#: core/validators.py:513 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with " +"\"%(start)s\".)" +msgstr "" +" %(line)s ನೆ ಸಾಲಿನಲ್ಲಿರುವ \"<%(tag)s>\" " +"ತಪ್ಪು ಟ್ಯಾಗ್ ಆಗಿದೆ . (ಸಾಲು " +"\"%(start)s\" ಎಂದು ಆರಂಭವಾಗುತ್ತದೆ.)" + +#: core/validators.py:517 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +" %(line)s ನೆ ಸಾಲಿನಲ್ಲಿರುವ ಟ್ಯಾಗ್ " +"ಗೆ ಅಗತ್ಯವಾದ ಒಂದು ಅಥವಾ ಹೆಚ್ಚು " +"ಗುಣಧರ್ಮಗಳು ಕಾಣೆಯಾಗಿವೆ . " +"(ಸಾಲು \"%(start)s\" ಎಂದು " +"ಆರಂಭವಾಗುತ್ತದೆ.)" + +#: core/validators.py:522 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +" %(line)s ನೆ ಸಾಲಿನಲ್ಲಿರುವ \"%(attr)s\" ಗೆ " +"ತಪ್ಪು ಬೆಲೆ ಇದೆ. (ಸಾಲು \"%(start)s\" " +"ಎಂದು ಆರಂಭವಾಗುತ್ತದೆ.)" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "" +" %(verbose_name)s ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ " +"ನಿರ್ಮಿಸಲಾಯಿತು." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "" +" %(verbose_name)s ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ " +"ಮಾರ್ಪಡಿಸಲಾಯಿತು." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "" +" %(verbose_name)s ಅನ್ನು " +"ತೆಗೆದುಹಾಕಲಾಯಿತು" + +#: db/models/manipulators.py:302 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "" +"ಕೊಟ್ಟಿರುವ %(field)sಗೆ ಈ %(type)s " +"ಹೊಂದಿರುವ %(object)s ಈಗಾಗಲೇ ಇದೆ." + +#: db/models/fields/__init__.py:40 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "" +"ಈ %(fieldname)s ಹೊಂದಿರುವ %(optname)s ಈಗಾಗಲೇ " +"ಇದೆ." + +#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 +#: db/models/fields/__init__.py:551 db/models/fields/__init__.py:562 +#: forms/__init__.py:346 +msgid "This field is required." +msgstr "ಈ ಅಂಶ ಅಗತ್ಯ." + +#: db/models/fields/__init__.py:340 +msgid "This value must be an integer." +msgstr "" +"ಈ ಬೆಲೆಯು ಪೂರ್ಣ ಸಂಖ್ಯೆ ಇರಬೇಕು." + +#: db/models/fields/__init__.py:372 +msgid "This value must be either True or False." +msgstr "" +"ಈ ಬೆಲೆಯು ಹೌದು ಅಥವಾ ಇಲ್ಲ " +"ಇರಬೇಕು." + +#: db/models/fields/__init__.py:388 +msgid "This field cannot be null." +msgstr "" +"ಈ ಅಂಶವನ್ನು ಖಾಲಿ ಬಿಡುವಂತಿಲ್ಲ." + +#: db/models/fields/__init__.py:571 +msgid "Enter a valid filename." +msgstr "" +"ಸರಿಯಾದ ಕಡತದ ಹೆಸರನ್ನು " +"ಬರೆಯಿರಿ" + +#: db/models/fields/related.py:51 +#, python-format +msgid "Please enter a valid %s." +msgstr "ಸರಿಯಾದ %s ಅನ್ನು ಬರೆಯಿರಿ ." + +#: db/models/fields/related.py:618 +msgid "Separate multiple IDs with commas." +msgstr "" +"ಅನೇಕ ಐಡಿಗಳನ್ನು " +"ಅಲ್ಪವಿರಾಮ(,)ಗಳಿಂದ " +"ಬೇರ್ಪಡಿಸಿರಿ" + +#: db/models/fields/related.py:620 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚನ್ನು " +"ಆಯ್ದುಕೊಳ್ಳಲು ಮ್ಯಾಕ್ ಗಣಕದ " +"ಮೇಲೆ \"ಕಂಟ್ರೋಲ್\", ಅಥವಾ " +"\"ಕಮ್ಯಾಂಡ್\" ಅನ್ನು ಒತ್ತಿ " +"ಹಿಡಿಯಿರಿ." + +#: db/models/fields/related.py:664 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr "" +"ದಯವಿಟ್ಟು ಸರಿಯಾದ %(self)s " +"ಐಡಿಗಳನ್ನು ಸೂಚಿಸಿರಿ . ಈಗ " +"ಸೂಚಿಸಿದ %(value)r ತಪ್ಪಾಗಿದೆ." +"ದಯವಿಟ್ಟು ಸರಿಯಾದ %(self)s " +"ಐಡಿಗಳನ್ನು ಸೂಚಿಸಿರಿ . ಈಗ " +"ಸೂಚಿಸಿದ %(value)s ತಪ್ಪಾಗಿವೆ" + +#: forms/__init__.py:381 +#, python-format +msgid "Ensure your text is less than %s character." +msgstr "" +"ನಿಮ್ಮ ಗದ್ಯ %s ಅಕ್ಷರಕ್ಕಿಂತ " +"ಕಡಿಮೆ ಇರುವಂತೆ ಜಾಗ್ರತೆ ವಹಿಸಿ." +"ನಿಮ್ಮ ಗದ್ಯ %s ಅಕ್ಷರಗಳಿಗಿಂತ " +"ಕಡಿಮೆ ಇರುವಂತೆ ಜಾಗ್ರತೆ ವಹಿಸಿ." + +#: forms/__init__.py:386 +msgid "Line breaks are not allowed here." +msgstr "" +" ಇಲ್ಲಿ " +"ಸಾಲುಗಳನ್ನುತುಂಡರಿಸುವಂತಿಲ್ಲ" + +#: forms/__init__.py:487 forms/__init__.py:560 forms/__init__.py:599 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "" +"ಸರಿಯಾದ ಆಯ್ಕೆಯನ್ನು " +"ಆಯ್ದುಕೊಳ್ಳಿರಿ.'%(data)s' %(choices)s " +"ನಲ್ಲಿಲ್ಲ." + +#: forms/__init__.py:663 +msgid "The submitted file is empty." +msgstr "ಸಲ್ಲಿಸಲಾದ ಕಡತ ಖಾಲಿ ಇದೆ." + +#: forms/__init__.py:719 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "" +"-೩೨,೭೬೮ ಹಾಗೂ ೩೨,೭೬೭ ರ ನಡುವಿನ " +"ಪೂರ್ಣ ಸಂಖ್ಯೆ ಕೊಡಿ." + +#: forms/__init__.py:729 +msgid "Enter a positive number." +msgstr "ಧನಾತ್ಮಕ ಸಂಖ್ಯೆ ಕೊಡಿ." + +#: forms/__init__.py:739 +msgid "Enter a whole number between 0 and 32,767." +msgstr "" +"೦ ಮತ್ತು ೩೨,೭೬೭ ರ ನಡುವಿನ ಒಂದು " +"ಪೂರ್ಣಾಂಕ ಕೊಡಿ" + +#: template/defaultfilters.py:401 +msgid "yes,no,maybe" +msgstr "ಹೌದು,ಇಲ್ಲ,ಇರಬಹುದು" + diff --git a/django/conf/locale/kn/LC_MESSAGES/djangojs.mo b/django/conf/locale/kn/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..cbb9fb5ffcda977b7b04aec48115e7248b6a2539 GIT binary patch literal 2205 zcmaKrU1%It6vszfKN_tcQHw&=D^=Q1CTh=*7zh@wFZSGINm7ny1kn4UAvyvQ0&E_ii#i!(tdxw%( z-%_`S7>_d^W5`c>@qqnuoJWOwlC`Ur+i*y%0OY+BZQ}M|=bo<2%Ds zVHg{wRpQmn>dLnVu?g%I-{?qb+4IB7v~xfQ4IRy?Q8O9YkCKimQ)*}?@_bd&bLv1N zFiifO8fw%UaiS*7Ok(PjCQ^qgNhmxR&gL56g4!%=vgnC||n`?iTLwDTFdg8im_p)2)aSH=nDfag6F7)>mI>vOIxaCL(v9FUbDyp}15a_B_V_`-6 z-Ul|4DjQu_gGtK_pRdQdK7(1e7aR-s;w7jxbj`S8*!Ho(jne+ozIN_C-Gz?fFi1>* zn7J9UO3eGoi!;9Vf>&vZj$)I%cBDM&4z%q=%`p?X`+`bX^@3Va4NQ88lckGUb3RL( zS$Z~0Z)NEvl{FWYU7gI*FE~^f-N>4!vUJ&6++b!a&C+kO<|kQtl{YFjm$Q@`=d$z% z`*D^nE?lrS%qPTW^NbBeoR$}`go`Y_X3ubN0S)#J^9hxuh+7x;Qwc3`5pZpd?Mamz zUtJS$p%qZf$?%qgQtNR8BixceUJPW?Y^7&X4|bPm5;&hVDWlXdUmyyD(=5=57J5k( zIxFWa*v*|uvu*1Z^Kcwnk$3Fo+2mIV)iQT%D=%8_WJ+epraCqyYQO%Nv+wNLB@Rv_ z4CJNcl^{c2j1n91vXDQyWj2WVF<4?yE-}GgaJ>b`s-`NGgV17#yS(ANhxuK$2+gj% zM0UR8nQ@1z=h~U&oU3@_ao{=s7E!D3m~817Yi8*dH$c vZb?qI3CwLnNpU559, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Django-kn 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-09-25 15:43+0200\n" +"PO-Revision-Date: 2007-01-08 20:22+0530\n" +"Last-Translator: Kannada Localization Team \n" +"Language-Team: Kannada \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit" + +#: contrib/admin/media/js/SelectFilter2.js:33 +#, perl-format +msgid "Available %s" +msgstr "ಲಭ್ಯ %s " + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "ಎಲ್ಲವನ್ನೂ ಆಯ್ದುಕೊಳ್ಳಿ" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "ಸೇರಿಸಿ" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "ತೆಗೆದು ಹಾಕಿ" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "%s ಆಯ್ದುಕೊಳ್ಳಲಾಗಿದೆ" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "" +"ನಿಮ್ಮ ಆಯ್ಕೆ(ಗಳ)ನ್ನು ಆರಿಸಿ " +"ಮತ್ತು ಕ್ಲಿಕ್ಕಿಸಿ" + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "ಎಲ್ಲವನ್ನೂ ತೆರವುಗೊಳಿಸಿ" + +#: contrib/admin/media/js/dateparse.js:26 +#: contrib/admin/media/js/calendar.js:24 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" +"ಜನವರಿ ಫೆಬ್ರುವರಿ ಮಾರ್ಚ್ " +"ಎಪ್ರಿಲ್ ಮೇ ಜೂನ್ ಜುಲೈ ಆಗಸ್ಟ್ " +"ಸೆಪ್ಟೆಂಬರ್ ನವೆಂಬರ್ ಡಿಸೆಂಬರ್" + +#: contrib/admin/media/js/dateparse.js:27 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "" +"ರವಿವಾರ ಸೋಮವಾರ ಮಂಗಳವಾರ " +"ಬುಧವಾರ ಗುರುವಾರ ಶುಕ್ರವಾರ " +"ಶನಿವಾರ" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "ರ ಸೋ ಮ ಬು ಗು ಶು ಶ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Now" +msgstr "ಈಗ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +msgid "Clock" +msgstr "ಗಡಿಯಾರ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +msgid "Choose a time" +msgstr "ಸಮಯವೊಂದನ್ನು ಆರಿಸಿ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Midnight" +msgstr "ಮಧ್ಯರಾತ್ರಿ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "6 a.m." +msgstr "ಬೆಳಗಿನ ೬ ಗಂಟೆ " + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "Noon" +msgstr "ಮಧ್ಯಾಹ್ನ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +msgid "Cancel" +msgstr "ರದ್ದುಗೊಳಿಸಿ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +msgid "Today" +msgstr "ಈ ದಿನ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +msgid "Calendar" +msgstr "ಪಂಚಾಂಗ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +msgid "Yesterday" +msgstr "ನಿನ್ನೆ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +msgid "Tomorrow" +msgstr "ನಾಳೆ" diff --git a/django/conf/locale/ko/LC_MESSAGES/django.mo b/django/conf/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..58e97b496eb8c32818a3c5319d93e8311b679338 GIT binary patch literal 42603 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 literal 0 HcmV?d00001 diff --git a/django/conf/locale/ko/LC_MESSAGES/django.po b/django/conf/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 0000000000..476f7316ba --- /dev/null +++ b/django/conf/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,2797 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Django 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-04-24 12:33+0900\n" +"PO-Revision-Date: 2007-04-06 11:04+0900\n" +"Last-Translator: Sung-Jin Hong \n" +"Language-Team: Korean\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(field)s 에 입력된 값은 %(type)s 의 %(object)s 에 이미 존재합니다." + +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "또한" + +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(fieldname)s 의 %(optname)s (은)는 이미 존재합니다." + +#: 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 +msgid "This field is required." +msgstr "필수 항목입니다." + +#: db/models/fields/__init__.py:367 +msgid "This value must be an integer." +msgstr "정수 값을 사용하세요." + +#: db/models/fields/__init__.py:402 +msgid "This value must be either True or False." +msgstr "True 또는 False 값을 사용하세요." + +#: db/models/fields/__init__.py:423 +msgid "This field cannot be null." +msgstr "이 필드는 null 값은 사용할 수 없습니다. " + +#: db/models/fields/__init__.py:457 core/validators.py:148 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "날짜는 YYYY-MM-DD 형식으로 입력하세요." + +#: db/models/fields/__init__.py:526 core/validators.py:157 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "날짜/시각을 YYYY-MM-DD HH:MM 형식으로 입력하세요." + +#: db/models/fields/__init__.py:630 +msgid "Enter a valid filename." +msgstr "올바른 파일명을 입력하세요." + +#: db/models/fields/__init__.py:751 +msgid "This value must be either None, True or False." +msgstr "None, True 또는 False 값을 사용하세요." + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "올바른 %s (을)를 입력하세요." + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "복수 ID는 콤마로 구분해 주세요." + +#: db/models/fields/related.py:644 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"복수 선택 시에는 \"Control\" 키를 누른 상태에서 선택해 주세요.(Mac은 " +"\"Command\" 키)" + +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +"올바른 %(self)s ID를 입력해 주세요. %(value)r (은)는 적절치 않습니다." +msgstr[1] "" +"올바른 %(self)s ID를 입력해 주세요. %(value)r (은)는 적절치 않습니다." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "아랍어" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "방글라데시어" + +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "카탈로니아어" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "체코어" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "웨일즈어" + +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "덴마크어" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "독일어" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "그리스어" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "영어" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "스페인어" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "아르헨티나_스페인어" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "핀란드어" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "프랑스어" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "갈리시아어" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "헝가리어" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "히브리어" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "아이슬란드어" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "이탈리아어" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "일본어" + +#: conf/global_settings.py:58 +msgid "Korean" +msgstr "한국어" + +#: conf/global_settings.py:59 +msgid "Kannada" +msgstr "칸나다어" + +#: conf/global_settings.py:60 +msgid "Latvian" +msgstr "라트비아어" + +#: conf/global_settings.py:61 +msgid "Macedonian" +msgstr "마케도니아어" + +#: conf/global_settings.py:62 +msgid "Dutch" +msgstr "네덜란드어" + +#: conf/global_settings.py:63 +msgid "Norwegian" +msgstr "노르웨이어" + +#: conf/global_settings.py:64 +msgid "Polish" +msgstr "폴란드어" + +#: conf/global_settings.py:65 +msgid "Portugese" +msgstr "포르투갈어" + +#: conf/global_settings.py:66 +msgid "Brazilian" +msgstr "브라질어" + +#: conf/global_settings.py:67 +msgid "Romanian" +msgstr "루마니아어" + +#: conf/global_settings.py:68 +msgid "Russian" +msgstr "러시아어" + +#: conf/global_settings.py:69 +msgid "Slovak" +msgstr "슬로바키아어" + +#: conf/global_settings.py:70 +msgid "Slovenian" +msgstr "슬로베니아어" + +#: conf/global_settings.py:71 +msgid "Serbian" +msgstr "세르비아어" + +#: conf/global_settings.py:72 +msgid "Swedish" +msgstr "스웨덴어" + +#: conf/global_settings.py:73 +msgid "Tamil" +msgstr "타밀어" + +#: conf/global_settings.py:74 +msgid "Telugu" +msgstr "텔루구어" + +#: conf/global_settings.py:75 +msgid "Turkish" +msgstr "터키어" + +#: conf/global_settings.py:76 +msgid "Ukrainian" +msgstr "우크라이나어" + +#: conf/global_settings.py:77 +msgid "Simplified Chinese" +msgstr "중국어 간체" + +#: conf/global_settings.py:78 +msgid "Traditional Chinese" +msgstr "중국어 번체" + +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "문자, 숫자, '_'만 가능합니다." + +#: core/validators.py:68 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "문자, 숫자, '_', '-', '/'만 가능합니다." + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "문자, 숫자, '_', '-'만 가능합니다." + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "대문자는 사용할 수 없습니다." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "소문자는 사용할 수 없습니다." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "콤마로 구분된 숫자만 입력하세요." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "콤마로 구분된 이메일 주소만 입력하세요." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "올바른 IP 주소를 입력하세요." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "반드시 입력하세요." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "숫자만 사용할 수 있습니다." + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "숫자만 사용할 수는 없습니다." + +#: core/validators.py:120 newforms/fields.py:128 +msgid "Enter a whole number." +msgstr "정수를 입력하세요." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "문자만 사용할 수 있습니다." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "1900년 이후의 연도만 가능" + +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s" +msgstr "날짜가 부적절합니다.: %s" + +#: core/validators.py:153 +msgid "Enter a valid time in HH:MM format." +msgstr "시각은 HH:MM 형식으로 입력하세요." + +#: core/validators.py:162 newforms/fields.py:271 +msgid "Enter a valid e-mail address." +msgstr "올바른 이메일 주소를 입력하세요." + +#: core/validators.py:174 core/validators.py:445 oldforms/__init__.py:672 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "등록된 파일이 없습니다. 인코딩 형식을 확인하세요." + +#: core/validators.py:178 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"올바른 이미지를 업로드하세요.업로드하신 파일은 이미지 파일이 아니거나 파일이 " +"깨져 있습니다." + +#: core/validators.py:185 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "해당 URL %s (은)는 올바른 이미지가 아닙니다." + +#: core/validators.py:189 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" +"전화번호는 xxx-xxx-xxxx 형식으로 입력하세요. \"%s\" (은)는 부적절합니다." + +#: core/validators.py:197 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "해당 URL %s (은)는 올바른 QuickTime video가 아닙니다." + +#: core/validators.py:201 +msgid "A valid URL is required." +msgstr "올바른 URL을 입력하세요." + +#: core/validators.py:215 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"올바른 HTML을 입력하세요. 오류:\n" +"%s" + +#: core/validators.py:222 +#, python-format +msgid "Badly formed XML: %s" +msgstr "잘못된 형식의 XML: %s" + +#: core/validators.py:239 +#, python-format +msgid "Invalid URL: %s" +msgstr "부적절한 URL: %s" + +#: core/validators.py:244 core/validators.py:246 +#, python-format +msgid "The URL %s is a broken link." +msgstr "해당 URL %s 링크가 깨졌습니다." + +#: core/validators.py:252 +msgid "Enter a valid U.S. state abbreviation." +msgstr "올바른 미국의 주의 약어를 입력하세요." + +#: core/validators.py:266 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "비속어/욕설입니다. %s (은)는 사용하실 수 없습니다." +msgstr[1] "비속어/욕설입니다. %s (은)는 사용하실 수 없습니다." + +#: core/validators.py:273 +#, python-format +msgid "This field must match the '%s' field." +msgstr "이 필드는 '%s' 필드와 일치해야 합니다." + +#: core/validators.py:292 +msgid "Please enter something for at least one field." +msgstr "하나 이상의 필드에 입력해 주세요." + +#: core/validators.py:301 core/validators.py:312 +msgid "Please enter both fields or leave them both empty." +msgstr "양쪽 필드에 모두 입력하시거나, 모두 빈칸으로 해 주십시오." + +#: core/validators.py:320 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "%(field)s (이)가 %(value)s 일 경우, 이 필드에 반드시 입력해 주세요." + +#: core/validators.py:333 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "" +"%(field)s (이)가 %(value)s (이)가 아닐 경우, 이 필드에 반드시 입력해 주세요." + +#: core/validators.py:352 +msgid "Duplicate values are not allowed." +msgstr "중복해서 사용할 수 없습니다." + +#: core/validators.py:367 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "%(lower)s 에서 %(upper)s 사이의 값을 사용해 주세요." + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "%s 이상의 값을 사용해 주세요." + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "%s 이하의 값을 사용해 주세요." + +#: core/validators.py:407 +#, python-format +msgid "This value must be a power of %s." +msgstr "%s 제곱의 값을 사용해 주세요." + +#: core/validators.py:418 +msgid "Please enter a valid decimal number." +msgstr "10진수를 사용해 주세요." + +#: core/validators.py:422 +#, 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 자리 이하의 10진수를 입력하세요." +msgstr[1] "전체 %s 자리 이하의 10진수를 입력하세요." + +#: core/validators.py:425 +#, 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 자리 이하인 10진수를 입력하세요." +msgstr[1] "정수부분이 %s 자리 이하인 10진수를 입력하세요." + +#: core/validators.py:428 +#, 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 자리 이하인 10진수를 입력하세요." +msgstr[1] "소수부분이 %s 자리 이하인 10진수를 입력하세요." + +#: core/validators.py:438 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "업로드 파일은 %s bytes 이상입니다." + +#: core/validators.py:439 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "업로드 파일은 %s bytes 이하입니다." + +#: core/validators.py:456 +msgid "The format for this field is wrong." +msgstr "이 필드의 형식이 잘못되었습니다." + +#: core/validators.py:471 +msgid "This field is invalid." +msgstr "필드가 올바르지 않습니다." + +#: core/validators.py:507 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "%s 에서 검색된 내용이 없습니다." + +#: core/validators.py:510 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" +"URL %(url)s (이)가 부적절한 Content-Type heade '%(contenttype)s' (을)를 반환" +"했습니다." + +#: core/validators.py:543 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"%(line)s 줄의 %(tag)s 태그가 닫히지 않았습니다.(시작줄 : \"%(start)s\")" + +#: core/validators.py:547 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"%(line)s 줄의 내용으로 시작하는 텍스트는 사용할 수 없습니다.(시작줄 : \"%" +"(start)s\")" + +#: core/validators.py:552 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"%(line)s 줄의 \"%(attr)s\" (은)는 부적절한 속성입니다.(시작줄 : \"%(start)s" +"\")" + +#: core/validators.py:557 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"%(line)s 줄의 \"<%(tag)s>\" (은)는 부적절한 태그입니다.(시작줄 : \"%(start)s" +"\")" + +#: core/validators.py:561 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"%(line)s 줄의 태그는 하나 이상의 필수 속성이 생략되어 있습니다.(시작줄 : \"%" +"(start)s\")" + +#: core/validators.py:566 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"%(line)s 줄의 \"%(attr)s\" 속성의 값이 부적절합니다.(시작줄 : \"%(start)s\")" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s (이)가 생성되었습니다." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s (이)가 수정되었습니다." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s (이)가 삭제되었습니다." + +#: utils/dates.py:6 +msgid "Monday" +msgstr "월요일" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "화요일" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "수요일" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "목요일" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "금요일" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "토요일" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "일요일" + +#: utils/dates.py:14 +msgid "January" +msgstr "1월" + +#: utils/dates.py:14 +msgid "February" +msgstr "2월" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "3월" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "4월" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "5월" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "6월" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "7월" + +#: utils/dates.py:15 +msgid "August" +msgstr "8월" + +#: utils/dates.py:15 +msgid "September" +msgstr "9월" + +#: utils/dates.py:15 +msgid "October" +msgstr "10월" + +#: utils/dates.py:15 +msgid "November" +msgstr "11월" + +#: utils/dates.py:16 +msgid "December" +msgstr "12월" + +#: utils/dates.py:19 +msgid "jan" +msgstr "1월" + +#: utils/dates.py:19 +msgid "feb" +msgstr "2월" + +#: utils/dates.py:19 +msgid "mar" +msgstr "3월" + +#: utils/dates.py:19 +msgid "apr" +msgstr "4월" + +#: utils/dates.py:19 +msgid "may" +msgstr "5월" + +#: utils/dates.py:19 +msgid "jun" +msgstr "6월" + +#: utils/dates.py:20 +msgid "jul" +msgstr "7월" + +#: utils/dates.py:20 +msgid "aug" +msgstr "8월" + +#: utils/dates.py:20 +msgid "sep" +msgstr "9월" + +#: utils/dates.py:20 +msgid "oct" +msgstr "10월" + +#: utils/dates.py:20 +msgid "nov" +msgstr "11월" + +#: utils/dates.py:20 +msgid "dec" +msgstr "12월" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "1월" + +#: utils/dates.py:27 +msgid "Feb." +msgstr "2월" + +#: utils/dates.py:28 +msgid "Aug." +msgstr "8월" + +#: utils/dates.py:28 +msgid "Sept." +msgstr "9월" + +#: utils/dates.py:28 +msgid "Oct." +msgstr "10월" + +#: utils/dates.py:28 +msgid "Nov." +msgstr "11월" + +#: utils/dates.py:28 +msgid "Dec." +msgstr "12월" + +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "년" +msgstr[1] "년" + +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "월" +msgstr[1] "월" + +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "주" +msgstr[1] "주" + +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "일" +msgstr[1] "일" + +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "시간" +msgstr[1] "시간" + +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "분" +msgstr[1] "분" + +#: utils/timesince.py:40 +#, python-format +msgid "%d milliseconds" +msgstr "%d밀리초" + +#: utils/timesince.py:41 +#, python-format +msgid "%(number)d %(type)s" +msgstr "%(number)d%(type)s" + +#: utils/timesince.py:47 +#, python-format +msgid ", %(number)d %(type)s" +msgstr ", %(number)d%(type)s" + +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "오후" + +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "오전" + +#: utils/dateformat.py:46 +msgid "PM" +msgstr "오후" + +#: utils/dateformat.py:47 +msgid "AM" +msgstr "오전" + +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "자정" + +#: utils/dateformat.py:97 +msgid "noon" +msgstr "정오" + +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "" + +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "%d 자 이하로 입력해 주세요." + +#: newforms/fields.py:105 newforms/fields.py:258 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "%d 자 이상 입력해 주세요." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "%s 자 이하로 입력해 주세요." + +#: newforms/fields.py:132 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "%s 자 이상 입력해 주세요." + +#: newforms/fields.py:165 +msgid "Enter a valid date." +msgstr "올바른 날짜를 입력하세요." + +#: newforms/fields.py:192 +msgid "Enter a valid time." +msgstr "올바른 시각을 입력하세요." + +#: newforms/fields.py:228 +msgid "Enter a valid date/time." +msgstr "올바른 날짜/시각을 입력하세요." + +#: newforms/fields.py:242 +msgid "Enter a valid value." +msgstr "올바른 값을 입력하세요." + +#: newforms/fields.py:289 newforms/fields.py:311 +msgid "Enter a valid URL." +msgstr "올바른 URL을 입력하세요." + +#: newforms/fields.py:313 +msgid "This URL appears to be a broken link." +msgstr "해당 URL의 링크가 잘못 되어 있습니다." + +#: newforms/fields.py:364 newforms/models.py:165 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "올바르게 선택해 주세요. 선택하신 것이 선택가능항목에 없습니다." + +#: newforms/fields.py:380 newforms/fields.py:456 newforms/models.py:182 +msgid "Enter a list of values." +msgstr "리스트를 입력하세요." + +#: newforms/fields.py:389 newforms/models.py:188 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "올바르게 선택해 주세요. %s (이)가 선택가능항목에 없습니다." + +#: newforms/widgets.py:180 contrib/admin/filterspecs.py:150 +#: oldforms/__init__.py:577 +msgid "Unknown" +msgstr "알 수 없습니다." + +#: newforms/widgets.py:180 contrib/admin/filterspecs.py:143 +#: oldforms/__init__.py:577 +msgid "Yes" +msgstr "예" + +#: newforms/widgets.py:180 contrib/admin/filterspecs.py:143 +#: oldforms/__init__.py:577 +msgid "No" +msgstr "아니오" + +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "python 모델 클래스 명" + +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "콘텐츠 타입" + +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "콘텐츠 타입(들)" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "번째" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" +msgstr "번째" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" +msgstr "번째" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "번째" + +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "(value).1f" +msgstr[1] "(value).1f" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f" +msgstr[1] "%(value).1f" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f" +msgstr[1] "%(value).1f" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "1" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "2" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "3" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "4" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "5" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "6" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "7" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "8" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "9" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "로그 아웃" + +#: contrib/auth/models.py:38 contrib/auth/models.py:58 +msgid "name" +msgstr "이름" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "코드명" + +#: contrib/auth/models.py:43 +msgid "permission" +msgstr "허가" + +#: contrib/auth/models.py:44 contrib/auth/models.py:59 +msgid "permissions" +msgstr "허가" + +#: contrib/auth/models.py:62 +msgid "group" +msgstr "그룹" + +#: contrib/auth/models.py:63 contrib/auth/models.py:103 +msgid "groups" +msgstr "그룹" + +#: contrib/auth/models.py:93 +msgid "username" +msgstr "사용자명" + +#: contrib/auth/models.py:93 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "필수항목입니다. 30자 이내로 입력하세요.(알파벳, 숫자, '_' 만 가능)" + +#: contrib/auth/models.py:94 +msgid "first name" +msgstr "이름" + +#: contrib/auth/models.py:95 +msgid "last name" +msgstr "성" + +#: contrib/auth/models.py:96 +msgid "e-mail address" +msgstr "이메일 주소" + +#: contrib/auth/models.py:97 +msgid "password" +msgstr "비밀번호" + +#: contrib/auth/models.py:97 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"'[algo]$[salt]$[hexdigest]' 또는 비밀번호 변경" + +#: contrib/auth/models.py:98 +msgid "staff status" +msgstr "스태프 권한" + +#: contrib/auth/models.py:98 +msgid "Designates whether the user can log into this admin site." +msgstr "사용자가 관리사이트에 로그인이 가능한지를 나타냅니다." + +#: contrib/auth/models.py:99 +msgid "active" +msgstr "활성" + +#: contrib/auth/models.py:99 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "사용자가 'Django 관리'에 로그인이 가능한지를 나타냅니다." + +#: contrib/auth/models.py:100 +msgid "superuser status" +msgstr "최상위 사용자 권한" + +#: contrib/auth/models.py:100 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "해당 사용자에게 모든 권한을 허가합니다." + +#: contrib/auth/models.py:101 +msgid "last login" +msgstr "마지막 로그인" + +#: contrib/auth/models.py:102 +msgid "date joined" +msgstr "등록일" + +#: 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 "해당 사용자에게 속해있는 그룹의 모든 권한을 허가합니다." + +#: contrib/auth/models.py:105 +msgid "user permissions" +msgstr "사용자 권한" + +#: contrib/auth/models.py:109 +msgid "user" +msgstr "사용자" + +#: contrib/auth/models.py:110 +msgid "users" +msgstr "사용자(들)" + +#: contrib/auth/models.py:116 +msgid "Personal info" +msgstr "개인정보" + +#: contrib/auth/models.py:117 +msgid "Permissions" +msgstr "권한" + +#: contrib/auth/models.py:118 +msgid "Important dates" +msgstr "중요한 일정" + +#: contrib/auth/models.py:119 +msgid "Groups" +msgstr "그룹" + +#: contrib/auth/models.py:263 +msgid "message" +msgstr "메시지" + +#: contrib/auth/models.py:276 +#, fuzzy +msgid "AnonymousUser" +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 "" +"사용하시는 브라우저가 쿠키를 허용하지 않습니다.로그인하기 위해서는 쿠키 사용" +"이 필요합니다." + +#: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "사용자명과 비밀번호를 입력하세요.(대, 소문자 구별)" + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "이 계정은 유효하지 않습니다." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"이메일주소와 일치하는 사용자가 없습니다.이 이메일주소로 등록하셨습니까?" + +#: 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/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/comments/models.py:67 contrib/comments/models.py:166 +msgid "object ID" +msgstr "오브젝트 ID" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "최근 정보" + +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "코멘트" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "rating #1" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "rating #2" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "rating #3" + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "rating #4" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "rating #5" + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "rating #6" + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "rating #7" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "rating #8" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "올바른 레이팅입니다." + +#: contrib/comments/models.py:83 contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "날짜/시간 확인" + +#: contrib/comments/models.py:84 contrib/comments/models.py:170 +msgid "is public" +msgstr "공개합니다." + +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 +msgid "IP address" +msgstr "IP 주소" + +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "삭제합니다." + +#: contrib/comments/models.py:86 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"코멘트가 부적절한 경우 체크하세요. \"코멘트가 삭제되었습니다.\" 메시지가 표시" +"됩니다." + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "코멘트(들)" + +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "콘텐츠 오브젝트" + +#: contrib/comments/models.py:159 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"%(user)s (이)가 %(date)s 등록\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "사용자 이름" + +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "IP 주소" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "스태프 승인" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "프리 코멘트" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "프리 코멘트(들)" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "스코어" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "스코어 날짜" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "카르마 스코어" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "카르마 스코어" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "%(user)s (이)가 %(score)d 점 부여했습니다." + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"%(user)s:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "플래그 날짜" + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "사용자 플래그" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "사용자 플래그" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "%r (으)로 플래그" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "삭제일" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "" + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr "" + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "미등록 사용자는 투표할 수 없습니다." + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "코멘트 ID가 부적절합니다." + +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "자신이 직접 투표할 수 없습니다." + +#: contrib/comments/views/comments.py:27 +msgid "" +"This rating is required because you've entered at least one other rating." +msgstr "다른 레이팅을 입력했을 경우, 이 레이팅은 필히 입력하셔야 합니다." + +#: contrib/comments/views/comments.py:111 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" +"\n" +"%(text)s" +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:116 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"이 코멘트는 알수 없는 사용자가 작성했습니다.:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "POST만 가능합니다." + +#: contrib/comments/views/comments.py:192 +#: contrib/comments/views/comments.py:284 +msgid "One or more of the required fields wasn't submitted" +msgstr "하나 이상의 필수항목이 누락되었습니다." + +#: contrib/comments/views/comments.py:196 +#: contrib/comments/views/comments.py:286 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "해당 코멘트가 누군가에 의해 변경되었습니다." + +#: contrib/comments/views/comments.py:206 +#: contrib/comments/views/comments.py:292 +msgid "" +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" +msgstr "" +"'target' 파라미터가 코멘트 폼에 적합하지 않습니다.오브젝트 ID가 부적절합니다." + +#: contrib/comments/views/comments.py:257 +#: contrib/comments/views/comments.py:321 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "해당 코멘트 폼은 '미리보기'와 'post' 기능을 제공하지 않습니다." + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "이름:" + +#: contrib/comments/templates/comments/freeform.html:5 +#: contrib/comments/templates/comments/form.html:28 +msgid "Comment:" +msgstr "코멘트:" + +#: contrib/comments/templates/comments/freeform.html:10 +#: contrib/comments/templates/comments/form.html:35 +msgid "Preview comment" +msgstr "코멘트 미리보기" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:17 +msgid "Username:" +msgstr "사용자명" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +msgid "Log out" +msgstr "로그아웃" + +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "비밀번호" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "비밀번호를 잊으셨습니까?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "레이팅" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "필수항목" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "옵션" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "사진 등록" + +#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:315 +msgid "URL" +msgstr "URL" + +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +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/sessions/models.py:68 +msgid "session key" +msgstr "세션 키" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "세션 날짜" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "유효날짜" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "세션" + +#: contrib/sessions/models.py:75 +msgid "sessions" +msgstr "세션" + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "도메인 명" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "표시명" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "사이트" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "사이트(들)" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

                                                          By %s:

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

                                                            %s(으)로:

                                                            \n" +"
                                                              \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "모두" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "언제나" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "오늘" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "지난 7일" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "이번 달" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "이번 해" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "액션 타임" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "오브젝트 아이디" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "오브젝트 표현" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "액션 플래그" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "메시지 변경" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "로그 엔트리" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "로그 엔트리" + +#: contrib/admin/templatetags/admin_list.py:247 +msgid "All dates" +msgstr "언제나" + +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "로그인" + +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "로그인 세션이 끊겼습니다. 다시 로그인 하세요." + +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"사용하시는 브라우저가 쿠키 사용을 허가하고 있지 않습니다.쿠키 사용을 체크하시" +"고 다시 시도해 주세요." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "사용자명에는 '@'을 사용할 수 없습니다." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "이메일 주소와 사용자명은 다릅니다. '%s'를 사용하세요." + +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" (이)가 추가되었습니다." + +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 +msgid "You may edit it again below." +msgstr "계속해서 편집하실 수 있습니다." + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "사용자 추가" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "비밀번호가 변경되었습니다." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "비밀번호 변경: %s" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "사이트 관리" + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "계속해서 다른 %s (을)를 추가하세요." + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "%s 추가" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "%s (이)가 추가되었습니다." + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "%s (이)가 변경되었습니다." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "%s (이)가 삭제되었습니다." + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "변경된 필드가 없습니다." + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" (이)가 변경되었습니다." + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "%(name)s \"%(obj)s\" (이)가 추가되었습니다. 계속해서 편집하세요." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "%s 변경" + +#: contrib/admin/views/main.py:476 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "%(name)s 에 %(fieldname)s (이)가 하나 이상 있는 %(obj)s" + +#: contrib/admin/views/main.py:481 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "%(name)s 에 %(fieldname)s (이)가 하나 이상 있는" + +#: contrib/admin/views/main.py:514 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" (이)가 삭제되었습니다." + +#: contrib/admin/views/main.py:517 +msgid "Are you sure?" +msgstr "확실합니까?" + +#: contrib/admin/views/main.py:539 +#, python-format +msgid "Change history: %s" +msgstr "변경 히스토리: %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s" +msgstr "%s 선택" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s to change" +msgstr "변경할 %s 선택" + +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "데이터베이스 오류" + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "태그:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "필터:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "뷰:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "어플리케이션 %r (이)가 없습니다." + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "모델 %(name)r (이)가 어플리케이션 %(label)r 에 없습니다." + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "`%(label)s.%(type)s` 관련 오브젝트" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "모델:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "`%(label)s.%(name)s` 관련 오브젝트(들)" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "모든 %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "%s 의 수" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "%s 오브젝트의 필드" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +msgid "Integer" +msgstr "정수" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "boolean(참 또는 거짓)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "문자열(%(maxlength)s 까지)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "정수(콤마로 구분)" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "날짜(시간 제외)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "날짜(시간 포함)" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "이메일 주소" + +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "파일 경로" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "10진수" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "boolean (참, 거짓 또는 none)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "부모(상위) 모델과 연계" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "전화번호" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "텍스트" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "시각" + +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "미국의 주 (두개의 대문자로)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "XML 텍스트" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s (은)는 url 패턴의 오브젝트가 아닙니다." + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "현재:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +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/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "문서" + +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +msgid "Change password" +msgstr "비밀번호 변경" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_list.html:6 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "홈" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:21 +msgid "History" +msgstr "히스토리" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "날짜/시간" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "사용자" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "액션" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "년/월/일 시:분:초" + +#: 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 "" +"오브젝트에 변경사항이 없습니다.이 admin 사이트를 통해 추가된 사항이 아닙니다." + +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s 추가" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "%(filter_title)s (으)로" + +#: 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/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/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] "1건" +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/pagination.html:10 +msgid "Show all" +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/filters.html:4 +msgid "Filter" +msgstr "필터" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "해당 페이지가 없습니다." + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "죄송합니다, 요청하신 페이지를 찾을 수 없습니다." + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "%(name)s 어플리케이션으로 이용 가능한 모델" + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:28 +#: contrib/admin/templates/admin/change_form.html:15 +msgid "Add" +msgstr "추가" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "변경" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "수정할 권한이 없습니다." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "최근 액션" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "나의 액션" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "이용할 수 없습니다." + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "사이트에서 보기" + +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "아래의 오류를 수정해 주세요." +msgstr[1] "아래의 오류들을 수정해 주세요." + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "순서" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "순서:" + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "환영합니다," + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "삭제" + +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"%(object_name)s \"%(escaped_object)s\" (을)를 삭제하면서관련 오브젝트를 제거" +"하고자 했으나, 지금 사용하시는 계정은 다음 타입의 오브젝트를 제거할 권한이 없" +"습니다. :" + +#: contrib/admin/templates/admin/delete_confirmation.html:21 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"정말로 %(object_name)s \"%(escaped_object)s\" (을)를 삭제하시겠습니까?다음의 " +"관련 아이템들이 모두 삭제됩니다. :" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "네, 확실합니다." + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "새로 저장" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "저장 및 다른 이름으로 추가" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "저장 및 편집 계속" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "저장" + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "%(username)s 새로운 비밀번호를 입력하세요." + +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "비밀번호" + +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "비밀번호 (확인)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "확인을 위해 위와 동일한 비밀번호를 입력하세요. " + +#: 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/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_form.html:6 +#: contrib/admin/templates/registration/password_change_form.html:10 +msgid "Password change" +msgstr "비밀번호 변경" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "비밀번호를 변경하였습니다." + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "비밀번호가 변경되었습니다." + +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +#: contrib/admin/templates/registration/password_reset_done.html:4 +msgid "Password reset" +msgstr "비밀번호 초기화" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll reset " +"your password and e-mail the new one to you." +msgstr "" +"비밀번호를 잊으셨나요? 아래에 비밀번호를 입력하시면비밀전호를 초기화 한 후, " +"새로운 비밀번호를 보내드리겠습니다." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "이메일 주소:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "비밀번호 초기화" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "사이트를 이용해 주셔서 고맙습니다." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "다시 로그인하기" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "비밀번호가 초기화 되었습니다." + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." +msgstr "새로운 비밀번호를 등록하신 이메일로 보내드렸습니다." + +#: contrib/admin/templates/registration/password_change_form.html:12 +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"보안상 필요하오니 기존에 사용하시던 비밀번호를 입력해 주세요.새로운 비밀번호" +"는 정확히 입력했는지 확인할 수 있도록 두 번 입력하시기 바랍니다." + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "기존 비밀번호:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "새로운 비밀번호:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "새로운 비밀번호(확인):" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "비밀번호 변경" + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "비밀번호가 초기화 되었음을 알려드립니다." + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "%(site_name)s 의 사용자 비밀번호가 초기화 되었습니다." + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "새로운 비밀번호는 %(new_password)s 입니다." + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "해당 페이지에서 언제든지 비밀번호 변경이 가능합니다." + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "사용자명:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "사이트를 이용해 주셔서 고맙습니다." + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s 팀" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "북마크릿" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "문서 북마크릿" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

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

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

                                                              북마크릿을 설치하시려면 링크를 북마크 툴바로 드래그 하거" +"나,\n" +"오른쪽 클릭으로 해당 링크를 북마크에 추가하세요.\n" +"이제 사이트 내의 모든 페이지에서 북마크릿 선택이 가능합니다.\n" +"북마크릿에 따라 내부 네트워크 상의 컴퓨터로부터 이 사이트를 참조해야하는 경우" +"가 있습니다.\n" +"(내부 네트워크가 있는지 불명확한 경우 시스템 관리자에게 확인하시기 바랍니다.)" +"

                                                              \n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "이 페이지의 문서" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "각 페이지로에서 해당 페이지를 생성한 뷰의 문서로 갑니다." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "오브젝트 아이디 표시" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "단일 오브젝트 페이지의 고유 아이디와 컨텐츠 타입을 표시합니다." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "오브젝트 편집(현재 창)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "단일 오브젝트 페이지의 관리 페이지로 이동" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "오브젝트 편집(새로운 창)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "위와 동일하며, 새로운 창에서 관리 페이지를 엽니다." + +#: contrib/localflavor/au/forms.py:18 +#, +msgid "Enter a 4 digit post code." +msgstr "우편번호를 입력하세요. (xxxx)" + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "우편번호를 입력하세요. (xxx xxx)" + +#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/fi/forms.py:14 +#: contrib/localflavor/de/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "우편번호를 입력하세요.(xxx xxx)" + +#: contrib/localflavor/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "우변번호를 입력하세요.(xxxxxx 또는 xxx-xxx)" + +#: 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/it/forms.py:16 +#, +msgid "Enter a valid zip code." +msgstr "올바른 우편번호를 입력하세요." + +#: contrib/localflavor/it/forms.py:41 +#, +msgid "Enter a valid Social Security number." +msgstr "올바른 Social Security number를 입력하세요." + +#: contrib/localflavor/it/forms.py:68 +#, +msgid "Enter a valid VAT number." +msgstr "올바른 VAT번호를 입력하세요." + +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +#, +msgid "Enter a valid Finnish social security number." +msgstr "올바른 핀란드 Social Security number를 입력하세요." + +#: contrib/localflavor/br/forms.py:18 +#, +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "우편번호는 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/no/forms.py:15 +#, fuzzy +msgid "Enter a zip code in the format XXXX." +msgstr "우편번호를 입력하세요.(xxx xxx)" + +#: contrib/localflavor/no/forms.py:36 +#, fuzzy +msgid "Enter a valid Norwegian social security number." +msgstr "10진수를 사용해 주세요." + +#: 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 +#, fuzzy +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 +#, fuzzy +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 +#, fuzzy +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:60 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" + +#: contrib/localflavor/us/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "우변번호를 입력하세요.(xxxxxx 또는 xxx-xxx)" + +#: contrib/localflavor/us/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" + +#: template/defaultfilters.py:491 +msgid "yes,no,maybe" +msgstr "예, 아니오, 아마도" + +#: template/defaultfilters.py:520 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#: template/defaultfilters.py:522 +#, python-format +msgid "%.1f KB" +msgstr "" + +#: template/defaultfilters.py:524 +#, python-format +msgid "%.1f MB" +msgstr "" + +#: template/defaultfilters.py:525 +#, python-format +msgid "%.1f GB" +msgstr "" + +#: oldforms/__init__.py:392 +#, 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:397 +msgid "Line breaks are not allowed here." +msgstr "줄바꿈이 허용되지 않습니다." + +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "올바르게 선택해 주세요. '%(data)s' (이)가 %(choices)s 에 없습니다." + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "입력하신 파일은 빈 파일입니다." + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "-32,768 ~ 32,767 사이의 정수를 입력하세요." + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "양수를 입력하세요." + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "0 ~ 32,767 사이의 정수를 입력하세요." diff --git a/django/conf/locale/ko/LC_MESSAGES/djangojs.mo b/django/conf/locale/ko/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..7b70530c1a3e5d0bf73a7d8026b780a856b4dc4f GIT binary patch literal 1577 zcmZva-)|IE6vwZMsH>s^{z%Z|XhMQ9Q)X)^WkupzS}Cw?(_J7u-p*ckM`q`)cV;S^ zkf^xXG=ND-TC+k+_5lnKNSaW!54`xKPyPkO7avSIvxzSz`sVlSP9+*|a?aV zo;&l)_AN^S>lMhWkOz?6kmX09uL*a~LB$G{Qr8So(ZBsh`o&w$UuKMiKU3iuRg zQl0}Jhu;FXfS14%;AN2e{FcUl2l<>oKtA^`ko$6wfNdbx?*&J|A&~plK<*QOeC|1L z05i0}r{RB#BJTGCxC8tt^&h1C736a^QvM0@oLkYH<2yjEe;wrhd%#2BU>g58<=K>< zrfh+`koP6{8h9&>{|Ju3|2g${qB-~9mGTXcKLNIT_W;CB2)`|VE4~xw^US=qL0*D9 z!Onlyi>d!S$g}gpc;aOUo=0ql@WNAz=O8bzgT-_5+x=?|lN_iGh_q*V_n`-z)KyG$c9ZY3GbM;+B;-D*Z^B292v( z(=!UvI91Bmjq6cCHt1;ND=4o)`KS^FAr)0URJB=UXvzsSb5hUs1BaEcZxEM3=C1yeO=SWpwDR)gsQhOZS+St*qSI?CzT0Y z?dNDZKYA?x!5Ez!n<-9AO=f0PU7OG<1QoYzy&qKqtE6+3nVu?HqejUPMb=>%svHg4 z_I}GAvg~2XW^-BlE&G6NBhi{sb1pak|Ga(uyyG$mt&)*`;K@*%935#yJ{4TbD>_(} z^?IXldFp~$m(rYL#+0(8fLYh)d;Httg?1b_iD0S zB$8_jNoPqwFoo#0o5{61B1z9$xlf$m{d$p-`8LJ3G12-wbz2?Lzamf8z1pPi=WFpd zce_jNq`974SrqZTHNIQ2avvTvw@EED+l, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-04-06 11:10+0900\n" +"PO-Revision-Date: 2007-04-06 11:15+0900\n" +"Last-Translator: Hyun Mi Ae \n" +"Language-Team: Korean\n" +"MIME-Version: 1.0\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 "1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월" + +#: 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/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/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/lv/LC_MESSAGES/django.mo b/django/conf/locale/lv/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..e3cd24cfb720d3902e3862a12dcde609e7b6b79b GIT binary patch literal 38363 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%0A7Br+Z9Ce7^ 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, 2006. +# +# , fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-05-07 23:28+0300\n" +"PO-Revision-Date: 2007-05-08 00:35+0300\n" +"Last-Translator: Gatis Tomsons \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: oldforms/__init__.py:357 +#: db/models/fields/__init__.py:117 +#: db/models/fields/__init__.py:274 +#: db/models/fields/__init__.py:612 +#: db/models/fields/__init__.py:623 +#: newforms/models.py:178 +#: newforms/fields.py:80 +#: newforms/fields.py:376 +#: newforms/fields.py:452 +#: newforms/fields.py:463 +msgid "This field is required." +msgstr "Šis lauks ir obligāts." + +#: oldforms/__init__.py:392 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "" +msgstr[1] "" + +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "Pārnešana jaunā rindā šeit nav atļauta." + +#: oldforms/__init__.py:498 +#: oldforms/__init__.py:571 +#: oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "" + +#: oldforms/__init__.py:577 +#: newforms/widgets.py:180 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Nezināms" + +#: oldforms/__init__.py:577 +#: newforms/widgets.py:180 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "Jā" + +#: oldforms/__init__.py:577 +#: newforms/widgets.py:180 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "Nē" + +#: oldforms/__init__.py:672 +#: core/validators.py:174 +#: core/validators.py:445 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "Jūsu norādītais fails ir tukšs." + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Ievadiet veselu skaitli intervālā no -32,768 līdz 32,767." + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "Ievadiet pozitīvu skaitli." + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Ievadiet veselu skaitli intervāla starp 0 un 32,767." + +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "" + +#: db/models/manipulators.py:308 +#: contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:339 +msgid "and" +msgstr "un" + +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "" + +#: db/models/fields/__init__.py:369 +msgid "This value must be an integer." +msgstr "Vērtībai ir jābūt veselam skaitlim." + +#: db/models/fields/__init__.py:404 +msgid "This value must be either True or False." +msgstr "Vērtībai jābūt True vai False." + +#: db/models/fields/__init__.py:425 +msgid "This field cannot be null." +msgstr "Šis lauks nevar būt null" + +#: db/models/fields/__init__.py:459 +#: core/validators.py:148 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Ievadiet korektu datumu YYYY-MM-DD formātā." + +#: db/models/fields/__init__.py:528 +#: core/validators.py:157 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Ievadiet korektu datumu/laiku YYYY-MM-DD HH:MM formātā." + +#: db/models/fields/__init__.py:632 +msgid "Enter a valid filename." +msgstr "Ievadiet korektu faila vārdu." + +#: db/models/fields/__init__.py:753 +msgid "This value must be either None, True or False." +msgstr "Šai vērtībai jābūt None, True vai False." + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Lūdzu ievadiet korektu %s" + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Atdaliet vairākus ID ar komatiem." + +#: db/models/fields/related.py:644 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +msgstr[1] "" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arābu" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengāļu" + +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Čehu" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Velsas" + +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Dāņu" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "Vācu" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Grieķu" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "Angļu" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Spaņu" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Argentīniešu Spāņu" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Somu" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "Franču" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Galīciešu" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Ungāru" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Islandiešu" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Itāļu" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Japāņu" + +#: conf/global_settings.py:58 +msgid "Korean" +msgstr "Koreiešu" + +#: conf/global_settings.py:59 +msgid "Kannada" +msgstr "Kanāda" + +#: conf/global_settings.py:60 +msgid "Latvian" +msgstr "Latviešu" + +#: conf/global_settings.py:61 +msgid "Macedonian" +msgstr "Maķedoniešu" + +#: conf/global_settings.py:62 +msgid "Dutch" +msgstr "Dāņu" + +#: conf/global_settings.py:63 +msgid "Norwegian" +msgstr "Norvēģu" + +#: conf/global_settings.py:64 +msgid "Polish" +msgstr "Poļu" + +#: conf/global_settings.py:65 +msgid "Portugese" +msgstr "Portugāļu" + +#: conf/global_settings.py:66 +msgid "Brazilian" +msgstr "Brazīliešu" + +#: conf/global_settings.py:67 +msgid "Romanian" +msgstr "Rumāņu" + +#: conf/global_settings.py:68 +msgid "Russian" +msgstr "Krievu" + +#: conf/global_settings.py:69 +msgid "Slovak" +msgstr "Slovāku" + +#: conf/global_settings.py:70 +msgid "Slovenian" +msgstr "Slovēņu" + +#: conf/global_settings.py:71 +msgid "Serbian" +msgstr "Serbu" + +#: conf/global_settings.py:72 +msgid "Swedish" +msgstr "Zviedru" + +#: conf/global_settings.py:73 +msgid "Tamil" +msgstr "Tamiliešu" + +#: conf/global_settings.py:74 +msgid "Telugu" +msgstr "Telugu" + +#: conf/global_settings.py:75 +msgid "Turkish" +msgstr "Turku" + +#: conf/global_settings.py:76 +msgid "Ukrainian" +msgstr "Ukraiņu" + +#: conf/global_settings.py:77 +msgid "Simplified Chinese" +msgstr "Vienkāršā ķīniešu" + +#: conf/global_settings.py:78 +msgid "Traditional Chinese" +msgstr "Tradicionālā ķīniešu" + +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Šī vērtība var saturēt tikai burtus, numurus un apakšsvītras." + +#: core/validators.py:68 +msgid "This value must contain only letters, numbers, underscores, dashes or slashes." +msgstr "Šī vērtība var saturēt tikai burtus, numurus un apakšsvītras, svītras vai šķērssvītras." + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Šī vērtība var saturēt tikai burtus, numurus un apakšsvītras vai šķērssvītras." + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Augšējā reģistra burti nav atļauti." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Apakšējā reģistra burti nav atļauti." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Ievadiet tikai numurus, kas atdalīti ar komatiem." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Ievadiet korektas e-pasta adreses, kas atdalītas ar komatiem." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Lūdzu ievadiet korektu IP adresi." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "Tukšas vērtības nav atļautas." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Ne ciparu simboli nav atļauti." + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Šī vērtība nevar saturēt tikai ciparus." + +#: core/validators.py:120 +#: newforms/fields.py:128 +msgid "Enter a whole number." +msgstr "Ievadiet veselus skaitļus." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Atļauti tikai alfabētiskie simboli." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "Gadam jabūt 1900 vai vēlākam." + +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s" +msgstr "Nekorekts datums: %s" + +#: core/validators.py:153 +msgid "Enter a valid time in HH:MM format." +msgstr "Ievadiet korektu laiku HH:MM formātā" + +#: core/validators.py:162 +#: newforms/fields.py:271 +msgid "Enter a valid e-mail address." +msgstr "Ievadiet korektu e-pasta adresi." + +#: core/validators.py:178 +msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." +msgstr "Augšupielādējiet korektu attēlu. Fails, ko Jūs augšupielādējāt nav attēls vai arī bojāts attēla fails." + +#: core/validators.py:185 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "URL %s nesatur korektu attēlu." + +#: core/validators.py:189 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "Telefona numuriem jābūt XXX-XXX-XXXX formātā. \"%s\" is nekorekts." + +#: core/validators.py:197 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "URL %s nenorāda uz korektu QuickTime video." + +#: core/validators.py:201 +msgid "A valid URL is required." +msgstr "Reāls URL obligāts." + +#: core/validators.py:215 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Korekts HTML ir obligāts. Specifiskās kļūdas:\n" +"%s" + +#: core/validators.py:222 +#, python-format +msgid "Badly formed XML: %s" +msgstr "Slikti formēts XML: %s" + +#: core/validators.py:239 +#, python-format +msgid "Invalid URL: %s" +msgstr "Nekorekts URL: %s" + +#: core/validators.py:244 +#: core/validators.py:246 +#, python-format +msgid "The URL %s is a broken link." +msgstr "URL %s ir salauzta saite." + +#: core/validators.py:252 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Ievadiet korektu ASV štata abriviatūru." + +#: core/validators.py:266 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "Seko saviem vārdiem! Vārds %s nav atļauts šeit." +msgstr[1] "Seko saviem vārdiem! Vārdi %s nav atļauts šeit." + +#: core/validators.py:273 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Laukam jāsaskan ar %s lauku." + +#: core/validators.py:292 +msgid "Please enter something for at least one field." +msgstr "Lūdzu ievadiet kaut ko vismaz vienā laukā." + +#: core/validators.py:301 +#: core/validators.py:312 +msgid "Please enter both fields or leave them both empty." +msgstr "Lūdzu ievadiet abus laukus vai atstājiet abus tukšus." + +#: core/validators.py:320 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Šis lauks ir jāaizpilda, ja %(field)s ir vienāds %(value)s" + +#: core/validators.py:333 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Šis lauks ir jāaizpilda, ja %(field)s nav vienāds %(value)s" + +#: core/validators.py:352 +msgid "Duplicate values are not allowed." +msgstr "Duplicētas vērtības nav atļautas." + +#: core/validators.py:367 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Šai vērtībai jābūt starp %(lower)s un %(upper)s." + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "Šai vērtībai jābūt vismaz %s." + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "Šai vērtība nedrīkst pārsniegt %s." + +#: core/validators.py:407 +#, python-format +msgid "This value must be a power of %s." +msgstr "Šai vērtībai jābūt %s pakāpei." + +#: core/validators.py:418 +msgid "Please enter a valid decimal number." +msgstr "Lūdzu ievadiet korektu decimālu numuru." + +#: core/validators.py:422 +#, 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] "Lūdzu ievadiet korektu decimālu numuru ar maksimālu ciparu skaitu %s." +msgstr[1] "Lūdzu ievadiet korektu decimālu numuru ar maksimālu ciparu skaitu %s." + +#: core/validators.py:425 +#, 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] "Lūdzu ievadiet korektu decimālu numuru ar maksimālu ciparu skaitu %s." +msgstr[1] "Lūdzu ievadiet korektu decimālu numuru ar maksimālu ciparu skaitu %s." + +#: core/validators.py:428 +#, 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] "Lūdzu ievadiet korektu decimālu numuru ar maksimālu ciparu skaitu aiz komata %s." +msgstr[1] "Lūdzu ievadiet korektu decimālu numuru ar maksimālu ciparu skaitu aiz komata %s." + +#: core/validators.py:438 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Pārliecinieties, ka jūsu augšupielādētais fails ir vismaz %s baiti liels." + +#: core/validators.py:439 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Pārliecinieties, ka jūsu augšupielādētais fails ir maksimums %s baiti liels." + +#: core/validators.py:456 +msgid "The format for this field is wrong." +msgstr "Šī faila formāts ir nekorekts." + +#: core/validators.py:471 +msgid "This field is invalid." +msgstr "Šis lauks ir nekorekts." + +#: core/validators.py:507 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Nevar neko no %s" + +#: core/validators.py:510 +#, python-format +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "URL %(url)s atgrieza nekorektu Content-Type headeri '%(contenttype)s'." + +#: core/validators.py:543 +#, python-format +msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" +msgstr "Lūdzu aiztaisiet neaiztaisīto %(tag)s tagu no rindas nr %(line)s. (Rinda sākas ar \"%(start)s\".)" + +#: core/validators.py:547 +#, python-format +msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" +msgstr "" + +#: core/validators.py:552 +#, python-format +msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" +msgstr "" + +#: core/validators.py:557 +#, python-format +msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" +msgstr "" + +#: core/validators.py:561 +#, python-format +msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" +msgstr "" + +#: core/validators.py:566 +#, python-format +msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" +msgstr "" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s tika veiksmīgi izveidots." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s tika veiksmīgi dzēsts." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s tika dzēsts." + +#: newforms/models.py:165 +#: newforms/fields.py:364 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Izvēlaties pareizu izvēli. Jūsu izvēlētais objekts neietilpst pieejamo sarakstā." + +#: newforms/models.py:182 +#: newforms/fields.py:380 +#: newforms/fields.py:456 +msgid "Enter a list of values." +msgstr "Ievadiet sarakstu ar vērtībām." + +#: newforms/models.py:188 +#: newforms/fields.py:389 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Izvēlieties pareizu izvēli. %s nav pieejamo izvēļu sarakstā." + +#: newforms/fields.py:103 +#: newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Vērtībai jasatur ne vairāk, kā %d rakstzīmju." + +#: newforms/fields.py:105 +#: newforms/fields.py:258 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Vērtībai jasatur vismaz %d rakstzīmju." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Šai vērtībai jabūt mazākai vai vienādai ar %s." + +#: newforms/fields.py:132 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Vērtībai jabūt lielākai vai vienādai ar %s." + +#: newforms/fields.py:165 +msgid "Enter a valid date." +msgstr "Ievadiet korektu datumu." + +#: newforms/fields.py:192 +msgid "Enter a valid time." +msgstr "Ievadiet korektu laiku." + +#: newforms/fields.py:228 +msgid "Enter a valid date/time." +msgstr "Ievadiet korektu datumu/laiku." + +#: newforms/fields.py:242 +msgid "Enter a valid value." +msgstr "Ievadiet korektu vērtību." + +#: newforms/fields.py:289 +#: newforms/fields.py:311 +msgid "Enter a valid URL." +msgstr "Ievadiet korektu adresi." + +#: newforms/fields.py:313 +msgid "This URL appears to be a broken link." +msgstr "Šī adrese ir bojāta." + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "th" + +#: contrib/humanize/templatetags/humanize.py:17 +#, fuzzy +msgid "st" +msgstr "saits" + +#: contrib/humanize/templatetags/humanize.py:17 +#, fuzzy +msgid "nd" +msgstr "un" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "rd" + +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "viens" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "divi" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "trīs" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "četri" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "pieci" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "seši" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "septiņi" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "astoņi" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "deviņi" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "novirzīt(redirect) no" + +#: contrib/redirects/models.py:8 +msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." +msgstr "Tam jābūt absolūtajam ceļam, ieskaitot domēna vārdu. Piemēram: '/events/search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "novirzīt(redirect) uz" + +#: contrib/redirects/models.py:10 +msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." +msgstr "Tas ir vai nu absolūtais ceļš (kā pirms tam) vai pilnais URL, kas sākas ar 'http://'." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "novirzīt" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "novirzījumi" + +#: contrib/comments/models.py:67 +#: contrib/comments/models.py:166 +msgid "object ID" +msgstr "objekta ID" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "virsraksts" + +#: contrib/comments/models.py:69 +#: contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "komentārs" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "reitings #1" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "reitings #2" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "reitings #3" + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "reitings #4" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "reitings #5" + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "reitings #6" + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "reitings #7" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "reitings #8" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "korekts reitings" + +#: contrib/comments/models.py:83 +#: contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "ievietošanas datums/laiks" + +#: contrib/comments/models.py:84 +#: contrib/comments/models.py:170 +msgid "is public" +msgstr "publisks" + +#: contrib/comments/models.py:85 +#: contrib/admin/views/doc.py:304 +msgid "IP address" +msgstr "IP adrese" + +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "idzēsts" + +#: 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 "Atķeksējiet, ja komentārs ir neatbilstošs. Paziņojums A \"Šis komentārs ir izdzēsts\" tiks parādīts tai vietā." + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "komentāri" + +#: contrib/comments/models.py:131 +#: contrib/comments/models.py:207 +msgid "Content object" +msgstr "Satura objekts" + +#: contrib/comments/models.py:159 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"Pievienojis %(user)s, %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "personas vārds" + +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "ip adrese" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "apstiprinājusi administrācija" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "brīvais komentārs" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "brīvie komentāri" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "rezultāts" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "rezultāta datums" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "karmas rezultāts" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "karmas rezultāti" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "%(score)d reitingu publicējis %(user)s" + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"Šo komentāru atzīmējis %(user)s:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "atzīmēšanas datums" + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "lietotāja atzīme" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "lietotāja atzīmes" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "Atzīmējis %r" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "dzēšanas datums" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "moderācijas dzēšana" + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "moderācijas dzēšanas" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr "Moderācijas dzēšana, veicis %r" + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "Anonīmie lietotāji nedrīkst balsot" + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "Invalīds komentāru ID" + +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "Nedrīkst balsot par sevi" + +#: contrib/comments/views/comments.py:27 +msgid "This rating is required because you've entered at least one other rating." +msgstr "Šis reiting ir obligāts jo Jūs ievietojāt vismaz vienu citu reitingu." + +#: 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] "" +"Šo komentāru ir ievietojis lietotājs, kas ievietojis mazāk kā %(count)s komentāru:\n" +"\n" +"%(text)s" +msgstr[1] "" +"Šo komentāru ir ievietojis lietotājs, kas ievietojis mazāk kā %(count)s komentārus:\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 "" +"Šo komentāru ieviejis paviršs lietotājs:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "Atļauti tikai POST izsaukumi" + +#: contrib/comments/views/comments.py:192 +#: contrib/comments/views/comments.py:284 +msgid "One or more of the required fields wasn't submitted" +msgstr "Viens vai vairāki pieprasītie lauki netika ievadīti" + +#: contrib/comments/views/comments.py:196 +#: contrib/comments/views/comments.py:286 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "Kāds ir iejaucies komentāru formā (drošības traucējums)" + +#: 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 "Komentāru forma ir nekorekts 'target' parametrs -- objekta ID bija nepareizs" + +#: contrib/comments/views/comments.py:257 +#: contrib/comments/views/comments.py:321 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "Komentāru forma nenodrošināja 'preview' vai 'post'" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:17 +msgid "Username:" +msgstr "Lietotāja vārds:" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +msgid "Log out" +msgstr "Izlogoties" + +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Parole:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Esat aizmirsis savu paroli?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "Reitings" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Pieprasīts" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Neobligāts" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Ievietojiet fotogrāfiju" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "Komentārs:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "Pirmsskatīt komentāru" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Jūsu vārds:" + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "domēna vārds" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "izvadāmais vārds" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "saits" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "saiti" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

                                                              By %s:

                                                              \n" +"
                                                                \n" +msgstr "" + +#: contrib/admin/filterspecs.py:70 +#: contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Visi" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Jebkuršs datums" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Šodien" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "Pēdējās 7 dienas" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Šomēnes" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Šogad" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "darbības laiks" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "objekta id" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "objekta attēlojunms" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "darbības atzīme" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "momainīt paziņojumu" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "žurnāla ieraksts" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "žurnāla ieraksti" + +#: contrib/admin/templatetags/admin_list.py:247 +msgid "All dates" +msgstr "Visi datumi" + +#: contrib/admin/views/auth.py:19 +#: contrib/admin/views/main.py:257 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" pievienots sekmīgi." + +#: contrib/admin/views/auth.py:24 +#: contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 +msgid "You may edit it again below." +msgstr "Jūs varat labot to atkal zemāk." + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Pievienot lietotāju" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Paroles maiņa notikusi veiksmīgi." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Paroles maiņa: %s" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Saita administrācija" + +#: contrib/admin/views/main.py:271 +#: contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "Jūs varat pievienot vēl vienu %s zemāk." + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "Pievienot %s" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "Pievienots %s." + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "Izmainīts %s." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "Izdzēsts %s" + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "Neviens lauks nav izmainīts" + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" nomainīts sekmīgi." + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "%(name)s \"%(obj)s\" pievienots sekmīgi. Jūs to varat regiģēt zemāk." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Izmainīt %s" + +#: contrib/admin/views/main.py:476 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "" + +#: contrib/admin/views/main.py:481 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "" + +#: contrib/admin/views/main.py:514 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" sekmīgi izdzēsts." + +#: contrib/admin/views/main.py:517 +msgid "Are you sure?" +msgstr "Vai esat pārliecināts?" + +#: contrib/admin/views/main.py:539 +#, python-format +msgid "Change history: %s" +msgstr "Izmainīt vēsturi: %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s" +msgstr "Izvēlēties %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s to change" +msgstr "Izvēlēties %s lai izmainītu" + +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Datubāzes kļūda" + +#: 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 "Lūdzu ievadiet lietotājvārdu un paroli. Atceraties ka abi lauki ir reģistrjūtīgi." + +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "Pieslēdzieties" + +#: 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 "Lūdzu pieslēdzieties vēlreiz, jo jūsu sesija ir novecojusi. Neuztraucieties: Jūsu ievadītie dati ir saglabāti." + +#: 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 "Izskatās, ka Jūsu pārlūks neatbalsta sīkdatnes (cookies). Lūdzu ieslēdziet sīkdatņu atbalstu, pārlādējiet lapu un mēģiniet vēlreiz." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Lietotājvārdi nevar saturēt simbolu '@'." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "Jūsu e-pasta adrese nav jūsu lietotājvārds. Lietojiet '%s' tā vietā." + +#: contrib/admin/views/doc.py:46 +#: contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "" + +#: contrib/admin/views/doc.py:77 +#: contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filtrs:" + +#: contrib/admin/views/doc.py:135 +#: contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "skats:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Aplikācija %r netika atrasta" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "" + +#: 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 "modelis:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "saistītie `%(label)s.%(name)s` objekti" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "visi %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "" + +#: 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 "Vesels skaitlis" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Boolean (Pareizs vai Nepareizs)" + +#: contrib/admin/views/doc.py:293 +#: contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Virkne (līdz pat %(maxlength)s)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Ar komatu atdalīti veselie skaitļi" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Datums (bez laika)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "Datums (ar laiku)" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "E-pasta adrese" + +#: contrib/admin/views/doc.py:298 +#: contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "Faila ceļš" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "Decimāls skaitlis" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Loģiskais (Pareizs vai Nepareizs)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "Relācija uz vecāka modeli" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "Telefona numurs" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "Teksts" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "Laiks" + +#: 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 "ASV štats (divi augšējā reģistra burti)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "XML teksts" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Patreiz:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Nomainīt:" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Datums:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Laiks:" + +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Dokumentācija" + +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +msgid "Change password" +msgstr "Paroles maiņa" + +#: 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/change_form.html:13 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "Sākums" + +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Pievienot %(name)s" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Pēc %(filter_title)s " + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:21 +msgid "History" +msgstr "Vēsture" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Datums/laiks" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Lietotājs" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "darbība" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "j. N Y, H:i" + +#: contrib/admin/templates/admin/object_history.html:36 +msgid "This object doesn't have a change history. It probably wasn't added via this admin site." +msgstr "Šim objektam nav izmaiņu vēsture. Tas visdrīzāk nav pievienots izmantojot administrācijas saitu." + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Aiziet!" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Rādīt visu" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Django saita administrācija" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Django administrēšana" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Servera kļūda" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Servera kļūda (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Servera kļūda (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 "Ir notikusi kļūda. Tas ir paziņots saita administratoriem ar e-pasta starpniecību un visdrīzākajā laikā tiks izlabots. Paldies par sapratni." + +#: 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 "Kaut kas nav kārtībā ar Jūsu datubāzes instalāciju. Pārliecinieties vai attiecīgās tabulas ir izveidotas un attiecīgajam lietotājam ir tiesības lasīt datubāzi." + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modeļi, kas pieejami %(name)s aplikācijā." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:28 +#: contrib/admin/templates/admin/change_form.html:15 +msgid "Add" +msgstr "Pievienot" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Izmainīt" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "Jums nav tiesības jebko labot." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Nesenās darbības" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Manas darbības" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Nav pieejams" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Lapa nav atrasta" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Mēs atvainojamies, bet pieprasītā lapa nevar tikt atrasta." + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtrs" + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Apskatīt saitā" + +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Lūdzu izlabojiet kļūdu zemāk" +msgstr[1] "Lūdzu izlabojiet kļūdas zemāk" + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Sakārtošana" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Sakārtojums:" + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Dzēst" + +#: 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 "Izdzēšot objektu %(object_name)s '%(escaped_object)s' tiks dzēsti visi saistītie objekti , bet Jums nav tiesību dzēst sekojošus objektu tipus:" + +#: 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 "Vai esat pārliecināts, ka vēlaties dzēst %(object_name)s \"%(escaped_object)s\"? Tiks dzēsti asrī sekojoši saistītie objekti:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "Jā, es esmu pārliecināts" + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Sveicināti," + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Saglabāt kā jaunu" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Saglabāt un pievienot vēl vienu" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Saglabāt un turpināt labošanu" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Saglabāt" + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Ievadiet jaunu paroli lietotājam %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Parole" + +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Parole (vēlreiz)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Ievadot tādu pašu paroli, kā augstāk, pārbaudei." + +#: 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 "Lietotāja vārds" + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_form.html:6 +#: contrib/admin/templates/registration/password_change_form.html:10 +msgid "Password change" +msgstr "Paroles maiņa" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Paroles nomaiņa sekmīga" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Jūsu parole ir nomainīta." + +#: 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 "Paroles pārstatīšana(reset)" + +#: 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 "Esat aizmirsuši savu paroli? Ievadiet e-pasta adresi zemāk un mēs pārstatīsim Jūsu paroli un aizsūtīsim jaunu pa e-pastu." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "E-pasta adrese:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Paroles pārstatīšana" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Paldies par pavadīto laiku māja lapā." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Pieslēgties vēlreiz" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Paroles pārstatīšana sekmīga" + +#: 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 "Mēs aizsūtījām pa e-pastu jaunu paroli, ko Jūs esat apstiprinājis. Jūs to drīzumā saņemsiet." + +#: 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 "Drošības nolūkos ievadiet veco paroli un pēc tam ievadiet Jūsu jauno paroli divreiz lai mēs varētu pārbaudīt, vai tā ir uzrakstīta pareizi." + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Vecā parole:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Jaunā parole:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Apstiprināt paroli:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Nomainīt manu paroli" + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Jūs esat saņēmuši šo e-pastu sakarā ar Jūsu pieprasīto paroles pārstatīšanu" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "Jūsu lietotāja kontam %(site_name)s saitā" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "Jūsu jaunais parole ir: %(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 "Jūs vienmēr varat nomainīt šo paroli aizejot uz šo lapu:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Jūsu lietotājvārds, ja gadījumā Jūs esat to aizmirsis:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Paldies par mūsu saita lietošanu!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s komanda" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Grāmatzīmes" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "Dokumentācijas grāmatzīmes" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

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

                                                                \n" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Dokumentācija šai lapai" + +#: 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 "Pārvieto jūs no jebkuras lapas dokumentācijā uz skatu, kas ģenerē šo lapu." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "Parādīt objekta 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 "Parāda content-type un unikālo ID lapām, kas atspoguļo vientuļu objektu." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Labot šo objektu (patreizējā logā)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "Pāriet uz admininstrācijas lapu tām lapām, kas atspoguļo vientuļu objektu." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Labot šo lapu (jaunā logā)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "Tāpat kā iepriekš, tikai atver administrācijas lapu jaunā logā." + +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "python modeļa klases nosaukums" + +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "satura tips" + +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "satura tips" + +#: contrib/auth/views.py:40 +msgid "Logged out" +msgstr "Izlogojies" + +#: contrib/auth/models.py:44 +#: contrib/auth/models.py:64 +msgid "name" +msgstr "nosaukums" + +#: contrib/auth/models.py:46 +msgid "codename" +msgstr "kods" + +#: contrib/auth/models.py:49 +msgid "permission" +msgstr "tiesība" + +#: contrib/auth/models.py:50 +#: contrib/auth/models.py:65 +msgid "permissions" +msgstr "tiesības" + +#: contrib/auth/models.py:68 +msgid "group" +msgstr "grupa" + +#: contrib/auth/models.py:69 +#: contrib/auth/models.py:109 +msgid "groups" +msgstr "grupas" + +#: contrib/auth/models.py:99 +msgid "username" +msgstr "lietotāja vārds" + +#: contrib/auth/models.py:99 +msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." +msgstr "" + +#: contrib/auth/models.py:100 +msgid "first name" +msgstr "vārds" + +#: contrib/auth/models.py:101 +msgid "last name" +msgstr "uzvārds" + +#: contrib/auth/models.py:102 +msgid "e-mail address" +msgstr "e-pasta adrese" + +#: contrib/auth/models.py:103 +msgid "password" +msgstr "parole" + +#: contrib/auth/models.py:103 +msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." +msgstr "" + +#: contrib/auth/models.py:104 +msgid "staff status" +msgstr "personāla statuss" + +#: contrib/auth/models.py:104 +msgid "Designates whether the user can log into this admin site." +msgstr "Atzīmējiet, ja vēlaties, lai lietotājs var pieslēgties administrācijas lapā." + +#: contrib/auth/models.py:105 +msgid "active" +msgstr "aktīvs" + +#: contrib/auth/models.py:105 +msgid "Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts." +msgstr "Nosaka, ka lietotājs var pieslēgties Django administrācijas lapai. Ieteicams atcelt šo izvēli nevis dzēst lietotājus." + +#: contrib/auth/models.py:106 +msgid "superuser status" +msgstr "superlietotāja statuss" + +#: contrib/auth/models.py:106 +msgid "Designates that this user has all permissions without explicitly assigning them." +msgstr "" + +#: contrib/auth/models.py:107 +msgid "last login" +msgstr "pēdējoreiz pieslēdzies" + +#: contrib/auth/models.py:108 +msgid "date joined" +msgstr "datums, kad pievienojies" + +#: contrib/auth/models.py:110 +msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." +msgstr "Papildus manuāli piešķirtajām atļaujām, šis lietotājs papildus iegūs visas atļaujas, kas piešķirtas grupām, kurās lietotājs atrodas." + +#: contrib/auth/models.py:111 +msgid "user permissions" +msgstr "lietotāja atļaujas" + +#: contrib/auth/models.py:115 +msgid "user" +msgstr "lietotājs" + +#: contrib/auth/models.py:116 +msgid "users" +msgstr "lietotāji" + +#: contrib/auth/models.py:122 +msgid "Personal info" +msgstr "Personīgā informācija" + +#: contrib/auth/models.py:123 +msgid "Permissions" +msgstr "Atļaujas" + +#: contrib/auth/models.py:124 +msgid "Important dates" +msgstr "Svarīgi datumi" + +#: contrib/auth/models.py:125 +msgid "Groups" +msgstr "Grupas" + +#: contrib/auth/models.py:269 +msgid "message" +msgstr "ziņojums" + +#: contrib/auth/models.py:282 +msgid "AnonymousUser" +msgstr "Anonīms lietotājs" + +#: 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 "Lietotājs ar šādu lietotāja vārdu jau eksistē." + +#: contrib/auth/forms.py:53 +msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." +msgstr "Izskatās, ka Jūsu pārlūks neatbalsta cookies. Cookies ir obligātas, lai pieslēgtos." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Šis konts ir neaktīvs." + +#: contrib/auth/forms.py:85 +msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" +msgstr "" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Abi \"Jaunā parole\" lauki nesakrīt." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Jūsu iepriekšējā parole tika ievadīta nekorekti. Lūdzu ievadiet to atkārtoti." + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "Ievadiet pasta indeksu. Atstarpe ir nepieciešama starp abām pasta indeksa daļām." + +#: contrib/localflavor/br/forms.py:18 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Ievadiet pasta indeksu XXXXX-XXX formātā." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Telefona numuriem jābūt XXX-XXXX-XXXX formātā." + +#: contrib/localflavor/br/forms.py:72 +msgid "This field requires only numbers." +msgstr "Šis lauks drīkst saturēt tikai skaitļus." + +#: contrib/localflavor/br/forms.py:74 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Šī lauka vērtībai jabūt vismaz 11 cipariem vai 14 simboliem." + +#: contrib/localflavor/br/forms.py:84 +msgid "Invalid CPF number." +msgstr "" + +#: contrib/localflavor/br/forms.py:106 +msgid "This field requires at least 14 digits" +msgstr "Šim laukam jasastāv vismaz no 14 cipariem." + +#: contrib/localflavor/br/forms.py:116 +msgid "Invalid CNPJ number." +msgstr "" + +#: contrib/localflavor/au/forms.py:18 +msgid "Enter a 4 digit post code." +msgstr "Ievadiet pasta indeksu, kurš sastāv no 4 cipariem." + +#: contrib/localflavor/fr/forms.py:17 +#: contrib/localflavor/de/forms.py:16 +#: contrib/localflavor/fi/forms.py:14 +msgid "Enter a zip code in the format XXXXX." +msgstr "Ievadiet pasta indeksu formātā XXXXX." + +#: contrib/localflavor/us/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +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 "Hamburga" + +#: contrib/localflavor/de/de_states.py:11 +#, fuzzy +msgid "Hessen" +msgstr "sesija" + +#: 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:60 +msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." +msgstr "Ievadiet korektu vāciešu identifikācijas nummuru XXXXXXXXXXX-XXXXXXX-XXXXXXX-X formātā." + +#: 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 +#, fuzzy +msgid "Iwate" +msgstr "Datums:" + +#: 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 "Tokija" + +#: 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 +#, fuzzy +msgid "Shimane" +msgstr "Izmainīt" + +#: 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 +#, fuzzy +msgid "Ehime" +msgstr "Laiks" + +#: 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 "Okinava" + +#: contrib/localflavor/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Ievadiet pasta indeksu XXXXXXX vai XXX-XXXX formātā." + +#: 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 "lietotāja vārds" + +#: 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 "Grupas" + +#: 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 "lietotāja vārds" + +#: 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 "Ceturdiena" + +#: 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 +#, fuzzy +msgid "Zug" +msgstr "aug" + +#: contrib/localflavor/ch/ch_states.py:30 +msgid "Zurich" +msgstr "" + +#: contrib/localflavor/ch/forms.py:18 +#: contrib/localflavor/no/forms.py:15 +msgid "Enter a zip code in the format XXXX." +msgstr "Ievadiet pasta indeksu formātā XXXX." + +#: contrib/localflavor/ch/forms.py:90 +msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." +msgstr "Lūdzu ievadiet korektu šveiciešu identifikācijas vai pases nummuru X1234567<0 vai 1234567890 formātā." + +#: contrib/localflavor/is_/forms.py:16 +msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Lūdzu ievadiet korektu islandiešu identifikācijas nummuru XXXXXX-XXXX formātā." + +#: contrib/localflavor/is_/forms.py:30 +msgid "The Icelandic identification number is not valid." +msgstr "Islandiešu identifikācijas nummurs nav korekts." + +#: contrib/localflavor/it/forms.py:16 +msgid "Enter a valid zip code." +msgstr "Ievadiet korektu pasta indeksu." + +#: contrib/localflavor/it/forms.py:41 +msgid "Enter a valid Social Security number." +msgstr "Ievadiet korektu sociālās drošības nummuru." + +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "Ievadiet korektu VAT nummuru." + +#: contrib/localflavor/no/forms.py:36 +msgid "Enter a valid Norwegian social security number." +msgstr "Lūdzu ievadiet korektu norvēģu sociālās drošības nummuru." + +#: contrib/localflavor/cl/forms.py:21 +msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Ievadiet korektu čīliešu RUT XX.XXX.XXX-X formātā." + +#: contrib/localflavor/cl/forms.py:26 +msgid "Enter valid a Chilean RUT" +msgstr "Ievadiet korektu čīliešu RUT" + +#: contrib/localflavor/fi/forms.py:40 +#: contrib/localflavor/fi/forms.py:45 +msgid "Enter a valid Finnish social security number." +msgstr "Ievadiet korektu somu sociālās drošības nummuru." + +#: contrib/sessions/models.py:68 +msgid "session key" +msgstr "sesijas atslēga" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "sesijas dati" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "beigu datums" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "sesija" + +#: contrib/sessions/models.py:75 +msgid "sessions" +msgstr "sesijas" + +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Piemēram: '/about/contact/'. Pārliecinieties, ka esat ievietojuši sākuma un beigu slīpsvītras." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "virsraksts" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "saturs" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "ieslēgt komentārus" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "šablona nosaukums" + +#: contrib/flatpages/models.py:13 +msgid "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'." +msgstr "Piemēram: 'flatpages/contact_page.html'. Ja tas nav norādīts, sistēma lietos 'flatpages/default.html'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "reģistrācija obligāta" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Ja tas ir atzīmēts, tikai lietotāji, kas ir pieslēgušies sistēmās redzēs šo lapu." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "vienkārša lapa" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "vienkāršas lapas" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "Pirmdiena" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Otrdiena" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Trešdiena" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Ceturdiena" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "Piektdiena" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Sestdiena" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Svētdiena" + +#: utils/dates.py:14 +msgid "January" +msgstr "Janvāris" + +#: utils/dates.py:14 +msgid "February" +msgstr "Februāris" + +#: utils/dates.py:14 +#: utils/dates.py:27 +msgid "March" +msgstr "Marts" + +#: utils/dates.py:14 +#: utils/dates.py:27 +msgid "April" +msgstr "Aprīlis" + +#: utils/dates.py:14 +#: utils/dates.py:27 +msgid "May" +msgstr "Maijs" + +#: utils/dates.py:14 +#: utils/dates.py:27 +msgid "June" +msgstr "Jūnijs" + +#: utils/dates.py:15 +#: utils/dates.py:27 +msgid "July" +msgstr "Jūlijs" + +#: utils/dates.py:15 +msgid "August" +msgstr "Augusts" + +#: utils/dates.py:15 +msgid "September" +msgstr "Septembris" + +#: utils/dates.py:15 +msgid "October" +msgstr "Oktobris" + +#: utils/dates.py:15 +msgid "November" +msgstr "Novembris" + +#: utils/dates.py:16 +msgid "December" +msgstr "Decembris" + +#: utils/dates.py:19 +msgid "jan" +msgstr "jan" + +#: utils/dates.py:19 +msgid "feb" +msgstr "feb" + +#: utils/dates.py:19 +msgid "mar" +msgstr "mar" + +#: utils/dates.py:19 +msgid "apr" +msgstr "apr" + +#: utils/dates.py:19 +msgid "may" +msgstr "mai" + +#: utils/dates.py:19 +msgid "jun" +msgstr "jūn" + +#: utils/dates.py:20 +msgid "jul" +msgstr "jūl" + +#: utils/dates.py:20 +msgid "aug" +msgstr "aug" + +#: utils/dates.py:20 +msgid "sep" +msgstr "sep" + +#: utils/dates.py:20 +msgid "oct" +msgstr "okt" + +#: utils/dates.py:20 +msgid "nov" +msgstr "nov" + +#: utils/dates.py:20 +msgid "dec" +msgstr "dec" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "Jan." + +#: utils/dates.py:27 +msgid "Feb." +msgstr "Feb." + +#: utils/dates.py:28 +msgid "Aug." +msgstr "Aug." + +#: utils/dates.py:28 +msgid "Sept." +msgstr "Sept." + +#: utils/dates.py:28 +msgid "Oct." +msgstr "Okt." + +#: utils/dates.py:28 +msgid "Nov." +msgstr "Nov." + +#: utils/dates.py:28 +msgid "Dec." +msgstr "Dec." + +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "gads" +msgstr[1] "gadi" + +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "mēnesis" +msgstr[1] "mēneši" + +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "nedēļa" +msgstr[1] "nedēļas" + +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "diena" +msgstr[1] "dienas" + +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "stunda" +msgstr[1] "stundas" + +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minūte" +msgstr[1] "minūtes" + +#: utils/timesince.py:40 +#, python-format +msgid "%d milliseconds" +msgstr "%d millisekundes" + +#: utils/timesince.py:41 +#, python-format +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" + +#: utils/timesince.py:47 +#, python-format +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" + +#: utils/dateformat.py:40 +#, fuzzy +msgid "p.m." +msgstr "p.m." + +#: utils/dateformat.py:41 +#, fuzzy +msgid "a.m." +msgstr "a.m." + +#: utils/dateformat.py:46 +#, fuzzy +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:47 +#, fuzzy +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "pusnakts" + +#: utils/dateformat.py:97 +msgid "noon" +msgstr "dienas vidus" + +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "DATE_FORMAT" + +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "DATETIME_FORMAT" + +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "TIME_FORMAT" + +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "YEAR_MONTH_FORMAT" + +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "MONTH_DAY_FORMAT" + +#: template/defaultfilters.py:491 +msgid "yes,no,maybe" +msgstr "jā,nē,varbūt" + +#: template/defaultfilters.py:520 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#: template/defaultfilters.py:522 +#, python-format +msgid "%.1f KB" +msgstr "%.1f KB" + +#: template/defaultfilters.py:524 +#, python-format +msgid "%.1f MB" +msgstr "%.1f MB" + +#: template/defaultfilters.py:525 +#, python-format +msgid "%.1f GB" +msgstr "%.1f GB" + diff --git a/django/conf/locale/lv/LC_MESSAGES/djangojs.mo b/django/conf/locale/lv/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..1835996a67fb7b95e5cdcb54a2518e0a0a376cbf GIT binary patch literal 1587 zcmZ9M&u<$=6vqchp*6IHLIEKpMnXu1YJ*epBQhoG;y9_(Y;1YmL`C8-*`2N@-kq^# zW&`Gc)C*j=MTi4JqKBSxLLA`01>tZ&Tq>a+;mSY2z2CR%w1|;sK5yQ1h$d;&V2t3 zEpd&;13}A`2*~N_dv4aaEcJ@0tgigKzj10F)3df z@=vu<{*?Q(n0T&gPz=hSYNa^mG5$7%*p-&|5^soGX1`Xf%A^ulq*AT2k!M@RXe=MIfh=IfVjl4!-@#nt zF^gp`6VIonv^*IZmBmgnL7BN=Xj;6{?+t^tmBQmvuqwQ4@k`C-yFv3(u=F-xYPQ~b=i<^*vkAjsAomqH zpWEH&go7aJ1*;*y+G|DKiy!v3I*m=?d@!^^yIgoLp#dsrnEsvCni-oYw_h><;i$*1 zRc$%DWgQDW`qH!Rr~9*mTuHB_(YsdmVLhomXc6R7_b=EKQF+QAj zEY4>K6HhI>j|h0As%dKxZR;Ji?d&keNhH*s;~PhZdd{3!cd$EdVRF$MqlZbTn;25v z#1L4&bXtskC8VfT)CD*;6q!g-#?j}p@c--S<9Z!0H6Q0{d~|#Eqtc4?g`M3>Q5K8w yBEE9S`^pxz)bq9$hE^WkuEn-QCqJ;1, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-02-15 10:46+1100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Gatis Tomsons \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 "Pieejams %s" + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "Izvēlēties visu" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "Pievienot" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "Izņemt" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "Izvēlies %s" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "Izvēlies un klikšķini" + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "Attīrīt visu" + +#: contrib/admin/media/js/dateparse.js:32 +#: contrib/admin/media/js/calendar.js:24 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "Janvāris Februāris Marts Aprīlis Maijs Jūnijs Jūlijs Augusts Septembris Oktobris Novembris" +"Decembris" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Svētdiena Pirmdiena Otrdiena Trešdiena Ceturtdiena Piektdiena Sestdiena" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "S M T W T F S" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Now" +msgstr "Tagad" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +msgid "Clock" +msgstr "Pulkstens" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +msgid "Choose a time" +msgstr "Izvēlieties laiku" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "Midnight" +msgstr "Pusnakts" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "6 a.m." +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "Noon" +msgstr "Pusdienas laiks" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +msgid "Cancel" +msgstr "Atcelt" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +msgid "Today" +msgstr "Šodien" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +msgid "Calendar" +msgstr "Kalendārs" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +msgid "Yesterday" +msgstr "Vakar" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +msgid "Tomorrow" +msgstr "Rīt" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "Parādīt" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "Slēpt" diff --git a/django/conf/locale/mk/LC_MESSAGES/django.mo b/django/conf/locale/mk/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..e67d94fae125f537081de163b488bf9527c9f2e4 GIT binary patch literal 57210 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, 2006, 2007. +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-04-07 19:51+0200\n" +"PO-Revision-Date: 2007-04-07 20:29+0200\n" +"Last-Translator: Georgi Stanojevski \n" +"Language-Team: Macedonian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s од овој тип %(type)s веќе постои за даденото %(field)s." + +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "и" + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Ве молам внесете правилно %s." + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Одвојте ги идентификационите броеви со запирки." + +#: db/models/fields/related.py:644 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Држете го „Control“ или „Command“ на Мекинтош за да изберете повеќе од едно." + +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +"Ве молам внесете правилен %(self)s идентификацион број. Оваа вредност %" +"(value)r е неправилна." +msgstr[1] "" +"Ве молам внесете правилен %(self)s идентификацион број. Вредностите %(value)" +"r се неправилни." + +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s со ова %(fieldname)s веќе постои." + +#: db/models/fields/__init__.py:117 db/models/fields/__init__.py:274 +#: db/models/fields/__init__.py:610 db/models/fields/__init__.py:621 +#: oldforms/__init__.py:357 newforms/fields.py:80 newforms/fields.py:376 +#: newforms/fields.py:452 newforms/fields.py:463 newforms/models.py:178 +msgid "This field is required." +msgstr "Ова поле е задолжително." + +#: db/models/fields/__init__.py:367 +msgid "This value must be an integer." +msgstr "Оваа вредност мора да биде цел број." + +#: db/models/fields/__init__.py:402 +msgid "This value must be either True or False." +msgstr "Оваа вредност мора да биде или точно или неточно." + +#: db/models/fields/__init__.py:423 +msgid "This field cannot be null." +msgstr "Оваа вредност неможе да биде null." + +#: db/models/fields/__init__.py:457 core/validators.py:148 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Внесете правилен датум во форматот ГГГГ-ММ-ДД." + +#: db/models/fields/__init__.py:526 core/validators.py:157 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Внесете правилен датум/време во форматот ГГГГ-ММ-ДД ЧЧ:ММ." + +#: db/models/fields/__init__.py:630 +msgid "Enter a valid filename." +msgstr "Внесите правилно име на датотека." + +#: db/models/fields/__init__.py:751 +msgid "This value must be either None, True or False." +msgstr "Оваа вредност мора да биде празна, точно или неточно." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Арапски" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Бенгалски" + +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Каталански" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Чешки" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Велшки" + +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Дански" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "Германски" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Грчки" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "Англиски" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Шпански" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Аргентиско шпански" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Фински" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "Француски" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Галски" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Унгарски" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Еврејски" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Исландски" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Италијански" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Јапонски" + +#: conf/global_settings.py:58 +msgid "Kannada" +msgstr "Канада" + +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "Латвиски" + +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "Македонски" + +#: conf/global_settings.py:61 +msgid "Dutch" +msgstr "Холандски" + +#: conf/global_settings.py:62 +msgid "Norwegian" +msgstr "Норвешки" + +#: conf/global_settings.py:63 +msgid "Polish" +msgstr "Полски" + +#: conf/global_settings.py:64 +msgid "Portugese" +msgstr "Португалкски" + +#: conf/global_settings.py:65 +msgid "Brazilian" +msgstr "Бразилски" + +#: conf/global_settings.py:66 +msgid "Romanian" +msgstr "Романски" + +#: conf/global_settings.py:67 +msgid "Russian" +msgstr "Руски" + +#: conf/global_settings.py:68 +msgid "Slovak" +msgstr "Словачки" + +#: conf/global_settings.py:69 +msgid "Slovenian" +msgstr "Словенечки" + +#: conf/global_settings.py:70 +msgid "Serbian" +msgstr "Српски" + +#: conf/global_settings.py:71 +msgid "Swedish" +msgstr "Шведски" + +#: conf/global_settings.py:72 +msgid "Tamil" +msgstr "Тамил" + +#: conf/global_settings.py:73 +msgid "Telugu" +msgstr "Телугу" + +#: conf/global_settings.py:74 +msgid "Turkish" +msgstr "Турски" + +#: conf/global_settings.py:75 +msgid "Ukrainian" +msgstr "Украински" + +#: conf/global_settings.py:76 +msgid "Simplified Chinese" +msgstr "Упростен кинески" + +#: conf/global_settings.py:77 +msgid "Traditional Chinese" +msgstr "Традиционален кинески" + +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Оваа вредност смее да има само букви, бројки или долни црти." + +#: core/validators.py:68 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "Оваа вредност смее да има само букви, бројки, долни црти, црти или коси црти." + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Оваа вредност смее да содржи само букви, бројки, долни црти или црти." + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Големи букви не се дозволени." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Мали букви не се дозволени." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Внесете само цифри одделени со запирки." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Внесете валидни адреси за е-пошта одделени со запирки." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Ве молам внесете валидна ИП адреса." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "Празни вредности не се дозволени." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Ненумерички знаци не се дозволени тука." + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Оваа вредност не смее да биде само од цифри." + +#: core/validators.py:120 newforms/fields.py:128 +msgid "Enter a whole number." +msgstr "Внеси цел број." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Дозволени се само букви." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "Годината мора да биде 1900 или покасно." + +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s" +msgstr "Неправилен датум: %s" + +#: core/validators.py:153 +msgid "Enter a valid time in HH:MM format." +msgstr "Внесете правилно време во форматот HH:MM." + +#: core/validators.py:162 newforms/fields.py:271 +msgid "Enter a valid e-mail address." +msgstr "Внесeте правилна адреса за е-пошта." + +#: core/validators.py:174 core/validators.py:445 oldforms/__init__.py:672 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Не беше пратена датотека. Проверете го типот на енкодирање на формата." + +#: core/validators.py:178 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Качете валидна фотографија. Датотеката која ја качивте или не беше " +"фотографија или беше расипана датотеката." + +#: core/validators.py:185 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "Адресата %s не покажува кон валидна фотографија." + +#: core/validators.py:189 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" +"Телефонските броеви мора да бидат во XXX-XXX-XXXX форматот. „%s“ не е " +"валиден." + +#: core/validators.py:197 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "Адресата „%s“ не покажува кон QuickTime видео." + +#: core/validators.py:201 +msgid "A valid URL is required." +msgstr "Задолжителна е правилна адреса." + +#: core/validators.py:215 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Задолжителен е правилен HTML. Грешките се:\n" +"%s" + +#: core/validators.py:222 +#, python-format +msgid "Badly formed XML: %s" +msgstr "Неправилно формиран XML: %s" + +#: core/validators.py:239 +#, python-format +msgid "Invalid URL: %s" +msgstr "Неправилна адреса: %s" + +#: core/validators.py:244 core/validators.py:246 +#, python-format +msgid "The URL %s is a broken link." +msgstr "Адресата %s е скршена врска." + +#: core/validators.py:252 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Внесете правилна скратеница за држава во САД." + +#: core/validators.py:266 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "Внимавајте на јазикот. Тука не е дозволен зборот %s." +msgstr[1] "Внимавајте на јазикот. Тука не се дозволени зборовите %s." + +#: core/validators.py:273 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Ова поле мора да соодејствува со полето „%s“." + +#: core/validators.py:292 +msgid "Please enter something for at least one field." +msgstr "Ве молам внесете нешто во барем едно поле." + +#: core/validators.py:301 core/validators.py:312 +msgid "Please enter both fields or leave them both empty." +msgstr "Ве молам внесете во двете полиња или оставете ги двете празни." + +#: core/validators.py:320 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Ова поле мора да биде зададено ако %(field)s е %(value)s" + +#: core/validators.py:333 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Ова поле мора да биде зададено ако %(field)s не е %(value)s" + +#: core/validators.py:352 +msgid "Duplicate values are not allowed." +msgstr "Дупликат вредности не се дозволени." + +#: core/validators.py:367 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Оваа вредноста мора да биде помеѓу %(lower)s и %(upper)s." + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "Оваа вредноста мора да биде најмалку %s." + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "Оваа вредност не смее да биде поголема од %s." + +#: core/validators.py:407 +#, python-format +msgid "This value must be a power of %s." +msgstr "Оваа вредноста мора да биде степен од %s." + +#: core/validators.py:418 +msgid "Please enter a valid decimal number." +msgstr "Ве молам внесете правилен децимален број." + +#: core/validators.py:422 +#, 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 цифрa." +msgstr[1] "Ве молам внесете правилен децимален број со најмногу %s вкупно цифри." + +#: core/validators.py:425 +#, 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:428 +#, 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:438 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Потврдете дека качената датотека има најмалку %s бајти." + +#: core/validators.py:439 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Потврдете дека качената датотека има најмногу %s бајти." + +#: core/validators.py:456 +msgid "The format for this field is wrong." +msgstr "Форматот за ова поле е грешен." + +#: core/validators.py:471 +msgid "This field is invalid." +msgstr "Ова поле не е правилно." + +#: core/validators.py:507 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Неможев да извадам ништо од %s." + +#: core/validators.py:510 +#, python-format +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "Адресата %(url)s врати неправилно заглавје Content-Type „%(contenttype)s“." + +#: core/validators.py:543 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"Ве молам затворете го отворениот %(tag)s таг од линијата %(line)s. (линијата " +"почнува со „%(start)s“.)" + +#: core/validators.py:547 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Некој текст кој почнува на линијата %(line)s не е дозволен во тој контекст. " +"(Линијата започнува со „%(start)s“.)" + +#: core/validators.py:552 +#, 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:557 +#, 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:561 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"На таг од линијата %(line)s му недостасува еден или повеќе од потребните " +"атрибути (линијата започнува со „%(start)s“)." + +#: core/validators.py:566 +#, 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“)." + +#: 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 "" +"Не изгледа дека вашиот прелистувач има овозможено колачиња. Колачињата се " +"потребни за да се најавите." + +#: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"Ве молам внесете точно корисничко име и лозинка. Имајте на ум дека и во " +"двете полиња се битни големите и малите букви." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Оваа сметка е неактивна." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Нема регистрирано корисник со оваа адреса за е-пошта. Сигурни ли сте дека " +"сте регистрирани?" + +#: 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:38 contrib/auth/models.py:58 +msgid "name" +msgstr "име" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "кодно име" + +#: contrib/auth/models.py:43 +msgid "permission" +msgstr "привилегија" + +#: contrib/auth/models.py:44 contrib/auth/models.py:59 +msgid "permissions" +msgstr "привилегии" + +#: contrib/auth/models.py:62 +msgid "group" +msgstr "група" + +#: contrib/auth/models.py:63 contrib/auth/models.py:103 +msgid "groups" +msgstr "групи" + +#: contrib/auth/models.py:93 +msgid "username" +msgstr "корисничко име" + +#: contrib/auth/models.py:93 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Дозволени се најмногу 30 знаци. Дозволени се само алфанумерички знаци " +"(букви, цифри и долна црта)." + +#: contrib/auth/models.py:94 +msgid "first name" +msgstr "име" + +#: contrib/auth/models.py:95 +msgid "last name" +msgstr "презиме" + +#: contrib/auth/models.py:96 +msgid "e-mail address" +msgstr "е-пошта" + +#: contrib/auth/models.py:97 +msgid "password" +msgstr "лозинка" + +#: contrib/auth/models.py:97 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Користете '[algo]$[salt]$[hexdigest]' или користете ја формата за промена на лозинката." + +#: contrib/auth/models.py:98 +msgid "staff status" +msgstr "статус на администраторите" + +#: contrib/auth/models.py:98 +msgid "Designates whether the user can log into this admin site." +msgstr "Означува дали корисникот може да се логира во сајтот за администрација." + +#: contrib/auth/models.py:99 +msgid "active" +msgstr "активен" + +#: contrib/auth/models.py:99 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Означува дали корисникот може да се логира. Одштиклирајте го ова наместо да " +"бришете корисници." + +#: contrib/auth/models.py:100 +msgid "superuser status" +msgstr "статус на суперкорисник" + +#: contrib/auth/models.py:100 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Означува дека овој корисник ги има сите привилегии без експлицитно да се " +"доделуваат сите." + +#: contrib/auth/models.py:101 +msgid "last login" +msgstr "последна најава" + +#: contrib/auth/models.py:102 +msgid "date joined" +msgstr "датум на зачленување" + +#: 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 "" +"Како дополнување на рачно доделени привилегии, овој корисник ќе ги добие " +"автоматски и сите привилегии за секоја група во која тој/таа членува." + +#: contrib/auth/models.py:105 +msgid "user permissions" +msgstr "кориснички привилегии" + +#: contrib/auth/models.py:109 +msgid "user" +msgstr "корисник" + +#: contrib/auth/models.py:110 +msgid "users" +msgstr "корисници" + +#: contrib/auth/models.py:116 +msgid "Personal info" +msgstr "Лични информации" + +#: contrib/auth/models.py:117 +msgid "Permissions" +msgstr "Привилегии" + +#: contrib/auth/models.py:118 +msgid "Important dates" +msgstr "Важни датуми" + +#: contrib/auth/models.py:119 +msgid "Groups" +msgstr "Групи" + +#: contrib/auth/models.py:263 +msgid "message" +msgstr "порака" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Одјавен" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "време на акција" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "идентификационен број на објект" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "object repr" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "знакче за акција" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "измени ја пораката" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "ставка во записникот" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "ставки во записникот" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

                                                                By %s:

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

                                                                  Од %s:

                                                                  \n" +"
                                                                    \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Сите" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Било кој датум" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Денеска" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "Последните 7 дена" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Овој месец" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Оваа година" + +#: contrib/admin/filterspecs.py:143 oldforms/__init__.py:577 +#: newforms/widgets.py:174 +msgid "Yes" +msgstr "Да" + +#: contrib/admin/filterspecs.py:143 oldforms/__init__.py:577 +#: newforms/widgets.py:174 +msgid "No" +msgstr "Не" + +#: contrib/admin/filterspecs.py:150 oldforms/__init__.py:577 +#: newforms/widgets.py:174 +msgid "Unknown" +msgstr "Непознато" + +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "Најава" + +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" +"Ве молам најавете се повторно бидејќи вашата сесија е истечена. Не се " +"грижете. Вашите внесови беа зачувани." + +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Изгледа дека вашиот прелистувач не е конфигуриран да прифаќа колачиња. Ве " +"молам овозможете ги колачињата, превчитајте ја страта и пробајте повторно." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Корисничките имиња неможе да го содржат „@“ знакот." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "Вашата е-пошта не е вашето корисничко име. Пробајте со „%s“." + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Администрација на сајт" + +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:19 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" беше успешно додаден." + +#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 +#: contrib/admin/views/auth.py:24 +msgid "You may edit it again below." +msgstr "Подолу можете повторно да го уредите." + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "Подолу можете да додате уште еден %s." + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "Додади %s" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "Додадено %s." + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "Изменета %s." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "Избришана %s." + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "Не беше изменето ниедно поле." + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" беше успешно изменета." + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"%(name)s \"%(obj)s\" беше успешно додадена.Подолу можете повторно да ја " +"уредите." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Измени %s" + +#: contrib/admin/views/main.py:476 +#, 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:481 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Еден или повеќе %(fieldname)s во %(name)s:" + +#: contrib/admin/views/main.py:514 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" беше избришана успешно." + +#: contrib/admin/views/main.py:517 +msgid "Are you sure?" +msgstr "Сигурни сте?" + +#: contrib/admin/views/main.py:539 +#, python-format +msgid "Change history: %s" +msgstr "Историја на измени: %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s" +msgstr "Изберет %s" + +#: contrib/admin/views/main.py:573 +#, python-format +msgid "Select %s to change" +msgstr "Изберете %s за измена" + +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Грешка во базата со податоци" + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "таг:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "филтер:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "поглед:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Не е најдена апликацијата %r" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "Моделот %(name)r не е најден во апликацијата %(label)r" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "поврзаниот`%(label)s.%(type)s` објект" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "модел:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "поврзани `%(label)s.%(name)s` објекти" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "сите %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "број на %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Полиња на %s објекти" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +msgid "Integer" +msgstr "Цел број" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Логичка (или точно или неточно)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Збор (до %(maxlength)s)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Целобројни вредности одделени со запирка" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Датум (без час)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "Датум (со час)" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "Адреса на е-пошта" + +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "Патека на датотека" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "Децимален број" + +#: contrib/admin/views/doc.py:304 contrib/comments/models.py:85 +msgid "IP address" +msgstr "ИП адреса" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Логичка (точно,неточно или празно)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "Релација со родителскиот модел" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "Телефонски број" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "Текст" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "Час" + +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" + +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "Држава во САД (две големи букви)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "XML текст" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s не изгледа дека е url објект" + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Додади корисник" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Успешна промена на лозинката." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Промени лозинка: %s" + +#: contrib/admin/templatetags/admin_list.py:247 +msgid "All dates" +msgstr "Сите датуми" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Прикажи ги сите" + +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Documentation" +msgstr "Документација" + +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Change password" +msgstr "Промени лозинка" + +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "Одјава" + +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/change_list.html:6 +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_done.html:4 +msgid "Home" +msgstr "Дома" + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Избриши" + +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Бришење на %(object_name)s '%(escaped_object)s' ќе резултира со бришење на " +"поврзаните објекти, но со вашата сметка немате доволно привилегии да ги " +"бришете следните типови на објекти:" + +#: contrib/admin/templates/admin/delete_confirmation.html:21 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Сигурне сте дека сакате да ги бришете %(object_name)s „%(escaped_object)s“? " +"Сите овие ставки ќе бидат избришани:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +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/change_form.html:15 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "Додади" + +#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/object_history.html:5 +msgid "History" +msgstr "Историја" + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Погледни на сајтот" + +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Ве молам поправете ја грешката подолу." +msgstr[1] "Ве молам поправете ги грешките подолу." + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Подредување" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Подреди:" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Од %(filter_title)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/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Додади %(name)s" + +#: 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/base_site.html:4 +msgid "Django site admin" +msgstr "Џанго администрација на сајт" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Џанго администрација" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Датум/час" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Корисник" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Акција" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "j M 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 "" +"Овој објект нема историја на измени. Најверојатно не бил додаден со админ " +"сајтот." + +#: 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/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/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] "1 резултат" +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/filters.html:4 +msgid "Filter" +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/base.html:25 +msgid "Welcome," +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:34 +msgid "Password" +msgstr "Лозинка" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Password (again)" +msgstr "Лозинка (повторно)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +msgid "Enter the same password as above, for verification." +msgstr "Заради верификација внесете ја истата лозинка како и горе." + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, 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:5 +msgid "Documentation bookmarklets" +msgstr "Обележувачи на документација" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

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

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

                                                                    За да инсталирате обележувачи, влечете ја врската до " +"вашата\n" +"лента со алатки, или кликнете со десното копче и додадете го во вашите \n" +"обележувачи. Сега може да го изберете обележувачот од било која страница " +"на \n" +"сајтот. Имајте на ум дека за некои од овие обележувачи е потребно да го " +"гледате \n" +"сајтот од компјутер кој е означен како „внатрешен“ (разговарајте со вашиот \n" +"администратор ако не сте сигурни).

                                                                    \n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Документација за оваа страница" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"Ве носи од било која страница од документацијата до погледот кој ја генерира " +"таа страница." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "Прикажи идентификационен број на објектот" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Го прикажува типот на содржината и уникатниот идентификационен број за " +"страници кои претставуваат единечен објект." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Уреди го овој објект (во овој прозорец)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "Скокнува до админ страницата за страници кои претставуваат единечен објект." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Уреди го овој објект (во нов прозорец)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "Како погоре, но ја отвара админ страницата во нов прозорец." + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Датум:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Време:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Моментално:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Измена:" + +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +#: contrib/admin/templates/registration/password_reset_done.html:4 +msgid "Password reset" +msgstr "Ресетирање на лозинка" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll reset " +"your password and e-mail the new one to you." +msgstr "" +"Сте ја заборавиле вашата лозинка? Внесете ја вашата е-пошта подолу, ќе ја " +"ресетираме вашата лозинка и новата ќе ви ја пратиме по е-пошта." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Е-пошта:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Ресетирај ја мојата лозинка" + +#: contrib/admin/templates/registration/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/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Ви благодариме што денеска поминавте квалитетно време со интернет страницава." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Логирајте се повторно" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Успешно е ресетирањето на лозинката" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." +msgstr "" +"Ви пративме нова лозинка на адресата која ја внесовте.Треба да ја примите за " +"кратко време." + +#: contrib/admin/templates/registration/password_change_form.html: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 "Измена на лозинка" + +#: contrib/admin/templates/registration/password_change_form.html:12 +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Заради сигурност ве молам внесете ја вашата стара лозинка и потоа внесете ја " +"новата двапати за да може да се потврди дека правилно сте ја искуцале." + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Стара лозинка:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Нова лозинка:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Потврди лозинка:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Промени ја мојата лозинка" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Успешна промена на лозинката" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Вашата лозинка беше сменета." + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "домејн" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "име кое се прикажува" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "сајт" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "сајтови" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "th" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" +msgstr "st" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" +msgstr "nd" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "rd" + +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f милион" +msgstr[1] "%(value).1f милион" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f милијарда" +msgstr[1] "%(value).1f милијарда" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f трилион" +msgstr[1] "%(value).1f трилион" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "еден" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "два" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "три" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "четири" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "пет" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "шест" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "седум" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "осум" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "девет" + +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"На пр. „/za/kontakt/“. Осигурајте се да имате коса црта и на крајот и на " +"почетокот." + +#: 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/kontakt.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/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 "" +"Ова треба да биде апсолутна патека без името на домејнот. На пр. „/nastani/" +"prebaraj/“." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "пренасочи кон" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Ова може да биде или апсолутна патека (како погоре) или цела адреса " +"почувајќи со „http://“." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "пренасочување" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "пренасочувања" + +#: contrib/comments/models.py:67 contrib/comments/models.py:166 +msgid "object ID" +msgstr "object ID" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "наслов" + +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "коментар" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "популарност #1" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "популарност #2" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "популарност #3" + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "популарност #4" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "популарност #5" + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "популарност #6" + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "популарност #7" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "популарност #8" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "е валидна популарност" + +#: contrib/comments/models.py:83 contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "датум/време пријавен" + +#: contrib/comments/models.py:84 contrib/comments/models.py:170 +msgid "is public" +msgstr "е јавен" + +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "е отстранет" + +#: contrib/comments/models.py:86 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"Штиклирајте го ова поле ако коментарот не е пригоден. Наместо него пораката " +"„Овој коментар беше отстранет“ ќе биде прикажана." + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "коментари" + +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "Content објект" + +#: contrib/comments/models.py:159 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"Напишан од %(user)s на %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "име на личноста" + +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "ип адреса" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "одобрено од администраторите" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "слободен коментар" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "слободни коментари" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "поени" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "датум поени" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "карма поен" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "карма поени" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "%(score)d гласање за популарност од %(user)s" + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"Овој коментар беше означен од %(user)s:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "датум на означување" + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "корисничка ознака" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "кориснички ознаки" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "Означено од %r" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "датум на бришење" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "бришење од модератор" + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "бришења од модератор" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr "Бришење од модератор од %r" + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "Анонимните корисници неможе да гласаат" + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "Невалидно ИД на коментарот" + +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "Нема гласање за самиот себе" + +#: contrib/comments/views/comments.py:27 +msgid "This rating is required because you've entered at least one other rating." +msgstr "" +"Ова гласање за популарност е потребно бидејќи внесовте најмалку уште едно " +"друго." + +#: contrib/comments/views/comments.py:111 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" +"\n" +"%(text)s" +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:116 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"Овој коментар беше пратен од недоверлив корисник:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "Дозволено е само POST" + +#: contrib/comments/views/comments.py:192 +#: contrib/comments/views/comments.py:284 +msgid "One or more of the required fields wasn't submitted" +msgstr "Едно или повеќе од потребните полиња не беше пополнето" + +#: contrib/comments/views/comments.py:196 +#: contrib/comments/views/comments.py:286 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "Некој ја променил формата за коментари (сигурносен прекршок)" + +#: contrib/comments/views/comments.py:206 +#: contrib/comments/views/comments.py:292 +msgid "" +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" +msgstr "" +"Формата за коментар имаше неправилен „target“ параметар - идентификациониот " +"број на објектот беше неправилен" + +#: contrib/comments/views/comments.py:257 +#: contrib/comments/views/comments.py:321 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "Формата за коментар не овозможи ниту „преглед“ ниту „праќање“" + +#: contrib/comments/templates/comments/form.html: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/localflavor/br/forms.py:18 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Внесете правилен поштенски број во форматот XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Телефонските броеви мора да бидат во XX-XXXX-XXXX форматот." + +#: contrib/localflavor/de/forms.py:16 contrib/localflavor/fi/forms.py:14 +#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/it/forms.py:14 +msgid "Enter a zip code in the format XXXXX." +msgstr "Внесете правилен поштенски број во формат XXXXXX." + +#: contrib/localflavor/de/forms.py:60 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "Внесете правилен број на лична карта во Германија во XXXXXXXXXXX-XXXXXXX-XXXXXXX-X форматот." + +#: 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/fi/forms.py:40 contrib/localflavor/fi/forms.py:46 +msgid "Enter a valid Finnish social security number." +msgstr "Внесте правилен фински матичен број." + +#: contrib/localflavor/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Внесете поштенски број во форматот XXXXXXX или XXX-XXXX." + +#: 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/no/forms.py:15 +msgid "Enter a zip code in the format XXXX." +msgstr "Внесете правилен поштенски број во форматот XXXX." + +#: contrib/localflavor/no/forms.py:36 +msgid "Enter a valid Norwegian social security number." +msgstr "Ве молам внесете правилен норвешки матичен број." + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "Внесете поштенски број. Задолжително е празно место помеѓу двата дела на поштенскиот број." + +#: contrib/localflavor/usa/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Внесете поштенски број во форматот XXXXX или XXXXX-XXXX." + +#: contrib/localflavor/usa/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Внесте правилен матичен број за САД во XXX-XX-XXXX форматот." + +#: contrib/sessions/models.py:68 +msgid "session key" +msgstr "клуч на сесијата" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "податоци од сесијата" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "датум на истекување" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "сесија" + +#: contrib/sessions/models.py:75 +msgid "sessions" +msgstr "сесии" + +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "има на класата на питон моделите" + +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "content type" + +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "content types" + +#: oldforms/__init__.py:392 +#, 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:397 +msgid "Line breaks are not allowed here." +msgstr "Тука не се дозволени прекини на линија." + +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Изберете правилно, %(data)s' не е во %(choices)s." + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "Пратената датотека е празна." + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Внесете цел број помеѓу -32,768 и 32,767." + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "Внесете позитивен број." + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Внесете цел број помеѓу 0 и 32,767." + +#: 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 беше избришан." + +#: utils/dates.py:6 +msgid "Monday" +msgstr "понеделник" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "вторник" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "среда" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "четврток" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "петок" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "сабота" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "недела" + +#: utils/dates.py:14 +msgid "January" +msgstr "јануари" + +#: utils/dates.py:14 +msgid "February" +msgstr "февруари" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "март" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "април" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "мај" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "јуни" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "јули" + +#: utils/dates.py:15 +msgid "August" +msgstr "август" + +#: utils/dates.py:15 +msgid "September" +msgstr "септември" + +#: utils/dates.py:15 +msgid "October" +msgstr "октомври" + +#: utils/dates.py:15 +msgid "November" +msgstr "ноември" + +#: utils/dates.py:16 +msgid "December" +msgstr "декември" + +#: utils/dates.py:19 +msgid "jan" +msgstr "јан" + +#: utils/dates.py:19 +msgid "feb" +msgstr "фев" + +#: utils/dates.py:19 +msgid "mar" +msgstr "мар" + +#: utils/dates.py:19 +msgid "apr" +msgstr "апр" + +#: utils/dates.py:19 +msgid "may" +msgstr "мај" + +#: utils/dates.py:19 +msgid "jun" +msgstr "јун" + +#: utils/dates.py:20 +msgid "jul" +msgstr "јул" + +#: utils/dates.py:20 +msgid "aug" +msgstr "авг" + +#: utils/dates.py:20 +msgid "sep" +msgstr "сеп" + +#: utils/dates.py:20 +msgid "oct" +msgstr "окт" + +#: utils/dates.py:20 +msgid "nov" +msgstr "ное" + +#: utils/dates.py:20 +msgid "dec" +msgstr "дек" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "јан." + +#: utils/dates.py:27 +msgid "Feb." +msgstr "фев." + +#: utils/dates.py:28 +msgid "Aug." +msgstr "авг." + +#: utils/dates.py:28 +msgid "Sept." +msgstr "сеп." + +#: utils/dates.py:28 +msgid "Oct." +msgstr "окт." + +#: utils/dates.py:28 +msgid "Nov." +msgstr "ное." + +#: utils/dates.py:28 +msgid "Dec." +msgstr "дек." + +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "година" +msgstr[1] "години" + +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "месец" +msgstr[1] "месеци" + +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "седмица" +msgstr[1] "седмици" + +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "ден" +msgstr[1] "дена" + +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "час" +msgstr[1] "часа" + +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "минута" +msgstr[1] "минути" + +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "попладне" + +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "наутро" + +#: utils/dateformat.py:46 +msgid "PM" +msgstr "попладне" + +#: utils/dateformat.py:47 +msgid "AM" +msgstr "наутро" + +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "полноќ" + +#: utils/dateformat.py:97 +msgid "noon" +msgstr "пладне" + +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "j M Y" + +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "j M Y, P" + +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" + +#: template/defaultfilters.py:491 +msgid "yes,no,maybe" +msgstr "да, не, можеби" + +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Осигурајте се дека оваа вредност има најмногу %d знаци." + +#: newforms/fields.py:105 newforms/fields.py:258 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Осигурајте се дека оваа вредност има најмалку %d знаци." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Осигурајте се дека оваа вредност е помала или еднаква на %s." + +#: newforms/fields.py:132 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Осигурајте се дека оваа вредност е поголема или еднаква со %s." + +#: newforms/fields.py:165 +msgid "Enter a valid date." +msgstr "Внесете правилен датум." + +#: newforms/fields.py:192 +msgid "Enter a valid time." +msgstr "Внесете правилно време." + +#: newforms/fields.py:228 +msgid "Enter a valid date/time." +msgstr "Внесете правилен датум со време." + +#: newforms/fields.py:242 +msgid "Enter a valid value." +msgstr "Внесете правилна вредност." + +#: newforms/fields.py:289 newforms/fields.py:311 +msgid "Enter a valid URL." +msgstr "Внесете правилна адреса." + +#: newforms/fields.py:313 +msgid "This URL appears to be a broken link." +msgstr "Оваа адреса изгледа дека не е достапна." + +#: newforms/fields.py:362 newforms/models.py:165 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Изберете правилно. Тоа не е едно од можните избори." + +#: newforms/fields.py:380 newforms/fields.py:456 newforms/models.py:182 +msgid "Enter a list of values." +msgstr "Внесете листа на вредности." + +#: newforms/fields.py:389 newforms/models.py:188 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Внесете правилно. %s не е еден од достапните вредности." + diff --git a/django/conf/locale/mk/LC_MESSAGES/djangojs.mo b/django/conf/locale/mk/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..64971dc55ebb068818963c184807f582b0b236f3 GIT binary patch literal 1921 zcmZXS&u<$=6vwAfei;Z*ehP6IAyooZ>)1(Jf(cd9q$w%5tzwt95<;5n4(m;JXQJ7) z!BQoXRJ1v82vw0Hl(Y&zlxy0=U^(Fa3*$TDio^*aap;ZjTbrbmk!L^i-n`%A-wqx8 znqj?y{TlYK*oU##4&Z~8dx)_|!94gdI1D}oj)0GYQ@#6X@M*}GzzpbvPk^S!%itrB zuYw1`FTwNRS0Kgty{G>Zq&$Cvl=mJ;aY@O6K9KzT!C`O+q_`1Cabl42UIypT!&R^k z@?UVGx(~qkd9V+B7JMBf{UG=5W02un8O=z;&$@{wp3$|gVnVv>H~HILp(oN7<&6ij_f`VapIJXP;n>{Z3_I9)W#2ZDG>_g z)#AB;kN9B_SH!3v;pwxkj*i1k`BmXdrz}NOz!SOB(<%^(kLWm#oG5*Pc(g)lk<}`z zWRi{Mj%SKf#gqH}=CirXxK@c&sG>fPb`tqn(mx-HK)r+45GIz%yXVW3&hWk+Rr`rF z&PnBJFHnAg56=Wi=Av^-DrvfHynjN>$dKo=`FwUL!;W$Li{0v6=`3{?Y@68|wrzLp z7IrfgI*Xkph<9PtrhlpZ2GXu=K!#aof!UidXhHcSd92!>>}}gXtR}a2fQJ3qHXhJ# z z_7v+7?z_JMp|!7I_7?7Usmab73A-qE2V#R-XrRljbe5D431}La=Q_8yxV?@7xZO<8 z8?eHV>CvuX&?t!})W)=-Sw>H7s<)ZGL%XxkPo?75LOzU(@{tb;pf2_wZXG4;V52Ie zL8UP4DbhKk2Nz6 J+6tOx{{S&^zqtSa literal 0 HcmV?d00001 diff --git a/django/conf/locale/mk/LC_MESSAGES/djangojs.po b/django/conf/locale/mk/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..0c06326fd5 --- /dev/null +++ b/django/conf/locale/mk/LC_MESSAGES/djangojs.po @@ -0,0 +1,119 @@ +# translation of djangojs.po to Macedonian +# +# Georgi Stanojevski , 2006, 2007. +msgid "" +msgstr "" +"Project-Id-Version: djangojs\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-02-15 10:53+1100\n" +"PO-Revision-Date: 2007-02-24 13:49+0100\n" +"Last-Translator: Georgi Stanojevski \n" +"Language-Team: Macedonian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: contrib/admin/media/js/SelectFilter2.js:33 +#, perl-format +msgid "Available %s" +msgstr "Достапно %s" + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "Избери ги сите" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "Додади" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "Отстрани" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "Избрано %s" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "Означете го вашиот избор/и и кликнете" + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "Исчисти ги сите" + +#: contrib/admin/media/js/dateparse.js:32 +#: contrib/admin/media/js/calendar.js:24 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" +"Јануари Февруари Март Април Мај Јуни Јули Август Септември Октомври Ноември " +"Декември" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Недела Понеделник Вторник Среда Четврток Петок Сабота" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "Н П В С Ч П С" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js: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 "Утре" + +#: 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 "Скриј" + diff --git a/django/conf/locale/nl/LC_MESSAGES/django.mo b/django/conf/locale/nl/LC_MESSAGES/django.mo index abc387aeea2811300fe9a8c015353ab8be2c185b..4c70c28ff4f42542acfa2e5c8ff7fdb8b424225c 100644 GIT binary patch delta 14489 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 Vi|VHFf8C_A)`!eZs%Cxe{{kFG`_2FW delta 9422 zcmaLcd0bW1-pBEM7#sjW$$10>1rdOA0 zt-pHw=b}TlJ8YXhj?)_NiEx}YLF6seOMk56Y-8URjHKP6z2i*4bi4)E;xIgm-7zNK z9cKbIpsZ5b1G2_*nxHMe%s!U(X*z6uqEzB z-GXP3$H93AHQ`UF39h3S9^T2_-wNB%?vHUe4eR1EoQ$hFQGb=_LprFIa}`;O)2_37 z4@aN|Sc=W?ugG)e9Kck37dgeL+r?dY8fu&o*bU2Z6yA?B@oQ9Na+2*cluZ45(~(C< zecXv*_yB5QkKzJ+6;--KJpp-XoN1_v%&`51m`Qt%Z9jslKmdp0AwP*$ zu_JEBp7=bb;}56`bV{pzznxU1cuo&gMGH{l z)*u(^cUF=#pko87gu5^r@5QG0ByyXbV;G4)pl(%gclQb#psp<1wp*bV8iN`)5%o;; zM2hW9NB(iv^G8#?|3~bO)2M;!^l(=gg=#lNP23K33sO*T!vNbq1@*BkMlEb5hU0qc zPSisFhN|QN9Ds*$ir)XLL39 z8{;q70wepn6-Y!?qzB%F1CX^i<1h}_^`-uLSRS(n9z;#>0_sEaDr)5yFd8qT78=yg zamHdJRDV8df-2O*wHh_?MpOlMVg_DEjo*ice(VNiP=B2;gAVQRq3+#W)Riqp-K%BT z5}(IBJcBBE@BZ!wrU-dqoPhNc)Wh3^ll1}Wf_gg^p&sVPur;3blW9tdyvP*Ie`Z-l$TixdkoA+lZLt#6{wOQK|MRKV+fu?-QqLWbEsSO z2~u&tbCo2H4n3N|&>l5VN7OCphEuQ)c0_~i@DPUJd#K~jqe^=T`6xO~v)pGV3yWxv zM_vr)5YECYSYPk|)Zy-m3o(=(b8Wi{wVsM;q%d9I=Z^0_8hug6(-fP?Y zZ2NK4+w(N)0$xVVa}sq6&Y@oed{3eYe?=Ym2kOKIH@hdaL`~QM_2Edj{lie_H#vrr|Sjk@wm)Q4sTs&v~>1Mf#YgioQ) ze-<^~3)W*8PWvQk|2fnJUO+AAOFv0C$xo<~1dVpz+lHut60K?03~QD(+d9=+Xe~oc zvij=20z=2R ze>sgtP23)}zZ>fKUZ@MpK<4v1StJeV$UzNUfI4B0dw^46U5c7uHFofD3vf3c;_IVZ zG$otA@nSKK!^6lM=|tzapX#Zo@5~z1m+=uS(EI-~Nh>-!a+W3@f?DB7jK=Y(iD#iE zszP1KO4MIkP`BWF)N#L~7EpJB`(bH>`u2Chn{WtfL6cD96<`&XV+?+bejO0PFH2*LLMdK!+jr-h0>aUW%LWc%= z2h~20d+{>rFAUqcv0B*M7>)0vuIMuAFC5oV6>7>aR|57xO*|Dft`Bv51?m}ChWb&v ze-icAy*o;WR`?|rb(1~1-^-? zcoBPJv#I>+8fN=RG~o_ZX`E?pX+lv4Mxw4@IO@vBV>6tEHMk6QE3RQ(bZ&KTRXtRH zG-}-Ds0(a^IxZf&qrVG@?nOSTL?t)|7obY`vfY2&ddB(@@?blcQ1`q)KYivO6o}uU&?t)q)3-LR#BwAUL-I0pJXs4qWYi$1qsC#w+HBd;NTaifA1;pYG z?1V}9686HcP?e0&cPla-^?{p-UG@GKk+h~`2dXp&Q6+y4bp^*zC!EEmcn+K3kEjxc zvr1K9AgbiqsFLTR7BXvwI zyA<`>F0ih{cC`1PUcV#Q3g1Cp(6^|GucH?`1?)mq<`A~Q%eWjH%;LW%;YQ?nb=nnCf32vd$o*EYLzVm# z>LL0RwXp9|3-$1-s1hwu?e?e=_p=VQj={S0=b~=a4Ag5_jk<*!QRD9|rv56?0XhcY z+ZcxpO5A&yikh$|*27HH-{D50N?M3o@I2H)S7J79K}~!Cb=+0d`607i8z4nVcFtou4k&jkS&heO2T;$- z?epA<>_IKyADE%{|1FY1bc9v7Py1*LqrC+4@lMRei#Q4USGrfU9cwFP{R*{!=qmTq zIs$dxCRFJ!Vtu@fA@~c1>iz$nL=Q_ywfj0npxUw69+Oa|AA?$04r;(#aUA-vBR+#V z{yb`;kooTG7Kw?p+hR`~juE&F7csxH&h7|V;Qq^EKhy-PQ486OTJcWQz`HRBAH*j3 zFlvG$*a^QtEu`^6_u1-=JO<8Eq~y-$7>x;wsK4%cZxX!)1(<@%P*?h>^%>N|c@#DA z>)0IMLRIFX^%6$X{swgczo8afXR-ShG(?Tl+P2#-rv55LS2`MD2I`8&qE0MCO;Cnf zaV6^bJ5dYVis85$8{m$}DP{$ucUC0qXiLUG|)D@k#2YhMUKcfZ; zs&TD@T2L6O)X}I3W3ByA3z>*|W@e(!FGf|g)Vct*5dU&}z&1ShTMt>0L$Tf>&R$2GThu=YSLWH3?zzcbqIn1WhS5$YMJLM>#C?capDl3l2W z=sr{h_MsN^6l%doQCI#3>iiR^aoJrE z2UVeb>m2I>RE1Wc2gCW}SG*m&5buzGMob`XY~AQzMdEDQq^guiztJ{C7veQS+c>+w7dfx2-^rt6HH}Tg55$d4 zrO#y_FMv~wFXH!h=S{R55;4TX^xa|m$KXGSXNYRzB_fz(IuY6iSqrcg(aghTz3T3B zqUgAbXi2*t-q?O2d7OB_b{xkg>`$}DOhMg$ZJ)c;{wKXk^0mYy_AkfjL=SQwYHLhB zM`hJRwT0+R3?sBvvr}6-@f4v4^8=zkvBBsY{XuL~wAiC2|kVJ1{F70wc+j{F0YLKtA?K{(B8gun*xS+SAt7gBVMmi(Z^fgpx-QOLhPEkhHW1FCH7k;y+MqposH*-XNi6KtW6`C&W;;fI7t%ipYd*@ ziWo#_JLckyV1Ft3CVSqeJPpDN0qQOusfb6pJ8+L zzfLTmoq>1a8QeqJ~nd`UbDQ1>`u3h|K|Y!4AW_IJWW;uAfMGwJ9|yh+{@ zvx#}++Uk?X5-*eAPwXYWAtn<8h*0)vyGk5X64>40K93oa_=IVmwB7uiRAcVx)W@9b zlo4E6QfksW_crr8j}4se+&9R?q^vX#r))JFx~2vaQWHF8Z?~zYSz4BvmzHdvOiMM_ z(k7T~-J6(2-B+5F9y`q&JqDRZ>7(nG`eNpJtBcLK^fv~27x-cpm(P#M@WvEZ`eyZy z>pIU{Rkg6ZvM{gGSLLhj8aH58d1X;~b+xZd2Uc>byFa6=cfi2FgFS0JrbqAJOh%tw zrd{7S6V`W%S>CrM(5v4{PvBHWyCBmrGb~^R9uG1lgYPj#Lw1`XL-z!}8rt1sj%Q_> zCd2asCx_>H0{ch)#bY*)S`(Nu`mJD7n%%)<IuFt$Sb&!diRuP$+ zp4_cxOt)Tr)4Fv|O$%(8Rvu)6XFO%j&Dd#P%v)iq^Rvv``8lE9d8+eZZ%0$%og8@2 z+cYS=Fu5#wO3aA9B~GEaKC`8XFEr+G;hkouuX|wFto|O;thj}_UX*DfW=EOX#hK=4 zaopCDfhMnHriq;0#C%(_&OAN)19SJB@!^AgRn^|I!m4@RLQ_+Ew)-US%;M^W<&^vX zy8{b+l|?>ofLrnja|510tMcX^lQHil6I4-S?ycAum|wZa6X;oe#Zzx&c8s@>n`crN zB$|wc@qyTddxFesiyt&6m%M5&*4!Ofx0F@qFUvIhmgNOX{bM|V^c4><-0j-}VRvMP zn9X-3nS?cM&Gowq&9iH!n>K5&1lp~O@-&)LKDRoiti)Fxvw$_HIK#|GrHxI_`bmLP z>tFDgPd54jIh#T~X2#~7!Ii!;b9M96=ERnkM7KcH);1n9)Rae5&Gr_QmY0{6dA)PZ Mho;Dk-q!Jd0U4>>h5!Hn diff --git a/django/conf/locale/nl/LC_MESSAGES/django.po b/django/conf/locale/nl/LC_MESSAGES/django.po index bba721b56a..9aaeef8af9 100644 --- a/django/conf/locale/nl/LC_MESSAGES/django.po +++ b/django/conf/locale/nl/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Django 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 17:21+0200\n" +"POT-Creation-Date: 2006-12-09 15:51+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Johan C. Stöver \n" "Language-Team: \n" @@ -17,29 +17,34 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: db/models/manipulators.py:302 +#: 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/fields/related.py:43 +#: 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 IP adres." +msgstr "Geef een geldig %s veld." -#: db/models/fields/related.py:579 +#: 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:581 +#: 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:625 +#: db/models/fields/related.py:664 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -47,150 +52,178 @@ msgid_plural "" 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:40 +#: 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:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 -#: forms/__init__.py:346 +#: 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:337 +#: 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:369 +#: 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:385 +#: db/models/fields/__init__.py:397 msgid "This field cannot be null." msgstr "Dit veld mag niet leeg zijn." -#: db/models/fields/__init__.py:468 core/validators.py:132 +#: 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:562 +#: db/models/fields/__init__.py:580 msgid "Enter a valid filename." msgstr "Geef een geldige bestandsnaam." -#: conf/global_settings.py:37 +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabisch" + +#: conf/global_settings.py:40 msgid "Bengali" msgstr "Bengaals" -#: conf/global_settings.py:38 +#: conf/global_settings.py:41 msgid "Czech" msgstr "Tjechisch" -#: conf/global_settings.py:39 +#: conf/global_settings.py:42 msgid "Welsh" msgstr "Wels" -#: conf/global_settings.py:40 +#: conf/global_settings.py:43 msgid "Danish" msgstr "Deens" -#: conf/global_settings.py:41 +#: conf/global_settings.py:44 msgid "German" msgstr "Duits" -#: conf/global_settings.py:42 +#: conf/global_settings.py:45 msgid "Greek" msgstr "Grieks" -#: conf/global_settings.py:43 +#: conf/global_settings.py:46 msgid "English" msgstr "Engels" -#: conf/global_settings.py:44 +#: conf/global_settings.py:47 msgid "Spanish" msgstr "Spaans" -#: conf/global_settings.py:45 +#: conf/global_settings.py:48 +msgid "Argentinean Spanish" +msgstr "Argentijns Spaans" + +#: conf/global_settings.py:49 +msgid "Finnish" +msgstr "Fins" + +#: conf/global_settings.py:50 msgid "French" msgstr "Frans" -#: conf/global_settings.py:46 +#: conf/global_settings.py:51 msgid "Galician" msgstr "Galicisch" -#: conf/global_settings.py:47 +#: conf/global_settings.py:52 msgid "Hungarian" msgstr "Hongaars" -#: conf/global_settings.py:48 +#: conf/global_settings.py:53 msgid "Hebrew" msgstr "Hebreews" -#: conf/global_settings.py:49 +#: conf/global_settings.py:54 msgid "Icelandic" msgstr "IJslands" -#: conf/global_settings.py:50 +#: conf/global_settings.py:55 msgid "Italian" msgstr "Italiaans" -#: conf/global_settings.py:51 +#: conf/global_settings.py:56 msgid "Japanese" msgstr "Japans" -#: conf/global_settings.py:52 +#: conf/global_settings.py:57 msgid "Dutch" msgstr "Nederlands" -#: conf/global_settings.py:53 +#: conf/global_settings.py:58 msgid "Norwegian" msgstr "Noors" -#: conf/global_settings.py:54 +#: conf/global_settings.py:59 +msgid "Polish" +msgstr "Pools" + +#: conf/global_settings.py:60 msgid "Brazilian" msgstr "Braziliaans" -#: conf/global_settings.py:55 +#: conf/global_settings.py:61 msgid "Romanian" msgstr "Roemeens" -#: conf/global_settings.py:56 +#: conf/global_settings.py:62 msgid "Russian" msgstr "Russisch" -#: conf/global_settings.py:57 +#: conf/global_settings.py:63 msgid "Slovak" msgstr "Slovaaks" -#: conf/global_settings.py:58 +#: conf/global_settings.py:64 msgid "Slovenian" msgstr "Sloveens" -#: conf/global_settings.py:59 +#: conf/global_settings.py:65 msgid "Serbian" msgstr "Servisch" -#: conf/global_settings.py:60 +#: conf/global_settings.py:66 msgid "Swedish" msgstr "Zweeds" -#: conf/global_settings.py:61 +#: conf/global_settings.py:67 +msgid "Tamil" +msgstr "Tamil" + +#: conf/global_settings.py:68 +msgid "Turkish" +msgstr "Turks" + +#: conf/global_settings.py:69 msgid "Ukrainian" msgstr "Oekraïens" -#: conf/global_settings.py:62 +#: conf/global_settings.py:70 msgid "Simplified Chinese" msgstr "Vereenvoudigd Chinees" -#: conf/global_settings.py:63 +#: conf/global_settings.py:71 msgid "Traditional Chinese" msgstr "Traditioneel Chinees" -#: core/validators.py:60 +#: 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:64 +#: core/validators.py:68 msgid "" "This value must contain only letters, numbers, underscores, dashes or " "slashes." @@ -199,58 +232,73 @@ msgstr "" "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:76 +#: core/validators.py:80 msgid "Lowercase letters are not allowed here." msgstr "Kleine letters zijn hier niet toegestaan." -#: core/validators.py:83 +#: core/validators.py:87 msgid "Enter only digits separated by commas." msgstr "Geef alleen cijfers op, gescheiden door komma's." -#: core/validators.py:95 +#: 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:99 +#: core/validators.py:103 msgid "Please enter a valid IP address." msgstr "Geef een geldig IP adres op." -#: core/validators.py:103 +#: core/validators.py:107 msgid "Empty values are not allowed here." msgstr "Lege waarden zijn hier niet toegestaan." -#: core/validators.py:107 +#: core/validators.py:111 msgid "Non-numeric characters aren't allowed here." msgstr "Niet-numerieke karakters zijn hier niet toegestaan." -#: core/validators.py:111 +#: 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:116 +#: core/validators.py:120 newforms/fields.py:103 msgid "Enter a whole number." msgstr "Geef een geheel getal op." -#: core/validators.py:120 +#: core/validators.py:124 msgid "Only alphabetical characters are allowed here." msgstr "Alleen alfabetische karakters zijn toegestaan" -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Geef een geldige datum in JJJJ-MM-DD formaat." +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "Het jaartal moet 1900 of nieuwer zijn." -#: core/validators.py:128 +#: 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:136 +#: 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:148 +#: 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 de encoding 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." @@ -258,28 +306,28 @@ msgstr "" "Bestand ongeldig. Het bestand dat is gegeven is geen afbeelding of was " "beschadigd." -#: core/validators.py:155 +#: 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 afbeelding." -#: core/validators.py:159 +#: 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:167 +#: 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 QuickTime video." -#: core/validators.py:171 +#: core/validators.py:200 msgid "A valid URL is required." msgstr "Een geldige URL is vereist." -#: core/validators.py:185 +#: core/validators.py:214 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" @@ -288,69 +336,84 @@ msgstr "" "Geldige HTML is vereist. De specifieke fouten zijn:\n" "%s" -#: core/validators.py:192 +#: core/validators.py:221 #, python-format msgid "Badly formed XML: %s" msgstr "Foute XML: %s" -#: core/validators.py:202 +#: core/validators.py:238 #, python-format msgid "Invalid URL: %s" msgstr "Ongeldige URL: %s" -#: core/validators.py:206 core/validators.py:208 +#: core/validators.py:243 core/validators.py:245 #, python-format msgid "The URL %s is a broken link." msgstr "De URL %s is een niet werkende link." -#: core/validators.py:214 +#: core/validators.py:251 msgid "Enter a valid U.S. state abbreviation." msgstr "Geef een geldige afkorting van een VS staat." -#: core/validators.py:229 +#: core/validators.py:265 #, python-format msgid "Watch your mouth! The word %s is not allowed here." msgid_plural "Watch your mouth! The words %s are not allowed here." msgstr[0] "Pas op uw taalgebruik! Gebruik van %s niet toegestaan." msgstr[1] "Pas op uw taalgebruik! Gebruik van de woorden %s niet toegestaan." -#: core/validators.py:236 +#: 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:255 +#: core/validators.py:291 msgid "Please enter something for at least one field." msgstr "Voer tenminste één veld in." -#: core/validators.py:264 core/validators.py:275 +#: core/validators.py:300 core/validators.py:311 msgid "Please enter both fields or leave them both empty." msgstr "Voer waarden in in beide velden of laat beide leeg." -#: core/validators.py:282 +#: 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:294 +#: 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:313 +#: core/validators.py:349 msgid "Duplicate values are not allowed." msgstr "Dubbele waarden zijn niet toegestaan." -#: core/validators.py:336 +#: 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:347 +#: core/validators.py:415 msgid "Please enter a valid decimal number." msgstr "Geef een geldig decimaal getal." -#: core/validators.py:349 +#: core/validators.py:419 #, python-format msgid "Please enter a valid decimal number with at most %s total digit." msgid_plural "" @@ -358,7 +421,16 @@ msgid_plural "" 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:352 +#: 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 "" @@ -366,30 +438,30 @@ msgid_plural "" 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:362 +#: 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:363 +#: 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:376 +#: core/validators.py:453 msgid "The format for this field is wrong." msgstr "Het formaat van dit veld is fout." -#: core/validators.py:391 +#: core/validators.py:468 msgid "This field is invalid." msgstr "Dit veld is ongeldig." -#: core/validators.py:426 +#: core/validators.py:504 #, python-format msgid "Could not retrieve anything from %s." msgstr "Kan niks ophalen van %s." -#: core/validators.py:429 +#: core/validators.py:507 #, python-format msgid "" "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." @@ -397,7 +469,7 @@ msgstr "" "De geretourneerde URL %(url)s bevat een ongeldige Content-Type '%" "(contenttype)s." -#: core/validators.py:462 +#: core/validators.py:540 #, python-format msgid "" "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " @@ -406,7 +478,7 @@ msgstr "" "Sluit de niet gesloten %(tag)s tag op regel %(line)s. (Regel start met \"%" "(start)s\".)" -#: core/validators.py:466 +#: core/validators.py:544 #, python-format msgid "" "Some text starting on line %(line)s is not allowed in that context. (Line " @@ -415,7 +487,7 @@ msgstr "" "Tekst beginnend op regel %(line)s is in deze context niet toegestaan. (Regel " "start met \"%(start)s\".)" -#: core/validators.py:471 +#: core/validators.py:549 #, python-format msgid "" "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" @@ -424,7 +496,7 @@ msgstr "" "\"%(attr)s\" op regel %(line)s is een ongeldig attribuut. (Regel start met " "\"%(start)s\".)" -#: core/validators.py:476 +#: core/validators.py:554 #, python-format msgid "" "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" @@ -433,7 +505,7 @@ msgstr "" "\"<%(tag)s>\" op regel %(line)s is een ongeldige tag. (Regel start met \"%" "(start)s\".)" -#: core/validators.py:480 +#: core/validators.py:558 #, python-format msgid "" "A tag on line %(line)s is missing one or more required attributes. (Line " @@ -442,7 +514,7 @@ msgstr "" "Een of meerdere attributen ontbreken bij een tag op regel %(line)s. (Regel " "start met \"%(start)s\".)" -#: core/validators.py:485 +#: core/validators.py:563 #, python-format msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " @@ -451,7 +523,15 @@ msgstr "" "De \"%(attr)s\" attribuut op regel %(line)s heeft een ongeldige waarde. " "(Regel start met \"%(start)s\".)" -#: contrib/auth/forms.py:30 +#: 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." @@ -459,8 +539,7 @@ msgstr "" "Het lijkt erop dat uw browser geen cookies accepteerd. Om aan te melden " "moeten cookies worden geaccepteerd." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:41 -#: contrib/admin/views/decorators.py:9 +#: 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." @@ -468,79 +547,115 @@ msgstr "" "Voer een correcte gebruikersnaam en wachtwoord in. Let op, de velden zijn " "hoofdletter-gevoelig." -#: contrib/auth/models.py:13 contrib/auth/models.py:26 +#: 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:15 +#: contrib/auth/models.py:40 msgid "codename" msgstr "codenaam" -#: contrib/auth/models.py:17 +#: contrib/auth/models.py:42 msgid "permission" msgstr "recht" -#: contrib/auth/models.py:18 contrib/auth/models.py:27 +#: contrib/auth/models.py:43 contrib/auth/models.py:58 msgid "permissions" msgstr "rechten" -#: contrib/auth/models.py:29 +#: contrib/auth/models.py:60 msgid "group" msgstr "groep" -#: contrib/auth/models.py:30 contrib/auth/models.py:65 +#: contrib/auth/models.py:61 contrib/auth/models.py:100 msgid "groups" msgstr "groepen" -#: contrib/auth/models.py:55 +#: contrib/auth/models.py:90 msgid "username" msgstr "gebruikersnaam" -#: contrib/auth/models.py:56 +#: 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:57 +#: contrib/auth/models.py:92 msgid "last name" msgstr "achternaam" -#: contrib/auth/models.py:58 +#: contrib/auth/models.py:93 msgid "e-mail address" msgstr "e-mailadres" -#: contrib/auth/models.py:59 +#: contrib/auth/models.py:94 msgid "password" msgstr "wachtwoord" -#: contrib/auth/models.py:59 +#: contrib/auth/models.py:94 msgid "Use '[algo]$[salt]$[hexdigest]'" msgstr "Gebruik '[algo]$[salt]$[hexdigest]'" -#: contrib/auth/models.py:60 +#: contrib/auth/models.py:95 msgid "staff status" msgstr "staf status" -#: contrib/auth/models.py:60 +#: 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:61 +#: contrib/auth/models.py:96 msgid "active" msgstr "actief" -#: contrib/auth/models.py:62 +#: 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:63 +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "Bepaald 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:64 +#: contrib/auth/models.py:99 msgid "date joined" msgstr "datum toegetreden" -#: contrib/auth/models.py:66 +#: 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." @@ -548,38 +663,42 @@ 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:67 +#: contrib/auth/models.py:102 msgid "user permissions" msgstr "gebruikersrechten" -#: contrib/auth/models.py:70 +#: contrib/auth/models.py:105 msgid "user" msgstr "gebruiker" -#: contrib/auth/models.py:71 +#: contrib/auth/models.py:106 msgid "users" msgstr "gebruikers" -#: contrib/auth/models.py:76 +#: contrib/auth/models.py:111 msgid "Personal info" msgstr "Persoonlijke informatie" -#: contrib/auth/models.py:77 +#: contrib/auth/models.py:112 msgid "Permissions" msgstr "Rechten" -#: contrib/auth/models.py:78 +#: contrib/auth/models.py:113 msgid "Important dates" msgstr "Belangrijke data" -#: contrib/auth/models.py:79 +#: contrib/auth/models.py:114 msgid "Groups" msgstr "Groepen" -#: contrib/auth/models.py:219 +#: 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" @@ -618,7 +737,7 @@ msgstr "" "\n" #: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 msgid "All" msgstr "Wszystko" #: contrib/admin/filterspecs.py:109 msgid "Any date" -msgstr "Jakolwiek data" +msgstr "Dowolna data" #: contrib/admin/filterspecs.py:110 msgid "Today" @@ -374,18 +1147,6 @@ msgstr "Ten miesiąc" msgid "This year" msgstr "Ten rok" -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "Tak" - -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "Nie" - -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Nieznany" - #: contrib/admin/models.py:16 msgid "action time" msgstr "czas akcji" @@ -414,12 +1175,34 @@ msgstr "log" msgid "log entries" msgstr "logi" -#: contrib/admin/templatetags/admin_list.py:228 +#: contrib/admin/templatetags/admin_list.py:247 msgid "All dates" msgstr "Wszystkie daty" -#: contrib/admin/views/decorators.py:9 contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:260 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" dodany pomyślnie." + +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:264 +#: contrib/admin/views/main.py:350 +msgid "You may edit it again below." +msgstr "Możesz ponownie edytować wpis poniżej." + +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Dodaj użytkownika" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Hasło zostało zmienione pomyślnie." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Zmień hasło: %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." @@ -427,243 +1210,313 @@ msgstr "" "Proszę wpisać poprawną nazwę użytkownika i hasło. Uwaga: wielkość liter ma " "znaczenie." -#: contrib/admin/views/decorators.py:23 +#: contrib/admin/views/decorators.py:24 #: contrib/admin/templates/admin/login.html:25 msgid "Log in" msgstr "Zaloguj się" -#: contrib/admin/views/decorators.py:61 +#: 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 "" -"Zaloguj się ponownie. Twoja sesja wygasła lecz twoje zgłoszenie " -"zostało zapisane." +"Zaloguj się ponownie. Twoja sesja wygasła lecz twoje zgłoszenie zostało " +"zapisane." -#: contrib/admin/views/decorators.py:68 +#: 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 "" -"Twoja przeglądarka nie chce akceptować ciasteczek. Zmień " -"jej ustawienia i spróbuj ponownie." +"Twoja przeglądarka nie chce akceptować ciasteczek. Zmień jej ustawienia i " +"spróbuj ponownie." -#: contrib/admin/views/decorators.py:82 +#: contrib/admin/views/decorators.py:83 msgid "Usernames cannot contain the '@' character." msgstr "Nazwy użytkowników nie mogą zawierać znaków '@'." -#: contrib/admin/views/decorators.py:84 +#: contrib/admin/views/decorators.py:85 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Twój adres e-mail to nie jest twój login. Spróbuj '%s'." +#: 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 "filtr:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "widok:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Aplikacja %r nie została znaleziona" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "Model %(name)r nie został znaleziony w aplikacji %(label)r" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "powiązany obiekt `%(label)s.%(type)s`" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "model:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "powiązane obiekty `%(label)s.%(name)s`" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "wszystkie %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "liczba %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Pola obiektów %s" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +msgid "Integer" +msgstr "Liczba całkowita" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Wartość logiczna (True, False - prawda lub fałsz)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Łańcuch (do %(maxlength)s znaków)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Liczby całkowite rozdzielone przecinkami" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Data (bez godziny)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "Data (z godziną)" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "Adres e-mail" + +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "Ścieżka do pliku" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "Numer dziesiętny" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Wartość logiczna (True, False, None - prawda, fałsz lub nic)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "Relacja do modelu rodzica" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "Numer telefonu" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "Tekst" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "Czas" + +#: 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 "Stan USA (dwie duże litery)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "Tekst XML" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s nie jest obiektem urlpattern" + #: contrib/admin/views/main.py:226 msgid "Site administration" msgstr "Administracja stroną" -#: contrib/admin/views/main.py:260 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "%(name)s \"%(obj)s\" dodany pomyślnie." - -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 -msgid "You may edit it again below." -msgstr "Możesz ponownie edytować wpis poniżej." - -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 +#: contrib/admin/views/main.py:274 contrib/admin/views/main.py:359 #, python-format msgid "You may add another %s below." msgstr "Możesz dodać nowy wpis %s poniżej." -#: contrib/admin/views/main.py:290 +#: contrib/admin/views/main.py:292 #, python-format msgid "Add %s" msgstr "Dodaj %s" -#: contrib/admin/views/main.py:336 +#: contrib/admin/views/main.py:338 #, python-format msgid "Added %s." msgstr "Dodano %s" -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 #: contrib/admin/views/main.py:340 -msgid "and" -msgstr "i" - -#: contrib/admin/views/main.py:338 #, python-format msgid "Changed %s." msgstr "Zmieniono %s" -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:342 #, python-format msgid "Deleted %s." msgstr "Skasowano %s" -#: contrib/admin/views/main.py:343 +#: contrib/admin/views/main.py:345 msgid "No fields changed." msgstr "Żadne pole nie zmienione." -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:348 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" zostało pomyślnie zmienione." -#: contrib/admin/views/main.py:354 +#: contrib/admin/views/main.py:356 #, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" -"%(name)s \"%(obj)s\" dodane pomyślnie. Możesz edytować ponownie wpis poniżej." +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "%(name)s \"%(obj)s\" dodane pomyślnie. Możesz edytować ponownie wpis poniżej." - -#: contrib/admin/views/main.py:392 +#: contrib/admin/views/main.py:394 #, python-format msgid "Change %s" msgstr "Zmień %s" -#: contrib/admin/views/main.py:470 +#: contrib/admin/views/main.py:479 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "Jedno lub więcej %(fieldname)s w %(name)s: %(obj)s" -#: contrib/admin/views/main.py:475 +#: contrib/admin/views/main.py:484 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "Jedno lub więcej %(fieldname)s w %(name)s:" -#: contrib/admin/views/main.py:508 +#: contrib/admin/views/main.py:517 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" usunięty pomyślnie." -#: contrib/admin/views/main.py:511 +#: contrib/admin/views/main.py:520 msgid "Are you sure?" msgstr "Jesteś pewien?" -#: contrib/admin/views/main.py:533 +#: contrib/admin/views/main.py:542 #, python-format msgid "Change history: %s" msgstr "Historia zmian: %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:576 #, python-format msgid "Select %s" msgstr "Zaznacz %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:576 #, python-format msgid "Select %s to change" msgstr "Zaznacz %s aby zmienić" -#: contrib/admin/views/doc.py:277 contrib/admin/views/doc.py:286 -#: contrib/admin/views/doc.py:288 contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:297 -msgid "Integer" -msgstr "Liczba całkowita" +#: contrib/admin/views/main.py:771 +msgid "Database error" +msgstr "Błąd bazy danych" -#: contrib/admin/views/doc.py:278 -msgid "Boolean (Either True or False)" -msgstr "Wartość logiczna (True, False - prawda lub fałsz)" +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Teraz:" -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296 -#, python-format -msgid "String (up to %(maxlength)s)" -msgstr "Łańcuch (do %(maxlength)s znaków)" +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Zmień:" -#: contrib/admin/views/doc.py:280 -msgid "Comma-separated integers" -msgstr "Liczby całkowite rozdzielone przecinkami" +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Data:" -#: contrib/admin/views/doc.py:281 -msgid "Date (without time)" -msgstr "Data (bez godziny)" +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Czas:" -#: contrib/admin/views/doc.py:282 -msgid "Date (with time)" -msgstr "Data (z godziną)" - -#: contrib/admin/views/doc.py:283 -msgid "E-mail address" -msgstr "Adres e-mail" - -#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287 -msgid "File path" -msgstr "Ścieżka do pliku" - -#: contrib/admin/views/doc.py:285 -msgid "Decimal number" -msgstr "Numer dziesiętny" - -#: contrib/admin/views/doc.py:291 -msgid "Boolean (Either True, False or None)" -msgstr "Wartość logiczna (True, False, None - prawda, fałsz lub nic)" - -#: contrib/admin/views/doc.py:292 -msgid "Relation to parent model" -msgstr "Relacja do modelu rodzica" - -#: contrib/admin/views/doc.py:293 -msgid "Phone number" -msgstr "Numer telefonu" - -#: contrib/admin/views/doc.py:298 -msgid "Text" -msgstr "Tekst" - -#: contrib/admin/views/doc.py:299 -msgid "Time" -msgstr "Czas" - -#: contrib/admin/views/doc.py:300 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admin/views/doc.py:301 -msgid "U.S. state (two uppercase letters)" -msgstr "Stan USA (dwie duże litery)" - -#: contrib/admin/views/doc.py:302 -msgid "XML text" -msgstr "Tekst XML" - -#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentacja" -#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: 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/missing_docutils.html:4 #: contrib/admin/templates/admin_doc/view_index.html:5 #: contrib/admin/templates/admin_doc/model_detail.html:3 #: contrib/admin/templates/admin_doc/index.html:4 #: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 msgid "Change password" msgstr "Zmiana hasła" +#: 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/change_list.html:6 -#: contrib/admin/templates/admin/base.html:28 -#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -673,8 +1526,18 @@ msgstr "Zmiana hasła" msgid "Home" msgstr "Początek" +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Dodaj %(name)s" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Używając %(filter_title)s " + #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 msgid "History" msgstr "Historia" @@ -699,8 +1562,28 @@ msgid "" "This object doesn't have a change history. It probably wasn't added via this " "admin site." msgstr "" -"Ten obiekt nie ma historii zmian. Najprawdopodobniej wpis te nie " -"został dodany poprzez panel admina" +"Ten obiekt nie ma historii zmian. Najprawdopodobniej wpis ten nie został " +"dodany poprzez panel administracyjny." + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Szukaj" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 wynik" +msgstr[1] "%(counter)s wyników" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s trafień" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Pokaż wszystko" #: contrib/admin/templates/admin/base_site.html:4 msgid "Django site admin" @@ -727,23 +1610,29 @@ msgid "" "There's been an error. It's been reported to the site administrators via e-" "mail and should be fixed shortly. Thanks for your patience." msgstr "" -"Wystąpił niespodziewany błąd. Raport został wysłany emailem " -"administratorowi strony." +"Wystąpił niespodziewany błąd. Raport został wysłany emailem administratorowi " +"strony." -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "Strona nie znaleziona" - -#: contrib/admin/templates/admin/404.html:10 -msgid "We're sorry, but the requested page could not be found." -msgstr "Niestety nie można znaleźć rządanej strony." +#: 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 "" +"Instalacja Twojej bazy danych jest niepoprawna. Upewnij się, że odpowiednie " +"tabele zostały utworzone i odpowiedni użytkownik jest uprawniony do ich " +"odczytu." #: contrib/admin/templates/admin/index.html:17 #, python-format msgid "Models available in the %(name)s application." msgstr "Modele dostępne w aplikacji %(name)s." +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + #: contrib/admin/templates/admin/index.html:28 #: contrib/admin/templates/admin/change_form.html:15 msgid "Add" @@ -769,75 +1658,70 @@ msgstr "Moje akcje" msgid "None available" msgstr "Brak" -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Dodaj %(name)s" +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Strona nie znaleziona" -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "" -"Czy zapomniałeś/łaś hasła?" +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Niestety nie można znaleźć rządanej strony." -#: contrib/admin/templates/admin/base.html:23 -msgid "Welcome," -msgstr "Witaj," +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtr" + +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Pokaż na stronie" + +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Proszę popraw poniższy błąd" +msgstr[1] "Proszę popraw poniższe błędy" + +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Sortowanie" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Porządek:" #: contrib/admin/templates/admin/delete_confirmation.html:9 #: contrib/admin/templates/admin/submit_line.html:3 msgid "Delete" -msgstr "Skasuj" +msgstr "Usuń" #: contrib/admin/templates/admin/delete_confirmation.html:14 #, python-format msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" +"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 "" -"Skasowanie %(object_name)s '%(object)s' spowoduje kasację zależnych " -"obiektów, lecz twoje uprawnienia nie pozwalają na usunięcie następujących " +"Skasowanie %(object_name)s '%(escaped_object)s' spowoduje usunięcie " +"zależnych obiektów, lecz nie posiadasz uprawnień do usunięcia następujących " "typów obiektów:" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" msgstr "" -"Czy chcesz skasować %(object_name)s \"%(object)s\"? Wszystkie " +"Czy chcesz skasować %(object_name)s \"%(escaped_object)s\"? Następujące " "zależne obiekty zostaną skasowane:" #: contrib/admin/templates/admin/delete_confirmation.html:26 msgid "Yes, I'm sure" msgstr "Tak, usuń" -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(title)s " -msgstr "Używając %(title)s" - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Szukaj" - -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "Pokaż na stronie" - -#: contrib/admin/templates/admin/change_form.html:30 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Proszę popraw poniższy błąd" -msgstr[1] "Proszę popraw poniższe błędy" - -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Sortowanie" - -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Porządek:" +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Witaj," #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" @@ -855,6 +1739,38 @@ msgstr "Zapisz i kontynuuj edycję" msgid "Save" msgstr "Zapisz" +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Podaj nowe hasło dla użytkownika %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Hasło" + +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Hasło (powtórz)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Podaj powyższe hasło w celu weryfikacji." + +#: 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 "" +"Najpierw podaj nazwę użytkownika i hasło. Następnie będziesz mógł edytować " +"więcej opcji użytkownika." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Nazwa użytkownika" + #: 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 @@ -883,8 +1799,8 @@ msgid "" "Forgotten your password? Enter your e-mail address below, and we'll reset " "your password and e-mail the new one to you." msgstr "" -"Podaj swój adres email. Hasło zostanie zresetowane i wysłane na twój " -"adres email." +"Podaj swój adres email. Hasło zostanie zresetowane i wysłane na twój adres " +"email." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -912,8 +1828,8 @@ msgid "" "We've e-mailed a new password to the e-mail address you submitted. You " "should be receiving it shortly." msgstr "" -"Nowe hasło zostało wysłane na podany adres email. Powinieneś " -"otrzymać je niebawem." +"Nowe hasło zostało wysłane na podany adres email. Powinieneś otrzymać je " +"niebawem." #: contrib/admin/templates/registration/password_change_form.html:12 msgid "" @@ -986,6 +1902,14 @@ msgid "" "as \"internal\" (talk to your system administrator if you aren't sure if\n" "your computer is \"internal\").

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

                                                                    Aby zainstalować skryptozakładki, przeciągnij łącze do " +"paska zakładek\n" +"lub kliknij prawym klawiszem na łączu i dodaj je do zakładek. Teraz możesz\n" +"wybrać skryptozakładkę na dowolnej stronie serwisu. Uwaga: niektóre z tych " +"skryptozakładek wymagają przeglądania serwisu z komputera\n" +"\"wewnętrznego\" (skontaktuj się z administratorem systemu, jeśli nie jesteś " +"pewien, czy ten komputer jest \"wewnętrznym\").

                                                                    \n" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "Documentation for this page" @@ -996,6 +1920,8 @@ msgid "" "Jumps you from any page to the documentation for the view that generates " "that page." msgstr "" +"Przekierowuje z dowolnej strony do dokumentacji dla widoku, który ją " +"generuje." #: contrib/admin/templates/admin_doc/bookmarklets.html:22 msgid "Show object ID" @@ -1005,13 +1931,11 @@ msgstr "Pokaż ID obiektu" msgid "" "Shows the content-type and unique ID for pages that represent a single " "object." -msgstr "" -"Pokazuje typ i unikalne ID dla stron, które reprezentują " -"pojedynczy obiekt." +msgstr "Pokazuje typ i unikalne ID dla stron, które reprezentują pojedynczy obiekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Edit this object (current window)" -msgstr "Edytuj ten obiekt (bierzące okno)" +msgstr "Edytuj ten obiekt (bieżące okno)" #: contrib/admin/templates/admin_doc/bookmarklets.html:26 msgid "Jumps to the admin page for pages that represent a single object." @@ -1025,58 +1949,691 @@ msgstr "Edytuj ten obiekt (nowe onko)" msgid "As above, but opens the admin page in a new window." msgstr "Jak wyżej, tyle że otwiera nowe okno." -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Data:" +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "nazwa pythonowa modelu klasy" -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Czas:" +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "typ zawartości" -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Teraz:" +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "typy zawartości" -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Zmień:" +#: contrib/auth/views.py:40 +msgid "Logged out" +msgstr "Wylogowany" -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "przekieruj z" +#: contrib/auth/models.py:44 contrib/auth/models.py:64 +msgid "name" +msgstr "nazwa" -#: contrib/redirects/models.py:8 +#: contrib/auth/models.py:46 +msgid "codename" +msgstr "nazwa kodowa" + +#: contrib/auth/models.py:49 +msgid "permission" +msgstr "uprawnienie" + +#: contrib/auth/models.py:50 contrib/auth/models.py:65 +msgid "permissions" +msgstr "uprawnienia" + +#: contrib/auth/models.py:68 +msgid "group" +msgstr "grupa" + +#: contrib/auth/models.py:69 contrib/auth/models.py:109 +msgid "groups" +msgstr "grupy" + +#: contrib/auth/models.py:99 +msgid "username" +msgstr "użytkownik" + +#: contrib/auth/models.py:99 msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." msgstr "" -"Podaj pełną ścieżkę bez nazwy domeny. Przykład: '/" -"events/search/'." +"Wymagane. 30 znaków lub mniej. Tylko znaki alfanumeryczne (litery, cyfry i " +"podkreślenia)." -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "przekierowanie do" +#: contrib/auth/models.py:100 +msgid "first name" +msgstr "Imię" -#: contrib/redirects/models.py:10 +#: contrib/auth/models.py:101 +msgid "last name" +msgstr "Nazwisko" + +#: contrib/auth/models.py:102 +msgid "e-mail address" +msgstr "adres e-mail" + +#: contrib/auth/models.py:103 +msgid "password" +msgstr "hasło" + +#: contrib/auth/models.py:103 msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." -msgstr "Ścieżka jak wyżej lub pełny URL z http://" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Użyj '[algo]$[salt]$[hexdigest]' lub formularza zmiany " +"hasła." -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "przekieruj" +#: contrib/auth/models.py:104 +msgid "staff status" +msgstr "w zespole" -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "przekierowania" +#: contrib/auth/models.py:104 +msgid "Designates whether the user can log into this admin site." +msgstr "Oznacza czy użytkownik może zalogować się do panelu admina." + +#: contrib/auth/models.py:105 +msgid "active" +msgstr "aktywny" + +#: contrib/auth/models.py:105 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Oznacza czy użytkownik może zalogować się do panelu administratora. Odznacz " +"to zamiast usuwać konta." + +#: contrib/auth/models.py:106 +msgid "superuser status" +msgstr "Główny Administrator" + +#: contrib/auth/models.py:106 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Oznacza, że ten użytkownik ma wszystkie uprawnienia bez jawnego " +"przypisywania ich." + +#: contrib/auth/models.py:107 +msgid "last login" +msgstr "ostatnio zalogowany" + +#: contrib/auth/models.py:108 +msgid "date joined" +msgstr "data przyłączenia" + +#: contrib/auth/models.py:110 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"Oprócz uprawnień przypisanych bezpośrednio użytkownikowi otrzyma on " +"uprawnienia grup, do których należy." + +#: contrib/auth/models.py:111 +msgid "user permissions" +msgstr "uprawnienia użytkownika" + +# kurwa +#: contrib/auth/models.py:115 +msgid "user" +msgstr "użytkownik" + +#: contrib/auth/models.py:116 +msgid "users" +msgstr "użytkownicy" + +#: contrib/auth/models.py:122 +msgid "Personal info" +msgstr "Dane osobowe" + +#: contrib/auth/models.py:123 +msgid "Permissions" +msgstr "Uprawnienia" + +#: contrib/auth/models.py:124 +msgid "Important dates" +msgstr "Ważne daty" + +#: contrib/auth/models.py:125 +msgid "Groups" +msgstr "Grupy" + +#: contrib/auth/models.py:269 +msgid "message" +msgstr "wiadomość" + +#: contrib/auth/models.py:282 +msgid "AnonymousUser" +msgstr "UżytkownikAnonimowy" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "Hasła się nie zgadzają." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Użytkownik o tej nazwie już istnieje." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Twoja przeglądarka nie chce akceptować ciasteczek. Są one wymagane do " +"zalogowania się." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "To konto jest nieaktywne." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Ten adres e-mail nie ma przypisanego konta. Jesteś pewien, że " +"zarejestrowałeś się?" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Pola 'nowe hasło' nie zgadzają się." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Podane stare hasło jest niepoprawne. Proszę podać je jeszcze raz." + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "Wpisz kod pocztowy. Biały znak pomiędzy dwiema częściami kodu jest wymagany." + +#: contrib/localflavor/br/forms.py:18 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Wpisz kod pocztowy w formacie XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Numery telefoniczne muszą być w formacie XX-XXXX-XXXX." + +#: contrib/localflavor/br/forms.py:72 +msgid "This field requires only numbers." +msgstr "To pole może zawierać jedynie liczby." + +#: contrib/localflavor/br/forms.py:74 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "To pole nie może zawierać więcej niż 11 cyfr lub 14 znaków." + +#: contrib/localflavor/br/forms.py:84 +msgid "Invalid CPF number." +msgstr "Błędny numer CPF." + +#: contrib/localflavor/br/forms.py:106 +msgid "This field requires at least 14 digits" +msgstr "To pole musi zawierać co najmniej 14 cyfr." + +#: contrib/localflavor/br/forms.py:116 +msgid "Invalid CNPJ number." +msgstr "Błędny numer CNPJ." + +#: contrib/localflavor/au/forms.py:18 +msgid "Enter a 4 digit post code." +msgstr "Wpisz czterocyfrowy kod pocztowy." + +#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/de/forms.py:16 +#: contrib/localflavor/fi/forms.py:14 +msgid "Enter a zip code in the format XXXXX." +msgstr "Wpisz kod pocztowy w formacie XXXXX." + +#: contrib/localflavor/us/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Wpisz kod pocztowy w formacie XXXXX. lub XXXXX-XXXX." + +#: contrib/localflavor/us/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Wpisz poprawny numer U.S. Social Security w formacie XXX-XX-XXXX." + +#: 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:60 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"Podaj poprawny niemiecki numer dowodu osobistego w formacie XXXXXXXXXXX-" +"XXXXXXX-XXXXXXX-X." + +#: 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/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Wpisz kod pocztowy w formacie XXXXXXX lub XXX-XXXX." + +#: contrib/localflavor/it/forms.py:16 +msgid "Enter a valid zip code." +msgstr "Wpisz poprawny kod pocztowy." + +#: contrib/localflavor/it/forms.py:41 +msgid "Enter a valid Social Security number." +msgstr "Wpisz poprawny numer ubezpieczenia socjalnego." + +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "Wpisz poprawny numer VAT." + +#: contrib/localflavor/no/forms.py:15 contrib/localflavor/ch/forms.py:18 +msgid "Enter a zip code in the format XXXX." +msgstr "Wpisz kod pocztowy w formacie XXXX." + +#: contrib/localflavor/no/forms.py:36 +msgid "Enter a valid Norwegian social security number." +msgstr "Wpis poprawny numer norweskiego ubezpieczenia socjalnego." + +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +msgid "Enter a valid Finnish social security number." +msgstr "Wpis poprawny numer fińskiego ubezpieczenia socjalnego." + +#: 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:90 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "Podaj poprawny numer szwajarskiego dowodu osobistego lub paszportu w formacie X1234567<0 lub 1234567890." + +#: contrib/localflavor/is_/forms.py:16 +msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Podaj poprawny numer islandzkiego dowodu osobistego w formacie XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:30 +msgid "The Icelandic identification number is not valid." +msgstr "Numer islandzkiego dowodu osobistego jest błędny." + +#: contrib/localflavor/cl/forms.py:21 +msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Podaj poprawny czilijski RUT w formacie XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:26 +msgid "Enter valid a Chilean RUT" +msgstr "Wpisz poprawny czilijski RUT" + +#: contrib/sessions/models.py:68 +msgid "session key" +msgstr "klucz sesji" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "data sesji" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "data wygaśnięcia sesji" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "sesja" + +#: contrib/sessions/models.py:75 +msgid "sessions" +msgstr "sesje" #: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." msgstr "" -"Przykład: '/about/contact/'. Upewnij się że wpisałeś otwierający i zamykający slash." - +"Przykład: '/about/contact/'. Upewnij się że wpisałeś otwierający i " +"zamykający ukośnik." #: contrib/flatpages/models.py:9 msgid "title" @@ -1096,11 +2653,11 @@ msgstr "nazwa szablonu" #: contrib/flatpages/models.py:13 msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." msgstr "" -"Przykład: 'flatpages/contact_page'. Jeżeli nie podane system użyje " -"'flatpages/default'." +"Przykład: 'flatpages/contact_page.html'. Jeżeli nie zostanie podane, system " +"użyje 'flatpages/default.html'." #: contrib/flatpages/models.py:14 msgid "registration required" @@ -1118,187 +2675,6 @@ msgstr "strona statyczna" msgid "flat pages" msgstr "strony statyczne" -#: contrib/auth/models.py:13 contrib/auth/models.py:26 -msgid "name" -msgstr "nazwa" - -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "nazwa kodowa" - -#: contrib/auth/models.py:17 -msgid "permission" -msgstr "uprawnienie" - -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -msgid "permissions" -msgstr "uprawnienia" - -#: contrib/auth/models.py:29 -msgid "group" -msgstr "grupa" - -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -msgid "groups" -msgstr "grupy" - -#: contrib/auth/models.py:55 -msgid "username" -msgstr "użytkownik" - -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "Imię" - -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "Nazwisko" - -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "adres e-mail" - -#: contrib/auth/models.py:59 -msgid "password" -msgstr "hasło" - -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Użyj '[algo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "w zespole" - -#: contrib/auth/models.py:60 -msgid "Designates whether the user can log into this admin site." -msgstr "Oznacza czy użytkownik może zalogować się do panelu admina." - -#: contrib/auth/models.py:61 -msgid "active" -msgstr "aktywny" - -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "Główny Administrator" - -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "ostatnio zalogowany" - -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "data przyłączenia" - -#: contrib/auth/models.py:66 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"Oprócz uprawnień przypisanych bezpośrednio użytkownikowi otrzyma on " -"uprawnienia grup, do których należy." - -#: contrib/auth/models.py:67 -msgid "user permissions" -msgstr "uprawnienia użytkownika" - -#kurwa -#: contrib/auth/models.py:70 -msgid "user" -msgstr "użytkownik" - -#: contrib/auth/models.py:71 -msgid "users" -msgstr "użytkownicy" - -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "Dane osobowe" - -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "Uprawnienia" - -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "Ważne daty" - -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Grupy" - -#: contrib/auth/models.py:219 -msgid "message" -msgstr "wiadomość" - -#: contrib/auth/forms.py:30 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" -"Twoja przeglądarka nie chce akceptować ciasteczek. Są one " -"wymagane do zalogowania się." - -#: contrib/contenttypes/models.py:25 -msgid "python model class name" -msgstr "nazwa pythonowa modelu klasy" - -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "typ zawartości" - -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "typy zawartości" - -#: contrib/sessions/models.py:35 -msgid "session key" -msgstr "klucz sesji" - -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "data sesji" - -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "data wygaśnięcia sesji" - -#: contrib/sessions/models.py:41 -msgid "session" -msgstr "sesja" - -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "sesje" - -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "nazwa domeny" - -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "wyświetlana nazwa" - -#: contrib/sites/models.py:15 -msgid "site" -msgstr "strona" - -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "strony" - -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "Y-m-d" - -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "Y-m-d H:i:s" - -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "H:i:s" - #: utils/dates.py:6 msgid "Monday" msgstr "Poniedziałek" @@ -1487,475 +2863,89 @@ msgid_plural "minutes" msgstr[0] "minuta" msgstr[1] "minut" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "Bengalski" - -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "Czeski" - -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "Walijski" - -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "Duński" - -#: conf/global_settings.py:41 -msgid "German" -msgstr "Niemiecki" - -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "Grecki" - -#: conf/global_settings.py:43 -msgid "English" -msgstr "Angielski" - -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "Hiszpański" - -#: conf/global_settings.py:45 -msgid "French" -msgstr "Francuski" - -#: conf/global_settings.py:46 -msgid "Galician" -msgstr "Galicyjnski" - -#: conf/global_settings.py:47 -msgid "Hungarian" -msgstr "" - -#: conf/global_settings.py:48 -msgid "Hebrew" -msgstr "Hebrajski" - -#: conf/global_settings.py:49 -msgid "Icelandic" -msgstr "Islandzki" - -#: conf/global_settings.py:50 -msgid "Italian" -msgstr "Włoski" - -#: conf/global_settings.py:51 -msgid "Japanese" -msgstr "Japoński" - -#: conf/global_settings.py:52 -msgid "Dutch" -msgstr "Holenderski" - -#: conf/global_settings.py:53 -msgid "Norwegian" -msgstr "Norweski" - -#: conf/global_settings.py:54 -msgid "Brazilian" -msgstr "Brazylijski" - -#: conf/global_settings.py:55 -msgid "Romanian" -msgstr "Rumuński" - -#: conf/global_settings.py:56 -msgid "Russian" -msgstr "Rosyjski" - -#: conf/global_settings.py:57 -msgid "Slovak" -msgstr "Słowacki" - -#: conf/global_settings.py:58 -msgid "Slovenian" -msgstr "Słowacki" - -#: conf/global_settings.py:59 -msgid "Serbian" -msgstr "Serbski" - -#: conf/global_settings.py:60 -msgid "Swedish" -msgstr "Szwedzki" - -#: conf/global_settings.py:61 -msgid "Ukrainian" -msgstr "Ukraiński" - -#: conf/global_settings.py:62 -msgid "Simplified Chinese" -msgstr "Uproszczony Chiński" - -#: conf/global_settings.py:63 -msgid "Traditional Chinese" -msgstr "Chiński tradycyjny" - -#: core/validators.py:60 -msgid "This value must contain only letters, numbers and underscores." -msgstr "To pole możei zawierać tylko litery, cyfry i podkreślenia" - -#: core/validators.py:64 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "To pole może zawierać jedynie litery, cyfry, podkreślenia i slasze." - -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "Wielkie litery nie są tutaj dozwolone" - -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "Małe litery nie są tutaj dozwolone" - -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Wpisz tylko cyfry odddzielone przecinkami" - -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Wpisz poprawne adresy e-mai oddzielone przecinkamil" - -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Proszę wpisać poprawny adres IP" - -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "Proszę wypełnić te pola" - -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "Tu mogą być tylko cyfry" - -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "To pole nie może zawierać jedynie cyfr." - -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Wpisz całą liczbę" - -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Tutaj są dozwolone tylko litery" - -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Proszę wpisać poprawną datę w formacie RRRR-MM-DD." - -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Proszę wpisać poprawny czas w formacie GG:MM" - -#: core/validators.py:132 db/models/fields/__init__.py:468 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Wprowadź poprawną datę i czas w formacie RRRR-MM-DD GG:MM" - -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "Wprowadź poprawny adres e-mail" - -#: core/validators.py:148 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Wgraj poprawny plik graficzny. Ten, który został wgrany jest niepoprawny " -"albo uszkodzony." - -#: core/validators.py:155 +#: utils/timesince.py:40 #, python-format -msgid "The URL %s does not point to a valid image." -msgstr "Odnośnik %s nie wskazuje na poprawny plik z obrazem." +msgid "%d milliseconds" +msgstr "%d milisekund" -#: core/validators.py:159 +#: utils/timesince.py:41 #, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" -"Numery telefoniczne muszą być w formacie XXX-XXX-XXXX. \"%s\" jest " -"niepoprawny." +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" -#: core/validators.py:167 +#: utils/timesince.py:47 #, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "Odnośnik %s nie wskazuje na poprawne plik QuickTime video." +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "Wymagany jest poprawny URL." +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "popołudniu" -#: core/validators.py:185 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" -"Wymagany jest poprawny odnośnik. Błędy to:\n" -"%s" +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "rano" -#: core/validators.py:192 -#, python-format -msgid "Badly formed XML: %s" -msgstr "Nieprawidłowy format XML: %s" +#: utils/dateformat.py:46 +msgid "PM" +msgstr "popołudniu" -#: core/validators.py:202 -#, python-format -msgid "Invalid URL: %s" -msgstr "Niepoprawny odnośnik: %s" +#: utils/dateformat.py:47 +msgid "AM" +msgstr "rano" -#: core/validators.py:206 core/validators.py:208 -#, python-format -msgid "The URL %s is a broken link." -msgstr "Odnośnik %s jest nieprawidłowy." +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "północ" -#: core/validators.py:214 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Wpisz poprawny kod stanu U.S.A." +#: utils/dateformat.py:97 +msgid "noon" +msgstr "południe" -#: core/validators.py:229 -#, python-format -msgid "Watch your mouth! The word %s is not allowed here." -msgid_plural "Watch your mouth! The words %s are not allowed here." -msgstr[0] "Nie wolno przeklinać! Słowo %s jest niedozwolone." -msgstr[1] "Nie wolno przeklinać! Słowa %s są niedozwolone." +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "Y-m-d" -#: core/validators.py:236 -#, python-format -msgid "This field must match the '%s' field." -msgstr "To pole musi pasować do pola '%s'." +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "Y-m-d H:i:s" -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "Proszę wpisać cokolwiek do chociaż jednego pola." +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "H:i:s" -#: core/validators.py:264 core/validators.py:275 -msgid "Please enter both fields or leave them both empty." -msgstr "Proszę uzupełnić oba pola lub zostawić je puste." +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "Y-m" -#: core/validators.py:282 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "To pole musi być uzupełnione jeśli %(field)s jest %(value)s" +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "m-d" -#: core/validators.py:294 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "To pole musi być wypełnione jeżeli %(field)s nie jest %(value)s" - -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "Duplikaty są niedozwolone." - -#: core/validators.py:336 -#, python-format -msgid "This value must be a power of %s." -msgstr "" - -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "Proszę wpisać poprawną liczbę dziesiętną." - -#: core/validators.py:349 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "" -"Please enter a valid decimal number with at most %s total digits." -msgstr[0] "Proszę wpisać poprawną liczbę dziesiętną zawierającą nie więcej niż %s cyfry." -msgstr[1] "Proszę wpisać poprawną liczbę dziesiętną zawierającą nie więcej niż %s cyfr." - -#: core/validators.py:352 -#, python-format -msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "" -"Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "Proszę wpisać poprawną liczbę dziesiętną z dokładnością do %s miejsca po przecinku." -msgstr[1] "Proszę wpisać poprawną liczbę dziesiętną z dokładnością do %s miejsc po przecinku." - -#: core/validators.py:362 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Upewnij się, że wgrany plik ma conajmniej %s bajtów." - -#: core/validators.py:363 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Upewnij się, że wgrany plik nie zawiera więcej niż %s bajtów." - -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "Format tego pola jest nieprawidłowy." - -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "To pole jest nieprawidłowe." - -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Nie można nic pobrać z %s." - -#: core/validators.py:429 -#, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" -"URL %(url)s zwrócił niepoprawny Content-Type header '%(contenttype)s'." - - -#: core/validators.py:462 -#, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" - -#: core/validators.py:466 -#, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" - -#: core/validators.py:471 -#, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" - -#: core/validators.py:476 -#, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" - -#: core/validators.py:480 -#, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" - -#: core/validators.py:485 -#, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" - -#: db/models/manipulators.py:302 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "" - -#: db/models/fields/__init__.py:40 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "" - -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 -#: forms/__init__.py:346 -msgid "This field is required." -msgstr "To pole jest wymagane" - -#: db/models/fields/__init__.py:337 -msgid "This value must be an integer." -msgstr "Ta wartość musi być liczbą całkowitą" - -#: db/models/fields/__init__.py:369 -msgid "This value must be either True or False." -msgstr "Ta wartość musi być logiczna (True, False - prawda lub fałsz)." - -#: db/models/fields/__init__.py:385 -msgid "This field cannot be null." -msgstr "To pole nie może być puste." - -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Wpisz poprawną nazwę pliku." - -#: db/models/fields/related.py:43 -#, python-format -msgid "Please enter a valid %s." -msgstr "Proszę wpisać poprawne %s." - -#: db/models/fields/related.py:579 -msgid "Separate multiple IDs with commas." -msgstr "Oddziel kilka pól ID przecinkami." - -#: db/models/fields/related.py:581 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -" Trzymaj przyciśnięty klawisz \"Ctrl\", lub \"Command\" na Macu aby " -"zaznaczyć więcej niż jeden wybór." - -#: db/models/fields/related.py:625 -#, python-format -msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -msgid_plural "" -"Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr[0] "" -msgstr[1] "" - -#: forms/__init__.py:380 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Upewnij się, że tekst ma mniej niż %s znak." -msgstr[1] "Upewnij się, że tekst ma mniej niż %s znaków." - -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "Znaki nowego wiersza są tutaj niedopuszczalne." - -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "" - -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "Wgrany plik jest pusty." - -#: forms/__init__.py:699 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Proszę wpisać liczbę z zakresu od -32 768 do 32 767" - -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "Proszę wpisać liczbę dodatnią." - -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Proszę wpisać liczbę z zakresu od 0 do 32 767" - -#: template/defaultfilters.py:379 +#: template/defaultfilters.py:491 msgid "yes,no,maybe" -msgstr "tak,nie, może" +msgstr "tak,nie,może" -#~ msgid "String (up to 50)" -#~ msgstr "Ciąg znaków (do ilości 50 znaków)" +#: template/defaultfilters.py:520 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bajt" +msgstr[1] "%(size)d bajtów" +msgstr[2] "" -#~ msgid "Comment" -#~ msgstr "Komentarz" +#: template/defaultfilters.py:522 +#, python-format +msgid "%.1f KB" +msgstr "%.1f kB" -#~ msgid "Comments" -#~ msgstr "Komentarze" +#: template/defaultfilters.py:524 +#, python-format +msgid "%.1f MB" +msgstr "%.1f MB" -#~ msgid "label" -#~ msgstr "etykieta" +#: template/defaultfilters.py:525 +#, python-format +msgid "%.1f GB" +msgstr "%.1f GB" -#~ msgid "package" -#~ msgstr "pakiet" - -#~ msgid "packages" -#~ msgstr "pakiety" diff --git a/django/conf/locale/pl/LC_MESSAGES/djangojs.mo b/django/conf/locale/pl/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..752211a45454449d03df0fa1a66c06db3b55f1c0 GIT binary patch literal 1564 zcmYk5&u<$=6vwBf6yidG62t|hC#05Eux2++OK{@S)M=_Facad525#f^)ZSz~W6jPc z^{S_+h&zGmqW_xl{=dS8Nb;5Q)W{|$29Ly+qqL(G zKY<+gGsynm5A1(}PeXqQa=%kZIs;CFoc}VG+h73lejkEd=Ti_r@x=kZ0;i!r0IT4S z;A7xPYz9%B23em5(PnX0j{k4)y>s0E$5T+aH@*+vlLy}g_rbMr^x|wNDNbWPi^;w7 z;Io`6Bq5$*UM5){l*MAVD;9TTqGd-bI-81`)XH?FgJ5E%MXhgbsz{Pg2I^4Lg(Fp_ zNYP3J6Q+TITU|KrCt?|hO=8L_QB0=@Ro9EVoim@a#Y$-L+gA{ zPkTu>xR&+Opk*smYTRlCHK(LUV6Y^;s?barUJ9a_Abf+OsB$TKC5*xlfx(8_Nx0xq z-0MMj5uqG6J2Qz}lc^6{PMTCpZ(W7zN!*v3YJHcbd7RUNcUJ4GL){H@VzN7B>v~s8 zYtr;G*;7GF$w7r0Rwrqn7KZw&P9_ocoAv8QM~cc}sb-B=2D^=hXxpnh{F(Xa&N1Ny zWxab|lI=cDoc{rBn6`>yKYQ)zm5)c78)WgbsYx?IJyx|^stVQXD(Q7u=F4YZaF z8BJ^n0p2#E(?V*<@weR^4wGynF7, 2007. +msgid "" +msgstr "" +"Project-Id-Version: 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-12-09 11:51+0100\n" +"PO-Revision-Date: 2007-03-12 11:42+0100\n" +"Last-Translator: Michal Chruszcz \n" +"Language-Team: Polish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: contrib/admin/media/js/SelectFilter2.js:33 +#, perl-format +msgid "Available %s" +msgstr "Dostępne %s" + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "Wybierz wszystko" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "Dodaj" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "Usuń" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "Wybrano %s" + +#: contrib/admin/media/js/SelectFilter2.js:54 +#, fuzzy +msgid "Select your choice(s) and click " +msgstr "Zaznacz swój wybór i kliknij " + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "Wyczyść wszystko" + +#: contrib/admin/media/js/dateparse.js:26 +#: contrib/admin/media/js/calendar.js:24 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "Styczeń Luty Marzec Kwiecień Maj Czerwiec Lipiec Sierpień Wrzesień Październik Listopad Grudzień" + +#: contrib/admin/media/js/dateparse.js:27 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Niedziela Poniedziałek Wtorek Środa Czwartek Piątek Sobota" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "N Pn Wt Śr Cz Pt So" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Now" +msgstr "Teraz" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +msgid "Clock" +msgstr "Zegar" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +msgid "Choose a time" +msgstr "Wybierz czas" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Midnight" +msgstr "Północ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "6 a.m." +msgstr "6 rano" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "Noon" +msgstr "Południe" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +msgid "Cancel" +msgstr "Anuluj" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +msgid "Today" +msgstr "Dzisiaj" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +msgid "Calendar" +msgstr "Kalendarz" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +msgid "Yesterday" +msgstr "Wczoraj" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +msgid "Tomorrow" +msgstr "Jutro" + diff --git a/django/conf/locale/pt/LC_MESSAGES/django.mo b/django/conf/locale/pt/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..7adc41be5b09b085c493cfae6e9851dd140b0600 GIT binary patch literal 37681 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 B&)Wb1 literal 0 HcmV?d00001 diff --git a/django/conf/locale/pt/LC_MESSAGES/django.po b/django/conf/locale/pt/LC_MESSAGES/django.po new file mode 100644 index 0000000000..d99f51d78b --- /dev/null +++ b/django/conf/locale/pt/LC_MESSAGES/django.po @@ -0,0 +1,2125 @@ +# Portuguese translation of Django. +# Copyright (C) 2007 the Lawrence Journal-World +# This file is distributed under the same license as the PACKAGE package. +# Nuno Mariz , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: Django 0.96pre\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-15 15:43+0200\n" +"PO-Revision-Date: 2007-03-16 10:00+0000\n" +"Last-Translator: Nuno Mariz \n" +"Language-Team: pt_PT \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: contrib/comments/models.py:67 contrib/comments/models.py:166 +msgid "object ID" +msgstr "ID do objecto" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "título" + +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "comentário" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "avaliação #1" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "avaliação #2" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "avaliação #3" + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "avaliação #4" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "avaliação #5" + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "avaliação #6" + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "avaliação #7" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "avaliação #8" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "é uma avaliação válida" + +#: contrib/comments/models.py:83 contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "data/hora de submissão" + +#: contrib/comments/models.py:84 contrib/comments/models.py:170 +msgid "is public" +msgstr "é público" + +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 +msgid "IP address" +msgstr "Endereço IP" + +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "foi removido" + +#: 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 "Seleccione esta opção se o comentário não é apropriado. Uma mensagem \"Este comentário foi removido\" será mostrada no seu lugar." + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "comentários" + +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "Objecto de conteúdo" + +#: contrib/comments/models.py:159 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"Colocado pelo utilizador %(user)s em %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "nome da pessoa" + +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "endereço ip" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "aprovado pela equipa" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "comentário livre" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "comentários livres" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "pontuação" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "data da pontuação" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "pontuação do karma" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "pontuações do karma" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "Avaliação %(score)d por %(user)s" + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"O utilizador %(user)s colocou uma flag neste comentário\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "data da flag" + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "flag do utilizador" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "flags do utilizador" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "Flag por %r" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "data de remoção" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "remoção pelo moderador" + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "remoções pelo moderador" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr "Remoção de moderador %r" + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "Utilizadores anónimos não podem votar" + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "ID de comentário inválido" + +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "Não pode votar em si" + +#: contrib/comments/views/comments.py:27 +msgid "" +"This rating is required because you've entered at least one other rating." +msgstr "Esta avaliação é obrigatória porque introduziu pelo menos uma outra avaliação." + +#: contrib/comments/views/comments.py:111 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" +"\n" +"%(text)s" +msgid_plural "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comments:\n" +"\n" +"%(text)s" +msgstr[0] "" +"Este comentário foi colocado por um utilizador que efectuou menos de %(count)s comentário:\n" +"\n" +"%(text)s" +msgstr[1] "" +"Este comentário foi colocado por um utilizador que efectuou menos de %(count)s comentários:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:116 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"Este comentário foi colocado por um utilizador incompleto:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "Apenas POSTs são autorizados" + +#: contrib/comments/views/comments.py:192 +#: contrib/comments/views/comments.py:284 +msgid "One or more of the required fields wasn't submitted" +msgstr "Um ou mais campos obrigatórios não foram submetidos" + +#: contrib/comments/views/comments.py:196 +#: contrib/comments/views/comments.py:286 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "Alguém modificou o formulário de comentário (violação de segurança)" + +#: 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 "O formulário de comentário teve um parâmetro 'target' inválido -- o ID do objecto foi inválido" + +#: contrib/comments/views/comments.py:257 +#: contrib/comments/views/comments.py:321 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "O formulário de comentário não forneceu nem 'preview' ou 'post'" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:17 +msgid "Username:" +msgstr "Utilizador:" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +msgid "Log out" +msgstr "Sair" + +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Palavra-passe:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Esqueceu-se da palavra-passe?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "Avaliações" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Obrigatório" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Opcional" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Colocar uma foto" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "Comentário:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "Pré-visualizar comentário" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "O seu nome:" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

                                                                    By %s:

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

                                                                      Por %s:

                                                                      \n" +"
                                                                        \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Todos" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Qualquer data" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Hoje" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "Últimos 7 dias" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Este mês" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Este ano" + +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "Sim" + +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "Não" + +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Desconhecido" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "hora da acção" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "id do objecto" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "repr do objecto" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "flag de acção" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "modificar mensagem" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "entrada de log" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "entradas de log" + +#: contrib/admin/templatetags/admin_list.py:230 +msgid "All dates" +msgstr "Todas as datas" + +#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:59 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "Por favor introduza o utilizador e palavra-passe correctos. Note que ambos os casos diferenciam maiúsculas e minúsculas." + +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "Entrar" + +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "Por favor autentique-se novamente, porque a sua sessão expirou. Não se preocupe: Os dados submetidos foram gravados." + +#: 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 "Aparentemente o seu browser não está configurado para aceitar cookies. Por favor active os cookies, carrege novamente a página e volte a tentar." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Nomes de utilizador não podem conter o caracter '@'." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "O seu endereço de e-mail não é o seu nome de utilizador. Tente usar '%s'." + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Administração do site" + +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:17 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "O(A) %(name)s \"%(obj)s\" foi adicionado(a) com sucesso." + +#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 +#: contrib/admin/views/auth.py:22 +msgid "You may edit it again below." +msgstr "Pode editá-lo(a) outra vez abaixo." + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "Pode adicionar outro %s abaixo." + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "Adicionar %s" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "Foi adicionado %s" + +#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:339 +msgid "and" +msgstr "e" + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr "Foi modificado %s." + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "Foi removido %s." + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "Nenhum campo foi modificado." + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "O(A) %(name)s \"%(obj)s\" foi modificado(a) com sucesso." + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "O(A) %(name)s \"%(obj)s\" foi adicionado(a) com sucesso. Pode voltar a editar novamente abaixo." + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "Modificar %s" + +#: contrib/admin/views/main.py:473 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Um ou mais %(fieldname)s em %(name)s: %(obj)s" + +#: contrib/admin/views/main.py:478 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Um ou mais %(fieldname)s em %(name)s:" + +#: contrib/admin/views/main.py:511 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "O(A) %(name)s \"%(obj)s\" foi removido(a) com sucesso." + +#: contrib/admin/views/main.py:514 +msgid "Are you sure?" +msgstr "Tem a certeza?" + +#: contrib/admin/views/main.py:536 +#, python-format +msgid "Change history: %s" +msgstr "Histórico de modificações: %s" + +#: contrib/admin/views/main.py:570 +#, python-format +msgid "Select %s" +msgstr "Seleccionar %s" + +#: contrib/admin/views/main.py:570 +#, python-format +msgid "Select %s to change" +msgstr "Seleccione %s para modificar" + +#: contrib/admin/views/main.py:758 +msgid "Database error" +msgstr "Erro de base de dados" + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "tag:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filtro:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "ver:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "A aplicação %r não encontrada" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %r not found in app %r" +msgstr "O Model %r não foi encontrado na aplicação %r" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%s.%s` object" +msgstr "o objecto `%s.%s` relacionado" + +#: 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 "os objectos `%s.%s` relacionados" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "todos %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "número de %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Campos nos objectos %s" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +msgid "Integer" +msgstr "Inteiro" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Boolean (Pode ser True ou False)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "String (até %(maxlength)s)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Inteiros separados por virgula" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Data (sem hora)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "Data (com hora)" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "Endereço de e-mail" + +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "Caminho do ficheiro" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "Número décimal" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (Pode ser True, False ou None)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "Relação para o pai do model" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "Número de telefone" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "Texto" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "Hora" + +#: 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 "Estado dos E.U.A (duas letras em maiúsculas)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "Texto XML" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s não parece ser um objecto urlpattern" + +#: contrib/admin/views/auth.py:28 +msgid "Add user" +msgstr "Adicionar utilizador" + +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Documentação" + +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +msgid "Change password" +msgstr "Modificar palavra-passe" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/change_list.html:6 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "Início" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:20 +msgid "History" +msgstr "História" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Data/hora" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Utilizador" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Acção" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "N j, Y, P" + +#: contrib/admin/templates/admin/object_history.html:36 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "Este objecto não tem histórico de modificações. Provavelmente não foi modificado via site de administração." + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Site de administração do Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Administração do Django" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Erro do servidor" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Erro do servidor (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Erro do servidor (500)" + +#: contrib/admin/templates/admin/500.html:10 +msgid "" +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "Ocorreu um erro. Foi reportado aos administradores do site via e-mail e deverá ser corrigido brevemente. Obrigado pela sua paciência." + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Página não encontrada" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Pedimos desculpa, mas a página solicitada não foi encontrada." + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Models disponíveis na aplicação %(name)s." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:28 +#: contrib/admin/templates/admin/change_form.html:15 +msgid "Add" +msgstr "Adicionar" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Modificar" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "Não tem permissão para modificar nada." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Acções Recentes" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "As minhas Acções" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Nenhum disponível" + +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "Adicionar %(name)s" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Have you forgotten your password?" +msgstr "Esqueceu-se a sua palavra-passe?" + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Bem-vindo," + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Remover" + +#: 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 "A remoção de %(object_name)s '%(escaped_objects)s' resultará na remoção dos objectos relacionados, mas a sua conta não tem permissão de remoção dos seguintes tipos de objectos:" + +#: 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 "Tem a certeza que deseja remover %(object_name)s \"%(escaped_object)s\"? Todos os items relacionados seguintes irão ser removidos:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "Sim, tenho a certeza" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Ir" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 resultado" +msgstr[1] "%(counter)s resultados" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s no total" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostrar todos" + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtro" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "Ver no site" + +#: contrib/admin/templates/admin/change_form.html:30 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Por favor corrija o erro abaixo." +msgstr[1] "Por favor corrija os erros abaixo." + +#: contrib/admin/templates/admin/change_form.html:48 +msgid "Ordering" +msgstr "Ordenação" + +#: contrib/admin/templates/admin/change_form.html:51 +msgid "Order:" +msgstr "Ordem:" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Gravar como novo" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Gravar e adicionar outro" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Gravar e continuar a editar" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Gravar" + +#: 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 "Passa-se algo de errado com a instalação da sua base de dados. Verifique se as tabelas da base de dados foram criadas apropriadamente e verifique se a base de dados pode ser lida pelo utilizador definido." + +#: 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 "Primeiro introduza o nome do utilizador e palavra-passe. Depois poderá editar mais opções do utilizador." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Utilizador" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Palavra-passe" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Palavra-passe (novamente)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Introduza a palavra-passe como acima, para verificação." + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_form.html:6 +#: contrib/admin/templates/registration/password_change_form.html:10 +msgid "Password change" +msgstr "Modificação de palavra-passe" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Palavra-passe modificada com sucesso" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "A sua palavra-passe foi modificada." + +#: 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 "Reinicializar palavra-passe" + +#: 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 "Esqueceu-se da palavra-passe? Introduza o seu email abaixo, e enviaremos a sua palavra-passe reinicializada para o seu e-mail." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Endereço de e-mail:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Reinicializar a minha palavra-passe" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Obrigado por ter gasto tempo de qualidade no Web site hoje." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Entrar novamente" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Palavra-passe reinicializada com sucesso" + +#: 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 "Foi enviada uma nova palavra-passe nova para o e-mail que submeteu. Deverá estar a recebê-la brevemente." + +#: contrib/admin/templates/registration/password_change_form.html:12 +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "Por razões de segurança, por favor introduza a sua palavra-passe antiga e depois introduza a nova duas vezes para que possamos verificar se introduziu correctamente." + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Palavra-passe antiga:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Nova password:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Confirmação da palavra-passe:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Modificar a minha palavra-passe" + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Está a receber este e-mail porque requisitou a reinicialização da sua palavra-passe" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "para a sua conta de utilizador em %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "A sua nova palavra-chave é: %(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 "Tenha a liberdade de modificar esta palavra-passe através desta página:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "O seu nome de utilizador, no caso de se ter esquecido:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Obrigado pela sua visita ao nosso site!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "A equipa do %(site_name)s" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Itens do bookmark" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "Documentação dos itens do bookmark" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

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

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

                                                                        Para instalar itens no bookmark, arraste o link para sua barra \n" +"de bookmarks, ou clique com o lado direito do rato no link e adicione ao seus bookmarks. Agora pode \n" +"seleccionar o link do bookmark de qualquer página no site. Note que alguns destes \n" +"itens do bookmark requerem que visualize o site de um computador designado \n" +"por \"internal\" (entre em contacto com o seu administrador de sistema se \n" +"não tiver a certeza se o seu computador é \"internal\".

                                                                        \n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Documentação desta página" + +#: 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 "Vai de qualquer página para a documentação da view que gera essa página." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "Mostrar o ID do objecto" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "Mostra o tipo de conteúdo e o ID único para as páginas que representam um único objecto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Editar este objecto (janela actual)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "Vai para a página de admin para as páginas que representam um único objecto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Editar este objecto (nova janela)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "Tal como acima, mas abre a página de admin numa nova janela." + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Data:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Hora:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Actualmente:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Modificar:" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "redireccionar de" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "Isto deverá ser um caminho absoluto, excluindo o domínio. Exemplo: '/events/search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "redireccionar para" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "Isto poderá ser um caminho absoluto (como acima) ou um URL completo começado por 'http://'." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "redireccionar" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "redirecciona" + +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Exemplo: '/about/contact/'. Verifique se possui as barras no inicio e no fim." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "titulo" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "conteúdo" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "permitir comentários" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "nome da template" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "Exemplo: 'flatpages/contact_page.html'. Se não for fornecido, o sistema usará: 'flatpages/default.html'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "é necessário registo" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Se estiver seleccionado, apenas utilizadores autenticados poderão ver esta página." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "página plana" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "páginas planas" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Saiu" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "nome" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "nome de código" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "permissão" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "permissões" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "grupo" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "grupos" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "utilizador" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "Obrigatório. 30 caracteres ou menos. Apenas caracteres alfanúmericos (letras, números ou underscores)." + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "primeiro nome" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "último nome" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "endereço de e-mail" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "palavra-passe" + +#: contrib/auth/models.py:94 +msgid "Use '[algo]$[salt]$[hexdigest]'" +msgstr "Use '[algo]$[salt]$[hexdigest]'" + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "status de equipa" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "Define se o utilizador pode usar a administração do site." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "activo" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "Define se este utiliador pode usar a adminstração do site. Não seleccione em vez de remover as contas." + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "Status de superuser" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "Define se este utilizador tem todas as permissões sem explicitamente as atribuir." + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "última entrada" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "data de registo" + +#: 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 "Em adição às permissões definidas manualmente, este utilizador também terá todas as permissões atribuídas a cada grupo a que partence." + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "permissões do utilizador" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "utilizador" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "utilizadores" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "Informação pessoal" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "Permissões" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "Datas importantes" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Grupos" + +#: contrib/auth/models.py:256 +msgid "message" +msgstr "mensagem" + +#: contrib/auth/forms.py:52 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "Aparentemente que o seu browser não está configurado para aceitar cookies. Os cookies são necessários para poder entrar." + +#: contrib/auth/forms.py:61 +msgid "This account is inactive." +msgstr "Esta conta não está activa." + +#: contrib/contenttypes/models.py:20 +msgid "python model class name" +msgstr "python model class name" + +#: contrib/contenttypes/models.py:23 +msgid "content type" +msgstr "tipo de conteúdo" + +#: contrib/contenttypes/models.py:24 +msgid "content types" +msgstr "tipos de conteúdos" + +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "chave da sessão" + +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "dados da sessão" + +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "data de expiração" + +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "sessão" + +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "sessões" + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "nome do domínio" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "mostrar nome" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "site" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "sites" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "Segunda-feira" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Terça-feira" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Quarta-feira" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Quinta-feira" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "Sexta-feira" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Sábado" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Domingo" + +#: utils/dates.py:14 +msgid "January" +msgstr "Janeiro" + +#: utils/dates.py:14 +msgid "February" +msgstr "Fevereiro" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "Março" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "Abril" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "Maio" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "Junho" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "Julho" + +#: utils/dates.py:15 +msgid "August" +msgstr "Agosto" + +#: utils/dates.py:15 +msgid "September" +msgstr "Setembro" + +#: utils/dates.py:15 +msgid "October" +msgstr "Outubro" + +#: utils/dates.py:15 +msgid "November" +msgstr "Novembro" + +#: utils/dates.py:16 +msgid "December" +msgstr "Dezembro" + +#: utils/dates.py:19 +msgid "jan" +msgstr "jan" + +#: utils/dates.py:19 +msgid "feb" +msgstr "fev" + +#: utils/dates.py:19 +msgid "mar" +msgstr "mar" + +#: utils/dates.py:19 +msgid "apr" +msgstr "abr" + +#: utils/dates.py:19 +msgid "may" +msgstr "mai" + +#: utils/dates.py:19 +msgid "jun" +msgstr "jun" + +#: utils/dates.py:20 +msgid "jul" +msgstr "jul" + +#: utils/dates.py:20 +msgid "aug" +msgstr "ago" + +#: utils/dates.py:20 +msgid "sep" +msgstr "set" + +#: utils/dates.py:20 +msgid "oct" +msgstr "out" + +#: utils/dates.py:20 +msgid "nov" +msgstr "nov" + +#: utils/dates.py:20 +msgid "dec" +msgstr "dez" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "Jan." + +#: utils/dates.py:27 +msgid "Feb." +msgstr "Fev." + +#: utils/dates.py:28 +msgid "Aug." +msgstr "Ago." + +#: utils/dates.py:28 +msgid "Sept." +msgstr "Set." + +#: utils/dates.py:28 +msgid "Oct." +msgstr "Out." + +#: utils/dates.py:28 +msgid "Nov." +msgstr "Nov." + +#: utils/dates.py:28 +msgid "Dec." +msgstr "Dez." + +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "ano" +msgstr[1] "anos" + +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "mês" +msgstr[1] "meses" + +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "semana" +msgstr[1] "semanas" + +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "dia" +msgstr[1] "dias" + +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hora" +msgstr[1] "horas" + +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuto" +msgstr[1] "minutos" + +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "N j, Y" + +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "N j, Y, P" + +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Árabe" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengalês" + +#: conf/global_settings.py:41 +msgid "Czech" +msgstr "Checo" + +#: conf/global_settings.py:42 +msgid "Welsh" +msgstr "Galês" + +#: conf/global_settings.py:43 +msgid "Danish" +msgstr "Dinamarquês" + +#: conf/global_settings.py:44 +msgid "German" +msgstr "Alemão" + +#: conf/global_settings.py:45 +msgid "Greek" +msgstr "Grego" + +#: conf/global_settings.py:46 +msgid "English" +msgstr "Inglês" + +#: conf/global_settings.py:47 +msgid "Spanish" +msgstr "Espanhol" + +#: conf/global_settings.py:48 +msgid "Argentinean Spanish" +msgstr "Espanhol Argentino" + +#: conf/global_settings.py:49 +msgid "Finnish" +msgstr "Filandês" + +#: conf/global_settings.py:50 +msgid "French" +msgstr "Francês" + +#: conf/global_settings.py:51 +msgid "Galician" +msgstr "Galaciano" + +#: conf/global_settings.py:52 +msgid "Hungarian" +msgstr "Húngaro" + +#: conf/global_settings.py:53 +msgid "Hebrew" +msgstr "Hebraico" + +#: conf/global_settings.py:54 +msgid "Icelandic" +msgstr "Islandês" + +#: conf/global_settings.py:55 +msgid "Italian" +msgstr "Italiano" + +#: conf/global_settings.py:56 +msgid "Japanese" +msgstr "Japonês" + +#: conf/global_settings.py:57 +msgid "Dutch" +msgstr "Holandês" + +#: conf/global_settings.py:58 +msgid "Norwegian" +msgstr "Norueguês" + +#: conf/global_settings.py:59 +msgid "Brazilian" +msgstr "Brasileiro" + +#: conf/global_settings.py:60 +msgid "Romanian" +msgstr "Romeno" + +#: conf/global_settings.py:61 +msgid "Russian" +msgstr "Russo" + +#: conf/global_settings.py:62 +msgid "Slovak" +msgstr "Eslovaco" + +#: conf/global_settings.py:63 +msgid "Slovenian" +msgstr "Esloveno" + +#: conf/global_settings.py:64 +msgid "Serbian" +msgstr "Sérvio" + +#: conf/global_settings.py:65 +msgid "Swedish" +msgstr "Sueco" + +#: conf/global_settings.py:66 +msgid "Tamil" +msgstr "Tamil" + +#: conf/global_settings.py:67 +msgid "Turkish" +msgstr "Turco" + +#: conf/global_settings.py:68 +msgid "Ukrainian" +msgstr "Ucraniano" + +#: conf/global_settings.py:69 +msgid "Simplified Chinese" +msgstr "Chinês Simplificado" + +#: conf/global_settings.py:70 +msgid "Traditional Chinese" +msgstr "Chinês Tradicional" + +#: core/validators.py:63 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Este valor apenas poderá conter letras, números ou underscores." + +#: core/validators.py:67 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "Este valor apenas poderá conter letras, números, underscores ou traços." + +#: core/validators.py:71 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Este valor apenas poderá conter letras, números, undercores ou hífenes." + +#: core/validators.py:75 +msgid "Uppercase letters are not allowed here." +msgstr "Letras em maiúsculas não são permitidas aqui." + +#: core/validators.py:79 +msgid "Lowercase letters are not allowed here." +msgstr "Letras em minúsculas não são permitidas aqui." + +#: core/validators.py:86 +msgid "Enter only digits separated by commas." +msgstr "Introduza apenas números separados por vírgulas." + +#: core/validators.py:98 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Introduza endereços de e-mail válidos separados por vírgulas." + +#: core/validators.py:102 +msgid "Please enter a valid IP address." +msgstr "Por favor introduza um endereço IP válido." + +#: core/validators.py:106 +msgid "Empty values are not allowed here." +msgstr "Valores em branco não são permitidos aqui." + +#: core/validators.py:110 +msgid "Non-numeric characters aren't allowed here." +msgstr "Caracteres não númericos não são permitidos aqui." + +#: core/validators.py:114 +msgid "This value can't be comprised solely of digits." +msgstr "Este valor não pode ser constituido apenas por números." + +#: core/validators.py:119 +msgid "Enter a whole number." +msgstr "Introduza um número inteiro." + +#: core/validators.py:123 +msgid "Only alphabetical characters are allowed here." +msgstr "Apenas letras são válidas aqui." + +#: core/validators.py:138 +msgid "Year must be 1900 or later." +msgstr "O ano deve ser 1900 ou superior." + +#: core/validators.py:142 +#, python-format +msgid "Invalid date: %s." +msgstr "Data inválida: %s." + +#: core/validators.py:146 db/models/fields/__init__.py:415 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Introduza uma data válida no formato AAAA-MM-DD." + +#: core/validators.py:151 +msgid "Enter a valid time in HH:MM format." +msgstr "Introduza uma hora válida no formato HH:MM." + +#: core/validators.py:155 db/models/fields/__init__.py:477 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Introduza uma data/hora válida no formato AAAA-MM-DD HH:MM." + +#: core/validators.py:160 +msgid "Enter a valid e-mail address." +msgstr "Introduza um endereço de e-mail válido." + +#: core/validators.py:172 core/validators.py:401 forms/__init__.py:661 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Nenhum ficheiro foi submetido. Verifique o tipo de codificação do formulário." + +#: core/validators.py:176 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "Introduza uma imagem válida. O ficheiro que introduziu ou não é uma imagem ou está corrompido." + +#: core/validators.py:183 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "O URL %s não aponta para uma imagem válida." + +#: core/validators.py:187 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "Os números de telefone deverão ser no formato XXX-XXX-XXXX. \"%s\" é inválido." + +#: core/validators.py:195 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "O URL %s não aponta para um QuickTime video válido." + +#: core/validators.py:199 +msgid "A valid URL is required." +msgstr "É obrigatório um URL válido" + +#: core/validators.py:213 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"É obrigatório um HTML válido. Os erros específicos são:\n" +"%s" + +#: core/validators.py:220 +#, python-format +msgid "Badly formed XML: %s" +msgstr "XML mal formatado: %s" + +#: core/validators.py:230 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL inválido: %s" + +#: core/validators.py:234 core/validators.py:236 +#, python-format +msgid "The URL %s is a broken link." +msgstr "O URL %s é um link quebrado." + +#: core/validators.py:242 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Introduza uma abreviação de um estado dos E.U.A. válido." + +#: core/validators.py:256 +#, 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] "Atenção à linguagem! A palavra %s não é permitida aqui." +msgstr[1] "Atenção à linguagem! As palavras %s não são permitidas aqui." + +#: core/validators.py:263 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Este campo deve ser igual ao campo '%s'." + +#: core/validators.py:282 +msgid "Please enter something for at least one field." +msgstr "Por favor preencha pelo menos um campo." + +#: core/validators.py:291 core/validators.py:302 +msgid "Please enter both fields or leave them both empty." +msgstr "Por favor preencha ambos os campos ou deixe ambos vazios." + +#: core/validators.py:309 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Este campo deve ser preenchido se %(field)s for %(value)s" + +#: core/validators.py:321 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Este campo deve ser preenchido se %(field)s não é %(value)s" + +#: core/validators.py:340 +msgid "Duplicate values are not allowed." +msgstr "Valores duplicados não são permitidos." + +#: core/validators.py:363 +#, python-format +msgid "This value must be a power of %s." +msgstr "Este valor deverá ser uma potência de %s." + +#: core/validators.py:374 +msgid "Please enter a valid decimal number." +msgstr "Por favor introduza um número décimal válido." + +#: core/validators.py:378 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "" +"Please enter a valid decimal number with at most %s total digits." +msgstr[0] "Por favor introduza um número décimal com um máximo de %s digito." +msgstr[1] "Por favor introduza um número décimal com um máximo de %s digitos." + +#: core/validators.py:381 +#, python-format +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "" +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "Por favor introduza um número décimal com o máximo de % digito na parte inteira." +msgstr[1] "Por favor introduza um número décimal com o máximo de % digitos na parte inteira." + +#: core/validators.py:384 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "" +"Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "Por favor introduza um número décimal com o máximo de %s digito na parte décimal." +msgstr[1] "Por favor introduza um número décimal com o máximo de %s digitos na parte décimal." + +#: core/validators.py:394 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Verifique que o ficheiro introduzido tem pelo menos %s bytes." + +#: core/validators.py:395 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Verifique se o ficheiro introduzido tem no máximo %s bytes." + +#: core/validators.py:412 +msgid "The format for this field is wrong." +msgstr "O formato deste campo é errado." + +#: core/validators.py:427 +msgid "This field is invalid." +msgstr "Este campo é inválido." + +#: core/validators.py:463 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Não foi possível extrair nada de %s." + +#: core/validators.py:466 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "O URL %(url)s devolveu um tipo de conteúdo inválido no header: '%s(contenttype)s'." + +#: core/validators.py:499 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "Por favor feche a tag %(tag)s na linha %(line)s. (A linha começa por \"%(start)s\".)" + +#: core/validators.py:503 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "Algum texto começado na linha %(line)s não é permitido nesse contexto. (A linha começa por \"%(start)s\".)" + +#: core/validators.py:508 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "\"%(attr)s\" na linha %(line)s é um atributo inválido. (A linha começa por \"%(start)s\".)" + +#: core/validators.py:513 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "\"<%(tag)s>\" na linha %(line)s é um tag inválida. (A linha começa por \"%(start)s\".)" + +#: core/validators.py:517 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "Uma tag na linha %(line)s não tem um o mais atributos obrigatórios. (A linha começa por \"%(start)s\".)" + +#: core/validators.py:522 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "O atributo \"%(attr)s\" na linha %(line)s tem um valor inválido. (A linha começa por \"%(start)s\".)" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "O(A) %(verbose_name)s foi criado(a) com sucesso." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "O(A) %(verbose_name)s foi actualizado(a) com sucesso." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "O(A) %(verbose_name)s foi removido(a)." + +#: db/models/manipulators.py:302 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "O(A) %(object)s com este %(type)s já existe para o(a) %(field)s fornecido." + +#: db/models/fields/__init__.py:40 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s com %(fieldname)s já existe." + +#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 +#: db/models/fields/__init__.py:551 db/models/fields/__init__.py:562 +#: forms/__init__.py:346 +msgid "This field is required." +msgstr "Este campo é obrigatório." + +#: db/models/fields/__init__.py:340 +msgid "This value must be an integer." +msgstr "Este campo deverá ser inteiro." + +#: db/models/fields/__init__.py:372 +msgid "This value must be either True or False." +msgstr "Este valor deverá ser True ou False." + +#: db/models/fields/__init__.py:388 +msgid "This field cannot be null." +msgstr "Este campo não pode ser nulo." + +#: db/models/fields/__init__.py:571 +msgid "Enter a valid filename." +msgstr "Introduza um nome de ficheiro válido." + +#: db/models/fields/related.py:51 +#, python-format +msgid "Please enter a valid %s." +msgstr "Por favor introduza um %s válido." + +#: db/models/fields/related.py:618 +msgid "Separate multiple IDs with commas." +msgstr "Separe múltiplos IDs através de vírgulas." + +#: db/models/fields/related.py:620 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Mantenha pressionado o \"Control\", or \"Command\" no Mac, para seleccionar mais do que um." + +#: 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] "Por favor introduza IDs de %(self)s válidos. O valor %(value)r é inválido." +msgstr[1] "Por favor introduza IDs de %(self)s válidos. Os valores %(value)r são inválidos." + +#: forms/__init__.py:381 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Verifique se o seu texto tem menos de %s caracter." +msgstr[1] "Verifique se o seu texto tem menos de %s caracteres." + +#: forms/__init__.py:386 +msgid "Line breaks are not allowed here." +msgstr "Quebras de linha não são permitas aqui." + +#: forms/__init__.py:487 forms/__init__.py:560 forms/__init__.py:599 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Seleccione uma opção válida; '%(data)s' não se encontra em %(choices)s." + +#: forms/__init__.py:663 +msgid "The submitted file is empty." +msgstr "O ficheiro submetido encontra-se vazio." + +#: forms/__init__.py:719 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Introduza um número entre -32,768 e 32,767." + +#: forms/__init__.py:729 +msgid "Enter a positive number." +msgstr "Introduza um número positivo." + +#: forms/__init__.py:739 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Introduza um número entre 0 e 32,767." + +#: template/defaultfilters.py:401 +msgid "yes,no,maybe" +msgstr "sim,não,talvez" diff --git a/django/conf/locale/pt/LC_MESSAGES/djangojs.mo b/django/conf/locale/pt/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..669dd9d1191866cab33a2ed5aba6e4acd15b36fd GIT binary patch literal 1514 zcmZvbO=u)V6vs95?oz!1H2vc zZSXa42bA~^!4u$Tpq&3DDEEC0%6Z>_1bzpugTI1u&XaJK_)}ne54eGxHb9A=;ZRwB z7rYOA54;=v0F<~-mg`?E`7J1Q-2lb!2T=Te0WX2Sfl}95TrTSgD0#dAb0;_kCEr8v zGSq|F+wMIA-fZ$6WdGmoeoP)fM`>+ME1=vZdB~Y~k~Vj# zTWWn6{ULN|lC#t!?LjeXq`OsD4f0$Kj-q-S)#u?$nrXwVc*9Vp>x z;A+gC_OjrFyY6VQFyyQqsFBI7DJDVfI%i?tRtH?cOC>a-lrExgQ=$?sISVv%ji+ql zOvcaDr%2nJveIN%NF@!*o6*R%NE@zYdXaOx7^RcOw@cgJ$WEd|<1tXFTiD8ZkJ~SC z9k|`t_wEpPM(6VAb@sJ!wok)DZ3{fBy-MF*q zY+#GKW>X{`_-c4|T54lo#G`9pb9kuR zp{b|N&Oblm@>q}a>)yDfB;m7FXRe%RsB+@GUQVH!;Br?lrzUq2zhkN?)ES!GK``a~ zs{#i>p=`W^LXX(DBRtXkQ%8gGLZilsNGD=T*g@gy;2={`DdP5;&Uk7H(DVYNiNii`Y3@^FW@h^DOaf+KQR$%-L&9EfwICP+_xGgHFOmoPSPku o!;~^|)^q{Cu^=!ONbo6O=hw#?6`zGN)u7ULGXF^J;gePBZ}4V#nE(I) literal 0 HcmV?d00001 diff --git a/django/conf/locale/pt/LC_MESSAGES/djangojs.po b/django/conf/locale/pt/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..90f4b9de86 --- /dev/null +++ b/django/conf/locale/pt/LC_MESSAGES/djangojs.po @@ -0,0 +1,108 @@ +# Portuguese translation of Django. +# Copyright (C) 2007 the Lawrence Journal-World +# This file is distributed under the same license as the PACKAGE package. +# Nuno Mariz , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: Django 0.96pre\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-03-15 11:51+0100\n" +"PO-Revision-Date: 2007-03-16 10:01+0000\n" +"Last-Translator: Nuno Mariz \n" +"Language-Team: pt_PT \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 "Disponível %s" + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "Escolher todos" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "Adicionar" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "Remover" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "Escolhido %s" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "Seleccione a(s) sua(s) escolha(s) e clique " + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "Limpar tudo" + +#: contrib/admin/media/js/dateparse.js:26 +#: contrib/admin/media/js/calendar.js:24 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro" + +#: contrib/admin/media/js/dateparse.js:27 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Domingo Segunda Terça Quarta Quinta Sexta Sábado" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "D S T Q Q S S" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Now" +msgstr "Agora" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +msgid "Clock" +msgstr "Relógio" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +msgid "Choose a time" +msgstr "Escolha a hora" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Midnight" +msgstr "Meia-noite" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "6 a.m." +msgstr "6 a.m." + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "Noon" +msgstr "Meio-dia" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +msgid "Cancel" +msgstr "Cancelar" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +msgid "Today" +msgstr "Hoje" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +msgid "Calendar" +msgstr "Calendário" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +msgid "Yesterday" +msgstr "Ontem" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +msgid "Tomorrow" +msgstr "Amanhã" diff --git a/django/conf/locale/pt_BR/LC_MESSAGES/django.mo b/django/conf/locale/pt_BR/LC_MESSAGES/django.mo index 7f506f972fe9319df52210ad8c476f8e0e3aabce..6e3af1681c13e36c6bd7418f33cf4ccef67f6558 100644 GIT binary patch delta 11583 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 QBDK3C(aNBEd_~rO0mO6H(*OVf diff --git a/django/conf/locale/pt_BR/LC_MESSAGES/django.po b/django/conf/locale/pt_BR/LC_MESSAGES/django.po index bc955f29c4..540d1b51bb 100644 --- a/django/conf/locale/pt_BR/LC_MESSAGES/django.po +++ b/django/conf/locale/pt_BR/LC_MESSAGES/django.po @@ -1,21 +1,1022 @@ # Português do Brasil translation of django. # Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# João Marcus Christ , 2006. -# Carlos Eduardo de Paula , 2006. # msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:11+0200\n" -"PO-Revision-Date: 2006-11-01 17:45-0300\n" -"Last-Translator: Carlos Eduardo de Paula \n" +"POT-Creation-Date: 2007-03-28 12:02-0300\n" +"PO-Revision-Date: 2007-04-02 17:20+0200\n" +"Last-Translator: Daniel Alves Barbosa de Oliveira Vaz \n" "Language-Team: Português do Brasil \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: oldforms/__init__.py:357 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/models.py:177 +#: newforms/fields.py:78 newforms/fields.py:374 newforms/fields.py:450 +#: newforms/fields.py:461 +msgid "This field is required." +msgstr "Este campo é requerido." + +#: oldforms/__init__.py:392 +#, fuzzy, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Certifique-se de que seu texto tenha menos que %s caractere." +msgstr[1] "Certifique-se de que seu texto tenha menos que %s caracteres." + +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "Não são permitidas quebras de linha aqui." + +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Selecione uma escolha válida; '%(data)s' não está em %(choices)s." + +#: oldforms/__init__.py:577 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Desconhecido" + +#: oldforms/__init__.py:577 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "Sim" + +#: oldforms/__init__.py:577 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "Não" + +#: oldforms/__init__.py:672 core/validators.py:174 core/validators.py:445 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Nenhum arquivo enviado. Verifique o tipo de codificação do formulário." + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "O arquivo enviado está vazio." + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Informe um número inteiro entre -32.768 e 32.767" + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "Informe um número positivo" + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Informe um número inteiro entre 0 e 32.767." + +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s com este %(type)s já existe para o %(field)s dado." + +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "e" + +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s com este %(fieldname)s já existe." + +#: db/models/fields/__init__.py:367 +#, fuzzy +msgid "This value must be an integer." +msgstr "Este valor deve ser um inteiro." + +#: db/models/fields/__init__.py:402 +#, fuzzy +msgid "This value must be either True or False." +msgstr "Este valor deve ser Verdadeiro ou Falso." + +#: db/models/fields/__init__.py:423 +#, fuzzy +msgid "This field cannot be null." +msgstr "Este campo não pode ser nulo." + +#: db/models/fields/__init__.py:457 core/validators.py:148 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Informe uma data válida no formato AAAA-MM-DD." + +#: db/models/fields/__init__.py:526 core/validators.py:157 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Informe uma data/hora válida no formato AAAA-MM-DD HH:MM." + +#: db/models/fields/__init__.py:630 +msgid "Enter a valid filename." +msgstr "Informe um nome de arquivo válido." + +#: db/models/fields/__init__.py:751 +#, fuzzy +msgid "This value must be either None, True or False." +msgstr "Este valor deve ser Verdadeiro ou Falso." + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Por favor informe um %s válido." + +#: db/models/fields/related.py:642 +#, fuzzy +msgid "Separate multiple IDs with commas." +msgstr "Separe IDs múltiplos com vírgulas." + +#: db/models/fields/related.py:644 +#, fuzzy +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +" Mantenha pressionado \"Control\", ou \"Command\" no Mac para selecionar " +"mais de uma opção." + +#: db/models/fields/related.py:691 +#, fuzzy, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +"Por favor, entre IDs válidos para %(self)s. O valor %(value)r é inválido." +msgstr[1] "" +"Por favor, entre IDs válidos para %(self)s. Os valores %(value)r são " +"inválidos." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arábico" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengalês" + +#: conf/global_settings.py:41 +#, fuzzy +msgid "Catalan" +msgstr "Catalão" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Tcheco" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "" + +#: conf/global_settings.py:44 +#, fuzzy +msgid "Danish" +msgstr "Dinamarquês" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "Alemão" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Grego" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "Inglês" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Espanhol" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Espanhol Argentino" + +#: conf/global_settings.py:50 +#, fuzzy +msgid "Finnish" +msgstr "Dinamarquês" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "Francês" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Galiciano" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Húngaro" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Hebraico" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Islandês" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Italiano" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Japonês" + +#: conf/global_settings.py:58 +#, fuzzy +msgid "Kannada" +msgstr "" + +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "" + +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "Macedônio" + +#: conf/global_settings.py:61 +msgid "Dutch" +msgstr "Alemão" + +#: conf/global_settings.py:62 +msgid "Norwegian" +msgstr "Norueguês" + +#: conf/global_settings.py:63 +#, fuzzy +msgid "Polish" +msgstr "Polônia" + +#: conf/global_settings.py:64 +msgid "Portugese" +msgstr "Português" + +#: conf/global_settings.py:65 +msgid "Brazilian" +msgstr "Brasileiro" + +#: conf/global_settings.py:66 +msgid "Romanian" +msgstr "Romeno" + +#: conf/global_settings.py:67 +msgid "Russian" +msgstr "Russo" + +#: conf/global_settings.py:68 +msgid "Slovak" +msgstr "Eslovaco" + +#: conf/global_settings.py:69 +#, fuzzy +msgid "Slovenian" +msgstr "Esloveno" + +#: conf/global_settings.py:70 +msgid "Serbian" +msgstr "Sérvio" + +#: conf/global_settings.py:71 +msgid "Swedish" +msgstr "Sueco" + +#: conf/global_settings.py:72 +msgid "Tamil" +msgstr "" + +#: conf/global_settings.py:73 +msgid "Telugu" +msgstr "" + +#: conf/global_settings.py:74 +msgid "Turkish" +msgstr "Turco" + +#: conf/global_settings.py:75 +#, fuzzy +msgid "Ukrainian" +msgstr "Ucraniano" + +#: conf/global_settings.py:76 +msgid "Simplified Chinese" +msgstr "Chinês Simplificado" + +#: conf/global_settings.py:77 +msgid "Traditional Chinese" +msgstr "Chinês Tradicional" + +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Este valor deve conter apenas letras, números e sublinhados (_)." + +#: core/validators.py:68 +#, fuzzy +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "Este valor deve conter apenas letras, números, sublinhados (_), " +"pontos e barras (/)." + +#: core/validators.py:72 +#, fuzzy +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Este valor deve conter apenas letras, números, sublinhados (_) e " +"hífens (-)." + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Letras em maiúsculo não são permitidas aqui." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Letras em minúsculo não são permitidas aqui." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Informe apenas dígitos separados por vírgulas." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Informe endereços de email válidos separados por vírgulas." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Informe um endereço IP válido." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "Valores em branco não são permitidos." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Caracteres não numéricos não são permitidos." + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Este valor não pode conter apenas dígitos." + +#: core/validators.py:120 newforms/fields.py:126 +msgid "Enter a whole number." +msgstr "Informe um número completo." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Apenas caracteres do alfabeto são permitidos aqui." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "O ano deve ser superior a 1900" + +#: core/validators.py:143 +#, fuzzy, python-format +msgid "Invalid date: %s" +msgstr "Data inválida: %s" + +#: core/validators.py:153 +msgid "Enter a valid time in HH:MM format." +msgstr "Informe uma hora válida no formato HH:MM." + +#: core/validators.py:162 newforms/fields.py:269 +msgid "Enter a valid e-mail address." +msgstr "Informe um endereço de email válido." + +#: core/validators.py:178 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Envie uma imagem válida. O arquivo enviado não é uma imagem ou está " +"corrompido." + +#: core/validators.py:185 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "A URL %s não aponta para uma imagem válida." + +#: core/validators.py:189 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" +"Números de telefone devem estar no formato XXX-XXX-XXXX.\"%s\" é inválido." + +#: core/validators.py:197 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "A URL %s não aponta para um vídeo QuickTime válido." + +#: core/validators.py:201 +msgid "A valid URL is required." +msgstr "Uma URL válida é exigida." + +#: core/validators.py:215 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"HTML válido é exigido. Os erros específicos são:\n" +"%s" + +#: core/validators.py:222 +#, python-format +msgid "Badly formed XML: %s" +msgstr "XML mal formado: %s" + +#: core/validators.py:239 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL inválida: %s" + +#: core/validators.py:244 core/validators.py:246 +#, python-format +msgid "The URL %s is a broken link." +msgstr "A URL %s é um link quebrado." + +#: core/validators.py:252 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Informe uma abreviação válida de estado dos E.U.A." + +#: core/validators.py:266 +#, fuzzy, 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] "Olha sua boca! A palavra %s não é permitida aqui." +msgstr[1] "Olha sua boca! As palavras %s não são permitidas aqui." + +#: core/validators.py:273 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Este campo deve casar com o campo '%s'." + +#: core/validators.py:292 +msgid "Please enter something for at least one field." +msgstr "Informe algo em pelo menos um campo." + +#: core/validators.py:301 core/validators.py:312 +msgid "Please enter both fields or leave them both empty." +msgstr "Informe ambos os campos ou deixe ambos vazios." + +#: core/validators.py:320 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Este campo deve ser informado se o campo %(field)s for %(value)s." + +#: core/validators.py:333 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Este campo deve ser dado se o campo %(field)s não for %(value)s." + +#: core/validators.py:352 +msgid "Duplicate values are not allowed." +msgstr "Valores duplicados não são permitidos." + +#: core/validators.py:367 +#, fuzzy, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Este valor deve estar entre %(lower)s e %(upper)s." + +#: core/validators.py:369 +#, fuzzy, python-format +msgid "This value must be at least %s." +msgstr "Este valor deve ser no mínimo %s." + +#: core/validators.py:371 +#, fuzzy, python-format +msgid "This value must be no more than %s." +msgstr "Este valor não deve ser maior que %s." + +#: core/validators.py:407 +#, python-format +msgid "This value must be a power of %s." +msgstr "Este valor deve ser uma potência de %s." + +#: core/validators.py:418 +msgid "Please enter a valid decimal number." +msgstr "Informe um número decimal válido." + +#: core/validators.py:422 +#, fuzzy, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "" +"Please enter a valid decimal number with at most %s total digits." +msgstr[0] "Por favor entre com um número decimal com no máximo %s dígito." +msgstr[1] "Por favor entre com um número decimal com no máximo %s dígitos." + +#: core/validators.py:425 +#, fuzzy, python-format +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "" +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "" +"Por favor informe um número decimal com a parte inteira de no máximo %s " +"digito." +msgstr[1] "" +"Por favor informe um número decimal com a parte inteira de no máximo %s " +"digitos." + +#: core/validators.py:428 +#, fuzzy, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "" +"Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "Por favor informe um número decimal com no máximo %s casa decimal." +msgstr[1] "Por favor informe um número decimal com no máximo %s casas " +"decimais." + +#: core/validators.py:438 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Verifique se o arquivo enviado tem pelo menos %s bytes." + +#: core/validators.py:439 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Verifique se o arquivo enviado tem no máximo %s bytes." + +#: core/validators.py:456 +msgid "The format for this field is wrong." +msgstr "O formato deste campo está errado." + +#: core/validators.py:471 +msgid "This field is invalid." +msgstr "Este campo é inválido." + +#: core/validators.py:507 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Não foi possível receber dados de %s." + +#: core/validators.py:510 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" +"A URL %(url)s retornou um cabeçalho '%(contenttype)s' de Content-Type " +"inválido." + +#: core/validators.py:543 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"Por favor, feche a tag %(tag)s na linha %(line)s. (A linha começa com \"%" +"(start)s\".)" + +#: core/validators.py:547 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Algum texto começando na linha %(line)s não é permitido no contexto. (Linha " +"começa com \"%(start)s\".)" + +#: core/validators.py:552 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"%(attr)s\" na linha %(line)s não é um atributo válido. (Linha começa com " +"\"%(start)s\".)" + +#: core/validators.py:557 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"<%(tag)s>\" na linha %(line)s é uma tag inválida. (Linha começa com \"%" +"(start)s\".)" + +#: core/validators.py:561 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Uma tag na linha %(line)s não apresenta um ou mais atributos exigidos." +"(Linha começa com \"%(start)s\".)" + +#: core/validators.py:566 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"O atributo \"%(attr)s\" na linha %(line)s tem um valor inválido. (Linha " +"começa com \"%(start)s\".)" + +#: views/generic/create_update.py:43 +#, fuzzy, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "O(A) %(verbose_name)s foi criado com sucesso." + +#: views/generic/create_update.py:117 +#, fuzzy, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "O(A) %(verbose_name)s foi modificado com sucesso." + +#: views/generic/create_update.py:184 +#, fuzzy, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "O(A) %(verbose_name)s foi excluído." + +#: newforms/models.py:164 newforms/fields.py:360 +#, fuzzy +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Selecione uma escolha válida. Tal escolha não é uma das escolhas " +"disponíveis." + +#: newforms/models.py:181 newforms/fields.py:378 newforms/fields.py:454 +#, fuzzy +msgid "Enter a list of values." +msgstr "Informe uma lista ou tupla de valores." + +#: newforms/models.py:187 newforms/fields.py:387 +#, fuzzy, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Selecione uma escolha válida. %s não é uma das escolhas disponíveis." + +#: newforms/fields.py:101 newforms/fields.py:254 +#, fuzzy, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Certifique-se de que seu texto tenha menos que %d caracteres." + +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Certifique-se de que seu texto tenha no mínimo %d caracteres." + +#: newforms/fields.py:128 +#, fuzzy, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Certifique-se que este valor seja menor ou igual a %s." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Certifique-se que este valor seja maior ou igual a %s." + +#: newforms/fields.py:163 +#, fuzzy +msgid "Enter a valid date." +msgstr "Informe uma data válida." + +#: newforms/fields.py:190 +#, fuzzy +msgid "Enter a valid time." +msgstr "Informe uma hora válida." + +#: newforms/fields.py:226 +#, fuzzy +msgid "Enter a valid date/time." +msgstr "Informe uma data/hora válida." + +#: newforms/fields.py:240 +#, fuzzy +msgid "Enter a valid value." +msgstr "Informe um valor válido." + +#: newforms/fields.py:287 newforms/fields.py:309 +#, fuzzy +msgid "Enter a valid URL." +msgstr "Informe uma URL válida." + +#: newforms/fields.py:311 +#, fuzzy +msgid "This URL appears to be a broken link." +msgstr "A URL %s parece ser um link quebrado." + +#: contrib/contenttypes/models.py:36 +#, fuzzy +msgid "python model class name" +msgstr "nome da classe model no python" + +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "tipo de conteúdo" + +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "tipos de conteúdo" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "º" + +#: contrib/humanize/templatetags/humanize.py:17 +#, fuzzy +msgid "st" +msgstr "º" + +#: contrib/humanize/templatetags/humanize.py:17 +#, fuzzy +msgid "nd" +msgstr "º" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "º" + +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "milhão" +msgstr[1] "milhões" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f bilhão" +msgstr[1] "%(value).1f bilhões" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f trilhão" +msgstr[1] "%(value).1f trilhões" + +#: contrib/humanize/templatetags/humanize.py:68 +#, fuzzy +msgid "one" +msgstr "um" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "dois" + +#: contrib/humanize/templatetags/humanize.py:68 +#, fuzzy +msgid "three" +msgstr "três" + +#: contrib/humanize/templatetags/humanize.py:68 +#, fuzzy +msgid "four" +msgstr "quatro" + +#: contrib/humanize/templatetags/humanize.py:68 +#, fuzzy +msgid "five" +msgstr "cinco" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "seis" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "sete" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "oito" + +#: contrib/humanize/templatetags/humanize.py:68 +#, fuzzy +msgid "nine" +msgstr "nove" + +#: contrib/auth/views.py:39 +#, fuzzy +msgid "Logged out" +msgstr "Sessão Encerrada" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "nome" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "apelido" + +#: contrib/auth/models.py:42 +#, fuzzy +msgid "permission" +msgstr "permissão" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +#, fuzzy +msgid "permissions" +msgstr "permissões" + +#: contrib/auth/models.py:60 +#, fuzzy +msgid "group" +msgstr "grupo" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +#, fuzzy +msgid "groups" +msgstr "grupos" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "usuário" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "Obrigatório. 30 caracteres ou menos. Apenas caracteres alfanuméricos" +"(letras, dígitos e sublinhados (_) )" + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "primeiro nome" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "último nome" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "endereço de e-mail" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "senha" + +#: contrib/auth/models.py:94 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Use '[algo]$[salt]$[hexdigest]' ou Altere a senha" +"." +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "status da equipe" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "Permite ao usuário o acesso a este site de administração." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "ativar" + +#: contrib/auth/models.py:96 +#, fuzzy +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "Permite ao usuário acessar este site de administração. " +"Ao invés de excluir contas de usuário, desmarque isso." + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "status de superusuário" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "Informa que este usuário tem todas as permissões sem atribuí-las " +"explicitamente." + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "último login" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "data de registro" + +#: 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 "" +"Em adição às permissões atribuídas manualmente, este usuário também terá " +"todas as permissões dadas a cada grupo que participar." + +#: contrib/auth/models.py:102 +#, fuzzy +msgid "user permissions" +msgstr "permissões do usuário" + +#: contrib/auth/models.py:105 +#, fuzzy +msgid "user" +msgstr "usuário" + +#: contrib/auth/models.py:106 +#, fuzzy +msgid "users" +msgstr "usuários" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "Informações pessoais" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "Permissões" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "Datas importantes" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Grupos" + +#: contrib/auth/models.py:258 +#, fuzzy +msgid "message" +msgstr "mensagem" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "Os dois campos de senha não combinam." + +#: contrib/auth/forms.py:25 +#, fuzzy +msgid "A user with that username already exists." +msgstr "Um usuário com este username já existe." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Seu navegador Web não parece estar com os cookies habilitados. Cookies são " +"requeridos para acessar." + +#: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"Por favor entre usuário e senha corretos. Note que ambos os campos " +"diferenciam maiúsculas e minúsculas." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Esta conta está inativa." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "Este endereço de e-mail não está associado com uma conta de usuário." +"Você tem certeza que está registrado?" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Os dois campos 'nova senha' não conferem." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "A senha antiga foi digitada incorretamente. Por favor, informe a " +"senha novamente." + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "redirecionar de" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Isso deve ser um caminho absoluto, excluindo o nome de domínio. Exemplo: '/" +"eventos/busca/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "redirecionar para" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Isto pode ser um caminho absoluto (como acima) ou uma URL completa, " +"começando com 'http://'." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "redirecionar" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "redirecionamentos" + #: contrib/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" msgstr "id do objeto" @@ -73,7 +1074,7 @@ msgstr "data/hora de envio" msgid "is public" msgstr "é público" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 msgid "IP address" msgstr "Endereço IP:" @@ -86,8 +1087,8 @@ msgid "" "Check this box if the comment is inappropriate. A \"This comment has been " "removed\" message will be displayed instead." msgstr "" -"Selecione esta opção se o comentário é inapropriado. Uma mensagem \"Este " -"comentário foi removido\" a mensagem será mostrada no lugar." +"Selecione esta opção se o comentário é inapropriado. A mensagem \"Este " +"comentário foi removido\" será mostrada no lugar." #: contrib/comments/models.py:91 #, fuzzy @@ -165,7 +1166,7 @@ msgid "" "\n" "%(text)s" msgstr "" -"O usuário %(user)s colocou flags neste documento:\n" +"O usuário %(user)s colocou flags neste comentário:\n" "\n" "%(text)s" @@ -219,13 +1220,13 @@ msgstr "ID de comentário inválido" msgid "No voting for yourself" msgstr "Você não pode votar em si mesmo" -#: contrib/comments/views/comments.py:28 +#: contrib/comments/views/comments.py:27 msgid "" "This rating is required because you've entered at least one other rating." msgstr "" "Esta avaliação é requerida porque você entrou com ao menos uma avaliação" -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, fuzzy, python-format msgid "" "This comment was posted by a user who has posted fewer than %(count)s " @@ -246,7 +1247,7 @@ msgstr[1] "" "comentários:\n" "%(text)s" -#: contrib/comments/views/comments.py:117 +#: contrib/comments/views/comments.py:116 #, python-format msgid "" "This comment was posted by a sketchy user:\n" @@ -257,34 +1258,51 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" msgstr "Somente POSTs são permitidos" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" msgstr "Um ou mais dos campos requeridos não foram enviados" -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" -msgstr "Alguém modificou o form de comentários (violação de segurança)" +msgstr "Alguém modificou o formulário de comentários (violação de segurança)" -#: contrib/comments/views/comments.py:207 +#: contrib/comments/views/comments.py:206 #: contrib/comments/views/comments.py:292 msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " "invalid" msgstr "" -"O form de comentários teve um parâmetro 'target' inválido -- o ID do objeto " -"é inválido" +"O formulário de comentários teve um parâmetro 'target' inválido -- o ID do " +"objeto é inválido" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "O form de comentários não forneceu nem 'preview' nem 'post'" +msgstr "O formulário de comentários não forneceu nem 'preview' nem 'post'" + +#: contrib/comments/templates/comments/freeform.html:4 +#, fuzzy +msgid "Your name:" +msgstr "Seu nome:" + +#: contrib/comments/templates/comments/freeform.html:5 +#: contrib/comments/templates/comments/form.html:28 +#, fuzzy +msgid "Comment:" +msgstr "Comentário" + +#: contrib/comments/templates/comments/freeform.html:10 +#: contrib/comments/templates/comments/form.html:35 +#, fuzzy +msgid "Preview comment" +msgstr "Pré visualizar comentário" #: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 @@ -293,21 +1311,12 @@ msgid "Username:" msgstr "Usuário:" #: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Senha:" - -#: contrib/comments/templates/comments/form.html:6 -#, fuzzy -msgid "Forgotten your password?" -msgstr "Esqueceu sua senha?" - -#: contrib/comments/templates/comments/form.html:8 #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:4 @@ -323,6 +1332,16 @@ msgstr "Esqueceu sua senha?" msgid "Log out" msgstr "Encerrar sessão" +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Senha:" + +#: contrib/comments/templates/comments/form.html:8 +#, fuzzy +msgid "Forgotten your password?" +msgstr "Esqueceu sua senha?" + #: contrib/comments/templates/comments/form.html:12 #, fuzzy msgid "Ratings" @@ -342,22 +1361,91 @@ msgstr "Opcional" msgid "Post a photo" msgstr "Postar uma foto" -#: contrib/comments/templates/comments/form.html:27 -#: contrib/comments/templates/comments/freeform.html:5 -#, fuzzy -msgid "Comment:" -msgstr "Comentário" +#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:315 +msgid "URL" +msgstr "URL" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 -#, fuzzy -msgid "Preview comment" -msgstr "Pré visualizar comentário" +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Exemplo: '/sobre/contato/'. Lembre-se das barras no começo e no final." -#: contrib/comments/templates/comments/freeform.html:4 +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "título" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "conteúdo" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "habilitar comentários" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "nome do modelo" + +#: contrib/flatpages/models.py:13 #, fuzzy -msgid "Your name:" -msgstr "Seu nome:" +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Exemplo: 'flatpages/contact_page.html'. Se não for informado, será utilizado " +"'flatpages/default.html'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "registro obrigatório" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Se estiver marcado, apenas usuários conectados poderão ver a página." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "" + +#: contrib/sessions/models.py:68 +msgid "session key" +msgstr "chave da sessão" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "dados da sessão" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "data de expiração" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "sessão" + +#: contrib/sessions/models.py:75 +msgid "sessions" +msgstr "sessões" + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "nome do domínio" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "nome para exibição" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "site" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "sites" #: contrib/admin/filterspecs.py:40 #, python-format @@ -369,7 +1457,7 @@ msgstr "" "
                                                                          \n" #: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 msgid "All" msgstr "Todos" @@ -393,18 +1481,6 @@ msgstr "Este mês" msgid "This year" msgstr "Este ano" -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "Sim" - -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "Não" - -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Desconhecido" - #: contrib/admin/models.py:16 msgid "action time" msgstr "hora da ação" @@ -433,25 +1509,16 @@ msgstr "entrada de log" msgid "log entries" msgstr "entradas de log" -#: contrib/admin/templatetags/admin_list.py:228 +#: contrib/admin/templatetags/admin_list.py:247 msgid "All dates" msgstr "Todas as datas" -#: contrib/admin/views/decorators.py:9 contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" -"Por favor entre usuário e senha corretos. Note que ambos os " -"campos diferenciam maiúsculas e minúsculas." - -#: contrib/admin/views/decorators.py:23 +#: contrib/admin/views/decorators.py:24 #: contrib/admin/templates/admin/login.html:25 msgid "Log in" msgstr "Acessar" -#: contrib/admin/views/decorators.py:61 +#: contrib/admin/views/decorators.py:62 msgid "" "Please log in again, because your session has expired. Don't worry: Your " "submission has been saved." @@ -459,7 +1526,7 @@ msgstr "" "Por favor acesse novamente, pois sua sessão expirou. Não se preocupe: Os " "dados enviados foram salvos." -#: contrib/admin/views/decorators.py:68 +#: 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." @@ -467,68 +1534,79 @@ msgstr "" "Parece que seu navegador não está configurado para aceitar cookies. Por " "favor habilite os cookies, recarregue esta página, e tente novamente." -#: contrib/admin/views/decorators.py:82 +#: contrib/admin/views/decorators.py:83 msgid "Usernames cannot contain the '@' character." msgstr "Nomes de usuário não podem conter o caractere '@'." -#: contrib/admin/views/decorators.py:84 +#: contrib/admin/views/decorators.py:85 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Seu endereço de e-mail não é seu nome de usuário. Tente usar '%s'" -#: contrib/admin/views/main.py:226 -msgid "Site administration" -msgstr "Administração do Site" - -#: contrib/admin/views/main.py:260 +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "O(A) %(name)s \"%(obj)s\" foi adicionado com sucesso." -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 msgid "You may edit it again below." msgstr "Você pode editá-lo(a) de novo abaixo." -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 +#: contrib/admin/views/auth.py:30 +#, fuzzy +msgid "Add user" +msgstr "Adicionar usuário" + +#: contrib/admin/views/auth.py:57 +#, fuzzy +msgid "Password changed successfully." +msgstr "Senha alterada com sucesso" + +#: contrib/admin/views/auth.py:64 +#, fuzzy, python-format +msgid "Change password: %s" +msgstr "Alterar senha: %s" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Administração do Site" + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 #, python-format msgid "You may add another %s below." msgstr "Você pode adicionar outro(a) %s abaixo." -#: contrib/admin/views/main.py:290 +#: contrib/admin/views/main.py:289 #, python-format msgid "Add %s" msgstr "Adicionar %s" -#: contrib/admin/views/main.py:336 +#: contrib/admin/views/main.py:335 #, python-format msgid "Added %s." msgstr "Adicionado %s." -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 -msgid "and" -msgstr "e" - -#: contrib/admin/views/main.py:338 +#: contrib/admin/views/main.py:337 #, python-format msgid "Changed %s." msgstr "Modificado %s." -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:339 #, python-format msgid "Deleted %s." -msgstr "Apagado %s." +msgstr "Excluído %s." -#: contrib/admin/views/main.py:343 +#: contrib/admin/views/main.py:342 msgid "No fields changed." msgstr "Nenhum campo modificado." -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:345 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "O(A) %(name)s \"%(obj)s\" foi modificado com sucesso." -#: contrib/admin/views/main.py:354 +#: contrib/admin/views/main.py:353 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." @@ -634,10 +1712,6 @@ msgstr "Texto" msgid "Time" msgstr "Hora" -#: contrib/admin/views/doc.py:300 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - #: contrib/admin/views/doc.py:301 msgid "U.S. state (two uppercase letters)" msgstr "Estado dos EUA (duas letras maiúsculas)" @@ -659,9 +1733,12 @@ msgstr "Documentação" #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:4 @@ -678,11 +1755,13 @@ msgid "Change password" msgstr "Alterar senha" #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/base.html:28 -#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -693,7 +1772,7 @@ msgid "Home" msgstr "Início" #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 msgid "History" msgstr "Histórico" @@ -721,13 +1800,15 @@ msgstr "" "Este objeto não tem um histórico de alterações. Ele provavelmente não foi " "adicionado por este site de administração." -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Site de administração do Django" +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Adicionar %(name)s" -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Administração do Django" +#: contrib/admin/templates/admin/filter.html:2 +#, fuzzy, python-format +msgid " By %(filter_title)s " +msgstr "Por %(title)s " #: contrib/admin/templates/admin/500.html:4 msgid "Server error" @@ -746,8 +1827,50 @@ 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 "" -"Houve um erro. Este foi reportado aos administradores do site através d e-" -"mail e deve ser corrigido em breve. Obrigado pela compreensão." +"Houve um erro. Este foi reportado aos administradores do site através do " +"e-mail e deve ser corrigido em breve. Obrigado pela compreensão." + +#: 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 "Alguma coisa errada com a instalação do banco de dados. Certifique-se " +"que as tabelas necessárias foram criadas e que o banco de dados pode ser " +"acessado pelo usuário." + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Ir" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 resultado" +msgstr[1] "%(counter)s resultados" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s total" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostrar tudo" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Site de administração do Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Administração do Django" + +#: contrib/admin/templates/admin/filters.html:4 +#, fuzzy +msgid "Filter" +msgstr "Filtro" #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 @@ -763,6 +1886,11 @@ msgstr "Desculpe, mas a página requisitada não pode ser encontrada." msgid "Models available in the %(name)s application." msgstr "Modelos disponíveis na aplicação %(name)s" +#: contrib/admin/templates/admin/index.html:18 +#, fuzzy, python-format +msgid "%(name)s" +msgstr "%(name)s" + #: contrib/admin/templates/admin/index.html:28 #: contrib/admin/templates/admin/change_form.html:15 msgid "Add" @@ -788,16 +1916,27 @@ msgstr "Minhas Ações" msgid "None available" msgstr "Nenhuma disponível" -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Adicionar %(name)s" +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Ver no site" -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "Você esqueceu sua senha?" +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#, fuzzy +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Por favor, corrija o erro abaixo." +msgstr[1] "Por favor, corrija os erros abaixo." -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Ordenação" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Ordem:" + +#: contrib/admin/templates/admin/base.html:25 msgid "Welcome," msgstr "Bem vindo," @@ -807,57 +1946,29 @@ msgid "Delete" msgstr "Apagar" #: contrib/admin/templates/admin/delete_confirmation.html:14 -#, python-format +#, fuzzy, python-format msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" +"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 "" -"A remoção de '%(object)s' %(object_name)s pode resultar na remoção de " -"objetos relacionados, mas sua conta não tem a permissão para remoção dos " +"A remoção de '%(object_name)s' %(escaped_object)s pode resultar na remoção " +"de objetos relacionados, mas sua conta não tem a permissão para remoção dos " "seguintes tipos de objetos:" #: contrib/admin/templates/admin/delete_confirmation.html:21 -#, python-format +#, fuzzy, python-format msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" msgstr "" -"Você tem certeza que quer remover o \"%(object)s\" %(object_name)s? Todos os " -"seguintes itens relacionados serão removidos:" +"Você tem certeza que quer remover o %(object_name)s \"%(escaped_object)s\"? " +"Todos os seguintes itens relacionados serão removidos:" #: contrib/admin/templates/admin/delete_confirmation.html:26 msgid "Yes, I'm sure" msgstr "Sim, tenho certeza" -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(title)s " -msgstr "Por %(title)s " - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Ir" - -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "Ver no site" - -#: contrib/admin/templates/admin/change_form.html:30 -#, fuzzy -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Por favor, corrija o erro abaixo." -msgstr[1] "Por favor, corrija os erros abaixo." - -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Ordenação" - -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Ordem:" - #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" msgstr "Salvar como novo" @@ -874,6 +1985,40 @@ msgstr "Salvar e continuar editando" msgid "Save" msgstr "Salvar" +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Informe uma nova senha para o usuário %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#, fuzzy +msgid "Password" +msgstr "Senha:" + +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#, fuzzy +msgid "Password (again)" +msgstr "Senha (novamente)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Informe a mesma senha digitada acima, para verificação." + +#: 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 "Primeiro, informe um nome de usuário e senha. Então, você será capaz " +"de editar mais opções do usuário." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +#, fuzzy +msgid "Username" +msgstr "Usuário:" + #: 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 @@ -940,7 +2085,7 @@ msgid "" "password twice so we can verify you typed it in correctly." msgstr "" "Por favor, informe sua senha antiga, por segurança, e então informe sua nova " -"senha duas vezes para que possamos verificar que se ela está correta." +"senha duas vezes para que possamos verificar se você digitou corretamente." #: contrib/admin/templates/registration/password_change_form.html:17 msgid "Old password:" @@ -987,7 +2132,7 @@ msgstr "Obrigado por usar nosso site!" #: contrib/admin/templates/registration/password_reset_email.html:15 #, python-format msgid "The %(site_name)s team" -msgstr "Time do %(site_name)s" +msgstr "Equipe do %(site_name)s" #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" @@ -1045,9 +2190,7 @@ msgstr "Editar este objeto (janela atual)" #: contrib/admin/templates/admin_doc/bookmarklets.html:26 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "" -"Vai para a página de administração que representam um objeto " -"único." +msgstr "Vai para a página de administração que representam um objeto único." #: contrib/admin/templates/admin_doc/bookmarklets.html:28 msgid "Edit this object (new window)" @@ -1057,286 +2200,213 @@ msgstr "Editar este objeto (nova janela)" msgid "As above, but opens the admin page in a new window." msgstr "Como acima, mas abre a página de administração em uma nova janela." -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Data:" - -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Hora:" - -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Atualmente:" - -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Modificar:" - -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "redirecionar de" - -#: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." -msgstr "" -"Deve conter um caminho absoluto, excluindo o nome de domínio. Exemplo: '/" -"eventos/busca/'." - -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "redirecionar para" - -#: contrib/redirects/models.py:10 -msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." -msgstr "" -"Deve conter um caminho absoluto (como acima) ou uma URL completa, começando " -"com 'http://'." - -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "redirecionar" - -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "redirecionamentos" - -#: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "Exemplo: '/sobre/contato/'. Lembre-se das barras no começo e no final." - -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "título" - -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "conteúdo" - -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "habilitar comentários" - -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "nome do modelo" - -#: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." -msgstr "" -"Exemplo: 'flatfiles/contact_page'. Se não for informado, será utilizado " -"'flatfiles/default'." - -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "registro obrigatório" - -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Se estiver marcado, apenas usuários conectados poderão ver a página." - -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "página plana" - -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "páginas planas" - -#: contrib/auth/models.py:13 contrib/auth/models.py:26 -msgid "name" -msgstr "nome" - -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "nome código" - -#: contrib/auth/models.py:17 -#, fuzzy -msgid "permission" -msgstr "permissão" - -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -#, fuzzy -msgid "permissions" -msgstr "permissões" - -#: contrib/auth/models.py:29 -#, fuzzy -msgid "group" -msgstr "grupo" - -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -#, fuzzy -msgid "groups" -msgstr "grupos" - -#: contrib/auth/models.py:55 -msgid "username" -msgstr "usuário" - -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "primeiro nome" - -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "último nome" - -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "endereço de e-mail" - -#: contrib/auth/models.py:59 -msgid "password" -msgstr "senha" - -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Use '[algo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "status da equipe" - -#: contrib/auth/models.py:60 -msgid "Designates whether the user can log into this admin site." -msgstr "Informa se o usuário pode acessar este site de administração." - -#: contrib/auth/models.py:61 -msgid "active" -msgstr "ativar" - -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "status de superusuário" - -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "último login" - -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "data de registro" - -#: contrib/auth/models.py:66 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"Em adição às permissões atribuídas manualmente, este usuário também terá " -"todas as permissões dadas a cada grupo que participar." - -#: contrib/auth/models.py:67 -#, fuzzy -msgid "user permissions" -msgstr "permissões do usuário" - -#: contrib/auth/models.py:70 -#, fuzzy -msgid "user" -msgstr "usuário" - -#: contrib/auth/models.py:71 -#, fuzzy -msgid "users" -msgstr "usuários" - -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "Informações pessoais" - -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "Permissões" - -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "Datas importantes" - -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Grupos" - -#: contrib/auth/models.py:219 -#, fuzzy -msgid "message" -msgstr "mensagem" - -#: contrib/auth/forms.py:30 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" -"Seu navegador Web não parece estar com os cookies habilitados. Cookies são " -"requeridos para acessar." - -#: contrib/contenttypes/models.py:25 -#, fuzzy -msgid "python model class name" -msgstr "nome do módulo python" - -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "tipo de conteúdo" - -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "tipos de conteúdo" - -#: contrib/sessions/models.py:35 -msgid "session key" -msgstr "chave da sessão" - -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "dados da sessão" - -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "data de expiração" - -#: contrib/sessions/models.py:41 -msgid "session" -msgstr "sessão" - -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "sessões" - -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "nome do domínio" - -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "nome para exibição" - -#: contrib/sites/models.py:15 -msgid "site" -msgstr "site" - -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "sites" - -#: utils/translation.py:360 -msgid "DATE_FORMAT" +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." msgstr "" -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" +#: contrib/localflavor/usa/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "" -#: utils/translation.py:362 -msgid "TIME_FORMAT" +#: contrib/localflavor/fr/forms.py:17 +#, fuzzy +msgid "Enter a zip code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/jp/forms.py:21 +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 +#, fuzzy +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 +#, fuzzy +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 +#, fuzzy +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 +#, fuzzy +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 "" #: utils/dates.py:6 @@ -1534,483 +2604,60 @@ msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minutos" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "Bengalês" - -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "Tcheco" - -#: conf/global_settings.py:39 -msgid "Welsh" +#: utils/dateformat.py:40 +msgid "p.m." msgstr "" -#: conf/global_settings.py:40 -#, fuzzy -msgid "Danish" -msgstr "Dinamarquês" - -#: conf/global_settings.py:41 -msgid "German" -msgstr "Alemão" - -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "Grego" - -#: conf/global_settings.py:43 -msgid "English" -msgstr "Inglês" - -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "Espanhol" - -#: conf/global_settings.py:45 -msgid "French" -msgstr "Francês" - -#: conf/global_settings.py:46 -msgid "Galician" -msgstr "Galiciano" - -#: conf/global_settings.py:47 -msgid "Hungarian" -msgstr "Húngaro" - -#: conf/global_settings.py:48 -msgid "Hebrew" -msgstr "Hebraico" - -#: conf/global_settings.py:49 -msgid "Icelandic" -msgstr "Islandês" - -#: conf/global_settings.py:50 -msgid "Italian" -msgstr "Italiano" - -#: conf/global_settings.py:51 -msgid "Japanese" -msgstr "Japonês" - -#: conf/global_settings.py:52 -msgid "Dutch" -msgstr "Alemão" - -#: conf/global_settings.py:53 -msgid "Norwegian" -msgstr "Norueguês" - -#: conf/global_settings.py:54 -msgid "Brazilian" -msgstr "Brasileiro" - -#: conf/global_settings.py:55 -msgid "Romanian" -msgstr "Romeno" - -#: conf/global_settings.py:56 -msgid "Russian" -msgstr "Russo" - -#: conf/global_settings.py:57 -msgid "Slovak" -msgstr "Eslovaco" - -#: conf/global_settings.py:58 -#, fuzzy -msgid "Slovenian" -msgstr "Esloveno" - -#: conf/global_settings.py:59 -msgid "Serbian" -msgstr "Sérvio" - -#: conf/global_settings.py:60 -msgid "Swedish" -msgstr "Sueco" - -#: conf/global_settings.py:61 -#, fuzzy -msgid "Ukrainian" -msgstr "Ucraniano" - -#: conf/global_settings.py:62 -msgid "Simplified Chinese" -msgstr "Chinês Simplificado" - -#: conf/global_settings.py:63 -msgid "Traditional Chinese" -msgstr "Chinês Tradicional" - -#: core/validators.py:60 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Deve conter apenas letras, números e sublinhados (_)." - -#: core/validators.py:64 -#, fuzzy -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "Deve conter apenas letras, números, sublinhados (_) e barras (/)." - -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "Letras em maiúsculo não são permitidas aqui." - -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "Letras em minúsculo não são permitidas aqui." - -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Informe apenas dígitos separados por vírgulas." - -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Informe endereços de email válidos separados por vírgulas." - -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Informe um endereço IP válido." - -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "Valores em branco não são permitidos." - -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "Caracteres não numéricos não são permitidos." - -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "Este valor não pode conter apenas dígitos." - -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Informe um número completo." - -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Apenas caracteres do alfabeto são permitidos aqui." - -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Informe uma data válida no formato AAAA-MM-DD." - -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Informe uma hora válida no formato HH:MM." - -#: core/validators.py:132 db/models/fields/__init__.py:468 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Informe uma data/hora válida no formato AAAA-MM-DD HH:MM." - -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "Informe um endereço de email válido." - -#: core/validators.py:148 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." +#: utils/dateformat.py:41 +msgid "a.m." msgstr "" -"Envie uma imagem válida. O arquivo enviado não é uma imagem ou está " -"corrompido." -#: core/validators.py:155 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "A URL %s não aponta para um imagem válida." - -#: core/validators.py:159 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +#: utils/dateformat.py:46 +msgid "PM" msgstr "" -"Números de telefone deves estar no formato XXX-XXX-XXXX.\"%s\" é inválido." -#: core/validators.py:167 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "A URL %s não aponta para um vídeo QuickTime válido." - -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "Uma URL válida é exigida." - -#: core/validators.py:185 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" +#: utils/dateformat.py:47 +msgid "AM" msgstr "" -"HTML válido é exigido. Estes são os erros específicos:\n" -"%s" -#: core/validators.py:192 -#, python-format -msgid "Badly formed XML: %s" -msgstr "XML mal formado: %s" +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "meia noite" -#: core/validators.py:202 -#, python-format -msgid "Invalid URL: %s" -msgstr "URL inválida: %s" +#: utils/dateformat.py:97 +msgid "noon" +msgstr "meio dia" -#: core/validators.py:206 core/validators.py:208 -#, python-format -msgid "The URL %s is a broken link." -msgstr "A URL %s é um link quebrado." - -#: core/validators.py:214 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Informe uma abreviação válida de nome de um estado dos EUA." - -#: core/validators.py:229 -#, fuzzy, 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] "Lave sua boca! A palavra %s não é permitida aqui." -msgstr[1] "Lave sua boca! As palavras %s não são permitidas aqui." - -#: core/validators.py:236 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Este campo deve ser igual ao campo '%s'." - -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "Informe algo em pelo menos um campo." - -#: core/validators.py:264 core/validators.py:275 -msgid "Please enter both fields or leave them both empty." -msgstr "Informe ambos os campos ou deixe ambos vazios." - -#: core/validators.py:282 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "Este campo deve ser informado se o campo %(field)s for %(value)s." - -#: core/validators.py:294 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "Este campo deve ser dado se o campo %(field)s não for %(value)s." - -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "Valores duplicados não são permitidos." - -#: core/validators.py:336 -#, python-format -msgid "This value must be a power of %s." -msgstr "Este valor deve ser uma potência de %s." - -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "Informe um número decimal válido." - -#: core/validators.py:349 -#, fuzzy, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "" -"Please enter a valid decimal number with at most %s total digits." -msgstr[0] "Por favor entre com um número decimal com no máximo %s digito." -msgstr[1] "Por favor entre com um número decimal com no máximo %s digitos." - -#: core/validators.py:352 -#, fuzzy, 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] "Informe um número decimal com no máximo %s casa decimal." -msgstr[1] "Informe um número decimal com no máximo %s casas decimais." - -#: core/validators.py:362 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Verifique se o arquivo enviado tem pelo menos %s bytes." - -#: core/validators.py:363 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Verifique se o arquivo enviado tem no máximo %s bytes." - -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "O formato deste campo está errado." - -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "Este campo é inválido." - -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Não foi possível receber dados de %s." - -#: core/validators.py:429 -#, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" msgstr "" -"A URL %(url)s retornou um cabeçalho '%(contenttype)s' de Content-Type " -"inválido." -#: core/validators.py:462 -#, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" msgstr "" -"Por favor, feche a tag %(tag)s na linha %(line)s. (A linha começa com \"%" -"(start)s\".)" -#: core/validators.py:466 -#, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" msgstr "" -"Algum texto começando na linha %(line)s não é permitido no contexto. (Linha " -"começa com \"%(start)s\".)" -#: core/validators.py:471 -#, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" msgstr "" -"\"%(attr)s\" na linha %(line)s não é um atributo válido. (Linha começa com " -"\"%(start)s\".)" -#: core/validators.py:476 -#, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" msgstr "" -"\"<%(tag)s>\" na linha %(line)s é uma tag inválida. (Linha começa com \"%" -"(start)s\".)" -#: core/validators.py:480 -#, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Uma tag na linha %(line)s está não apresenta um ou mais atributos exigidos." -"(Linha começa com \"%(start)s\".)" - -#: core/validators.py:485 -#, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"O atributo \"%(attr)s\" na linha %(line)s tem um valor inválido. (Linha " -"começa com \"%(start)s\".)" - -#: db/models/manipulators.py:302 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "%(object)s com este %(type)s já existe para o %(field)s dado." - -#: db/models/fields/__init__.py:40 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s com este %(fieldname)s já existe." - -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 -#: forms/__init__.py:346 -msgid "This field is required." -msgstr "Este campo é requerido." - -#: db/models/fields/__init__.py:337 -#, fuzzy -msgid "This value must be an integer." -msgstr "Este valor deve ser um inteiro." - -#: db/models/fields/__init__.py:369 -#, fuzzy -msgid "This value must be either True or False." -msgstr "Este valor deve ser Verdadeiro ou Falso." - -#: db/models/fields/__init__.py:385 -#, fuzzy -msgid "This field cannot be null." -msgstr "Este campo não pode ser nulo." - -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Informe um nome de arquivo válido." - -#: db/models/fields/related.py:43 -#, python-format -msgid "Please enter a valid %s." -msgstr "Por favor informe um %s válido." - -#: db/models/fields/related.py:579 -#, fuzzy -msgid "Separate multiple IDs with commas." -msgstr "Separe IDs múltiplos com vírgulas." - -#: db/models/fields/related.py:581 -#, fuzzy -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -" Mantenha pressionado \"Control\", ou \"Command\" no Mac para selecionar " -"mais de uma opção." - -#: db/models/fields/related.py:625 -#, fuzzy, python-format -msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -msgid_plural "" -"Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr[0] "" -"Por favor, entre IDs válidos para %(self)s. O valor %(value)r é inválido." -msgstr[1] "" -"Por favor, entre IDs válidos para %(self)s. Os valores %(value)r são inválidos." - -#: forms/__init__.py:380 -#, fuzzy, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Certifique-se de que seu texto tenha menos que %s caractere." -msgstr[1] "Certifique-se de que seu texto tenha menos que %s caracteres." - -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "Não são permitidas quebras de linha aqui." - -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Selecione uma escolha válida; '%(data)s' não está em %(choices)s." - -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "O arquivo enviado está vazio." - -#: forms/__init__.py:699 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Informe um número inteiro entre -32.768 e 32.767" - -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "Informe um número positivo" - -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Informe um número inteiro entre 0 e 32.767." - -#: template/defaultfilters.py:379 +#: template/defaultfilters.py:491 msgid "yes,no,maybe" msgstr "sim,não,talvez" +#~ msgid "Have you forgotten your password?" +#~ msgstr "Você esqueceu sua senha?" + +#~ msgid "Use '[algo]$[salt]$[hexdigest]'" +#~ msgstr "Use '[algo]$[salt]$[hexdigest]'" + #~ msgid "Comment" #~ msgstr "Comentário" diff --git a/django/conf/locale/ru/LC_MESSAGES/django.mo b/django/conf/locale/ru/LC_MESSAGES/django.mo index 12e240529ff2c15a280f057431450d4677802ba2..5718d58bcb7b070521b6d08e9a31a06024c6c956 100644 GIT binary patch literal 56778 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 Mfk}Ysz0u%*16c;SG5`Po delta 10207 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 UjZ{V^6^Drv4C<09{bb7j07+-fp8x;= diff --git a/django/conf/locale/ru/LC_MESSAGES/django.po b/django/conf/locale/ru/LC_MESSAGES/django.po index f329efe24f..cbd995c81f 100644 --- a/django/conf/locale/ru/LC_MESSAGES/django.po +++ b/django/conf/locale/ru/LC_MESSAGES/django.po @@ -1,26 +1,810 @@ # Translation of django.po to russian. # Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# Dmitry Sorokin , 2005. # msgid "" msgstr "" "Project-Id-Version: django 0.95\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:11+0200\n" +"POT-Creation-Date: 2007-05-04 16:07+1300\n" "PO-Revision-Date: 2006-09-07 15:28+0300\n" -"Last-Translator: Alexander Yakovlev \n" +"Last-Translator: Vasiliy Stavenko \n" "Language-Team: Dialcom Services \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Poedit-Language: Russian\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-SourceCharset: utf-8\n" -#: contrib/comments/models.py:67 -#: contrib/comments/models.py:166 +#: oldforms/__init__.py:357 db/models/fields/__init__.py:117 +#: db/models/fields/__init__.py:274 db/models/fields/__init__.py:615 +#: db/models/fields/__init__.py:626 newforms/models.py:178 +#: newforms/fields.py:80 newforms/fields.py:378 newforms/fields.py:454 +#: newforms/fields.py:465 +msgid "This field is required." +msgstr "Обязательное поле." + +#: oldforms/__init__.py:392 +#, 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 символов." +msgstr[2] "Убедитесь, что длина вашего текста меньше %s символов." + +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "Переносы строк здесь не допускаются." + +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Выберите корректный вариант; '%(data)s' нет в %(choices)s." + +#: oldforms/__init__.py:577 newforms/widgets.py:180 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Неизвестно" + +#: oldforms/__init__.py:577 newforms/widgets.py:180 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "Да" + +#: oldforms/__init__.py:577 newforms/widgets.py:180 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "Нет" + +#: oldforms/__init__.py:672 core/validators.py:174 core/validators.py:445 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Не получен файл. Проверьте кодирование формы (encoding)." + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "Указанный файл пуст." + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Введите целое число в диапазоне от -32768 до 32767." + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "Введите положительное число." + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Введите целое число в диапазоне от 0 до 32767." + +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s с типом %(type)s уже существует для данного %(field)s." + +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "и" + +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s с %(fieldname)s уже существует." + +#: db/models/fields/__init__.py:369 +msgid "This value must be an integer." +msgstr "Это значение должно быть целым числом." + +#: db/models/fields/__init__.py:404 +msgid "This value must be either True or False." +msgstr "Значение должно либо True, либо False." + +#: db/models/fields/__init__.py:425 +msgid "This field cannot be null." +msgstr "Это поле не может быть нулевым." + +#: db/models/fields/__init__.py:462 core/validators.py:148 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Вводите правильную дату в формате YYYY-MM-DD." + +#: db/models/fields/__init__.py:531 core/validators.py:157 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Введите правильные дату/время в формате YYYY-MM-DD HH:MM." + +#: db/models/fields/__init__.py:635 +msgid "Enter a valid filename." +msgstr "Укажите правильное имя файла." + +#: db/models/fields/__init__.py:756 +#, fuzzy +msgid "This value must be either None, True or False." +msgstr "Значение должно либо True, либо False." + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Пожалуйста, введите правильный %s." + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Несколько значений ID разделите запятыми." + +#: db/models/fields/related.py:644 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Удерживайте \"Control\" (или \"Command\" на Mac) для выбора нескольких." + +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +"Пожалуйста, введите корректный ID для %(self)s. Значение %(value)r " +"недопустимо." +msgstr[1] "" +"Пожалуйста, введите корректные ID для %(self)s. Значения %(value)r " +"недопустимы." +msgstr[2] "" +"Пожалуйста, введите корректные ID для %(self)s. Значения %(value)r " +"недопустимы." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Арабский" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Бенгальский" + +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Каталанский" + +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Чешский" + +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Уэльский" + +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Датский" + +#: conf/global_settings.py:45 +msgid "German" +msgstr "Немецкий" + +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Греческий" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "Английский" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Испанский" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Аргентинский испанский" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Финский" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "Французский" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Галльский" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Венгерский" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Иврит" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Исландский" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Итальянский" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Японский" + +#: conf/global_settings.py:58 +msgid "Korean" +msgstr "Корейский" + +#: conf/global_settings.py:59 +msgid "Kannada" +msgstr "Каннада" + +#: conf/global_settings.py:60 +msgid "Latvian" +msgstr "Латвийский" + +#: conf/global_settings.py:61 +msgid "Macedonian" +msgstr "Македоский" + +#: conf/global_settings.py:62 +msgid "Dutch" +msgstr "Голландский" + +#: conf/global_settings.py:63 +msgid "Norwegian" +msgstr "Норвежский" + +#: conf/global_settings.py:64 +msgid "Polish" +msgstr "Польский" + +#: conf/global_settings.py:65 +msgid "Portugese" +msgstr "Португальский" + +#: conf/global_settings.py:66 +msgid "Brazilian" +msgstr "Бразильский" + +#: conf/global_settings.py:67 +msgid "Romanian" +msgstr "Румынский" + +#: conf/global_settings.py:68 +msgid "Russian" +msgstr "Русский" + +#: conf/global_settings.py:69 +msgid "Slovak" +msgstr "Словацкий" + +#: conf/global_settings.py:70 +msgid "Slovenian" +msgstr "Словенский" + +#: conf/global_settings.py:71 +msgid "Serbian" +msgstr "Сербский" + +#: conf/global_settings.py:72 +msgid "Swedish" +msgstr "Шведский" + +#: conf/global_settings.py:73 +msgid "Tamil" +msgstr "Тамиль" + +#: conf/global_settings.py:74 +msgid "Telugu" +msgstr "Телугу" + +#: conf/global_settings.py:75 +msgid "Turkish" +msgstr "Турецкий" + +#: conf/global_settings.py:76 +msgid "Ukrainian" +msgstr "Украинский" + +#: conf/global_settings.py:77 +msgid "Simplified Chinese" +msgstr "Упрощенный китайский" + +#: conf/global_settings.py:78 +msgid "Traditional Chinese" +msgstr "Традиционный китайский" + +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Значение должно состоять только из букв, цифр и знаков подчеркивания." + +#: core/validators.py:68 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Значение должно состоять только из букв, цифр, знаков подчеркивания, тире " +"или наклонной черты вправо." + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "" +"Значение должно состоять только из букв, цифр, знаков подчеркивания " +"или тире." + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Заглавные буквы недопустимы." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Строчные буквы здесь недопустимы." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Введите цифры, разделённые запятыми." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Введите правильные адреса электронной почты, разделённые запятыми." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Пожалуйста, введите правильный IP-адрес." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "Пустое значение здесь недопустимо." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Нецифровые символы здесь недопустимы." + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Это значение не может быть составлено только из цифр." + +#: core/validators.py:120 newforms/fields.py:128 +msgid "Enter a whole number." +msgstr "Введите целое число." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Здесь разрешены только алфавитные символы." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "Год должен быть больше или равен 1900" + +#: core/validators.py:143 +msgid "Invalid date: %s" +msgstr "неправильная дата: %s" + +#: core/validators.py:153 +msgid "Enter a valid time in HH:MM format." +msgstr "Введите правильное время в формате HH:MM." + +#: core/validators.py:162 newforms/fields.py:273 +msgid "Enter a valid e-mail address." +msgstr "Укажите правильный адрес электронной почты." + +#: core/validators.py:178 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Загрузите реальное изображение. Файл, который вы загрузили, не является " +"изображением или был поврежден." + +#: core/validators.py:185 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "URL %s не указывает на реальное изображение." + +#: core/validators.py:189 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "Телефонные номера должен быть в формате XXX-XXX-XXXX. \"%s\" неверен." + +#: core/validators.py:197 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "URL %s не указывает на реальное видео QuickTime." + +#: core/validators.py:201 +msgid "A valid URL is required." +msgstr "Правильный URL обязателен." + +#: core/validators.py:215 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Правильный HTML обязателен. Специфичные ошибки:\n" +"%s" + +#: core/validators.py:222 +#, python-format +msgid "Badly formed XML: %s" +msgstr "Неверный формат XML: %s" + +#: core/validators.py:239 +#, python-format +msgid "Invalid URL: %s" +msgstr "Неверный URL: %s" + +#: core/validators.py:244 core/validators.py:246 +#, python-format +msgid "The URL %s is a broken link." +msgstr "URL %s - сломанная ссылка." + +#: core/validators.py:252 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Введите правильную аббревиатуру штата США." + +#: core/validators.py:266 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "Следите за своими словами! Слово %s здесь запрещено." +msgstr[1] "Следите за своими словами! Слова %s здесь запрещены." +msgstr[2] "Следите за своими словами! Слова %s здесь запрещены." + +#: core/validators.py:273 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Это поле должно совпадать с полем '%s'." + +#: core/validators.py:292 +msgid "Please enter something for at least one field." +msgstr "Пожалуйста, заполните хотя бы одно поле." + +#: core/validators.py:301 core/validators.py:312 +msgid "Please enter both fields or leave them both empty." +msgstr "Пожалуйста, заполните оба поля или оставьте их оба пустыми." + +#: core/validators.py:320 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Это поле должно быть заполнено, если %(field)s равно %(value)s" + +#: core/validators.py:333 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Это поле должно быть заполнено, если %(field)s не равно %(value)s" + +#: core/validators.py:352 +msgid "Duplicate values are not allowed." +msgstr "Двойные значения запрещены." + +#: core/validators.py:367 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Это значение должно быть больше %(lower)s и меньше %(upper)s." + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "Это значение должно быть не меньше %s." + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "Это значение не должно быть больше %s." + +#: core/validators.py:407 +#, python-format +msgid "This value must be a power of %s." +msgstr "Это значение должно быть степенью %s." + +#: core/validators.py:418 +msgid "Please enter a valid decimal number." +msgstr "Пожалуйста, введите корректное десятичное число." + +#: core/validators.py:422 +#, 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 знаками." +msgstr[2] "" +"Пожалуйста, введите корректное десятичное число максимально с %s знаками." + +#: core/validators.py:425 +#, 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 знаков." +msgstr[2] "" +"Пожалуйста, введите корректное десятичное число с целой частью из %s знаков." + +#: core/validators.py:428 +#, 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 знаками " +"после запятой." +msgstr[2] "" +"Пожалуйста, введите корректное десятичное число максимально с %s знаками " +"после запятой." + +#: core/validators.py:438 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Убедитесь, что загруженный файл не меньше %s байт." + +#: core/validators.py:439 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Убедитесь, что загруженный файл не больше %s байт." + +#: core/validators.py:456 +msgid "The format for this field is wrong." +msgstr "Формат этого поля неверен." + +#: core/validators.py:471 +msgid "This field is invalid." +msgstr "Это поле неверно." + +#: core/validators.py:507 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Невозможно получить ничего с %s." + +#: core/validators.py:510 +#, 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:543 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"Пожалуйста, закройте незакрытый тэг %(tag)s на строке %(line)s. (Строка " +"начинается с \"%(start)s\".)" + +#: core/validators.py:547 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Что-то из текста, начинающегося на строке %(line)s, недопустимо в том " +"контексте. (Строка начинается с \"%(start)s\".)" + +#: core/validators.py:552 +#, 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:557 +#, 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:561 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"В теге на строке %(line)s не хватает одного или более обязательных " +"атрибутов. (Строка начинается с \"%(start)s\".)" + +#: core/validators.py:566 +#, 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\".)" + +#: 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 был успешно удален." + +#: newforms/models.py:165 newforms/fields.py:366 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Выберите корректный вариант. Вашего варианта нет среди допустимых" + +#: newforms/models.py:182 newforms/fields.py:382 newforms/fields.py:458 +msgid "Enter a list of values." +msgstr "Укажите список занчений." + +#: newforms/models.py:188 newforms/fields.py:391 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Выберите корректный вариант. %s нет среди допустимых значений." + +#: newforms/fields.py:103 newforms/fields.py:258 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Убедитесь, что значение содержит менее %d символов." + +#: newforms/fields.py:105 newforms/fields.py:260 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Убедитесь, что значение содержит более %d символов." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Убедитесь что это значение меньше или равно %s." + +#: newforms/fields.py:132 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Убедитесь что это значение больше или равно %s" + +#: newforms/fields.py:166 +msgid "Enter a valid date." +msgstr "Укажите дату правильно." + +#: newforms/fields.py:194 +msgid "Enter a valid time." +msgstr "Укажите время правильно." + +#: newforms/fields.py:230 +msgid "Enter a valid date/time." +msgstr "Укажите дату и время правильно." + +#: newforms/fields.py:244 +msgid "Enter a valid value." +msgstr "Укажите значение правильно" + +#: newforms/fields.py:291 newforms/fields.py:313 +msgid "Enter a valid URL." +msgstr "Укажите правильный URL" + +#: newforms/fields.py:315 +msgid "This URL appears to be a broken link." +msgstr "Этот URL похоже сломанная ссылка." + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f миллион" +msgstr[1] "%(value).1f миллиона" +msgstr[2] "%(value).1f миллионов" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f миллиард" +msgstr[1] "%(value).1f миллиарда" +msgstr[2] "%(value).1f миллиардов" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f триллион" +msgstr[1] "%(value).1f триллиона" +msgstr[2] "%(value).1f триллионов" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "один" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "два" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "три" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "четыре" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "пять" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "шесть" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "семь" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "восемь" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +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/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" msgstr "ID объекта" @@ -28,8 +812,7 @@ msgstr "ID объекта" msgid "headline" msgstr "Заголовок" -#: contrib/comments/models.py:69 -#: contrib/comments/models.py:90 +#: contrib/comments/models.py:69 contrib/comments/models.py:90 #: contrib/comments/models.py:167 msgid "comment" msgstr "Комментарий" @@ -70,18 +853,15 @@ msgstr "рейтинг №8" msgid "is valid rating" msgstr "Допустимый рейтинг" -#: contrib/comments/models.py:83 -#: contrib/comments/models.py:169 +#: contrib/comments/models.py:83 contrib/comments/models.py:169 msgid "date/time submitted" msgstr "Дата/время добавления" -#: contrib/comments/models.py:84 -#: contrib/comments/models.py:170 +#: contrib/comments/models.py:84 contrib/comments/models.py:170 msgid "is public" msgstr "Публичный" -#: contrib/comments/models.py:85 -#: contrib/admin/views/doc.py:289 +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 msgid "IP address" msgstr "IP-адрес" @@ -90,15 +870,18 @@ msgid "is removed" msgstr "Удален" #: contrib/comments/models.py:86 -msgid "Check this box if the comment is inappropriate. A \"This comment has been removed\" message will be displayed instead." -msgstr "Отметьте, если комментарий нежелателен. Сообщение \"Этот комментарий был удалён\" будет показано взамен." +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"Отметьте, если комментарий нежелателен. Сообщение \"Этот комментарий был " +"удалён\" будет показано взамен." #: contrib/comments/models.py:91 msgid "comments" msgstr "Комментарии" -#: contrib/comments/models.py:131 -#: contrib/comments/models.py:207 +#: contrib/comments/models.py:131 contrib/comments/models.py:207 msgid "Content object" msgstr "Объект содержимого" @@ -215,34 +998,41 @@ msgstr "Неверный ID комментария" msgid "No voting for yourself" 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:27 +msgid "" +"This rating is required because you've entered at least one other rating." +msgstr "" +"Этот рейтинг обязателен, так как вы уже ввели как минимум еще один рейтинг." -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, python-format msgid "" -"This comment was posted by a user who has posted fewer than %(count)s comment:\n" +"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] "" -"Этот комментарий сделан пользователем, который отправил меньше %(count)s комментария:\n" +"Этот комментарий сделан пользователем, который отправил меньше %(count)s " +"комментария:\n" "\n" "%(text)s" msgstr[1] "" -"Этот комментарий сделан пользователем, который отправил меньше %(count)s комментариев:\n" +"Этот комментарий сделан пользователем, который отправил меньше %(count)s " +"комментариев:\n" "\n" "%(text)s" msgstr[2] "" -"Этот комментарий сделан пользователем, который отправил меньше %(count)s комментариев:\n" +"Этот комментарий сделан пользователем, который отправил меньше %(count)s " +"комментариев:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:117 +#: contrib/comments/views/comments.py:116 #, python-format msgid "" "This comment was posted by a sketchy user:\n" @@ -253,31 +1043,48 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" msgstr "Разрешены только POSTы" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" msgstr "Одно или больше обязательных полей не были заполнены" -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" msgstr "Кто-то вмешался в форму комментария (нарушение безопасности)" -#: contrib/comments/views/comments.py:207 +#: contrib/comments/views/comments.py:206 #: contrib/comments/views/comments.py:292 -msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid" -msgstr "Форма комментария имела неверный параметр 'target' -- ID объекта неверен" +msgid "" +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" +msgstr "" +"Форма комментария имела неверный параметр 'target' -- ID объекта неверен" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 msgid "The comment form didn't provide either 'preview' or 'post'" msgstr "Форма комментария не предоставила ни 'предпросмотр', ни 'отправить'" +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Имя пользователя:" + +#: contrib/comments/templates/comments/freeform.html:5 +#: contrib/comments/templates/comments/form.html:28 +msgid "Comment:" +msgstr "Комментарий:" + +#: contrib/comments/templates/comments/freeform.html:10 +#: contrib/comments/templates/comments/form.html:35 +msgid "Preview comment" +msgstr "Предпросмотр комментария" + #: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 #: contrib/admin/templates/admin/login.html:17 @@ -285,20 +1092,12 @@ msgid "Username:" msgstr "Имя:" #: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Пароль:" - -#: contrib/comments/templates/comments/form.html:6 -msgid "Forgotten your password?" -msgstr "Забыли свой пароль?" - -#: contrib/comments/templates/comments/form.html:8 #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:4 @@ -314,6 +1113,15 @@ msgstr "Забыли свой пароль?" msgid "Log out" msgstr "Выход" +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Пароль:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Забыли свой пароль?" + #: contrib/comments/templates/comments/form.html:12 msgid "Ratings" msgstr "Рейтинги" @@ -332,19 +1140,21 @@ msgstr "Необязательное" msgid "Post a photo" msgstr "Добавить фотографию" -#: contrib/comments/templates/comments/form.html:27 -#: contrib/comments/templates/comments/freeform.html:5 -msgid "Comment:" -msgstr "Комментарий:" +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "Доменное имя" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 -msgid "Preview comment" -msgstr "Предпросмотр комментария" +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "Выводимое имя" -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "Имя пользователя:" +#: contrib/sites/models.py:15 +msgid "site" +msgstr "Сайт" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "Сайты" #: contrib/admin/filterspecs.py:40 #, python-format @@ -355,9 +1165,8 @@ msgstr "" "

                                                                          По %s:

                                                                          \n" "
                                                                            \n" -#: contrib/admin/filterspecs.py:70 -#: contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 msgid "All" msgstr "Все" @@ -381,18 +1190,6 @@ msgstr "В этом месяце" msgid "This year" msgstr "В этом году" -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "Да" - -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "Нет" - -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Неизвестно" - #: contrib/admin/models.py:16 msgid "action time" msgstr "Время действия" @@ -421,219 +1218,312 @@ msgstr "Журнальная запись" msgid "log entries" msgstr "Журнальные записи" -#: contrib/admin/templatetags/admin_list.py:228 +#: contrib/admin/templatetags/admin_list.py:247 msgid "All dates" msgstr "Все даты" -#: contrib/admin/views/decorators.py:9 -#: contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 -msgid "Please enter a correct username and password. Note that both fields are case-sensitive." -msgstr "Пожалуйста, введите верные имя пользователя и пароль. Помните, оба поля чувствительны к регистру." +#: contrib/admin/views/decorators.py:10 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:23 +#: contrib/admin/views/decorators.py:24 #: contrib/admin/templates/admin/login.html:25 msgid "Log in" msgstr "Вход" -#: contrib/admin/views/decorators.py:61 -msgid "Please log in again, because your session has expired. Don't worry: Your submission has been saved." -msgstr "Пожалуйста, войдите снова, поскольку ваша сессия устарела. Не беспокойтесь: введенные вами данные сохранены." +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" +"Пожалуйста, войдите снова, поскольку ваша сессия устарела. Не беспокойтесь: " +"введенные вами данные сохранены." -#: contrib/admin/views/decorators.py:68 -msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." -msgstr "Похоже, ваш броузер не настроен на прием cookies. Пожалуйства, включите cookie, перезагрузите страницу и попытайтесь снова." +#: 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 "" +"Похоже, ваш броузер не настроен на прием cookies. Пожалуйства, включите " +"cookie, перезагрузите страницу и попытайтесь снова." -#: contrib/admin/views/decorators.py:82 +#: contrib/admin/views/decorators.py:83 msgid "Usernames cannot contain the '@' character." msgstr "Имя пользователя не может включать символ '@'." -#: contrib/admin/views/decorators.py:84 +#: contrib/admin/views/decorators.py:85 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "Ваш адрес электронной почты не является вашим именем пользователя. Попробуйте '%s' взамен." +msgstr "" +"Ваш адрес электронной почты не является вашим именем пользователя. " +"Попробуйте '%s' взамен." -#: contrib/admin/views/main.py:226 -msgid "Site administration" -msgstr "Администрирование сайта" - -#: contrib/admin/views/main.py:260 +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" был успешно добавлен." -#: contrib/admin/views/main.py:264 -#: contrib/admin/views/main.py:348 +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 msgid "You may edit it again below." msgstr "Ниже можно снова редактировать его" -#: contrib/admin/views/main.py:272 -#: contrib/admin/views/main.py:357 +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Добавить пользователя" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Пароль успешно обновлен" + +#: contrib/admin/views/auth.py:64 +msgid "Change password: %s" +msgstr "Изменение пароля: %s" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Администрирование сайта" + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 #, python-format msgid "You may add another %s below." msgstr "Вы можете добавить %s внизу." -#: contrib/admin/views/main.py:290 +#: contrib/admin/views/main.py:289 #, python-format msgid "Add %s" msgstr "Добавить %s" -#: contrib/admin/views/main.py:336 +#: contrib/admin/views/main.py:335 #, python-format msgid "Added %s." msgstr "Добавлен %s." -#: contrib/admin/views/main.py:336 -#: contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 -msgid "and" -msgstr "и" - -#: contrib/admin/views/main.py:338 +#: contrib/admin/views/main.py:337 #, python-format msgid "Changed %s." msgstr "Изменен %s." -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:339 #, python-format msgid "Deleted %s." msgstr "Удален %s." -#: contrib/admin/views/main.py:343 +#: contrib/admin/views/main.py:342 msgid "No fields changed." msgstr "Ни одно поле не изменено." -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:345 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" был успешно изменен." -#: contrib/admin/views/main.py:354 +#: contrib/admin/views/main.py:353 #, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "%(name)s \"%(obj)s\" был успешно добавлен. Ниже можно снова редактировать его." +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:392 +#: contrib/admin/views/main.py:391 #, python-format msgid "Change %s" msgstr "Изменить %s" -#: contrib/admin/views/main.py:470 +#: contrib/admin/views/main.py:476 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "Один или более %(fieldname)s в %(name)s: %(obj)s" -#: contrib/admin/views/main.py:475 +#: contrib/admin/views/main.py:481 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "Один или более %(fieldname)s в %(name)s:" -#: contrib/admin/views/main.py:508 +#: contrib/admin/views/main.py:514 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" был успешно удален." -#: contrib/admin/views/main.py:511 +#: contrib/admin/views/main.py:517 msgid "Are you sure?" msgstr "Вы уверены?" -#: contrib/admin/views/main.py:533 +#: contrib/admin/views/main.py:539 #, python-format msgid "Change history: %s" msgstr "История изменений: %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s" msgstr "Выберите %s" -#: contrib/admin/views/main.py:565 -#, python-format +#: contrib/admin/views/main.py:573 msgid "Select %s to change" msgstr "Выберите %s для изменения" -#: contrib/admin/views/doc.py:277 -#: contrib/admin/views/doc.py:286 -#: contrib/admin/views/doc.py:288 -#: contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:295 -#: contrib/admin/views/doc.py:297 +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Ошибка базы данных" + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "Тэг:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "Фильтр:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "view:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Приложение %r не найдено" + +#: contrib/admin/views/doc.py:171 +msgid "Model %(name)r not found in app %(label)r" +msgstr "Модель %(name) не найдена в приложении %(label)r" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "зависимый `%(label)s.%(type)s` объект" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "модель:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "зависимые `%(label)s.%(name)s` объекты" + +#: contrib/admin/views/doc.py:219 +msgid "all %s" +msgstr "все %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "количество %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Поля для %s объектов" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 msgid "Integer" msgstr "Целое" -#: contrib/admin/views/doc.py:278 +#: contrib/admin/views/doc.py:292 msgid "Boolean (Either True or False)" msgstr "Логическое (True или False)" -#: contrib/admin/views/doc.py:279 -#: contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 #, python-format msgid "String (up to %(maxlength)s)" msgstr "Строка (до %(maxlength)s символов)" -#: contrib/admin/views/doc.py:280 +#: contrib/admin/views/doc.py:294 msgid "Comma-separated integers" msgstr "Целые, разделенные запятыми" -#: contrib/admin/views/doc.py:281 +#: contrib/admin/views/doc.py:295 msgid "Date (without time)" msgstr "Дата (без указания времени)" -#: contrib/admin/views/doc.py:282 +#: contrib/admin/views/doc.py:296 msgid "Date (with time)" msgstr "Дата (с указанием времени)" -#: contrib/admin/views/doc.py:283 +#: contrib/admin/views/doc.py:297 msgid "E-mail address" msgstr "Адрес электронной почты" -#: contrib/admin/views/doc.py:284 -#: contrib/admin/views/doc.py:287 +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 msgid "File path" msgstr "Путь к файлу" -#: contrib/admin/views/doc.py:285 +#: contrib/admin/views/doc.py:300 msgid "Decimal number" msgstr "Десятичное число" -#: contrib/admin/views/doc.py:291 +#: contrib/admin/views/doc.py:306 msgid "Boolean (Either True, False or None)" msgstr "Логическое (True, False или None)" -#: contrib/admin/views/doc.py:292 +#: contrib/admin/views/doc.py:307 msgid "Relation to parent model" msgstr "Связь с родительской моделью" -#: contrib/admin/views/doc.py:293 +#: contrib/admin/views/doc.py:308 msgid "Phone number" msgstr "Номер телефона" -#: contrib/admin/views/doc.py:298 +#: contrib/admin/views/doc.py:313 msgid "Text" msgstr "Текст" -#: contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:314 msgid "Time" msgstr "Время" -#: contrib/admin/views/doc.py:300 -#: contrib/flatpages/models.py:7 +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 msgid "URL" msgstr "URL" -#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:316 msgid "U.S. state (two uppercase letters)" msgstr "Штат США (две заглавные буквы)" -#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:317 msgid "XML text" msgstr "Текст XML" +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s не похож на объект urlpattern" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Современно:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +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/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 @@ -642,9 +1532,12 @@ msgstr "Документация" #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:4 @@ -661,11 +1554,13 @@ msgid "Change password" msgstr "Изменение пароля" #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/base.html:28 -#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -676,7 +1571,7 @@ msgid "Home" msgstr "Начало" #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 msgid "History" msgstr "История" @@ -697,16 +1592,22 @@ 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 "Данный обьект не имеет истории изменений. Возможно, он был добавлен не через данный административный сайт." +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Данный обьект не имеет истории изменений. Возможно, он был добавлен не через " +"данный административный сайт." -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Административный сайт Django" +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Добавить %(name)s" -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Администрирование Django" +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " По %(filter_title)s " #: contrib/admin/templates/admin/500.html:4 msgid "Server error" @@ -721,8 +1622,56 @@ 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 "Произошла ошибка. Отчет об ошибке отправлен администраторам сайта по электронной почте, ошибка должна быть вскоре исправлена. Благодарим вас на терпение и помощь." +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/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/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] "1 результат" +msgstr[1] "%(counter)s результата" +msgstr[2] "%(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/pagination.html:10 +msgid "Show all" +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/filters.html:4 +msgid "Filter" +msgstr "Фильтр" #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 @@ -738,6 +1687,11 @@ msgstr "К сожалению, запрашиваемая вами страни msgid "Models available in the %(name)s application." msgstr "Модели доступны в приложении %(name)s." +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + #: contrib/admin/templates/admin/index.html:28 #: contrib/admin/templates/admin/change_form.html:15 msgid "Add" @@ -763,16 +1717,27 @@ msgstr "Мои действия" msgid "None available" msgstr "Недоступно" -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Добавить %(name)s" +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Смотреть сайт" -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "Вы забыли пароль?" +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Пожалуйста, исправьте ошибку ниже." +msgstr[1] "Пожалуйста, исправьте ошибки ниже." +msgstr[2] "Пожалуйста, исправьте ошибки ниже." -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Очерёдность" + +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Порядок:" + +#: contrib/admin/templates/admin/base.html:25 msgid "Welcome," msgstr "Добро пожаловать," @@ -782,59 +1747,29 @@ msgid "Delete" msgstr "Удалить" #: contrib/admin/templates/admin/delete_confirmation.html:14 -#, python-format -msgid "Deleting the %(object_name)s '%(object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" -msgstr "Удаление объекта %(object_name)s '%(object)s' привело бы к удалению связанных элементов, но предоставленных вам прав недостаточно для удаления следующих типов объектов:" +#, 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:21 -#, python-format -msgid "Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of the following related items will be deleted:" -msgstr "Вы уверены, что хотите удалить %(object_name)s \"%(object)s\"? Все следующие связанные объекты также будут удалены:" +#, 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:26 msgid "Yes, I'm sure" msgstr "Да, я уверен" -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(title)s " -msgstr " По %(title)s " - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Вперёд" - -#: contrib/admin/templates/admin/search_form.html:10 -#, python-format -msgid "1 result" -msgid_plural "%(counter)s results" -msgstr[0] "1 результат" -msgstr[1] "%(counter)s результата" -msgstr[2] "%(counter)s результатов" - -#: contrib/admin/templates/admin/search_form.html:10 -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s всего" - -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "Смотреть сайт" - -#: contrib/admin/templates/admin/change_form.html:30 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Пожалуйста, исправьте ошибку ниже." -msgstr[1] "Пожалуйста, исправьте ошибки ниже." -msgstr[2] "Пожалуйста, исправьте ошибки ниже." - -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Очерёдность" - -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Порядок:" - #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" msgstr "Сохранить как новое" @@ -851,6 +1786,38 @@ msgstr "Сохранить и продолжить редактирование" msgid "Save" msgstr "Сохранить" +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Введите новый пароль для пользователя %(username)s" + +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Пароль" + +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Пароль (еще раз)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Введите тот же пароль что и сверху, для верификации" + +#: 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/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admin/templates/registration/password_change_form.html:6 @@ -875,8 +1842,12 @@ msgid "Password reset" msgstr "Сброс пароля" #: contrib/admin/templates/registration/password_reset_form.html:12 -msgid "Forgotten your password? Enter your e-mail address below, and we'll reset your password and e-mail the new one to you." -msgstr "Забыли пароль? Введите свой адрес электронной почты ниже, мы очистим ваш старый пароль и вышлем вам по e-mail новый." +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll reset " +"your password and e-mail the new one to you." +msgstr "" +"Забыли пароль? Введите свой адрес электронной почты ниже, мы очистим ваш " +"старый пароль и вышлем вам по e-mail новый." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -900,12 +1871,20 @@ 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 "Мы отправили новый пароль по указанному вами адресу электронной почты. Вскоре вы его получите." +msgid "" +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." +msgstr "" +"Мы отправили новый пароль по указанному вами адресу электронной почты. " +"Вскоре вы его получите." #: contrib/admin/templates/registration/password_change_form.html:12 -msgid "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly." -msgstr "В целях безопасности, пожалуйста, введите свой старый пароль, затем - новый пароль дважды, с тем, чтобы мы могли убедиться в правильности написания." +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"В целях безопасности, пожалуйста, введите свой старый пароль, затем - новый " +"пароль дважды, с тем, чтобы мы могли убедиться в правильности написания." #: contrib/admin/templates/registration/password_change_form.html:17 msgid "Old password:" @@ -974,10 +1953,13 @@ msgid "" msgstr "" "\n" "

                                                                            Для установки закладок перетащите ссылку к себе на панель\n" -"закладок или щелкните правой кнопкой мыши по ссылке и добавьте ее в закладки. Теперь у вас есть возможность\n" -"выбрать закладку с любой страницы сайта. Обратите внимание: некоторые из этих\n" +"закладок или щелкните правой кнопкой мыши по ссылке и добавьте ее в " +"закладки. Теперь у вас есть возможность\n" +"выбрать закладку с любой страницы сайта. Обратите внимание: некоторые из " +"этих\n" "закладок требуют, чтобы вы просматривали сайт с компьютера, определенного\n" -"как \"внутренний\" (уточните у своего системного администратора, если не уверены, является ли\n" +"как \"внутренний\" (уточните у своего системного администратора, если не " +"уверены, является ли\n" "ваш компьютер \"внутренним\").

                                                                            \n" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 @@ -985,16 +1967,24 @@ msgid "Documentation for this page" msgstr "Документация по данной странице" #: contrib/admin/templates/admin_doc/bookmarklets.html:20 -msgid "Jumps you from any page to the documentation for the view that generates that page." -msgstr "Перенаправляет вас с любой страницы к документации view, который генерирует эту страницу." +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"Перенаправляет вас с любой страницы к документации view, который генерирует " +"эту страницу." #: contrib/admin/templates/admin_doc/bookmarklets.html:22 msgid "Show object ID" msgstr "Показать ID обьекта" #: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "Shows the content-type and unique ID for pages that represent a single object." -msgstr "Показывает тип наполнения и уникальный ID для страниц, представляющих один объект." +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Показывает тип наполнения и уникальный ID для страниц, представляющих один " +"объект." #: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Edit this object (current window)" @@ -1002,7 +1992,9 @@ msgstr "Редактировать данный обьект (в текущем #: contrib/admin/templates/admin_doc/bookmarklets.html:26 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "Перейдет на административную страницу для страниц, представляющих один объект." +msgstr "" +"Перейдет на административную страницу для страниц, представляющих один " +"объект." #: contrib/admin/templates/admin_doc/bookmarklets.html:28 msgid "Edit this object (new window)" @@ -1012,49 +2004,699 @@ msgstr "Редактировать данный обьект (в новом ок msgid "As above, but opens the admin page in a new window." msgstr "То же что и выше, но откроет административную страницу в новом окне." -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Дата:" +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "имя класса python модуля" -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Время:" +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "Тип содержимого" -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Современно:" +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "Типы содержимого" -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Изменить:" +#: contrib/auth/views.py:40 +msgid "Logged out" +msgstr "Не авторизован" -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "Перенаправить из" +#: contrib/auth/models.py:44 contrib/auth/models.py:64 +msgid "name" +msgstr "Имя" -#: contrib/redirects/models.py:8 -msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." -msgstr "Это должен быть абсолютный путь без доменного имени. Пример: '/events/search/'." +#: contrib/auth/models.py:46 +msgid "codename" +msgstr "Кодовое название" -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "Перенаправить на" +#: contrib/auth/models.py:49 +msgid "permission" +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/auth/models.py:50 contrib/auth/models.py:65 +msgid "permissions" +msgstr "Права" -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "Перенаправление" +#: contrib/auth/models.py:68 +msgid "group" +msgstr "Группа" -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "Перенаправления" +#: contrib/auth/models.py:69 contrib/auth/models.py:109 +msgid "groups" +msgstr "Группы" + +#: contrib/auth/models.py:99 +msgid "username" +msgstr "Имя пользователя" + +#: contrib/auth/models.py:99 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Необходимое поле. 30 символов или менее. Используйте только цифры, буквы " +"и нижнее подчеркивание." + +#: contrib/auth/models.py:100 +msgid "first name" +msgstr "Имя" + +#: contrib/auth/models.py:101 +msgid "last name" +msgstr "Фамилия" + +#: contrib/auth/models.py:102 +msgid "e-mail address" +msgstr "Адрес электронной почты" + +#: contrib/auth/models.py:103 +msgid "password" +msgstr "Пароль" + +#: contrib/auth/models.py:103 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Используйте '[algo]$[salt]$[hexdigest]' или change " +"форма смены пароля." + +#: contrib/auth/models.py:104 +msgid "staff status" +msgstr "Статус персонала" + +#: contrib/auth/models.py:104 +msgid "Designates whether the user can log into this admin site." +msgstr "Отметьте, если пользователь может входить в админ. часть сайта." + +#: contrib/auth/models.py:105 +msgid "active" +msgstr "Активный" + +#: contrib/auth/models.py:105 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Отметьте, если пользователь может входить в админ. часть сайта. Убирайте эту " +"отметку вместо удаления аккаунта." + +#: contrib/auth/models.py:106 +msgid "superuser status" +msgstr "Статус суперпользователя" + +#: contrib/auth/models.py:106 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "Указывает, что пользователь имеет все права без явного их назначения" + +#: contrib/auth/models.py:107 +msgid "last login" +msgstr "Последний вход" + +#: contrib/auth/models.py:108 +msgid "date joined" +msgstr "Дата регистрации" + +#: contrib/auth/models.py:110 +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:111 +msgid "user permissions" +msgstr "права пользователя" + +#: contrib/auth/models.py:115 +msgid "user" +msgstr "Пользователь" + +#: contrib/auth/models.py:116 +msgid "users" +msgstr "Пользователи" + +#: contrib/auth/models.py:122 +msgid "Personal info" +msgstr "Персональная информация" + +#: contrib/auth/models.py:123 +msgid "Permissions" +msgstr "Права" + +#: contrib/auth/models.py:124 +msgid "Important dates" +msgstr "Важные даты" + +#: contrib/auth/models.py:125 +msgid "Groups" +msgstr "Группы" + +#: contrib/auth/models.py:269 +msgid "message" +msgstr "Сообщение" + +#: contrib/auth/models.py:282 +msgid "AnonymousUser" +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 "У вашего браузера не включены cookies. Cookies необходимы для входа." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Это учетная запись не активна" + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Этот адрес электронной почты не связан ни с одной учетной записью. Вы уверены " +"что вы зарегистрированы?" + +#: 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/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "Укажите почтовый код. Необходим пробел между двумя частями почтового кода" + +#: contrib/localflavor/br/forms.py:18 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Введите Zip код в формате XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Телефонные номера должен быть в формате XX-XXXX-XXXX. " + +#: contrib/localflavor/br/forms.py:72 +msgid "This field requires only numbers." +msgstr "Это поле требует только числа." + +#: contrib/localflavor/br/forms.py:74 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Это поле требует 11 цифр или 14 символов." + +#: contrib/localflavor/br/forms.py:84 +msgid "Invalid CPF number." +msgstr "неправильный CPF номер" + +#: contrib/localflavor/br/forms.py:106 +msgid "This field requires at least 14 digits" +msgstr "Это поле требует не меньше 14 цифр." + +#: contrib/localflavor/br/forms.py:116 +msgid "Invalid CNPJ number." +msgstr "Неправильный CNPJ номер." + +#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/de/forms.py:16 +#: contrib/localflavor/fi/forms.py:14 +msgid "Enter a zip code in the format XXXXX." +msgstr "Укажите zip код в формате XXXXX." + +#: contrib/localflavor/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Укажите почтовый код в формате XXXXXXX или XXX-XXXX." + +#: 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 "Кагосима" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:50 +msgid "Okinawa" +msgstr "Окинава" + +#: contrib/localflavor/au/forms.py:18 +msgid "Enter a 4 digit post code." +msgstr "Укажите 4 цифровой почтовый код." + +#: contrib/localflavor/us/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +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 +#, fuzzy +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 +#, fuzzy +msgid "Hamburg" +msgstr "авг" + +#: contrib/localflavor/de/de_states.py:11 +#, fuzzy +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:60 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" + +#: contrib/localflavor/it/forms.py:16 +msgid "Enter a valid zip code." +msgstr "Укажите правильный zip код" + +#: contrib/localflavor/it/forms.py:41 +#, fuzzy +msgid "Enter a valid Social Security number." +msgstr "Укажите правильное имя файла." + +#: contrib/localflavor/it/forms.py:68 +#, fuzzy +msgid "Enter a valid VAT number." +msgstr "Укажите правильное имя файла." + +#: contrib/localflavor/no/forms.py:15 contrib/localflavor/ch/forms.py:18 +#, fuzzy +msgid "Enter a zip code in the format XXXX." +msgstr "Введите правильное время в формате HH:MM." + +#: contrib/localflavor/no/forms.py:36 +#, fuzzy +msgid "Enter a valid Norwegian social security number." +msgstr "Пожалуйста, введите корректное десятичное число." + +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +#, fuzzy +msgid "Enter a valid Finnish social security number." +msgstr "Укажите правильное имя файла." + +#: contrib/localflavor/is_/forms.py:16 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Укажите правильный исландский идентификатор. Формат XXXXXX-XXXX" + +#: contrib/localflavor/is_/forms.py:30 +msgid "The Icelandic identification number is not valid." +msgstr "Исландский идентификационный номер не правилен" + +#: contrib/localflavor/cl/forms.py:21 +msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "" + +#: contrib/localflavor/cl/forms.py:26 +#, fuzzy +msgid "Enter valid a Chilean RUT" +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 +#, fuzzy +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 +#, fuzzy +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 +#, fuzzy +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 +#, fuzzy +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 +#, fuzzy +msgid "Zug" +msgstr "авг" + +#: contrib/localflavor/ch/ch_states.py:30 +msgid "Zurich" +msgstr "" + +#: contrib/localflavor/ch/forms.py:90 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" + +#: contrib/sessions/models.py:68 +msgid "session key" +msgstr "Ключ сессии" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "Данные сессии" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "Дата окончания" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "Сессия" + +#: contrib/sessions/models.py:75 +msgid "sessions" +msgstr "Сессии" #: contrib/flatpages/models.py:8 -msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "Пример: '/about/contact/'. Будьте уверенны, что вставили завепршающий слэш." +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Пример: '/about/contact/'. Убедитесь что вставили завершающий слэш." #: contrib/flatpages/models.py:9 msgid "title" @@ -1073,8 +2715,12 @@ msgid "template name" msgstr "Имя шаблона" #: contrib/flatpages/models.py:13 -msgid "Example: 'flatpages/contact_page'. If this isn't provided, the system will use 'flatpages/default'." -msgstr "Пример: 'flatpages/contact_page'. Если этот файл не присутствует, система будет использовать 'flatpages/default'." +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Пример: 'flatpages/contact_page'. Если этот файл не присутствует, система " +"будет использовать 'flatpages/default.html'." #: contrib/flatpages/models.py:14 msgid "registration required" @@ -1092,181 +2738,6 @@ msgstr "Простая страница" msgid "flat pages" msgstr "Простые страницы" -#: contrib/auth/models.py:13 -#: contrib/auth/models.py:26 -msgid "name" -msgstr "Имя" - -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "Кодовое название" - -#: contrib/auth/models.py:17 -msgid "permission" -msgstr "Право" - -#: contrib/auth/models.py:18 -#: contrib/auth/models.py:27 -msgid "permissions" -msgstr "Права" - -#: contrib/auth/models.py:29 -msgid "group" -msgstr "Группа" - -#: contrib/auth/models.py:30 -#: contrib/auth/models.py:65 -msgid "groups" -msgstr "Группы" - -#: contrib/auth/models.py:55 -msgid "username" -msgstr "Имя пользователя" - -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "Имя" - -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "Фамилия" - -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "Адрес электронной почты" - -#: contrib/auth/models.py:59 -msgid "password" -msgstr "Пароль" - -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Используйте '[algo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "Статус персонала" - -#: contrib/auth/models.py:60 -msgid "Designates whether the user can log into this admin site." -msgstr "Отметьте, если пользователь может входить в админ. часть сайта." - -#: contrib/auth/models.py:61 -msgid "active" -msgstr "Активный" - -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "Статус суперпользователя" - -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "Последний вход" - -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "Дата регистрации" - -#: contrib/auth/models.py:66 -msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." -msgstr "В добавление к правам, присвоенным вручную, этот пользователь получит все права групп, к которым он принадлежит." - -#: contrib/auth/models.py:67 -msgid "user permissions" -msgstr "права пользователя" - -#: contrib/auth/models.py:70 -msgid "user" -msgstr "Пользователь" - -#: contrib/auth/models.py:71 -msgid "users" -msgstr "Пользователи" - -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "Персональная информация" - -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "Права" - -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "Важные даты" - -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Группы" - -#: contrib/auth/models.py:219 -msgid "message" -msgstr "Сообщение" - -#: contrib/auth/forms.py:30 -msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." -msgstr "У вашего браузера не включены cookies. Cookies необходимы для входа." - -#: contrib/contenttypes/models.py:25 -msgid "python model class name" -msgstr "имя класса python модуля" - -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "Тип содержимого" - -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "Типы содержимого" - -#: contrib/sessions/models.py:35 -msgid "session key" -msgstr "Ключ сессии" - -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "Данные сессии" - -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "Дата окончания" - -#: contrib/sessions/models.py:41 -msgid "session" -msgstr "Сессия" - -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "Сессии" - -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "Доменное имя" - -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "Выводимое имя" - -#: contrib/sites/models.py:15 -msgid "site" -msgstr "Сайт" - -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "Сайты" - -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "d.m.Y" - -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "d.m.Y H:i" - -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "H:i" - #: utils/dates.py:6 msgid "Monday" msgstr "Понедельник" @@ -1303,28 +2774,23 @@ msgstr "Январь" msgid "February" msgstr "Февраль" -#: utils/dates.py:14 -#: utils/dates.py:27 +#: utils/dates.py:14 utils/dates.py:27 msgid "March" msgstr "Март" -#: utils/dates.py:14 -#: utils/dates.py:27 +#: utils/dates.py:14 utils/dates.py:27 msgid "April" msgstr "Апрель" -#: utils/dates.py:14 -#: utils/dates.py:27 +#: utils/dates.py:14 utils/dates.py:27 msgid "May" msgstr "Май" -#: utils/dates.py:14 -#: utils/dates.py:27 +#: utils/dates.py:14 utils/dates.py:27 msgid "June" msgstr "Июнь" -#: utils/dates.py:15 -#: utils/dates.py:27 +#: utils/dates.py:15 utils/dates.py:27 msgid "July" msgstr "Июль" @@ -1466,441 +2932,94 @@ msgstr[0] "минута" msgstr[1] "минуты" msgstr[2] "минут" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "Бенгальский" - -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "Чешский" - -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "Уэльский" - -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "Датский" - -#: conf/global_settings.py:41 -msgid "German" -msgstr "Немецкий" - -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "Греческий" - -#: conf/global_settings.py:43 -msgid "English" -msgstr "Английский" - -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "Испанский" - -#: conf/global_settings.py:45 -msgid "French" -msgstr "Французский" - -#: conf/global_settings.py:46 -msgid "Galician" -msgstr "Галльский" - -#: conf/global_settings.py:47 -msgid "Hungarian" -msgstr "Венгерский" - -#: conf/global_settings.py:48 -msgid "Hebrew" -msgstr "Иврит" - -#: conf/global_settings.py:49 -msgid "Icelandic" -msgstr "Исландский" - -#: conf/global_settings.py:50 -msgid "Italian" -msgstr "Итальянский" - -#: conf/global_settings.py:51 -msgid "Japanese" -msgstr "Японский" - -#: conf/global_settings.py:52 -msgid "Dutch" -msgstr "Голландский" - -#: conf/global_settings.py:53 -msgid "Norwegian" -msgstr "Норвежский" - -#: conf/global_settings.py:54 -msgid "Brazilian" -msgstr "Бразильский" - -#: conf/global_settings.py:55 -msgid "Romanian" -msgstr "Румынский" - -#: conf/global_settings.py:56 -msgid "Russian" -msgstr "Русский" - -#: conf/global_settings.py:57 -msgid "Slovak" -msgstr "Словацкий" - -#: conf/global_settings.py:58 -msgid "Slovenian" -msgstr "Словенский" - -#: conf/global_settings.py:59 -msgid "Serbian" -msgstr "Сербский" - -#: conf/global_settings.py:60 -msgid "Swedish" -msgstr "Шведский" - -#: conf/global_settings.py:61 -msgid "Ukrainian" -msgstr "Украинский" - -#: conf/global_settings.py:62 -msgid "Simplified Chinese" -msgstr "Упрощенный китайский" - -#: conf/global_settings.py:63 -msgid "Traditional Chinese" -msgstr "Традиционный китайский" - -#: core/validators.py:60 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Значение должно состоять только из букв, цифр и знаков подчеркивания." - -#: core/validators.py:64 -msgid "This value must contain only letters, numbers, underscores, dashes or slashes." -msgstr "Значение должно состоять только из букв, цифр, знаков подчеркивания, тире или наклонной черты вправо." - -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "Заглавные буквы недопустимы." - -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "Строчные буквы здесь недопустимы." - -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Введите цифры, разделённые запятыми." - -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Введите правильные адреса электронной почты, разделённые запятыми." - -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Пожалуйста, введите правильный IP-адрес." - -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "Пустое значение здесь недопустимо." - -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "Нецифровые символы здесь недопустимы." - -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "Это значение не может быть составлено только из цифр." - -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Введите целое число." - -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Здесь разрешены только алфавитные символы." - -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Вводите правильную дату в формате YYYY-MM-DD." - -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Введите правильное время в формате HH:MM." - -#: core/validators.py:132 -#: db/models/fields/__init__.py:468 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Введите правильные дату/время в формате YYYY-MM-DD HH:MM." - -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "Укажите правильный адрес электронной почты." - -#: core/validators.py:148 -msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." -msgstr "Загрузите реальное изображение. Файл, который вы загрузили, не является изображением или был поврежден." - -#: core/validators.py:155 +#: utils/timesince.py:40 #, python-format -msgid "The URL %s does not point to a valid image." -msgstr "URL %s не указывает на реальное изображение." +msgid "%d milliseconds" +msgstr "%d милисекунд" -#: core/validators.py:159 +#: utils/timesince.py:41 #, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "Телефонные номера должен быть в формате XXX-XXX-XXXX. \"%s\" неверен." - -#: core/validators.py:167 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "URL %s не указывает на реальное видео QuickTime." - -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "Правильный URL обязателен." - -#: core/validators.py:185 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" +msgid "%(number)d %(type)s" msgstr "" -"Правильный HTML обязателен. Специфичные ошибки:\n" -"%s" -#: core/validators.py:192 +#: utils/timesince.py:47 #, python-format -msgid "Badly formed XML: %s" -msgstr "Неверный формат XML: %s" +msgid ", %(number)d %(type)s" +msgstr "" -#: core/validators.py:202 -#, python-format -msgid "Invalid URL: %s" -msgstr "Неверный URL: %s" +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "" -#: core/validators.py:206 -#: core/validators.py:208 -#, python-format -msgid "The URL %s is a broken link." -msgstr "URL %s - сломанная ссылка." +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "" -#: core/validators.py:214 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Введите правильную аббревиатуру штата США." +#: utils/dateformat.py:46 +msgid "PM" +msgstr "" -#: core/validators.py:229 -#, python-format -msgid "Watch your mouth! The word %s is not allowed here." -msgid_plural "Watch your mouth! The words %s are not allowed here." -msgstr[0] "Следите за своими словами! Слово %s здесь запрещено." -msgstr[1] "Следите за своими словами! Слова %s здесь запрещены." -msgstr[2] "Следите за своими словами! Слова %s здесь запрещены." +#: utils/dateformat.py:47 +msgid "AM" +msgstr "" -#: core/validators.py:236 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Это поле должно совпадать с полем '%s'." +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "полночь" -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "Пожалуйста, заполните хотя бы одно поле." +#: utils/dateformat.py:97 +msgid "noon" +msgstr "полдень" -#: core/validators.py:264 -#: core/validators.py:275 -msgid "Please enter both fields or leave them both empty." -msgstr "Пожалуйста, заполните оба поля или оставьте их оба пустыми." +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "d.m.Y" -#: core/validators.py:282 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "Это поле должно быть заполнено, если %(field)s равно %(value)s" +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "d.m.Y H:i" -#: core/validators.py:294 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "Это поле должно быть заполнено, если %(field)s не равно %(value)s" +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "H:i" -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "Двойные значения запрещены." +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "d.m.Y" -#: core/validators.py:336 -#, python-format -msgid "This value must be a power of %s." -msgstr "Это значение должно быть степенью %s." +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "d.m.Y" -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "Пожалуйста, введите корректное десятичное число." - -#: core/validators.py:349 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "Please enter a valid decimal number with at most %s total digits." -msgstr[0] "Пожалуйста, введите корректное десятичное число максимально с %s знаком." -msgstr[1] "Пожалуйста, введите корректное десятичное число максимально с %s знаками." -msgstr[2] "Пожалуйста, введите корректное десятичное число максимально с %s знаками." - -#: core/validators.py:352 -#, python-format -msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "Пожалуйста, введите корректное десятичное число максимально с %s знаком после запятой." -msgstr[1] "Пожалуйста, введите корректное десятичное число максимально с %s знаками после запятой." -msgstr[2] "Пожалуйста, введите корректное десятичное число максимально с %s знаками после запятой." - -#: core/validators.py:362 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Убедитесь, что загруженный файл не меньше %s байт." - -#: core/validators.py:363 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Убедитесь, что загруженный файл не больше %s байт." - -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "Формат этого поля неверен." - -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "Это поле неверно." - -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Невозможно получить ничего с %s." - -#: core/validators.py:429 -#, 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:462 -#, 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:466 -#, 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:471 -#, 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:476 -#, 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:480 -#, 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:485 -#, 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:302 -#, 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:40 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s с %(fieldname)s уже существует." - -#: db/models/fields/__init__.py:114 -#: db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 -#: db/models/fields/__init__.py:553 -#: forms/__init__.py:346 -msgid "This field is required." -msgstr "Обязательное поле." - -#: db/models/fields/__init__.py:337 -msgid "This value must be an integer." -msgstr "Это значение должно быть целым числом." - -#: db/models/fields/__init__.py:369 -msgid "This value must be either True or False." -msgstr "Значение должно либо True, либо False." - -#: db/models/fields/__init__.py:385 -msgid "This field cannot be null." -msgstr "Это поле не может быть нулевым." - -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Укажите правильное имя файла." - -#: db/models/fields/related.py:43 -#, python-format -msgid "Please enter a valid %s." -msgstr "Пожалуйста, введите правильный %s." - -#: db/models/fields/related.py:579 -msgid "Separate multiple IDs with commas." -msgstr "Несколько значений ID разделите запятыми." - -#: db/models/fields/related.py:581 -msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "Удерживайте \"Control\" (или \"Command\" на Mac) для выбора нескольких." - -#: db/models/fields/related.py:625 -#, python-format -msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr[0] "Пожалуйста, введите корректный ID для %(self)s. Значение %(value)r недопустимо." -msgstr[1] "Пожалуйста, введите корректные ID для %(self)s. Значения %(value)r недопустимы." -msgstr[2] "Пожалуйста, введите корректные ID для %(self)s. Значения %(value)r недопустимы." - -#: forms/__init__.py:380 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Убедитесь, что длина вашего текста меньше %s символа." -msgstr[1] "Убедитесь, что длина вашего текста меньше %s символов." -msgstr[2] "Убедитесь, что длина вашего текста меньше %s символов." - -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "Переносы строк здесь не допускаются." - -#: forms/__init__.py:480 -#: forms/__init__.py:551 -#: forms/__init__.py:589 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Выберите корректный вариант; '%(data)s' нет в %(choices)s." - -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "Указанный файл пуст." - -#: forms/__init__.py:699 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Введите целое число в диапазоне от -32768 до 32767." - -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "Введите положительное число." - -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Введите целое число в диапазоне от 0 до 32767." - -#: template/defaultfilters.py:379 +#: template/defaultfilters.py:491 msgid "yes,no,maybe" msgstr "да,нет,может быть" +#: template/defaultfilters.py:520 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d байт" +msgstr[1] "%(size)d байта" +msgstr[2] "%(size)d байт" + +#: template/defaultfilters.py:522 +#, python-format +msgid "%.1f KB" +msgstr "%.1f Кб" + +#: template/defaultfilters.py:524 +#, python-format +msgid "%.1f MB" +msgstr "%.1f Мб" + +#: template/defaultfilters.py:525 +#, python-format +msgid "%.1f GB" +msgstr "%.1f Гб" + +#~ msgid "Have you forgotten your password?" +#~ msgstr "Вы забыли пароль?" + +#~ msgid "Use '[algo]$[salt]$[hexdigest]'" +#~ msgstr "Используйте '[algo]$[salt]$[hexdigest]'" diff --git a/django/conf/locale/sk/LC_MESSAGES/django.mo b/django/conf/locale/sk/LC_MESSAGES/django.mo index c6ac1c961204bf93272e5afb021221df6134bd04..2789e1518f4d91b8081e42c596a5cfcba77ebef0 100644 GIT binary patch literal 41205 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 literal 32375 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 diff --git a/django/conf/locale/sk/LC_MESSAGES/django.po b/django/conf/locale/sk/LC_MESSAGES/django.po index 4e1dba2a49..f1a3cd77a2 100644 --- a/django/conf/locale/sk/LC_MESSAGES/django.po +++ b/django/conf/locale/sk/LC_MESSAGES/django.po @@ -1,200 +1,746 @@ -# Translation of django.po to. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Vladimir Labath , 2005. -# -#, fuzzy +# +# +# msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-27 07:31-0400\n" -"PO-Revision-Date: 2005-11-10 23:22-0500\n" -"Last-Translator: Vladimir Labath \n" -"Language-Team: Slovak \n" +"POT-Creation-Date: 2007-03-31 14:02+0200\n" +"PO-Revision-Date: 2007-04-03 21:49+0200\n" +"Last-Translator: <>\n" +"Language-Team: Slovak\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit" -#: contrib/contenttypes/models.py:25 -msgid "python model class name" -msgstr "pythonové meno triedy modelu" +#: oldforms/__init__.py:357 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/models.py:178 +#: newforms/fields.py:78 newforms/fields.py:374 newforms/fields.py:450 +#: newforms/fields.py:461 +msgid "This field is required." +msgstr "Toto pole je povinné." -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "typ obsahu" +#: oldforms/__init__.py:392 +#, python-format +msgid "Ensure your text is less than %s character." +msgstr "Uisite sa, že text je kratší ako %s znakov." -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "typy obsahu" +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "Zalomenia riadkov nie sú povolené." -#: contrib/auth/models.py:13 contrib/auth/models.py:26 -msgid "name" -msgstr "meno" +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Vyberte platnú možnosť; '%(data)s' nie je v %(choices)s." -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "codename" +#: oldforms/__init__.py:577 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Neznámy" -#: contrib/auth/models.py:17 -msgid "permission" -msgstr "povolenie" +#: oldforms/__init__.py:577 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "Áno" -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -msgid "permissions" -msgstr "povolenia" +#: oldforms/__init__.py:577 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "Nie" -#: contrib/auth/models.py:29 -msgid "group" -msgstr "skupina" +#: oldforms/__init__.py:672 core/validators.py:174 core/validators.py:445 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Súbor nebol odoslaný. Skontrolujte atribút 'enctype' encoding vo formulári." -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -msgid "groups" -msgstr "skupiny" +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "Odoslaný súbor je prázdný." -#: contrib/auth/models.py:55 -msgid "username" -msgstr "užívateľské meno" +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Zadajte celé číslo s hodnotou medzi -32768 a 32767." -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "krstné meno" +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "Zadajte celé kladné číslo." -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "priezvisko" +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Zadajte celé číslo s hodnotou medzi 0 a 32767." -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "e-mailová adresa" +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s s %(type)s už existuje pre prvok %(field)s." -#: contrib/auth/models.py:59 -msgid "password" -msgstr "heslo" +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "a" -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Použi '[algo]$[salt]$[hexdigest]'" +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s s %(fieldname)s už existuje." -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "štatút zamestnanca" +#: db/models/fields/__init__.py:367 +msgid "This value must be an integer." +msgstr "Táto hodnota musí byť celé číslo." -#: contrib/auth/models.py:60 -msgid "Designates whether the user can log into this admin site." -msgstr "Označenie, ak užívateľ má oprávnenie vstúpiť ako administrátor." +#: db/models/fields/__init__.py:402 +msgid "This value must be either True or False." +msgstr "Táto hodnota musí byť True alebo False." -#: contrib/auth/models.py:61 -msgid "active" -msgstr "aktívny" +#: db/models/fields/__init__.py:423 +msgid "This field cannot be null." +msgstr "Toto pole nemôže obsahovať null." -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "štatút superužívateľa" +#: db/models/fields/__init__.py:457 core/validators.py:148 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Zadajte platný dátum vo formáte RRRR-MM-DD." -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "posledné prihlásenie" +#: db/models/fields/__init__.py:526 core/validators.py:157 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Zadajte platný dátum a čas vo formáte RRRR-MM-DD HH:MM." -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "dátum registrácie" +#: db/models/fields/__init__.py:630 +msgid "Enter a valid filename." +msgstr "Zadajte platný názov súboru." -#: contrib/auth/models.py:66 +#: db/models/fields/__init__.py:751 +msgid "This value must be either None, True or False." +msgstr "Táto hodnota musí byť None, True alebo False." + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Prosím, zadajte platné %s." + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Oddeľte viacnásobné ID čiarkami." + +#: db/models/fields/related.py:644 msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"Okrem ručne vložených povolení, tento uživateľ dostane všetky povolenia " -"skupin, v ktorých sa nachádza." +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Ak chcete vybrať viacero možností, podržte \"Control\" alebo \"Command\" na Mac-u." -#: contrib/auth/models.py:67 -msgid "user permissions" -msgstr "pridelené povolenia" +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr "Prosím, vložte platné %(self)s ID-čka. Hodnota %(value)r je neplatná." +"Prosím, vložte platné %(self)s ID-čka. Hodnoty %(value)r sú neplatné." -#: contrib/auth/models.py:70 -msgid "user" -msgstr "uživateľ" +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabsky" -#: contrib/auth/models.py:71 -msgid "users" -msgstr "užívatelia" +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengálsky" -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "Osobné údaje" +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Katalánsky" -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "Povolenia" +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Česky" -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "Dôležité údaje" +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Welšsky" -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Skupiny" +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Dánsky" -#: contrib/auth/models.py:219 -msgid "message" -msgstr "zpráva" +#: conf/global_settings.py:45 +msgid "German" +msgstr "Nemecky" -#: contrib/auth/forms.py:30 +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Grécky" + +#: conf/global_settings.py:47 +msgid "English" +msgstr "Anglicky" + +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Španielsky" + +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Argentínska španielčina" + +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Fínsky" + +#: conf/global_settings.py:51 +msgid "French" +msgstr "Francúzsky" + +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Galicijsky" + +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Maďarsky" + +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Hebrejsky" + +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Islandsky" + +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Taliansky" + +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Japonsky" + +#: conf/global_settings.py:58 +msgid "Kannada" +msgstr "Kannada" + +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "Lotyšsky" + +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "Mecedónsky" + +#: conf/global_settings.py:61 +msgid "Dutch" +msgstr "Holandsky" + +#: conf/global_settings.py:62 +msgid "Norwegian" +msgstr "Nórsky" + +#: conf/global_settings.py:63 +msgid "Polish" +msgstr "Poľsky" + +#: conf/global_settings.py:64 +msgid "Portugese" +msgstr "Portugalsky" + +#: conf/global_settings.py:65 +msgid "Brazilian" +msgstr "Brazílsky" + +#: conf/global_settings.py:66 +msgid "Romanian" +msgstr "Rumunsky" + +#: conf/global_settings.py:67 +msgid "Russian" +msgstr "Rusky" + +#: conf/global_settings.py:68 +msgid "Slovak" +msgstr "Slovensky" + +#: conf/global_settings.py:69 +msgid "Slovenian" +msgstr "Slovinsky" + +#: conf/global_settings.py:70 +msgid "Serbian" +msgstr "Srbsky" + +#: conf/global_settings.py:71 +msgid "Swedish" +msgstr "Švédsky" + +#: conf/global_settings.py:72 +msgid "Tamil" +msgstr "Tamilsky" + +#: conf/global_settings.py:73 +msgid "Telugu" +msgstr "Telugu" + +#: conf/global_settings.py:74 +msgid "Turkish" +msgstr "Turecky" + +#: conf/global_settings.py:75 +msgid "Ukrainian" +msgstr "Ukrajinsky" + +#: conf/global_settings.py:76 +msgid "Simplified Chinese" +msgstr "Čínsky (zjednodušene)" + +#: conf/global_settings.py:77 +msgid "Traditional Chinese" +msgstr "Čínsky (tradične)" + +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Táto hodnota môže obsahovať len písmená, číslice a podčiarkovníky." + +#: core/validators.py:68 msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" -"Vyzerá, že tvoj web prehliadač nedovoľuje prístup ku cookies. Cookies sú " -"nevýhnutné aby si sa mohol prihlásiť." +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "Táto hodnota môže obsahovať len písmena, číslice, podčiarkovniky, pomlčky a lomítka." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:41 -#: contrib/admin/views/decorators.py:9 +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Táto hodnota môže obsahovať len písmená, číslice, počiarkovníky a pomlčky." + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Veľké písmená nie sú povolené." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Malé písmena nie sú povolené." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Zadávajte len číslice oddelené čiarkami." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Zadajte platné e-mailové adresy oddelené čiarkami." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Prosím, zadajte platnú IP adresu." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "Prázdne hodnoty tu nie sú povolené." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Iné ako numerické znaky tu nie sú povolené." + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Táto hodnota nemôže byť čisto numerická." + +#: core/validators.py:120 newforms/fields.py:126 +msgid "Enter a whole number." +msgstr "Zadajte celé číslo." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Tu sú povolené len alfanumerické znaky." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "Rok musí byť 1900 alebo neskôr." + +#: core/validators.py:143 +#, python-format +msgid "Invalid date: %s" +msgstr "Neplatný dátum: %s" + +#: core/validators.py:153 +msgid "Enter a valid time in HH:MM format." +msgstr "Zadajte platný čas vo formáte HH:MM." + +#: core/validators.py:162 newforms/fields.py:269 +msgid "Enter a valid e-mail address." +msgstr "Zadajte platnú e-mailovú adresu." + +#: core/validators.py:178 msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" -"Prosím, vlož spávne meno užvateľa ako aj heslo. Pripomínam, že obe polia " -"rozlišujú malé a veľké písmena" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "Nahrajte platný obrázok. Súbor, ktorý ste odoslali nebol obrázkový formát alebo bol poškodený." + +#: core/validators.py:185 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "URL %s neodkazuje na platný obrázok." + +#: core/validators.py:189 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "Telefónne číslo musí mať formát XXX-XXX-XXXX. Číslo \"%s\" je neplatné." + +#: core/validators.py:197 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "URL %s neodkazuje na platné QuickTime video." + +#: core/validators.py:201 +msgid "A valid URL is required." +msgstr "Je požadovaná platná adresa URL." + +#: core/validators.py:215 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "HTML kód musí zodpovedať špecifikácii. Zistené chyby sú:\n" +"%s" + +#: core/validators.py:222 +#, python-format +msgid "Badly formed XML: %s" +msgstr "Chybné XML nezodpovedajúce definícii: %s" + +#: core/validators.py:239 +#, python-format +msgid "Invalid URL: %s" +msgstr "Neplatná adresa URL: %s" + +#: core/validators.py:244 core/validators.py:246 +#, python-format +msgid "The URL %s is a broken link." +msgstr "Odkaz na URL %s je neplatný." + +#: core/validators.py:252 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Zadajte platnú skratku štátu USA." + +#: core/validators.py:266 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgstr "Vyjadrujte sa slušne! Slovo %s tu nie je dovolené použivať." + +#: core/validators.py:273 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Toto pole sa musí zhodovať s poľom '%s'. " + +#: core/validators.py:292 +msgid "Please enter something for at least one field." +msgstr "Prosím, vyplňte aspoň jedno pole." + +#: core/validators.py:301 core/validators.py:312 +msgid "Please enter both fields or leave them both empty." +msgstr "Prosím, vyplňte buď obidve polia, alebo ich nechajte prázdne." + +#: core/validators.py:320 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Toto pole musí byť vyplnené ak, %(field)s je %(value)s" + +#: core/validators.py:333 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Toto pole musí byť vyplnené, ak %(field)s nie je %(value)s" + +#: core/validators.py:352 +msgid "Duplicate values are not allowed." +msgstr "Duplicitné hodnoty nie sú povolené." + +#: core/validators.py:367 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Táto hodnota musí byť medzi %(lower)s a %(upper)s." + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "Táto hodnota musí byť prinajmenšom %s." + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "Táto hodnota musí byť väčšia ako %s." + +#: core/validators.py:407 +#, python-format +msgid "This value must be a power of %s." +msgstr "Táto hodnota musí byť mocninou %s." + +#: core/validators.py:418 +msgid "Please enter a valid decimal number." +msgstr "Prosím, vložte platné desatinné číslo. " + +#: core/validators.py:422 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +"Please enter a valid decimal number with at most %s total digits." +msgstr "Prosím vlož platné desatinné číslo s najviac %s číslicou." +"Prosím vlož platné desatinné číslo s najviac %s číslicami." + +#: core/validators.py:425 +#, python-format +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr "Prosím, zadajte platné desatinné číslo s najviac %s číslicou pred desatinnou čiarkou." +"Prosím, zadajte platné desatinné číslo s najviac %s číslicami pred desatinnou čiarkou." + +#: core/validators.py:428 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +"Please enter a valid decimal number with at most %s decimal places." +msgstr "Prosím, zadajte platné desatinné číslo s najviac %s desatinným miestom." +"Prosím, zadajte platné desatinné číslo s najviac %s desatinnými miestami." + +#: core/validators.py:438 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Uistite sa, že posielaný súbor nemá menej ako %s bajtov." + +#: core/validators.py:439 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Uistite sa, že posielaný súbor nemá viac ako %s bajtov." + +#: core/validators.py:456 +msgid "The format for this field is wrong." +msgstr "Formát pre toto pole je chybný." + +#: core/validators.py:471 +msgid "This field is invalid." +msgstr "Toto pole nie je platné." + +#: core/validators.py:507 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Z %s nič neprišlo." + +#: core/validators.py:510 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "Adresa URL %(url)s vrátila v hlavičke neplatný Content-Type '%(contenttype)s'." + +#: core/validators.py:543 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "Prosím, uzatvorte tag %(tag)s na riadku %(line)s. (Riadok začína " +"s \"%(start)s\".)" + +#: core/validators.py:547 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "Text začínajúci na riadku %(line)s nie je povolený v tomto kontexte. (Riadok začína s \"%(start)s\".)" + +#: core/validators.py:552 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "\"%(attr)s\" na riadku %(line)s je neplatný atribút. (Riadok začína s \"%" +"(start)s\".)" + +#: core/validators.py:557 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "\"<%(tag)s>\" na riadku %(line)s je neplatný tag. (Riadok začína s \"%" +"(start)s\".)" + +#: core/validators.py:561 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "V tagu na riadku %(line)s chýba jeden alebo viac atribútov. (Riadok " +"začína s \"%(start)s\".)" + +#: core/validators.py:566 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "Atribút \"%(attr)s\" na riadku %(line)s má neplatnú hodnotu. (Riadok začína " +"s \"%(start)s\".)" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "Objekt %(verbose_name)s bol úspešne vytvorený." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "Objekt %(verbose_name)s bol úspešne zmenený." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "Objekt %(verbose_name)s bol zmazaný." + +#: newforms/models.py:165 newforms/fields.py:360 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Vyberte platnú možnosť. Vybraná položka nepatrí medzi platné možnosti." + +#: newforms/models.py:182 newforms/fields.py:378 newforms/fields.py:454 +msgid "Enter a list of values." +msgstr "Vložte zoznam hodnôt." + +#: newforms/models.py:188 newforms/fields.py:387 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Vyberte platnú možnost. %s nepatrí medzi dostupné možnosti." + +#: newforms/fields.py:101 newforms/fields.py:254 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Uistite sa, že hodnota má najviac %d znakov." + +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Uistite sa, že zadaná hodnota má menej ako %d znakov." + +#: newforms/fields.py:128 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Uistite sa, že táto hodnota je menšia alebo rovná %s." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Uistite sa, že hodnota je väčšia alebo rovná %s." + +#: newforms/fields.py:163 +msgid "Enter a valid date." +msgstr "Zadajte platný dátum." + +#: newforms/fields.py:190 +msgid "Enter a valid time." +msgstr "Zadajte platný čas." + +#: newforms/fields.py:226 +msgid "Enter a valid date/time." +msgstr "Zadajte platný dátum a čas." + +#: newforms/fields.py:240 +msgid "Enter a valid value." +msgstr "Zadajte platnú hodnotu." + +#: newforms/fields.py:287 newforms/fields.py:309 +msgid "Enter a valid URL." +msgstr "Zadajte platnú adresu URL." + +#: newforms/fields.py:311 +msgid "This URL appears to be a broken link." +msgstr "Odkaz na URL neexistuje." + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "th" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" +msgstr "st" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" +msgstr "nd" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "rd" + +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgstr "%(value).1f milión" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgstr "%(value).1f miliarda" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgstr "%(value).1f bilión" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "jeden" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "dva" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "tri" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "štyri" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "päť" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "šesť" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "sedem" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "osem" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "deväť" #: contrib/redirects/models.py:7 msgid "redirect from" -msgstr "presmerovaný z" +msgstr "presmerovať z" #: contrib/redirects/models.py:8 msgid "" "This should be an absolute path, excluding the domain name. Example: '/" "events/search/'." -msgstr "" -"Tu by sa mala použiť absolútna cesta, bez domény. Napr.: '/events/search/'." +msgstr "Tu by sa mala použiť absolútna cesta bez názvu domény. Napríklad: '/events/search/'." #: contrib/redirects/models.py:9 msgid "redirect to" -msgstr "presmerovaný na " +msgstr "presmerovať na " #: contrib/redirects/models.py:10 msgid "" "This can be either an absolute path (as above) or a full URL starting with " "'http://'." -msgstr "" -"Tu môže byť buď absolútna cesta (ako hore) alebo plné URL začínajúce s " -"'http://'." +msgstr "Tu môže byť buď absolútna cesta (ako je uvedené vyššie) alebo úplná adresa URL začínajúca s 'http://'." -#: contrib/redirects/models.py:12 +#: contrib/redirects/models.py:13 msgid "redirect" msgstr "presmerovanie" -#: contrib/redirects/models.py:13 +#: contrib/redirects/models.py:14 msgid "redirects" msgstr "presmerovania" #: contrib/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" -msgstr "objekt ID" +msgstr "ID objektu" #: contrib/comments/models.py:68 msgid "headline" -msgstr "titulok" +msgstr "nadpis" #: contrib/comments/models.py:69 contrib/comments/models.py:90 #: contrib/comments/models.py:167 @@ -239,13 +785,13 @@ msgstr "je platné hodnotenie" #: contrib/comments/models.py:83 contrib/comments/models.py:169 msgid "date/time submitted" -msgstr "dátum/čas poslania" +msgstr "dátum a čas odoslania" #: contrib/comments/models.py:84 contrib/comments/models.py:170 msgid "is public" -msgstr "je zveréjnený" +msgstr "je verejný" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:292 +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 msgid "IP address" msgstr "IP adresa" @@ -257,9 +803,7 @@ msgstr "je vymazaný" msgid "" "Check this box if the comment is inappropriate. A \"This comment has been " "removed\" message will be displayed instead." -msgstr "" -"Ak je tento komentár nevhodný, tu ho poznač. \"Tento komentár bol vymazaný" -"\" táto správa sa objaví namiesto neho." +msgstr "Zaškrtnite toto pole, ak je komentár nevhodný. Správa \"Tento komenár bol zmazaný\" sa bude zobrazovať namiesto neho." #: contrib/comments/models.py:91 msgid "comments" @@ -278,7 +822,7 @@ msgid "" "\n" "http://%(domain)s%(url)s" msgstr "" -"Od %(user)s dňa %(date)s\n" +"Pridaný užívateľom %(user)s dňa %(date)s\n" "\n" "%(comment)s\n" "\n" @@ -286,7 +830,7 @@ msgstr "" #: contrib/comments/models.py:168 msgid "person's name" -msgstr "osobné meno" +msgstr "meno osoby" #: contrib/comments/models.py:171 msgid "ip address" @@ -306,24 +850,24 @@ msgstr "voľné komentáre" #: contrib/comments/models.py:233 msgid "score" -msgstr "stav" +msgstr "stav skóre" #: contrib/comments/models.py:234 msgid "score date" -msgstr "údaje stavu" +msgstr "dátum stavu skóre" #: contrib/comments/models.py:237 msgid "karma score" -msgstr "karma údaj" +msgstr "karma" #: contrib/comments/models.py:238 msgid "karma scores" -msgstr "karma údaje" +msgstr "karma" #: contrib/comments/models.py:242 #, python-format msgid "%(score)d rating by %(user)s" -msgstr "%(score)d hodnotiteľ %(user)s" +msgstr "%(score)d od hodnotiteľa %(user)s" #: contrib/comments/models.py:258 #, python-format @@ -331,22 +875,21 @@ msgid "" "This comment was flagged by %(user)s:\n" "\n" "%(text)s" -msgstr "" -"Tento komentár bol označený užívateľom %(user)s:\n" +msgstr "Tento komentár bol označený užívateľom %(user)s:\n" "\n" "%(text)s" #: contrib/comments/models.py:265 msgid "flag date" -msgstr "dátumové návestie" +msgstr "dátumové príznak" #: contrib/comments/models.py:268 msgid "user flag" -msgstr "návestie uživateľa" +msgstr "uživateľský príznak" #: contrib/comments/models.py:269 msgid "user flags" -msgstr "návestia užívateľa" +msgstr "užívateľské príznaky" #: contrib/comments/models.py:273 #, python-format @@ -355,20 +898,20 @@ msgstr " %r návestie" #: contrib/comments/models.py:278 msgid "deletion date" -msgstr "odstránené dátumy" +msgstr "dátum zmazania" #: contrib/comments/models.py:280 msgid "moderator deletion" -msgstr "moderátor odstránenia" +msgstr "zmazania moderátorom" #: contrib/comments/models.py:281 msgid "moderator deletions" -msgstr "moderátor odstránení" +msgstr "Zmazané moderátorom" #: contrib/comments/models.py:285 #, python-format msgid "Moderator deletion by %r" -msgstr "Moderátor odstránenia %r" +msgstr "Zmazanané moderátorom %r" #: contrib/comments/views/karma.py:19 msgid "Anonymous users cannot vote" @@ -380,89 +923,71 @@ msgstr "Chybné ID komentára" #: contrib/comments/views/karma.py:25 msgid "No voting for yourself" -msgstr "Nemôžeš hlasovať za seba" +msgstr "Nemôžete hlasovať za samého seba" -#: contrib/comments/views/comments.py:28 +#: contrib/comments/views/comments.py:27 msgid "" "This rating is required because you've entered at least one other rating." msgstr "Toto hlasovanie je nevyhnutné, lebo súvisí s predchádzjúcou voľbou." -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, python-format msgid "" "This comment was posted by a user who has posted fewer than %(count)s " "comment:\n" "\n" "%(text)s" -msgid_plural "" "This comment was posted by a user who has posted fewer than %(count)s " "comments:\n" "\n" "%(text)s" -msgstr[0] "" -"Tento komentár je od užívateľa, ktorý doteraz poslal minimálne %(count)s " +msgstr "" +"Tento komentár je od užívateľa, ktorý doteraz poslal menej ako %(count)s " "komentár:\n" "\n" "%(text)s" -msgstr[1] "" -"Tento komentár je od užívateľa, ktorý doteraz poslal najmenej %(count)s " +"Tento komentár je od užívateľa, ktorý doteraz poslal menej ako %(count)s " "komentárov:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:117 +#: contrib/comments/views/comments.py:116 #, python-format msgid "" "This comment was posted by a sketchy user:\n" "\n" "%(text)s" -msgstr "" -"Tento komentár je od veľmi náznakového užívateľa:\n" +msgstr "Tento komentár je od užívateľa, ktorý sa rád vyjadruje v náznakoch:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" msgstr "Dovolené sú len POST" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" msgstr "Jedno alebo viac povinných polí nebolo vložených" -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" -msgstr "Niekto skúšal manipulovať s formulárom komentára (porušená bezpečnosť)" +msgstr "Niekto sa pokúšal manipulovať s formulárom komentára (porušenie bezpečnosti)" -#: contrib/comments/views/comments.py:207 +#: contrib/comments/views/comments.py:206 #: contrib/comments/views/comments.py:292 msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " "invalid" msgstr "" -"Formulár komentára ma chybný 'cieľový' parameter -- the objekt ID bol " -"poškodený" +"Formulár komentára ma chybný 'target' parameter -- ID objektu je neplatné" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "Formulár komentára neposkytuje odpoveď buď 'prezri' alebo 'pošli'" - -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "Tvoje meno:" - -#: contrib/comments/templates/comments/freeform.html:5 -#: contrib/comments/templates/comments/form.html:27 -msgid "Comment:" -msgstr "Komentár:" - -#: contrib/comments/templates/comments/freeform.html:9 -#: contrib/comments/templates/comments/form.html:32 -msgid "Preview comment" -msgstr "Pozri komentár" +msgstr "Formulár komentára neobsahuje ani jednu z možností 'náhľad' alebo 'odoslať'." #: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 @@ -471,35 +996,36 @@ msgid "Username:" msgstr "Meno:" #: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Heslo:" - -#: contrib/comments/templates/comments/form.html:6 -msgid "Forgotten your password?" -msgstr "Zabudol si svoje heslo?" - -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/base.html:23 #: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: 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/missing_docutils.html:4 #: contrib/admin/templates/admin_doc/view_index.html:5 #: contrib/admin/templates/admin_doc/model_detail.html:3 #: contrib/admin/templates/admin_doc/index.html:4 #: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 msgid "Log out" msgstr "Odhlásenie" +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Heslo:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Zabudli ste heslo?" + #: contrib/comments/templates/comments/form.html:12 msgid "Ratings" msgstr "Hodnotenia" @@ -512,87 +1038,29 @@ msgstr "Požadované" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 msgid "Optional" -msgstr "Voliteľné" +msgstr "Nepovinné" #: contrib/comments/templates/comments/form.html:23 msgid "Post a photo" msgstr "Pošli foto" -#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:303 -msgid "URL" -msgstr "URL" +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "Komentár:" -#: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "" -"Príklad: '/about/contact/'. Uisti sa, že máš vložené ako úvodné tak aj " -"záverečné lomítka." +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "Náhľad komentára" -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "názov" - -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "obsah" - -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "povolené komentáre" - -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "meno predlohy" - -#: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." -msgstr "" -"Príklad: 'flatpages/contact_page'. Ak sa toto nevykonalo, systém použije " -"'flatpages/default'." - -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "musíte byť zaregistrovaný" - -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "" -"Ak je toto označené, potom len prihlásený užívateľ môže vidieť túto stránku." - -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "plochá stránka" - -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "ploché stránky" - -#: contrib/sessions/models.py:35 -msgid "session key" -msgstr "kľúč sedenia" - -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "údaje sedenia" - -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "dátum konca platnosti" - -#: contrib/sessions/models.py:41 -msgid "session" -msgstr "sedenie" - -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "sedenia" +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Tvoje meno:" #: contrib/sites/models.py:10 msgid "domain name" -msgstr "meno domény" +msgstr "názov domény" #: contrib/sites/models.py:11 msgid "display name" @@ -616,7 +1084,7 @@ msgstr "" "
                                                                              \n" #: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 msgid "All" msgstr "Všetko" @@ -640,25 +1108,13 @@ msgstr "Tento mesiac" msgid "This year" msgstr "Tento rok" -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "Áno" - -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "Nie" - -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Neznámy" - #: contrib/admin/models.py:16 msgid "action time" msgstr "čas udalosti" #: contrib/admin/models.py:19 msgid "object id" -msgstr "objekt id" +msgstr "id objektu" #: contrib/admin/models.py:20 msgid "object repr" @@ -666,11 +1122,11 @@ msgstr "objekt repr" #: contrib/admin/models.py:21 msgid "action flag" -msgstr "návestie udalosti" +msgstr "príznak udalosti" #: contrib/admin/models.py:22 msgid "change message" -msgstr "zmeň zprávu" +msgstr "zmeniť zprávu" #: contrib/admin/models.py:25 msgid "log entry" @@ -680,93 +1136,72 @@ msgstr "záznam priebehu" msgid "log entries" msgstr "záznamy priebehu" -#: contrib/admin/templatetags/admin_list.py:228 +#: contrib/admin/templatetags/admin_list.py:247 msgid "All dates" msgstr "Všetky dátumy" -#: contrib/admin/views/decorators.py:23 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "Prihlásenie" - -#: contrib/admin/views/decorators.py:61 -msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." -msgstr "" -"Prosím prihlas sa znovu, lebo čas tvojho sedenia vypršal. Nemaj obavy: tvoje " -"údaje su uchované." - -#: contrib/admin/views/decorators.py:68 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "" -"Vyzerá, že tvoj prehliadač nemá povolené cookies. Prosím, povoľ cookies, " -"znovu načítaj túto stránku a skús činnosť znovu." - -#: contrib/admin/views/decorators.py:82 -msgid "Usernames cannot contain the '@' character." -msgstr "Meno užívateľa nemože obsahovať znak '@' ." - -#: contrib/admin/views/decorators.py:84 -#, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "Tvoja e-mailova adresa nie je tvoje užívateľské meno. Skús '%s'." - -#: contrib/admin/views/main.py:226 -msgid "Site administration" -msgstr "Administrácia webu" - -#: contrib/admin/views/main.py:260 +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "Objekt %(name)s \"%(obj)s\" bol úspešne pridaný." -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 msgid "You may edit it again below." -msgstr "Môžeš urobiť zmeny zase nižšie." +msgstr "Môžete pokračovať v zmenách." -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Pridať užívateľa" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Heslo bolo úspešne zmenené." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Zmeniť heslo: %s" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Administrácia" + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 #, python-format msgid "You may add another %s below." -msgstr "Môžeš pridať ďalší %s nižšie." +msgstr "Môžete pokračovať v pridávaní ďaľších %s." -#: contrib/admin/views/main.py:290 +#: contrib/admin/views/main.py:289 #, python-format msgid "Add %s" msgstr "Pridaj %s" -#: contrib/admin/views/main.py:336 +#: contrib/admin/views/main.py:335 #, python-format msgid "Added %s." msgstr "Bol pridaný %s." -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 -msgid "and" -msgstr "a" - -#: contrib/admin/views/main.py:338 +#: contrib/admin/views/main.py:337 #, python-format msgid "Changed %s." msgstr "Bol zmenený %s" -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:339 #, python-format msgid "Deleted %s." msgstr "Bol vymazaný %s." -#: contrib/admin/views/main.py:343 +#: contrib/admin/views/main.py:342 msgid "No fields changed." msgstr "Polia neboli zmenené." -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:345 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "Objekt %(name)s \"%(obj)s\" boli úspešne zmenený." -#: contrib/admin/views/main.py:354 +#: contrib/admin/views/main.py:353 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." @@ -774,120 +1209,221 @@ msgstr "" "Objekt %(name)s \"%(obj)s\" bol úspešne zmenený. Ďalšie zmeny môžeš urobiť " "zase nižšie." -#: contrib/admin/views/main.py:392 +#: contrib/admin/views/main.py:391 #, python-format msgid "Change %s" -msgstr "Zmeň %s" +msgstr "Zmeniť %s" -#: contrib/admin/views/main.py:470 +#: contrib/admin/views/main.py:476 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "Jeden alebo viac %(fieldname)s v %(name)s: %(obj)s" -#: contrib/admin/views/main.py:475 +#: contrib/admin/views/main.py:481 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "Jeden alebo viac %(fieldname)s v %(name)s:" -#: contrib/admin/views/main.py:508 +#: contrib/admin/views/main.py:514 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "Objekt %(name)s \"%(obj)s\" bol úspešne vymazaný." -#: contrib/admin/views/main.py:511 +#: contrib/admin/views/main.py:517 msgid "Are you sure?" -msgstr "Si si istý?" +msgstr "Ste si istý?" -#: contrib/admin/views/main.py:533 +#: contrib/admin/views/main.py:539 #, python-format msgid "Change history: %s" -msgstr "Zmeň históriu: %s" +msgstr "Zmeniť históriu: %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s" msgstr "Výber %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s to change" msgstr "Ktorý %s sa má zmeniť?" -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:289 -#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:297 -#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:300 +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Chyba databázy" + +#: 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 "" +"Prosím, zadajte užívateľské meno a heslo. Pozor na malé a veľké písmená." + +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "Prihlásenie" + +#: 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 "Vaša session vypršala. Prosím, príhlaste sa znovu. Nemusíte sa obávať, vaše údaje boli uchované." + +#: 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 "Vyzerá to tak, že váš prehliadač nemá povolené cookies. Prosím, povoľte si cookies a skúste znova načítať stránku." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Užívateľské meno nemože obsahovať znak '@'." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "Vaša e-mailová adresa nie je užívateľským menom. Skúste použiť meno '%s'." + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Aplikáciu %r sa nepodarilo nájsť." + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "Model %(name)r sa nenachádza v aplikácii %(label)r" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "Prepojenie na objekt `%(label)s.%(type)s`" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "súvisiace objekty `%(label)s.%(name)s`" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "všetky %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "počet %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Polia objektu %s" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 msgid "Integer" -msgstr "Celočíselná hodnota" +msgstr "Celé číslo" -#: contrib/admin/views/doc.py:280 +#: contrib/admin/views/doc.py:292 msgid "Boolean (Either True or False)" -msgstr "Logická hodnota (buď True alebo False)" +msgstr "Logická hodnota (True alebo False)" -#: contrib/admin/views/doc.py:281 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 #, python-format msgid "String (up to %(maxlength)s)" -msgstr "Dĺžka reťazca (maximálne do %(maxlength)s)" +msgstr "Dĺžka reťazca (maximálne do %(maxlength)s znakov)" -#: contrib/admin/views/doc.py:282 +#: contrib/admin/views/doc.py:294 msgid "Comma-separated integers" -msgstr "Čiarka oddeľuje celé čísla" +msgstr "Celé čísla oddelené čiarkou" -#: contrib/admin/views/doc.py:283 +#: contrib/admin/views/doc.py:295 msgid "Date (without time)" msgstr "Dátum (bez času)" -#: contrib/admin/views/doc.py:284 +#: contrib/admin/views/doc.py:296 msgid "Date (with time)" -msgstr "Dátum ( a čas)" +msgstr "Dátum (a čas)" -#: contrib/admin/views/doc.py:285 +#: contrib/admin/views/doc.py:297 msgid "E-mail address" msgstr "E-mailová adresa" -#: contrib/admin/views/doc.py:286 contrib/admin/views/doc.py:287 -#: contrib/admin/views/doc.py:290 +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 msgid "File path" msgstr "Cesta k súboru" -#: contrib/admin/views/doc.py:288 +#: contrib/admin/views/doc.py:300 msgid "Decimal number" -msgstr "Desiatkové číslo" +msgstr "Desatinné číslo" -#: contrib/admin/views/doc.py:294 +#: contrib/admin/views/doc.py:306 msgid "Boolean (Either True, False or None)" -msgstr "Logická hodnota (buď True, False alebo None)" +msgstr "Logická hodnota (True, False alebo None)" -#: contrib/admin/views/doc.py:295 +#: contrib/admin/views/doc.py:307 msgid "Relation to parent model" -msgstr "Má vzťah na rodičovský model" +msgstr "Má vzťah k nadradenému modelu" -#: contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:308 msgid "Phone number" msgstr "Číslo telefónu" -#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:313 msgid "Text" msgstr "Text" -#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:314 msgid "Time" msgstr "Čas" -#: contrib/admin/views/doc.py:304 -msgid "U.S. state (two uppercase letters)" -msgstr "U.S. štát (dve veľké písmena)" +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" -#: contrib/admin/views/doc.py:305 +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "Štát USA (dve veľké písmena)" + +#: contrib/admin/views/doc.py:317 msgid "XML text" msgstr "XML text" +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s nie je urlpattern objekt" + #: contrib/admin/templates/widget/file.html:2 msgid "Currently:" -msgstr "Aktuálny:" +msgstr "Aktuálne:" #: contrib/admin/templates/widget/file.html:3 msgid "Change:" -msgstr "Zmeň:" +msgstr "Zmeniť:" #: contrib/admin/templates/widget/date_time.html:3 msgid "Date:" @@ -897,43 +1433,49 @@ msgstr "Dátum:" msgid "Time:" msgstr "Čas:" -#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/base.html:23 #: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentácia" -#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/base.html:23 #: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: 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/missing_docutils.html:4 #: contrib/admin/templates/admin_doc/view_index.html:5 #: contrib/admin/templates/admin_doc/model_detail.html:3 #: contrib/admin/templates/admin_doc/index.html:4 #: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 msgid "Change password" -msgstr "Zmeň heslo" +msgstr "Zmeniť heslo" -#: contrib/admin/templates/admin/object_history.html:5 #: 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/change_form.html:13 -#: contrib/admin/templates/admin/base.html:28 #: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -943,14 +1485,24 @@ msgstr "Zmeň heslo" msgid "Home" msgstr "Začiatok" +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Pridať %(name)s" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "Podľa %(filter_title)s " + #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 msgid "History" msgstr "História" #: contrib/admin/templates/admin/object_history.html:18 msgid "Date/time" -msgstr "Dátum/čas" +msgstr "Dátum a čas" #: contrib/admin/templates/admin/object_history.html:19 msgid "User" @@ -962,25 +1514,40 @@ msgstr "Udalosť" #: contrib/admin/templates/admin/object_history.html:26 msgid "DATE_WITH_TIME_FULL" -msgstr "PLNY_DATUM_AJ_CAS" +msgstr "DATE_WITH_TIME_FULL" #: contrib/admin/templates/admin/object_history.html:36 msgid "" "This object doesn't have a change history. It probably wasn't added via this " "admin site." msgstr "" -"Tento object nemá históriu zmien. Možno nebol pridaný prostredníctvom tohoto " -"web admina" +"Tento object nemá históriu vykonaných zmien. Možno nebol pridaný prostredníctvom tohoto administračného rozhrania." -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Pridaj %(name)s" +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Choď" -#: contrib/admin/templates/admin/filter.html:2 +#: contrib/admin/templates/admin/search_form.html:10 #, python-format -msgid " By %(title)s " -msgstr " Od %(title)s " +msgid "1 result" +msgstr "1 výsledok" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s spolu" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Zobraziť všetky" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Django administrácia" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Administrácia Django" #: contrib/admin/templates/admin/500.html:4 msgid "Server error" @@ -998,39 +1565,37 @@ msgstr "Chyba servera (500)" 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 "" -"Vznikla chyba. Prostredníctvom e-mailu bol o nej informovaný správca a táto " -"by mala byť o chviľu odstránená. Ďakujeme za tvoju trpezlivosť." +msgstr "Vznikla neočakávaná chyba. Prostredníctvom e-mailu bol o nej informovaný správca a dá sa predpokladať, že bude v krátkej dobe odstránená. Ďakujeme za pochopenie." -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Choď" - -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Django web admin" - -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Administrácia Django" +#: 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 "S inštaláciou alebo nastavením vašej databázy nie je niečo v poriadku. Uistite sa, že ste vytvorili potrebné databázové tabuľky. Taktiež skontrolujte, či má systémový užívateľ, pod ktorým beží aplikácia, právo na prístup k databáze a čítanie súborov databázy." #: contrib/admin/templates/admin/index.html:17 #, python-format msgid "Models available in the %(name)s application." -msgstr "Model je prístupný v %(name)s aplikácií." +msgstr "Modely dostupné v aplikácii %(name)s." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" #: contrib/admin/templates/admin/index.html:28 #: contrib/admin/templates/admin/change_form.html:15 msgid "Add" -msgstr "Pridaj" +msgstr "Pridať" #: contrib/admin/templates/admin/index.html:34 msgid "Change" -msgstr "Zmeň" +msgstr "Zmeniť" #: contrib/admin/templates/admin/index.html:44 msgid "You don't have permission to edit anything." -msgstr "Nemáš povolenie na zmeny ." +msgstr "Nemáte právo na vykonávanie zmien." #: contrib/admin/templates/admin/index.html:52 msgid "Recent Actions" @@ -1042,7 +1607,7 @@ msgstr "Moje udalosti" #: contrib/admin/templates/admin/index.html:57 msgid "None available" -msgstr "Nepovolené" +msgstr "Nedostupné" #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 @@ -1053,32 +1618,27 @@ msgstr "Stránka nebola nájdená" msgid "We're sorry, but the requested page could not be found." msgstr "Ľutujeme, ale požadovaná stránka nebola nájdená." -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "Zabudol si svoje heslo?" +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filter" -#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/change_form.html:22 msgid "View on site" -msgstr "Pozri na webe" +msgstr "Pozrieť na stránke" -#: contrib/admin/templates/admin/change_form.html:30 +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Oprav chybu, čo je nižšie, prosím." -msgstr[1] "Oprav chyby, čo sú nižšie, prosím." +msgstr "Prosím, opravte chyby uvedené nižšie." -#: contrib/admin/templates/admin/change_form.html:48 +#: contrib/admin/templates/admin/change_form.html:50 msgid "Ordering" -msgstr "Určenie" +msgstr "Radenie" -#: contrib/admin/templates/admin/change_form.html:51 +#: contrib/admin/templates/admin/change_form.html:53 msgid "Order:" msgstr "Poradie:" -#: contrib/admin/templates/admin/base.html:23 -msgid "Welcome," -msgstr "Vítajte," - #: contrib/admin/templates/admin/delete_confirmation.html:9 #: contrib/admin/templates/admin/submit_line.html:3 msgid "Delete" @@ -1087,49 +1647,79 @@ msgstr "Vymazať" #: contrib/admin/templates/admin/delete_confirmation.html:14 #, python-format msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Vymazaním objektu %(object_name)s '%(object)s' môžeš spôsobiť vymazanie " -"súvisiacich objektov, ale tvoj účet nemá povolenie na mazanie nasledujúcich " -"typov objektov:" +"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 "Zmazanie objektu %(object_name)s '%(escaped_object)s' by spôsobilo zmazanie súvisiacich objektov, avšak vaše užívateľské práva vám neumožňujú zmazať nasledujúce typy objektov:" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" -msgstr "" -"Si si istý, že chceš vymazať %(object_name)s \"%(object)s\"? Všetky " -"nasledujúce objekty budú tiež vymazané :" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "Ste si istý, že chcete zmazať objekt %(object_name)s \"%(escaped_object)s\"? " +"Zmazané budú aj všetky tieto súvisiace objekty:" #: contrib/admin/templates/admin/delete_confirmation.html:26 msgid "Yes, I'm sure" -msgstr "Ano, som si istý" +msgstr "Áno, som si istý" + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Vitajte," #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" -msgstr "Zapísať ako nový" +msgstr "Uložiť ako nový" #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save and add another" -msgstr "Zapísať a pridať ďaší" +msgstr "Uložiť a pridať ďaľší" #: contrib/admin/templates/admin/submit_line.html:6 msgid "Save and continue editing" -msgstr "Zapísať a pokračovať v zmenách" +msgstr "Uložiť a pokračovať v zmenách" #: contrib/admin/templates/admin/submit_line.html:7 msgid "Save" -msgstr "Zápis" +msgstr "Uložiť" + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Zadajte nové heslo pre užívateľa %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Heslo" + +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Heslo (potvrdiť)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Znova zadajte heslo kvôli overeniu." + +#: 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 "Najskôr zadajte užívateľské meno a heslo. Neskôr budete môcť upraviť ostatné užívateľské nastavnia." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Užívateľské meno" #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admin/templates/registration/password_change_form.html:6 #: contrib/admin/templates/registration/password_change_form.html:10 msgid "Password change" -msgstr "Zmeň heslo" +msgstr "Zmena heslo" #: contrib/admin/templates/registration/password_change_done.html:6 #: contrib/admin/templates/registration/password_change_done.html:10 @@ -1138,22 +1728,20 @@ msgstr "Heslo bolo úspešne zmenené" #: contrib/admin/templates/registration/password_change_done.html:12 msgid "Your password was changed." -msgstr "Tvoje heslo bolo zmenené." +msgstr "Vaše heslo bolo zmenené." #: 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 "Generácia nového hesla" +msgstr "Obnovenie hesla" #: 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 "" -"Zabudol si svoje heslo? Vlož nižšie tvoju e-mail adresu, a nové heslo ti " -"bude na ňu zaslané ." +msgstr "Zabudli ste svoje heslo? Zadajte svoju e-mailovú adresu, na ktorú vám bude zaslané nové heslo." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -1165,32 +1753,28 @@ msgstr "Obnova môjho hesla" #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." -msgstr "Ďakujeme ti, za stráveny čas na našej stránke." +msgstr "Ďakujeme vám, za čas strávený na našich stránkach." #: contrib/admin/templates/registration/logged_out.html:10 msgid "Log in again" -msgstr "Prihlás sa znovu" +msgstr "Prihlásiť sa znovu" #: contrib/admin/templates/registration/password_reset_done.html:6 #: contrib/admin/templates/registration/password_reset_done.html:10 msgid "Password reset successful" -msgstr "Heslo bolo úspešne vygenerované" +msgstr "Heslo bolo úspešne obnovené" #: 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 "" -"Poslali sme ti, nové heslo na tebou uvedenú emailovú adresu. Mal by si ho " -"dostať čo najskôr." +msgstr "Bolo vám zaslané nové heslo na uvedenú adresu. Mali by ste ho obdržať v najbližšej dobe." #: 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 "" -"Kvôli bezpečnosti vlož prosím tvoje staré heslo, a potom dvakrát tvoje nové " -"heslo, tým môžeme skontrolovať jeho správnosť." +msgstr "Z bezpečnostných dôvodov zadajte najskôr staré heslo a potom dva krát nové heslo, tak aby sa mohlo overiť, či nevznikol preklep." #: contrib/admin/templates/registration/password_change_form.html:17 msgid "Old password:" @@ -1210,34 +1794,34 @@ msgstr "Zmeň svoje heslo" #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" -msgstr "Dostal si túto správu preto, lebo si požadoval vygenerovať tvoje heslo" +msgstr "Dostali ste túto správu, lebo ste si vyžiadali obnovu hesla." #: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format msgid "for your user account at %(site_name)s" -msgstr "pre tvoj užívateľský účet na %(site_name)s" +msgstr "pre váš užívateľský účet na %(site_name)s" #: contrib/admin/templates/registration/password_reset_email.html:5 #, python-format msgid "Your new password is: %(new_password)s" -msgstr "Tvoje nové heslo je: %(new_password)s" +msgstr "Vaše nové heslo je: %(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 "Môžeš zmeniť toto heslo na nasledujúcej stránke:" +msgstr "Heslo si kľudne môžete zmeniť na tejto stránke:" #: contrib/admin/templates/registration/password_reset_email.html:11 msgid "Your username, in case you've forgotten:" -msgstr "Tvoje užívateľské meno, ak si ho zabudol:" +msgstr "Vaše užívateľské meno, pre prípad, že ste zabudli:" #: contrib/admin/templates/registration/password_reset_email.html:13 msgid "Thanks for using our site!" -msgstr "Ďakujeme, že používaš naše stránky!" +msgstr "Ďakujeme vám, že využívate služby našej stránky!" #: contrib/admin/templates/registration/password_reset_email.html:15 #, python-format msgid "The %(site_name)s team" -msgstr "Skupina %(site_name)s" +msgstr "Tím %(site_name)s" #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" @@ -1256,70 +1840,509 @@ 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" -"

                                                                              Na inštaláciu záložiek, potiahni linku do tvojho " -"bookmarks\n" -"toolbar, alebo klikni pravou myšou na linku a pridaj ju do tvojho " -"bookmarks.\n" -"Teraz si môžeš vybrať záložku pre ľubovoľnú stránku na webe. Poznámka:\n" -"niektoré záložky vyžadujú aby si prezeral web z počítača označeného \n" -"ako \"internal\" (opýtaj sa vášho systémového administrátora ak si si nie " -"istý/á, \n" -"že tvoj počítač je označený ako \"internal\").

                                                                              \n" +msgstr "\n" +"

                                                                              Ak chete nainštalovať záložky, pretiahnite linku do vášho panela so záložkami\n" +"alebo kliknite pravým tlačidlom myši na linku a pridajte ju do svojich záložiek.\n" +"Následne môžete záložky použiť na stránkach. Všimnite si, že použitie niektorých záložiek vyžaduje, aby bol váš počítač pridaný do zoznamu INTERNAL_IPS. Ak nie ste si istý, že ste v tomto zozname, oslovte vášho administrátora.

                                                                              \n" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "Documentation for this page" -msgstr "Dokumnentácia tejto stránky" +msgstr "Dokumentácia k tejto stránke" #: 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 "" -"Skoč z ľubovoľnej stránky do dokumentácie, kde je popísaná generácia tejto " -"stránky." +"Skočte z ľubovoľnej stránky do dokumentácie, kde je popísané, ako sa táto stránka generuje." #: contrib/admin/templates/admin_doc/bookmarklets.html:22 msgid "Show object ID" -msgstr "Ukáž objekt ID" +msgstr "Zobraziť ID objektu." #: contrib/admin/templates/admin_doc/bookmarklets.html:23 msgid "" "Shows the content-type and unique ID for pages that represent a single " "object." -msgstr "" -"Ukáž typ obsahu a jednoznačné ID pre stránky, ktoré zatupujú jednoduché " -"objekty." +msgstr "Zobrazuje content-type a ID stránok, ktoré reprezentujú jediný objekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Edit this object (current window)" -msgstr "Edituj tento object (aktuálne okno)" +msgstr "Editácia tohoto objektu (v aktuálnom okne)" #: contrib/admin/templates/admin_doc/bookmarklets.html:26 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "Skoč na stránku admina, ktorá zastupuje jednoduchý objekt" +msgstr "Skočiť na stránku admina, ktorá reprezentuje tento jeden objekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:28 msgid "Edit this object (new window)" -msgstr "Edituj tento objekt (nové okno)" +msgstr "Editácia tohoto objektu (v novom okne)" #: contrib/admin/templates/admin_doc/bookmarklets.html:29 msgid "As above, but opens the admin page in a new window." -msgstr "Ako vyššie, ale stranka admina sa otvorí v novom okne." +msgstr "To isté ako predtým, akurát otvorí administračnú stránku v novom okne." -#: utils/translation.py:363 -msgid "DATE_FORMAT" +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "pythonové meno triedy modelu" + +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "typ obsahu" + +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "typy obsahu" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Odhlásený" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "meno" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "codename" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "povolenie" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "práva" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "skupina" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "skupiny" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "užívateľské meno" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "Povinná položka s dĺžkou 30 znakov alebo menej. Povolené sú len alfanumerické znaky (písmená, čísla a podtržník)." + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "krstné meno" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "priezvisko" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "e-mailová adresa" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "heslo" + +#: contrib/auth/models.py:94 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "Použite '[algo]$[salt]$[hexdigest]' alebo formulár na zmenu hesla." + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "zamestnanec" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "Určuje, či má užívateľ oprávnenie prihlásiť sa do administračnej časti." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "aktívny" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "Určuje, či je účet aktívny. Odškrtnite, ak chcete deaktivovať užívateľský účet." + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "superužívateľ" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "Určuje, či užívateľ získava automaticky všetky práva aj bez priameho priradenia." + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "naposledy prihlásený" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "dátum registrácie" + +#: 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 "Okrem ručne zadaných práv bude mať užívateľ aj všetky práva prislúchajúce skupinám, v ktorých sa nachádza." + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "užívateľské práva" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "uživateľ" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "užívatelia" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "Osobné údaje" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "Práva" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "Dôležité dátumy" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Skupiny" + +#: contrib/auth/models.py:258 +msgid "message" +msgstr "správa" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "Pole hesla a jeho potvrdenie sa nezhodujú." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Užívateľ s týmto užívateľským menom už existuje." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "Váš prehliadač nemá povolené cookies. Cookies sú potrebné pre úspešné prihlásenie." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Účet je deaktivovaný." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "K danej e-mailovej adrese neexistuje užívateľský účet. Ste si istý, že ste sa zaregistrovali?" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Pole nového hesla a jeho potvrdenie sa nezhodujú." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Vaše staré heslo nebolo zadané správne. Prosím, zadajte heslo znova." + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "Zadajte britský poštový kód (PSČ). Medzera medzi dvomi časťami kódu je povinná." + +#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/it/forms.py:15 +#: contrib/localflavor/fi/forms.py:14 +msgid "Enter a zip code in the format XXXXX." +msgstr "Vložte poštové smerovacie číslo v tvare XXXXX." + +#: contrib/localflavor/usa/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Zadajte americký poštový kód (ZIP) vo formáte XXXXX alebo XXXXX-XXXX." + +#: contrib/localflavor/jp/jp_prefectures.py:4 +msgid "Hokkaido" msgstr "" -#: utils/translation.py:364 -msgid "DATETIME_FORMAT" +#: contrib/localflavor/jp/jp_prefectures.py:5 +msgid "Aomori" msgstr "" -#: utils/translation.py:365 -msgid "TIME_FORMAT" +#: 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/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Zadajte poštové smerovacie číslo v tvare XXXXXXX alebo XXX-XXXX." + +#: contrib/localflavor/no/forms.py:15 +msgid "Enter a zip code in the format XXXX." +msgstr "Vložte poštové smerovacie číslo v tvare XXXX." + +#: contrib/localflavor/no/forms.py:36 +msgid "Enter a valid Norwegian social security number." +msgstr "Vložte platné nórske číslo sociálneho poistenia (social security number)." + +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:46 +msgid "Enter a valid Finnish social security number." +msgstr "Vložte platné fínske číslo sociálneho poistenia (social security number)." + +#: contrib/sessions/models.py:68 +msgid "session key" +msgstr "kľúč session" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "údaje session" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "dátum vypršania platnosti" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "session" + +#: contrib/sessions/models.py:75 +msgid "sessions" +msgstr "sessions" + +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Príklad: '/about/contact/'. Uistite sa, že adresa obsahuje na začiatku a na konci.lomítka." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "názov" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "obsah" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "povoliť komentáre" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "názov šablóny" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Príklad: 'flatpages/contact_page'. Ak táto šablóna neexistuje, systém použije " +"'flatpages/default'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "je vyžadovaná registrácia" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Ak je zaškrtnuté, tak sa stránka zobrazí len prihlásenému užívateľovi." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "statická stránka" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "statické stránky" + #: utils/dates.py:6 msgid "Monday" msgstr "Pondelok" @@ -1398,19 +2421,19 @@ msgstr "December" #: utils/dates.py:19 msgid "jan" -msgstr "" +msgstr "jan" #: utils/dates.py:19 msgid "feb" -msgstr "" +msgstr "feb" #: utils/dates.py:19 msgid "mar" -msgstr "" +msgstr "mar" #: utils/dates.py:19 msgid "apr" -msgstr "" +msgstr "apr" #: utils/dates.py:19 msgid "may" @@ -1426,11 +2449,11 @@ msgstr "júl" #: utils/dates.py:20 msgid "aug" -msgstr "" +msgstr "aug" #: utils/dates.py:20 msgid "sep" -msgstr "" +msgstr "sep" #: utils/dates.py:20 msgid "oct" @@ -1438,11 +2461,11 @@ msgstr "okt" #: utils/dates.py:20 msgid "nov" -msgstr "" +msgstr "nov" #: utils/dates.py:20 msgid "dec" -msgstr "" +msgstr "dec" #: utils/dates.py:27 msgid "Jan." @@ -1474,529 +2497,73 @@ msgstr "Dec." #: utils/timesince.py:12 msgid "year" -msgid_plural "years" -msgstr[0] "rok" -msgstr[1] "rokov" +msgstr "rok" #: utils/timesince.py:13 msgid "month" -msgid_plural "months" -msgstr[0] "mesiac" -msgstr[1] "mesiacov" +msgstr "mesiac" #: utils/timesince.py:14 msgid "week" -msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" +msgstr "týždeň" #: utils/timesince.py:15 msgid "day" -msgid_plural "days" -msgstr[0] "ďeň" -msgstr[1] "dní" +msgstr "deň" #: utils/timesince.py:16 msgid "hour" -msgid_plural "hours" -msgstr[0] "hodina" -msgstr[1] "hodín" +msgstr "hodina" #: utils/timesince.py:17 msgid "minute" -msgid_plural "minutes" -msgstr[0] "minúta" -msgstr[1] "minút" +msgstr "minúta" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "Bengálsky" +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "p.m." -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "Český" +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "a.m." -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "Waleský" - -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "Dánsky" - -#: conf/global_settings.py:41 -msgid "German" -msgstr "Nemecký" - -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "Grécký" - -#: conf/global_settings.py:43 -msgid "English" -msgstr "Anglický" - -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "Španielsky" - -#: conf/global_settings.py:45 -msgid "Argentinean Spanish" -msgstr "Argentínska španielčina" - -#: conf/global_settings.py:46 -msgid "French" -msgstr "Francúzsky" - -#: conf/global_settings.py:47 -msgid "Galician" -msgstr "Galicijský" - -#: conf/global_settings.py:48 -msgid "Hungarian" -msgstr "Maďarský" - -#: conf/global_settings.py:49 -msgid "Hebrew" -msgstr "Hebrejský" - -#: conf/global_settings.py:50 -msgid "Icelandic" -msgstr "Islandský" - -#: conf/global_settings.py:51 -msgid "Italian" -msgstr "Taliansky" - -#: conf/global_settings.py:52 -msgid "Japanese" -msgstr "Japónsky" - -#: conf/global_settings.py:53 -msgid "Dutch" -msgstr "Holándsky" - -#: conf/global_settings.py:54 -msgid "Norwegian" -msgstr "Nórsky" - -#: conf/global_settings.py:55 -msgid "Brazilian" -msgstr "Brazílsky" - -#: conf/global_settings.py:56 -msgid "Romanian" -msgstr "Rumúnsky" - -#: conf/global_settings.py:57 -msgid "Russian" -msgstr "Ruský" - -#: conf/global_settings.py:58 -msgid "Slovak" -msgstr "Slovenský" - -#: conf/global_settings.py:59 -msgid "Slovenian" -msgstr "Slovinský" - -#: conf/global_settings.py:60 -msgid "Serbian" -msgstr "Srbský" - -#: conf/global_settings.py:61 -msgid "Swedish" -msgstr "Švédsky" - -#: conf/global_settings.py:62 -msgid "Ukrainian" -msgstr "Ukrajínsky" - -#: conf/global_settings.py:63 -msgid "Simplified Chinese" -msgstr "Zjednodušená činština " - -#: conf/global_settings.py:64 -msgid "Traditional Chinese" -msgstr "Tradičná čínština" - -#: db/models/manipulators.py:302 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "%(object)s s %(type)s už existuje pre prvok %(field)s." - -#: db/models/fields/__init__.py:40 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s s %(fieldname)s už existuje." - -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 -#: forms/__init__.py:346 -msgid "This field is required." -msgstr "Toto pole je nevyhnutné." - -#: db/models/fields/__init__.py:337 -msgid "This value must be an integer." -msgstr "Táto hodnota musí byť integer." - -#: db/models/fields/__init__.py:369 -msgid "This value must be either True or False." -msgstr "Táto hodnota musí byť buď True alebo False." - -#: db/models/fields/__init__.py:385 -msgid "This field cannot be null." -msgstr "Toto pole nemôže obsahovať null." - -#: db/models/fields/__init__.py:468 core/validators.py:132 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Vlož platný dátum/čas vo formáte RRRR-MM-DD HH:MM" - -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Vlož platné meno súboru." - -#: db/models/fields/related.py:43 -#, python-format -msgid "Please enter a valid %s." -msgstr "Prosím vlož platné %s." - -#: db/models/fields/related.py:579 -msgid "Separate multiple IDs with commas." -msgstr "Oddeľ viacnásobné ID čiarkami." - -#: db/models/fields/related.py:581 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +#: utils/dateformat.py:46 +msgid "PM" msgstr "" -" Podržte \"Control\", alebo \"Command\" na Mac_u, na výber viac ako jednej " -"položky." -#: db/models/fields/related.py:625 -#, python-format -msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -msgid_plural "" -"Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr[0] "Prosím vlož platné %(self)s IDs. Hodnota %(value)r je neplatná." -msgstr[1] "Prosím vlož platné %(self)s IDs. Hodnoty %(value)r sú neplatné." - -#: forms/__init__.py:380 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Zabezpeč aby tvoj text bol menší ako %s znak." -msgstr[1] "Zabezpeč aby tvoj text bol menší ako %s znakov." - -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "Nový riadok tu nieje povolený." - -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Vyber si platnú voľbu; '%(data)s' nie je v %(choices)s." - -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "Poslaný súbor je prázdný." - -#: forms/__init__.py:699 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Vlož celé číslo s hodnotou medzi -32768 a 32767." - -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "Vlož celé kladné číslo." - -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Vlož celé číslo s hodnotou medzi 0 a 32767." - -#: core/validators.py:60 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Toto môže obsahovať len písmená, číslice a podčiarkovníky." - -#: core/validators.py:64 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." +#: utils/dateformat.py:47 +msgid "AM" msgstr "" -"Toto môže obsahovať len písmena, číslice, podčiarkovniky, pomlčky a lomítka." -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "Veľké písmená tu nie sú povolené." +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "polnoc" -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "Malé písmena tu nie sú povolené." +#: utils/dateformat.py:97 +msgid "noon" +msgstr "poludnie" -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Vlož len číslice, oddelené čiarkami." - -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Vlož platné e-mail adresy oddelené čiarkami." - -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Prosím vlož platnú IP adresu." - -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "Prázdne hodnoty tu nie sú povolené." - -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "Znaky, ktoré nie sú číslicami, tu nie sú povolené." - -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "Tento údaj nemôže byť vytvorený len z číslic." - -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Vlož celé číslo." - -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Tu sú povolené len alfanumerické znaky." - -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Vlož platný dátum vo formáte RRRR-MM-DD." - -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Vlož platný čas vo formáte HH:MM." - -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "Vlož platnú e-mail adresu." - -#: core/validators.py:148 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" msgstr "" -"Nahraj platný obrázok. Súbor, ktorý si nahral buď nebol obrázok alebo je " -"nahratý poškodený obrázok." -#: core/validators.py:155 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "URL %s neukazuje na platný obrázok." - -#: core/validators.py:159 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" msgstr "" -"Telefónne číslo musí mať formát XXX-XXX-XXXX. Číslo \"%s\" je neplatné." -#: core/validators.py:167 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "URL %s neukazuje na platné QuickTime video." - -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "Platné URL je požadované." - -#: core/validators.py:185 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" msgstr "" -"Je požadovaná bezchybná stránka HTML. Zistené chyby sú:\n" -"%s" -#: core/validators.py:192 -#, python-format -msgid "Badly formed XML: %s" -msgstr "Chybne formované XML: %s" - -#: core/validators.py:202 -#, python-format -msgid "Invalid URL: %s" -msgstr "Neplatné URL: %s" - -#: core/validators.py:206 core/validators.py:208 -#, python-format -msgid "The URL %s is a broken link." -msgstr "Odkaz na URL %s je neplatný." - -#: core/validators.py:214 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Vlož platnú skratku U.S. štátu." - -#: core/validators.py:229 -#, python-format -msgid "Watch your mouth! The word %s is not allowed here." -msgid_plural "Watch your mouth! The words %s are not allowed here." -msgstr[0] "Vyjadruj sa slušne! Slovo %s tu nie je dovolené použivať." -msgstr[1] "Vyjadruj sa slušne! Slová %s tu nie je dovolené použivať." - -#: core/validators.py:236 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Toto pole sa musí zhodovať s poľom '%s'. " - -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "Prosím vlož niečo aspoň pre jedno pole." - -#: core/validators.py:264 core/validators.py:275 -msgid "Please enter both fields or leave them both empty." -msgstr "Prosím vlož obidve polia, alebo nechaj ich obe prázdne. " - -#: core/validators.py:282 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "Toto pole musí byť vyplnené tak, že %(field)s obsahuje %(value)s" - -#: core/validators.py:294 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" msgstr "" -"Toto pole musí byť vyplnené tak, že %(field)s nesmie obsahovať %(value)s" -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "Duplicitné hodnoty nie sú povolené." - -#: core/validators.py:336 -#, python-format -msgid "This value must be a power of %s." -msgstr "Táto hodnota musí byť mocninou %s." - -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "Prosím vlož platné desiatkové číslo. " - -#: core/validators.py:349 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "" -"Please enter a valid decimal number with at most %s total digits." -msgstr[0] "Prosím vlož platné desiatkové číslo s najviac %s číslicou." -msgstr[1] "Prosím vlož platné desiatkové číslo s najviac %s číslicami." - -#: core/validators.py:352 -#, python-format -msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "" -"Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "Prosím vlož platné desatinné číslo s najviac %s desatinným miestom." -msgstr[1] "" -"Prosím vlož platné desatinné číslo s najviac %s desatinnými miestami." - -#: core/validators.py:362 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Presvedč sa, že posielaný súbor nemá menej ako %s bytov." - -#: core/validators.py:363 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Presvedč sa, že posielaný súbor nemá viac ako %s bytov." - -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "Formát pre toto pole je chybný." - -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "Toto pole nie je platné." - -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Nič som nemohol získať z %s." - -#: core/validators.py:429 -#, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" msgstr "" -" URL %(url)s vrátilo neplatnú hlavičku Content-Type '%(contenttype)s'." -#: core/validators.py:462 -#, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" -"Prosím zavri nezavretý %(tag)s popisovač v riadku %(line)s. (Riadok začína " -"s \"%(start)s\".)" - -#: core/validators.py:466 -#, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Nejaký text začínajúci na riadku %(line)s nie je povolený v tomto kontexte. " -"(Riadok začína s \"%(start)s\".)" - -#: core/validators.py:471 -#, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"%(attr)s\" na riadku %(line)s je neplatný atribút. (Riadok začína s \"%" -"(start)s\".)" - -#: core/validators.py:476 -#, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"<%(tag)s>\" na riadku %(line)s je neplatný popisovač. (Riadok začína s \"%" -"(start)s\".)" - -#: core/validators.py:480 -#, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Popisovaču na riadku %(line)s chýba jeden alebo viac atribútov. (Riadok " -"začína s \"%(start)s\".)" - -#: core/validators.py:485 -#, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Atribút \"%(attr)s\" na riadku %(line)s má neplatnú hodnotu. (Riadok začína " -"s \"%(start)s\".)" - -#: template/defaultfilters.py:383 +#: template/defaultfilters.py:491 msgid "yes,no,maybe" -msgstr "ano,nie,možno" +msgstr "áno,nie,možno" -#~ msgid "Comment" -#~ msgstr "Komentár" - -#~ msgid "Comments" -#~ msgstr "Komentáre" - -#~ msgid "Delete this file." -#~ msgstr "Vymaž tento súbor." - -#~ msgid "label" -#~ msgstr "popis" - -#~ msgid "package" -#~ msgstr "balík" - -#~ msgid "packages" -#~ msgstr "balíky" - -#~ msgid "String (up to 50)" -#~ msgstr "Reťazec (do 50 )" diff --git a/django/conf/locale/sk/LC_MESSAGES/djangojs.mo b/django/conf/locale/sk/LC_MESSAGES/djangojs.mo index a4f5b84a53d30b27979804c5f2c5e3910cfd822e..1a168078c6c1c28454ba3d6c56d568c1f276f0f2 100644 GIT binary patch delta 885 zcmZ9}&ubGw6u|Lml2)76TI;WZ3WLy-r0&MlrlEKesjWYXNs9IoRm$G z^^}Da`X1caMrpKz()c$@VM%HjLMd<-lbAp$yo6Gxg3@?J^1Q?y{_2v6WT$^l>F z1pU<(3u>utltMd!e^CAcbPGcFAaZ*7UGi1rd1)#`njB-wTmC0dhwp+6kKhN8-6Z4K0FyS z5;4Qn=2R+fo-yM7^YG~8Zt|Rto2f*Sq+vv_Se0rl<5^CnY*k$^rSXET@lY~*xPo!4Hw<+y6zE9R}v3w71)ymQ)b^;kvCS!LVFw_BcC^lF_} zk-H0x+a6Ep_fM?KUQq9}>}tu~jh*%@*?T=-sY+os>AGwpuV&nQ(P^l3$!kz+)^ck8 zw@7_zS^8en^E#{3y0gh5EwyZ~YU}%MnFEz-+R~+RvE&r1wpw(lw@hXKaqsLusuh^> delta 846 zcmY+>O=uHA6bJBaKGdeww($eR4+cewhYg!ZN*Y$lYHM3vlF)qM#lwWGahmNe>}~=< zA&3`2dXUAFh*rIbARfGkQjjL1pf@jG#Iq;8dFa9a+ipPzW`8p~Z|1$(y*>VQtp7b3 zyDy;~LO+WB8T}ag%@I7%e!*SvH;lqRa2#&IJ#aL#y`F@7F+U6wa2k%nOsERum|ui7 zs6*`UOHVL};l&F`30^@;_!`oIZy|%9U=IF-bkIozQvs)8kO-{;xaSaaXNQBx$1DsHMwUyc~;l8xf0X0 z^ICP0F|}**rd=?3gL~Igw$nP7(7Dy>@RlK04ZfO3WN~VtMir@UyI_hS$WO, 2005. -# -#, fuzzy +# msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: Django 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-12-18 19:38-0500\n" -"PO-Revision-Date: 2005-12-18 19:26-0500\n" -"Last-Translator: VLADO LABATH \n" -"Language-Team: LANGUAGE \n" +"POT-Creation-Date: 2007-04-01 19:21+0200\n" +"PO-Revision-Date: 2007-04-03 21:48+0200\n" +"Last-Translator: <>\n" +"Language-Team: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit" #: contrib/admin/media/js/SelectFilter2.js:33 #, perl-format @@ -23,15 +18,15 @@ msgstr "Možný %s" #: contrib/admin/media/js/SelectFilter2.js:41 msgid "Choose all" -msgstr "Vyber všetko" +msgstr "Vybrať všetko" #: contrib/admin/media/js/SelectFilter2.js:46 msgid "Add" -msgstr "Pridaj" +msgstr "Pridať" #: contrib/admin/media/js/SelectFilter2.js:48 msgid "Remove" -msgstr "Vymaž" +msgstr "Vymazať" #: contrib/admin/media/js/SelectFilter2.js:53 #, perl-format @@ -40,13 +35,13 @@ msgstr "Vybrané %s" #: contrib/admin/media/js/SelectFilter2.js:54 msgid "Select your choice(s) and click " -msgstr "Vyber si svoju voľbu a klikni" +msgstr "Vyberte položku a kliknite" #: contrib/admin/media/js/SelectFilter2.js:59 msgid "Clear all" -msgstr "Vyčisti všetko" +msgstr "Odstrániť vybrané" -#: contrib/admin/media/js/dateparse.js:26 +#: contrib/admin/media/js/dateparse.js:32 #: contrib/admin/media/js/calendar.js:24 msgid "" "January February March April May June July August September October November " @@ -55,7 +50,7 @@ msgstr "" "Január Február Marec Apríl Máj Jún Júl August September Október November " "December" -#: contrib/admin/media/js/dateparse.js:27 +#: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "Nedeľa Pondelok Utorok Streda Štvrtok Piatok Sobota" @@ -63,49 +58,59 @@ msgstr "Nedeľa Pondelok Utorok Streda Štvrtok Piatok Sobota" msgid "S M T W T F S" msgstr "N P U S Š P S" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "Zobraziť" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "Skryť" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 msgid "Now" msgstr "Práve teraz" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 msgid "Clock" msgstr "Hodiny" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 msgid "Choose a time" -msgstr "Vyber čas" +msgstr "Vybrať čas" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 msgid "Midnight" msgstr "Polnoc" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 msgid "6 a.m." msgstr "6 ráno" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Noon" msgstr "Poludnie" -#: 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 "Zruš" +msgstr "Zrušiť" -#: 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 "Dnes" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 msgid "Calendar" msgstr "Kalendár" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 msgid "Yesterday" msgstr "Včera" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 msgid "Tomorrow" msgstr "Zajtra" + diff --git a/django/conf/locale/sl/LC_MESSAGES/django.mo b/django/conf/locale/sl/LC_MESSAGES/django.mo index 12253610c445ddd8f8f308af05696dfc176ce7ab..a96fd554ef9e72f74f68610437f52f0e8a2dfca4 100644 GIT binary patch delta 10962 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 delta 11669 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 diff --git a/django/conf/locale/sl/LC_MESSAGES/django.po b/django/conf/locale/sl/LC_MESSAGES/django.po index 5a9b6d6b46..b0617a5bd8 100644 --- a/django/conf/locale/sl/LC_MESSAGES/django.po +++ b/django/conf/locale/sl/LC_MESSAGES/django.po @@ -1,7 +1,9 @@ # translation of django.po to Slovenian # Igor Kolar , 2006. +# Jure Cuhalev , 2006, 2007. +# Gasper Koren , 2007. +# Jozko Skrablin , 2007. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. msgid "" @@ -9,8 +11,8 @@ msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-05-16 10:13+0200\n" -"PO-Revision-Date: 2006-07-29 11:52+0100\n" -"Last-Translator: Jure Čuhalev \n" +"PO-Revision-Date: 2007-02-15 21:47+0100\n" +"Last-Translator: Gasper Koren \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -90,7 +92,7 @@ msgstr "je odstranjen/-a" #: contrib/comments/models.py:86 msgid "Check this box if the comment is inappropriate. A \"This comment has been removed\" message will be displayed instead." -msgstr "Odkljukaj, če je komntar neprimeren. Namesto komentarja bo vidno obvestilo \"Ta komentar je bil odstranjen\"." +msgstr "Odkljukaj, če je komentar neprimeren. Namesto komentarja bo vidno obvestilo \"Ta komentar je bil odstranjen\"." #: contrib/comments/models.py:91 msgid "comments" @@ -126,7 +128,7 @@ msgstr "ip naslov" #: contrib/comments/models.py:173 msgid "approved by staff" -msgstr "potrjeno s strani osebja" +msgstr "osebje je potrdilo" #: contrib/comments/models.py:176 msgid "free comment" @@ -174,7 +176,7 @@ msgstr "datum označitve (zastavice)" #: contrib/comments/models.py:268 msgid "user flag" -msgstr "uporabnikova zastavica" +msgstr "uporabniška zastavica" #: contrib/comments/models.py:269 msgid "user flags" @@ -204,7 +206,7 @@ msgstr "Izbris opravil moderator %r" #: contrib/comments/views/karma.py:19 msgid "Anonymous users cannot vote" -msgstr "Anonimni upirabniki ne morejo glasovati" +msgstr "Anonimni uporabniki ne morejo glasovati" #: contrib/comments/views/karma.py:23 msgid "Invalid comment ID" @@ -216,7 +218,7 @@ msgstr "Ni mogoče glasovati zase" #: contrib/comments/views/comments.py:28 msgid "This rating is required because you've entered at least one other rating." -msgstr "Moraš podati tole oceno, ker si podal vsaj še eno drugo oceno." +msgstr "To oceno moraš podati, ker si podal vsaj še eno drugo oceno." #: contrib/comments/views/comments.py:112 #, python-format @@ -233,17 +235,17 @@ msgstr[0] "" "\n" "%(text)s" msgstr[1] "" -"Ta komentar je poslal uporabnik, ki je do zdaj poslal manj kot %(count)s komentar:\n" -"\n" -"%(text)s" -msgstr[2] "" "Ta komentar je poslal uporabnik, ki je do zdaj poslal manj kot %(count)s komentarja:\n" "\n" "%(text)s" -msgstr[3] "" +msgstr[2] "" "Ta komentar je poslal uporabnik, ki je do zdaj poslal manj kot %(count)s komentarje:\n" "\n" "%(text)s" +msgstr[3] "" +"Ta komentar je poslal uporabnik, ki je do zdaj poslal manj kot %(count)s komentarjev:\n" +"\n" +"%(text)s" #: contrib/comments/views/comments.py:117 #, python-format @@ -259,7 +261,7 @@ msgstr "" #: contrib/comments/views/comments.py:189 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" -msgstr "Dovoljena je le metoda POST" +msgstr "Dovoljena je le POST metoda" #: contrib/comments/views/comments.py:193 #: contrib/comments/views/comments.py:284 @@ -398,7 +400,7 @@ msgstr "Neznano" #: contrib/admin/models.py:16 msgid "action time" -msgstr "čas oprave dejanja" +msgstr "čas dejanja" #: contrib/admin/models.py:19 msgid "object id" @@ -410,7 +412,7 @@ msgstr "predstavitev objekta" #: contrib/admin/models.py:21 msgid "action flag" -msgstr "zastavica za določeno dejanje" +msgstr "zastavica dejanja" #: contrib/admin/models.py:22 msgid "change message" @@ -432,7 +434,7 @@ msgstr "Vsi datumi" #: contrib/auth/forms.py:36 #: contrib/auth/forms.py:41 msgid "Please enter a correct username and password. Note that both fields are case-sensitive." -msgstr "Prosimo, vnesite veljavno uporabniško ime in geslo. Opomba: obe polji sta občutljivi na velikost črk" +msgstr "Prosimo, vnesite veljavno uporabniško ime in geslo. Opomba: obe polji upoštevata velikost črk." #: contrib/admin/views/decorators.py:23 #: contrib/admin/templates/admin/login.html:25 @@ -441,11 +443,11 @@ msgstr "Prijavite se" #: contrib/admin/views/decorators.py:61 msgid "Please log in again, because your session has expired. Don't worry: Your submission has been saved." -msgstr "Vaša seja je pretekla; prosimo, prijavite se znova. Ne skrbite, vaše objave so varno shranjene." +msgstr "Vaša seja je pretekla; prosimo da se ponovno prijavite. Brez skrbi, vaše objave so varno shranjene." #: contrib/admin/views/decorators.py:68 msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." -msgstr "Izgleda, da vaš brskalnik nima podpore za piškotke. Prosimo, vključite piškotke, znova naložite to stran in poskusite še enkrat." +msgstr "Izgleda, da vaš brskalnik nima podpore za piškotke. Prosimo, vključite piškotke, osvežite stran in poskusite še enkrat." #: contrib/admin/views/decorators.py:82 msgid "Usernames cannot contain the '@' character." @@ -454,7 +456,7 @@ msgstr "Uporabniška imena ne smejo vsebovati znaka '@'." #: contrib/admin/views/decorators.py:84 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "Vaš e-mail naslov ne morete uporabljati kot uporabniško ime. Namesto tega uporabite '%s'." +msgstr "Vaš e-main naslov ni vaše uporabniško ime. Poskusite uporabiti '%s'." #: contrib/admin/views/main.py:226 msgid "Site administration" @@ -484,7 +486,7 @@ msgstr "Dodaj %s" #: contrib/admin/views/main.py:336 #, python-format msgid "Added %s." -msgstr "Dodal %s." +msgstr "Dodan %s." #: contrib/admin/views/main.py:336 #: contrib/admin/views/main.py:338 @@ -495,12 +497,12 @@ msgstr "in" #: contrib/admin/views/main.py:338 #, python-format msgid "Changed %s." -msgstr "Spremenil %s." +msgstr "Spremenjen %s." #: contrib/admin/views/main.py:340 #, python-format msgid "Deleted %s." -msgstr "Izbrisal %s." +msgstr "Izbrisn %s." #: contrib/admin/views/main.py:343 msgid "No fields changed." @@ -509,12 +511,12 @@ msgstr "Nobeno polje ni bilo spremenjeno." #: contrib/admin/views/main.py:346 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "%(name)s \"%(obj)s\" je bilo uspešno spremenjeno." +msgstr "%(name)s \"%(obj)s\" je bil uspešno spremenjeno." #: contrib/admin/views/main.py:354 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "%(name)s \"%(obj)s\" je bilo uspešno dodano. Znova ga lahko urejate spodaj." +msgstr "%(name)s \"%(obj)s\" je bil uspešno dodano. Ponovno ga lahko urejdite spodaj." #: contrib/admin/views/main.py:392 #, python-format @@ -534,7 +536,7 @@ msgstr "Eden ali več %(fieldname)s v %(name)s:" #: contrib/admin/views/main.py:508 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" je bilo uspešno izbrisano." +msgstr "%(name)s \"%(obj)s\" je bilo uspešno izbrisan." #: contrib/admin/views/main.py:511 msgid "Are you sure?" @@ -562,11 +564,11 @@ msgstr "Izberite %s, ki ga želite spremeniti" #: contrib/admin/views/doc.py:295 #: contrib/admin/views/doc.py:297 msgid "Integer" -msgstr "Število (integer)" +msgstr "Celo število (integer)" #: contrib/admin/views/doc.py:278 msgid "Boolean (Either True or False)" -msgstr "Boolean (ali True ali False)" +msgstr "Boolean (True ali False)" #: contrib/admin/views/doc.py:279 #: contrib/admin/views/doc.py:296 @@ -576,19 +578,19 @@ msgstr "Niz (vse do %(maxlength)s)" #: contrib/admin/views/doc.py:280 msgid "Comma-separated integers" -msgstr "Z vejico ločeni integerji" +msgstr "Z vejico ločena cela števila (integer)" #: contrib/admin/views/doc.py:281 msgid "Date (without time)" -msgstr "Datum (brez časa)" +msgstr "Datum (brez ure)" #: contrib/admin/views/doc.py:282 msgid "Date (with time)" -msgstr "Datum (s časom)" +msgstr "Datum (z uro)" #: contrib/admin/views/doc.py:283 msgid "E-mail address" -msgstr "E-naslov" +msgstr "E-mail naslov" #: contrib/admin/views/doc.py:284 #: contrib/admin/views/doc.py:287 @@ -601,7 +603,7 @@ msgstr "Decimalno število" #: contrib/admin/views/doc.py:291 msgid "Boolean (Either True, False or None)" -msgstr "Boolean (ali True ali False ali None)" +msgstr "Boolean (True, False ali None)" #: contrib/admin/views/doc.py:292 msgid "Relation to parent model" @@ -701,11 +703,11 @@ msgstr "N j, Y, H:i" #: contrib/admin/templates/admin/object_history.html:36 msgid "This object doesn't have a change history. It probably wasn't added via this admin site." -msgstr "Ta objekt nima zgodovine. Verjetno ni bil dodan preko te administratorske strani." +msgstr "Ta objekt nima zgodovine sprememb. Verjetno ni bil dodan preko te strani za administracijo." #: contrib/admin/templates/admin/base_site.html:4 msgid "Django site admin" -msgstr "Django site admin" +msgstr "Vmesnik za administracijo Django strani" #: contrib/admin/templates/admin/base_site.html:7 msgid "Django administration" @@ -717,7 +719,7 @@ msgstr "Napaka strežnika" #: contrib/admin/templates/admin/500.html:6 msgid "Server error (500)" -msgstr "Django napaka (500)" +msgstr "Napaka strežnika (500)" #: contrib/admin/templates/admin/500.html:9 msgid "Server Error (500)" @@ -725,7 +727,7 @@ msgstr "Napaka strežnika (500)" #: contrib/admin/templates/admin/500.html:10 msgid "There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience." -msgstr "Prišlo je do nepričakovane napake. Administratorji strani so že obveščeni prekoe-pošte in naj bi jo v kratkem odpravili. Hvala za vaše potrpljenje." +msgstr "Prišlo je do nepričakovane napake. Administrator je preko e-pošte prejel obvestilo o napaki in jo bo v kratkem odpravil. Hvala za potrpljenje." #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 @@ -734,7 +736,7 @@ msgstr "Strani ni mogoče najti" #: contrib/admin/templates/admin/404.html:10 msgid "We're sorry, but the requested page could not be found." -msgstr "Se opravičujemo, a zahtevane strani ni mogoče najti." +msgstr "Opravičujemo se, a zahtevane strani ni mogoče najti." #: contrib/admin/templates/admin/index.html:17 #, python-format @@ -773,7 +775,7 @@ msgstr "Dodaj %(name)s" #: contrib/admin/templates/admin/login.html:22 msgid "Have you forgotten your password?" -msgstr "Ste pozabili geslo" +msgstr "Ste pozabili geslo?" #: contrib/admin/templates/admin/base.html:23 msgid "Welcome," @@ -787,7 +789,7 @@ msgstr "Izbriši" #: contrib/admin/templates/admin/delete_confirmation.html:14 #, python-format msgid "Deleting the %(object_name)s '%(object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" -msgstr "Izbris %(object_name)s '%(object)s' bi pomenil izbris povezanih objektov, vendarvi nimate dovoljenja za izbris naslednjih tipov objektov:" +msgstr "Izbris %(object_name)s '%(object)s' bi pomenil izbris povezanih objektov, vendar nimate dovoljenja za izbris naslednjih tipov objektov:" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format @@ -815,17 +817,17 @@ msgstr "Poglej na strani" msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Prosimo, odpravite sledečo napako." -msgstr[1] "Prosimo, odpravite sledeče napake." -msgstr[2] "Prosimo, odpravite sledeči napaki." +msgstr[1] "Prosimo, odpravite sledeči napaki." +msgstr[2] "Prosimo, odpravite sledeče napake." msgstr[3] "Prosimo, odpravite sledeče napake." #: contrib/admin/templates/admin/change_form.html:48 msgid "Ordering" -msgstr "Urejanje" +msgstr "Razvrščanje" #: contrib/admin/templates/admin/change_form.html:51 msgid "Order:" -msgstr "Uredi:" +msgstr "Razvrsti:" #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" @@ -853,7 +855,7 @@ msgstr "Sprememba gesla" #: contrib/admin/templates/registration/password_change_done.html:6 #: contrib/admin/templates/registration/password_change_done.html:10 msgid "Password change successful" -msgstr "Geslo uspešno spremenjeno" +msgstr "Sprememba gesla je uspela" #: contrib/admin/templates/registration/password_change_done.html:12 msgid "Your password was changed." @@ -864,23 +866,23 @@ msgstr "Vaše geslo je bilo spremenjeno." #: contrib/admin/templates/registration/password_reset_form.html:10 #: contrib/admin/templates/registration/password_reset_done.html:4 msgid "Password reset" -msgstr "Obnova gesla" +msgstr "Ponastavitev gesla" #: contrib/admin/templates/registration/password_reset_form.html:12 msgid "Forgotten your password? Enter your e-mail address below, and we'll reset your password and e-mail the new one to you." -msgstr "Ste pozabili geslo? Vnesite vaš e-naslov spodaj in mi vam bomo poslali novo geslo." +msgstr "Ste pozabili geslo? Vnesite vaš e-mail naslov in poslali vam bomo novo geslo." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" -msgstr "E-naslov" +msgstr "Naslov e-pošte:" #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "Reset my password" -msgstr "Obnova gesla" +msgstr "Ponastavi moje geslo" #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." -msgstr "Hvala, ker ste si vzeli nekaj časa za to spletno stran." +msgstr "Hvala, ker ste si danes vzeli nekaj časa za to spletno stran." #: contrib/admin/templates/registration/logged_out.html:10 msgid "Log in again" @@ -889,15 +891,15 @@ msgstr "Ponovna prijava" #: contrib/admin/templates/registration/password_reset_done.html:6 #: contrib/admin/templates/registration/password_reset_done.html:10 msgid "Password reset successful" -msgstr "Geslo je bilo uspešno obnovljeno" +msgstr "Ponastavitev gesla je uspela" #: contrib/admin/templates/registration/password_reset_done.html:12 msgid "We've e-mailed a new password to the e-mail address you submitted. You should be receiving it shortly." -msgstr "Po e-pošti smo vam poslali novo geslo.Morali bi ga prejeti v kratkem" +msgstr "Po e-pošti smo vam poslali novo geslo. Morali bi ga prejeti v kratkem" #: contrib/admin/templates/registration/password_change_form.html:12 msgid "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly." -msgstr "Prosim, vnesite vaše staro geslo (zaradi varnosti) in nato še dvakrat novo(da preverimo, da se niste zatipkali)" +msgstr "Prosim, vnesite vaše staro geslo (zaradi varnosti) in nato še dvakrat novo (da preverimo, da se niste zatipkali)" #: contrib/admin/templates/registration/password_change_form.html:17 msgid "Old password:" @@ -913,16 +915,16 @@ msgstr "Potrditev gesla:" #: contrib/admin/templates/registration/password_change_form.html:23 msgid "Change my password" -msgstr "Sprememba gesla" +msgstr "Spremeni moje geslo" #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" -msgstr "To pošto ste dobili, ker ste zahtevali spremembo gesla" +msgstr "Ta e-mail ste dobili, ker ste zahtevali ponastavitev gesla" #: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format msgid "for your user account at %(site_name)s" -msgstr "za vaš uporabniški račun pri %(site_name)s" +msgstr "za vaš uporabniški račun na %(site_name)s" #: contrib/admin/templates/registration/password_reset_email.html:5 #, python-format @@ -935,7 +937,7 @@ msgstr "Geslo lahko spremenite z obiskom strani:" #: contrib/admin/templates/registration/password_reset_email.html:11 msgid "Your username, in case you've forgotten:" -msgstr "Vaše uporabniško ime (za vsak primer)" +msgstr "Vaše uporabniško ime (za vsak primer):" #: contrib/admin/templates/registration/password_reset_email.html:13 msgid "Thanks for using our site!" @@ -955,6 +957,7 @@ msgid "Documentation bookmarklets" msgstr "Dokumentacijske zaznamkice" #: contrib/admin/templates/admin_doc/bookmarklets.html:9 +#, fuzzy msgid "" "\n" "

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

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

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

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

                                                                              By %s:

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

                                                                                Od %s:

                                                                                \n" +"

                                                                                Po %s:

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

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

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

                                                                                  \n" +"

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

                                                                                  \n" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "Documentation for this page" msgstr "Dokumentacija za ovu stranu" #: contrib/admin/templates/admin_doc/bookmarklets.html:20 -msgid "" -"Jumps you from any page to the documentation for the view that generates " -"that page." -msgstr "" -"Skače sa bilo koje strane na stranu sa dokumentacijom za \"view\" koji " -"generiše tu stranu." +msgid "Jumps you from any page to the documentation for the view that generates that page." +msgstr "Skače sa bilo koje strane na stranu sa dokumentacijom za \"view\" koji generiše tu stranu." #: contrib/admin/templates/admin_doc/bookmarklets.html:22 msgid "Show object ID" -msgstr "Prikaži ID objekta" +msgstr "Prikažite ID objekta" #: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "" -"Prikazuje \"content-type\" i jedinstveni ID strane koje predstavlja jedan " -"objekt." +msgid "Shows the content-type and unique ID for pages that represent a single object." +msgstr "Prikazuje \"content-type\" i jedinstveni ID strane koje predstavlja jedan objekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Edit this object (current window)" @@ -1056,7 +988,7 @@ msgstr "Skače na admin stranu za strane koje predstavljaju objekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:28 msgid "Edit this object (new window)" -msgstr "Izmeni objekt (novi prozor)" +msgstr "Izmeni objekat (novi prozor)" #: contrib/admin/templates/admin_doc/bookmarklets.html:29 msgid "As above, but opens the admin page in a new window." @@ -1080,42 +1012,31 @@ msgstr "Izmenite:" #: contrib/redirects/models.py:7 msgid "redirect from" -msgstr "redirekcija od" +msgstr "preusmeri od" #: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." -msgstr "" -"Ovde treba upisati apsolutnu putanju bez imena domena. Primer: '/events/" -"search/'." +msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." +msgstr "Unesite apsolutnu putanju bez imena domena. Primer: '/dogadjaji/pretraga/'." #: contrib/redirects/models.py:9 msgid "redirect to" -msgstr "redirekcija na" +msgstr "preusmeri ka" #: contrib/redirects/models.py:10 -msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." -msgstr "" -"Ovo može biti apsolutna putanja (kao gore) ili puni URL koji počinje sa " -"'http://'." +msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." +msgstr "Može biti apsolutna putanja (kao gore) ili puni URL koji počinje sa 'http://'." #: contrib/redirects/models.py:12 msgid "redirect" -msgstr "redirekcija" +msgstr "Preusmeravanje" #: contrib/redirects/models.py:13 msgid "redirects" -msgstr "redirekcije" +msgstr "Preusmeravanja" #: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "" -"Primer: '/about/contact/'. Proverite da li ste uneli početnu i kranju kosu " -"crtu." +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Primer: '/o-nama/kontakt/'. Proverite da li ste uneli '/' na početku i na kraju." #: contrib/flatpages/models.py:9 msgid "title" @@ -1131,15 +1052,11 @@ msgstr "omogućite komentare" #: contrib/flatpages/models.py:12 msgid "template name" -msgstr "ime templejta" +msgstr "naziv templejta" #: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." -msgstr "" -"Primer: 'flatpages/contact-page'. Ako nije dato sistem će koristiti " -"flatpages/default'." +msgid "Example: 'flatpages/contact_page'. If this isn't provided, the system will use 'flatpages/default'." +msgstr "Primer: 'flatpages/kontakt-stranica'. Ako ne zadate sistem će koristiti 'flatpages/default'." #: contrib/flatpages/models.py:14 msgid "registration required" @@ -1147,9 +1064,7 @@ msgstr "samo za registrovane korisnike" #: contrib/flatpages/models.py:14 msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "" -"Ako izaberete ovu opciju samo prijavljeni korisnici će imati pristup datoj " -"strani." +msgstr "Ako izaberete ovu opciju samo prijavljeni korisnici će imati pristup datoj strani." #: contrib/flatpages/models.py:18 msgid "flat page" @@ -1159,33 +1074,32 @@ msgstr "statična strana" msgid "flat pages" msgstr "statične strane" -#: contrib/auth/models.py:13 contrib/auth/models.py:26 +#: contrib/auth/models.py:13 +#: contrib/auth/models.py:26 msgid "name" msgstr "ime" #: contrib/auth/models.py:15 msgid "codename" -msgstr "kodno ime" +msgstr "šifra dozvole" #: contrib/auth/models.py:17 -#, fuzzy msgid "permission" -msgstr "Pravo" +msgstr "dozvola" -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -#, fuzzy +#: contrib/auth/models.py:18 +#: contrib/auth/models.py:27 msgid "permissions" -msgstr "Prava" +msgstr "dozvole" #: contrib/auth/models.py:29 -#, fuzzy msgid "group" -msgstr "Grupa" +msgstr "grupa" -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -#, fuzzy +#: contrib/auth/models.py:30 +#: contrib/auth/models.py:65 msgid "groups" -msgstr "Grupe" +msgstr "grupe" #: contrib/auth/models.py:55 msgid "username" @@ -1213,11 +1127,11 @@ msgstr "Koristite '[algo]$[salt]$[hexdigest]'" #: contrib/auth/models.py:60 msgid "staff status" -msgstr "dozvoli pristup administraciji sajta" +msgstr "dozvoljen pristup administraciji sajta" #: contrib/auth/models.py:60 msgid "Designates whether the user can log into this admin site." -msgstr "Određuje da li će korisnik imati pristup administratorskom delu sajta." +msgstr "Da li korisnik ima pristup administratorskom delu sajta." #: contrib/auth/models.py:61 msgid "active" @@ -1236,26 +1150,20 @@ msgid "date joined" msgstr "datum otvaranja naloga" #: contrib/auth/models.py:66 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"Uz ručno dodata prava, korisnik će dobiti sva prava iz grupa kojima pripada." +msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." +msgstr "Uz ručno dodata prava, korisnik će dobiti sva prava iz grupa kojima pripada." #: contrib/auth/models.py:67 -#, fuzzy msgid "user permissions" -msgstr "Prava" +msgstr "korisničke dozvole" #: contrib/auth/models.py:70 -#, fuzzy msgid "user" -msgstr "Korisnik" +msgstr "korisnik" #: contrib/auth/models.py:71 -#, fuzzy msgid "users" -msgstr "Korisnici" +msgstr "korisnici" #: contrib/auth/models.py:76 msgid "Personal info" @@ -1263,7 +1171,7 @@ msgstr "Lične informacije" #: contrib/auth/models.py:77 msgid "Permissions" -msgstr "Prava" +msgstr "Dozvole" #: contrib/auth/models.py:78 msgid "Important dates" @@ -1274,22 +1182,16 @@ msgid "Groups" msgstr "Grupe" #: contrib/auth/models.py:219 -#, fuzzy msgid "message" -msgstr "Poruka" +msgstr "poruka" #: contrib/auth/forms.py:30 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" -"Vaš web brovser nema omogućenje \"cookie\". \"cookie\" podrška je potrebna " -"da bi ste mogli da se prijavite." +msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." +msgstr "Vaš internet čitač nije prihvatio \"cookie\". \"Cookie\" podrška je potrebna da bi ste mogli da se prijavite." #: contrib/contenttypes/models.py:25 -#, fuzzy msgid "python model class name" -msgstr "ime python modula" +msgstr "naziv python modula" #: contrib/contenttypes/models.py:28 msgid "content type" @@ -1383,23 +1285,28 @@ msgstr "Januar" msgid "February" msgstr "Februar" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:14 +#: utils/dates.py:27 msgid "March" msgstr "Mart" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:14 +#: utils/dates.py:27 msgid "April" msgstr "April" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:14 +#: utils/dates.py:27 msgid "May" msgstr "Maj" -#: utils/dates.py:14 utils/dates.py:27 +#: utils/dates.py:14 +#: utils/dates.py:27 msgid "June" msgstr "Jun" -#: utils/dates.py:15 utils/dates.py:27 +#: utils/dates.py:15 +#: utils/dates.py:27 msgid "July" msgstr "Jul" @@ -1424,54 +1331,52 @@ msgid "December" msgstr "Decembar" #: utils/dates.py:19 -#, fuzzy msgid "jan" -msgstr "i" +msgstr "jan" #: utils/dates.py:19 msgid "feb" -msgstr "" +msgstr "feb" #: utils/dates.py:19 msgid "mar" -msgstr "" +msgstr "mar" #: utils/dates.py:19 msgid "apr" -msgstr "" +msgstr "apr" #: utils/dates.py:19 -#, fuzzy msgid "may" -msgstr "dan" +msgstr "maj" #: utils/dates.py:19 msgid "jun" -msgstr "" +msgstr "jun" #: utils/dates.py:20 msgid "jul" -msgstr "" +msgstr "jul" #: utils/dates.py:20 msgid "aug" -msgstr "" +msgstr "avg" #: utils/dates.py:20 msgid "sep" -msgstr "" +msgstr "sep" #: utils/dates.py:20 msgid "oct" -msgstr "" +msgstr "okt" #: utils/dates.py:20 msgid "nov" -msgstr "" +msgstr "nov" #: utils/dates.py:20 msgid "dec" -msgstr "" +msgstr "dec" #: utils/dates.py:27 msgid "Jan." @@ -1518,9 +1423,9 @@ msgstr[2] "meseci" #: utils/timesince.py:14 msgid "week" msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "nedelja" +msgstr[1] "nedelje" +msgstr[2] "nedelja" #: utils/timesince.py:15 msgid "day" @@ -1565,7 +1470,7 @@ msgstr "Nemački" #: conf/global_settings.py:42 msgid "Greek" -msgstr "" +msgstr "Grčki" #: conf/global_settings.py:43 msgid "English" @@ -1585,11 +1490,11 @@ msgstr "Galski" #: conf/global_settings.py:47 msgid "Hungarian" -msgstr "" +msgstr "Mađarski" #: conf/global_settings.py:48 msgid "Hebrew" -msgstr "" +msgstr "Hebrejski" #: conf/global_settings.py:49 msgid "Icelandic" @@ -1628,9 +1533,8 @@ msgid "Slovak" msgstr "Slovački" #: conf/global_settings.py:58 -#, fuzzy msgid "Slovenian" -msgstr "Slovački" +msgstr "Slovenački" #: conf/global_settings.py:59 msgid "Serbian" @@ -1641,9 +1545,8 @@ msgid "Swedish" msgstr "Švedski" #: conf/global_settings.py:61 -#, fuzzy msgid "Ukrainian" -msgstr "Brazilski" +msgstr "Ukrajinski" #: conf/global_settings.py:62 msgid "Simplified Chinese" @@ -1659,24 +1562,20 @@ msgid "This value must contain only letters, numbers and underscores." msgstr "Ovo polje može sadržati samo slova, brojeve i donju crtu (_)." #: core/validators.py:64 -#, fuzzy -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "" -"Ovo polje može sadržati samo slova, brojeve, donju crtu (_) i kose crte." +msgid "This value must contain only letters, numbers, underscores, dashes or slashes." +msgstr "Ovo polje može sadržati samo slova, brojeve, donju crtu (_), crtu (-) i kose crte." #: core/validators.py:72 msgid "Uppercase letters are not allowed here." -msgstr "Velika slova ovde nisu dozvoljena." +msgstr "Velika slova nisu dozvoljena." #: core/validators.py:76 msgid "Lowercase letters are not allowed here." -msgstr "Mala slova ovde nisu dozvoljena." +msgstr "Mala slova nisu dozvoljena." #: core/validators.py:83 msgid "Enter only digits separated by commas." -msgstr "Unesite samo brojeve razdvojene zarezima." +msgstr "Unesite brojeve razdvojene zarezima." #: core/validators.py:95 msgid "Enter valid e-mail addresses separated by commas." @@ -1688,7 +1587,7 @@ msgstr "Unesite ispravnu IP adresu." #: core/validators.py:103 msgid "Empty values are not allowed here." -msgstr "Prazne vrednosti ovde nisu dozvoljene." +msgstr "Prazne vrednosti nisu dozvoljene." #: core/validators.py:107 msgid "Non-numeric characters aren't allowed here." @@ -1714,7 +1613,8 @@ msgstr "Unesite ispravan datum u YYYY-MM-DD formatu." msgid "Enter a valid time in HH:MM format." msgstr "Unesite ispravno vreme u HH:MM formatu." -#: core/validators.py:132 db/models/fields/__init__.py:468 +#: core/validators.py:132 +#: db/models/fields/__init__.py:468 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." msgstr "Unesite ispravan datum i vreme u YYYY-MM-DD HH:MM formatu." @@ -1723,12 +1623,8 @@ msgid "Enter a valid e-mail address." msgstr "Unesite ispravnu e-mail adresu." #: core/validators.py:148 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Pošaljite ispravnu sliku. Fajl koji ste poslali ili nije slika ili je sam " -"fajl oštećen." +msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." +msgstr "Pošaljite ispravnu sliku. Fajl koji ste poslali ili nije slika ili je sam fajl oštećen." #: core/validators.py:155 #, python-format @@ -1739,8 +1635,7 @@ msgstr "URL %s ne pokazuje na ispravnu sliku" #: core/validators.py:159 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" -"Telefonski brojevi moraju biti u formatu XXX-XXX-XXXX. \"%s\" je neispravan." +msgstr "Telefonski brojevi moraju biti u formatu XXX-XXX-XXXX. \"%s\" je neispravan." #: core/validators.py:167 #, python-format @@ -1770,7 +1665,8 @@ msgstr "Neispravan XML: %s" msgid "Invalid URL: %s" msgstr "Neispravan URL: %s" -#: core/validators.py:206 core/validators.py:208 +#: core/validators.py:206 +#: core/validators.py:208 #, python-format msgid "The URL %s is a broken link." msgstr "URL %s je neispravan link." @@ -1797,7 +1693,8 @@ msgstr "Ovo polje mora biti jednako sa poljem '%s'." msgid "Please enter something for at least one field." msgstr "Morate popuniti barem jedno polje." -#: core/validators.py:264 core/validators.py:275 +#: core/validators.py:264 +#: core/validators.py:275 msgid "Please enter both fields or leave them both empty." msgstr "Popunite oba polja ili oba ostavite prazna." @@ -1827,8 +1724,7 @@ msgstr "Unesite ispravan decimalni broj." #: core/validators.py:349 #, python-format msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "" -"Please enter a valid decimal number with at most %s total digits." +msgid_plural "Please enter a valid decimal number with at most %s total digits." msgstr[0] "Unesite ispravan decimalni broj sa %s cifrom." msgstr[1] "Unesite ispravan decimalni broj sa %s cifre." msgstr[2] "Unesite ispravan decimalni broj sa %s cifara." @@ -1836,8 +1732,7 @@ msgstr[2] "Unesite ispravan decimalni broj sa %s cifara." #: core/validators.py:352 #, python-format msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "" -"Please enter a valid decimal number with at most %s decimal places." +msgid_plural "Please enter a valid decimal number with at most %s decimal places." msgstr[0] "Unesite decimalni broj sa najviše %s decimalnim mestom." msgstr[1] "Unesite decimalni broj sa najviše %s decimalna mesta." msgstr[2] "Unesite decimalni broj sa najviše %s decimalnih mesta." @@ -1867,63 +1762,38 @@ msgstr "Ništa nije moglo da se skine sa URL-a %s." #: core/validators.py:429 #, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" -"Sa URL-a %(url)s se vratio pogrešan Content-Type header '%(contenttype)s'." +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "Sa URL-a %(url)s se vratio pogrešan Content-Type header '%(contenttype)s'." #: core/validators.py:462 #, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" -"Zatvorite nezatvoren tag \"%(tag)s\" iz reda %(line)s. (Red počinje sa \"%" -"(start)s\".)" +msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" +msgstr "Zatvorite nezatvoren tag \"%(tag)s\" iz reda %(line)s. (Red počinje sa \"%(start)s\".)" #: core/validators.py:466 #, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Tekst koji počinje u redu %(line)s nije dozvoljen u ovom kontekstu. (Red " -"počinje sa \"%(start)s\".)" +msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" +msgstr "Tekst koji počinje u redu %(line)s nije dozvoljen u ovom kontekstu. (Red počinje sa \"%(start)s\".)" #: core/validators.py:471 #, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"Atribut \"%(attr)s\" u red %(line)s je neispravan. (Red počinje sa \"%(start)" -"s\".)" +msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" +msgstr "Atribut \"%(attr)s\" u red %(line)s je neispravan. (Red počinje sa \"%(start)s\".)" #: core/validators.py:476 #, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"Tag \"<%(tag)s>\" u redu %(line)s je neispravan. (Red počinje \"%(start)s\".)" +msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" +msgstr "Tag \"<%(tag)s>\" u redu %(line)s je neispravan. (Red počinje \"%(start)s\".)" #: core/validators.py:480 #, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Tag-u u redu %(line)s nedostaje jedan ili više atributa. (Red počinje sa \"%" -"(start)s\".)" +msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" +msgstr "Tag-u u redu %(line)s nedostaje jedan ili više atributa. (Red počinje sa \"%(start)s\".)" #: core/validators.py:485 #, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Atribut \"%(attr)s\" u redu %(line)s ima neispravnu vrednost. (Red počinje " -"sa \"%(start)s\".)" +msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" +msgstr "Atribut \"%(attr)s\" u redu %(line)s ima neispravnu vrednost. (Red počinje sa \"%(start)s\".)" #: db/models/manipulators.py:302 #, python-format @@ -1935,26 +1805,25 @@ msgstr "%(object)s sa ovim tipom %(type)s već postoji za polje %(field)s." msgid "%(optname)s with this %(fieldname)s already exists." msgstr "%(optname)s sa ovim %(fieldname)s već postoji." -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 +#: db/models/fields/__init__.py:114 +#: db/models/fields/__init__.py:265 +#: db/models/fields/__init__.py:542 +#: db/models/fields/__init__.py:553 #: forms/__init__.py:346 msgid "This field is required." msgstr "Obavezno polje." #: db/models/fields/__init__.py:337 -#, fuzzy msgid "This value must be an integer." -msgstr "Vrednost mora biti stepena %s." +msgstr "Vrednost mora biti celi broj." #: db/models/fields/__init__.py:369 -#, fuzzy msgid "This value must be either True or False." -msgstr "Vrednost mora biti stepena %s." +msgstr "Vrednost mora biti True ili False." #: db/models/fields/__init__.py:385 -#, fuzzy msgid "This field cannot be null." -msgstr "Neispravno polje." +msgstr "Polje ne može sadržati praznu vrednost." #: db/models/fields/__init__.py:562 msgid "Enter a valid filename." @@ -1966,23 +1835,17 @@ msgid "Please enter a valid %s." msgstr "Unesite ispravan %s." #: db/models/fields/related.py:579 -#, fuzzy msgid "Separate multiple IDs with commas." -msgstr " Odvojite višestruke ID-ove zarezima." +msgstr "Odvojite višestruke ID-ove zarezima." #: db/models/fields/related.py:581 -#, fuzzy -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -" Koristite \"Ctrl\" (PC) ili \"Jabuku\" (Mek) da bi ste selektovali više " -"stavki." +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Koristite \"Ctrl\" (PC) ili \"Jabuku\" (Mek) da bi ste selektovali više stavki." #: db/models/fields/related.py:625 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -msgid_plural "" -"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." msgstr[0] "Unesite validne %(self)s ID-ove. Vrednost %(value)r je neispravna." msgstr[1] "Unesite validne %(self)s ID-ove. Vrednost %(value)r je neispravna." msgstr[2] "Unesite validne %(self)s ID-ove. Vrednost %(value)r je neispravna." @@ -1999,7 +1862,9 @@ msgstr[2] "Tekst mora imati manje od %s slova." msgid "Line breaks are not allowed here." msgstr "Novi redovi ovde nisu dozvoljeni." -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 +#: forms/__init__.py:480 +#: forms/__init__.py:551 +#: forms/__init__.py:589 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." msgstr "Izaberite validnu opciju: '%(data)s' nije u %(choices)s." @@ -2026,25 +1891,18 @@ msgstr "da,ne,možda" #~ msgid "Comment" #~ msgstr "Komentar" - #~ msgid "Comments" #~ msgstr "Komentari" - #~ msgid "String (up to 50)" #~ msgstr "Niz karaktera (maksimalno 50 karaktera)" - #~ msgid "label" #~ msgstr "labela" - #~ msgid "package" #~ msgstr "paket" - #~ msgid "packages" #~ msgstr "paketi" - #~ msgid "Error in Template" #~ msgstr "Greška u templejtu" - #~ msgid "" #~ "\n" #~ "In template %(name)s, error at line %(line)s:\n" @@ -2055,3 +1913,4 @@ msgstr "da,ne,možda" #, fuzzy #~ msgid "count" #~ msgstr "sadržaj" + diff --git a/django/conf/locale/sr/LC_MESSAGES/djangojs.mo b/django/conf/locale/sr/LC_MESSAGES/djangojs.mo index 4ae94424df381a90540f8de9670e40640afaf6c0..d4036a893e5322369fd426e1bb5c0658d2aa5f88 100644 GIT binary patch delta 303 zcmZ3?+sZrPO#NR*1_m2u1_m|;1_mou1_pK@?Fgi~fwU)(<^a;6P&y7s^8@+mK$;gw zmjh{#x>hKEB9I0e#V{X82LS2CKpJH37a$Ep48MT{3y@|63WCgKV`I=`-~%%FfdaBX zS`J8?0cjf`4bo5yr7NLy{pLzWV~RsBLf9P3oBDYZ39CC11_J$;u77EqQt!7 zoWzp+A}fV})RM#^1>eM?%p>gzHU%J_UM`TA?2w+Dn3-2XPdHlu delta 322 zcmZqWUCcY-OuaG_1A`4S0|Ofa149BU0|O8-qyq_VAe{@OIe>H}lx_mjyg+_8RDLFu zUJ4c82&92VG3*D@0YLgNkOrA60wjP;25BJ80;CmzG)P>HjX{rr56I93@??Ru4Ujei z(osMfq+ueIo(`qwZmwiBW(qRXH89jQG*vJ(v@$Z$HZU|W;POcl%{0n7nUZLloaLbCFko^mQMc6 zykF2KF)zI|F+J5vAvm=tDKjx|@(PxDlRa3~_!P>DQgc%oJgX9uQj0PtH?a0h=3^@d E0BVOpD*ylh diff --git a/django/conf/locale/sr/LC_MESSAGES/djangojs.po b/django/conf/locale/sr/LC_MESSAGES/djangojs.po index ce23be3ee4..a70d878ea4 100644 --- a/django/conf/locale/sr/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/sr/LC_MESSAGES/djangojs.po @@ -8,13 +8,12 @@ msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-12-09 11:51+0100\n" -"PO-Revision-Date: 2006-01-15 11:24+0100\n" -"Last-Translator: Nebojša Đorđević \n" +"PO-Revision-Date: 2007-02-20 18:51+0100\n" +"Last-Translator: Petar Marić \n" "Language-Team: Nesh & Petar \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Serbian\n" "X-Poedit-Country: YUGOSLAVIA\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" @@ -25,15 +24,15 @@ msgstr "Dostupno %s" #: contrib/admin/media/js/SelectFilter2.js:41 msgid "Choose all" -msgstr "Izaberi sve" +msgstr "Izaberite sve" #: contrib/admin/media/js/SelectFilter2.js:46 msgid "Add" -msgstr "Dodaj" +msgstr "Dodajte" #: contrib/admin/media/js/SelectFilter2.js:48 msgid "Remove" -msgstr "Izbaci" +msgstr "Izbacite" #: contrib/admin/media/js/SelectFilter2.js:53 #, perl-format @@ -72,7 +71,7 @@ msgstr "Sat" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 msgid "Choose a time" -msgstr "Izaberi vreme" +msgstr "Izaberite vreme" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 msgid "Midnight" diff --git a/django/conf/locale/sv/LC_MESSAGES/django.mo b/django/conf/locale/sv/LC_MESSAGES/django.mo index 90035f7c87ccf99433cb0d19c2382e21879fea7c..5654541a4e663894ff6e760bbd2ecd0cd0fe0c0d 100644 GIT binary patch literal 45632 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, 2005. # msgid "" msgstr "" -"Project-Id-Version: Django\n" +"Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:13+0200\n" -"PO-Revision-Date: 2005-12-04 16:20+0100\n" -"Last-Translator: Robin Sonefors \n" -"Language-Team: Django translators \n" +"POT-Creation-Date: 2007-06-15 17:35+0200\n" +"PO-Revision-Date: 2007-03-06 10:30+0100\n" +"Last-Translator: Ludvig Ericson \n" +"Language-Team: Django I18N \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Swedish\n" "X-Poedit-Country: SWEDEN\n" +#: oldforms/__init__.py:357 db/models/fields/__init__.py:121 +#: db/models/fields/__init__.py:278 db/models/fields/__init__.py:675 +#: db/models/fields/__init__.py:686 newforms/models.py:185 +#: newforms/fields.py:87 newforms/fields.py:444 newforms/fields.py:520 +#: newforms/fields.py:531 +msgid "This field is required." +msgstr "Det här fältet är obligatoriskt." + +#: oldforms/__init__.py:392 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Se till att din text är kortare än %s tecken." +msgstr[1] "Se till att din text är kortare än %s tecken." + +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "Radbrytningar är inte tillåtna här." + +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Välj ett giltigt alternativ. '%(data)s' finns inte bland %(choices)s." + +#: oldforms/__init__.py:577 newforms/widgets.py:182 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Okänt" + +#: oldforms/__init__.py:577 newforms/widgets.py:182 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "Ja" + +#: oldforms/__init__.py:577 newforms/widgets.py:182 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "Nej" + +#: oldforms/__init__.py:672 core/validators.py:175 core/validators.py:453 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ingen fil skickades. Kontrollera kodningnstypen i formen." + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "Den insända filen är tom." + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Fyll i ett heltal mellan -32768 och 32767." + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "Fyll i ett positivt heltal." + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Fyll i ett heltal mellan 0 och 32767." + +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s med typen %(type)s finns redan för %(field)s." + +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "och" + +#: db/models/fields/__init__.py:46 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s med det här %(fieldname)s finns redan." + +#: db/models/fields/__init__.py:373 +msgid "This value must be an integer." +msgstr "Det här värdet måste vara ett heltal." + +#: db/models/fields/__init__.py:408 +msgid "This value must be either True or False." +msgstr "Det här värdet måste vara True eller False" + +#: db/models/fields/__init__.py:429 +msgid "This field cannot be null." +msgstr "Det här fältet kan inte vara null." + +#: db/models/fields/__init__.py:463 core/validators.py:149 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Fyll i ett giltigt datum i ÅÅÅÅ-MM-DD format." + +#: db/models/fields/__init__.py:532 core/validators.py:158 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Fyll i en giltig tidpunkt i ÅÅÅÅ-MM-DD HH:MM format" + +#: db/models/fields/__init__.py:592 +#, fuzzy +msgid "This value must be a decimal number." +msgstr "Det här värdet måste vara ett heltal." + +#: db/models/fields/__init__.py:695 +msgid "Enter a valid filename." +msgstr "Fyll i ett giltigt filnamn." + +#: db/models/fields/__init__.py:818 +#, fuzzy +msgid "This value must be either None, True or False." +msgstr "Det här värdet måste vara antingen True eller False." + +#: db/models/fields/related.py:53 +#, python-format +msgid "Please enter a valid %s." +msgstr "Var god fyll i giltigt %s." + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Separera flera ID:n med kommatecken." + +#: db/models/fields/related.py:644 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Håll ner \"Control\", eller \"Command\" på en Mac, för att välja mer än en." + +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +"Var god och fyll giltiga %(self)s ID-nummer. Värdet %(value)r är ogiltigt." +msgstr[1] "" +"Var god och fyll giltiga %(self)s ID-nummer. Värdena %(value)r är ogiltiga." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabiska" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengaliska" + +#: conf/global_settings.py:41 +#, fuzzy +msgid "Bulgarian" +msgstr "Ungerska" + +#: conf/global_settings.py:42 +msgid "Catalan" +msgstr "Katalanska" + +#: conf/global_settings.py:43 +msgid "Czech" +msgstr "Tjeckiska" + +#: conf/global_settings.py:44 +msgid "Welsh" +msgstr "Walesiska" + +#: conf/global_settings.py:45 +msgid "Danish" +msgstr "Danska" + +#: conf/global_settings.py:46 +msgid "German" +msgstr "Tyska" + +#: conf/global_settings.py:47 +msgid "Greek" +msgstr "Grekiska" + +#: conf/global_settings.py:48 +msgid "English" +msgstr "Engelska" + +#: conf/global_settings.py:49 +msgid "Spanish" +msgstr "Spanska" + +#: conf/global_settings.py:50 +msgid "Argentinean Spanish" +msgstr "Argentisk Spanska" + +#: conf/global_settings.py:51 +msgid "Finnish" +msgstr "Finska" + +#: conf/global_settings.py:52 +msgid "French" +msgstr "Franska" + +#: conf/global_settings.py:53 +msgid "Galician" +msgstr "Galisiska" + +#: conf/global_settings.py:54 +msgid "Hungarian" +msgstr "Ungerska" + +#: conf/global_settings.py:55 +msgid "Hebrew" +msgstr "Hebreiska" + +#: conf/global_settings.py:56 +msgid "Icelandic" +msgstr "Isländska" + +#: conf/global_settings.py:57 +msgid "Italian" +msgstr "Italienska" + +#: conf/global_settings.py:58 +msgid "Japanese" +msgstr "Japanska" + +#: conf/global_settings.py:59 +msgid "Korean" +msgstr "Koreanska" + +#: conf/global_settings.py:60 +msgid "Kannada" +msgstr "Kannada" + +#: conf/global_settings.py:61 +msgid "Latvian" +msgstr "Lettiska" + +#: conf/global_settings.py:62 +msgid "Macedonian" +msgstr "Makedonska" + +#: conf/global_settings.py:63 +msgid "Dutch" +msgstr "Holländska" + +#: conf/global_settings.py:64 +msgid "Norwegian" +msgstr "Norska" + +#: conf/global_settings.py:65 +msgid "Polish" +msgstr "Polska" + +#: conf/global_settings.py:66 +msgid "Portugese" +msgstr "Portugisiska" + +#: conf/global_settings.py:67 +msgid "Brazilian" +msgstr "Brasilianska" + +#: conf/global_settings.py:68 +msgid "Romanian" +msgstr "Rumänska" + +#: conf/global_settings.py:69 +msgid "Russian" +msgstr "Ryska" + +#: conf/global_settings.py:70 +msgid "Slovak" +msgstr "Slovakiska" + +#: conf/global_settings.py:71 +msgid "Slovenian" +msgstr "Slovenska" + +#: conf/global_settings.py:72 +msgid "Serbian" +msgstr "Serbiska" + +#: conf/global_settings.py:73 +msgid "Swedish" +msgstr "Svenska" + +#: conf/global_settings.py:74 +msgid "Tamil" +msgstr "Tamil" + +#: conf/global_settings.py:75 +msgid "Telugu" +msgstr "Telugu" + +#: conf/global_settings.py:76 +msgid "Turkish" +msgstr "Turkiska" + +#: conf/global_settings.py:77 +msgid "Ukrainian" +msgstr "Ukrainska" + +#: conf/global_settings.py:78 +msgid "Simplified Chinese" +msgstr "Förenklad Kinesiska" + +#: conf/global_settings.py:79 +msgid "Traditional Chinese" +msgstr "Traditionell Kinesiska" + +#: core/validators.py:65 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Det här värdet får bara innehålla bokstäver, tal och understräck." + +#: core/validators.py:69 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Det här värdet får bara innehålla bokstäver, siffror, understräck, sträck " +"och snedsträck" + +#: core/validators.py:73 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "" +"Det här värdet får bara innehålla bokstäver, siffror, understräck eller " +"bindessträck." + +#: core/validators.py:77 +msgid "Uppercase letters are not allowed here." +msgstr "Stora bokstäver är inte tillåtna här." + +#: core/validators.py:81 +msgid "Lowercase letters are not allowed here." +msgstr "Små bokstäver är inte tillåtna här." + +#: core/validators.py:88 +msgid "Enter only digits separated by commas." +msgstr "Fyll enbart i siffror avskilda med kommatecken." + +#: core/validators.py:100 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Fyll i giltiga e-mailadresser avskilda med kommatecken." + +#: core/validators.py:104 +msgid "Please enter a valid IP address." +msgstr "Var god fyll i en giltigt IP-adress." + +#: core/validators.py:108 +msgid "Empty values are not allowed here." +msgstr "Tomma värden är inte tillåtna här." + +#: core/validators.py:112 +msgid "Non-numeric characters aren't allowed here." +msgstr "Icke-numeriska tecken är inte tillåtna här." + +#: core/validators.py:116 +msgid "This value can't be comprised solely of digits." +msgstr "Det här värdet kan inte enbart bestå av siffror." + +#: core/validators.py:121 newforms/fields.py:135 +msgid "Enter a whole number." +msgstr "Fyll i ett heltal." + +#: core/validators.py:125 +msgid "Only alphabetical characters are allowed here." +msgstr "Endast bokstäver är tillåtna här." + +#: core/validators.py:140 +msgid "Year must be 1900 or later." +msgstr "Årtal måste vara 1900 eller senare." + +#: core/validators.py:144 +#, fuzzy, python-format +msgid "Invalid date: %s" +msgstr "Felaktigt datum: %s" + +#: core/validators.py:154 +msgid "Enter a valid time in HH:MM format." +msgstr "Fyll i en giltig tid i HH:MM format." + +#: core/validators.py:163 newforms/fields.py:339 +msgid "Enter a valid e-mail address." +msgstr "Fyll i en giltig e-mailadress." + +#: core/validators.py:179 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Ladda upp en giltig bild. Filen du laddade upp var antingen ingen bild eller " +"en korrupt bild." + +#: core/validators.py:186 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "URL:en %s pekar inte mot en giltig bild." + +#: core/validators.py:190 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" +"Telefonnummer måste vara i det amerikanska XXX-XXX-XXXX formated. \"%s\" är " +"ogiltigt." + +#: core/validators.py:198 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "URL:en %s pekar inte på en giltig QuickTime-video." + +#: core/validators.py:202 +msgid "A valid URL is required." +msgstr "En giltig URL krävs." + +#: core/validators.py:216 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Giltig HTML krävs. Specifika fel är:\n" +"%s" + +#: core/validators.py:223 +#, python-format +msgid "Badly formed XML: %s" +msgstr "Missformad XML: %s" + +#: core/validators.py:240 +#, python-format +msgid "Invalid URL: %s" +msgstr "Felaktig URL: %s" + +#: core/validators.py:245 core/validators.py:247 +#, python-format +msgid "The URL %s is a broken link." +msgstr "URL:en %s är en trasig länk." + +#: core/validators.py:253 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Fyll i en giltig förkortning för en amerikansk delstat." + +#: core/validators.py:267 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "Akta din tunga! Ordet %s är inte tillåtet här." +msgstr[1] "Akta din tunga! Orden %s är inte tillåtna här." + +#: core/validators.py:274 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Det här fältet måste matcha fältet '%s'." + +#: core/validators.py:293 +msgid "Please enter something for at least one field." +msgstr "Var god fyll i minst ett fält." + +#: core/validators.py:302 core/validators.py:313 +msgid "Please enter both fields or leave them both empty." +msgstr "Fyll antingen i båda fälten, eller lämna båda tomma." + +#: core/validators.py:321 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Det är fältet måste anges om %(field)s är %(value)s" + +#: core/validators.py:334 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Det här fältet måste anges om %(field)s inte är %(value)s" + +#: core/validators.py:353 +msgid "Duplicate values are not allowed." +msgstr "Upprepade värden är inte tillåtna." + +#: core/validators.py:368 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Det här värdet måste vara mellan %(lower)s och %(upper)s." + +#: core/validators.py:370 +#, python-format +msgid "This value must be at least %s." +msgstr "Det här värdet måste vara minst %s." + +#: core/validators.py:372 +#, python-format +msgid "This value must be no more than %s." +msgstr "Det här värdet får inte vara mer än %s." + +#: core/validators.py:408 +#, python-format +msgid "This value must be a power of %s." +msgstr "Det här värdet måste vara en potens av %s." + +#: core/validators.py:417 +msgid "Please enter a valid decimal number." +msgstr "Fyll i ett giltigt decimaltal." + +#: core/validators.py:423 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "" +"Please enter a valid decimal number with at most %s total digits." +msgstr[0] "Fyll i ett giltigt decimaltal med högst %s siffra totalt." +msgstr[1] "Fyll i ett giltigt decimaltal med högst %s siffror totalt." + +#: core/validators.py:426 +#, python-format +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "" +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "" +"Fyll i ett giltigt decimaltal med en heltalsdel som högst är %s siffra." +msgstr[1] "" +"Fyll i ett giltigt decimaltal med en heltalsdel som högst är %s siffror." + +#: core/validators.py:429 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "" +"Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "Fyll i ett giltigt decimaltal med högst %s decimal." +msgstr[1] "Fyll i ett giltigt decimaltal med högst %s decimaler." + +#: core/validators.py:437 +msgid "Please enter a valid floating point number." +msgstr "Fyll i ett giltigt flyttal." + +#: core/validators.py:446 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Se till att filen du laddade upp är minst %s bytes stor." + +#: core/validators.py:447 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Se till att filen du laddade upp är som mest %s bytes stor." + +#: core/validators.py:464 +msgid "The format for this field is wrong." +msgstr "Formatet på det här fältet är fel." + +#: core/validators.py:479 +msgid "This field is invalid." +msgstr "Det här fältet är ogiltigt." + +#: core/validators.py:515 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Kunde inte hämta något från %s." + +#: core/validators.py:518 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" +"URL:en %(url)s returnerade den ogiltiga Content-Type headern '%(contenttype)" +"s'" + +#: core/validators.py:551 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"Var god avsluta den oavslutade taggen %(tag)s på rad %(line)s. (Raden börjar " +"med \"%(start)s\".)" + +#: core/validators.py:555 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"En del text från rad %(line)s är inte tillåtet i det sammanhanget. (Raden " +"börjar med \"%(start)s\".)" + +#: core/validators.py:560 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"%(attr)s\" på rad %(line)s är inte ett giltigt attribut. (Raden startar " +"med \"%(start)s\".)" + +#: core/validators.py:565 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"<%(tag)s>\" på rad %(line)s är en ogiltig tagg. (Raden börjar med \"%" +"(start)s\".)" + +#: core/validators.py:569 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"En tagg på rad %(line)s saknar en eller flera nödvändiga attribut. (Raden " +"börjar med \"%(start)s\".)" + +#: core/validators.py:574 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Attributet \"%(attr)s\" på rad %(line)s har ett ogiltigt värde. (Raden " +"börjar med \"%(start)s\".)" + +#: views/generic/create_update.py:43 +#, python-format +#, fuzzy +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s skapades framgångsrikt." + +#: views/generic/create_update.py:117 +#, python-format +#, fuzzy +msgid "The %(verbose_name)s was updated successfully." +msgstr " %(verbose_name)s uppdaterades framgångsrikt." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s togs bort." + +#: newforms/models.py:172 newforms/fields.py:432 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Välj ett giltigt alternativ. Det valet finns inte bland tillgängliga " +"alternativ." + +#: newforms/models.py:189 newforms/fields.py:448 newforms/fields.py:524 +msgid "Enter a list of values." +msgstr "Fyll i en lista med värden." + +#: newforms/models.py:195 newforms/fields.py:457 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "" +"Välj ett giltigt alternativ. '%s' finns inte bland tillgängliga alternativ." + +#: newforms/fields.py:110 newforms/fields.py:324 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Säkerställ att detta värdet har högst %d tecken." + +#: newforms/fields.py:112 newforms/fields.py:326 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Säkerställ att detta värdet har minst %d tecken." + +#: newforms/fields.py:137 newforms/fields.py:160 newforms/fields.py:192 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Säkerställ att detta värdet är mindre eller lika med %s." + +#: newforms/fields.py:139 newforms/fields.py:162 newforms/fields.py:194 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Säkerställ att detta värdet är mer eller lika med %s." + +#: newforms/fields.py:158 newforms/fields.py:186 +msgid "Enter a number." +msgstr "Fyll i ett tal." + +#: newforms/fields.py:196 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Säkerställ att det inte finns mer än %s siffror totalt." + +#: newforms/fields.py:198 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Säkerställ att det inte finns mer än %s decimaler." + +#: newforms/fields.py:200 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Säkerställ att det inte finns mer än %s siffror före kommatecknet." + +#: newforms/fields.py:233 +msgid "Enter a valid date." +msgstr "Fyll i ett giltigt datum." + +#: newforms/fields.py:260 +msgid "Enter a valid time." +msgstr "Fyll i en giltig tid." + +#: newforms/fields.py:296 +msgid "Enter a valid date/time." +msgstr "Fyll i ett giltigt datum/tid." + +#: newforms/fields.py:310 +msgid "Enter a valid value." +msgstr "Fyll i ett giltigt värde." + +#: newforms/fields.py:357 newforms/fields.py:379 +msgid "Enter a valid URL." +msgstr "Fyll i ett giltigt URL." + +#: newforms/fields.py:381 +msgid "This URL appears to be a broken link." +msgstr "Denna URL verkar vara en trasig länk." + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f miljon" +msgstr[1] "%(value).1f miljoner" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +#, fuzzy +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value)1.f miljard" +msgstr[1] "%(value)1.f miljarder" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +#, fuzzy +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value)1.f biljon" +msgstr[1] "%(value)1.f biljoner" + +#: contrib/humanize/templatetags/humanize.py:68 +#, fuzzy +msgid "one" +msgstr "ett" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "två" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "tre" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "fyra" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "fem" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "sex" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "sju" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "åtta" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "nio" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "omdirigera från" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Det här bör vara en absolut sökväg, förutom domännamnet. Exempel: '/" +"handelser/sok/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "omdirigera till" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Detta kan vara antingen en absolut sökväg (som ovan), eller en komplett URL " +"som börjar med 'http://'." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "omdirigera" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "omdirigeringar" + #: contrib/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" -msgstr "objektets id" +msgstr "objektets ID" #: contrib/comments/models.py:68 msgid "headline" @@ -75,7 +882,7 @@ msgstr "datum/tid postat" msgid "is public" msgstr "är offentligt" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:305 msgid "IP address" msgstr "IP-adress" @@ -92,13 +899,12 @@ msgstr "" "kommentaren har tagits bort\"-meddelande kommer visas istället" #: contrib/comments/models.py:91 -#, fuzzy msgid "comments" -msgstr "kommentar" +msgstr "kommentarer" #: contrib/comments/models.py:131 contrib/comments/models.py:207 msgid "Content object" -msgstr "innehållsobjekt" +msgstr "Innehållsobjekt" #: contrib/comments/models.py:159 #, python-format @@ -128,14 +934,12 @@ msgid "approved by staff" msgstr "godkänd av personal" #: contrib/comments/models.py:176 -#, fuzzy msgid "free comment" -msgstr "Fri kommentar" +msgstr "fri kommentar" #: contrib/comments/models.py:177 -#, fuzzy msgid "free comments" -msgstr "Fria kommentarer" +msgstr "fria kommentarer" #: contrib/comments/models.py:233 msgid "score" @@ -143,17 +947,15 @@ msgstr "poäng" #: contrib/comments/models.py:234 msgid "score date" -msgstr "poängens datum" +msgstr "poängdatum" #: contrib/comments/models.py:237 -#, fuzzy msgid "karma score" -msgstr "Karmapoäng" +msgstr "karmapoäng" #: contrib/comments/models.py:238 -#, fuzzy msgid "karma scores" -msgstr "Karmapoäng" +msgstr "karmapoäng" #: contrib/comments/models.py:242 #, python-format @@ -176,14 +978,12 @@ msgid "flag date" msgstr "flaggdatum" #: contrib/comments/models.py:268 -#, fuzzy msgid "user flag" -msgstr "Användarflagga" +msgstr "användares flagga" #: contrib/comments/models.py:269 -#, fuzzy msgid "user flags" -msgstr "Användarflaggor" +msgstr "användares flaggor" #: contrib/comments/models.py:273 #, python-format @@ -195,14 +995,12 @@ msgid "deletion date" msgstr "borttagningsdatum" #: contrib/comments/models.py:280 -#, fuzzy msgid "moderator deletion" -msgstr "Moderatorborttagning" +msgstr "moderatorborttagning" #: contrib/comments/models.py:281 -#, fuzzy msgid "moderator deletions" -msgstr "Moderatorborttagningar" +msgstr "moderatorborttagningar" #: contrib/comments/models.py:285 #, python-format @@ -215,18 +1013,18 @@ msgstr "Anonyma användare kan inte rösta" #: contrib/comments/views/karma.py:23 msgid "Invalid comment ID" -msgstr "Kommentaren har ett ogiltigt ID" +msgstr "Ogiltig kommentarsidentifikation" #: contrib/comments/views/karma.py:25 msgid "No voting for yourself" msgstr "Du får inte rösta på dig själv" -#: contrib/comments/views/comments.py:28 +#: contrib/comments/views/comments.py:27 msgid "" "This rating is required because you've entered at least one other rating." msgstr "Det här betyget krävs eftersom du har fyllt i minst ett annat betyg." -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, python-format msgid "" "This comment was posted by a user who has posted fewer than %(count)s " @@ -239,17 +1037,17 @@ msgid_plural "" "\n" "%(text)s" msgstr[0] "" -"Den här kommentaren postades av en användare som har postat färre än %(count)" -"s kommentar:\n" +"Den här kommentaren postades av en användare som har postat mindre än %" +"(count)s kommentar:\n" "\n" "%(text)s" msgstr[1] "" -"Den här kommentaren postades av en användare som har postat färre än %(count)" -"s kommentarer:\n" +"Den här kommentaren postades av en användare som har postat mindre än %" +"(count)s kommentarer:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:117 +#: contrib/comments/views/comments.py:116 #, python-format msgid "" "This comment was posted by a sketchy user:\n" @@ -260,34 +1058,34 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" -msgstr "Endast POSTningar är tillåtna" +msgstr "Endast POST tillåtet" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" -msgstr "Ett eller fler av fälten som krävs fylldes inte i" +msgstr "Ett eller flera av de obligatoriska fälten var inte ifyllda" -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" -msgstr "Någon fifflade med kommenteringsformuläret (säkerhetsbrott)" +msgstr "Någon fifflade med kommentarformuläret (säkerhetsbrott)" -#: contrib/comments/views/comments.py:207 +#: contrib/comments/views/comments.py:206 #: contrib/comments/views/comments.py:292 msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " "invalid" msgstr "" -"Kommenteringsformuläret har en ogiltig 'target'-parameter -- objektets ID är " +"Kommentars-formuläret hade en ogiltig 'mål'-parameter -- objektets ID var " "ogiltigt" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "Kommenteringsformuläret skickade varken 'förhandsgranska' eller 'post'" +msgstr "Kommentars-formuläret skickade varken 'förhandsgranska' eller 'post'" #: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 @@ -296,71 +1094,83 @@ msgid "Username:" msgstr "Användarnamn:" #: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Lösenord:" - -#: contrib/comments/templates/comments/form.html:6 -#, fuzzy -msgid "Forgotten your password?" -msgstr "Ändra mitt lösenord" - -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: 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/missing_docutils.html:4 #: contrib/admin/templates/admin_doc/view_index.html:5 #: contrib/admin/templates/admin_doc/model_detail.html:3 #: contrib/admin/templates/admin_doc/index.html:4 #: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 msgid "Log out" msgstr "Logga ut" +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Lösenord:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Glömt ditt lösenord?" + #: contrib/comments/templates/comments/form.html:12 -#, fuzzy msgid "Ratings" -msgstr "betyg #1" +msgstr "Betyg" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 msgid "Required" -msgstr "" +msgstr "Obligatorisk" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 msgid "Optional" -msgstr "" +msgstr "Valfri" #: contrib/comments/templates/comments/form.html:23 msgid "Post a photo" -msgstr "" +msgstr "Lägg till foto" -#: contrib/comments/templates/comments/form.html:27 +#: contrib/comments/templates/comments/form.html:28 #: contrib/comments/templates/comments/freeform.html:5 -#, fuzzy msgid "Comment:" -msgstr "Kommentar" +msgstr "Kommentar:" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 -#, fuzzy +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 msgid "Preview comment" -msgstr "Fri kommentar" +msgstr "Förhandsgranska kommentar" #: contrib/comments/templates/comments/freeform.html:4 -#, fuzzy msgid "Your name:" -msgstr "användarnamn" +msgstr "Ditt namn:" + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "domännamn" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "visat namn" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "site" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "siter" #: contrib/admin/filterspecs.py:40 #, python-format @@ -372,7 +1182,7 @@ msgstr "" "
                                                                                    \n" #: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 msgid "All" msgstr "Alla" @@ -396,21 +1206,9 @@ msgstr "Den här månaden" msgid "This year" msgstr "Det här året" -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "Ja" - -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "Nej" - -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Okänt" - #: contrib/admin/models.py:16 msgid "action time" -msgstr "tid för händelse" +msgstr "händelsetid" #: contrib/admin/models.py:19 msgid "object id" @@ -436,252 +1234,353 @@ msgstr "loggpost" msgid "log entries" msgstr "loggposter" -#: contrib/admin/templatetags/admin_list.py:228 +#: contrib/admin/templatetags/admin_list.py:249 msgid "All dates" msgstr "Alla datum" -#: contrib/admin/views/decorators.py:9 contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" - -#: contrib/admin/views/decorators.py:23 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "Logga in" - -#: contrib/admin/views/decorators.py:61 -msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." -msgstr "" -"Du måste logga in igen, eftersom din session har tagit slut. Oroa dig inte: " -"ditt bidrag har sparats." - -#: contrib/admin/views/decorators.py:68 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "" -"Det ser ut som om din webbläsare inte är konfigurerad att acceptera kakor. " -"Aktivera kakor, ladda om den här sidan, och försök igen." - -#: contrib/admin/views/decorators.py:82 -msgid "Usernames cannot contain the '@' character." -msgstr "Användarnamn kan inte innehålla tecknet '@'." - -#: contrib/admin/views/decorators.py:84 -#, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "Din e-postadress är inte ditt användarnamn. Försök med '%s' istället." - -#: contrib/admin/views/main.py:226 -msgid "Site administration" -msgstr "Hemsideadministration" - -#: contrib/admin/views/main.py:260 +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "%(name)set \"%(obj)s\" lades till." +msgstr "%(name)s \"%(obj)s\" lades till." -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 msgid "You may edit it again below." -msgstr "Du kan ändra det igen här under." +msgstr "Du kan ändra det igen nedanför." -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 +#: contrib/admin/views/auth.py:30 +msgid "Add user" +msgstr "Lägg till användare" + +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Lösenordet ändrades framgångsrikt." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Ändra lösenord: %s" + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Site-administration" + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 #, python-format msgid "You may add another %s below." -msgstr "Du kan lägga till en till %s här under" +msgstr "Du kan lägga till en till %s nedanför." -#: contrib/admin/views/main.py:290 +#: contrib/admin/views/main.py:289 #, python-format msgid "Add %s" msgstr "Lägg till %s" -#: contrib/admin/views/main.py:336 +#: contrib/admin/views/main.py:335 #, python-format msgid "Added %s." msgstr "Lade till %s." -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 -msgid "and" -msgstr "och" - -#: contrib/admin/views/main.py:338 +#: contrib/admin/views/main.py:337 #, python-format msgid "Changed %s." msgstr "Ändrade %s." -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:339 #, python-format msgid "Deleted %s." msgstr "Tog bort %s." -#: contrib/admin/views/main.py:343 +#: contrib/admin/views/main.py:342 msgid "No fields changed." msgstr "Inga fält ändrade." -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:345 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "%(name)set \"%(obj)s\" ändrades." +msgstr "%(name)s \"%(obj)s\" ändrades." -#: contrib/admin/views/main.py:354 +#: contrib/admin/views/main.py:353 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "%(name)set \"%(obj)s\" lades till. Du kan ändra det igen här under." +msgstr "%(name)s \"%(obj)s\" lades till. Du kan ändra det igen nedanför." -#: contrib/admin/views/main.py:392 +#: contrib/admin/views/main.py:391 #, python-format msgid "Change %s" msgstr "Ändra %s" -#: contrib/admin/views/main.py:470 +#: contrib/admin/views/main.py:476 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "Ett eller flera %(fieldname)s i %(name)s: %(obj)s" -#: contrib/admin/views/main.py:475 +#: contrib/admin/views/main.py:481 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "Ett eller flera %(fieldname)s i %(name)s:" -#: contrib/admin/views/main.py:508 +#: contrib/admin/views/main.py:514 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)set \"%(obj)s\" togs bort." -#: contrib/admin/views/main.py:511 +#: contrib/admin/views/main.py:517 msgid "Are you sure?" msgstr "Är du säker?" -#: contrib/admin/views/main.py:533 +#: contrib/admin/views/main.py:539 #, python-format msgid "Change history: %s" -msgstr "Ändra historien: %s" +msgstr "Ändra historik: %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s" msgstr "Välj %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s to change" -msgstr "Välj vilken %s du vill ändra" +msgstr "Välj %s att ändra" -#: contrib/admin/views/doc.py:277 contrib/admin/views/doc.py:286 -#: contrib/admin/views/doc.py:288 contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:297 +#: contrib/admin/views/main.py:768 +msgid "Database error" +msgstr "Databasfel" + +#: 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 "" +"Var god ange ett korrekt användarnamn och lösenord. Observera att båda " +"fälten är skiftlägeskänsliga." + +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "Logga in" + +#: 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 "" +"Var god logga in igen, eftersom din session har tagit slut. " +"Oroa dig inte: Ditt bidrag har sparats." + +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Det ser ut som om din webläsare inte är konfigurerad att acceptera cookies. " +"Aktivera cookies, ladda om den här sidan, och försök igen." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Användarnamn kan inte innehålla '@' tecknet." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "Din e-mailadress är inte ditt användarnamn. Försök med '%s' istället." + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "tagg:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filter:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "vy:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Applikation %r hittades inte" + +#: contrib/admin/views/doc.py:171 +#, fuzzy, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "Modellen %(model_name)r hittades inte i applikation %(app_label)r" + +#: contrib/admin/views/doc.py:183 +#, fuzzy, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "det relaterade `%(app_label)s.%(data_type)s` objektet" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "modell:" + +#: contrib/admin/views/doc.py:214 +#, fuzzy, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "relaterade `%(app_label)s.%(object_name)s` objekt" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "alla %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "antal %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Fält på %s objekt" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:304 contrib/admin/views/doc.py:310 +#: contrib/admin/views/doc.py:311 contrib/admin/views/doc.py:313 msgid "Integer" msgstr "Heltal" -#: contrib/admin/views/doc.py:278 +#: contrib/admin/views/doc.py:292 msgid "Boolean (Either True or False)" -msgstr "Boolesk (antingen Sann eller Falsk)" +msgstr "Boolesk (antingen True eller False)" -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:312 #, python-format msgid "String (up to %(maxlength)s)" msgstr "Sträng (upp till %(maxlength)s)" -#: contrib/admin/views/doc.py:280 +#: contrib/admin/views/doc.py:294 msgid "Comma-separated integers" msgstr "Komma-separerade heltal" -#: contrib/admin/views/doc.py:281 +#: contrib/admin/views/doc.py:295 msgid "Date (without time)" msgstr "Datum (utan tid)" -#: contrib/admin/views/doc.py:282 +#: contrib/admin/views/doc.py:296 msgid "Date (with time)" msgstr "Datum (med tid)" -#: contrib/admin/views/doc.py:283 +#: contrib/admin/views/doc.py:297 +msgid "Decimal number" +msgstr "Decimaltal" + +#: contrib/admin/views/doc.py:298 msgid "E-mail address" msgstr "E-postadress:" -#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287 +#: contrib/admin/views/doc.py:299 contrib/admin/views/doc.py:300 +#: contrib/admin/views/doc.py:303 msgid "File path" -msgstr "Sökväg" +msgstr "Filsökväg" -#: contrib/admin/views/doc.py:285 -msgid "Decimal number" -msgstr "decemaltal" +#: contrib/admin/views/doc.py:301 +msgid "Floating point number" +msgstr "Flyttal" -#: contrib/admin/views/doc.py:291 +#: contrib/admin/views/doc.py:307 msgid "Boolean (Either True, False or None)" -msgstr "Boolesk (antingen Sann, Falsk eller Inget)" +msgstr "Boolesk (antingen True, False eller None)" -#: contrib/admin/views/doc.py:292 +#: contrib/admin/views/doc.py:308 msgid "Relation to parent model" -msgstr "Relation till förälder" +msgstr "Relation till förälder-modell" -#: contrib/admin/views/doc.py:293 +#: contrib/admin/views/doc.py:309 msgid "Phone number" msgstr "Telefonnummer" -#: contrib/admin/views/doc.py:298 +#: contrib/admin/views/doc.py:314 msgid "Text" msgstr "Text" -#: contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:315 msgid "Time" msgstr "Tid" -#: contrib/admin/views/doc.py:300 contrib/flatpages/models.py:7 +#: contrib/admin/views/doc.py:316 contrib/flatpages/models.py:7 msgid "URL" msgstr "URL" -#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:317 msgid "U.S. state (two uppercase letters)" -msgstr "Stat i USA (två stora bokstäver)" +msgstr "Stat i USA (två versaler)" -#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:318 msgid "XML text" msgstr "XML-text" -#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/views/doc.py:344 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s verkar inte vara ett urlpattern-objekt" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Nuvarande:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Ändra:" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Datum:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Tid:" + #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentation" -#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: 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/missing_docutils.html:4 #: contrib/admin/templates/admin_doc/view_index.html:5 #: contrib/admin/templates/admin_doc/model_detail.html:3 #: contrib/admin/templates/admin_doc/index.html:4 #: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 msgid "Change password" msgstr "Ändra lösenord" +#: 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/change_list.html:6 -#: contrib/admin/templates/admin/base.html:28 -#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -691,8 +1590,18 @@ msgstr "Ändra lösenord" msgid "Home" msgstr "Hem" +#: contrib/admin/templates/admin/change_list.html:12 +#, python-format +msgid "Add %(name)s" +msgstr "Lägg till %(name)s" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Av %(filter_title)s " + #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 msgid "History" msgstr "Historik" @@ -718,15 +1627,35 @@ msgid "" "admin site." msgstr "" "Det här objektet har ingen ändringshistorik. Det lades antagligen inte till " -"i den här admin-sidan" +"via denna administrationssite." + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Kör" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 resultat" +msgstr[1] "%(counter)s resultat" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s totalt" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Visa alla" #: contrib/admin/templates/admin/base_site.html:4 msgid "Django site admin" -msgstr "Djangos sidadministration" +msgstr "Django site-administration" #: contrib/admin/templates/admin/base_site.html:7 msgid "Django administration" -msgstr "Administration för Django" +msgstr "Django administration" #: contrib/admin/templates/admin/500.html:4 msgid "Server error" @@ -745,8 +1674,53 @@ msgid "" "There's been an error. It's been reported to the site administrators via e-" "mail and should be fixed shortly. Thanks for your patience." msgstr "" -"Ett fel har uppstått. Sidadministratören har meddelats via e-post och felet " -"bör åtgärdas snart. Tack för ditt tålamod." +"Ett fel har uppstått. Administratören har meddelats via e-mail och felet bör " +"åtgärdas snart. Tack för ditt tålamod." + +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Någonting är fel med din databasinstallation. Se till att de rätta " +"tabellerna har skapats och att databasen är läsbar av rätt användare." + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modeller tillgängliga i %(name)s applikationen." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:28 +#: contrib/admin/templates/admin/change_form.html:15 +#, fuzzy +msgid "Add" +msgstr "Lägg till" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Ändra" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "Du har inte rättigheter att ändra något." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Senaste Händelserna" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Mina Händelser" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Inga tillgängliga" #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 @@ -757,48 +1731,28 @@ msgstr "Sidan kunde inte hittas" msgid "We're sorry, but the requested page could not be found." msgstr "Vi är ledsna, men den efterfrågade sidan kunde inte hittas." -#: contrib/admin/templates/admin/index.html:17 -#, python-format -msgid "Models available in the %(name)s application." -msgstr "" +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filter" -#: contrib/admin/templates/admin/index.html:28 -#: contrib/admin/templates/admin/change_form.html:15 -msgid "Add" -msgstr "Lägg till" +#: contrib/admin/templates/admin/change_form.html:22 +msgid "View on site" +msgstr "Visa på site" -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "Ändra" +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Rätta till felet nedan." +msgstr[1] "Rätta till felen nedan." -#: contrib/admin/templates/admin/index.html:44 -msgid "You don't have permission to edit anything." -msgstr "Du har inte rätt att ändra något." +#: contrib/admin/templates/admin/change_form.html:50 +msgid "Ordering" +msgstr "Sortering" -#: contrib/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "Senaste händelserna" - -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "Mina händelser" - -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "Inga tillgängliga" - -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "Lägg till %(name)s" - -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you forgotten your password?" -msgstr "Har du glömt ditt lösenord?" - -#: contrib/admin/templates/admin/base.html:23 -msgid "Welcome," -msgstr "Välkommen," +#: contrib/admin/templates/admin/change_form.html:53 +msgid "Order:" +msgstr "Sortera:" #: contrib/admin/templates/admin/delete_confirmation.html:9 #: contrib/admin/templates/admin/submit_line.html:3 @@ -808,53 +1762,30 @@ msgstr "Ta bort" #: contrib/admin/templates/admin/delete_confirmation.html:14 #, python-format msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" msgstr "" -"Att ta bort %(object_name)s '%(object)s' skulle innebära att besläktade " -"objekt togs bort, men ditt konto har inte rättigheter att ta bort följande " -"objekttyper:" +"Att ta bort %(object_name)s '%(escaped_object)s' skulle innebära att " +"besläktade objekt togs bort, men ditt konto har inte rättigheter att ta bort " +"följande objekttyper:" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" msgstr "" -"Är du säker på att du vill ta bort %(object_name)s \"%(object)s\"? Följande " -"besläktade föremål kommer att tas bort:" +"Är du säker på att du vill ta bort %(object_name)s \"%(escaped_object)s\"? " +"Alla dessa sammanlänkade objekt kommer att tas bort:" #: contrib/admin/templates/admin/delete_confirmation.html:26 msgid "Yes, I'm sure" msgstr "Ja, jag är säker" -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(title)s " -msgstr " Efter %(title)s " - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Utför" - -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "Visa på hemsidan" - -#: contrib/admin/templates/admin/change_form.html:30 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Rätta till felet nedan." -msgstr[1] "Rätta till felen nedan." - -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Sortering" - -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Sortera:" +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Välkommen," #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" @@ -872,6 +1803,38 @@ msgstr "Spara och fortsätt redigera" msgid "Save" msgstr "Spara" +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Ange nytt lösenord för användaren %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Lösenord" + +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Lösenord (igen)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Fyll i samma lösenord som ovan för verifiering." + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Ange först ett användarnamn och ett lösenord. Sedan kommer du att kunna " +"ändra fler användaralternativ." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Användarnamn" + #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admin/templates/registration/password_change_form.html:6 @@ -893,14 +1856,14 @@ msgstr "Ditt lösenord har ändrats." #: contrib/admin/templates/registration/password_reset_form.html:10 #: contrib/admin/templates/registration/password_reset_done.html:4 msgid "Password reset" -msgstr "Nollställ lösenordet" +msgstr "Nollställ lösenord" #: contrib/admin/templates/registration/password_reset_form.html:12 msgid "" "Forgotten your password? Enter your e-mail address below, and we'll reset " "your password and e-mail the new one to you." msgstr "" -"Har du glömt ditt lösenord? Fyll i din e-postadress nedan, så nollställer vi " +"Har du glömt ditt lösenord? Fyll i din e-mailadress nedan, så nollställer vi " "ditt lösenord och mailar det nya till dig." #: contrib/admin/templates/registration/password_reset_form.html:16 @@ -913,7 +1876,7 @@ msgstr "Nollställ mitt lösenord" #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." -msgstr "Tack för att du spenderade kvalitetstid med webbsidan idag." +msgstr "Tack för att du spenderade kvalitetstid med web-siten idag." #: contrib/admin/templates/registration/logged_out.html:10 msgid "Log in again" @@ -922,14 +1885,14 @@ msgstr "Logga in igen" #: contrib/admin/templates/registration/password_reset_done.html:6 #: contrib/admin/templates/registration/password_reset_done.html:10 msgid "Password reset successful" -msgstr "Nollställning av lösenordet lyckades" +msgstr "Lösenordsnollställning lyckades." #: contrib/admin/templates/registration/password_reset_done.html:12 msgid "" "We've e-mailed a new password to the e-mail address you submitted. You " "should be receiving it shortly." msgstr "" -"Vi har skickat ett nytt lösenord till e-postadressen du fyllde i. Det bör " +"Vi har skickat ett nytt lösenord till e-mailadressen du fyllde i. Det bör " "anlända snarast." #: contrib/admin/templates/registration/password_change_form.html:12 @@ -982,12 +1945,12 @@ msgstr "Ditt användarnamn, om du har glömt:" #: contrib/admin/templates/registration/password_reset_email.html:13 msgid "Thanks for using our site!" -msgstr "Tack för att du använder vår sida!" +msgstr "Tack för att du använder vår site!" #: contrib/admin/templates/registration/password_reset_email.html:15 #, python-format msgid "The %(site_name)s team" -msgstr "%(site_name)s-laget" +msgstr "%(site_name)s-teamet" #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" @@ -1011,9 +1974,10 @@ msgstr "" "

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

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

                                                                                    \n" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "Documentation for this page" @@ -1029,14 +1993,15 @@ msgstr "" #: contrib/admin/templates/admin_doc/bookmarklets.html:22 msgid "Show object ID" -msgstr "Visa objektets id" +msgstr "Visa objektets ID" #: contrib/admin/templates/admin_doc/bookmarklets.html:23 msgid "" "Shows the content-type and unique ID for pages that represent a single " "object." msgstr "" -"Visa innehållstypen och ID:t för sidor som representerar ett enskillt objekt." +"Visa innehållstypen och det unika ID:t för sidor som representerar ett " +"enskilt objekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Edit this object (current window)" @@ -1045,7 +2010,7 @@ msgstr "Redigera det här objektet (nuvarande fönster)" #: contrib/admin/templates/admin_doc/bookmarklets.html:26 msgid "Jumps to the admin page for pages that represent a single object." msgstr "" -"Hoppar till administrationssidan för sidor som representerar ett enskillt " +"Hoppar till administrationssidan för sidor som representerar ett enskilt " "objekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:28 @@ -1054,56 +2019,691 @@ msgstr "Redigera det här objektet (nytt fönster)" #: contrib/admin/templates/admin_doc/bookmarklets.html:29 msgid "As above, but opens the admin page in a new window." -msgstr "Som ovan, men öppnaradministrationssidan i ett nytt fönster." +msgstr "Som ovan, men öppnar administrationssidan i ett nytt fönster." -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Datum:" +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "python modell klassnamn" -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Tid:" +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "innehållstyp" -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "innehållstyper" + +#: contrib/auth/views.py:40 +msgid "Logged out" +msgstr "Utloggad" + +#: contrib/auth/models.py:44 contrib/auth/models.py:64 +msgid "name" +msgstr "namn" + +#: contrib/auth/models.py:46 +msgid "codename" +msgstr "kodnamn" + +#: contrib/auth/models.py:49 +msgid "permission" +msgstr "rättighet" + +#: contrib/auth/models.py:50 contrib/auth/models.py:65 +msgid "permissions" +msgstr "rättigheter" + +#: contrib/auth/models.py:68 +msgid "group" +msgstr "grupp" + +#: contrib/auth/models.py:69 contrib/auth/models.py:109 +msgid "groups" +msgstr "grupper" + +#: contrib/auth/models.py:99 +msgid "username" +msgstr "användarnamn" + +#: contrib/auth/models.py:99 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." msgstr "" +"Obligatorisk. 30 tecken eller mindre. Endast bokstäver, siffror eller " +"understräck." -#: contrib/admin/templates/widget/file.html:3 +#: contrib/auth/models.py:100 +msgid "first name" +msgstr "förnamn" + +#: contrib/auth/models.py:101 +msgid "last name" +msgstr "efternamn" + +#: contrib/auth/models.py:102 +msgid "e-mail address" +msgstr "e-mailadress" + +#: contrib/auth/models.py:103 +msgid "password" +msgstr "lösenord" + +#: contrib/auth/models.py:103 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Använd '[algo]$[salt]$[hexdigest]' eller använd Ändra " +"lösenord." + +#: contrib/auth/models.py:104 +msgid "staff status" +msgstr "personalstatus" + +#: contrib/auth/models.py:104 +msgid "Designates whether the user can log into this admin site." +msgstr "Avgör om användaren kan logga in på den här admin-siten." + +#: contrib/auth/models.py:105 +msgid "active" +msgstr "aktiv" + +#: contrib/auth/models.py:105 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Avgör om användaren kan logga in till Django admin. Avmarkera denna " +"istället för att ta bort konton." + +#: contrib/auth/models.py:106 +msgid "superuser status" +msgstr "superanvändare" + +#: contrib/auth/models.py:106 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Avgör om användaren har alla rättigheter utan att uttryckligen tilldela " +"dem" + +#: contrib/auth/models.py:107 +msgid "last login" +msgstr "senaste inloggning" + +#: contrib/auth/models.py:108 +msgid "date joined" +msgstr "registreringsdatum" + +#: contrib/auth/models.py:110 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"Förutom de rättigheterna som utdelas manuellt så kommer användaren dessutom " +"få samma rättigheter som de grupper där han/hon är medlem." + +#: contrib/auth/models.py:111 +msgid "user permissions" +msgstr "användarättigheter" + +#: contrib/auth/models.py:115 +msgid "user" +msgstr "användare" + +#: contrib/auth/models.py:116 +msgid "users" +msgstr "användare" + +#: contrib/auth/models.py:122 +msgid "Personal info" +msgstr "Personlig information" + +#: contrib/auth/models.py:123 +msgid "Permissions" +msgstr "Rättigheter" + +#: contrib/auth/models.py:124 +msgid "Important dates" +msgstr "Viktiga datum" + +#: contrib/auth/models.py:125 +msgid "Groups" +msgstr "Grupper" + +#: contrib/auth/models.py:269 +msgid "message" +msgstr "meddelande" + +#: contrib/auth/models.py:282 #, fuzzy -msgid "Change:" -msgstr "Ändra" +msgid "AnonymousUser" +msgstr "Anonym användare" -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "vidarebefodra från" +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "De båda lösenorden stämde inte överens." -#: contrib/redirects/models.py:8 +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "En användare med det användarnamnet finns redan." + +#: contrib/auth/forms.py:53 msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." msgstr "" -"Det här bör vara en absolut sökväg, förutom domännamnet. Exempel: '/" -"handelser/sok/'." +"Din webläsare verkar inte stödja cookies. Cookie behövs för att kunna logga " +"in." -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "vidarebefodra till" +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Detta konto är inaktivt." -#: contrib/redirects/models.py:10 +#: contrib/auth/forms.py:85 msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" msgstr "" -"Det här kan vara antingen en absolut sökväg (som ovan), eller en komplett " -"adress som börjar med 'http://'." +"Den e-mailadressen har inte något konto associerat med sig. Är du säker på " +"att du har registrerat dig?" -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "vidarebefodra" +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "De två lösenordsfälten stämde inte överens." -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "vidarebefodringar" +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Ditt gamla lösenord var felaktigt ifyllt. Var vänlig fyll i det igen" + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "Fyll i ett postnummer. Du måste ha mellanslag mellan nummerdelarna." + +#: contrib/localflavor/au/forms.py:18 +msgid "Enter a 4 digit post code." +msgstr "Fyll i en fyra-sifrigt postkod." + +#: contrib/localflavor/br/forms.py:18 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Fyll i zipkod i XXXXX-XXX format." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Telefonnummer måste vara i det amerikanska formatet XX-XXXX-XXXX." + +#: contrib/localflavor/br/forms.py:72 +msgid "This field requires only numbers." +msgstr "Detta fält kräver enbart siffror." + +#: contrib/localflavor/br/forms.py:74 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Detta fält kräver högst 11 siffror eller 14 bokstäver." + +#: contrib/localflavor/br/forms.py:84 +msgid "Invalid CPF number." +msgstr "Ogiltigt CPF-nummer." + +#: contrib/localflavor/br/forms.py:106 +msgid "This field requires at least 14 digits" +msgstr "Detta fält kräver minst 14 sifrror" + +#: contrib/localflavor/br/forms.py:116 +msgid "Invalid CNPJ number." +msgstr "Ogiltigt CNPJ-nummer." + +#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/de/forms.py:16 +#: contrib/localflavor/fi/forms.py:14 +msgid "Enter a zip code in the format XXXXX." +msgstr "Fyll i en zipkod i XXXXX format." + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "Bayern" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "Berlin" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "Brandenburg" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "Bremen" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "Hamburg" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "Hessen" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "Mecklenburg-Vorpommern" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "Nedre Sachsen" + +#: contrib/localflavor/de/de_states.py:14 +#, fuzzy +msgid "North Rhine-Westphalia" +msgstr "Norra Rhen-Westphalia" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "Rhenlandet" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "Saarland" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "Sachsen" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "Sachsen-Anhalt" + +#: 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:60 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"Fyll i ett giltigt tyskt ID-kortnummer i XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." + +#: contrib/localflavor/jp/jp_prefectures.py:4 +msgid "Hokkaido" +msgstr "Hokkaido" + +#: contrib/localflavor/jp/jp_prefectures.py:5 +msgid "Aomori" +msgstr "Aomori" + +#: contrib/localflavor/jp/jp_prefectures.py:6 +msgid "Iwate" +msgstr "Iwate" + +#: contrib/localflavor/jp/jp_prefectures.py:7 +msgid "Miyagi" +msgstr "Miyagi" + +#: contrib/localflavor/jp/jp_prefectures.py:8 +msgid "Akita" +msgstr "Akita" + +#: contrib/localflavor/jp/jp_prefectures.py:9 +msgid "Yamagata" +msgstr "Yamagata" + +#: contrib/localflavor/jp/jp_prefectures.py:10 +msgid "Fukushima" +msgstr "Fukushima" + +#: contrib/localflavor/jp/jp_prefectures.py:11 +msgid "Ibaraki" +msgstr "Ibaraki" + +#: contrib/localflavor/jp/jp_prefectures.py:12 +msgid "Tochigi" +msgstr "Tochigi" + +#: contrib/localflavor/jp/jp_prefectures.py:13 +msgid "Gunma" +msgstr "Gunma" + +#: contrib/localflavor/jp/jp_prefectures.py:14 +msgid "Saitama" +msgstr "Saitama" + +#: contrib/localflavor/jp/jp_prefectures.py:15 +msgid "Chiba" +msgstr "Chiba" + +#: contrib/localflavor/jp/jp_prefectures.py:16 +msgid "Tokyo" +msgstr "Tokyo" + +#: contrib/localflavor/jp/jp_prefectures.py:17 +msgid "Kanagawa" +msgstr "Kanagawa" + +#: contrib/localflavor/jp/jp_prefectures.py:18 +msgid "Yamanashi" +msgstr "Yamanashi" + +#: contrib/localflavor/jp/jp_prefectures.py:19 +msgid "Nagano" +msgstr "Nagano" + +#: contrib/localflavor/jp/jp_prefectures.py:20 +msgid "Niigata" +msgstr "Niigata" + +#: contrib/localflavor/jp/jp_prefectures.py:21 +msgid "Toyama" +msgstr "Toyama" + +#: contrib/localflavor/jp/jp_prefectures.py:22 +msgid "Ishikawa" +msgstr "Ischikawa" + +#: contrib/localflavor/jp/jp_prefectures.py:23 +msgid "Fukui" +msgstr "Fukui" + +#: contrib/localflavor/jp/jp_prefectures.py:24 +msgid "Gifu" +msgstr "Gifu" + +#: contrib/localflavor/jp/jp_prefectures.py:25 +msgid "Shizuoka" +msgstr "Shizuoka" + +#: contrib/localflavor/jp/jp_prefectures.py:26 +msgid "Aichi" +msgstr "Aichi" + +#: contrib/localflavor/jp/jp_prefectures.py:27 +msgid "Mie" +msgstr "Mie" + +#: contrib/localflavor/jp/jp_prefectures.py:28 +msgid "Shiga" +msgstr "Shiga" + +#: contrib/localflavor/jp/jp_prefectures.py:29 +msgid "Kyoto" +msgstr "Kyoto" + +#: contrib/localflavor/jp/jp_prefectures.py:30 +msgid "Osaka" +msgstr "Osaka" + +#: contrib/localflavor/jp/jp_prefectures.py:31 +msgid "Hyogo" +msgstr "Hyogo" + +#: contrib/localflavor/jp/jp_prefectures.py:32 +msgid "Nara" +msgstr "Nara" + +#: contrib/localflavor/jp/jp_prefectures.py:33 +msgid "Wakayama" +msgstr "Wakayama" + +#: contrib/localflavor/jp/jp_prefectures.py:34 +msgid "Tottori" +msgstr "Tottori" + +#: contrib/localflavor/jp/jp_prefectures.py:35 +msgid "Shimane" +msgstr "Shimane" + +#: contrib/localflavor/jp/jp_prefectures.py:36 +msgid "Okayama" +msgstr "Okayama" + +#: contrib/localflavor/jp/jp_prefectures.py:37 +msgid "Hiroshima" +msgstr "Hiroshima" + +#: contrib/localflavor/jp/jp_prefectures.py:38 +msgid "Yamaguchi" +msgstr "Yamaguchi" + +#: contrib/localflavor/jp/jp_prefectures.py:39 +msgid "Tokushima" +msgstr "Tokushima" + +#: contrib/localflavor/jp/jp_prefectures.py:40 +msgid "Kagawa" +msgstr "Kagawa" + +#: contrib/localflavor/jp/jp_prefectures.py:41 +msgid "Ehime" +msgstr "Ehime" + +#: contrib/localflavor/jp/jp_prefectures.py:42 +msgid "Kochi" +msgstr "Kochi" + +#: contrib/localflavor/jp/jp_prefectures.py:43 +msgid "Fukuoka" +msgstr "Fukuoka" + +#: contrib/localflavor/jp/jp_prefectures.py:44 +msgid "Saga" +msgstr "Saga" + +#: contrib/localflavor/jp/jp_prefectures.py:45 +msgid "Nagasaki" +msgstr "Nagasaki" + +#: contrib/localflavor/jp/jp_prefectures.py:46 +msgid "Kumamoto" +msgstr "Kuamoto" + +#: contrib/localflavor/jp/jp_prefectures.py:47 +msgid "Oita" +msgstr "Oita" + +#: contrib/localflavor/jp/jp_prefectures.py:48 +msgid "Miyazaki" +msgstr "Miyazaki" + +#: contrib/localflavor/jp/jp_prefectures.py:49 +msgid "Kagoshima" +msgstr "kagoshima" + +#: contrib/localflavor/jp/jp_prefectures.py:50 +msgid "Okinawa" +msgstr "Okinawa" + +#: contrib/localflavor/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Fyll i zipkod i formatet XXXXXXX eller XXX-XXXX." + +#: contrib/localflavor/it/forms.py:16 +msgid "Enter a valid zip code." +msgstr "Fyll i en giltigt zipkod." + +#: contrib/localflavor/it/forms.py:41 +msgid "Enter a valid Social Security number." +msgstr "Fyll i ett giltigt personnummer." + +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "Fyll i ett giltigt VAT-nummer." + +#: contrib/localflavor/no/forms.py:15 contrib/localflavor/ch/forms.py:18 +msgid "Enter a zip code in the format XXXX." +msgstr "Fyll i zipkod i formatet XXXX." + +#: contrib/localflavor/no/forms.py:36 +msgid "Enter a valid Norwegian social security number." +msgstr "Fyll i ett giltigt norskt personnummer." + +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +msgid "Enter a valid Finnish social security number." +msgstr "Fyll i ett giltigt finskt personnummer." + +#: contrib/localflavor/us/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Fyll i zipkod i formatet XXXXX eller XXXXX-XXXX." + +#: contrib/localflavor/us/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Fyll i ett giltigt amerikanskt personnummer i XXX-XX-XXXX format." + +#: contrib/localflavor/is_/forms.py:16 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Fyll i ett giltigt isländskt personnummer. Formatet är XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:30 +msgid "The Icelandic identification number is not valid." +msgstr "Det isländska personnumret är inte giltigt." + +#: contrib/localflavor/cl/forms.py:21 +msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Fyll i ett giltigt chileanskt RUT. Formatet är XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:26 +msgid "Enter valid a Chilean RUT" +msgstr "Fyll i ett giltigt chileanskt RUT" + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "Aargau" + +#: 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:90 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" +"Fyll i ett giltigt Schweiziskt ID- eller passkortnummer i X1234567<0 eller " +"1234567890 format." + +#: contrib/sessions/models.py:68 +msgid "session key" +msgstr "sessionsnyckel" + +#: contrib/sessions/models.py:69 +msgid "session data" +msgstr "sessionsdata" + +#: contrib/sessions/models.py:70 +msgid "expire date" +msgstr "utgångsdatum" + +#: contrib/sessions/models.py:74 +msgid "session" +msgstr "session" + +#: contrib/sessions/models.py:75 +msgid "sessions" +msgstr "sessioner" #: contrib/flatpages/models.py:8 msgid "" @@ -1129,11 +2729,11 @@ msgstr "mallnamn" #: contrib/flatpages/models.py:13 msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." msgstr "" -"Exempel: 'flatpages/kontaktsida'. Om det här inte fylls i kommer systemet " -"att använda 'flatpages/default'." +"Exempel: 'sidor/kontaktsida.html'. Om det här inte fylls i kommer systemet " +"att använda 'sidor/default.html'." #: contrib/flatpages/models.py:14 msgid "registration required" @@ -1152,318 +2752,129 @@ msgstr "flatsida" msgid "flat pages" msgstr "flatsidor" -#: contrib/auth/models.py:13 contrib/auth/models.py:26 -msgid "name" -msgstr "namn" - -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "kodnamn" - -#: contrib/auth/models.py:17 -#, fuzzy -msgid "permission" -msgstr "Rättighet" - -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -#, fuzzy -msgid "permissions" -msgstr "Rättigheter" - -#: contrib/auth/models.py:29 -#, fuzzy -msgid "group" -msgstr "Grupp" - -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -#, fuzzy -msgid "groups" -msgstr "Grupper" - -#: contrib/auth/models.py:55 -msgid "username" -msgstr "användarnamn" - -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "förnamn" - -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "efternamn" - -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "e-postadress" - -#: contrib/auth/models.py:59 -msgid "password" -msgstr "lösenord" - -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "Använd '[algo]$[salt]$[hexdigest]'" - -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "personalstatus" - -#: contrib/auth/models.py:60 -msgid "Designates whether the user can log into this admin site." -msgstr "Avgör om användaren kan logga in till den här administrationssidan." - -#: contrib/auth/models.py:61 -msgid "active" -msgstr "aktiv" - -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "superanvändare" - -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "senaste inloggning" - -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "registreringsdatum" - -#: contrib/auth/models.py:66 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"Förutom de rättigheterna som utdelas manuellt så kommer användaren dessutom " -"få samma rättigheter som de grupper där han/hon är medlem." - -#: contrib/auth/models.py:67 -#, fuzzy -msgid "user permissions" -msgstr "Rättigheter" - -#: contrib/auth/models.py:70 -#, fuzzy -msgid "user" -msgstr "Användare" - -#: contrib/auth/models.py:71 -#, fuzzy -msgid "users" -msgstr "Användare" - -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "Personlig information" - -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "Rättigheter" - -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "Viktiga datum" - -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "Grupper" - -#: contrib/auth/models.py:219 -#, fuzzy -msgid "message" -msgstr "Meddelande" - -#: contrib/auth/forms.py:30 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" - -#: contrib/contenttypes/models.py:25 -#, fuzzy -msgid "python model class name" -msgstr "pythonmodulnamn" - -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "innehållstyp" - -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "innehållstyper" - -#: contrib/sessions/models.py:35 -msgid "session key" -msgstr "sessionsnyckel" - -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "sessionsdata" - -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "utgångsdatum" - -#: contrib/sessions/models.py:41 -msgid "session" -msgstr "session" - -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "sessioner" - -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "domännamn" - -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "visat namn" - -#: contrib/sites/models.py:15 -msgid "site" -msgstr "hemsida" - -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "hemsidor" - -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "Y-m-d" - -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "Y-m-d, H:i" - -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "H:i:s" - #: utils/dates.py:6 msgid "Monday" -msgstr "måndag" +msgstr "Måndag" #: utils/dates.py:6 msgid "Tuesday" -msgstr "tisdag" +msgstr "Tisdag" #: utils/dates.py:6 msgid "Wednesday" -msgstr "onsdag" +msgstr "Onsdag" #: utils/dates.py:6 msgid "Thursday" -msgstr "torsdag" +msgstr "Torsdag" #: utils/dates.py:6 msgid "Friday" -msgstr "fredag" +msgstr "Fredag" #: utils/dates.py:7 msgid "Saturday" -msgstr "lördag" +msgstr "Lördag" #: utils/dates.py:7 msgid "Sunday" -msgstr "söndag" +msgstr "Söndag" #: utils/dates.py:14 msgid "January" -msgstr "januari" +msgstr "Januari" #: utils/dates.py:14 msgid "February" -msgstr "februari" +msgstr "Februari" #: utils/dates.py:14 utils/dates.py:27 msgid "March" -msgstr "mars" +msgstr "Mars" #: utils/dates.py:14 utils/dates.py:27 msgid "April" -msgstr "april" +msgstr "April" #: utils/dates.py:14 utils/dates.py:27 msgid "May" -msgstr "maj" +msgstr "Maj" #: utils/dates.py:14 utils/dates.py:27 msgid "June" -msgstr "juni" +msgstr "Juni" #: utils/dates.py:15 utils/dates.py:27 msgid "July" -msgstr "juli" +msgstr "Juli" #: utils/dates.py:15 msgid "August" -msgstr "augusti" +msgstr "Augusti" #: utils/dates.py:15 msgid "September" -msgstr "september" +msgstr "September" #: utils/dates.py:15 msgid "October" -msgstr "oktober" +msgstr "Oktober" #: utils/dates.py:15 msgid "November" -msgstr "november" +msgstr "November" #: utils/dates.py:16 msgid "December" -msgstr "december" +msgstr "December" #: utils/dates.py:19 -#, fuzzy msgid "jan" -msgstr "och" +msgstr "jan" #: utils/dates.py:19 msgid "feb" -msgstr "" +msgstr "feb" #: utils/dates.py:19 msgid "mar" -msgstr "" +msgstr "mars" #: utils/dates.py:19 msgid "apr" -msgstr "" +msgstr "apr" #: utils/dates.py:19 -#, fuzzy msgid "may" -msgstr "dag" +msgstr "maj" #: utils/dates.py:19 msgid "jun" -msgstr "" +msgstr "juni" #: utils/dates.py:20 msgid "jul" -msgstr "" +msgstr "juli" #: utils/dates.py:20 msgid "aug" -msgstr "" +msgstr "aug" #: utils/dates.py:20 msgid "sep" -msgstr "" +msgstr "sept" #: utils/dates.py:20 msgid "oct" -msgstr "" +msgstr "okt" #: utils/dates.py:20 msgid "nov" -msgstr "" +msgstr "nov" #: utils/dates.py:20 msgid "dec" -msgstr "" +msgstr "dec" #: utils/dates.py:27 msgid "Jan." @@ -1508,8 +2919,8 @@ msgstr[1] "månader" #: utils/timesince.py:14 msgid "week" msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "vecka" +msgstr[1] "veckor" #: utils/timesince.py:15 msgid "day" @@ -1529,500 +2940,87 @@ msgid_plural "minutes" msgstr[0] "minut" msgstr[1] "minuter" -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "Bengaliska" - -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "Tjeckiska" - -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "Walesiska" - -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "Danska" - -#: conf/global_settings.py:41 -msgid "German" -msgstr "Tyska" - -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "" - -#: conf/global_settings.py:43 -msgid "English" -msgstr "Engelska" - -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "Spanska" - -#: conf/global_settings.py:45 -msgid "French" -msgstr "Franska" - -#: conf/global_settings.py:46 -msgid "Galician" -msgstr "Galisiska" - -#: conf/global_settings.py:47 -msgid "Hungarian" -msgstr "" - -#: conf/global_settings.py:48 -msgid "Hebrew" -msgstr "" - -#: conf/global_settings.py:49 -msgid "Icelandic" -msgstr "Isländska" - -#: conf/global_settings.py:50 -msgid "Italian" -msgstr "Italienska" - -#: conf/global_settings.py:51 -msgid "Japanese" -msgstr "" - -#: conf/global_settings.py:52 -msgid "Dutch" -msgstr "" - -#: conf/global_settings.py:53 -msgid "Norwegian" -msgstr "Norska" - -#: conf/global_settings.py:54 -msgid "Brazilian" -msgstr "Brasilianska" - -#: conf/global_settings.py:55 -msgid "Romanian" -msgstr "Rumänska" - -#: conf/global_settings.py:56 -msgid "Russian" -msgstr "Ryska" - -#: conf/global_settings.py:57 -msgid "Slovak" -msgstr "Slovakiska" - -#: conf/global_settings.py:58 -#, fuzzy -msgid "Slovenian" -msgstr "Slovakiska" - -#: conf/global_settings.py:59 -msgid "Serbian" -msgstr "Serbiska" - -#: conf/global_settings.py:60 -msgid "Swedish" -msgstr "Svenska" - -#: conf/global_settings.py:61 -#, fuzzy -msgid "Ukrainian" -msgstr "Brasilianska" - -#: conf/global_settings.py:62 -msgid "Simplified Chinese" -msgstr "Förenklad kinesiska" - -#: conf/global_settings.py:63 -msgid "Traditional Chinese" -msgstr "" - -#: core/validators.py:60 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Det här värdet får bara innehålla bokstäver, tal och understräck." - -#: core/validators.py:64 -#, fuzzy -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "" -"Det här värdet får bara innehålla bokstäver, tal, understräck och snedsträck" - -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "Stora bokstäver är inte tillåtna här." - -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "Små bokstäver är inte tillåtna här." - -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "Fyll enbart i siffror avskillda med kommatecken." - -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Fyll i giltiga e-postadresser avskillda med kommatecken." - -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "Var god fyll i ett giltigt IP-nummer." - -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "Tomma värden är inte tillåtna här." - -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "Icke-numeriska tecken är inte tillåtna här." - -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "Det här värdet kan inte enbart bestå av siffror." - -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "Fyll i ett heltal." - -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "Endast alfabetiska bokstäver är tillåtna här." - -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Fyll i ett giltigt datum i formatet ÅÅÅÅ-MM-DD." - -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "Fyll i en giltig tid i formatet TT:MM" - -#: core/validators.py:132 db/models/fields/__init__.py:468 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Fyll i en giltig tidpunkt i formatet ÅÅÅÅ-MM-DD TT:MM" - -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "Fyll i en giltig e-postadress." - -#: core/validators.py:148 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Ladda upp en giltig bild. Filen du laddade upp var antingen inte en bild, " -"eller så var det en korrupt bild." - -#: core/validators.py:155 +#: utils/timesince.py:40 #, python-format -msgid "The URL %s does not point to a valid image." -msgstr "Adressen %s pekar inte till en giltig bild." +msgid "%d milliseconds" +msgstr "%d millisekunder" -#: core/validators.py:159 +#: utils/timesince.py:41 #, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" -"Telefonnummer måste vara i det amerikanska formatet XXX-XXX-XXXX. \"%s\" är " -"ogiltigt." +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" -#: core/validators.py:167 +#: utils/timesince.py:47 #, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "Adressen %s pekar inte till en giltig QuickTime-video." +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "En giltig adress krävs." +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "p.m." -#: core/validators.py:185 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" -"Giltig HTML krävs. Specifika fel är:\n" -"%s" +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "a.m." -#: core/validators.py:192 -#, python-format -msgid "Badly formed XML: %s" -msgstr "Missformad XML: %s" +#: utils/dateformat.py:46 +msgid "PM" +msgstr "PM" -#: core/validators.py:202 -#, python-format -msgid "Invalid URL: %s" -msgstr "Felaktig URL: %s" +#: utils/dateformat.py:47 +msgid "AM" +msgstr "AM" -#: core/validators.py:206 core/validators.py:208 -#, python-format -msgid "The URL %s is a broken link." -msgstr "URL:en %s är en trasig länk." +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "midnatt" -#: core/validators.py:214 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Fyll i en giltig förkortning för en amerikansk delstat" +#: utils/dateformat.py:97 +msgid "noon" +msgstr "middag" -#: core/validators.py:229 -#, python-format -msgid "Watch your mouth! The word %s is not allowed here." -msgid_plural "Watch your mouth! The words %s are not allowed here." -msgstr[0] "Håll i tungan! Ordet %s är inte tillåtet här." -msgstr[1] "Håll i tungan! Orden %s är inte tillåtna här." +#: utils/translation/trans_real.py:358 +msgid "DATE_FORMAT" +msgstr "N j, Y" -#: core/validators.py:236 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Det här fältet måste matcha fältet '%s'." +#: utils/translation/trans_real.py:359 +msgid "DATETIME_FORMAT" +msgstr "N j, Y, P" -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "Fyll i något i minst ett fält." +#: utils/translation/trans_real.py:360 +msgid "TIME_FORMAT" +msgstr "P" -#: core/validators.py:264 core/validators.py:275 -msgid "Please enter both fields or leave them both empty." -msgstr "Fyll antingen i båda fälten, eller lämna båda tomma" +#: utils/translation/trans_real.py:376 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" -#: core/validators.py:282 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "Det är fältet måste anges om %(field)s är %(value)s" +#: utils/translation/trans_real.py:377 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" -#: core/validators.py:294 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "Det här fältet måste anges om %(field)s inte är %(value)s" - -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "Upprepade värden är inte tillåtna." - -#: core/validators.py:336 -#, python-format -msgid "This value must be a power of %s." -msgstr "Det här värdet måste vara en multipel av %s." - -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "Fyll i ett giltigt decimaltal." - -#: core/validators.py:349 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "" -"Please enter a valid decimal number with at most %s total digits." -msgstr[0] "Fyll i ett giltigt decimaltal med mindre än %s siffra totalt." -msgstr[1] "Fyll i ett giltigt decimaltal med mindre än %s siffror totalt." - -#: core/validators.py:352 -#, python-format -msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "" -"Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "Fyll i ett giltigt decimaltal med som mest %s decimalsiffra." -msgstr[1] "Fyll i ett giltigt decimaltal med som mest %s decimalsiffror." - -#: core/validators.py:362 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Se till att filen du laddade upp är minst %s bytes stor." - -#: core/validators.py:363 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Se till att filen du laddade upp är max %s bytes stor." - -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "Formatet på det här fältet är fel." - -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "Det här fältet är ogiltigt." - -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "Kunde inte hämta något från %s." - -#: core/validators.py:429 -#, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" -"Adressen %(url)s returnerade det ogiltiga innehållstyphuvudet (Content-Type " -"header) '%(contenttype)s'" - -#: core/validators.py:462 -#, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" -"Var god avsluta den oavslutade taggen %(tag)s på rad %(line)s. (Raden börjar " -"med \"%(start)s\".)" - -#: core/validators.py:466 -#, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"En del text från rad %(line)s är inte tillåtet i det sammanhanget. (Raden " -"börjar med \"%(start)s\".)" - -#: core/validators.py:471 -#, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"%(attr)s\" på rad %(line)s är inte ett gilltigt attribut. (Raden startar " -"med \"%(start)s\".)" - -#: core/validators.py:476 -#, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"<%(tag)s>\" på rad %(line)s är inte en giltig tagg. (Raden börjar med \"%" -"(start)s\".)" - -#: core/validators.py:480 -#, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"En tagg på rad %(line)s saknar en eller flera nödvändiga attribut. (Raden " -"börjar med \"%(start)s\".)" - -#: core/validators.py:485 -#, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"Attributet \"%(attr)s\" på rad %(line)s har ett ogiltigt värde. (Raden " -"börjar med \"%(start)s\".)" - -#: db/models/manipulators.py:302 -#, fuzzy, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "%(optname)s med det här %(fieldname)s finns redan." - -#: db/models/fields/__init__.py:40 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s med det här %(fieldname)s finns redan." - -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 -#: forms/__init__.py:346 -msgid "This field is required." -msgstr "Det här fältet är obligatoriskt." - -#: db/models/fields/__init__.py:337 -#, fuzzy -msgid "This value must be an integer." -msgstr "Det här värdet måste vara en multipel av %s." - -#: db/models/fields/__init__.py:369 -#, fuzzy -msgid "This value must be either True or False." -msgstr "Det här värdet måste vara en multipel av %s." - -#: db/models/fields/__init__.py:385 -#, fuzzy -msgid "This field cannot be null." -msgstr "Det här fältet är ogiltigt." - -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "Fyll i ett giltigt filnamn." - -#: db/models/fields/related.py:43 -#, python-format -msgid "Please enter a valid %s." -msgstr "Var god fyll i ett giltigt %s." - -#: db/models/fields/related.py:579 -#, fuzzy -msgid "Separate multiple IDs with commas." -msgstr " Separera flera ID:n med kommatecken." - -#: db/models/fields/related.py:581 -#, fuzzy -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -" Håll ner \"Control\", eller \"Command\" på en Mac, för att välja mer än en." - -#: db/models/fields/related.py:625 -#, python-format -msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -msgid_plural "" -"Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr[0] "Var god och fyll giltiga %(self)s ID. Värdet %(value)r är ogiltigt." -msgstr[1] "" -"Var god och fyll giltiga %(self)s ID. Värdena %(value)r är ogiltigt." - -#: forms/__init__.py:380 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Se till att din text är kortare än %s tecken." -msgstr[1] "Se till att din text är kortare än %s tecken." - -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "Radbrytningar är inte tillåtna här." - -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Välj ett giltigt alternativ. '%(data)s' finns inte bland %(choices)s" - -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "Den insända filen är tom." - -#: forms/__init__.py:699 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Fyll i ett heltal mellan -32 768 och 32 767." - -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "Fyll i ett positivt heltal." - -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Fyll i ett heltal mellan 0 och 32 767." - -#: template/defaultfilters.py:379 +#: template/defaultfilters.py:491 msgid "yes,no,maybe" msgstr "ja,nej,kanske" -#~ msgid "Comment" -#~ msgstr "Kommentar" +#: template/defaultfilters.py:520 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" -#~ msgid "Comments" -#~ msgstr "Kommentarer" +#: template/defaultfilters.py:522 +#, python-format +msgid "%.1f KB" +msgstr "%.1f KB" -#~ msgid "String (up to 50)" -#~ msgstr "Sträng (upp till 50)" +#: template/defaultfilters.py:524 +#, python-format +msgid "%.1f MB" +msgstr "%.1f MB" -#~ msgid "label" -#~ msgstr "etikett" - -#~ msgid "package" -#~ msgstr "paket" - -#~ msgid "packages" -#~ msgstr "paket" - -#, fuzzy -#~ msgid "count" -#~ msgstr "innehåll" +#: template/defaultfilters.py:525 +#, python-format +msgid "%.1f GB" +msgstr "%.1f GB" diff --git a/django/conf/locale/sv/LC_MESSAGES/djangojs.mo b/django/conf/locale/sv/LC_MESSAGES/djangojs.mo index c73aa305606de3a5745079f50baaef8b27af7bad..5daac634243e5c2d43dc052eecb68be05c59393b 100644 GIT binary patch literal 1680 zcmaKr&u<(x6vqt|3JWcz{OSRu$Dybdn(b_Y(y&RYrb(7=n@ytZG@;_;oiVe{&e|*6 zld@6~5{DuoE=X{K1Bdj&AJBhb{|&^ID;JQsAii&Q(^MeUlKrutpP!$9e1AKC>IZ>x z0ref!Ur{fj{`3qQl=xX8UH}{5bKoNQ3b+iu2)1YQyWkm&?}9Zj2VVl+jQ7FkF@6A^ z0>1_CfZu@}=l7ZY50Lly6XbpW201Pp2{;S#`YYff_#wz~hakuCAn$u0`~_!tFq?0{ ziSxP&z6#y|*?$-0eLe+W1A8F*1@JWZCCKOf8f3rkLEisIkn{f;WWT?_v*14 zX`fa{P8ZaXW4cuug{BzOYMGZlP*;tD8upZT?{L`P>v=lvkItTkxv ziCr~>m*`T5652;?QCDd`zWzZs_kqi(V9~-z&l!(K{aVEj;}`Xd=xKGJlCB2=!3Ws$8d~x z)uHC7|MzRe&G~rhw<&#y5+{u>WU#JD9X%LWx~Yo7Ym?LRkjK}(bw%B%aILn91WTE# zC{c3Qr1dIcYBv_QXn8t_cyK+pHZN4}Y&r7v)DExJI_=KJ$w?daxVC0ZPzL*tM>t4O zpNA`>LTa;wcaYAjuyQA9MT;kXoablCMH?oy8PaRgVo!(KPEk5pL@n!vzDZ<8)!47h zEzz{Qa>>wpE7Z8WRQn{_u`1IcIzC8~y7yr4{gbIRTbkg;nAzW0-`J{&c%dH0Vsmno z=lI(Ay9t_na%A#C=lrX0S3*z@^60s75POrO;(+kugU&{!85~>i@1@w2MaGK~Nj*F= zi$RLptOhAQo;(`P%Eu$SKiKKu+7HLSk7EIklW( UY$6;e+EoKJ$pFDKpU%R`PR{#J2 literal 905 zcmZ9K+iuf95QY~hCv%X>H5c1EB(%W}Z57<6s&G>&YEz;%Ee9c_ZM=2d+B??nx~0G! z;t_ZQ`UpHhUIXzg{F|hT#7g6DX6LXo*8F|4@RQ*@ggk|OgDgV+K>Xo17`p>5f%m{? zGdltw!ES-K!R?uU7hHgS2;Kre%>18b{uI2A`x5*Oxq$e5fnZ<%CFtK<2YnyO%svF~ z!u|+822=1RXhHwp`ON-d9|$$#*=?umPp=65o=Hf%#rpr;NYq z8#+}(C%UOPQpV<_W4?7NbwnFevss>s*L7yafMOo>-wZ@zlyry{ThghRH^Xp6 zL`@OC;!zZ@M9;%03=t^y)p_n~{vWr@qvbeiPUCi^bz)$owuN+LV!ltux#kC?)d?BP z*XfHa$>y8KMXt}3F8pY=Vbw;ki$-giDKSv8yl$M&Yaw|$jOa$Kz0Hg$D^zBvu54pS z)@P3G_;rwzeUQ$9&hct|#Z&w< UEJn?`&{!8+kzrA~+4#z^f5z|HiU0rr diff --git a/django/conf/locale/sv/LC_MESSAGES/djangojs.po b/django/conf/locale/sv/LC_MESSAGES/djangojs.po index 4d0c1e9034..29fbe2eb15 100644 --- a/django/conf/locale/sv/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/sv/LC_MESSAGES/djangojs.po @@ -1,112 +1,122 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. +# Swedish translation of Django +# Copyright (C) 2005 +# This file is distributed under the same license as the Django package. # msgid "" msgstr "" -"Project-Id-Version: Django\n" +"Project-Id-Version: djangojs\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-12-09 11:51+0100\n" -"PO-Revision-Date: 2005-12-04 14:12+0100\n" -"Last-Translator: Robin Sonefors \n" -"Language-Team: Django Translators \n" +"POT-Creation-Date: 2007-03-06 02:29+0100\n" +"PO-Revision-Date: 2007-03-06 10:30+0100\n" +"Last-Translator: Mikko Hellsing \n" +"Language-Team: Django I18N \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Swedish\n" "X-Poedit-Country: SWEDEN\n" #: contrib/admin/media/js/SelectFilter2.js:33 #, perl-format msgid "Available %s" -msgstr "" +msgstr "Tillgänglig %s" #: contrib/admin/media/js/SelectFilter2.js:41 -#, fuzzy msgid "Choose all" -msgstr "Välj en tidpunkt" +msgstr "Välj alla" #: contrib/admin/media/js/SelectFilter2.js:46 msgid "Add" -msgstr "" +msgstr "Lägg till" #: contrib/admin/media/js/SelectFilter2.js:48 msgid "Remove" -msgstr "" +msgstr "Ta bort" #: contrib/admin/media/js/SelectFilter2.js:53 #, perl-format msgid "Chosen %s" -msgstr "" +msgstr "Vald %s" #: contrib/admin/media/js/SelectFilter2.js:54 msgid "Select your choice(s) and click " -msgstr "" +msgstr "Gör dina val och klicka på " #: contrib/admin/media/js/SelectFilter2.js:59 msgid "Clear all" -msgstr "" +msgstr "Ta bort alla" -#: contrib/admin/media/js/dateparse.js:26 +#: contrib/admin/media/js/dateparse.js:32 #: contrib/admin/media/js/calendar.js:24 msgid "" "January February March April May June July August September October November " "December" msgstr "" +"Januari Februari Mars April Maj Juni Juli Augusti September Oktober November " +"December" -#: contrib/admin/media/js/dateparse.js:27 +#: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" -msgstr "" +msgstr "Söndag Mondag Tisdag Onsdag Torsdag Fredag Lördag" #: contrib/admin/media/js/calendar.js:25 msgid "S M T W T F S" -msgstr "" +msgstr "S M T O T F L" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "Visa" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "Göm" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 msgid "Now" msgstr "Nu" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 msgid "Clock" msgstr "Klocka" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 msgid "Choose a time" msgstr "Välj en tidpunkt" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 msgid "Midnight" msgstr "Midnatt" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 msgid "6 a.m." msgstr "06.00" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Noon" msgstr "Mitt på dagen" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 msgid "Cancel" -msgstr "Ångra" +msgstr "Avbryt" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 msgid "Today" msgstr "Idag" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 msgid "Calendar" msgstr "Kalender" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 msgid "Yesterday" msgstr "Igår" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 msgid "Tomorrow" msgstr "Imorgon" + diff --git a/django/conf/locale/ta/LC_MESSAGES/django.mo b/django/conf/locale/ta/LC_MESSAGES/django.mo index c85327d06b1774d21c6d0c906c887c95bb5783ea..c1d3cf26f5da5667c20036b5fcb7c9abb0e02f67 100644 GIT binary patch delta 16581 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 delta 11119 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 sE^5|;1}gtS1Eb@^4!TJ1@ZIf_W%F@ diff --git a/django/conf/locale/ta/LC_MESSAGES/django.po b/django/conf/locale/ta/LC_MESSAGES/django.po index 7637bb9cdb..e3c539a8a1 100644 --- a/django/conf/locale/ta/LC_MESSAGES/django.po +++ b/django/conf/locale/ta/LC_MESSAGES/django.po @@ -1,20 +1,21 @@ -# translation of django.po to -# translation of django_aa.po to -# translation of django_aa.po to tamil -# Parthan , 2006. -# R Hariram Aatreya , 2006. +# translation of django-new.po to tamil +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# PONNUSAMY.A , 2007. +# msgid "" msgstr "" -"Project-Id-Version: django\n" +"Project-Id-Version: django-new\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:14+0200\n" -"PO-Revision-Date: 2006-07-18 16:47+0530\n" -"Last-Translator: R Hariram Aatreya \n" -"Language-Team: \n" +"POT-Creation-Date: 2006-09-25 15:43+0200\n" +"PO-Revision-Date: 2007-03-15 16:48+0530\n" +"Last-Translator: PONNUSAMY \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.9\n" +"Language-Team: tamil \n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n>1;" #: contrib/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" @@ -67,15 +68,15 @@ msgstr "அங்கீகரிக்கப்பட்ட தரவரிச #: contrib/comments/models.py:83 contrib/comments/models.py:169 msgid "date/time submitted" -msgstr "தேதிநேரம் சமர்ப்பிக்கப்பட்டுள்ளது" +msgstr "தேதி/நேரம் சமர்ப்பிக்கப்பட்டுள்ளது" #: contrib/comments/models.py:84 contrib/comments/models.py:170 msgid "is public" msgstr "பொதுவானது" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 msgid "IP address" -msgstr "ip விலாசம்" +msgstr "IP விலாசம்" #: contrib/comments/models.py:86 msgid "is removed" @@ -85,7 +86,7 @@ msgstr "நீக்கபட்டது" msgid "" "Check this box if the comment is inappropriate. A \"This comment has been " "removed\" message will be displayed instead." -msgstr "குறிப்பு செரியாக இல்லையென்றால் இந்த் பெட்டியில் குறியிடவும். இதற்கு பதிலாக \"இந்த குறிப்பு நீக்கபட்டது\" காண்பிக்கபடும்." +msgstr "குறிப்பு சரியாக இல்லையென்றால் இந்த பெட்டியில் குறியிடவும். இதற்கு பதிலாக \"இந்த குறிப்பு நீக்கபட்டது\" காண்பிக்கபடும்." #: contrib/comments/models.py:91 msgid "comments" @@ -128,15 +129,15 @@ msgstr "சுதந்தரமான குறிப்பு" #: contrib/comments/models.py:177 msgid "free comments" -msgstr "சுதந்தரமான குறிப்பு" +msgstr "சுதந்தரமான குறிப்புகள்" #: contrib/comments/models.py:233 msgid "score" -msgstr "மதிப்பீடு" +msgstr "மதிப்பீடு " #: contrib/comments/models.py:234 msgid "score date" -msgstr "மதிப்பீடு தேதி" +msgstr "மதிப்பீட்டு தேதி" #: contrib/comments/models.py:237 msgid "karma score" @@ -189,7 +190,7 @@ msgstr "மட்டொறுத்தால் நீக்கப்பட் #: contrib/comments/models.py:281 msgid "moderator deletions" -msgstr "மட்டொறுத்தால் நீக்கப்பட்டது" +msgstr "மட்டொறுத்தர்களால் நீக்கப்பட்டது" #: contrib/comments/models.py:285 #, python-format @@ -198,7 +199,7 @@ msgstr "மட்டொறுத்தால் நீக்கப்பட் #: contrib/comments/views/karma.py:19 msgid "Anonymous users cannot vote" -msgstr "அடயாள்ம் இல்லாத பயனாளறால் வாக்களிக்க முடியாது" +msgstr "அடையாளம் இல்லாத பயனாளறால் வாக்களிக்க முடியாது" #: contrib/comments/views/karma.py:23 msgid "Invalid comment ID" @@ -208,85 +209,82 @@ msgstr "செல்லாத குறிப்பு ID" msgid "No voting for yourself" msgstr "உங்களை நீங்களே தேர்வு செய்து கொள்ள முடியாது" -#: contrib/comments/views/comments.py:28 +#: contrib/comments/views/comments.py:27 msgid "This rating is required because you've entered at least one other rating." -msgstr "மற்றொரு தரவரிசை அளிக்க்பட்டதால் இந்த தரவரிசை தேவைப்படுகிறது." +msgstr "இந்த தரவரிசை தேவைப்படுகிறது ஏனெனில் மற்றொரு தரவரிசை அளிக்கப்பட்டு விட்டதால்" -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, python-format msgid "" "This comment was posted by a user who has posted fewer than %(count)s " "comment:\n" "\n" "%(text)s" +msgid_plural "" "This comment was posted by a user who has posted fewer than %(count)s " "comments:\n" "\n" "%(text)s" -msgstr "" -"%(count)s குறைவாக அளித்த பயனாளரால் இந்த குரிப்பை அள்த்தபடது:\n" +msgstr[0] "" +"இந்த குறிப்பானது குறைவாக அளித்த பயனாளரால் %(count)s " +"அளிக்கப்பட்டது:\n" "\n" "%(text)s" -"%(count)s குறைவாக அளித்த பயனாளரால் இந்த குரிப்பை அள்த்தபடது:\n" +msgstr[1] "" +"இந்த குறிப்பானது குறைவாக அளித்த பயனாளர்களால் %(count)s" +" அளிக்கப்பட்டது:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:117 + +#: contrib/comments/views/comments.py:116 #, python-format msgid "" "This comment was posted by a sketchy user:\n" "\n" "%(text)s" msgstr "" -"முழுமையான விவரஙகளை அளிக்காத பயனாளறால் கொடுக்கப்பட்டது:\n" +"முழுமையான விவரங்களை அளிக்காத பயனாளரால் கொடுக்கப்பட்டது:\n" +"\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" msgstr "POSTகளுக்கு மட்டும் அனுமதி உண்டு" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" msgstr "ஒன்று அல்லது ஒன்றிற்கு மேற்ப்பட்ட புலங்கள் சமற்பிக்கப்படவில்லை" -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" -msgstr "எவறோ குரிப்புறையை செதப்படுத்திவிட்டாற்கள் (பாதுகாப்பு மீறல்)" +msgstr "எவறோ குறிப்புறையைச் சேதப்படுத்திவிட்டர்கள் (பாதுகாப்பு மீறல்)" -#: contrib/comments/views/comments.py:207 +#: contrib/comments/views/comments.py:206 #: contrib/comments/views/comments.py:292 msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " "invalid" -msgstr "குறிப்புறை படிவத்தில் முறையான இலக்கு அளவுருக்க இல்லை -- object ID முறையானதாக இல்லை" +msgstr "குறிப்புறை படிவத்தில் முறையான இலக்கு அளவுருக்கவில்லை -- object ID முறையானதாக இல்லை" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "குறிப்பு படிவம் முன்னோட்டம் அல்லது பிற்பட்டதை வழங்கவில்லை." +msgstr "குறிப்பு படிவம் முன்னோட்டம் அல்லது பிற்பட்டதை வழங்குவது இல்லை" #: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 #: contrib/admin/templates/admin/login.html:17 msgid "Username:" -msgstr "பயணர் பெயர்:" +msgstr "பயனர் பெயர்:" #: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "கடவுச்சொல்:" - -#: contrib/comments/templates/comments/form.html:6 -msgid "Forgotten your password?" -msgstr "கடவுச்சொல்லை மறந்துவிட்டீரா?" - -#: contrib/comments/templates/comments/form.html:8 #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/registration/password_change_done.html:3 @@ -304,6 +302,15 @@ msgstr "கடவுச்சொல்லை மறந்துவிட்ட msgid "Log out" msgstr "வெளியேறு" +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "கடவுச்சொல்:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "கடவுச்சொல்லை மறந்துவிட்டீரா?" + #: contrib/comments/templates/comments/form.html:12 msgid "Ratings" msgstr "விகிதம்" @@ -311,7 +318,7 @@ msgstr "விகிதம்" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 msgid "Required" -msgstr "தேவைப்படுகிறது " +msgstr "தேவைப்படுகிறது" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 @@ -320,88 +327,21 @@ msgstr "விருப்பத்தேர்வு" #: contrib/comments/templates/comments/form.html:23 msgid "Post a photo" -msgstr "புகைப்படத்தை அணுப்பு" +msgstr "புகைப்படத்தை அனுப்பு" -#: contrib/comments/templates/comments/form.html:27 +#: contrib/comments/templates/comments/form.html:28 #: contrib/comments/templates/comments/freeform.html:5 msgid "Comment:" msgstr "விவரம்:" -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# translation of django_ab.po to -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# R Hariram Aatreya , 2006. -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 msgid "Preview comment" msgstr "குறிப்பை முன்னேற்றமிடு" #: contrib/comments/templates/comments/freeform.html:4 msgid "Your name:" -msgstr "உங்கள்பெயர்:" +msgstr "உங்கள் பெயர்:" #: contrib/admin/filterspecs.py:40 #, python-format @@ -413,9 +353,9 @@ msgstr "" "
                                                                                      \n" #: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 msgid "All" -msgstr "அணைத்தும்" +msgstr "அனைத்தும்" #: contrib/admin/filterspecs.py:109 msgid "Any date" @@ -423,7 +363,7 @@ msgstr "எந்த தேதியும்" #: contrib/admin/filterspecs.py:110 msgid "Today" -msgstr "இண்று" +msgstr "இன்று" #: contrib/admin/filterspecs.py:113 msgid "Past 7 days" @@ -475,230 +415,295 @@ msgstr "புகுபதிவு உள்ளீடு" #: contrib/admin/models.py:26 msgid "log entries" -msgstr "புகுபதிவு உள்ளீடு" +msgstr "புகுபதிவு உள்ளீடுகள்" -#: contrib/admin/templatetags/admin_list.py:228 +#: contrib/admin/templatetags/admin_list.py:230 msgid "All dates" msgstr "அனைத்து தேதியும்" -#: contrib/admin/views/decorators.py:9 contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 +#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:59 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." -msgstr "தயவுசெய்து சரியான பயனர்பபெயர் மற்றும் கடவுச்சொல்லை உள்ள்ளிடவும். இரண்டும் எழுத்துவகையை சார்ந்தது." +msgstr "தயவுசெய்து சரியான பயனர்ப்பெயர் மற்றும் கடவுச்சொல்லை உள்ளிடவும். இரண்டும் எழுத்துவகையைச் சார்ந்தது." -#: contrib/admin/views/decorators.py:23 +#: contrib/admin/views/decorators.py:24 #: contrib/admin/templates/admin/login.html:25 msgid "Log in" msgstr "உள்ளே போ" -#: contrib/admin/views/decorators.py:61 +#: contrib/admin/views/decorators.py:62 msgid "" "Please log in again, because your session has expired. Don't worry: Your " "submission has been saved." -msgstr "தயவுசெய்து மறுபடியும் புகுபதிவு செய். ஏனென்றாள் காலம் முடிவடைந்தவு. கவலை படவேண்டாம்: உங்களுடைய அணுப்புதல் சேமிக்கப்பட்டுள்ளது. " +msgstr "தயவுசெய்து மறுபடியும் புகுபதிவு செய்க. ஏனென்றால் காலம் முடிவடைந்தது. கவலை படவேண்டாம்: உங்களுடைய அனுப்புதல் சேமிக்கப்பட்டுள்ளது." -#: contrib/admin/views/decorators.py:68 +#: 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 "உங்களுடைய உலாவி தற்கால நிரல்களை அணுமதிக்காதவாறு உள்ளமைக்கப் பட்டவாறு தெரிகிறது. தயவுசெய்து தற்காலிக நிரலை செயல்பட செய்து, பக்கத்தை மறுபடி உள்ள்வாங்கவும்." +msgstr "உங்களுடைய உலாவி தற்கால நிரல்களை அமதிக்காதவாறு உள்ளமைக்கப் பட்டவாறு தெரிகிறது. தயவுசெய்து தற்காலிக நிரலை செயல்பட செய்து, பக்கத்தை மறுபடி உள் வாங்கவும். " -#: contrib/admin/views/decorators.py:82 +#: contrib/admin/views/decorators.py:83 msgid "Usernames cannot contain the '@' character." msgstr "பயனர் பெயர் '@' குறியீட்டை கொண்டிருக்க முடியாது." -#: contrib/admin/views/decorators.py:84 +#: contrib/admin/views/decorators.py:85 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "உன்கள் மிண்அஞ்சள் முகவரிஉங்கள் பயனர் பெயர் இல்லை. '%s' யை முயற்ச்சி செய்யவும். " +msgstr "உங்கள் மின் அஞ்சல் முகவரி உங்கள் பயனர் பெயராக இல்லை. '%s'யை முயற்சி செய்யவும்." -#: contrib/admin/views/main.py:226 +#: contrib/admin/views/main.py:223 msgid "Site administration" -msgstr "இணைய மேளான்மை" +msgstr "இணைய மேலான்மை" -#: contrib/admin/views/main.py:260 +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:17 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "%(name)s \"%(obj)s\" வெற்றிகரமாக சேர்க்கப்பட்டது." +msgstr "%(name)s \"%(obj)s\" வெற்றிகரமாகச் சேர்க்கப்பட்டது." -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 +#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 +#: contrib/admin/views/auth.py:22 msgid "You may edit it again below." msgstr "நீங்கள் மறுபடியும் தொகுக்க முடியும். " -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 #, python-format msgid "You may add another %s below." msgstr "நீங்கள் மற்ற %s யை கீழே சேர்க்க முடியும்." -#: contrib/admin/views/main.py:290 +#: contrib/admin/views/main.py:289 #, python-format msgid "Add %s" -msgstr "%s யை சேர்" +msgstr "%s யை சேர்க்க" -#: contrib/admin/views/main.py:336 +#: contrib/admin/views/main.py:335 #, python-format msgid "Added %s." msgstr "%s சேர்க்கப்பட்டுள்ளது." -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:339 msgid "and" msgstr "மற்றும்" -#: contrib/admin/views/main.py:338 +#: contrib/admin/views/main.py:337 #, python-format msgid "Changed %s." -msgstr "%s மாற்றப்பட்டுள்ளது." +msgstr "%s மாற்றபட்டுள்ளது." -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:339 #, python-format msgid "Deleted %s." msgstr "%s அழிக்கப்பட்டது." -#: contrib/admin/views/main.py:343 +#: contrib/admin/views/main.py:342 msgid "No fields changed." msgstr "எந்த புலமும் மாறவில்லை." -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:345 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr " %(name)s \"%(obj)s\" வெற்றிகரமாக மாற்றப்பட்டது." +msgstr "%(name)s \"%(obj)s\" வெற்றிகரமாக மாற்றப்பட்டது." -#: contrib/admin/views/main.py:354 +#: contrib/admin/views/main.py:353 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "%(name)s \"%(obj)s\" வெற்றிகரமாக சேர்க்கப்பட்டுள்ளது. நீங்கள் கீழே தொகுக்க முடியும்." -#: contrib/admin/views/main.py:392 +#: contrib/admin/views/main.py:391 #, python-format msgid "Change %s" msgstr "%s யை மாற்று" -#: contrib/admin/views/main.py:470 +#: contrib/admin/views/main.py:473 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "%(name)s ல் உள்ள %(fieldname)s: %(obj)s" -#: contrib/admin/views/main.py:475 +#: contrib/admin/views/main.py:478 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "%(name)s ல் உள்ள %(fieldname)s:" -#: contrib/admin/views/main.py:508 +#: contrib/admin/views/main.py:511 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" வெற்றிகரமாக அழிக்கப்பட்டுள்ளது." -#: contrib/admin/views/main.py:511 +#: contrib/admin/views/main.py:514 msgid "Are you sure?" -msgstr "உறுதியாக சொகிறீர்களா?" +msgstr "உறுதியாக சொல்கிறீர்களா?" -#: contrib/admin/views/main.py:533 +#: contrib/admin/views/main.py:536 #, python-format msgid "Change history: %s" msgstr "வரலாற்றை மாற்று: %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:570 #, python-format msgid "Select %s" msgstr "%s யை தேர்ந்தெடு" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:570 #, python-format msgid "Select %s to change" msgstr "%s யை மாற்ற தேர்ந்தெடு" -#: contrib/admin/views/doc.py:277 contrib/admin/views/doc.py:286 -#: contrib/admin/views/doc.py:288 contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:297 +#: contrib/admin/views/main.py:758 +msgid "Database error" +msgstr "தகவல்சேமிப்பு பிழை" + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "ஒட்டு:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "வடிகட்டி:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "நோற்றமிடு:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "பக்கம் %r இல்லை" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %r not found in app %r" +msgstr "மாதரி %r பக்கம் %rல் இல்லை " + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%s.%s` object" +msgstr "சம்மந்தப்பட்ட '%s.%s' பொருள்" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "மாதிரி:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%s.%s` objects" +msgstr "மாதரி %s பக்கம் %s ல் இல்லை" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "அனைத்து %s " + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "எண்ணிக்கை %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "புலத்தின் %s பொருள்" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 msgid "Integer" msgstr "முழு எண்" -#: contrib/admin/views/doc.py:278 +#: contrib/admin/views/doc.py:292 msgid "Boolean (Either True or False)" msgstr "பூலியன் (சரி அல்லது தவறு)" -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 #, python-format msgid "String (up to %(maxlength)s)" msgstr "உரை (%(maxlength)s வரைக்கும்)" -#: contrib/admin/views/doc.py:280 +#: contrib/admin/views/doc.py:294 msgid "Comma-separated integers" msgstr "கமாவாள் பிரிக்கப்பட்ட முழு எண்" -#: contrib/admin/views/doc.py:281 +#: contrib/admin/views/doc.py:295 msgid "Date (without time)" msgstr "தேதி (நேரமில்லாமல்)" -#: contrib/admin/views/doc.py:282 +#: contrib/admin/views/doc.py:296 msgid "Date (with time)" msgstr "தேதி (நேரமுடன்)" -#: contrib/admin/views/doc.py:283 +#: contrib/admin/views/doc.py:297 msgid "E-mail address" msgstr "மின் அஞ்சல்" -#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287 +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 msgid "File path" -msgstr "கோப்ப்பு பாதை" +msgstr "கோப்புப் பாதை" -#: contrib/admin/views/doc.py:285 +#: contrib/admin/views/doc.py:300 msgid "Decimal number" -msgstr "புள்ளி எண்கள்" +msgstr "தசம எண்கள்" -#: contrib/admin/views/doc.py:291 +#: contrib/admin/views/doc.py:306 msgid "Boolean (Either True, False or None)" msgstr "இலக்கு முறை (சரி, தவறு அல்லது ஒன்றும் இல்லை)" -#: contrib/admin/views/doc.py:292 +#: contrib/admin/views/doc.py:307 msgid "Relation to parent model" msgstr "ஆதி மாதிரிக்கு தொடர்புடையது" -#: contrib/admin/views/doc.py:293 +#: contrib/admin/views/doc.py:308 msgid "Phone number" msgstr "தொலைபேசி எண்" -#: contrib/admin/views/doc.py:298 +#: contrib/admin/views/doc.py:313 msgid "Text" msgstr "உரை" -#: contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:314 msgid "Time" msgstr "நேரம்" -#: contrib/admin/views/doc.py:300 contrib/flatpages/models.py:7 +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 msgid "URL" msgstr "URL" -#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:316 msgid "U.S. state (two uppercase letters)" -msgstr "U.S. மாநிலம் (இரண்டு மேல் எழுத்துவகை எழுத்து)" +msgstr "U.S. மாநிலம் (இரண்டு மேல் எழுத்துவகை எழுத்து" -#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:317 msgid "XML text" msgstr "XML உரை" +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s -ல் urlpattern தோன்றுவதில்லை" + +#: contrib/admin/views/auth.py:28 +msgid "Add user" +msgstr "புதிய பயனர்" + #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" -msgstr "ஆவணமாக்கம்" +msgstr "ஆவனமாக்கம்" -# translation of django_ac.po to -# translation of django_ac.po to tamil -# Ashwin , 2006. -# R Hariram Aatreya , 2006. #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/registration/password_change_done.html:3 @@ -714,14 +719,15 @@ msgstr "ஆவணமாக்கம்" #: contrib/admin/templates/admin_doc/index.html:4 #: contrib/admin/templates/admin_doc/model_index.html:5 msgid "Change password" -msgstr "கடவுச்சொல்லை மாற்று " +msgstr "கடவுச்சொல்லை மாற்று" #: contrib/admin/templates/admin/object_history.html:5 #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin/base.html:30 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -757,7 +763,7 @@ msgid "" "This object doesn't have a change history. It probably wasn't added via this " "admin site." msgstr "" -"இந்த பொருள் மாற்ற வரலாற்றில் இல்லை" +"இந்த பொருள் மாற்று வரலாற்றில் இல்லை" "ஒரு வேளை நிர்வாகத்தளத்தின் மூலம் சேர்க்கப்படாமலிருக்கலாம்" #: contrib/admin/templates/admin/base_site.html:4 @@ -786,36 +792,39 @@ msgid "" "mail and should be fixed shortly. Thanks for your patience." msgstr "" "தவறு ஏற்பட்டுள்ளது" -"வலைத்தள நிர்வாகிக்கு மின்னஞ்சல் அனுப்பப்பட்டுள்ளது. விரைவில் சரி செய்யப்படும். உங்க்ளது பொறுமைக்கு நன்றி" +"வலைத்தள நிர்வாகிக்கு மின்னஞ்சல் அனுப்பப்பட்டுள்ளது. விரைவில் சரி செய்யப்படும். உங்களது பொறுமைக்கு நன்றி" #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 msgid "Page not found" -msgstr "பக்கத்தை காணவில்லை" +msgstr "பக்கத்தைக் காணவில்லை" #: contrib/admin/templates/admin/404.html:10 msgid "We're sorry, but the requested page could not be found." -msgstr "" -"நீங்கள் விரும்பிய பக்கத்தை காண இயலவில்லை. " -"அதற்காக வருந்துகிறோம்." +msgstr "நீங்கள் விரும்பிய பக்கத்தை காண இயலவில்லை,அதற்காக நாங்கள் வருந்துகிறோம்." #: contrib/admin/templates/admin/index.html:17 #, python-format msgid "Models available in the %(name)s application." msgstr "செயலியில் கிடைக்கக் கூடிய %(name)s மாதிரிகள்" +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + #: contrib/admin/templates/admin/index.html:28 #: contrib/admin/templates/admin/change_form.html:15 msgid "Add" -msgstr "சேர்" +msgstr "சேர்க்க" #: contrib/admin/templates/admin/index.html:34 msgid "Change" -msgstr "மாற்று" +msgstr "மாற்றுக" #: contrib/admin/templates/admin/index.html:44 msgid "You don't have permission to edit anything." -msgstr "உங்களுக்கு மாற்றுவதற்கு உரிமையில்லை" +msgstr "உங்களுக்கு மாற்றுவதற்குரிய உரிமையில்லை" #: contrib/admin/templates/admin/index.html:52 msgid "Recent Actions" @@ -832,58 +841,80 @@ msgstr "எதுவும் கிடைக்கவில்லை" #: contrib/admin/templates/admin/change_list.html:11 #, python-format msgid "Add %(name)s" -msgstr "%(name)s சேர்" +msgstr "%(name)s சேர்க்க" #: contrib/admin/templates/admin/login.html:22 msgid "Have you forgotten your password?" msgstr "நீங்கள் தங்களது கடவுச்சொல்லை மறந்து விட்டீர்களா?" -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/base.html:25 msgid "Welcome," msgstr "நல்வரவு," #: contrib/admin/templates/admin/delete_confirmation.html:9 #: contrib/admin/templates/admin/submit_line.html:3 msgid "Delete" -msgstr "நீக்கு" +msgstr "நீக்குக" #: contrib/admin/templates/admin/delete_confirmation.html:14 #, python-format msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "இந்த '%(object)s' இல் %(object_name)s நீக்குவது தொடர்புடைய மற்றவற்றையும் நீக்கும். ஆனால் அதற்கு உங்களுக்கு உரிமையில்லை" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "நீக்கும் '%(escaped_object)s' ஆனது %(object_name)s தொடர்புடைய மற்றவற்றையும் நீக்கும். ஆனால் அதை நீக்குவதற்குரிய உரிமை உங்களுக்கு இல்லை" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" +"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)s\" %(object_name)s நீக்குவதில் நிச்சயமா?" +"நீங்கள் இந்த \"%(escaped_object)s\" %(object_name)s நீக்குவதில் நிச்சயமா?" "தொடர்புடைய மற்றவையும் நீக்கப்படும். " #: contrib/admin/templates/admin/delete_confirmation.html:26 msgid "Yes, I'm sure" -msgstr "ஆம் எனக்கு உறுதி " +msgstr "ஆம், எனக்கு உறுதி" #: contrib/admin/templates/admin/filter.html:2 #, python-format -msgid " By %(title)s " -msgstr "%(title)s ஆல் " +msgid " By %(filter_title)s " +msgstr "%(filter_title)s ஆல்" #: contrib/admin/templates/admin/search_form.html:8 msgid "Go" msgstr "செல்" +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 விடை" +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/pagination.html:10 +msgid "Show all" +msgstr "எல்லாவற்றையும் காட்டு" + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "வடிகட்டி" + #: contrib/admin/templates/admin/change_form.html:21 msgid "View on site" -msgstr "தள்த்தில் பார் " +msgstr "தளத்தில் பார்" #: contrib/admin/templates/admin/change_form.html:30 msgid "Please correct the error below." -msgstr "கீழே உள்ள தவறுகளைத்திருத்து" +msgid_plural "Please correct the errors below." +msgstr[0] "கீழே உள்ள தவறுயைத் திருத்துக" +msgstr[1] "கீழே உள்ள தவறுகளைத் திருத்துக" #: contrib/admin/templates/admin/change_form.html:48 msgid "Ordering" @@ -891,7 +922,7 @@ msgstr "வரிசைப்படுத்துதல்" #: contrib/admin/templates/admin/change_form.html:51 msgid "Order:" -msgstr "வரிசைப்படுத்து" +msgstr "வரிசைப்படுத்து:" #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" @@ -907,23 +938,52 @@ msgstr "சேமித்து மாற்றத்தை தொடருக" #: contrib/admin/templates/admin/submit_line.html:7 msgid "Save" -msgstr "சேமி" +msgstr "சேமிக்க" + +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "உங்களுடைய தகவல்சேமிப்பகத்தை நிறுவுவதில் சில தவறுகள் உள்ளது. அதற்கு இணையான தகவல்சேமிப்பு அட்டவணையை" "தயாரிக்கவும். மேலும் பயனர் படிக்கும் படியான தகவல்சேமிப்பகத்தை உருவாக்கவும்." + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "முதலில்,பயனர்ப்பெயர் மற்றும் கடவுச்சொல்லை உள்ளிடவும்.அதன் பிறகு தான் நீங்கள் உங்கள் பெயரின் விவரங்களை திருத்த முடியும்" + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "பயனர்ப்பெயர்" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "கடவுச்சொல்" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "கடவுச்சொல்(மறுபடியும்)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "மேலே அதே கடவுச்சொல்லை உள்ளிடவும், சரிபார்ப்பதற்காக ." #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admin/templates/registration/password_change_form.html:6 #: contrib/admin/templates/registration/password_change_form.html:10 msgid "Password change" -msgstr "கடவுச்சொல் மாற்றம்" +msgstr "கடவுச்சொல் மாற்று" #: contrib/admin/templates/registration/password_change_done.html:6 #: contrib/admin/templates/registration/password_change_done.html:10 msgid "Password change successful" -msgstr "கடவுச்சொல் மாற்றம் வெற்றி " +msgstr "வெற்றிகரமாக கடவுச்சொல் மாற்றபட்டது" #: contrib/admin/templates/registration/password_change_done.html:12 msgid "Your password was changed." -msgstr "உங்கள் கடவுச்சொல் மாற்றப் பட்டுள்ளது" +msgstr "உங்களுடைய கடவுச்சொல் மாற்றபட்டது" #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/password_reset_form.html:6 @@ -937,10 +997,8 @@ 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:" @@ -952,9 +1010,7 @@ msgstr "எனது கடவுச்சொல்லை மாற்றிய #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." -msgstr "" -"வலைத்தளத்தில் உங்களது பொன்னான நேரத்தை " -"செலவழித்தமைக்கு மிகுந்த நன்றி" +msgstr "வலைத்தளத்தில் உங்களது பொன்னான நேரத்தை செலவழித்தமைக்கு மிகுந்த நன்றி" #: contrib/admin/templates/registration/logged_out.html:10 msgid "Log in again" @@ -970,9 +1026,7 @@ msgid "" "We've e-mailed a new password to the e-mail address you submitted. You " "should be receiving it shortly." msgstr "" -"கடவுச்சொல்லை மறந்து விட்டால்" -"உங்களது மின்னஞ்சல் முகவரியை உள்ளிடுக" -"புதிய கடவுச்சொல் " +"கடவுச்சொல்லை மறந்து விட்டால் உங்களது மின்னஞ்சல் முகவரியை உள்ளிடுக புதிய கடவுச்சொல் " "உங்களது மின்னஞ்சல் முகவரிக்கு அனுப்பப்பட்டுள்ளது. விரைவில் அது உங்களுக்கு கிடைக்கும்" #: contrib/admin/templates/registration/password_change_form.html:12 @@ -991,7 +1045,7 @@ msgstr "புதிய கடவுச்சொல்:" #: contrib/admin/templates/registration/password_change_form.html:21 msgid "Confirm password:" -msgstr "கடவுச்சொல் மாற்றத்தை உறுதிப்படுத்து:" +msgstr "கடவுச்சொலின் மாற்றத்தை உறுதிப்படுத்து:" #: contrib/admin/templates/registration/password_change_form.html:23 msgid "Change my password" @@ -1009,7 +1063,7 @@ 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 " +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:" @@ -1017,7 +1071,7 @@ msgstr "கடவுச்சொல்லை மாற்றியமைக் #: contrib/admin/templates/registration/password_reset_email.html:11 msgid "Your username, in case you've forgotten:" -msgstr "உங்களது பயனாளர் பெயர், (நீங்கள் மறந்திருந்தால் ): " +msgstr "உங்களது பயனாளர் பெயர், நீங்கள் மறந்திருந்தால்:" #: contrib/admin/templates/registration/password_reset_email.html:13 msgid "Thanks for using our site!" @@ -1026,78 +1080,15 @@ msgstr "எங்களது வலைத்தளத்தை பயன் ப #: contrib/admin/templates/registration/password_reset_email.html:15 #, python-format msgid "The %(site_name)s team" -msgstr "இந்த %(site_name)s -இன் குழு " +msgstr "இந்த %(site_name)s -இன் குழு" #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" msgstr "புத்தகக்குறிகள்" -# translation of django_ad.po to -# translation of django_ad.po to -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# aukbc-guest, 2006. -# R Hariram Aatreya , 2006. #: contrib/admin/templates/admin_doc/bookmarklets.html:5 msgid "Documentation bookmarklets" -msgstr "ஆவணமாக்கக் குறியீடு" +msgstr "ஆவணமாக்கக் குறியீடுகள்" #: contrib/admin/templates/admin_doc/bookmarklets.html:9 msgid "" @@ -1111,9 +1102,9 @@ msgid "" msgstr "" "\n" "

                                                                                      புத்தக குறியீடுகளை நிறுவ இந்த இணைப்பினை புத்தகக்குறியீட்டுப் \n" -"பட்டைக்கு இழுக்கவும். அல்லது வலது கிிளிக செய்து புத்தகக்குறியீடுகளில் சேர்க்கவும். \n" +"பட்டைக்கு இழுக்கவும். அல்லது வலது கிளிக் செய்து புத்தகக்குறியீடுகளில் சேர்க்கவும். \n" " இனி தளத்தில் எந்தப் பக்கத்தில் இருந்தும் புத்தகக்குறியீட்டினை தேர்வுசெய்ய முடியும். \n" -" நீங்கள் இந்த தளத்தை \"internal\" என குுறிக்கப்பட்ட கணிணியில் இருந்து மட்டுமே \n" +" நீங்கள் இந்த தளத்தை \"internal\" என குறிக்கப்பட்ட கணிணியில் இருந்து மட்டுமே \n" " ஒருசில புத்தகக்குறிகளை செயல்படுத்தமுடியும்\n " " உங்களுக்கு, கணிணி \"internal\" என உறுதி செய்ய கணிணிமேளாலரை அணுகவும்.

                                                                                      \n" @@ -1192,17 +1183,17 @@ msgid "" "'http://'." msgstr "இது முழுமையான பாதையாக (மேலே உள்ளது போல) அல்லது \"http\"//\" என தொடங்கும் வலை முகவரியாக இருக்கலாம்." -#: contrib/redirects/models.py:12 +#: contrib/redirects/models.py:13 msgid "redirect" msgstr "திரும்ப அனுப்பு" -#: contrib/redirects/models.py:13 +#: contrib/redirects/models.py:14 msgid "redirects" msgstr "திரும்ப அனுப்புகிறது. " #: contrib/flatpages/models.py:8 msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "உதாரணம்: '/about/contact/'. முன்னும் பின்னும் '/' உள்ளதை உறுதி செய்க. " +msgstr "உதாரணம்: '/about/contact/'. முன்னும் பின்னும் '/' உள்ளதை உறுதி செய்க." #: contrib/flatpages/models.py:9 msgid "title" @@ -1222,8 +1213,8 @@ msgstr "வார்ப்புரு பெயர்" #: contrib/flatpages/models.py:13 msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." msgstr "உதாரணம் 'flatpages/contact_page'. இது இல்லையெனில் 'flatpages/default' என்பதே பயன்படுத்தப்படும்.ப்படும்." #: contrib/flatpages/models.py:14 @@ -1242,151 +1233,179 @@ msgstr "எளிய பக்கம்" msgid "flat pages" msgstr "எளிய பக்கங்கள்" -#: contrib/auth/models.py:13 contrib/auth/models.py:26 +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "வெளியே வந்துவீட்டீர்" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 msgid "name" msgstr "பெயர்" -#: contrib/auth/models.py:15 +#: contrib/auth/models.py:40 msgid "codename" msgstr "குறிமுறை பெயர்" -#: contrib/auth/models.py:17 +#: contrib/auth/models.py:42 msgid "permission" msgstr "அனுமதி" -#: contrib/auth/models.py:18 contrib/auth/models.py:27 +#: contrib/auth/models.py:43 contrib/auth/models.py:58 msgid "permissions" msgstr "அனுமதிகள்" -#: contrib/auth/models.py:29 +#: contrib/auth/models.py:60 msgid "group" msgstr "குழு" -#: contrib/auth/models.py:30 contrib/auth/models.py:65 +#: contrib/auth/models.py:61 contrib/auth/models.py:100 msgid "groups" msgstr "குழுக்கள்" -#: contrib/auth/models.py:55 +#: contrib/auth/models.py:90 msgid "username" msgstr "பயனர் பெயர்" -#: contrib/auth/models.py:56 +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "தேவை. 30 எழுத்துகள் அல்லது கொஞ்சம். அகர வரிசை எழுத்துக்கள் மட்டுமே ( எழுத்துகள்,எண்கள்,அன்டர்ஸ்கோர்). " + +#: contrib/auth/models.py:91 msgid "first name" msgstr "முதல் பெயர்" -#: contrib/auth/models.py:57 +#: contrib/auth/models.py:92 msgid "last name" msgstr "கடைசி பெயர்" -#: contrib/auth/models.py:58 +#: contrib/auth/models.py:93 msgid "e-mail address" msgstr "மின்னஞ்சல் முகவரி" -#: contrib/auth/models.py:59 +#: contrib/auth/models.py:94 msgid "password" msgstr "கடவுச்சொல்" -#: contrib/auth/models.py:59 +#: contrib/auth/models.py:94 msgid "Use '[algo]$[salt]$[hexdigest]'" msgstr "பயன்படுத்து '[algo]$[salt]$[hexdigest]'" -#: contrib/auth/models.py:60 +#: contrib/auth/models.py:95 msgid "staff status" msgstr "பணியாளர் நிலை" -#: contrib/auth/models.py:60 +#: contrib/auth/models.py:95 msgid "Designates whether the user can log into this admin site." -msgstr "பயனர், 'மேலாளலர்' பக்கத்தில் நுழை்ழைவதை முடிவு செய்கிறது " +msgstr "பயனர், 'மேலாளலர்' பக்கத்தில் நுழைவதை முடிவு செய்கிறது" -#: contrib/auth/models.py:61 +#: contrib/auth/models.py:96 msgid "active" msgstr "செயல்படும்" -#: contrib/auth/models.py:62 +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"பயனர்,டிஜாங்ஙோ 'மேலாளலர்' பக்கத்தில் நுழைவதை முடிவு செய்கிறது . இதை தேர்வு செய்யப்படாத கணக்கு உடனடியாக" +"அழிக்கப்படும்" + +#: contrib/auth/models.py:97 msgid "superuser status" msgstr "மேலாளர் இருப்பு நிலை" -#: contrib/auth/models.py:63 +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "இந்த பயனருக்கு எல்லா அங்கீகாரங்களும் வழங்கப்படவில்லை." + +#: contrib/auth/models.py:98 msgid "last login" msgstr "கடைசி உள்நுழைவு" -#: contrib/auth/models.py:64 +#: contrib/auth/models.py:99 msgid "date joined" msgstr "சேர்ந்த தேதி" -#: contrib/auth/models.py:66 +#: contrib/auth/models.py:101 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." -msgstr "பயனர் தனது அனுமதிகளோடு ,தான் உள்ள குழுவினது அனுமதிகளைையும் பெறுவார்." +msgstr "பயனர் தனது அனுமதிகளோடு ,தான் உள்ள குழுவினது அனுமதிகளையும் பெறுவார்." -#: contrib/auth/models.py:67 +#: contrib/auth/models.py:102 msgid "user permissions" msgstr "பயனர் அனுமதிகள்" -#: contrib/auth/models.py:70 +#: contrib/auth/models.py:105 msgid "user" msgstr "பயனர்" -#: contrib/auth/models.py:71 +#: contrib/auth/models.py:106 msgid "users" msgstr "பயனர்கள்" -#: contrib/auth/models.py:76 +#: contrib/auth/models.py:111 msgid "Personal info" msgstr "தனிப்பட்ட விவரம்" -#: contrib/auth/models.py:77 +#: contrib/auth/models.py:112 msgid "Permissions" msgstr "அனுமதிகள்" -#: contrib/auth/models.py:78 +#: contrib/auth/models.py:113 msgid "Important dates" msgstr "முக்கியமான தேதிகள்" -#: contrib/auth/models.py:79 +#: contrib/auth/models.py:114 msgid "Groups" msgstr "குழுக்கள்" -#: contrib/auth/models.py:219 +#: contrib/auth/models.py:256 msgid "message" msgstr "செய்தி" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:52 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." -msgstr " உங்கள் இணைய உலாவியில் குக்கிகள் செயலாக்கம் பெறவில்லை. உள்நுழைவதற்க்கு குக்கிகள் அவசியம்." +msgstr " உங்கள் இணைய உலாவியில் குக்கிகள் செயலாக்கம் பெறவில்லை. உள்நுழைவதற்கு குக்கிகள் அவசியம்." -#: contrib/contenttypes/models.py:25 +#: contrib/auth/forms.py:61 +msgid "This account is inactive." +msgstr "இந்த கணக்கு செயல்பட துவங்கவில்லை" + +#: contrib/contenttypes/models.py:20 msgid "python model class name" msgstr "python model class name" -#: contrib/contenttypes/models.py:28 +#: contrib/contenttypes/models.py:23 msgid "content type" -msgstr "பொருளடக்க வகை " +msgstr "பொருளடக்க வகை" -#: contrib/contenttypes/models.py:29 +#: contrib/contenttypes/models.py:24 msgid "content types" msgstr "பொருளடக்க வகைகள்" -#: contrib/sessions/models.py:35 +#: contrib/sessions/models.py:51 msgid "session key" msgstr "அமர்வு குறியீ" -#: contrib/sessions/models.py:36 +#: contrib/sessions/models.py:52 msgid "session data" msgstr "அமர்வு தகவல்" -#: contrib/sessions/models.py:37 +#: contrib/sessions/models.py:53 msgid "expire date" msgstr "காலாவதியாகும் தேதி" -#: contrib/sessions/models.py:41 +#: contrib/sessions/models.py:57 msgid "session" msgstr "அமர்வு" -#: contrib/sessions/models.py:42 +#: contrib/sessions/models.py:58 msgid "sessions" msgstr "அமர்வுகள்" @@ -1406,21 +1425,6 @@ msgstr "வலைத்தளம்" msgid "sites" msgstr "வலைத்தளங்கள்" -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "தேதி வடிவம்" - -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "தேதிநேர வடிவம்" - -# translation of django_ae.po to -# translation of django_ae.po to -# R Hariram Aatreya , 2006. -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "நேரத்தின் அமைப்பும்" - #: utils/dates.py:6 msgid "Monday" msgstr "திங்கள்" @@ -1575,537 +1579,558 @@ msgstr "டிச." #: utils/timesince.py:12 msgid "year" -msgstr "வருடம்" +msgid_plural "years" +msgstr[0] "வருடம்" +msgstr[1] "வருடங்கள்" #: utils/timesince.py:13 msgid "month" -msgstr "மாதம்" +msgid_plural "months" +msgstr[0] "மாதம்" +msgstr[1] "மாதங்கள்" #: utils/timesince.py:14 msgid "week" -msgstr "வாரம்" +msgid_plural "weeks" +msgstr[0] "வாரம்" +msgstr[1] "வாரங்கள்" #: utils/timesince.py:15 msgid "day" -msgstr "நாள்" +msgid_plural "days" +msgstr[0] "நாள்" +msgstr[1] "நாட்கள்" #: utils/timesince.py:16 msgid "hour" -msgstr "மணி" +msgid_plural "hours" +msgstr[0] "மணி" +msgstr[1] "மணி" #: utils/timesince.py:17 msgid "minute" -msgstr "நிமிடம்" +msgid_plural "minutes" +msgstr[0] "நிமிடம்" +msgstr[1] "நிமிடங்கள்" -#: conf/global_settings.py:37 +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "தேதி_முறை" + +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "தேதிநேரம்_முறை" + +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "நேரம்_முறை" + +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "வருடம்_மாதம்_முறை" + +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "மாதம்_நாள்_முறை" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "அரபிக்" + +#: conf/global_settings.py:40 msgid "Bengali" msgstr "பெங்காலி" -#: conf/global_settings.py:38 +#: conf/global_settings.py:41 msgid "Czech" msgstr "செக்" -#: conf/global_settings.py:39 +#: conf/global_settings.py:42 msgid "Welsh" msgstr "வெல்ஸ்" -#: conf/global_settings.py:40 +#: conf/global_settings.py:43 msgid "Danish" msgstr "டேனிஷ்" -#: conf/global_settings.py:41 +#: conf/global_settings.py:44 msgid "German" msgstr "ஜெர்மன்" -#: conf/global_settings.py:42 +#: conf/global_settings.py:45 msgid "Greek" msgstr "கிரேக்கம்" -#: conf/global_settings.py:43 +#: conf/global_settings.py:46 msgid "English" msgstr "ஆங்கிலம்" -#: conf/global_settings.py:44 +#: conf/global_settings.py:47 msgid "Spanish" msgstr "ஸ்பானிஷ்" -#: conf/global_settings.py:45 +#: conf/global_settings.py:48 +msgid "Argentinean Spanish" +msgstr "அர்ஜெண்டியன் ஸ்பானிஷ் " + +#: conf/global_settings.py:49 +msgid "Finnish" +msgstr "பீனீஷ்" + +#: conf/global_settings.py:50 msgid "French" msgstr "ப்ரென்சு" -#: conf/global_settings.py:46 +#: conf/global_settings.py:51 msgid "Galician" msgstr "கலீஷீயன்" -#: conf/global_settings.py:47 +#: conf/global_settings.py:52 msgid "Hungarian" msgstr "ஹங்கேரியன்" -#: conf/global_settings.py:48 +#: conf/global_settings.py:53 msgid "Hebrew" msgstr "ஹீப்ரு" -#: conf/global_settings.py:49 +#: conf/global_settings.py:54 msgid "Icelandic" msgstr "ஐஸ்லான்டிக்" -#: conf/global_settings.py:50 +#: conf/global_settings.py:55 msgid "Italian" msgstr "இத்தாலியன்" -#: conf/global_settings.py:51 +#: conf/global_settings.py:56 msgid "Japanese" msgstr "ஜப்பானிய" -#: conf/global_settings.py:52 +#: conf/global_settings.py:57 msgid "Dutch" msgstr "டச்சு" -#: conf/global_settings.py:53 +#: conf/global_settings.py:58 msgid "Norwegian" msgstr "நார்வீசியன்" -#: conf/global_settings.py:54 +#: conf/global_settings.py:59 msgid "Brazilian" msgstr "பிரேசிலியன்" -#: conf/global_settings.py:55 +#: conf/global_settings.py:60 msgid "Romanian" msgstr "ரோமானியன்" -#: conf/global_settings.py:56 +#: conf/global_settings.py:61 msgid "Russian" msgstr "ரஷ்யன்" -#: conf/global_settings.py:57 +#: conf/global_settings.py:62 msgid "Slovak" msgstr "சுலோவாக்" -#: conf/global_settings.py:58 +#: conf/global_settings.py:63 msgid "Slovenian" msgstr "ஸ்லோவேனியன்" -#: conf/global_settings.py:59 +#: conf/global_settings.py:64 msgid "Serbian" msgstr "செர்பியன்" -#: conf/global_settings.py:60 +#: conf/global_settings.py:65 msgid "Swedish" msgstr "சுவிடிஷ்" -#: conf/global_settings.py:61 +#: conf/global_settings.py:66 +msgid "Tamil" +msgstr "தமிழ்" + +#: conf/global_settings.py:67 +msgid "Turkish" +msgstr "துருக்கிஷ்" + +#: conf/global_settings.py:68 msgid "Ukrainian" msgstr "உக்ரேனியன்" -#: conf/global_settings.py:62 +#: conf/global_settings.py:69 msgid "Simplified Chinese" msgstr "எளிய சீன மொழி" -#: conf/global_settings.py:63 +#: conf/global_settings.py:70 msgid "Traditional Chinese" msgstr "மரபு சீன மொழி" -#: core/validators.py:60 +#: core/validators.py:63 msgid "This value must contain only letters, numbers and underscores." -msgstr "இந்த மதிப்பு எழுத்துகள் எண்கள் அன்டர்ஸ்கோர் மற்றும் உள்ளடக்க வேண்டும் " +msgstr "இந்த மதிப்பு எழுத்துகள், எண்கள் மேலும் அன்டர்ஸ்கோர் உள்ளடக்க வேண்டும். " -#: core/validators.py:64 +#: core/validators.py:67 msgid "" "This value must contain only letters, numbers, underscores, dashes or " "slashes." -msgstr "இந்த மதிப்பு எழுத்துகள் எண்கள் அன்டர்ஸ்கோர் டஷ் அல்லது சலஷ் மற்றும் உள்ளடக்க வேண்டும்" +msgstr "இந்த மதிப்பு எழுத்துகள், எண்கள், அன்டர்ஸ்கோர், டஷ் அல்லது சலஷ் மற்றும் உள்ளடக்க வேண்டும்" -#: core/validators.py:72 +#: core/validators.py:71 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "இந்த மதிப்பு எழுத்துகள், எண்கள், அன்டர்ஸ்கோர் டஷ் அல்லது கைப்பன் மற்றும் உள்ளடக்க வேண்டும்" + +#: core/validators.py:75 msgid "Uppercase letters are not allowed here." -msgstr "பெரிய எழுத்துகளுக்கு இங்கு அனுமதி இல்லை இல்லை." +msgstr "பெரிய எழுத்துகளுக்கு இங்கு அனுமதி இல்லை" -#: core/validators.py:76 +#: core/validators.py:79 msgid "Lowercase letters are not allowed here." -msgstr "சிறிய ய எழுத்துகளுக்கு இங்கு அனுமதி இல்லை" +msgstr "சிறிய எழுத்துகளுக்கு இங்கு அனுமதி இல்லை" -# translation of django_af.po to -# translation of django_af.po to -# translation of django_af.po to -# translation of django_af.po to -# translation of django_af.po to -# translation of django_af.po to -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# , 2006. -# R Hariram Aatreya , 2006. -#: core/validators.py:83 +#: core/validators.py:86 msgid "Enter only digits separated by commas." -msgstr "காற்புள்ளிகளால் தனிமைப்படுத்திய இலக்கஙகள மட்டும் எழுதவும்" +msgstr "இங்கு எண்களை மட்டுமே எழுதவும் காமவாள் தனிமைபடுத்தவும் " -#: core/validators.py:95 +#: core/validators.py:98 msgid "Enter valid e-mail addresses separated by commas." -msgstr "காற்புள்ளிகளால் தனிமைப்படுத்திய முறையான e முகவரிகள்் மட்டும் எழுதவும்" +msgstr "காற்புள்ளிகளால் தனிமைப்படுத்திய முறையான e முகவரிகள் மட்டும் எழுதவும்" -#: core/validators.py:99 +#: core/validators.py:102 msgid "Please enter a valid IP address." -msgstr "தயவு செய்து முறையான ஐ.பி முகவறி மட்டும் எழுதவும்" +msgstr "தயவு செய்து முறையான ஐ.பி முகவரி மட்டும் எழுதவும்" -#: core/validators.py:103 +#: core/validators.py:106 msgid "Empty values are not allowed here." -msgstr "காலியான மதிப்புக்கள் அனுமதி இல்லை" +msgstr "காலியான மதிப்புக்கள் அனுமதி இல்லை" -#: core/validators.py:107 +#: core/validators.py:110 msgid "Non-numeric characters aren't allowed here." -msgstr "எண் வடிவமில்லாத எழுத்துக்கள் அனுமதி இல்லை" +msgstr "எண் வடிவமில்லாத எழுத்துக்கள் அனுமதி இல்லை" -#: core/validators.py:111 +#: core/validators.py:114 msgid "This value can't be comprised solely of digits." msgstr "இந்த மதிப்பு இலக்கங்கள் மட்டுமே கொண்டதாக இருக்க கூடாது" -#: core/validators.py:116 +#: core/validators.py:119 msgid "Enter a whole number." msgstr "முழு எண் மட்டுமே எழுதவும்" -#: core/validators.py:120 +#: core/validators.py:123 msgid "Only alphabetical characters are allowed here." msgstr "அகர வரிசை எழுத்துக்கள் மட்டுமே அனுமதி உன்டு" -#: core/validators.py:124 +#: core/validators.py:138 +msgid "Year must be 1900 or later." +msgstr "வருடம் கண்டிப்பாக 1900 அல்லது அதற்கு மேல்" + +#: core/validators.py:142 +#, python-format +msgid "Invalid date: %s." +msgstr "முறையல்லாத தேதி: %s" + +#: core/validators.py:146 db/models/fields/__init__.py:415 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "வவவவ-மாமா-நாநா என்ற அமைப்பில் உள்ள முறையான தேதி மட்டுமே எழுதவும்" -#: core/validators.py:128 +#: core/validators.py:151 msgid "Enter a valid time in HH:MM format." msgstr "மம-நிநி என்ற அமைப்பில் உள்ள முறையான நேரம் மட்டுமே எழுதவும்" -#: core/validators.py:132 db/models/fields/__init__.py:468 +#: core/validators.py:155 db/models/fields/__init__.py:477 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." msgstr "வவவவ-மாமா-நாநா மம-நிநி என்ற அமைப்பில் உள்ள முறையான தேதி/நேரம் மட்டுமே எழுதவும்" -#: core/validators.py:136 +#: core/validators.py:160 msgid "Enter a valid e-mail address." -msgstr "முறையான e முகவரிகள்் மட்டும் எழுதவும்" +msgstr "முறையான e முகவரிகள் மட்டும் எழுதவும்" -#: core/validators.py:148 +#: core/validators.py:172 core/validators.py:401 forms/__init__.py:661 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "அந்த பக்கத்தின் encoding வகையைப் பரிசோதிக்க.கோப்பு சமர்பிக்கப் பட்டவில்லை " + +#: core/validators.py:176 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." -msgstr "முறையான படம் மட்டுமே பதிவேற்றம் செய்யவும். நீங்கள் பதிவேற்றம் செய்த கோப்பு படம் அள்ளாத அள்ளது கெட்டுப்போன கோப்பாகும்" +msgstr "முறையான படம் மட்டுமே பதிவேற்றம் செய்யவும். நீங்கள் பதிவேற்றம் செய்த கோப்பு படம் அள்ளாத அல்லது கெட்டுப்போன கோப்பாகும்" -#: core/validators.py:155 +#: core/validators.py:183 #, python-format msgid "The URL %s does not point to a valid image." -msgstr "%s என்ற இணையதள முகவறி சறியான படத்தைச் சுட்டவில்லை" +msgstr "%s என்ற இணையதள முகவரி சரியான படத்தைச் சுட்டவில்லை" -#: core/validators.py:159 +#: core/validators.py:187 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." msgstr "தொலைபேசி எண்கள் XXX-XXX-XXXX என்ற அமைப்பில் இருக்க வேண்டும். \"%s\" என்பது முறையள்ள" -#: core/validators.py:167 +#: core/validators.py:195 #, python-format msgid "The URL %s does not point to a valid QuickTime video." -msgstr "%s என்ற இணையதள முகவறி முறையான குயிக் டைம் படக்காட்சியைச் சுட்டவில்லை" +msgstr "%s என்ற இணையதள முகவரி முறையான குயிக் டைம் படக்காட்சியைச் சுட்டவில்லை" -#: core/validators.py:171 +#: core/validators.py:199 msgid "A valid URL is required." -msgstr "முறையான இணையதள முகவறி தேவை" +msgstr "முறையான இணையதள முகவரி தேவை" -#: core/validators.py:185 +#: core/validators.py:213 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" "%s" msgstr "" -"முறையான இணையதள முகவறி தேவை. குறிப்பிடத்தக்கத் தவறுகளாவன:\n" +"முறையான இணையதள முகவரி தேவை. குறிப்பிடத்தக்கத் தவறுகளாவன:\n" "%s" -#: core/validators.py:192 +#: core/validators.py:220 #, python-format msgid "Badly formed XML: %s" msgstr "முறைப்படுத்தப்படாத XML: %s" -#: core/validators.py:202 +#: core/validators.py:230 #, python-format msgid "Invalid URL: %s" msgstr "முறைப்படுத்தப்படாத இணையதள முகவறி: %s" -#: core/validators.py:206 core/validators.py:208 +#: core/validators.py:234 core/validators.py:236 #, python-format msgid "The URL %s is a broken link." -msgstr "%s என்ற இணையதள முகவறி உடைந்துள்ளது" +msgstr "%s என்ற இணையதள முகவரி உடைந்துள்ளது" -#: core/validators.py:214 +#: core/validators.py:242 msgid "Enter a valid U.S. state abbreviation." -msgstr "முறையான U.S மாநில பெயர் சுருக்கம் எழுதவும்ழுதவும்" +msgstr "முறையான U.S மாநில பெயர் சுருக்கம் எழுதவும்" -#: core/validators.py:229 +#: core/validators.py:256 #, python-format msgid "Watch your mouth! The word %s is not allowed here." -msgstr "வார்த்தைகளை அளன்து பேசுங்கள். %s என்ற வார்த்தை இங்கு அனுமதி இல்லை" +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "வார்த்தைகளை அளன்து பேசுங்கள்! %s என்ற வார்த்தை இங்கு அனுமதி இல்லை" +msgstr[1] "வார்த்தைகளை அளந்து பேசுங்கள்! %s என்ற வார்த்தைகள் இங்கு அனுமதி இல்லை" -#: core/validators.py:236 +#: core/validators.py:263 #, python-format msgid "This field must match the '%s' field." msgstr "இந்த புலம் %s என்ற புலத்துடன் ஒத்திறுக்க வேண்டும்" -#: core/validators.py:255 +#: core/validators.py:282 msgid "Please enter something for at least one field." msgstr "தயவு செய்து ஒரு புலத்திலாவது ஏதாவது எழுதவும்" -#: core/validators.py:264 core/validators.py:275 +#: core/validators.py:291 core/validators.py:302 msgid "Please enter both fields or leave them both empty." -msgstr "தயவு செய்து இரு்புலங்கலையும்ும் நிரப்பவும்; அல்லது இரண்டையும் காலியாக விடவும்" +msgstr "தயவு செய்து இரு புலங்கலையும் நிரப்பவும் அல்லது இரண்டையும் காலியாக விடவும்" -#: core/validators.py:282 +#: core/validators.py:309 #, python-format msgid "This field must be given if %(field)s is %(value)s" -msgstr "%(field)s, %(value)s ஆக இருந்தால் இன்த புலம் இருக்க வேண்டும்" +msgstr "%(field)s, %(value)s ஆக இருந்தால் இந்த புலம் இருக்க வேண்டும்" -#: core/validators.py:294 +#: core/validators.py:321 #, python-format msgid "This field must be given if %(field)s is not %(value)s" -msgstr "%(field)s, %(value)s ஆக இல்லை என்றால் இன்த புலம் இருக்க வேண்டும்" +msgstr "%(field)s, %(value)s ஆக இல்லை என்றால் இந்த புலம் இருக்க வேண்டும்" -#: core/validators.py:313 +#: core/validators.py:340 msgid "Duplicate values are not allowed." msgstr "போலியான மதிப்புகள் அனுமதி இல்லை" -#: core/validators.py:336 +#: core/validators.py:363 #, python-format msgid "This value must be a power of %s." msgstr "இந்த மதிப்பு %s இன் அடுக்காக இருக்க வேன்டும்" -#: core/validators.py:347 +#: core/validators.py:374 msgid "Please enter a valid decimal number." -msgstr "தயவுசெய்து முறையான பதின்ம எண்ணை நழைக்கcவும்" +msgstr "தயவுசெய்து முறையான பதின்ம எண்ணை நுழைக்கவும்" -#: core/validators.py:349 +#: core/validators.py:378 #, python-format -msgid "" -"Please enter a valid decimal number with at most %s total digit." -"Please enter a valid decimal number with at most %s total digits." -msgstr "" -"அதிகபட்சம் %s எண்ணை உள்ள பதின்ம எண்ணை நுழை." -"அதிகபட்சம் %s எண்கள் உள்ள பதின்ம எண்ணை நுழை." +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:352 +#: core/validators.py:381 #, python-format -msgid "" -"Please enter a valid decimal number with at most %s decimal place." -"Please enter a valid decimal number with at most %s decimal places." -msgstr "" -"அதிகபட்சம் %s புள்ளி இடம் ள் உள்ள பதின்ம எண்ை நுழை" -"அதிகபட்சம் %s புள்ளி இடங்கள் உள்ள பதின்ம எண்ை நுழை" +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:362 +#: core/validators.py:384 +#, 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:394 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." msgstr "மேல்ஏற்று செய்யப்பட்ட கோப்பு குறைந்தபட்சம் %s பைட்டுகள் உள்ளனவா என சரி பார்க்கவும்" -#: core/validators.py:363 +#: core/validators.py:395 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." msgstr "மேல்ஏற்று செய்யப்பட்ட கோப்பு அதிகபட்சம் %s பைட்டுகள் உள்ளனவா என சரி பார்க்கவும்." -#: core/validators.py:376 +#: core/validators.py:412 msgid "The format for this field is wrong." msgstr "புலனுடைய அமைப்பு தவறு" -#: core/validators.py:391 +#: core/validators.py:427 msgid "This field is invalid." -msgstr "இந்த புலம் செல்லாது." +msgstr "இந்த புலம் செல்லாது.ள" -#: core/validators.py:426 +#: core/validators.py:463 #, python-format msgid "Could not retrieve anything from %s." msgstr "%s இருந்து எதுவும் எடுக்க முடியவில்லை" -#: core/validators.py:429 +#: core/validators.py:466 #, python-format msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." msgstr "வலைமனை %(url)s என்பது செல்லாத உள்ளடக்க-வகை தலைப்பான '%(contenttype)s' ஐ திருப்பி தந்துள்ளது." -#: core/validators.py:462 +#: core/validators.py:499 #, python-format msgid "" "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " "\"%(start)s\".)" -msgstr " %(line)s கோடு லிருந்து மூடாத %(tag)s டாகை மூடு. ( வரி,\"%(start)s\"வுடன் துவங்குகின்றது)" +msgstr "%(line)s கோடு லிருந்து மூடாத %(tag)s டாகை மூடு. ( வரி,\"%(start)s\"வுடன் துவங்குகின்றது)" -#: core/validators.py:466 +#: core/validators.py:503 #, python-format msgid "" "Some text starting on line %(line)s is not allowed in that context. (Line " "starts with \"%(start)s\".)" msgstr "வரி %(line)s இல் உள்ள சில உரைகள் இருப்பதற்கு அனுமதி இல்லை.( வரி,\"%(start)s\"வுடன் துவங்குகின்றது)" -#: core/validators.py:471 +#: core/validators.py:508 #, python-format msgid "" "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" "(start)s\".)" msgstr "வரி %(line)s இல் உள்ள \"%(attr)s\" என்பது தவறான பண்பாகும.( வரி,\"%(start)s\"வுடன் துவங்குகின்றது)" -#: core/validators.py:476 +#: core/validators.py:513 #, python-format msgid "" "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" "(start)s\".)" msgstr "வரி %(line)s இல் உள்ள \"<%(tag)s>\" என்பது தவறான ஒட்டாகும் .( வரி,\"%(start)s\"வுடன் துவங்குகின்றது)" -#: core/validators.py:480 +#: core/validators.py:517 #, python-format msgid "" "A tag on line %(line)s is missing one or more required attributes. (Line " "starts with \"%(start)s\".)" msgstr "வரி %(line)s இல் உள்ள ஒட்டு இன பண்புகள் தேவைப்படுகின்றன.(வரி,\"%(start)s\" வுடன் துவங்குகின்றது)" -#: core/validators.py:485 +#: core/validators.py:522 #, python-format msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " "starts with \"%(start)s\".)" msgstr "வரி %(line)s இல் உள்ள \"%(attr)s\" பண்பின் மதிப்பு தவறானது.(வரி \"%(start)s\" இருந்து ஆரம்பம்)" +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s வெற்றிகரமாக சேர்க்கப்பட்டு விட்டது" + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s வெற்றிகரமாக மாற்றபட்டு விட்டது" + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s நீக்கப்பட்டுள்ளது" + #: db/models/manipulators.py:302 #, python-format -#, fuzzy msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "%(type)s உடன் உள்ள %(object)s உள்ளது" +msgstr "%(type)s உடன் உள்ள %(object)s ஏற்கனவே %(field)s கொடுக்கப்பட்டு உள்ளது" #: db/models/fields/__init__.py:40 #, python-format msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(fieldname)s உடன் உள்ள %(optname)s உயிருடன உள்ளது" +msgstr "%(fieldname)s உடன் உள்ள %(optname)s ஏற்கனவே உள்ளது" #: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 +#: db/models/fields/__init__.py:551 db/models/fields/__init__.py:562 #: forms/__init__.py:346 msgid "This field is required." msgstr "இந்த புலத்தில் மதிப்பு தேவை" -#: db/models/fields/__init__.py:337 +#: db/models/fields/__init__.py:340 msgid "This value must be an integer." msgstr "இந்த மதிப்பு முழுவெண்ணாக இருக்க வேண்டும" -#: db/models/fields/__init__.py:369 +#: db/models/fields/__init__.py:372 msgid "This value must be either True or False." msgstr "இந்த மதிப்பு சரி அல்லது தவறாக இருக்க வேண்டும்" -#: db/models/fields/__init__.py:385 +#: db/models/fields/__init__.py:388 msgid "This field cannot be null." msgstr "இந்த புலம் காலியாக இருக்கக் கூடாது" -#: db/models/fields/__init__.py:562 +#: db/models/fields/__init__.py:571 msgid "Enter a valid filename." msgstr "முறையான கோப்புப் பெயரை எழுதவும்" -#: db/models/fields/related.py:43 +#: db/models/fields/related.py:51 #, python-format msgid "Please enter a valid %s." msgstr "தயவு செய்து முறையான %s எழுதவும்" -#: db/models/fields/related.py:579 +#: db/models/fields/related.py:618 msgid "Separate multiple IDs with commas." msgstr "பன்மையிலுள்ள அடையாளங்களை காற்புள்ளிகளால் பிரிக்கவும்" -#: db/models/fields/related.py:581 +#: db/models/fields/related.py:620 msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "Mac இல், ஒன்றுக்கு மேற்பட்டவற்றை தேர்வு செய்ய \"Control\" அல்லது \"Command\" ஐ அழுத்தவும்" -#: db/models/fields/related.py:625 +#: db/models/fields/related.py:664 #, python-format -msgid "" -"Please enter valid %(self)s IDs. The value %(value)r is invalid." -"Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr "" -"தயவு செய்து முறையான %(self)s அடையாளங்களை எழுதவும். %(value)r என்ற மதிப்பு முறையானதல்ல. " -"தயவு செய்து முறையான %(self)s அடையாளங்களை எழுதவும். %(value)r என்ற மதிப்புகள் முறையானதல்ல. " +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "தயவு செய்து முறையான %(self)s அடையாளங்களை எழுதவும். %(value)r என்ற மதிப்பு முறையானதல்ல." +msgstr[1] "தயவு செய்து முறையான %(self)s அடையாளங்களை எழுதவும். %(value)r என்ற மதிப்புகள் முறையானதல்ல." -#: forms/__init__.py:380 +#: forms/__init__.py:381 #, python-format msgid "Ensure your text is less than %s character." -msgstr "உங்கள் உரை %s ஐ விட குறைவான எழுத்துக்களை உடையதென உறுதி செய்து கொள்ளுங்கள்" +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "உங்கள் உரை %s ஐ விட குறைவான எழுத்து உடையது என்று உறுதி செய்து கொள்ளுங்கள்" +msgstr[1] "உங்கள் உரை %s ஐ விட குறைவான எழுத்துகள் உடையது என்று உறுதி செய்து கொள்ளுங்கள்" -#: forms/__init__.py:385 +#: forms/__init__.py:386 msgid "Line breaks are not allowed here." -msgstr "வரி உடைவுகள் அனுமதி இல்லை" +msgstr "வரி உடைவுகள் அனுமதி இல்லை" -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 +#: forms/__init__.py:487 forms/__init__.py:560 forms/__init__.py:599 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "முறையான விருப்பத்தை தேர்வு செய்யவும்; '%(data)s என்பது %(choices)s இல் இல்லை" +msgstr "முறையான விருப்பத்தைத் தேர்வு செய்யவும்; '%(data)s என்பது %(choices)s இல் இல்லை" -#: forms/__init__.py:645 +#: forms/__init__.py:663 msgid "The submitted file is empty." -msgstr "சமர்பிக்கப் பட்ட கோப்பு காலியாக உள்ளது" +msgstr "சமர்பிக்கப் பட்ட கோப்புக் காலியாக உள்ளது" -#: forms/__init__.py:699 +#: forms/__init__.py:719 msgid "Enter a whole number between -32,768 and 32,767." -msgstr "-32,768 மற்றும் 32,767 கு நடுவில் ஒரு முழு எண்ணை எழுதவும்" +msgstr "-32,768 மற்றும் 32,767 க்கு நடுவில் ஒரு முழு எண்ணை எழுதவும்" -#: forms/__init__.py:708 +#: forms/__init__.py:729 msgid "Enter a positive number." -msgstr "ஒரு நேர்க்குறி எண்ணை எழுதவும்" +msgstr "ஒரு நேர்க்குறி எண்ணை எழுதவும்" -#: forms/__init__.py:717 +#: forms/__init__.py:739 msgid "Enter a whole number between 0 and 32,767." -msgstr "0 மற்றும் 32,767 கு நடுவில் ஒரு முழு எண்ணை எழுதவும்" +msgstr "0 மற்றும் 32,767 க்கு நடுவில் ஒரு முழு எண்ணை எழுதவும்" -#: template/defaultfilters.py:379 +#: template/defaultfilters.py:401 msgid "yes,no,maybe" msgstr "ஆம், இல்லை, இருக்கலாம்" diff --git a/django/conf/locale/ta/LC_MESSAGES/djangojs.mo b/django/conf/locale/ta/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..2565a6dda05d955224311e0c98810315c875ccbe GIT binary patch literal 2336 zcmb7^TWDNG7{^Dgm#*~|uN5zYQnZw_?xtysYb;IDMq0Z`$Zl-=;KStXbaT>kW|nhF zv*1e$wgHKPkOxDtV0>sRo{en^g3$OX_~@G;=T#p>pY%b{|2MOjm?yJv<~Q@rcmIa{ zxo_7B!|y44&*A$4-}Ct1zY7a~zk~OIe}MOZe}Q|zzrhE<-FMsjKJX!&_kua_6>vA$ z-{vrQFV5rO40sYG`_I8$;FlozUk54P21x$C1v&UVI0XI*lAo8MO!oUh69+ttoQAjC&4@5OW==WlVf2LM}+=Yxf*GAygv5CLfoxq1lv0=+5zxM(Fvx zESmg8q9hi-$w!iU62-hC8?g*#WymMpSQ97of)yNPv<#rd zD!k0A{1m=%USSpKOE>0CorK(-)1E6|jrMb)YTWfb_Z(-H1m!h(SsPRn8PV~StSP&z z&LyD{jfWoHR79MF*s!X$YoNmr(a*>zmgZtA)bohx9IrX=$}sY@D)HL9P<1^Y<)&pr zhp|(R>R!zmP3nbx za=|07TlESDo#Fs54weQA2MUJ{7IG&=6g$;WsK^(w4oiG$a$;hpGEzRnhZ|a{BoaY0 zA9+E;mw`}6>H&tHcXeY+{=ku@kEFCXib zTFe)6V_L;hA%SKCmBex}ey!mPPrZp5h%l1zTQk*hXQ-z~iJq0Ab43Y^$ zCN;CNeG!zb^g>q(gDm|zOTU0GGQ4Jd-fA0?|Ep$ywd47=@x0a%LLtSTOg}LJFCfUZ zc64~9&{&rs1-dyw!(Q0+k_pqx%GB_YsSOG@O-{EdPqMPBJ}4na3yP9B*#W(59ZlqDLRj2zA+VI(lkAIgVcsZmegXC2gSlQ z>amqT{ll#ncsfXLySlA&b=w6qFRdNWyb9PNI^-w}j}b+;tPRPa(HR2ehQc?@_%TLf zv%SYK`3!2@x&o*s08Xevq)EL+L=vvD&I5wLyetY}r_g(GQ2alS20HdhQyg>_b=)#5 z^^Ag<=Hl@}YXyNRO;aiq5sa*C^`BZ5GT&l|3}J};jgh&anv9VdFYKv0;}SY}dF`oF hvDTT*$mBv*ZnhgtdhHyLSNDHl$sAgkK(`lY`M57= literal 0 HcmV?d00001 diff --git a/django/conf/locale/ta/LC_MESSAGES/djangojs.po b/django/conf/locale/ta/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..03fbece314 --- /dev/null +++ b/django/conf/locale/ta/LC_MESSAGES/djangojs.po @@ -0,0 +1,112 @@ +# translation of djangojs.po to tamil +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# PONNUSAMY.A , 2007. +msgid "" +msgstr "" +"Project-Id-Version: djangojs\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-12-09 11:51+0100\n" +"PO-Revision-Date: 2007-03-14 16:40+0530\n" +"Last-Translator: PONNUSAMY \n" +"Language-Team: tamil \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: contrib/admin/media/js/SelectFilter2.js:33 +#, perl-format +msgid "Available %s" +msgstr "%s இருக்கிறதா " + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "எல்லாவற்றையும் தேர்ந்த்தெடுக்க" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "சேர்க்க" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "அழிக்க" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "%s தேர்ந்த்தெடுக்கப்பட்ட" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "தேவையானவற்றை தேர்ந்த்தெடுத்து கிளிக் செய்க" + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "எல்லாவற்றையும் அழிக்க " + +#: contrib/admin/media/js/dateparse.js:26 +#: contrib/admin/media/js/calendar.js:24 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" +"ஜனவரி பிப்ரவரி மார்ச் ஏப்ரல் மே ஜூன் ஜூலை ஆகஸ்டு செப்டம்பர் அக்டோபர் நவம்பர் " +"டிசம்பர்" + +#: contrib/admin/media/js/dateparse.js:27 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "ஞாயிறு திங்கள் செவ்வாய் புதன் வியாழன் வெள்ளி சனி " + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "ஞா தி செ பு வி வெ ச" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Now" +msgstr "இப்பொழுது " + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +msgid "Clock" +msgstr "கடிகாரம் " + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +msgid "Choose a time" +msgstr "ஒரு நேரத்தை தேர்ந்த்தெடுக்க " + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Midnight" +msgstr "நடு இரவு " + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "6 a.m." +msgstr "காலை 6 மணி " + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "Noon" +msgstr "மதியம் " + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +msgid "Cancel" +msgstr "வேண்டாம் " + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +msgid "Today" +msgstr "இன்று " + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +msgid "Calendar" +msgstr "நாள்காட்டி " + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +msgid "Yesterday" +msgstr "நேற்று " + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +msgid "Tomorrow" +msgstr "நாளை" + diff --git a/django/conf/locale/te/LC_MESSAGES/django.mo b/django/conf/locale/te/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..8823b2015c9710579c42a49d17103c241ed01438 GIT binary patch literal 35163 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 literal 0 HcmV?d00001 diff --git a/django/conf/locale/te/LC_MESSAGES/django.po b/django/conf/locale/te/LC_MESSAGES/django.po new file mode 100644 index 0000000000..248baf2249 --- /dev/null +++ b/django/conf/locale/te/LC_MESSAGES/django.po @@ -0,0 +1,2109 @@ +# translation of django.po to Telugu +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-09-25 15:43+0200\n" +"PO-Revision-Date: 2007-05-19 12:44+0530\n" +"Last-Translator: pavithran \n" +"Language-Team: Telugu \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; nplurals=n>1;" + +#: contrib/comments/models.py:67 contrib/comments/models.py:166 +msgid "object ID" +msgstr "వస్తువు ఐడి" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "ముఖ్య అంశం" + +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "వ్యాఖ్యానము" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "రేటింగ్ #1" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "రేటింగ్ #2" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "రేటింగ్ #3" + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "రేటింగ్ #4" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "రేటింగ్ #5" + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "రేటింగ్ #6" + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "రేటింగ్ #7" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "రేటింగ్ #8" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "సరైన రేటింగ్" + +#: contrib/comments/models.py:83 contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "తేది /వేళ సమర్పించినది" + +#: contrib/comments/models.py:84 contrib/comments/models.py:170 +msgid "is public" +msgstr "బహిరంగమయినది" + +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 +msgid "IP address" +msgstr "ఐపి అడ్రస్" + +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "తీసివేయబడినది" + +#: contrib/comments/models.py:86 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr " ఈ వ్యాఖ్యానము సరిగ్గా లేదని తోచినచో ఈ డబ్బా ని చెక్ చేయండి " + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "వ్యాఖ్యానములు" + +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "వస్తువు లోనిది" + +#: contrib/comments/models.py:159 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" + +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "వ్యక్తి పేరు" + +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "ఐపి అడ్రస్" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr " అధికారుల చేత ఆమోదించబడినది" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "నిరాటంకమైన వ్యాఖ్యానము" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "నిరాటంకము గావ్యాఖ్యానములు" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "స్కొర్" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "స్కొర్ తేది" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "కర్మ స్కొర్" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "కర్మ స్కొరులు" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "%(score)d కి %(user)s రేటింగ్" + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"%(user)s చేత చేయబడ్డ వ్యాఖ్యానములు:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "ఫ్లాగ్ తేది " + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "యూజర్ ఫ్లాగ్" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "యూజర్ ఫ్లాగులు" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "%r యొక్క ఫ్లాగ్" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "తీసివేసిన తారీఖు" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "మొదరేటర్ చేత తీసివేయబడినది " + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "మొదరేటర్ చేత తీసివేయబడినవి" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr "మొదరేటర్ తీసివేసిన %r" + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "అపరిచిత యూజర్లు వోటు వేయలేరు" + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "సరికాని వ్యాఖ్యానము ఐడి" + +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "మీకు వోటు హక్కు లేదు" + +#: contrib/comments/views/comments.py:27 +msgid "This rating is required because you've entered at least one other rating." +msgstr "ఈ రేటింగ్ అవసరం ఎం దుకంటే మీరు ఒక్కసారైన రేటింగ్ ఇచ్చారు" + +#: contrib/comments/views/comments.py:111 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" +"\n" +"%(text)s" +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:116 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"ఈ వ్యాఖ్యానము స్కెచి యూజర్ చేసాడు :\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "ఇక్కడ సమర్పణలు మాత్రమే అంగీకరిస్తాము" + +#: contrib/comments/views/comments.py:192 +#: contrib/comments/views/comments.py:284 +msgid "One or more of the required fields wasn't submitted" +msgstr "ఒకటి కాని ,అంత కన్నఎక్కువ ఫీల్డస్ సమర్పించలేదు" + +#: contrib/comments/views/comments.py:196 +#: contrib/comments/views/comments.py:286 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "ఎవరో వ్యాఖ్యానము ఫార్మ్ ని గెలికారు (భద్రత కి భంగం) " + +#: contrib/comments/views/comments.py:206 +#: contrib/comments/views/comments.py:292 +msgid "" +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" +msgstr "" +"వ్యాఖ్యానము ఫార్మ్ లో చెల్లని 'టార్గెట్ ' పారామీటర్ , ఆ వస్తువు ఐడి " +"చెల్లదు" + +#: contrib/comments/views/comments.py:257 +#: contrib/comments/views/comments.py:321 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "వ్యాఖ్యానము ఫార్మ్ లో 'ప్రివ్యీవ్' కాని 'పోస్ట్' ఇవ్వలేదు " + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:17 +msgid "Username:" +msgstr "యూజర్ పేరు" + +#: contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +msgid "Log out" +msgstr "లాగ్ ఔట్" + +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "పాస్ వర్డ్" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "పాస్ వర్డ్ మర్చిపోయారా?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "రేటింగులు" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "అవసరము" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "మీ ఇష్టం" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "ఫొటొ పెట్టండి" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "వ్యాఖ్యానము" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "వ్యాఖ్యానము ని ప్రివ్యీవ్ చేయండి" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "మీ పేరు" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

                                                                                      By %s:

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

                                                                                        %s తో:

                                                                                        \n" +"
                                                                                          \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "అన్నీ" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "ఏ రోజైన" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "ఈ రోజు" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "గత 7 రోజుల గా" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "ఈ నెల" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "ఈ సంవత్సరము" + +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "అవును" + +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "కాదు" + +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "తెలియనది" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "పని సమయము " + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "వస్తువు" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "వస్తువు" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "పని ఫ్లాగ్" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "సందేశము ని మార్చంది" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "లాగ్ ఎంట్రీ" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "లాగ్ ఎంట్రీలు" + +#: contrib/admin/templatetags/admin_list.py:230 +msgid "All dates" +msgstr "అన్నీ రోజులు" + +#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:59 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "దయచేసి సరైన యూజర్ పేరు పాస్ వర్డ్ ఇవ్వండి" + +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "లాగ్ ఇన్" + +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "దయచేసి మళ్ళీ లాగ్ ఇన్ అవ్వండి ఎందుకంటే మీ సేస్సన్ ముగిసింది . బాధపడకండి మీ సమర్పన దాచిపెట్టాము" + +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "మీ బ్రౌజర్ పై కుకీస్ అంగీకరించేటట్లు చేయలేదు . దయ చేసి కుకీస్ ఎనేబల్ చేసి ,మళ్ళీ ట్రై చేయండి" + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "యూజర్ పేరు లో '@' అక్షరము ఉందకూడడు" + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "మీ ఈ మెయిల్ అడ్రస్ మీ యూజర్ పేరు కాదు . '%s' ఇచ్చి చూడండి " + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "సైట్ నిర్వాహన" + +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:17 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\"జయప్రదంగా కలపబడ్డడి" + +#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 +#: contrib/admin/views/auth.py:22 +msgid "You may edit it again below." +msgstr "మీరు మళ్ళీ దీనినీ క్రింద మార్చవచ్చు" + +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 +#, python-format +msgid "You may add another %s below." +msgstr "మీరు ఇంకొక %s ని క్రింద జత చేయొచ్చు" + +#: contrib/admin/views/main.py:289 +#, python-format +msgid "Add %s" +msgstr "%s ని జత చేయండి " + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Added %s." +msgstr "%s కలపబడ్డడి" + +#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:339 +msgid "and" +msgstr "ఇంకా" + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Changed %s." +msgstr " %s మార్చబడిండి" + +#: contrib/admin/views/main.py:339 +#, python-format +msgid "Deleted %s." +msgstr "%s తీసివేయబడ్డడి" + +#: contrib/admin/views/main.py:342 +msgid "No fields changed." +msgstr "ఫీల్డ్స్ ఏమి మార్చబడలేదు" + +#: contrib/admin/views/main.py:345 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" జయప్రదంగా మార్చబడిండి" + +#: contrib/admin/views/main.py:353 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "%(name)s \"%(obj)s\" జయప్రదంగా కలపబడ్డడి .మీరు మళ్ళీ దీనినీ క్రింద మార్చవచ్చు" + +#: contrib/admin/views/main.py:391 +#, python-format +msgid "Change %s" +msgstr "%s ని మార్చంది" + +#: contrib/admin/views/main.py:473 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "ఒకటి కాని ,అంత కన్నఎక్కువ %(name)s లో %(fieldname)s : %(obj)s " + +#: contrib/admin/views/main.py:478 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "ఒకటి కాని ,అంత కన్నఎక్కువ %(name)s లో %(fieldname)s" + +#: contrib/admin/views/main.py:511 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\"జయప్రదంగా తీసివేయబడ్డడి" + +#: contrib/admin/views/main.py:514 +msgid "Are you sure?" +msgstr "మీరు కచ్చితంగా ఉన్నారా?" + +#: contrib/admin/views/main.py:536 +#, python-format +msgid "Change history: %s" +msgstr "మార్చబడిన పురాణము: %s" + +#: contrib/admin/views/main.py:570 +#, python-format +msgid "Select %s" +msgstr "%s ని ఎన్నుకోండి" + +#: contrib/admin/views/main.py:570 +#, python-format +msgid "Select %s to change" +msgstr "%s ని మార్చటానికి ఎన్నుకోండి" + +#: contrib/admin/views/main.py:758 +msgid "Database error" +msgstr "డాటాబేస్ ఎర్రర్ " + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "టాగ్" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "ఫిల్టర్" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "చూడు:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "%rఎప్ప్ దొరకలేడు" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %r not found in app %r" +msgstr "%r ఎప్ప్ లో %r మొడల్ దొరకలేడు" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%s.%s` object" +msgstr "సంబంధించిన `%s.%s` వస్తువు " + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "మొడల్:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%s.%s` objects" +msgstr "సంబంధించిన `%s.%s` వస్తువులు" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "ఆన్నీ %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "%s వస్తువులలో ఫీల్డ్స్ " + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +msgid "Integer" +msgstr "అంకె" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "కామా తో విడడీసిన సంఖ్య" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "తేది (సమయం లేకుండా)" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "తేది (సమయం తో)" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "ఈ మెయిల్ అడ్రస్ " + +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "ఫైల్ పాత్" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "పేరంట్ మొడల్ యొక్క రిలేషన్ " + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "ఫోన్ నంబరు" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "టెక్స్ట" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "వేళ" + +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "" + +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "అమెరికా రాజ్యము" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "ఎక్స్ ఎమ్ ఎల్" + +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "" + +#: contrib/admin/views/auth.py:28 +msgid "Add user" +msgstr "యూజర్ ని జత చేయండి" + +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_index.html:5 +msgid "Change password" +msgstr "పాస్ వర్డ్ మార్చుకోండి" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/change_list.html:6 +#: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "ఇల్లు" + +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:20 +msgid "History" +msgstr "పురాణము" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "తేది/వేళ" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "యూజర్" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "పని" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:36 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "డ్జాంగొ యొక్క నిర్వాహనదారులు" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "డ్జాంగొ నిర్వాహన" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "సర్వర్ తప్పు" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "సర్వర్ తప్పు (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/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "పేజి దొరకలేదు" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "క్షమించండి మీరు కోరిన పేజి దొరకలేడు" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "మొడల్ లు %(name)s లో దొరికే అప్ప్లికేషన్" + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:28 +#: contrib/admin/templates/admin/change_form.html:15 +msgid "Add" +msgstr "జత చేయి" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "మార్చు" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "మీకు ఏది మార్చటానికి అధికారము లేదు" + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "ఈ మధ్య చేసిన పనులు" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "నా పనులు" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "ఏమి దొరకలేదు" + +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s జత చేయు" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Have you forgotten your password?" +msgstr "మీరుపాస్ వర్డ మర్చిపోయారా? " + +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "సుస్వాగతం" + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "తీసివేయి" + +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" + +#: 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 "" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "అవును " + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +#: 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] "" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "అన్నీ చూడండి" + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "సైట్ లో చూడండి" + +#: contrib/admin/templates/admin/change_form.html:30 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "క్రింద ఉన్న తప్పు సరిదిద్దుకోండి" +msgstr[1] "క్రింద ఉన్న తప్పులు సరిదిద్దుకోండి" + +#: contrib/admin/templates/admin/change_form.html:48 +msgid "Ordering" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:51 +msgid "Order:" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "కొత్త దాని లా దాచు" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "దాచి కొత్త దానిని కలపండి" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "దాచి మార్చుటా ఉందండి" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "దాచు" + +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "యూజర్ పేరు" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "పాస్ వర్డ్" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "పాస్ వర్డ్ (మళ్ళీ)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "ఇందాక పాస్ వర్డ్ మళ్ళీ ఇవ్వండి పరిశీలన కోసము" + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_form.html:6 +#: contrib/admin/templates/registration/password_change_form.html:10 +msgid "Password change" +msgstr "పాస్ వర్డ్ మార్పు" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "పాస్ వర్డ్ మార్పు జయప్రదమైండి " + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "మీ పాస్ వర్డ్ మార్చబడిండి" + +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +#: contrib/admin/templates/registration/password_reset_done.html:4 +msgid "Password reset" +msgstr "పాస్ వర్డ్ రీసెట్" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll reset " +"your password and e-mail the new one to you." +msgstr "పాస్ వర్డ్ మర్చిపోయారా? మీ ఈ మెయిల్ అడ్రస్ ఇవ్వండి , మీ పాస్ వర్డ్ రీసెట్ చేసి మీకు కొత్తది ఈ మెయిల్ చేస్తాము " + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "ఈ మెయిల్ అడ్రస్" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "నా పాస్ వర్డ్ రీసెట్ చేయండి" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "మళ్ళీ లాగ్ ఇన్ అవ్వండి" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "పాస్ వర్డ్ రీసెట్ జయప్రదమైండి" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." +msgstr "మీరు ఇచ్చిన ఈ మెయిల్ అడ్రస్ కి కొత్త పాస్ వర్డ్ ఈ మెయిల్ చేసాము.మీరు తొందర లో దానిని అందుకుంటారు ." + +#: contrib/admin/templates/registration/password_change_form.html:12 +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "దయచేసి రక్షన కోసము, మీ పాత పాస్ వర్డ్ ఇవ్వండి , కొత్త పాస్ వర్డ్ రెండు సార్లు ఇవ్వండి , ఎం దుకంటే మీరు తప్పు ఇస్తే సరిచేయటానికి " + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "పాత పాస్ వర్డ్ " + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "కొత్త పాస్ వర్డ్" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "పాస్ వర్డ్ పక్కా చేయండి" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "నా పాస్ వర్డ్ మార్చండి" + +#: contrib/admin/templates/registration/password_reset_.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 "" + +#: 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 "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

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

                                                                                          \n" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "వస్తువు ఇడి చూడండి" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "వస్తువు ని మార్చండి (ప్రస్తుత విండొ)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "వస్తువు ని మార్చండి(కొత్త విండొ) " + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "తారీఖు" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "వేళ:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "ఇప్పుడు" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "మార్చు" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" + +#: 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 "" + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "" + +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" + +#: 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 "Example: 'flatpages/contact_page.html'.ఇది ఇవ్వకపోతే సిస్టం " " 'flatpages/default.html' ని వాడుకుంటడి" + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "నమొదు చేయటము అవసరం" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "ఇది చెక్ చేసి ఉంటే కేవలం లాగ్గడ్ ఇన్ యూజర్లు పేజి చూడలేస్తారు" + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "లాగ్గడ్ ఔట్" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "పేరు" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "అనుమతి" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "అనుమతులు" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "గుంపు" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "గుంపులు" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "యూజర్ పేరు" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "పేరు" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "ఇంటి పేరు" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "ఈ మెయిల్ అడ్రస్" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "పాస్ వర్డ్" + +#: contrib/auth/models.py:94 +msgid "Use '[algo]$[salt]$[hexdigest]'" +msgstr "" + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "ఉద్యోగస్తుల స్థితి" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "" + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "చురుకు గా" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "గత లాగిన్" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "చేరిన తారీఖు" + +#: contrib/auth/models.py:101 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "యూజర్ అనుమతులు" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "యూజర్" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "యూజర్లు" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "పర్సనల్ సమాచారం " + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "అనుమతులు" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "ముఖ్యమైన తారీఖులు" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "గుంపులు" + +#: contrib/auth/models.py:256 +msgid "message" +msgstr "సమాచారం" + +#: contrib/auth/forms.py:52 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" + +#: contrib/auth/forms.py:61 +msgid "This account is inactive." +msgstr "" + +#: contrib/contenttypes/models.py:20 +msgid "python model class name" +msgstr "పైతాన్ మొడల్ క్లాస్ పేరు" + +#: contrib/contenttypes/models.py:23 +msgid "content type" +msgstr "" + +#: contrib/contenttypes/models.py:24 +msgid "content types" +msgstr "" + +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "" + +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "" + +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "" + +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "" + +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "" + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "కనిపిచ్చే పేరు" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "సైట్" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "సైట్లు" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "సోమవారము" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "మంగళవారము" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "బుధవారము" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "గురువారము" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "శుక్రవారము" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "శనివారము" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "ఆదివారము" + +#: utils/dates.py:14 +msgid "January" +msgstr "జాన్వరి " + +#: utils/dates.py:14 +msgid "February" +msgstr "ఫిబ్రవరి" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "మార్చి" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "ఎప్రిల్" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "మే" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "జూను" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "జులై" + +#: utils/dates.py:15 +msgid "August" +msgstr "ఆగష్టు" + +#: utils/dates.py:15 +msgid "September" +msgstr "సెప్టెంబర్" + +#: utils/dates.py:15 +msgid "October" +msgstr "అక్టోబర్" + +#: utils/dates.py:15 +msgid "November" +msgstr "నవంబర్" + +#: utils/dates.py:16 +msgid "December" +msgstr "డిసెంబర్" + +#: utils/dates.py:19 +msgid "jan" +msgstr "జాన్" + +#: utils/dates.py:19 +msgid "feb" +msgstr "ఫిబ్" + +#: utils/dates.py:19 +msgid "mar" +msgstr "మార్" + +#: utils/dates.py:19 +msgid "apr" +msgstr "ఎప్ర్" + +#: utils/dates.py:19 +msgid "may" +msgstr "మే" + +#: utils/dates.py:19 +msgid "jun" +msgstr "జూన్" + +#: utils/dates.py:20 +msgid "jul" +msgstr "జుల్" + +#: utils/dates.py:20 +msgid "aug" +msgstr "ఆగ్" + +#: utils/dates.py:20 +msgid "sep" +msgstr "సెప్" + +#: utils/dates.py:20 +msgid "oct" +msgstr "అక్ట్" + +#: utils/dates.py:20 +msgid "nov" +msgstr "నవ్" + +#: utils/dates.py:20 +msgid "dec" +msgstr "డిస్" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "జాన్" + +#: utils/dates.py:27 +msgid "Feb." +msgstr "ఫిబ్" + +#: utils/dates.py:28 +msgid "Aug." +msgstr "ఆగ్" + +#: utils/dates.py:28 +msgid "Sept." +msgstr "సెప్" + +#: utils/dates.py:28 +msgid "Oct." +msgstr "అక్ట్" + +#: utils/dates.py:28 +msgid "Nov." +msgstr "నవ్" + +#: utils/dates.py:28 +msgid "Dec." +msgstr "డిస్" + +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "సంవత్సరం" +msgstr[1] "సంవత్సరాలు" + +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "నెల" +msgstr[1] "నెలలు" + +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "వారం" +msgstr[1] "వారాలు" + +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "రోజు" +msgstr[1] "రోజులు" + +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "గంటలు" +msgstr[1] "గంట" + +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "నిముషం" +msgstr[1] "నిముషాలు" + +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "ఆరబిక్" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "బెంగాలి" + +#: conf/global_settings.py:41 +msgid "Czech" +msgstr "క్జెఖ్" + +#: conf/global_settings.py:42 +msgid "Welsh" +msgstr "వెల్శ్" + +#: conf/global_settings.py:43 +msgid "Danish" +msgstr "డానిశ్" + +#: conf/global_settings.py:44 +msgid "German" +msgstr "జెర్మన్" + +#: conf/global_settings.py:45 +msgid "Greek" +msgstr "గ్రీక్" + +#: conf/global_settings.py:46 +msgid "English" +msgstr "ఆంగ్లము" + +#: conf/global_settings.py:47 +msgid "Spanish" +msgstr "స్పానిష్" + +#: conf/global_settings.py:48 +msgid "Argentinean Spanish" +msgstr "అర్జంటీనా స్పానిష్" + +#: conf/global_settings.py:49 +msgid "Finnish" +msgstr "ఫీన్నిష్" + +#: conf/global_settings.py:50 +msgid "French" +msgstr "ఫ్రెంచ్" + +#: conf/global_settings.py:51 +msgid "Galician" +msgstr "గలిసియన్" + +#: conf/global_settings.py:52 +msgid "Hungarian" +msgstr "హంగారియన్" + +#: conf/global_settings.py:53 +msgid "Hebrew" +msgstr "హెబ్రివ్" + +#: conf/global_settings.py:54 +msgid "Icelandic" +msgstr "ఐస్ లాండిక్" + +#: conf/global_settings.py:55 +msgid "Italian" +msgstr "ఇటాలియవ్" + +#: conf/global_settings.py:56 +msgid "Japanese" +msgstr "జపనీస్" + +#: conf/global_settings.py:57 +msgid "Dutch" +msgstr "డట్చ్" + +#: conf/global_settings.py:58 +msgid "Norwegian" +msgstr "నార్వీజియన్" + +#: conf/global_settings.py:59 +msgid "Brazilian" +msgstr "బ్రజీలియన్" + +#: conf/global_settings.py:60 +msgid "Romanian" +msgstr "రొమానియన్" + +#: conf/global_settings.py:61 +msgid "Russian" +msgstr "రస్సెన్" + +#: conf/global_settings.py:62 +msgid "Slovak" +msgstr "స్లొవాక్" + +#: conf/global_settings.py:63 +msgid "Slovenian" +msgstr "స్లొవానియన్" + +#: conf/global_settings.py:64 +msgid "Serbian" +msgstr "సెర్బియన్" + +#: conf/global_settings.py:65 +msgid "Swedish" +msgstr "స్వీడిష్" + +#: conf/global_settings.py:66 +msgid "Tamil" +msgstr "తమిళ్" + +#: conf/global_settings.py:67 +msgid "Turkish" +msgstr "టర్కిశ్" + +#: conf/global_settings.py:68 +msgid "Ukrainian" +msgstr "యుక్రానియన్" + +#: conf/global_settings.py:69 +msgid "Simplified Chinese" +msgstr "వాడుక చైనీస్" + +#: conf/global_settings.py:70 +msgid "Traditional Chinese" +msgstr "గ్రాంధిక చైనీస్" + +#: core/validators.py:63 +msgid "This value must contain only letters, numbers and underscores." +msgstr "ఈ విలువ లో అక్షరాలు, అంకెలు ఇంకా అండర్ స్కోర్లు ఉందాలి" + +#: core/validators.py:67 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "ఈ విలువ లో అక్షరాలు, అంకెలు , అండర్ స్కోర్లు ,డాష్ లు లేక స్లాష్ లు ఉందాలి" + +#: core/validators.py:71 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "ఈ విలువ లో అక్షరాలు, అంకెలు , అండర్ స్కోర్లు లేక హైఫన్లు ఉందాలి" + +#: core/validators.py:75 +msgid "Uppercase letters are not allowed here." +msgstr "" + +#: core/validators.py:79 +msgid "Lowercase letters are not allowed here." +msgstr "" + +#: core/validators.py:86 +msgid "Enter only digits separated by commas." +msgstr "కామాల తో అంకెలు విడడీసి ఇవ్వండి " + +#: core/validators.py:98 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "కామాల తో విడతీసి సరైన ఈ మెయిల్ అడ్రస్ ఇవ్వండి" + +#: core/validators.py:102 +msgid "Please enter a valid IP address." +msgstr "దయచేసి సరైన ఐపి అడ్రస్ ఇవ్వండి " + +#: core/validators.py:106 +msgid "Empty values are not allowed here." +msgstr "ఇక్కడ కాళీ విలువలు అనుమతించబడవు " + +#: core/validators.py:110 +msgid "Non-numeric characters aren't allowed here." +msgstr "అంకెలు కాని చిహ్నాలు అనుమతించబడవు" + +#: core/validators.py:114 +msgid "This value can't be comprised solely of digits." +msgstr "ఈ విలువ లో ఉట్టి మాత్రమే ఉందకూడడు" + +#: core/validators.py:119 +msgid "Enter a whole number." +msgstr "పూర్ణ సంఖ్య ఇవ్వండి" + +#: core/validators.py:123 +msgid "Only alphabetical characters are allowed here." +msgstr "అక్షరాలు అయిన చిహ్నాలు మాత్రమే అనుమతించబడతాయి " + +#: core/validators.py:138 +msgid "Year must be 1900 or later." +msgstr "సంవత్సరము 1900 లేక దాని తరువాత అయ్యి ఉందాలి " + +#: core/validators.py:142 +#, python-format +msgid "Invalid date: %s." +msgstr "సరికాని తారీఖు : %s." + +#: core/validators.py:146 db/models/fields/__init__.py:415 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "" + +#: core/validators.py:151 +msgid "Enter a valid time in HH:MM format." +msgstr "" + +#: core/validators.py:155 db/models/fields/__init__.py:477 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "" + +#: core/validators.py:160 +msgid "Enter a valid e-mail address." +msgstr "సరైన ఈ మెయిల్ అడ్రస్ ఇవ్వండి" + +#: core/validators.py:172 core/validators.py:401 forms/__init__.py:661 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" + +#: core/validators.py:176 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" + +#: core/validators.py:183 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "" + +#: core/validators.py:187 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" + +#: core/validators.py:195 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "" + +#: core/validators.py:199 +msgid "A valid URL is required." +msgstr "సరైన URL కావాలి" + +#: core/validators.py:213 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"సరైన HTML ఇవ్వండి .ప్రత్యేకమైన తప్పులు :\n" +"%s" + +#: core/validators.py:220 +#, python-format +msgid "Badly formed XML: %s" +msgstr "" + +#: core/validators.py:230 +#, python-format +msgid "Invalid URL: %s" +msgstr "సరికాని URL: %s" + +#: core/validators.py:234 core/validators.py:236 +#, python-format +msgid "The URL %s is a broken link." +msgstr "" + +#: core/validators.py:242 +msgid "Enter a valid U.S. state abbreviation." +msgstr "దయచేసి సరైన అగ్ర రాజ్య సంక్షేపము చేసిన రాష్ట్రము పేరు ఇవ్వండి" + +#: core/validators.py:256 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "" +msgstr[1] "" + +#: core/validators.py:263 +#, python-format +msgid "This field must match the '%s' field." +msgstr "ఈ ఫీల్డ్ '%s' ఫీల్డ్ కి సరి తూగాలి" + +#: core/validators.py:282 +msgid "Please enter something for at least one field." +msgstr "దయచేసి ఏదో ఒకటి ఏదో ఒక ఫీల్డ్ కి ఇవ్వండి " + +#: core/validators.py:291 core/validators.py:302 +msgid "Please enter both fields or leave them both empty." +msgstr "దయచేసి రెండు ఫీల్డ్లలు ఇవ్వండి లేకపోతే రెండు కాళీ గా వదిలేయండి " + +#: core/validators.py:309 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "%(field)s %(value)s ఐతే ఈ ఫీల్డ్ ఇవ్వాలి " + +#: core/validators.py:321 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "%(field)s %(value)s అవ్వకపోతే ఈ ఫీల్డ్ ఇవ్వాలి " + +#: core/validators.py:340 +msgid "Duplicate values are not allowed." +msgstr "నకలీ విలువలు ఇక్కడ అనుమతించబడవు" + +#: core/validators.py:363 +#, python-format +msgid "This value must be a power of %s." +msgstr "" + +#: core/validators.py:374 +msgid "Please enter a valid decimal number." +msgstr "" + +#: core/validators.py:378 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "Please enter a valid decimal number with at most %s total digits." +msgstr[0] "" +msgstr[1] "" + +#: core/validators.py:381 +#, 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] "" +msgstr[1] "" + +#: core/validators.py:384 +#, 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] "" +msgstr[1] "" + +#: core/validators.py:394 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "" + +#: core/validators.py:395 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "" + +#: core/validators.py:412 +msgid "The format for this field is wrong." +msgstr "ఈ ఫీల్డ్ ఫోర్మాట్ తప్పు" + +#: core/validators.py:427 +msgid "This field is invalid." +msgstr "ఈ ఫీల్డ్ సరి కానిది" + +#: core/validators.py:463 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "%s నించి ఏమి రాబట్టలేము" + +#: core/validators.py:466 +#, python-format +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" + +#: core/validators.py:499 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" + +#: core/validators.py:503 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" + +#: core/validators.py:508 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" + +#: core/validators.py:513 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" + +#: core/validators.py:517 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" + +#: core/validators.py:522 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s జయప్రదంగా తయారయింది" + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s జయప్రదంగా @@" + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s తీసివేయబడినది" + +#: db/models/manipulators.py:302 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(field)s లో %(object)s తో %(type)s ఉన్నాయి" + +#: db/models/fields/__init__.py:40 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s తో %(fieldname)s ముందే ఉన్నాయి ." + +#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 +#: db/models/fields/__init__.py:551 db/models/fields/__init__.py:562 +#: forms/__init__.py:346 +msgid "This field is required." +msgstr "ఈ ఫీల్డ్ అవసరము" + +#: db/models/fields/__init__.py:340 +msgid "This value must be an integer." +msgstr "ఈ విలువ లో ఉందాలి" + +#: db/models/fields/__init__.py:372 +msgid "This value must be either True or False." +msgstr "ఈ విలువ తప్పైన ఒప్పైన ఉందాలి" + +#: db/models/fields/__init__.py:388 +msgid "This field cannot be null." +msgstr "ఈ ఫీల్డ్ కాళీగా ఉందకూడడు " + +#: db/models/fields/__init__.py:571 +msgid "Enter a valid filename." +msgstr "దయచేసి సరైన దస్త్రం పేరు ఇవ్వండి." + +#: db/models/fields/related.py:51 +#, python-format +msgid "Please enter a valid %s." +msgstr "దయచేసి సరైన %sఇవ్వండి." + +#: db/models/fields/related.py:618 +msgid "Separate multiple IDs with commas." +msgstr "గుంపు గా ఉన్న ఐడిల ను కామా తో విడడీయంది" + +#: db/models/fields/related.py:620 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "\"Control\" కాని \"Command\" మాక్ లో నొక్కి ఉంచండి , ఒకటి కన్న ఎక్కువ ఎన్నుకోవటానికి" + +#: 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] "దయచేసి సరైన %(self)s ఐడిలు ఇవ్వండి. " +msgstr[1] "" + +#: forms/__init__.py:381 +#, 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 ఆక్షరములు కన్న తక్కువ ఉందాలి" + +#: forms/__init__.py:386 +msgid "Line breaks are not allowed here." +msgstr "లైన్ బ్రేక్స్ కి ఇక్కడ ఆనుమతి లేదు" + +#: forms/__init__.py:487 forms/__init__.py:560 forms/__init__.py:599 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "సరైనది ఎంచుకోండి; %(choices)s లో '%(data)s' లేవు " + +#: forms/__init__.py:663 +msgid "The submitted file is empty." +msgstr "మీరు సమర్పించిన ఫైల్ కాళీగా ఉంది " + +#: forms/__init__.py:719 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr " -32,768 ఇంకా 32,767 మధ్యలో ఒక ఆంకె ఇవ్వండి" + +#: forms/__init__.py:729 +msgid "Enter a positive number." +msgstr "ఒక ధన సంఖ్య ఇవ్వండి" + +#: forms/__init__.py:739 +msgid "Enter a whole number between 0 and 32,767." +msgstr "0 ఇంకా 32,767 మధ్యలో ఒక పూర్ ఇవ్వండి" + +#: template/defaultfilters.py:401 +msgid "yes,no,maybe" +msgstr "అవును, కాదు , ఏమొ" + diff --git a/django/conf/locale/te/LC_MESSAGES/djangojs.mo b/django/conf/locale/te/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..c7c56427cb5b8832fa9b2f0c0e90ac5afdd27d44 GIT binary patch literal 2206 zcmaiyO^g&p6o6Yrl<^;bqDD;_VgyN#J>ahEuo9MqH6R0o9Yl_`J;iK8Pxsp0v$Dnm zkSG`e2NOczVlV~>DE6u#Y652yZ(fb*v(czG6FvC7>S1RWOzfoktE%_^Uj4ju(Fup| zG1gP8A6QSb-o1?<-yd)>{1e^*|AP0zf8gD4$?c_lDZG#K6R-lGhfCn99*5zboX6l! zxCM&+$8Zt62*rO6CEiz1{Cx)%{2mU$U!eF|hO*eNfHn@?M^3{KIOlQtFuVY(@EUv^ z{syJa#W)#&%b>`2!)M_UxEx-9qW>fO9sUZRfj^O)@Nf7ieDbdH?7j&6R=0Ko#Q+t98|j6sX8OAmNPP~gHTU|Mm?80qdGKEODAk1--OQSWE`hPX_W;XGj|HD zAT^OS35`yamb)27MdZ& zPTgi)SC#GCn(k;~bcVLOL1(6}R(allTU+INuc%tBK2Tff)jSVHcZZn{#A{#gW!GEn zdV{JqSoeljdIPJy$`+kwZZpwQ8tN=g>S{_)2iYVSYIts2P1m(M47=*bowb-m?XGSc zw`p{zu9_xf8frL*T44}%_q&YF`r(l*t|WNRypO^uEHdTUj$G8#vj ziO6DRigGfuKYMX1)Iqd{LFgnk*{eI7WA0F2PqN)(5_e*^6T8aU*w01{A@9Mu*g3x@@uHr z{TIdT(IWq#$j=wE$N2MJ73wFf3c}LvOp)iv5#-hhn&N6+klBL>Kg5u`t3`gv2EJ74 z9G~-UL!Pi9$p){I+I#cF2QdF1^;^Z1)X#pQ!~8l9sq}!&>Uxo1?lr~cd$P>I=1NDX zO)|y<9pqd(y=(>I=OXz^_oPwi_61aH%|&n;C3MO1!VN`?=;SeOaeo+`DrPAk_tHTQ z6oA4J4z!!3zP6ShmGY~02&FTw%7HLK83-11kA@N$8I$Y_&f5%$)4!62OCuIKaco#| zSLEkxW##KAtCR^*-#IJhF(LcL?(yI27O$*Kk3XfH;g8XObzR<|Bq1S{&EzP+{UPuf zcHm@*D?K@s6N4t*Y$QqBk?_A+CY9V6Qu%BaByvRxxFti%K4Jyv_8Q8B%1%pnOOsyZ&cDHi B#nJ!( literal 0 HcmV?d00001 diff --git a/django/conf/locale/te/LC_MESSAGES/djangojs.po b/django/conf/locale/te/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..7f392fde25 --- /dev/null +++ b/django/conf/locale/te/LC_MESSAGES/djangojs.po @@ -0,0 +1,110 @@ +# translation of djangojs.po to Telugu +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# pavithran , 2007. +msgid "" +msgstr "" +"Project-Id-Version: djangojs\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-12-09 11:51+0100\n" +"PO-Revision-Date: 2007-03-06 16:08+0530\n" +"Last-Translator: pavithran \n" +"Language-Team: Telugu \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: contrib/admin/media/js/SelectFilter2.js:33 +#, perl-format +msgid "Available %s" +msgstr "ఆందుబాతులోఉన్న %s " + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "అన్నీ ఎన్నుకోండి" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "ఙత చేయి" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "తీసివేయండి" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "ఎన్నుకున్న %s" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "మీ ఇష్టాలు ఎన్నుకోండి" + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "అన్ని తీసివేయు" + +#: contrib/admin/media/js/dateparse.js:26 +#: contrib/admin/media/js/calendar.js:24 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "ఙాన్వరి ఫిబ్రవరి మార్చి ఎప్రిల్ మే ఙూను ఙులై ఆగష్టు సెప్టెంబర్ అక్టోబర్ నవంబర్ డిసెంబర్" + +#: contrib/admin/media/js/dateparse.js:27 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "ఆదివారము సోమవారము మంగళవారము బుధవారము గురువారము శుక్రవారము శనివారము" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "ఆ సో మం భు గు శు శ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Now" +msgstr "ఇప్పుడు" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +msgid "Clock" +msgstr "గడియారము" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +msgid "Choose a time" +msgstr "ఒక సమయము ఎన్నుకోండి" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Midnight" +msgstr "ఆర్ధరాత్రి" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "6 a.m." +msgstr "6" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "Noon" +msgstr "మధ్యాహ్నము" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +msgid "Cancel" +msgstr "రద్దు చేయు" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +msgid "Today" +msgstr "ఈనాడు" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +msgid "Calendar" +msgstr "కాలెండర్" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +msgid "Yesterday" +msgstr "నిన్న" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +msgid "Tomorrow" +msgstr "రేపు" + diff --git a/django/conf/locale/tr/LC_MESSAGES/django.mo b/django/conf/locale/tr/LC_MESSAGES/django.mo index 2415d26ee9cd7ef5396c26b2ca81095ef76478ea..87ac4d05b152b06b7731c0b5dec3412eec1d667a 100644 GIT binary patch delta 11759 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 delta 10506 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, 2007. (Slight modifications) # Bahadır Kandemir , 2006. msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-10-01 21:09+0300\n" -"PO-Revision-Date: 2006-10-01 21:19+0300\n" +"POT-Creation-Date: 2007-03-14 01:38+0200\n" +"PO-Revision-Date: 2007-03-14 02:06+0200\n" "Last-Translator: Bahadır Kandemir \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" @@ -17,74 +18,134 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" -#: db/models/manipulators.py:305 +#: oldforms/__init__.py:357 db/models/fields/__init__.py:116 +#: db/models/fields/__init__.py:273 db/models/fields/__init__.py:609 +#: db/models/fields/__init__.py:620 newforms/models.py:177 +#: newforms/fields.py:78 newforms/fields.py:374 newforms/fields.py:450 +#: newforms/fields.py:461 +msgid "This field is required." +msgstr "Bu alan gerekli." + +#: oldforms/__init__.py:392 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Metnin %s karakterden az olmasına dikkat edin." +msgstr[1] "Metnin %s karakterden az olmasına dikkat edin." + +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "Burada birden fazla satır olamaz." + +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "" +"Geçerli bir seçimde bulunun; %(choices)s değerleri içinde '%(data)s' yok." + +#: oldforms/__init__.py:577 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Bilinmiyor" + +#: oldforms/__init__.py:577 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "Evet" + +#: oldforms/__init__.py:577 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "Hayır" + +#: oldforms/__init__.py:672 core/validators.py:174 core/validators.py:445 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Dosya gönderilmedi. Formdaki kodlama türünü kontrol edin." + +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "Gönderilen dosya boş." + +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "-32,768 ve 32,767 arası bir sayı girin." + +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "Pozitif tamsayı girin." + +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "0 ve 32,767 arası bir sayı girin." + +#: db/models/manipulators.py:307 #, python-format msgid "%(object)s with this %(type)s already exists for the given %(field)s." msgstr "%(type)s ve %(field)s değerine sahip %(object)s kaydı zaten var." -#: db/models/manipulators.py:332 -#, python-format -msgid "" -"Please enter a different %s. The one you entered is already being used for %" -"s." -msgstr "Lütfen farklı bir %s girin. Girdiğiniz, %s tarihinde bir kez kullanılmış." +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "ve" -#: db/models/fields/__init__.py:41 +#: db/models/fields/__init__.py:42 #, python-format msgid "%(optname)s with this %(fieldname)s already exists." msgstr "%(fieldname)s için %(optname)s değeri zaten seçilmiş." -#: 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:347 -msgid "This field is required." -msgstr "Bu alan gerekli." - -#: db/models/fields/__init__.py:349 +#: db/models/fields/__init__.py:366 msgid "This value must be an integer." msgstr "Bu değer tamsayı olmalı." -#: db/models/fields/__init__.py:381 +#: db/models/fields/__init__.py:401 msgid "This value must be either True or False." msgstr "Bu değer True ya da False olabilir." -#: db/models/fields/__init__.py:397 +#: db/models/fields/__init__.py:422 msgid "This field cannot be null." msgstr "Bu alan boş bırakılamaz." -#: db/models/fields/__init__.py:424 core/validators.py:146 +#: db/models/fields/__init__.py:456 core/validators.py:148 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "YYYY-AA-GG formatında tarih girin." -#: db/models/fields/__init__.py:486 core/validators.py:155 +#: db/models/fields/__init__.py:525 core/validators.py:157 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." msgstr "YYYY-AA-GG SS:DD formatında tarih girin." -#: db/models/fields/__init__.py:580 +#: db/models/fields/__init__.py:629 msgid "Enter a valid filename." msgstr "Geçerli bir dosya adı girin." -#: db/models/fields/related.py:51 +#: db/models/fields/__init__.py:750 +msgid "This value must be either None, True or False." +msgstr "Bu değer None, True ya da False olabilir." + +#: db/models/fields/related.py:53 #, python-format msgid "Please enter a valid %s." msgstr "Lütfen geçerli bir %s girin." -#: db/models/fields/related.py:618 +#: db/models/fields/related.py:642 msgid "Separate multiple IDs with commas." msgstr "Birden fazla numarayı virgül ile ayırın." -#: db/models/fields/related.py:620 -msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +#: db/models/fields/related.py:644 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "\"Ctrl\" ve Mac'de \"Command\" tuşunu basılı tutarak birden fazla seçimde " "bulunabilirsiniz." -#: db/models/fields/related.py:664 +#: db/models/fields/related.py:691 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr[0] "Lütfen geçerli bir %(self)s numarası girin. %(value)r değeri geçersiz." -msgstr[1] "Lütfen geçerli %(self)s numaraları girin. %(value)r değerleri geçersiz." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "" +"Lütfen geçerli bir %(self)s numarası girin. %(value)r değeri geçersiz." +msgstr[1] "" +"Lütfen geçerli %(self)s numaraları girin. %(value)r değerleri geçersiz." #: conf/global_settings.py:39 msgid "Arabic" @@ -95,233 +156,222 @@ msgid "Bengali" msgstr "Bengali Dili" #: conf/global_settings.py:41 +msgid "Catalan" +msgstr "" + +#: conf/global_settings.py:42 msgid "Czech" msgstr "Çekçe" -#: conf/global_settings.py:42 +#: conf/global_settings.py:43 msgid "Welsh" msgstr "Galce" -#: conf/global_settings.py:43 +#: conf/global_settings.py:44 msgid "Danish" msgstr "Danca" -#: conf/global_settings.py:44 +#: conf/global_settings.py:45 msgid "German" msgstr "Almanca" -#: conf/global_settings.py:45 +#: conf/global_settings.py:46 msgid "Greek" msgstr "Yunanca" -#: conf/global_settings.py:46 +#: conf/global_settings.py:47 msgid "English" msgstr "İngilizce" -#: conf/global_settings.py:47 +#: conf/global_settings.py:48 msgid "Spanish" msgstr "İspanyolca" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Argentinean Spanish" msgstr "Arjantin İspanyolcası" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Finnish" msgstr "Fince" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "French" msgstr "Fransızca" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "Galician" msgstr "Galler Dili" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Hungarian" msgstr "Macarca" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "Hebrew" msgstr "İbranice" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 msgid "Icelandic" msgstr "İzlanda dili" -#: conf/global_settings.py:55 +#: conf/global_settings.py:56 msgid "Italian" msgstr "İtalyanca" -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Japanese" msgstr "Japonca" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Kannada" +msgstr "" + +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "" + +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "" + +#: conf/global_settings.py:61 msgid "Dutch" msgstr "Flamanca" -#: conf/global_settings.py:58 +#: conf/global_settings.py:62 msgid "Norwegian" msgstr "Norveç Dili" -#: conf/global_settings.py:59 +#: conf/global_settings.py:63 +msgid "Polish" +msgstr "" + +#: conf/global_settings.py:64 msgid "Brazilian" msgstr "Brezilya Dili" -#: conf/global_settings.py:60 +#: conf/global_settings.py:65 msgid "Romanian" msgstr "Romence" -#: conf/global_settings.py:61 +#: conf/global_settings.py:66 msgid "Russian" msgstr "Rusça" -#: conf/global_settings.py:62 +#: conf/global_settings.py:67 msgid "Slovak" msgstr "Slovakça" -#: conf/global_settings.py:63 +#: conf/global_settings.py:68 msgid "Slovenian" msgstr "Slovence" -#: conf/global_settings.py:64 +#: conf/global_settings.py:69 msgid "Serbian" msgstr "Sırpça" -#: conf/global_settings.py:65 +#: conf/global_settings.py:70 msgid "Swedish" msgstr "İsveççe" -#: conf/global_settings.py:66 +#: conf/global_settings.py:71 msgid "Tamil" msgstr "Tamilce" -#: conf/global_settings.py:67 +#: conf/global_settings.py:72 +msgid "Telugu" +msgstr "" + +#: conf/global_settings.py:73 msgid "Turkish" msgstr "Türkçe" -#: conf/global_settings.py:68 +#: conf/global_settings.py:74 msgid "Ukrainian" msgstr "Ukraynaca" -#: conf/global_settings.py:69 +#: conf/global_settings.py:75 msgid "Simplified Chinese" msgstr "Basiteştirilmiş Çince" -#: conf/global_settings.py:70 +#: conf/global_settings.py:76 msgid "Traditional Chinese" msgstr "Gelenelsek Çince" -#: forms/__init__.py:382 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Metnin %s karakterden az olmasına dikkat edin." -msgstr[1] "Metnin %s karakterden az olmasına dikkat edin." - -#: forms/__init__.py:387 -msgid "Line breaks are not allowed here." -msgstr "Burada birden fazla satır olamaz." - -#: forms/__init__.py:488 forms/__init__.py:561 forms/__init__.py:600 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Geçerli bir seçimde bulunun; %(choices)s değerleri içinde '%(data)s' yok." - -#: forms/__init__.py:662 core/validators.py:172 core/validators.py:401 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Dosya gönderilmedi. Formdaki kodlama türünü kontrol edin." - -#: forms/__init__.py:664 -msgid "The submitted file is empty." -msgstr "Gönderilen dosya boş." - -#: forms/__init__.py:720 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "-32,768 ve 32,767 arası bir sayı girin." - -#: forms/__init__.py:730 -msgid "Enter a positive number." -msgstr "Pozitif tamsayı girin." - -#: forms/__init__.py:740 -msgid "Enter a whole number between 0 and 32,767." -msgstr "0 ve 32,767 arası bir sayı girin." - -#: core/validators.py:63 +#: core/validators.py:64 msgid "This value must contain only letters, numbers and underscores." msgstr "Bu değer sadece karakter, rakam ve altçizgiden oluşabilir." -#: core/validators.py:67 +#: core/validators.py:68 msgid "" "This value must contain only letters, numbers, underscores, dashes or " "slashes." -msgstr "Bu değer sadece harf, rakam, altçizgi, bölü ve ters bölüden oluşabilir." +msgstr "" +"Bu değer sadece harf, rakam, altçizgi, bölü ve ters bölüden oluşabilir." -#: core/validators.py:71 +#: core/validators.py:72 msgid "This value must contain only letters, numbers, underscores or hyphens." msgstr "Bu değer sadece harf, rakam, altçizgi veya çizgiden oluşabilir." -#: core/validators.py:75 +#: core/validators.py:76 msgid "Uppercase letters are not allowed here." msgstr "Burada büyük harf kullanılamaz." -#: core/validators.py:79 +#: core/validators.py:80 msgid "Lowercase letters are not allowed here." msgstr "Burada küçük harf kullanılamaz." -#: core/validators.py:86 +#: core/validators.py:87 msgid "Enter only digits separated by commas." msgstr "Sadece virgülle ayrılmış sayılar girin." -#: core/validators.py:98 +#: core/validators.py:99 msgid "Enter valid e-mail addresses separated by commas." msgstr "Virgülle ayrılmış geçerli e-posta adresleri girin." -#: core/validators.py:102 +#: core/validators.py:103 msgid "Please enter a valid IP address." msgstr "Lütfen geçerli bir IP adresi girin." -#: core/validators.py:106 +#: core/validators.py:107 msgid "Empty values are not allowed here." msgstr "Burada boş değer kullanılamaz." -#: core/validators.py:110 +#: core/validators.py:111 msgid "Non-numeric characters aren't allowed here." msgstr "Burada numerik olmayan karakterler kullanılamaz." -#: core/validators.py:114 +#: core/validators.py:115 msgid "This value can't be comprised solely of digits." msgstr "Bu alanda sadece rakam kullanılamaz." -#: core/validators.py:119 +#: core/validators.py:120 newforms/fields.py:126 msgid "Enter a whole number." msgstr "Sayı girin." -#: core/validators.py:123 +#: core/validators.py:124 msgid "Only alphabetical characters are allowed here." msgstr "Burada sadece alfabetik karakterler kullanılabilir." -#: core/validators.py:138 +#: core/validators.py:139 msgid "Year must be 1900 or later." msgstr "Yıl 1900 ya da sonrası olabilir." -#: core/validators.py:142 +#: core/validators.py:143 #, python-format -msgid "Invalid date: %s." +msgid "Invalid date: %s" msgstr "Geçersiz tarih: %s" -#: core/validators.py:151 +#: core/validators.py:153 msgid "Enter a valid time in HH:MM format." msgstr "SS:DD formatında geçerli bir saat girin." -#: core/validators.py:160 +#: core/validators.py:162 newforms/fields.py:269 msgid "Enter a valid e-mail address." msgstr "Geçerli bir e-posta adresi girin." -#: core/validators.py:176 +#: core/validators.py:178 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -329,26 +379,26 @@ msgstr "" "Geçerli bir resim girin. Gönderdiğiniz dosya resim değil, ya da bozuk bir " "dosya." -#: core/validators.py:183 +#: core/validators.py:185 #, python-format msgid "The URL %s does not point to a valid image." msgstr "%s adresi geçerli bir resme işaret etmiyor." -#: core/validators.py:187 +#: core/validators.py:189 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." msgstr "Telefon numarası XXX-XXX-XXXX formatında olmalı. \"%s\" geçersiz." -#: core/validators.py:195 +#: core/validators.py:197 #, python-format msgid "The URL %s does not point to a valid QuickTime video." msgstr "%s adresi geçerli bir QuickTime dosyasına işaret etmiyor." -#: core/validators.py:199 +#: core/validators.py:201 msgid "A valid URL is required." msgstr "Geçerli bir URL gerekli." -#: core/validators.py:213 +#: core/validators.py:215 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" @@ -357,118 +407,140 @@ msgstr "" "Metnin geçerli bir HTML kodu olması gerekir. Hatalar:\n" "%s" -#: core/validators.py:220 +#: core/validators.py:222 #, python-format msgid "Badly formed XML: %s" msgstr "Geçersiz XML kodu: %s" -#: core/validators.py:230 +#: core/validators.py:239 #, python-format msgid "Invalid URL: %s" msgstr "Geçersiz adres: %s" -#: core/validators.py:234 core/validators.py:236 +#: core/validators.py:244 core/validators.py:246 #, python-format msgid "The URL %s is a broken link." msgstr "%s kırık bir link." -#: core/validators.py:242 +#: core/validators.py:252 msgid "Enter a valid U.S. state abbreviation." msgstr "Geçerli bir şehir kodu girin." -#: core/validators.py:256 +#: core/validators.py:266 #, python-format msgid "Watch your mouth! The word %s is not allowed here." msgid_plural "Watch your mouth! The words %s are not allowed here." msgstr[0] "Söylediğinize dikkat edin! %s kelimesi burada kullanılamaz." msgstr[1] "Söylediğinize dikkat edin! %s kelimeleri burada kullanılamaz." -#: core/validators.py:263 +#: core/validators.py:273 #, python-format msgid "This field must match the '%s' field." msgstr "Bu alan '%s' ile alanı ile uyuşmalı." -#: core/validators.py:282 +#: core/validators.py:292 msgid "Please enter something for at least one field." msgstr "Lütfen en az bir alana giriş yapın." -#: core/validators.py:291 core/validators.py:302 +#: core/validators.py:301 core/validators.py:312 msgid "Please enter both fields or leave them both empty." msgstr "Lütfen tüm alanları doldurun ya da hepsini boş bırakın." -#: core/validators.py:309 +#: core/validators.py:320 #, python-format msgid "This field must be given if %(field)s is %(value)s" msgstr "Bu alan %(field)s alanı %(value)s değerine sahipse doldurulmalı." -#: core/validators.py:321 +#: core/validators.py:333 #, python-format msgid "This field must be given if %(field)s is not %(value)s" msgstr "Bu alan %(field)s alanı %(value)s değerine sahip değilse doldurulmalı." -#: core/validators.py:340 +#: core/validators.py:352 msgid "Duplicate values are not allowed." msgstr "Tekrarlanan değerler kabul edilmez." -#: core/validators.py:363 +#: core/validators.py:367 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Bu değer %(lower)s ve %(upper)s arasında olabilir." + +#: core/validators.py:369 +#, python-format +msgid "This value must be at least %s." +msgstr "Bu değer en az %s olabilir." + +#: core/validators.py:371 +#, python-format +msgid "This value must be no more than %s." +msgstr "" + +#: core/validators.py:407 #, python-format msgid "This value must be a power of %s." msgstr "Bu değer %s ya da kuvvetleri olabilir." -#: core/validators.py:374 +#: core/validators.py:418 msgid "Please enter a valid decimal number." msgstr "Lütfen geçerli bir ondalık sayı girin." -#: core/validators.py:378 +#: core/validators.py:422 #, 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] "Lütfen en fazla %s basamaklı bir ondalık sayı girin." msgstr[1] "Lütfen en fazla %s basamaklı bir ondalık sayı girin." -#: core/validators.py:381 +#: core/validators.py:425 #, python-format -msgid "Please enter a valid decimal number with a whole part of at most %s digit." -msgid_plural "Please enter a valid decimal number with a whole part of at most %s digits." +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "" +"Please enter a valid decimal number with a whole part of at most %s digits." msgstr[0] "Lütfen tamsayı kısmı en fazla %s basamaklı bir ondalık sayı girin." msgstr[1] "Lütfen tamsayı kısmı en fazla %s basamaklı bir ondalık sayı girin." -#: core/validators.py:384 +#: core/validators.py:428 #, 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] "Lütfen ondalıklı kısmı en fazla %s basamaklı bir ondalık sayı girin." -msgstr[1] "Lütfen ondalıklı kısmı en fazla %s basamaklı bir ondalık sayı girin." +msgid_plural "" +"Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "" +"Lütfen ondalıklı kısmı en fazla %s basamaklı bir ondalık sayı girin." +msgstr[1] "" +"Lütfen ondalıklı kısmı en fazla %s basamaklı bir ondalık sayı girin." -#: core/validators.py:394 +#: core/validators.py:438 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." msgstr "Gönderdiğiniz dosyanın en az %s byte uzunlukta olduğundan emin olun." -#: core/validators.py:395 +#: core/validators.py:439 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." msgstr "Gönderdiğiniz dosyanın en fazl %s byte uzunlukta olduğundan emin olun." -#: core/validators.py:412 +#: core/validators.py:456 msgid "The format for this field is wrong." msgstr "Bu alandaki veri formatı hatalı." -#: core/validators.py:427 +#: core/validators.py:471 msgid "This field is invalid." msgstr "Alan geçersiz." -#: core/validators.py:463 +#: core/validators.py:507 #, python-format msgid "Could not retrieve anything from %s." msgstr "%s içinden hiçbirşey aktarılamıyor." -#: core/validators.py:466 +#: core/validators.py:510 #, 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 "%(url)s adresi geçersiz içerik türü (%(contenttype)s) gönderdi." -#: core/validators.py:499 +#: core/validators.py:543 #, python-format msgid "" "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " @@ -477,7 +549,7 @@ msgstr "" "Lütfen %(line)s. satırdaki kapatılmayan %(tag)s etiketini kapatın. (Satır, " "\"%(start)s\" ile başlıyor.)" -#: core/validators.py:503 +#: core/validators.py:547 #, python-format msgid "" "Some text starting on line %(line)s is not allowed in that context. (Line " @@ -486,7 +558,7 @@ msgstr "" "%(line)s. satırda başlayan bazı kelimeler içerik olarak kabul edilmiyor. " "(Satır, \"%(start)s\" ile başlıyor.)" -#: core/validators.py:508 +#: core/validators.py:552 #, python-format msgid "" "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" @@ -495,7 +567,7 @@ msgstr "" "%(line)s. satırdaki \"%(attr)s\" özelliği geçersiz. (Satır, \"%(start)s\" " "ile başlıyor.)" -#: core/validators.py:513 +#: core/validators.py:557 #, python-format msgid "" "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" @@ -504,7 +576,7 @@ msgstr "" "%(line)s. satırdaki \"<%(tag)s>\" etiketi geçersiz. (Satır, \"%(start)s\" " "ile başlıyor.)" -#: core/validators.py:517 +#: core/validators.py:561 #, python-format msgid "" "A tag on line %(line)s is missing one or more required attributes. (Line " @@ -513,7 +585,7 @@ msgstr "" "%(line)s. satırdaki bir etiket eksik ya da eklenmesi gereken özellikleri " "var. (Satır, \"%(start)s\" ile başlıyor.)" -#: core/validators.py:522 +#: core/validators.py:566 #, python-format msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " @@ -537,407 +609,135 @@ msgstr "%(verbose_name)s başarıyla güncellendi." msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s silindi." -#: utils/dates.py:6 -msgid "Monday" -msgstr "Pazartesi" +#: newforms/models.py:164 newforms/fields.py:360 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Geçerli bir seçimde bulunun; seçiminiz mevcut değerlerden birisi değil." -#: utils/dates.py:6 -msgid "Tuesday" -msgstr "Salı" - -#: utils/dates.py:6 -msgid "Wednesday" -msgstr "Çarşamba" - -#: utils/dates.py:6 -msgid "Thursday" -msgstr "Perşembe" - -#: utils/dates.py:6 -msgid "Friday" -msgstr "Cuma" - -#: utils/dates.py:7 -msgid "Saturday" -msgstr "Cumartesi" - -#: utils/dates.py:7 -msgid "Sunday" -msgstr "Pazar" - -#: utils/dates.py:14 -msgid "January" -msgstr "Ocak" - -#: utils/dates.py:14 -msgid "February" -msgstr "Şubat" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "March" -msgstr "Mart" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "April" -msgstr "Nisan" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "May" -msgstr "Mayıs" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "June" -msgstr "Haziran" - -#: utils/dates.py:15 utils/dates.py:27 -msgid "July" -msgstr "Temmuz" - -#: utils/dates.py:15 -msgid "August" -msgstr "Ağustos" - -#: utils/dates.py:15 -msgid "September" -msgstr "Eylül" - -#: utils/dates.py:15 -msgid "October" -msgstr "Ekim" - -#: utils/dates.py:15 -msgid "November" -msgstr "Kasım" - -#: utils/dates.py:16 -msgid "December" -msgstr "Aralık" - -#: utils/dates.py:19 -msgid "jan" -msgstr "oca" - -#: utils/dates.py:19 -msgid "feb" -msgstr "şub" - -#: utils/dates.py:19 -msgid "mar" -msgstr "mar" - -#: utils/dates.py:19 -msgid "apr" -msgstr "nis" - -#: utils/dates.py:19 -msgid "may" -msgstr "may" - -#: utils/dates.py:19 -msgid "jun" -msgstr "haz" - -#: utils/dates.py:20 -msgid "jul" -msgstr "tem" - -#: utils/dates.py:20 -msgid "aug" -msgstr "ağu" - -#: utils/dates.py:20 -msgid "sep" -msgstr "eyl" - -#: utils/dates.py:20 -msgid "oct" -msgstr "eki" - -#: utils/dates.py:20 -msgid "nov" -msgstr "kas" - -#: utils/dates.py:20 -msgid "dec" -msgstr "ara" - -#: utils/dates.py:27 -msgid "Jan." -msgstr "Oca." - -#: utils/dates.py:27 -msgid "Feb." -msgstr "Şub." - -#: utils/dates.py:28 -msgid "Aug." -msgstr "Ağu." - -#: utils/dates.py:28 -msgid "Sept." -msgstr "Eyl." - -#: utils/dates.py:28 -msgid "Oct." -msgstr "Eki." - -#: utils/dates.py:28 -msgid "Nov." -msgstr "Kas." - -#: utils/dates.py:28 -msgid "Dec." -msgstr "Ara." - -#: utils/timesince.py:12 -msgid "year" -msgid_plural "years" -msgstr[0] "yıl" -msgstr[1] "yıl" - -#: utils/timesince.py:13 -msgid "month" -msgid_plural "months" -msgstr[0] "ay" -msgstr[1] "ay" - -#: utils/timesince.py:14 -msgid "week" -msgid_plural "weeks" -msgstr[0] "hafta" -msgstr[1] "hafta" - -#: utils/timesince.py:15 -msgid "day" -msgid_plural "days" -msgstr[0] "gün" -msgstr[1] "gün" - -#: utils/timesince.py:16 -msgid "hour" -msgid_plural "hours" -msgstr[0] "saat" -msgstr[1] "saat" - -#: utils/timesince.py:17 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "dakika" -msgstr[1] "dakika" - -#: utils/translation/trans_real.py:362 -msgid "DATE_FORMAT" -msgstr "DATE_FORMAT" - -#: utils/translation/trans_real.py:363 -msgid "DATETIME_FORMAT" -msgstr "DATETIME_FORMAT" - -#: utils/translation/trans_real.py:364 -msgid "TIME_FORMAT" -msgstr "TIME_FORMAT" - -#: utils/translation/trans_real.py:380 -msgid "YEAR_MONTH_FORMAT" -msgstr "YEAR_MONTH_FORMAT" - -#: utils/translation/trans_real.py:381 -msgid "MONTH_DAY_FORMAT" -msgstr "MONTH_DAY_FORMAT" - -#: contrib/contenttypes/models.py:20 -msgid "python model class name" -msgstr "python model sınıfı" - -#: contrib/contenttypes/models.py:23 -msgid "content type" -msgstr "içerik türü" - -#: contrib/contenttypes/models.py:24 -msgid "content types" -msgstr "içerik türleri" - -#: contrib/auth/views.py:39 -msgid "Logged out" -msgstr "Çıkış yapıldı" - -#: contrib/auth/models.py:38 contrib/auth/models.py:57 -msgid "name" -msgstr "isim" - -#: contrib/auth/models.py:40 -msgid "codename" -msgstr "takma ad" - -#: contrib/auth/models.py:42 -msgid "permission" -msgstr "izin" - -#: contrib/auth/models.py:43 contrib/auth/models.py:58 -msgid "permissions" -msgstr "izinler" - -#: contrib/auth/models.py:60 -msgid "group" -msgstr "grup" - -#: contrib/auth/models.py:61 contrib/auth/models.py:100 -msgid "groups" -msgstr "gruplar" - -#: contrib/auth/models.py:90 -msgid "username" -msgstr "kullanıcı adı" - -#: contrib/auth/models.py:90 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." +#: newforms/models.py:181 newforms/fields.py:378 newforms/fields.py:454 +msgid "Enter a list of values." msgstr "" -"Gerekli. 30 karakter ya da da az olmalı. Alfanumerik (harf, rakam ve alt " -"çizgi) karakterler kullanılabilir." -#: contrib/auth/models.py:91 -msgid "first name" -msgstr "isim" +#: newforms/models.py:187 newforms/fields.py:387 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Geçerli bir seçimde bulunun; %s mevcut değerlerden biri değil." -#: contrib/auth/models.py:92 -msgid "last name" -msgstr "soyisim" +#: newforms/fields.py:101 newforms/fields.py:254 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Bu değer en fazla %d karakter olabilir." -#: contrib/auth/models.py:93 -msgid "e-mail address" -msgstr "e-posta adresi" +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Bu değer en az %d arakter olabilir." -#: contrib/auth/models.py:94 -msgid "password" -msgstr "parola" - -#: contrib/auth/models.py:94 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "'[algo]$[salt]$[hexdigest]' formatında" - -#: contrib/auth/models.py:95 -msgid "staff status" -msgstr "yönetici modu" - -#: contrib/auth/models.py:95 -msgid "Designates whether the user can log into this admin site." -msgstr "Kullanıcının yönetici sayfasına girip giremeyeceğini belirler." - -#: contrib/auth/models.py:96 -msgid "active" -msgstr "aktif" - -#: contrib/auth/models.py:96 -msgid "" -"Designates whether this user can log into the Django admin. Unselect this " -"instead of deleting accounts." +#: newforms/fields.py:128 +#, python-format +msgid "Ensure this value is less than or equal to %s." msgstr "" -"Kullanıcının Django yönetim sayfasına girip giremeyeceğini belirler. " -"Kullanıcı hesabı silmek yerine işareti kaldırın." -#: contrib/auth/models.py:97 -msgid "superuser status" -msgstr "süper kullanıcı modu" - -#: contrib/auth/models.py:97 -msgid "" -"Designates that this user has all permissions without explicitly assigning " -"them." +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is greater than or equal to %s." msgstr "" -"Kullanıcının tek tek hak atamasına gerek kalmadan tüm haklara sahip olup " -"olamayacağını belirler." -#: contrib/auth/models.py:98 -msgid "last login" -msgstr "son ziyaret" +#: newforms/fields.py:163 +msgid "Enter a valid date." +msgstr "Geçerli bir tarih girin." -#: contrib/auth/models.py:99 -msgid "date joined" -msgstr "kayıt tarihi" - -#: 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." +#: newforms/fields.py:190 +msgid "Enter a valid time." msgstr "" -"Özel olarak atanmış hakların yanı sıra, kullanıcının üyesi olduğu grupların " -"hakları alır." -#: contrib/auth/models.py:102 -msgid "user permissions" -msgstr "kullanıcı izinleri" - -#: contrib/auth/models.py:105 -msgid "user" -msgstr "kullanıcı" - -#: contrib/auth/models.py:106 -msgid "users" -msgstr "kullanıcılar" - -#: contrib/auth/models.py:111 -msgid "Personal info" -msgstr "Kişisel bilgiler" - -#: contrib/auth/models.py:112 -msgid "Permissions" -msgstr "İzinler" - -#: contrib/auth/models.py:113 -msgid "Important dates" -msgstr "Önemli tarihler" - -#: contrib/auth/models.py:114 -msgid "Groups" -msgstr "Gruplar" - -#: contrib/auth/models.py:258 -msgid "message" -msgstr "mesaj" - -#: contrib/auth/forms.py:16 -msgid "The two password fields didn't match." -msgstr "İki parola alanı uyuşmuyor." - -#: contrib/auth/forms.py:24 -msgid "A user with that username already exists." -msgstr "Bu isimde bir kullanıcı zaten var." - -#: contrib/auth/forms.py:52 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." +#: newforms/fields.py:226 +msgid "Enter a valid date/time." msgstr "" -"Web tarayıcınızın çerezleri desteklemediği görülüyor. Çerezler giriş için " -"gerekli." -#: 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." +#: newforms/fields.py:240 +msgid "Enter a valid value." +msgstr "Geçerli bir değer girin." + +#: newforms/fields.py:287 newforms/fields.py:309 +msgid "Enter a valid URL." +msgstr "Geçerli bir URL girin." + +#: newforms/fields.py:311 +msgid "This URL appears to be a broken link." +msgstr "Bu URL kırık bir link gibi duruyor." + +#: contrib/humanize/templatetags/humanize.py:17 +msgid "th" msgstr "" -"Lütfen geçerli bir kullanıcı adı ve parola girin. Tüm alanlar büyük/küçük " -"harf duyarlıdır." -#: contrib/auth/forms.py:61 -msgid "This account is inactive." -msgstr "Bu hesap aktif değil." +#: contrib/humanize/templatetags/humanize.py:17 +msgid "st" +msgstr "" -#: contrib/auth/forms.py:84 -msgid "" -"That e-mail address doesn't have an associated user acount. Are you sure " -"you've registered?" -msgstr "Bu e-posta hesabıyla ilişkili kullanıcı bulunmuyor. Kayıtlı olduğunuzdan emin misiniz?" +#: contrib/humanize/templatetags/humanize.py:17 +msgid "nd" +msgstr "" -#: contrib/auth/forms.py:116 -msgid "The two 'new password' fields didn't match." -msgstr "İki parola alanı uyuşmuyor." +#: contrib/humanize/templatetags/humanize.py:17 +msgid "rd" +msgstr "" -#: contrib/auth/forms.py:123 -msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "Eski parolanız hatalı. Lütfen tekrar girin." +#: contrib/humanize/templatetags/humanize.py:47 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "one" +msgstr "bir" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "two" +msgstr "iki" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "three" +msgstr "üç" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "four" +msgstr "dört" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "five" +msgstr "beş" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "six" +msgstr "altı" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "seven" +msgstr "yedi" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "eight" +msgstr "sekiz" + +#: contrib/humanize/templatetags/humanize.py:68 +msgid "nine" +msgstr "dokuz" #: contrib/redirects/models.py:7 msgid "redirect from" @@ -1166,7 +966,8 @@ msgid "No voting for yourself" msgstr "Kendinize oy veremezsiniz" #: contrib/comments/views/comments.py:27 -msgid "This rating is required because you've entered at least one other rating." +msgid "" +"This rating is required because you've entered at least one other rating." msgstr "Reyting gerekli, çünkü en az bir reyting tanımladınız." #: contrib/comments/views/comments.py:111 @@ -1216,14 +1017,16 @@ msgstr "Bir ya da daha fazla gerekli alan doldurulmadı" #: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" -msgstr "Birisi yorum gönderme formunu kötüye kullanmaya çalıştı (güvenlik ihlali)" +msgstr "" +"Birisi yorum gönderme formunu kötüye kullanmaya çalıştı (güvenlik ihlali)" #: 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 "Bu yorumun geçersiz bir 'hedef' parametresi var -- nesne narası geçersiz" +msgstr "" +"Bu yorumun geçersiz bir 'hedef' parametresi var -- nesne narası geçersiz" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 @@ -1242,6 +1045,7 @@ msgstr "Kullanıcı:" #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/view_detail.html:4 @@ -1298,76 +1102,6 @@ msgstr "Yorumu görüntüle" msgid "Your name:" msgstr "İsminiz:" -#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:315 -msgid "URL" -msgstr "URL" - -#: contrib/flatpages/models.py:8 -msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "" -"Örnek: '/about/contact/'. Başında ve sonunda bölü işareti olduğundan emin " -"olun." - -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "başlık" - -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "içerik" - -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "yorumlara izin ver" - -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "şablon adı" - -#: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " -"will use 'flatpages/default.html'." -msgstr "" -"Örnek: 'flatpages/contact_page.html'. Eğer birşey yazılmazsa, sistem " -"otomatik olarak 'flatpages/default.html' kullanacak." - -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "kayıt gerekli" - -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Bu seçili ise, sadece kayıtlı kullanıcılar sayfayı görüntüleyebilir." - -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "düz sayfa" - -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "düz sayfalar" - -#: contrib/sessions/models.py:51 -msgid "session key" -msgstr "oturum anahtarı" - -#: contrib/sessions/models.py:52 -msgid "session data" -msgstr "oturum bilgisi" - -#: contrib/sessions/models.py:53 -msgid "expire date" -msgstr "bitiş tarihi" - -#: contrib/sessions/models.py:57 -msgid "session" -msgstr "oturum" - -#: contrib/sessions/models.py:58 -msgid "sessions" -msgstr "oturumlar" - #: contrib/sites/models.py:10 msgid "domain name" msgstr "alan adı" @@ -1418,18 +1152,6 @@ msgstr "Bu ay" msgid "This year" msgstr "Bu yıl" -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "Evet" - -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "Hayır" - -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "Bilinmiyor" - #: contrib/admin/models.py:16 msgid "action time" msgstr "işlem zamanı" @@ -1458,24 +1180,33 @@ msgstr "girişi kaydet" msgid "log entries" msgstr "girişleri kaydet" -#: contrib/admin/templatetags/admin_list.py:230 +#: contrib/admin/templatetags/admin_list.py:247 msgid "All dates" msgstr "Tüm tarihler" -#: contrib/admin/views/auth.py:17 contrib/admin/views/main.py:257 +#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "\"%(obj)s\" isimli %(name)s eklendi." -#: contrib/admin/views/auth.py:22 contrib/admin/views/main.py:261 +#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 #: contrib/admin/views/main.py:347 msgid "You may edit it again below." msgstr "Tekrar düzenleyebilirsiniz." -#: contrib/admin/views/auth.py:28 +#: contrib/admin/views/auth.py:30 msgid "Add user" msgstr "Kullanıcı ekle" +#: contrib/admin/views/auth.py:57 +msgid "Password changed successfully." +msgstr "Parola başarı ile değiştirildi." + +#: contrib/admin/views/auth.py:64 +#, python-format +msgid "Change password: %s" +msgstr "Parola değiştir: %s" + #: contrib/admin/views/main.py:223 msgid "Site administration" msgstr "Site yönetimi" @@ -1495,11 +1226,6 @@ msgstr "%s ekle" msgid "Added %s." msgstr "%s eklendi." -#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 -#: contrib/admin/views/main.py:339 -msgid "and" -msgstr "ve" - #: contrib/admin/views/main.py:337 #, python-format msgid "Changed %s." @@ -1521,52 +1247,62 @@ msgstr "\"%(obj)s\" isimli %(name)s değiştirildi." #: contrib/admin/views/main.py:353 #, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "\"%(obj)s\" isimli %(name)s eklendi. Aşağıda tekrar düzenleyebilirsiniz." +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"\"%(obj)s\" isimli %(name)s eklendi. Aşağıda tekrar düzenleyebilirsiniz." #: contrib/admin/views/main.py:391 #, python-format msgid "Change %s" msgstr "%s değiştir" -#: contrib/admin/views/main.py:473 +#: contrib/admin/views/main.py:476 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "%(name)s içinde bir ya da daha fazla %(fieldname)s: %(obj)s" -#: contrib/admin/views/main.py:478 +#: contrib/admin/views/main.py:481 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "%(name)s içinde bir ya da daha fazla %(fieldname)s:" -#: contrib/admin/views/main.py:511 +#: contrib/admin/views/main.py:514 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "\"%(obj)s\" isimli %(name)s silindi." -#: contrib/admin/views/main.py:514 +#: contrib/admin/views/main.py:517 msgid "Are you sure?" msgstr "Emin misiniz?" -#: contrib/admin/views/main.py:536 +#: contrib/admin/views/main.py:539 #, python-format msgid "Change history: %s" msgstr "%s için değişiklik geçmişi:" -#: contrib/admin/views/main.py:570 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s" msgstr "%s seç" -#: contrib/admin/views/main.py:570 +#: contrib/admin/views/main.py:573 #, python-format msgid "Select %s to change" msgstr "Değiştirilecek %s nesnesini seçin" -#: contrib/admin/views/main.py:758 +#: contrib/admin/views/main.py:768 msgid "Database error" msgstr "Veritabanı hatası" +#: 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 "" +"Lütfen geçerli bir kullanıcı adı ve parola girin. Tüm alanlar büyük/küçük " +"harf duyarlıdır." + #: contrib/admin/views/decorators.py:24 #: contrib/admin/templates/admin/login.html:25 msgid "Log in" @@ -1619,13 +1355,13 @@ msgstr "%r uygulaması bulunamadı" #: contrib/admin/views/doc.py:171 #, python-format -msgid "Model %r not found in app %r" -msgstr "%r modeli %r uygulamasında bulunamadı" +msgid "Model %(name)r not found in app %(label)r" +msgstr "%(name)r modeli %(label)r uygulamasında bulunamadı" #: contrib/admin/views/doc.py:183 #, python-format -msgid "the related `%s.%s` object" -msgstr "ilgili `%s.%s` nesnesi" +msgid "the related `%(label)s.%(type)s` object" +msgstr "ilgili `%(label)s.%(type)s` nesnesi" #: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 #: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 @@ -1634,8 +1370,8 @@ msgstr "model:" #: contrib/admin/views/doc.py:214 #, python-format -msgid "related `%s.%s` objects" -msgstr "ilgili `%s.%s` nesneleri" +msgid "related `%(label)s.%(name)s` objects" +msgstr "ilgili `%(label)s.%(name)s` nesneleri" #: contrib/admin/views/doc.py:219 #, python-format @@ -1712,6 +1448,10 @@ msgstr "Metin" msgid "Time" msgstr "Saat" +#: 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 "Şehir Kodu (iki karakter)" @@ -1746,17 +1486,21 @@ msgstr "Saat:" #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" -msgstr "Dökümantasyon" +msgstr "Dokümantasyon" #: contrib/admin/templates/admin/change_list.html:5 #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:46 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/view_detail.html:4 @@ -1779,6 +1523,7 @@ msgstr "Parola değiştir" #: contrib/admin/templates/admin/change_form.html:13 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/base.html:30 +#: contrib/admin/templates/admin/auth/user/change_password.html:12 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -1788,7 +1533,7 @@ msgstr "Parola değiştir" msgid "Home" msgstr "Anasayfa" -#: contrib/admin/templates/admin/change_list.html:11 +#: contrib/admin/templates/admin/change_list.html:12 #, python-format msgid "Add %(name)s" msgstr "%(name)s Ekle" @@ -1799,7 +1544,7 @@ msgid " By %(filter_title)s " msgstr " %(filter_title)s nesnesine göre " #: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 msgid "History" msgstr "Geçmiş" @@ -1933,28 +1678,25 @@ msgstr "Üzgünüm, aradığınız sayfa bulunamadı." msgid "Filter" msgstr "Filtrele" -#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/change_form.html:22 msgid "View on site" msgstr "Sitede görüntüle" -#: contrib/admin/templates/admin/change_form.html:30 +#: contrib/admin/templates/admin/change_form.html:32 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Lütfen aşağıdaki hatayı düzeltin." msgstr[1] "Lütfen aşağıdaki hataları düzeltin." -#: contrib/admin/templates/admin/change_form.html:48 +#: contrib/admin/templates/admin/change_form.html:50 msgid "Ordering" msgstr "Sıralama:" -#: contrib/admin/templates/admin/change_form.html:51 +#: contrib/admin/templates/admin/change_form.html:53 msgid "Order:" msgstr "Sıra:" -#: contrib/admin/templates/admin/login.html:22 -msgid "Have you
                                                                                          forgotten your password?" -msgstr "Şifrenizi mi unuttunuz?" - #: contrib/admin/templates/admin/delete_confirmation.html:9 #: contrib/admin/templates/admin/submit_line.html:3 msgid "Delete" @@ -2004,28 +1746,38 @@ msgstr "Kaydet ve düzenlemeye devam et" msgid "Save" msgstr "Kaydet" -#: 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 "Önce bir kullanıcı adı ve parola girin. Daha sonra daha fazla bilgi girebilirsiniz." - -#: contrib/admin/templates/admin/auth/user/add_form.html:12 -msgid "Username" -msgstr "Kullanıcı" +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "%(username)s için yeni parola girin." +#: contrib/admin/templates/admin/auth/user/change_password.html:34 #: contrib/admin/templates/admin/auth/user/add_form.html:18 msgid "Password" msgstr "Parola" +#: contrib/admin/templates/admin/auth/user/change_password.html:39 #: contrib/admin/templates/admin/auth/user/add_form.html:23 msgid "Password (again)" msgstr "Parola (tekrar)" +#: contrib/admin/templates/admin/auth/user/change_password.html:40 #: contrib/admin/templates/admin/auth/user/add_form.html:24 msgid "Enter the same password as above, for verification." msgstr "Onaylamak için, yukarıdaki parolanın aynısını girin." +#: 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 "" +"Önce bir kullanıcı adı ve parola girin. Daha sonra daha fazla bilgi " +"girebilirsiniz." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Kullanıcı" + #: 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 @@ -2149,7 +1901,7 @@ msgstr "Kısayollar" #: contrib/admin/templates/admin_doc/bookmarklets.html:5 msgid "Documentation bookmarklets" -msgstr "Döküman kısayolları" +msgstr "Doküman kısayolları" #: contrib/admin/templates/admin_doc/bookmarklets.html:9 msgid "" @@ -2169,13 +1921,13 @@ msgstr "" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "Documentation for this page" -msgstr "Bu sayfa için dökümantasyon" +msgstr "Bu sayfa için dokümantasyon" #: 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 "Sizi, bu sayfayı üreten betiğin dökümantasyonuna yönlendirir." +msgstr "Sizi, bu sayfayı üreten betiğin dokümantasyonuna yönlendirir." #: contrib/admin/templates/admin_doc/bookmarklets.html:22 msgid "Show object ID" @@ -2185,7 +1937,8 @@ msgstr "Nesne numarasını göster" msgid "" "Shows the content-type and unique ID for pages that represent a single " "object." -msgstr "Tek bir nesneyi temsil eden sayfaların içerik türünü ve numarasını gösterir." +msgstr "" +"Tek bir nesneyi temsil eden sayfaların içerik türünü ve numarasını gösterir." #: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Edit this object (current window)" @@ -2203,7 +1956,515 @@ msgstr "Nesneyi düzenle (yeni pencerede)" msgid "As above, but opens the admin page in a new window." msgstr "Yukarıdaki gibi, ancak yönetim sayfasını yeni bir pencerede açar." -#: template/defaultfilters.py:401 +#: contrib/contenttypes/models.py:36 +msgid "python model class name" +msgstr "python model sınıfı" + +#: contrib/contenttypes/models.py:39 +msgid "content type" +msgstr "içerik türü" + +#: contrib/contenttypes/models.py:40 +msgid "content types" +msgstr "içerik türleri" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Çıkış yapıldı" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "isim" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "takma ad" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "izin" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "izinler" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "grup" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "gruplar" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "kullanıcı adı" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Gerekli. 30 karakter ya da da az olmalı. Alfanumerik (harf, rakam ve alt " +"çizgi) karakterler kullanılabilir." + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "isim" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "soyisim" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "e-posta adresi" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "parola" + +#: contrib/auth/models.py:94 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "yönetici modu" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "Kullanıcının yönetici sayfasına girip giremeyeceğini belirler." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "aktif" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Kullanıcının Django yönetim sayfasına girip giremeyeceğini belirler. " +"Kullanıcı hesabı silmek yerine işareti kaldırın." + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "süper kullanıcı modu" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Kullanıcının tek tek hak atamasına gerek kalmadan tüm haklara sahip olup " +"olamayacağını belirler." + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "son ziyaret" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "kayıt tarihi" + +#: 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 "" +"Özel olarak atanmış hakların yanı sıra, kullanıcının üyesi olduğu grupların " +"hakları alır." + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "kullanıcı izinleri" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "kullanıcı" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "kullanıcılar" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "Kişisel bilgiler" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "İzinler" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "Önemli tarihler" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Gruplar" + +#: contrib/auth/models.py:258 +msgid "message" +msgstr "mesaj" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "İki parola alanı uyuşmuyor." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Bu isimde bir kullanıcı zaten var." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Web tarayıcınızın çerezleri desteklemediği görülüyor. Çerezler giriş için " +"gerekli." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Bu hesap aktif değil." + +#: contrib/auth/forms.py:85 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Bu e-posta hesabıyla ilişkili kullanıcı bulunmuyor. Kayıtlı olduğunuzdan " +"emin misiniz?" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "İki parola alanı uyuşmuyor." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Eski parolanız hatalı. Lütfen tekrar girin." + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "Posta kodu girin. Posta kodunun iki kısmı arasında bir boşluk bırakın." + +#: contrib/localflavor/usa/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "oturum anahtarı" + +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "oturum bilgisi" + +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "bitiş tarihi" + +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "oturum" + +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "oturumlar" + +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Örnek: '/about/contact/'. Başında ve sonunda bölü işareti olduğundan emin " +"olun." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "başlık" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "içerik" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "yorumlara izin ver" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "şablon adı" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Örnek: 'flatpages/contact_page.html'. Eğer birşey yazılmazsa, sistem " +"otomatik olarak 'flatpages/default.html' kullanacak." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "kayıt gerekli" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Bu seçili ise, sadece kayıtlı kullanıcılar sayfayı görüntüleyebilir." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "düz sayfa" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "düz sayfalar" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "Pazartesi" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Salı" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Çarşamba" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Perşembe" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "Cuma" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Cumartesi" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Pazar" + +#: utils/dates.py:14 +msgid "January" +msgstr "Ocak" + +#: utils/dates.py:14 +msgid "February" +msgstr "Şubat" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "Mart" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "Nisan" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "Mayıs" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "Haziran" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "Temmuz" + +#: utils/dates.py:15 +msgid "August" +msgstr "Ağustos" + +#: utils/dates.py:15 +msgid "September" +msgstr "Eylül" + +#: utils/dates.py:15 +msgid "October" +msgstr "Ekim" + +#: utils/dates.py:15 +msgid "November" +msgstr "Kasım" + +#: utils/dates.py:16 +msgid "December" +msgstr "Aralık" + +#: utils/dates.py:19 +msgid "jan" +msgstr "oca" + +#: utils/dates.py:19 +msgid "feb" +msgstr "şub" + +#: utils/dates.py:19 +msgid "mar" +msgstr "mar" + +#: utils/dates.py:19 +msgid "apr" +msgstr "nis" + +#: utils/dates.py:19 +msgid "may" +msgstr "may" + +#: utils/dates.py:19 +msgid "jun" +msgstr "haz" + +#: utils/dates.py:20 +msgid "jul" +msgstr "tem" + +#: utils/dates.py:20 +msgid "aug" +msgstr "ağu" + +#: utils/dates.py:20 +msgid "sep" +msgstr "eyl" + +#: utils/dates.py:20 +msgid "oct" +msgstr "eki" + +#: utils/dates.py:20 +msgid "nov" +msgstr "kas" + +#: utils/dates.py:20 +msgid "dec" +msgstr "ara" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "Oca." + +#: utils/dates.py:27 +msgid "Feb." +msgstr "Şub." + +#: utils/dates.py:28 +msgid "Aug." +msgstr "Ağu." + +#: utils/dates.py:28 +msgid "Sept." +msgstr "Eyl." + +#: utils/dates.py:28 +msgid "Oct." +msgstr "Eki." + +#: utils/dates.py:28 +msgid "Nov." +msgstr "Kas." + +#: utils/dates.py:28 +msgid "Dec." +msgstr "Ara." + +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "yıl" +msgstr[1] "yıl" + +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "ay" +msgstr[1] "ay" + +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "hafta" +msgstr[1] "hafta" + +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "gün" +msgstr[1] "gün" + +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "saat" +msgstr[1] "saat" + +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "dakika" +msgstr[1] "dakika" + +#: utils/dateformat.py:40 +msgid "p.m." +msgstr "" + +#: utils/dateformat.py:41 +msgid "a.m." +msgstr "" + +#: utils/dateformat.py:46 +msgid "PM" +msgstr "" + +#: utils/dateformat.py:47 +msgid "AM" +msgstr "" + +#: utils/dateformat.py:95 +msgid "midnight" +msgstr "" + +#: utils/dateformat.py:97 +msgid "noon" +msgstr "" + +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "DATE_FORMAT" + +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "DATETIME_FORMAT" + +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "TIME_FORMAT" + +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "YEAR_MONTH_FORMAT" + +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "MONTH_DAY_FORMAT" + +#: template/defaultfilters.py:491 msgid "yes,no,maybe" msgstr "evet,hayır,olabilir" +#~ msgid "" +#~ "Please enter a different %s. The one you entered is already being used " +#~ "for %s." +#~ msgstr "" +#~ "Lütfen farklı bir %s girin. Girdiğiniz, %s tarihinde bir kez kullanılmış." + +#~ msgid "Use '[algo]$[salt]$[hexdigest]'" +#~ msgstr "'[algo]$[salt]$[hexdigest]' formatında" + +#~ msgid "Have you forgotten your password?" +#~ msgstr "Şifrenizi mi unuttunuz?" diff --git a/django/conf/locale/zh_CN/LC_MESSAGES/django.mo b/django/conf/locale/zh_CN/LC_MESSAGES/django.mo index 0d6bf90c0ee6f3de4ac035c8640733427dbc1031..3b0492065495b6dd3bc6d56035dca2d5a8f2b9ff 100644 GIT binary patch delta 17 ZcmX^2f$`i2#tjx_OuMFRwki{00sv6O2c`f3 delta 17 ZcmX^2f$`i2#tjx_OglO^Ta}400RT{S2bll> diff --git a/django/conf/locale/zh_CN/LC_MESSAGES/django.po b/django/conf/locale/zh_CN/LC_MESSAGES/django.po index 2552b677bd..1f30a08b15 100644 --- a/django/conf/locale/zh_CN/LC_MESSAGES/django.po +++ b/django/conf/locale/zh_CN/LC_MESSAGES/django.po @@ -1344,7 +1344,7 @@ msgstr "四月" #: utils/dates.py:19 msgid "may" -msgstr "三月" +msgstr "五月" #: utils/dates.py:19 msgid "jun" diff --git a/django/conf/locale/zh_CN/LC_MESSAGES/djangojs.mo b/django/conf/locale/zh_CN/LC_MESSAGES/djangojs.mo index ec7580a8629f346ef84074a06bd51e93dd549820..f0127a55a01a14f5434f1cf43a4f6736ce1e8413 100644 GIT binary patch delta 69 zcmaFJeT#d83L{@60|Uby76t}3AZ^AvS&LChRvO3*Vr5_u0MdCt+7(FG18I)pWxWCbkjD$_ delta 102 zcmcb`{g8Wu3S(#j0|Uby76t}3AZ^PEp\w{32})/$', 'ellington.registration.views.registration.register_form'), - - (r'^profile/$', 'ellington.registration.views.profile.profile'), - (r'^profile/welcome/$', 'ellington.registration.views.profile.profile_welcome'), - (r'^profile/edit/$', 'ellington.registration.views.profile.edit_profile'), - - (r'^password_reset/$', 'django.contrib.auth.views.password_reset'), - (r'^password_reset/done/$', 'django.contrib.auth.views.password_reset_done'), - (r'^password_change/$', 'django.contrib.auth.views.password_change'), - (r'^password_change/done/$', 'django.contrib.auth.views.password_change_done'), -) diff --git a/django/contrib/admin/media/css/forms.css b/django/contrib/admin/media/css/forms.css index 01a2937b7b..dd4c2507b7 100644 --- a/django/contrib/admin/media/css/forms.css +++ b/django/contrib/admin/media/css/forms.css @@ -26,7 +26,7 @@ form .aligned p, form .aligned ul { margin-left:7em; padding-left:30px; } form .aligned table p { margin-left:0; padding-left:0; } form .aligned p.help { padding-left:38px; } .aligned .vCheckboxLabel { float:none !important; display:inline; padding-left:4px; } -.colM .aligned .vLargeTextField, colM .aligned .vXMLLargeTextField { width:610px; } +.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField { width:610px; } .checkbox-row p.help { margin-left:0; padding-left:0 !important; } /* WIDE FIELDSETS */ @@ -66,4 +66,5 @@ fieldset.monospace textarea { font-family:"Bitstream Vera Sans Mono",Monaco,"Cou .paginate-first, .paginate-last { padding: 2px 6px; border: 1px solid #ddd; font-weight: bold; } .paginate-previous, .paginate-next { padding: 2px 3px; border: 1px solid #ddd; } .paginate-link { padding: 2px 4px; border: 1px solid #ddd; } -.paginate-current { padding: 2px 4px; border: 1px solid #ddd; font-weight: bold; background:#417690; color:#f4f379; } \ No newline at end of file +.paginate-current { padding: 2px 4px; border: 1px solid #ddd; font-weight: bold; background:#417690; color:#f4f379; } +.module table .vPositiveSmallIntegerField { width:2.2em; } diff --git a/django/contrib/admin/media/js/urlify.js b/django/contrib/admin/media/js/urlify.js index 90d11c435a..9b87113628 100644 --- a/django/contrib/admin/media/js/urlify.js +++ b/django/contrib/admin/media/js/urlify.js @@ -7,7 +7,7 @@ function URLify(s, num_chars) { "with"]; r = new RegExp('\\b(' + removelist.join('|') + ')\\b', 'gi'); s = s.replace(r, ''); - s = s.replace(/[^-A-Z0-9\s]/gi, ''); // remove unneeded chars + s = s.replace(/[^-\w\s]/g, ''); // remove unneeded chars s = s.replace(/^\s+|\s+$/g, ''); // trim leading/trailing spaces s = s.replace(/[-\s]+/g, '-'); // convert spaces to hyphens s = s.toLowerCase(); // convert to lowercase diff --git a/django/contrib/admin/row_level_perm_manipulator.py b/django/contrib/admin/row_level_perm_manipulator.py index efedc46041..cde087c5a3 100644 --- a/django/contrib/admin/row_level_perm_manipulator.py +++ b/django/contrib/admin/row_level_perm_manipulator.py @@ -1,4 +1,4 @@ -from django import forms +from django import oldforms as forms from django.contrib.contenttypes.models import ContentType from django.http import Http404, HttpResponse, HttpResponseRedirect from django.contrib.auth.models import User, Group, Permission, RowLevelPermission diff --git a/django/contrib/admin/templates/admin/auth/user/change_password.html b/django/contrib/admin/templates/admin/auth/user/change_password.html new file mode 100644 index 0000000000..3d359ecf8f --- /dev/null +++ b/django/contrib/admin/templates/admin/auth/user/change_password.html @@ -0,0 +1,52 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_modify adminmedia %} +{% block extrahead %}{{ block.super }} + +{% for js in javascript_imports %}{% include_admin_script js %}{% endfor %} +{% endblock %} +{% block stylesheet %}{% admin_media_prefix %}css/forms.css{% endblock %} +{% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %} +{% block userlinks %}{% trans 'Documentation' %} / {% trans 'Change password' %} / {% trans 'Log out' %}{% endblock %} +{% block breadcrumbs %}{% if not is_popup %} + +{% endif %}{% endblock %} +{% block content %}
                                                                                          +
                                                                                          {% block form_top %}{% endblock %} +
                                                                                          +{% if is_popup %}{% endif %} +{% if form.error_dict %} +

                                                                                          + {% blocktrans count form.error_dict.items|length as counter %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %} +

                                                                                          +{% endif %} + +

                                                                                          {% blocktrans with original.username|escape as username %}Enter a new password for the user {{ username }}.{% endblocktrans %}

                                                                                          + +
                                                                                          + +
                                                                                          + {{ form.password1.html_error_list }} + {{ form.password1 }} +
                                                                                          + +
                                                                                          + {{ form.password2.html_error_list }} + {{ form.password2 }} +

                                                                                          {% trans 'Enter the same password as above, for verification.' %}

                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          + +
                                                                                          + + +
                                                                                          +
                                                                                          +{% endblock %} diff --git a/django/contrib/admin/templatetags/admin_list.py b/django/contrib/admin/templatetags/admin_list.py index 430fe2781c..e4d91c0174 100644 --- a/django/contrib/admin/templatetags/admin_list.py +++ b/django/contrib/admin/templatetags/admin_list.py @@ -72,6 +72,7 @@ def result_headers(cl): for i, field_name in enumerate(lookup_opts.admin.list_display): try: f = lookup_opts.get_field(field_name) + admin_order_field = None except models.FieldDoesNotExist: # For non-field list_display values, check for the function # attribute "short_description". If that doesn't exist, fall @@ -84,22 +85,36 @@ def result_headers(cl): header = attr.short_description except AttributeError: header = field_name.replace('_', ' ') - # Non-field list_display values don't get ordering capability. - yield {"text": header} + + # It is a non-field, but perhaps one that is sortable + admin_order_field = getattr(getattr(cl.model, field_name), "admin_order_field", None) + if not admin_order_field: + yield {"text": header} + continue + + # So this _is_ a sortable non-field. Go to the yield + # after the else clause. else: if isinstance(f.rel, models.ManyToOneRel) and f.null: yield {"text": f.verbose_name} + continue else: - th_classes = [] - new_order_type = 'asc' - if field_name == cl.order_field: - th_classes.append('sorted %sending' % cl.order_type.lower()) - new_order_type = {'asc': 'desc', 'desc': 'asc'}[cl.order_type.lower()] + header = f.verbose_name - yield {"text": f.verbose_name, - "sortable": True, - "url": cl.get_query_string({ORDER_VAR: i, ORDER_TYPE_VAR: new_order_type}), - "class_attrib": (th_classes and ' class="%s"' % ' '.join(th_classes) or '')} + th_classes = [] + new_order_type = 'asc' + if field_name == cl.order_field or admin_order_field == cl.order_field: + th_classes.append('sorted %sending' % cl.order_type.lower()) + new_order_type = {'asc': 'desc', 'desc': 'asc'}[cl.order_type.lower()] + + yield {"text": header, + "sortable": True, + "url": cl.get_query_string({ORDER_VAR: i, ORDER_TYPE_VAR: new_order_type}), + "class_attrib": (th_classes and ' class="%s"' % ' '.join(th_classes) or '')} + +def _boolean_icon(field_val): + BOOLEAN_MAPPING = {True: 'yes', False: 'no', None: 'unknown'} + return '%s' % (settings.ADMIN_MEDIA_PREFIX, BOOLEAN_MAPPING[field_val], field_val) def items_for_result(cl, result): first = True @@ -116,9 +131,14 @@ def items_for_result(cl, result): try: attr = getattr(result, field_name) allow_tags = getattr(attr, 'allow_tags', False) + boolean = getattr(attr, 'boolean', False) if callable(attr): attr = attr() - result_repr = str(attr) + if boolean: + allow_tags = True + result_repr = _boolean_icon(attr) + else: + result_repr = str(attr) except (AttributeError, ObjectDoesNotExist): result_repr = EMPTY_CHANGELIST_VALUE else: @@ -149,10 +169,9 @@ def items_for_result(cl, result): row_class = ' class="nowrap"' # Booleans are special: We use images. elif isinstance(f, models.BooleanField) or isinstance(f, models.NullBooleanField): - BOOLEAN_MAPPING = {True: 'yes', False: 'no', None: 'unknown'} - result_repr = '%s' % (settings.ADMIN_MEDIA_PREFIX, BOOLEAN_MAPPING[field_val], field_val) - # FloatFields are special: Zero-pad the decimals. - elif isinstance(f, models.FloatField): + result_repr = _boolean_icon(field_val) + # DecimalFields are special: Zero-pad the decimals. + elif isinstance(f, models.DecimalField): if field_val is not None: result_repr = ('%%.%sf' % f.decimal_places) % field_val else: diff --git a/django/contrib/admin/templatetags/admin_modify.py b/django/contrib/admin/templatetags/admin_modify.py index 85479d3756..81441c1fbb 100644 --- a/django/contrib/admin/templatetags/admin_modify.py +++ b/django/contrib/admin/templatetags/admin_modify.py @@ -11,6 +11,7 @@ import re register = template.Library() word_re = re.compile('[A-Z][a-z]+') +absolute_url_re = re.compile(r'^(?:http(?:s)?:/)?/', re.IGNORECASE) def class_name_to_underscored(name): return '_'.join([s.lower() for s in word_re.findall(name)[:-1]]) @@ -18,18 +19,19 @@ def class_name_to_underscored(name): def include_admin_script(script_path): """ Returns an HTML script element for including a script from the admin - media url. + media url (or other location if an absolute url is given). Example usage:: - {% include_admin_script js/calendar.js %} + {% include_admin_script "js/calendar.js" %} could return:: ' % (settings.ADMIN_MEDIA_PREFIX, script_path) + if not absolute_url_re.match(script_path): + script_path = '%s%s' % (settings.ADMIN_MEDIA_PREFIX, script_path) + return '' % script_path include_admin_script = register.simple_tag(include_admin_script) def submit_row(context): @@ -72,7 +74,7 @@ class FieldWidgetNode(template.Node): self.bound_field_var = bound_field_var def get_nodelist(cls, klass): - if not cls.nodelists.has_key(klass): + if klass not in cls.nodelists: try: field_class_name = klass.__name__ template_name = "widget/%s.html" % class_name_to_underscored(field_class_name) @@ -92,15 +94,15 @@ class FieldWidgetNode(template.Node): return cls.nodelists[klass] get_nodelist = classmethod(get_nodelist) - def render(self, context): + def iter_render(self, context): bound_field = template.resolve_variable(self.bound_field_var, context) context.push() context['bound_field'] = bound_field - output = self.get_nodelist(bound_field.field.__class__).render(context) + for chunk in self.get_nodelist(bound_field.field.__class__).iter_render(context): + yield chunk context.pop() - return output class FieldWrapper(object): def __init__(self, field ): @@ -165,7 +167,7 @@ class EditInlineNode(template.Node): def __init__(self, rel_var): self.rel_var = rel_var - def render(self, context): + def iter_render(self, context): relation = template.resolve_variable(self.rel_var, context) context.push() if relation.field.rel.edit_inline == models.TABULAR: @@ -177,10 +179,9 @@ class EditInlineNode(template.Node): original = context.get('original', None) bound_related_object = relation.bind(context['form'], original, bound_related_object_class) context['bound_related_object'] = bound_related_object - t = loader.get_template(bound_related_object.template_name()) - output = t.render(context) + for chunk in loader.get_template(bound_related_object.template_name()).iter_render(context): + yield chunk context.pop() - return output def output_all(form_fields): return ''.join([str(f) for f in form_fields]) diff --git a/django/contrib/admin/templatetags/adminapplist.py b/django/contrib/admin/templatetags/adminapplist.py index 6754632fba..f9c140433f 100644 --- a/django/contrib/admin/templatetags/adminapplist.py +++ b/django/contrib/admin/templatetags/adminapplist.py @@ -7,7 +7,7 @@ class AdminApplistNode(template.Node): def __init__(self, varname): self.varname = varname - def render(self, context): + def iter_render(self, context): from django.db import models from django.utils.text import capfirst app_list = [] @@ -56,7 +56,7 @@ class AdminApplistNode(template.Node): 'models': model_list, }) context[self.varname] = app_list - return '' + return () def get_admin_app_list(parser, token): """ diff --git a/django/contrib/admin/templatetags/log.py b/django/contrib/admin/templatetags/log.py index 5caba2b795..96db2373b4 100644 --- a/django/contrib/admin/templatetags/log.py +++ b/django/contrib/admin/templatetags/log.py @@ -10,11 +10,14 @@ class AdminLogNode(template.Node): def __repr__(self): return "" - def render(self, context): - if self.user is not None and not self.user.isdigit(): - self.user = context[self.user].id - context[self.varname] = LogEntry.objects.filter(user__id__exact=self.user).select_related()[:self.limit] - return '' + def iter_render(self, context): + if self.user is None: + context[self.varname] = LogEntry.objects.all().select_related()[:self.limit] + else: + if not self.user.isdigit(): + self.user = context[self.user].id + context[self.varname] = LogEntry.objects.filter(user__id__exact=self.user).select_related()[:self.limit] + return () class DoGetAdminLog: """ diff --git a/django/contrib/admin/urls.py b/django/contrib/admin/urls.py index 3d029b7e45..67a481765a 100644 --- a/django/contrib/admin/urls.py +++ b/django/contrib/admin/urls.py @@ -35,6 +35,8 @@ urlpatterns = patterns('', # "Add user" -- a special-case view ('^auth/user/add/$', 'django.contrib.admin.views.auth.user_add_stage'), + # "Change user password" -- another special-case view + ('^auth/user/(\d+)/password/$', 'django.contrib.admin.views.auth.user_change_password'), # Add/change/delete/history ('^([^/]+)/([^/]+)/$', 'django.contrib.admin.views.main.change_list'), diff --git a/django/contrib/admin/views/auth.py b/django/contrib/admin/views/auth.py index 52bf3bcde8..206e3eb7d4 100644 --- a/django/contrib/admin/views/auth.py +++ b/django/contrib/admin/views/auth.py @@ -1,10 +1,11 @@ from django.contrib.admin.views.decorators import staff_member_required -from django.contrib.auth.forms import UserCreationForm +from django.contrib.auth.forms import UserCreationForm, AdminPasswordChangeForm from django.contrib.auth.models import User from django.core.exceptions import PermissionDenied from django import oldforms, template -from django.shortcuts import render_to_response +from django.shortcuts import render_to_response, get_object_or_404 from django.http import HttpResponseRedirect +from django.utils.html import escape def user_add_stage(request): if not request.user.has_perm('auth.change_user'): @@ -16,7 +17,7 @@ def user_add_stage(request): if not errors: new_user = manipulator.save(new_data) msg = _('The %(name)s "%(obj)s" was added successfully.') % {'name': 'user', 'obj': new_user} - if request.POST.has_key("_addanother"): + if "_addanother" in request.POST: request.user.message_set.create(message=msg) return HttpResponseRedirect(request.path) else: @@ -28,7 +29,7 @@ def user_add_stage(request): return render_to_response('admin/auth/user/add_form.html', { 'title': _('Add user'), 'form': form, - 'is_popup': request.REQUEST.has_key('_popup'), + 'is_popup': '_popup' in request.REQUEST, 'add': True, 'change': False, 'has_add_permission': True, @@ -43,3 +44,35 @@ def user_add_stage(request): 'username_help_text': User._meta.get_field('username').help_text, }, context_instance=template.RequestContext(request)) user_add_stage = staff_member_required(user_add_stage) + +def user_change_password(request, id): + if not request.user.has_perm('auth.change_user'): + raise PermissionDenied + user = get_object_or_404(User, pk=id) + manipulator = AdminPasswordChangeForm(user) + if request.method == 'POST': + new_data = request.POST.copy() + errors = manipulator.get_validation_errors(new_data) + if not errors: + new_user = manipulator.save(new_data) + msg = _('Password changed successfully.') + request.user.message_set.create(message=msg) + return HttpResponseRedirect('..') + else: + errors = new_data = {} + form = oldforms.FormWrapper(manipulator, new_data, errors) + return render_to_response('admin/auth/user/change_password.html', { + 'title': _('Change password: %s') % escape(user.username), + 'form': form, + 'is_popup': '_popup' in request.REQUEST, + 'add': True, + 'change': False, + 'has_delete_permission': False, + 'has_change_permission': True, + 'has_absolute_url': False, + 'first_form_field_id': 'id_password1', + 'opts': User._meta, + 'original': user, + 'show_save': True, + }, context_instance=template.RequestContext(request)) +user_change_password = staff_member_required(user_change_password) diff --git a/django/contrib/admin/views/decorators.py b/django/contrib/admin/views/decorators.py index 9dfe651fe6..5389ca4dff 100644 --- a/django/contrib/admin/views/decorators.py +++ b/django/contrib/admin/views/decorators.py @@ -12,7 +12,7 @@ LOGIN_FORM_KEY = 'this_is_the_login_form' def _display_login_form(request, error_message=''): request.session.set_test_cookie() - if request.POST and request.POST.has_key('post_data'): + if request.POST and 'post_data' in request.POST: # User has failed login BUT has previously saved post data. post_data = request.POST['post_data'] elif request.POST: @@ -48,7 +48,7 @@ def staff_member_required(view_func): def _checklogin(request, *args, **kwargs): if request.user.is_authenticated() and request.user.is_staff: # The user is valid. Continue to the admin page. - if request.POST.has_key('post_data'): + if 'post_data' in request.POST: # User must have re-authenticated through a different window # or tab. request.POST = _decode_post_data(request.POST['post_data']) @@ -57,7 +57,7 @@ def staff_member_required(view_func): assert hasattr(request, 'session'), "The Django admin requires session middleware to be installed. Edit your MIDDLEWARE_CLASSES setting to insert 'django.contrib.sessions.middleware.SessionMiddleware'." # If this isn't already the login page, display it. - if not request.POST.has_key(LOGIN_FORM_KEY): + if LOGIN_FORM_KEY not in request.POST: if request.POST: message = _("Please log in again, because your session has expired. Don't worry: Your submission has been saved.") else: @@ -90,11 +90,9 @@ def staff_member_required(view_func): if user.is_active and user.is_staff: login(request, user) # TODO: set last_login with an event. - user.last_login = datetime.datetime.now() - user.save() - if request.POST.has_key('post_data'): + if 'post_data' in request.POST: post_data = _decode_post_data(request.POST['post_data']) - if post_data and not post_data.has_key(LOGIN_FORM_KEY): + if post_data and LOGIN_FORM_KEY not in post_data: # overwrite request.POST with the saved post_data, and continue request.POST = post_data request.user = user diff --git a/django/contrib/admin/views/doc.py b/django/contrib/admin/views/doc.py index 4b592acebd..6430252690 100644 --- a/django/contrib/admin/views/doc.py +++ b/django/contrib/admin/views/doc.py @@ -168,7 +168,7 @@ def model_detail(request, app_label, model_name): model = m break if model is None: - raise Http404, _("Model %r not found in app %r") % (model_name, app_label) + raise Http404, _("Model %(name)r not found in app %(label)r") % {'name': model_name, 'label': app_label} opts = model._meta @@ -180,7 +180,7 @@ def model_detail(request, app_label, model_name): if isinstance(field, models.ForeignKey): data_type = related_object_name = field.rel.to.__name__ app_label = field.rel.to._meta.app_label - verbose = utils.parse_rst((_("the related `%s.%s` object") % (app_label, data_type)), 'model', _('model:') + data_type) + verbose = utils.parse_rst((_("the related `%(label)s.%(type)s` object") % {'label': app_label, 'type': data_type}), 'model', _('model:') + data_type) else: data_type = get_readable_field_data_type(field) verbose = field.verbose_name @@ -211,7 +211,7 @@ def model_detail(request, app_label, model_name): # Gather related objects for rel in opts.get_all_related_objects(): - verbose = _("related `%s.%s` objects") % (rel.opts.app_label, rel.opts.object_name) + verbose = _("related `%(label)s.%(name)s` objects") % {'label': rel.opts.app_label, 'name': rel.opts.object_name} accessor = rel.get_accessor_name() fields.append({ 'name' : "%s.all" % accessor, @@ -294,10 +294,11 @@ DATA_TYPE_MAPPING = { 'CommaSeparatedIntegerField': _('Comma-separated integers'), 'DateField' : _('Date (without time)'), 'DateTimeField' : _('Date (with time)'), + 'DecimalField' : _('Decimal number'), 'EmailField' : _('E-mail address'), 'FileField' : _('File path'), 'FilePathField' : _('File path'), - 'FloatField' : _('Decimal number'), + 'FloatField' : _('Floating point number'), 'ForeignKey' : _('Integer'), 'ImageField' : _('File path'), 'IntegerField' : _('Integer'), diff --git a/django/contrib/admin/views/main.py b/django/contrib/admin/views/main.py index aa8b35bb96..1e99ea341b 100644 --- a/django/contrib/admin/views/main.py +++ b/django/contrib/admin/views/main.py @@ -46,8 +46,8 @@ def quote(s): """ Ensure that primary key values do not confuse the admin URLs by escaping any '/', '_' and ':' characters. Similar to urllib.quote, except that the - quoting is slightly different so that it doesn't get autoamtically - unquoted by the web browser. + quoting is slightly different so that it doesn't get automatically + unquoted by the Web browser. """ if type(s) != type(''): return s @@ -273,17 +273,17 @@ def add_stage(request, app_label, model_name, show_delete=False, form_url='', po delete=admin_opts.grant_delete_row_level_perm) # Here, we distinguish between different save types by checking for # the presence of keys in request.POST. - if request.POST.has_key("_continue"): + if "_continue" in request.POST: request.user.message_set.create(message=msg + ' ' + _("You may edit it again below.")) - if request.POST.has_key("_popup"): + if "_popup" in request.POST: post_url_continue += "?_popup=1" return HttpResponseRedirect(post_url_continue % pk_value) - if request.POST.has_key("_popup"): + if "_popup" in request.POST: if type(pk_value) is str: # Quote if string, so JavaScript doesn't think it's a variable. pk_value = '"%s"' % pk_value.replace('"', '\\"') return HttpResponse('' % \ (pk_value, str(new_object).replace('"', '\\"'))) - elif request.POST.has_key("_addanother"): + elif "_addanother" in request.POST: request.user.message_set.create(message=msg + ' ' + (_("You may add another %s below.") % opts.verbose_name)) return HttpResponseRedirect(request.path) else: @@ -304,7 +304,7 @@ def add_stage(request, app_label, model_name, show_delete=False, form_url='', po c = template.RequestContext(request, { 'title': _('Add %s') % opts.verbose_name, 'form': form, - 'is_popup': request.REQUEST.has_key('_popup'), + 'is_popup': '_popup' in request.REQUEST, 'show_delete': show_delete, }) @@ -329,7 +329,7 @@ def change_stage(request, app_label, model_name, object_id): if not request.user.has_perm(app_label + '.' + opts.get_change_permission(), object=manipulator.original_object): raise PermissionDenied - if request.POST and request.POST.has_key("_saveasnew"): + if request.POST and "_saveasnew" in request.POST: return add_stage(request, app_label, model_name, form_url='../../add/') if request.POST: @@ -367,16 +367,16 @@ def change_stage(request, app_label, model_name, object_id): delete=admin_opts.grant_delete_row_level_perm) msg = _('The %(name)s "%(obj)s" was changed successfully.') % {'name': opts.verbose_name, 'obj': new_object} - if request.POST.has_key("_continue"): + if "_continue" in request.POST: request.user.message_set.create(message=msg + ' ' + _("You may edit it again below.")) - if request.REQUEST.has_key('_popup'): + if '_popup' in request.REQUEST: return HttpResponseRedirect(request.path + "?_popup=1") else: return HttpResponseRedirect(request.path) - elif request.POST.has_key("_saveasnew"): + elif "_saveasnew" in request.POST: request.user.message_set.create(message=_('The %(name)s "%(obj)s" was added successfully. You may edit it again below.') % {'name': opts.verbose_name, 'obj': new_object}) return HttpResponseRedirect("../%s/" % pk_value) - elif request.POST.has_key("_addanother"): + elif "_addanother" in request.POST: request.user.message_set.create(message=msg + ' ' + (_("You may add another %s below.") % opts.verbose_name)) return HttpResponseRedirect("../add/") else: @@ -416,7 +416,7 @@ def change_stage(request, app_label, model_name, object_id): 'form': form, 'object_id': object_id, 'original': manipulator.original_object, - 'is_popup': request.REQUEST.has_key('_popup'), + 'is_popup': '_popup' in request.REQUEST, 'object_has_row_level_permissions':opts.row_level_permissions, 'has_row_level_permissions':request.user.has_perm("auth.change_rowlevelpermission") and request.user.has_perm(opts.app_label+"."+opts.get_change_permission(), object=manipulator.original_object), }) @@ -488,9 +488,12 @@ def _get_deleted_objects(deleted_objects, perms_needed, user, obj, opts, current opts_seen.append(related.opts) rel_opts_name = related.get_accessor_name() has_related_objs = False - rel_objs = getattr(obj, rel_opts_name, None) - if rel_objs: - has_related_objs = True + + # related.get_accessor_name() could return None for symmetrical relationships + if rel_opts_name: + rel_objs = getattr(obj, rel_opts_name, None) + if rel_objs: + has_related_objs = True if has_related_objs: for sub_obj in rel_objs.all(): @@ -585,12 +588,12 @@ class ChangeList(object): self.page_num = int(request.GET.get(PAGE_VAR, 0)) except ValueError: self.page_num = 0 - self.show_all = request.GET.has_key(ALL_VAR) - self.is_popup = request.GET.has_key(IS_POPUP_VAR) + self.show_all = ALL_VAR in request.GET + self.is_popup = IS_POPUP_VAR in request.GET self.params = dict(request.GET.items()) - if self.params.has_key(PAGE_VAR): + if PAGE_VAR in self.params: del self.params[PAGE_VAR] - if self.params.has_key(ERROR_FLAG): + if ERROR_FLAG in self.params: del self.params[ERROR_FLAG] self.order_field, self.order_type = self.get_ordering() @@ -621,7 +624,7 @@ class ChangeList(object): if k.startswith(r): del p[k] for k, v in new_params.items(): - if p.has_key(k) and v is None: + if k in p and v is None: del p[k] elif v is not None: p[k] = v @@ -687,18 +690,25 @@ class ChangeList(object): order_field, order_type = ordering[0][1:], 'desc' else: order_field, order_type = ordering[0], 'asc' - if params.has_key(ORDER_VAR): + if ORDER_VAR in params: try: + field_name = lookup_opts.admin.list_display[int(params[ORDER_VAR])] try: - f = lookup_opts.get_field(lookup_opts.admin.list_display[int(params[ORDER_VAR])]) + f = lookup_opts.get_field(field_name) except models.FieldDoesNotExist: - pass + # see if field_name is a name of a non-field + # that allows sorting + try: + attr = getattr(lookup_opts.admin.manager.model, field_name) + order_field = attr.admin_order_field + except IndexError: + pass else: if not isinstance(f.rel, models.ManyToOneRel) or not f.null: order_field = f.name except (IndexError, ValueError): pass # Invalid ordering specified. Just use the default. - if params.has_key(ORDER_TYPE_VAR) and params[ORDER_TYPE_VAR] in ('asc', 'desc'): + if ORDER_TYPE_VAR in params and params[ORDER_TYPE_VAR] in ('asc', 'desc'): order_type = params[ORDER_TYPE_VAR] return order_field, order_type @@ -715,7 +725,7 @@ class ChangeList(object): qs = self.manager.get_query_set() lookup_params = self.params.copy() # a dictionary of the query string for i in (ALL_VAR, ORDER_VAR, ORDER_TYPE_VAR, SEARCH_VAR, IS_POPUP_VAR): - if lookup_params.has_key(i): + if i in lookup_params: del lookup_params[i] # Apply lookup parameters from the query string. diff --git a/django/contrib/admin/views/row_level_permissions.py b/django/contrib/admin/views/row_level_permissions.py index a5ea239b51..e9bda73217 100644 --- a/django/contrib/admin/views/row_level_permissions.py +++ b/django/contrib/admin/views/row_level_permissions.py @@ -1,5 +1,6 @@ from django.contrib.admin import utils -from django import forms, template +from django import oldforms as forms +from django import template from django.shortcuts import render_to_response, get_object_or_404 from django.http import Http404, HttpResponse, HttpResponseRedirect from django.contrib.contenttypes.models import ContentType diff --git a/django/contrib/auth/__init__.py b/django/contrib/auth/__init__.py index dd3b8152e6..14ae020674 100644 --- a/django/contrib/auth/__init__.py +++ b/django/contrib/auth/__init__.py @@ -1,8 +1,8 @@ +import datetime from django.core.exceptions import ImproperlyConfigured SESSION_KEY = '_auth_user_id' BACKEND_SESSION_KEY = '_auth_user_backend' -LOGIN_URL = '/accounts/login/' REDIRECT_FIELD_NAME = 'next' def load_backend(path): @@ -49,8 +49,12 @@ def login(request, user): if user is None: user = request.user # TODO: It would be nice to support different login methods, like signed cookies. + user.last_login = datetime.datetime.now() + user.save() request.session[SESSION_KEY] = user.id request.session[BACKEND_SESSION_KEY] = user.backend + if hasattr(request, 'user'): + request.user = user def logout(request): """ @@ -64,6 +68,9 @@ def logout(request): del request.session[BACKEND_SESSION_KEY] except KeyError: pass + if hasattr(request, 'user'): + from django.contrib.auth.models import AnonymousUser + request.user = AnonymousUser() def get_user(request): from django.contrib.auth.models import AnonymousUser diff --git a/django/contrib/auth/decorators.py b/django/contrib/auth/decorators.py index 37e948f8fe..2fb4a6f510 100644 --- a/django/contrib/auth/decorators.py +++ b/django/contrib/auth/decorators.py @@ -1,13 +1,16 @@ -from django.contrib.auth import LOGIN_URL, REDIRECT_FIELD_NAME +from django.contrib.auth import REDIRECT_FIELD_NAME from django.http import HttpResponseRedirect from urllib import quote -def user_passes_test(test_func, login_url=LOGIN_URL): +def user_passes_test(test_func, login_url=None): """ Decorator for views that checks that the user passes the given test, redirecting to the log-in page if necessary. The test should be a callable that takes the user object and returns True if the user passes. """ + if not login_url: + from django.conf import settings + login_url = settings.LOGIN_URL def _dec(view_func): def _checklogin(request, *args, **kwargs): if test_func(request.user): @@ -27,7 +30,7 @@ login_required.__doc__ = ( """ ) -def permission_required(perm, login_url=LOGIN_URL): +def permission_required(perm, login_url=None): """ Decorator for views that checks whether a user has a particular permission enabled, redirecting to the log-in page if necessary. diff --git a/django/contrib/auth/forms.py b/django/contrib/auth/forms.py index aea52d1f2a..023f9b43be 100644 --- a/django/contrib/auth/forms.py +++ b/django/contrib/auth/forms.py @@ -4,6 +4,7 @@ from django.contrib.sites.models import Site from django.template import Context, loader from django.core import validators from django import oldforms +from django.utils.translation import gettext as _ class UserCreationForm(oldforms.Manipulator): "A form that creates a user, with no privileges, from the given username and password." @@ -126,3 +127,18 @@ class PasswordChangeForm(oldforms.Manipulator): "Saves the new password." self.user.set_password(new_data['new_password1']) self.user.save() + +class AdminPasswordChangeForm(oldforms.Manipulator): + "A form used to change the password of a user in the admin interface." + def __init__(self, user): + self.user = user + self.fields = ( + oldforms.PasswordField(field_name='password1', length=30, maxlength=60, is_required=True), + oldforms.PasswordField(field_name='password2', length=30, maxlength=60, is_required=True, + validator_list=[validators.AlwaysMatchesOtherField('password1', _("The two password fields didn't match."))]), + ) + + def save(self, new_data): + "Saves the new password." + self.user.set_password(new_data['password1']) + self.user.save() diff --git a/django/contrib/auth/models.py b/django/contrib/auth/models.py index fdb48be1d2..d4ed1e9582 100644 --- a/django/contrib/auth/models.py +++ b/django/contrib/auth/models.py @@ -1,6 +1,7 @@ from django.core import validators from django.core.exceptions import ImproperlyConfigured from django.db import backend, connection, models +from django.contrib.contenttypes import generic from django.contrib.contenttypes.models import ContentType from django.utils.translation import gettext_lazy as _ import datetime @@ -17,6 +18,12 @@ def check_password(raw_password, enc_password): elif algo == 'sha1': import sha return hsh == sha.new(salt+raw_password).hexdigest() + elif algo == 'crypt': + try: + import crypt + except ImportError: + raise ValueError, "Crypt password algorithm not supported in this environment." + return hsh == crypt.crypt(raw_password, salt) raise ValueError, "Got unknown password algorithm type in password." class SiteProfileNotAvailable(Exception): @@ -38,6 +45,7 @@ class Permission(models.Model): name = models.CharField(_('name'), maxlength=50) content_type = models.ForeignKey(ContentType) codename = models.CharField(_('codename'), maxlength=100) + class Meta: verbose_name = _('permission') verbose_name_plural = _('permissions') @@ -45,7 +53,7 @@ class Permission(models.Model): ordering = ('content_type', 'codename') def __str__(self): - return "%s | %s" % (self.content_type, self.name) + return "%s | %s | %s" % (self.content_type.app_label, self.content_type, self.name) class RowLevelPermissionManager(models.Manager): def create_row_level_permission(self, model_instance, owner, permission, negative=False): @@ -98,8 +106,8 @@ class RowLevelPermission(models.Model): owner_ct = models.ForeignKey(ContentType, verbose_name="'Owner' content type", related_name="owner_ct") negative = models.BooleanField() permission = models.ForeignKey(Permission) - model = models.GenericForeignKey(fk_field='model_id', ct_field='model_ct') - owner = models.GenericForeignKey(fk_field='owner_id', ct_field='owner_ct') + model = generic.GenericForeignKey(fk_field='model_id', ct_field='model_ct') + owner = generic.GenericForeignKey(fk_field='owner_id', ct_field='owner_ct') objects = RowLevelPermissionManager() class Meta: @@ -125,11 +133,12 @@ class Group(models.Model): """ name = models.CharField(_('name'), maxlength=80, unique=True) permissions = models.ManyToManyField(Permission, verbose_name=_('permissions'), blank=True, filter_interface=models.HORIZONTAL) - row_level_permissions_owned = models.GenericRelation(RowLevelPermission, object_id_field="owner_id", content_type_field="owner_ct", related_name="group") + row_level_permissions_owned = generic.GenericRelation(RowLevelPermission, object_id_field="owner_id", content_type_field="owner_ct", related_name="group") class Meta: verbose_name = _('group') verbose_name_plural = _('groups') ordering = ('name',) + class Admin: search_fields = ('name',) @@ -161,24 +170,26 @@ class User(models.Model): first_name = models.CharField(_('first name'), maxlength=30, blank=True) last_name = models.CharField(_('last name'), maxlength=30, blank=True) email = models.EmailField(_('e-mail address'), blank=True) - password = models.CharField(_('password'), maxlength=128, help_text=_("Use '[algo]$[salt]$[hexdigest]'")) + password = models.CharField(_('password'), maxlength=128, help_text=_("Use '[algo]$[salt]$[hexdigest]' or use the change password form.")) is_staff = models.BooleanField(_('staff status'), default=False, help_text=_("Designates whether the user can log into this admin site.")) is_active = models.BooleanField(_('active'), default=True, help_text=_("Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts.")) is_superuser = models.BooleanField(_('superuser status'), default=False, help_text=_("Designates that this user has all permissions without explicitly assigning them.")) - last_login = models.DateTimeField(_('last login'), default=models.LazyDate()) - date_joined = models.DateTimeField(_('date joined'), default=models.LazyDate()) + last_login = models.DateTimeField(_('last login'), default=datetime.datetime.now) + date_joined = models.DateTimeField(_('date joined'), default=datetime.datetime.now) groups = models.ManyToManyField(Group, verbose_name=_('groups'), blank=True, help_text=_("In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in.")) user_permissions = models.ManyToManyField(Permission, verbose_name=_('user permissions'), blank=True, filter_interface=models.HORIZONTAL) - row_level_permissions_owned = models.GenericRelation(RowLevelPermission, object_id_field="owner_id", content_type_field="owner_ct", related_name="owner") + row_level_permissions_owned = generic.GenericRelation(RowLevelPermission, object_id_field="owner_id", content_type_field="owner_ct", related_name="owner") objects = UserManager() + class Meta: verbose_name = _('user') verbose_name_plural = _('users') ordering = ('username',) row_level_permissions = True + class Admin: fields = ( (None, {'fields': ('username', 'password')}), @@ -480,7 +491,7 @@ class AnonymousUser(object): pass def __str__(self): - return 'AnonymousUser' + return _('AnonymousUser') def __eq__(self, other): return isinstance(other, self.__class__) diff --git a/django/contrib/auth/views.py b/django/contrib/auth/views.py index fda17b91fb..77350b9a8f 100644 --- a/django/contrib/auth/views.py +++ b/django/contrib/auth/views.py @@ -6,7 +6,7 @@ from django.template import RequestContext from django.contrib.sites.models import Site from django.http import HttpResponseRedirect from django.contrib.auth.decorators import login_required -from django.contrib.auth import LOGIN_URL, REDIRECT_FIELD_NAME +from django.contrib.auth import REDIRECT_FIELD_NAME def login(request, template_name='registration/login.html'): "Displays the login form and handles the login action." @@ -17,7 +17,8 @@ def login(request, template_name='registration/login.html'): if not errors: # Light security check -- make sure redirect_to isn't garbage. if not redirect_to or '://' in redirect_to or ' ' in redirect_to: - redirect_to = '/accounts/profile/' + from django.conf import settings + redirect_to = settings.LOGIN_REDIRECT_URL from django.contrib.auth import login login(request, manipulator.get_user()) request.session.delete_test_cookie() @@ -41,12 +42,18 @@ def logout(request, next_page=None, template_name='registration/logged_out.html' # Redirect to this page until the session has been cleared. return HttpResponseRedirect(next_page or request.path) -def logout_then_login(request, login_url=LOGIN_URL): +def logout_then_login(request, login_url=None): "Logs out the user if he is logged in. Then redirects to the log-in page." + if not login_url: + from django.conf import settings + login_url = settings.LOGIN_URL return logout(request, login_url) -def redirect_to_login(next, login_url=LOGIN_URL): +def redirect_to_login(next, login_url=None): "Redirects the user to the login page, passing the given 'next' page" + if not login_url: + from django.conf import settings + login_url = settings.LOGIN_URL return HttpResponseRedirect('%s?%s=%s' % (login_url, REDIRECT_FIELD_NAME, next)) def password_reset(request, is_admin_site=False, template_name='registration/password_reset_form.html', diff --git a/django/contrib/comments/feeds.py b/django/contrib/comments/feeds.py index 34cf3d9cef..1ad638469b 100644 --- a/django/contrib/comments/feeds.py +++ b/django/contrib/comments/feeds.py @@ -23,16 +23,19 @@ class LatestFreeCommentsFeed(Feed): self._site = Site.objects.get_current() return "Latest comments on %s" % self._site.name + def get_query_set(self): + return self.comments_class.objects.filter(site__pk=settings.SITE_ID, is_public=True) + def items(self): - return self.comments_class.objects.filter(site__pk=settings.SITE_ID, is_public=True)[:40] + return self.get_query_set()[:40] class LatestCommentsFeed(LatestFreeCommentsFeed): """Feed of latest free comments on the current site""" comments_class = Comment - def items(self): - qs = LatestFreeCommentsFeed.items(self) + def get_query_set(self): + qs = super(LatestCommentsFeed, self).get_query_set() qs = qs.filter(is_removed=False) if settings.COMMENTS_BANNED_USERS_GROUP: where = ['user_id NOT IN (SELECT user_id FROM auth_users_group WHERE group_id = %s)'] diff --git a/django/contrib/comments/models.py b/django/contrib/comments/models.py index 90a84baaff..fa6c6aa363 100644 --- a/django/contrib/comments/models.py +++ b/django/contrib/comments/models.py @@ -209,7 +209,7 @@ class FreeComment(models.Model): class KarmaScoreManager(models.Manager): def vote(self, user_id, comment_id, score): try: - karma = self.objects.get(comment__pk=comment_id, user__pk=user_id) + karma = self.get(comment__pk=comment_id, user__pk=user_id) except self.model.DoesNotExist: karma = self.model(None, user_id=user_id, comment_id=comment_id, score=score, scored_date=datetime.datetime.now()) karma.save() diff --git a/django/contrib/comments/templates/comments/form.html b/django/contrib/comments/templates/comments/form.html index c5aa7686a3..11eaa8d00d 100644 --- a/django/contrib/comments/templates/comments/form.html +++ b/django/contrib/comments/templates/comments/form.html @@ -3,7 +3,7 @@
                                                                                          {% if user.is_authenticated %} -

                                                                                          {% trans "Username:" %} {{ user.username }} ({% trans "Log out" %})

                                                                                          +

                                                                                          {% trans "Username:" %} {{ user.username }} ({% trans "Log out" %})

                                                                                          {% else %}


                                                                                          {% trans "Password:" %} ({% trans "Forgotten your password?" %})

                                                                                          {% endif %} diff --git a/django/contrib/comments/templatetags/comments.py b/django/contrib/comments/templatetags/comments.py index c3a2fd40d8..a43b11f452 100644 --- a/django/contrib/comments/templatetags/comments.py +++ b/django/contrib/comments/templatetags/comments.py @@ -24,7 +24,8 @@ class CommentFormNode(template.Node): self.photo_options, self.rating_options = photo_options, rating_options self.is_public = is_public - def render(self, context): + def iter_render(self, context): + from django.conf import settings from django.utils.text import normalize_newlines import base64 context.push() @@ -32,7 +33,7 @@ class CommentFormNode(template.Node): try: self.obj_id = template.resolve_variable(self.obj_id_lookup_var, context) except template.VariableDoesNotExist: - return '' + return # Validate that this object ID is valid for this content-type. # We only have to do this validation if obj_id_lookup_var is provided, # because do_comment_form() validates hard-coded object IDs. @@ -64,10 +65,11 @@ class CommentFormNode(template.Node): if self.rating_options: context['rating_range'], context['rating_choices'] = Comment.objects.get_rating_options(self.rating_options) context['hash'] = Comment.objects.get_security_hash(context['options'], context['photo_options'], context['rating_options'], context['target']) + context['logout_url'] = settings.LOGOUT_URL default_form = loader.get_template(COMMENT_FORM) - output = default_form.render(context) + for chunk in default_form.iter_render(context): + yield chunk context.pop() - return output class CommentCountNode(template.Node): def __init__(self, package, module, context_var_name, obj_id, var_name, free): @@ -75,7 +77,7 @@ class CommentCountNode(template.Node): self.context_var_name, self.obj_id = context_var_name, obj_id self.var_name, self.free = var_name, free - def render(self, context): + def iter_render(self, context): from django.conf import settings manager = self.free and FreeComment.objects or Comment.objects if self.context_var_name is not None: @@ -84,7 +86,7 @@ class CommentCountNode(template.Node): content_type__app_label__exact=self.package, content_type__model__exact=self.module, site__id__exact=settings.SITE_ID).count() context[self.var_name] = comment_count - return '' + return () class CommentListNode(template.Node): def __init__(self, package, module, context_var_name, obj_id, var_name, free, ordering, extra_kwargs=None): @@ -94,14 +96,14 @@ class CommentListNode(template.Node): self.ordering = ordering self.extra_kwargs = extra_kwargs or {} - def render(self, context): + def iter_render(self, context): from django.conf import settings get_list_function = self.free and FreeComment.objects.filter or Comment.objects.get_list_with_karma if self.context_var_name is not None: try: self.obj_id = template.resolve_variable(self.context_var_name, context) except template.VariableDoesNotExist: - return '' + return () kwargs = { 'object_id__exact': self.obj_id, 'content_type__app_label__exact': self.package, @@ -114,7 +116,7 @@ class CommentListNode(template.Node): comment_list = get_list_function(**kwargs).order_by(self.ordering + 'submit_date').select_related() if not self.free: - if context.has_key('user') and context['user'].is_authenticated(): + if 'user' in context and context['user'].is_authenticated(): user_id = context['user'].id context['user_can_moderate_comments'] = Comment.objects.user_is_moderator(context['user']) else: @@ -125,7 +127,7 @@ class CommentListNode(template.Node): comment_list = [c for c in comment_list if not c.is_hidden or (user_id == c.user_id)] context[self.var_name] = comment_list - return '' + return () class DoCommentForm: """ diff --git a/django/contrib/comments/views/comments.py b/django/contrib/comments/views/comments.py index 12330afe41..73a9b2c480 100644 --- a/django/contrib/comments/views/comments.py +++ b/django/contrib/comments/views/comments.py @@ -217,10 +217,10 @@ def post_comment(request): errors = manipulator.get_validation_errors(new_data) # If user gave correct username/password and wasn't already logged in, log them in # so they don't have to enter a username/password again. - if manipulator.get_user() and not manipulator.get_user().is_authenticated() and new_data.has_key('password') and manipulator.get_user().check_password(new_data['password']): + if manipulator.get_user() and not manipulator.get_user().is_authenticated() and 'password' in new_data and manipulator.get_user().check_password(new_data['password']): from django.contrib.auth import login login(request, manipulator.get_user()) - if errors or request.POST.has_key('preview'): + if errors or 'preview' in request.POST: class CommentFormWrapper(oldforms.FormWrapper): def __init__(self, manipulator, new_data, errors, rating_choices): oldforms.FormWrapper.__init__(self, manipulator, new_data, errors) @@ -244,7 +244,7 @@ def post_comment(request): 'rating_range': rating_range, 'rating_choices': rating_choices, }, context_instance=RequestContext(request)) - elif request.POST.has_key('post'): + elif 'post' in request.POST: # If the IP is banned, mail the admins, do NOT save the comment, and # serve up the "Thanks for posting" page as if the comment WAS posted. if request.META['REMOTE_ADDR'] in settings.BANNED_IPS: @@ -298,7 +298,7 @@ def post_free_comment(request): new_data['is_public'] = IS_PUBLIC in option_list manipulator = PublicFreeCommentManipulator() errors = manipulator.get_validation_errors(new_data) - if errors or request.POST.has_key('preview'): + if errors or 'preview' in request.POST: comment = errors and '' or manipulator.get_comment(new_data) return render_to_response('comments/free_preview.html', { 'comment': comment, @@ -307,7 +307,7 @@ def post_free_comment(request): 'target': target, 'hash': security_hash, }, context_instance=RequestContext(request)) - elif request.POST.has_key('post'): + elif 'post' in request.POST: # If the IP is banned, mail the admins, do NOT save the comment, and # serve up the "Thanks for posting" page as if the comment WAS posted. if request.META['REMOTE_ADDR'] in settings.BANNED_IPS: @@ -330,7 +330,7 @@ def comment_was_posted(request): The object the comment was posted on """ obj = None - if request.GET.has_key('c'): + if 'c' in request.GET: content_type_id, object_id = request.GET['c'].split(':') try: content_type = ContentType.objects.get(pk=content_type_id) diff --git a/django/db/models/fields/generic.py b/django/contrib/contenttypes/generic.py similarity index 99% rename from django/db/models/fields/generic.py rename to django/contrib/contenttypes/generic.py index 1ad8346e42..f995ab2044 100644 --- a/django/db/models/fields/generic.py +++ b/django/contrib/contenttypes/generic.py @@ -37,7 +37,7 @@ class GenericForeignKey(object): def instance_pre_init(self, signal, sender, args, kwargs): # Handle initalizing an object with the generic FK instaed of # content-type/object-id fields. - if kwargs.has_key(self.name): + if self.name in kwargs: value = kwargs.pop(self.name) kwargs[self.ct_field] = self.get_content_type(value) kwargs[self.fk_field] = value._get_pk_val() @@ -94,6 +94,7 @@ class GenericRelation(RelatedField, Field): kwargs['blank'] = True kwargs['editable'] = False + kwargs['serialize'] = False Field.__init__(self, **kwargs) def get_manipulator_field_objs(self): diff --git a/django/contrib/contenttypes/management.py b/django/contrib/contenttypes/management.py index f492f54303..3572d93049 100644 --- a/django/contrib/contenttypes/management.py +++ b/django/contrib/contenttypes/management.py @@ -7,6 +7,7 @@ from django.db.models import get_apps, get_models, signals def create_contenttypes(app, created_models, verbosity=2): from django.contrib.contenttypes.models import ContentType + ContentType.objects.clear_cache() app_models = get_models(app) if not app_models: return diff --git a/django/contrib/contenttypes/models.py b/django/contrib/contenttypes/models.py index a95748a9a1..0a5e68f37e 100644 --- a/django/contrib/contenttypes/models.py +++ b/django/contrib/contenttypes/models.py @@ -1,6 +1,7 @@ from django.db import models from django.utils.translation import gettext_lazy as _ +CONTENT_TYPE_CACHE = {} class ContentTypeManager(models.Manager): def get_for_model(self, model): """ @@ -8,11 +9,26 @@ class ContentTypeManager(models.Manager): ContentType if necessary. """ opts = model._meta - # The str() is needed around opts.verbose_name because it's a - # django.utils.functional.__proxy__ object. - ct, created = self.model._default_manager.get_or_create(app_label=opts.app_label, - model=opts.object_name.lower(), defaults={'name': str(opts.verbose_name)}) + key = (opts.app_label, opts.object_name.lower()) + try: + ct = CONTENT_TYPE_CACHE[key] + except KeyError: + # The str() is needed around opts.verbose_name because it's a + # django.utils.functional.__proxy__ object. + ct, created = self.model._default_manager.get_or_create(app_label=key[0], + model=key[1], defaults={'name': str(opts.verbose_name)}) + CONTENT_TYPE_CACHE[key] = ct return ct + + def clear_cache(self): + """ + Clear out the content-type cache. This needs to happen during database + flushes to prevent caching of "stale" content type IDs (see + django.contrib.contenttypes.management.create_contenttypes for where + this gets called). + """ + global CONTENT_TYPE_CACHE + CONTENT_TYPE_CACHE = {} class ContentType(models.Model): name = models.CharField(maxlength=100) diff --git a/django/contrib/databrowse/__init__.py b/django/contrib/databrowse/__init__.py new file mode 100644 index 0000000000..e2f48ac822 --- /dev/null +++ b/django/contrib/databrowse/__init__.py @@ -0,0 +1 @@ +from django.contrib.databrowse.sites import DatabrowsePlugin, ModelDatabrowse, DatabrowseSite, site diff --git a/django/contrib/databrowse/datastructures.py b/django/contrib/databrowse/datastructures.py new file mode 100644 index 0000000000..24f2e68f46 --- /dev/null +++ b/django/contrib/databrowse/datastructures.py @@ -0,0 +1,192 @@ +""" +These classes are light wrappers around Django's database API that provide +convenience functionality and permalink functions for the databrowse app. +""" + +from django.db import models +from django.utils import dateformat +from django.utils.text import capfirst +from django.utils.translation import get_date_formats + +EMPTY_VALUE = '(None)' + +class EasyModel(object): + def __init__(self, site, model): + self.site = site + self.model = model + self.model_list = site.registry.keys() + self.verbose_name = model._meta.verbose_name + self.verbose_name_plural = model._meta.verbose_name_plural + + def __repr__(self): + return '' % self.model._meta.object_name + + def model_databrowse(self): + "Returns the ModelDatabrowse class for this model." + return self.site.registry[self.model] + + def url(self): + return '%s%s/%s/' % (self.site.root_url, self.model._meta.app_label, self.model._meta.module_name) + + def objects(self, **kwargs): + for obj in self.model._default_manager.filter(**kwargs): + yield EasyInstance(self, obj) + + def object_by_pk(self, pk): + return EasyInstance(self, self.model._default_manager.get(pk=pk)) + + def sample_objects(self): + for obj in self.model._default_manager.all()[:3]: + yield EasyInstance(self, obj) + + def field(self, name): + try: + f = self.model._meta.get_field(name) + except models.FieldDoesNotExist: + return None + return EasyField(self, f) + + def fields(self): + return [EasyField(self, f) for f in (self.model._meta.fields + self.model._meta.many_to_many)] + +class EasyField(object): + def __init__(self, easy_model, field): + self.model, self.field = easy_model, field + + def __repr__(self): + return '' % (self.model.model._meta.object_name, self.field.name) + + def choices(self): + for value, label in self.field.choices: + yield EasyChoice(self.model, self, value, label) + + def url(self): + if self.field.choices: + return '%s%s/%s/%s/' % (self.model.site.root_url, self.model.model._meta.app_label, self.model.model._meta.module_name, self.field.name) + elif self.field.rel: + return '%s%s/%s/' % (self.model.site.root_url, self.model.model._meta.app_label, self.model.model._meta.module_name) + +class EasyChoice(object): + def __init__(self, easy_model, field, value, label): + self.model, self.field = easy_model, field + self.value, self.label = value, label + + def __repr__(self): + return '' % (self.model.model._meta.object_name, self.field.name) + + def url(self): + return '%s%s/%s/%s/%s/' % (self.model.site.root_url, self.model.model._meta.app_label, self.model.model._meta.module_name, self.field.field.name, self.value) + +class EasyInstance(object): + def __init__(self, easy_model, instance): + self.model, self.instance = easy_model, instance + + def __repr__(self): + return '' % (self.model.model._meta.object_name, self.instance._get_pk_val()) + + def __str__(self): + val = str(self.instance) + if len(val) > 30: + return val[:30] + '...' + return val + + def pk(self): + return self.instance._get_pk_val() + + def url(self): + return '%s%s/%s/objects/%s/' % (self.model.site.root_url, self.model.model._meta.app_label, self.model.model._meta.module_name, self.pk()) + + def fields(self): + """ + Generator that yields EasyInstanceFields for each field in this + EasyInstance's model. + """ + for f in self.model.model._meta.fields + self.model.model._meta.many_to_many: + yield EasyInstanceField(self.model, self, f) + + def related_objects(self): + """ + Generator that yields dictionaries of all models that have this + EasyInstance's model as a ForeignKey or ManyToManyField, along with + lists of related objects. + """ + for rel_object in self.model.model._meta.get_all_related_objects() + self.model.model._meta.get_all_related_many_to_many_objects(): + if rel_object.model not in self.model.model_list: + continue # Skip models that aren't in the model_list + em = EasyModel(self.model.site, rel_object.model) + yield { + 'model': em, + 'related_field': rel_object.field.verbose_name, + 'object_list': [EasyInstance(em, i) for i in getattr(self.instance, rel_object.get_accessor_name()).all()], + } + +class EasyInstanceField(object): + def __init__(self, easy_model, instance, field): + self.model, self.field, self.instance = easy_model, field, instance + self.raw_value = getattr(instance.instance, field.name) + + def __repr__(self): + return '' % (self.model.model._meta.object_name, self.field.name) + + def values(self): + """ + Returns a list of values for this field for this instance. It's a list + so we can accomodate many-to-many fields. + """ + # This import is deliberately inside the function because it causes + # some settings to be imported, and we don't want to do that at the + # module level. + if self.field.rel: + if isinstance(self.field.rel, models.ManyToOneRel): + objs = getattr(self.instance.instance, self.field.name) + elif isinstance(self.field.rel, models.ManyToManyRel): # ManyToManyRel + return list(getattr(self.instance.instance, self.field.name).all()) + elif self.field.choices: + objs = dict(self.field.choices).get(self.raw_value, EMPTY_VALUE) + elif isinstance(self.field, models.DateField) or isinstance(self.field, models.TimeField): + if self.raw_value: + date_format, datetime_format, time_format = get_date_formats() + if isinstance(self.field, models.DateTimeField): + objs = capfirst(dateformat.format(self.raw_value, datetime_format)) + elif isinstance(self.field, models.TimeField): + objs = capfirst(dateformat.time_format(self.raw_value, time_format)) + else: + objs = capfirst(dateformat.format(self.raw_value, date_format)) + else: + objs = EMPTY_VALUE + elif isinstance(self.field, models.BooleanField) or isinstance(self.field, models.NullBooleanField): + objs = {True: 'Yes', False: 'No', None: 'Unknown'}[self.raw_value] + else: + objs = self.raw_value + return [objs] + + def urls(self): + "Returns a list of (value, URL) tuples." + # First, check the urls() method for each plugin. + plugin_urls = [] + for plugin_name, plugin in self.model.model_databrowse().plugins.items(): + urls = plugin.urls(plugin_name, self) + if urls is not None: + #plugin_urls.append(urls) + values = self.values() + return zip(self.values(), urls) + if self.field.rel: + m = EasyModel(self.model.site, self.field.rel.to) + if self.field.rel.to in self.model.model_list: + lst = [] + for value in self.values(): + url = '%s%s/%s/objects/%s/' % (self.model.site.root_url, m.model._meta.app_label, m.model._meta.module_name, value._get_pk_val()) + lst.append((str(value), url)) + else: + lst = [(value, None) for value in self.values()] + elif self.field.choices: + lst = [] + for value in self.values(): + url = '%s%s/%s/fields/%s/%s/' % (self.model.site.root_url, self.model.model._meta.app_label, self.model.model._meta.module_name, self.field.name, self.raw_value) + lst.append((value, url)) + elif isinstance(self.field, models.URLField): + val = self.values()[0] + lst = [(val, val)] + else: + lst = [(self.values()[0], None)] + return lst diff --git a/tests/regressiontests/markup/__init__.py b/django/contrib/databrowse/plugins/__init__.py similarity index 100% rename from tests/regressiontests/markup/__init__.py rename to django/contrib/databrowse/plugins/__init__.py diff --git a/django/contrib/databrowse/plugins/calendars.py b/django/contrib/databrowse/plugins/calendars.py new file mode 100644 index 0000000000..7977524cdb --- /dev/null +++ b/django/contrib/databrowse/plugins/calendars.py @@ -0,0 +1,84 @@ +from django import http +from django.db import models +from django.contrib.databrowse.datastructures import EasyModel +from django.contrib.databrowse.sites import DatabrowsePlugin +from django.shortcuts import render_to_response +from django.utils.text import capfirst +from django.utils.translation import get_date_formats +from django.views.generic import date_based +import datetime +import time + +class CalendarPlugin(DatabrowsePlugin): + def __init__(self, field_names=None): + self.field_names = field_names + + def field_dict(self, model): + """ + Helper function that returns a dictionary of all DateFields or + DateTimeFields in the given model. If self.field_names is set, it takes + take that into account when building the dictionary. + """ + if self.field_names is None: + return dict([(f.name, f) for f in model._meta.fields if isinstance(f, models.DateField)]) + else: + return dict([(f.name, f) for f in model._meta.fields if isinstance(f, models.DateField) and f.name in self.field_names]) + + def model_index_html(self, request, model, site): + fields = self.field_dict(model) + if not fields: + return '' + return '

                                                                                          View calendar by: %s

                                                                                          ' % \ + ', '.join(['%s' % (f.name, capfirst(f.verbose_name)) for f in fields.values()]) + + def urls(self, plugin_name, easy_instance_field): + if isinstance(easy_instance_field.field, models.DateField): + return ['%s%s/%s/%s/%s/%s/' % (easy_instance_field.model.url(), + plugin_name, easy_instance_field.field.name, + easy_instance_field.raw_value.year, + easy_instance_field.raw_value.strftime('%b').lower(), + easy_instance_field.raw_value.day)] + + def model_view(self, request, model_databrowse, url): + self.model, self.site = model_databrowse.model, model_databrowse.site + self.fields = self.field_dict(self.model) + + # If the model has no DateFields, there's no point in going further. + if not self.fields: + raise http.Http404('The requested model has no calendars.') + + if url is None: + return self.homepage_view(request) + url_bits = url.split('/') + if self.fields.has_key(url_bits[0]): + return self.calendar_view(request, self.fields[url_bits[0]], *url_bits[1:]) + + raise http.Http404('The requested page does not exist.') + + def homepage_view(self, request): + easy_model = EasyModel(self.site, self.model) + field_list = self.fields.values() + field_list.sort(lambda x, y: cmp(x.verbose_name, y.verbose_name)) + return render_to_response('databrowse/calendar_homepage.html', {'root_url': self.site.root_url, 'model': easy_model, 'field_list': field_list}) + + def calendar_view(self, request, field, year=None, month=None, day=None): + easy_model = EasyModel(self.site, self.model) + extra_context = {'root_url': self.site.root_url, 'model': easy_model, 'field': field} + if day is not None: + # TODO: The objects in this template should be EasyInstances + return date_based.archive_day(request, year, month, day, self.model.objects.all(), field.name, + template_name='databrowse/calendar_day.html', allow_empty=False, allow_future=True, + extra_context=extra_context) + elif month is not None: + return date_based.archive_month(request, year, month, self.model.objects.all(), field.name, + template_name='databrowse/calendar_month.html', allow_empty=False, allow_future=True, + extra_context=extra_context) + elif year is not None: + return date_based.archive_year(request, year, self.model.objects.all(), field.name, + template_name='databrowse/calendar_year.html', allow_empty=False, allow_future=True, + extra_context=extra_context) + else: + return date_based.archive_index(request, self.model.objects.all(), field.name, + template_name='databrowse/calendar_main.html', allow_empty=True, allow_future=True, + extra_context=extra_context) + assert False, ('%s, %s, %s, %s' % (field, year, month, day)) diff --git a/django/contrib/databrowse/plugins/fieldchoices.py b/django/contrib/databrowse/plugins/fieldchoices.py new file mode 100644 index 0000000000..49d17ff148 --- /dev/null +++ b/django/contrib/databrowse/plugins/fieldchoices.py @@ -0,0 +1,72 @@ +from django import http +from django.db import models +from django.contrib.databrowse.datastructures import EasyModel +from django.contrib.databrowse.sites import DatabrowsePlugin +from django.shortcuts import render_to_response +from django.utils.text import capfirst +from django.views.generic import date_based +import datetime +import time + +class FieldChoicePlugin(DatabrowsePlugin): + def __init__(self, field_filter=None): + # If field_filter is given, it should be a callable that takes a + # Django database Field instance and returns True if that field should + # be included. If field_filter is None, that all fields will be used. + self.field_filter = field_filter + + def field_dict(self, model): + """ + Helper function that returns a dictionary of all fields in the given + model. If self.field_filter is set, it only includes the fields that + match the filter. + """ + if self.field_filter: + return dict([(f.name, f) for f in model._meta.fields if self.field_filter(f)]) + else: + return dict([(f.name, f) for f in model._meta.fields if not f.rel and not f.primary_key and not f.unique and not isinstance(f, (models.AutoField, models.TextField))]) + + def model_index_html(self, request, model, site): + fields = self.field_dict(model) + if not fields: + return '' + return '

                                                                                          View by: %s

                                                                                          ' % \ + ', '.join(['%s' % (f.name, capfirst(f.verbose_name)) for f in fields.values()]) + + def urls(self, plugin_name, easy_instance_field): + if easy_instance_field.field in self.field_dict(easy_instance_field.model.model).values(): + return ['%s%s/%s/%s/' % (easy_instance_field.model.url(), + plugin_name, easy_instance_field.field.name, + easy_instance_field.raw_value)] + + def model_view(self, request, model_databrowse, url): + self.model, self.site = model_databrowse.model, model_databrowse.site + self.fields = self.field_dict(self.model) + + # If the model has no fields with choices, there's no point in going + # further. + if not self.fields: + raise http.Http404('The requested model has no fields.') + + if url is None: + return self.homepage_view(request) + url_bits = url.split('/', 1) + if self.fields.has_key(url_bits[0]): + return self.field_view(request, self.fields[url_bits[0]], *url_bits[1:]) + + raise http.Http404('The requested page does not exist.') + + def homepage_view(self, request): + easy_model = EasyModel(self.site, self.model) + field_list = self.fields.values() + field_list.sort(lambda x, y: cmp(x.verbose_name, y.verbose_name)) + return render_to_response('databrowse/fieldchoice_homepage.html', {'root_url': self.site.root_url, 'model': easy_model, 'field_list': field_list}) + + def field_view(self, request, field, value=None): + easy_model = EasyModel(self.site, self.model) + easy_field = easy_model.field(field.name) + if value is not None: + obj_list = easy_model.objects(**{field.name: value}) + return render_to_response('databrowse/fieldchoice_detail.html', {'root_url': self.site.root_url, 'model': easy_model, 'field': easy_field, 'value': value, 'object_list': obj_list}) + obj_list = [v[field.name] for v in self.model._default_manager.distinct().order_by(field.name).values(field.name)] + return render_to_response('databrowse/fieldchoice_list.html', {'root_url': self.site.root_url, 'model': easy_model, 'field': easy_field, 'object_list': obj_list}) diff --git a/django/contrib/databrowse/plugins/objects.py b/django/contrib/databrowse/plugins/objects.py new file mode 100644 index 0000000000..7326566655 --- /dev/null +++ b/django/contrib/databrowse/plugins/objects.py @@ -0,0 +1,14 @@ +from django import http +from django.contrib.databrowse.datastructures import EasyModel +from django.contrib.databrowse.sites import DatabrowsePlugin +from django.shortcuts import render_to_response +import urlparse + +class ObjectDetailPlugin(DatabrowsePlugin): + def model_view(self, request, model_databrowse, url): + # If the object ID wasn't provided, redirect to the model page, which is one level up. + if url is None: + return http.HttpResponseRedirect(urlparse.urljoin(request.path, '../')) + easy_model = EasyModel(model_databrowse.site, model_databrowse.model) + obj = easy_model.object_by_pk(url) + return render_to_response('databrowse/object_detail.html', {'object': obj, 'root_url': model_databrowse.site.root_url}) diff --git a/django/contrib/databrowse/sites.py b/django/contrib/databrowse/sites.py new file mode 100644 index 0000000000..8521343e50 --- /dev/null +++ b/django/contrib/databrowse/sites.py @@ -0,0 +1,148 @@ +from django import http +from django.db import models +from django.contrib.databrowse.datastructures import EasyModel, EasyChoice +from django.shortcuts import render_to_response + +class AlreadyRegistered(Exception): + pass + +class NotRegistered(Exception): + pass + +class DatabrowsePlugin(object): + def urls(self, plugin_name, easy_instance_field): + """ + Given an EasyInstanceField object, returns a list of URLs for this + plugin's views of this object. These URLs should be absolute. + + Returns None if the EasyInstanceField object doesn't get a + list of plugin-specific URLs. + """ + return None + + def model_index_html(self, request, model, site): + """ + Returns a snippet of HTML to include on the model index page. + """ + return '' + + def model_view(self, request, model_databrowse, url): + """ + Handles main URL routing for a plugin's model-specific pages. + """ + raise NotImplementedError + +class ModelDatabrowse(object): + plugins = {} + + def __init__(self, model, site): + self.model = model + self.site = site + + def root(self, request, url): + """ + Handles main URL routing for the databrowse app. + + `url` is the remainder of the URL -- e.g. 'objects/3'. + """ + # Delegate to the appropriate method, based on the URL. + if url is None: + return self.main_view(request) + try: + plugin_name, rest_of_url = url.split('/', 1) + except ValueError: # need more than 1 value to unpack + plugin_name, rest_of_url = url, None + try: + plugin = self.plugins[plugin_name] + except KeyError: + raise http.Http404('A plugin with the requested name does not exist.') + return plugin.model_view(request, self, rest_of_url) + + def main_view(self, request): + easy_model = EasyModel(self.site, self.model) + html_snippets = '\n'.join([p.model_index_html(request, self.model, self.site) for p in self.plugins.values()]) + return render_to_response('databrowse/model_detail.html', { + 'model': easy_model, + 'root_url': self.site.root_url, + 'plugin_html': html_snippets, + }) + +class DatabrowseSite(object): + def __init__(self): + self.registry = {} # model_class -> databrowse_class + self.root_url = None + + def register(self, model_or_iterable, databrowse_class=None, **options): + """ + Registers the given model(s) with the given databrowse site. + + The model(s) should be Model classes, not instances. + + If a databrowse class isn't given, it will use DefaultModelDatabrowse + (the default databrowse options). + + If a model is already registered, this will raise AlreadyRegistered. + """ + databrowse_class = databrowse_class or DefaultModelDatabrowse + if issubclass(model_or_iterable, models.Model): + model_or_iterable = [model_or_iterable] + for model in model_or_iterable: + if model in self.registry: + raise AlreadyRegistered('The model %s is already registered' % model.__class__.__name__) + self.registry[model] = databrowse_class + + def unregister(self, model_or_iterable): + """ + Unregisters the given model(s). + + If a model isn't already registered, this will raise NotRegistered. + """ + if issubclass(model_or_iterable, models.Model): + model_or_iterable = [model_or_iterable] + for model in model_or_iterable: + if model not in self.registry: + raise NotRegistered('The model %s is not registered' % model.__class__.__name__) + del self.registry[model] + + def root(self, request, url): + """ + Handles main URL routing for the databrowse app. + + `url` is the remainder of the URL -- e.g. 'comments/comment/'. + """ + self.root_url = request.path[:len(request.path) - len(url)] + url = url.rstrip('/') # Trim trailing slash, if it exists. + + if url == '': + return self.index(request) + elif '/' in url: + return self.model_page(request, *url.split('/', 2)) + + raise http.Http404('The requested databrowse page does not exist.') + + def index(self, request): + m_list = [EasyModel(self, m) for m in self.registry.keys()] + return render_to_response('databrowse/homepage.html', {'model_list': m_list, 'root_url': self.root_url}) + + def model_page(self, request, app_label, model_name, rest_of_url=None): + """ + Handles the model-specific functionality of the databrowse site, delegating + to the appropriate ModelDatabrowse class. + """ + model = models.get_model(app_label, model_name) + if model is None: + raise http.Http404("App %r, model %r, not found." % (app_label, model_name)) + try: + databrowse_class = self.registry[model] + except KeyError: + raise http.Http404("This model exists but has not been registered with databrowse.") + return databrowse_class(model, self).root(request, rest_of_url) + +site = DatabrowseSite() + +from django.contrib.databrowse.plugins.calendars import CalendarPlugin +from django.contrib.databrowse.plugins.objects import ObjectDetailPlugin +from django.contrib.databrowse.plugins.fieldchoices import FieldChoicePlugin + +class DefaultModelDatabrowse(ModelDatabrowse): + plugins = {'objects': ObjectDetailPlugin(), 'calendars': CalendarPlugin(), 'fields': FieldChoicePlugin()} diff --git a/django/contrib/databrowse/templates/databrowse/base.html b/django/contrib/databrowse/templates/databrowse/base.html new file mode 100644 index 0000000000..30ba5bb2fc --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/base.html @@ -0,0 +1,58 @@ + + + +{% block title %}{% endblock %} + + + + +
                                                                                          +{% block content %}{% endblock %} +
                                                                                          + + diff --git a/django/contrib/databrowse/templates/databrowse/calendar_day.html b/django/contrib/databrowse/templates/databrowse/calendar_day.html new file mode 100644 index 0000000000..d45fb3e768 --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/calendar_day.html @@ -0,0 +1,17 @@ +{% extends "databrowse/base.html" %} + +{% block title %}{{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} {{ day|date:"F j, Y" }}{% endblock %} + +{% block content %} + + + +

                                                                                          {{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} on {{ day|date:"F j, Y" }}

                                                                                          + +
                                                                                            +{% for object in object_list %} +
                                                                                          • {{ object }}
                                                                                          • +{% endfor %} +
                                                                                          + +{% endblock %} diff --git a/django/contrib/databrowse/templates/databrowse/calendar_homepage.html b/django/contrib/databrowse/templates/databrowse/calendar_homepage.html new file mode 100644 index 0000000000..5bbc42e353 --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/calendar_homepage.html @@ -0,0 +1,17 @@ +{% extends "databrowse/base.html" %} + +{% block title %}Calendars{% endblock %} + +{% block content %} + + + +

                                                                                          Calendars

                                                                                          + + + +{% endblock %} diff --git a/django/contrib/databrowse/templates/databrowse/calendar_main.html b/django/contrib/databrowse/templates/databrowse/calendar_main.html new file mode 100644 index 0000000000..7f9ba03bbe --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/calendar_main.html @@ -0,0 +1,17 @@ +{% extends "databrowse/base.html" %} + +{% block title %}{{ field.verbose_name|capfirst }} calendar{% endblock %} + +{% block content %} + + + +

                                                                                          {{ model.verbose_name_plural|capfirst }} by {{ field.verbose_name }}

                                                                                          + + + +{% endblock %} diff --git a/django/contrib/databrowse/templates/databrowse/calendar_month.html b/django/contrib/databrowse/templates/databrowse/calendar_month.html new file mode 100644 index 0000000000..51a25967f8 --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/calendar_month.html @@ -0,0 +1,17 @@ +{% extends "databrowse/base.html" %} + +{% block title %}{{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} in {{ month|date:"F Y" }}{% endblock %} + +{% block content %} + + + +

                                                                                          {{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} in {{ month|date:"F Y" }}

                                                                                          + +
                                                                                            +{% for object in object_list %} +
                                                                                          • {{ object }}
                                                                                          • +{% endfor %} +
                                                                                          + +{% endblock %} diff --git a/django/contrib/databrowse/templates/databrowse/calendar_year.html b/django/contrib/databrowse/templates/databrowse/calendar_year.html new file mode 100644 index 0000000000..676ae88e27 --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/calendar_year.html @@ -0,0 +1,17 @@ +{% extends "databrowse/base.html" %} + +{% block title %}{{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} in {{ year }}{% endblock %} + +{% block content %} + + + +

                                                                                          {{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} in {{ year }}

                                                                                          + + + +{% endblock %} diff --git a/django/contrib/databrowse/templates/databrowse/choice_detail.html b/django/contrib/databrowse/templates/databrowse/choice_detail.html new file mode 100644 index 0000000000..977a4a482f --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/choice_detail.html @@ -0,0 +1,17 @@ +{% extends "databrowse/base.html" %} + +{% block title %}{{ model.verbose_name_plural|capfirst }} by {{ field.field.verbose_name }}: {{ value|escape }}{% endblock %} + +{% block content %} + + + +

                                                                                          {{ model.verbose_name_plural|capfirst }} by {{ field.field.verbose_name }}: {{ value|escape }}

                                                                                          + +
                                                                                            +{% for object in object_list %} +
                                                                                          • {{ object }}
                                                                                          • +{% endfor %} +
                                                                                          + +{% endblock %} diff --git a/django/contrib/databrowse/templates/databrowse/choice_list.html b/django/contrib/databrowse/templates/databrowse/choice_list.html new file mode 100644 index 0000000000..b15531a0fd --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/choice_list.html @@ -0,0 +1,17 @@ +{% extends "databrowse/base.html" %} + +{% block title %}{{ model.verbose_name_plural|capfirst }} by {{ field.field.verbose_name }}{% endblock %} + +{% block content %} + + + +

                                                                                          {{ model.verbose_name_plural|capfirst }} by {{ field.field.verbose_name }}

                                                                                          + + + +{% endblock %} diff --git a/django/contrib/databrowse/templates/databrowse/fieldchoice_detail.html b/django/contrib/databrowse/templates/databrowse/fieldchoice_detail.html new file mode 100644 index 0000000000..a620ec931c --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/fieldchoice_detail.html @@ -0,0 +1,17 @@ +{% extends "databrowse/base.html" %} + +{% block title %}{{ model.verbose_name_plural|capfirst|escape }} with {{ field.field.verbose_name|escape }} {{ value|escape }}{% endblock %} + +{% block content %} + + + +

                                                                                          {{ model.verbose_name_plural|capfirst|escape }} with {{ field.field.verbose_name|escape }} {{ value|escape }}

                                                                                          + + + +{% endblock %} diff --git a/django/contrib/databrowse/templates/databrowse/fieldchoice_homepage.html b/django/contrib/databrowse/templates/databrowse/fieldchoice_homepage.html new file mode 100644 index 0000000000..ad842c1e6d --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/fieldchoice_homepage.html @@ -0,0 +1,17 @@ +{% extends "databrowse/base.html" %} + +{% block title %}Browsable fields in {{ model.verbose_name_plural|escape }}{% endblock %} + +{% block content %} + + + +

                                                                                          Browsable fields in {{ model.verbose_name_plural }}

                                                                                          + + + +{% endblock %} diff --git a/django/contrib/databrowse/templates/databrowse/fieldchoice_list.html b/django/contrib/databrowse/templates/databrowse/fieldchoice_list.html new file mode 100644 index 0000000000..686e6bc533 --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/fieldchoice_list.html @@ -0,0 +1,17 @@ +{% extends "databrowse/base.html" %} + +{% block title %}{{ model.verbose_name_plural|capfirst|escape }} by {{ field.field.verbose_name|escape }}{% endblock %} + +{% block content %} + + + +

                                                                                          {{ model.verbose_name_plural|capfirst|escape }} by {{ field.field.verbose_name|escape }}

                                                                                          + + + +{% endblock %} diff --git a/django/contrib/databrowse/templates/databrowse/homepage.html b/django/contrib/databrowse/templates/databrowse/homepage.html new file mode 100644 index 0000000000..ebf3ceca80 --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/homepage.html @@ -0,0 +1,21 @@ +{% extends "databrowse/base.html" %} + +{% block title %}Databrowse{% endblock %} + +{% block bodyid %}homepage{% endblock %} + +{% block content %} + +{% for model in model_list %} +
                                                                                          +

                                                                                          {{ model.verbose_name_plural|capfirst }}

                                                                                          +

                                                                                          + {% for object in model.sample_objects %} + {{ object }}, + {% endfor %} + More → +

                                                                                          +
                                                                                          +{% endfor %} + +{% endblock %} diff --git a/django/contrib/databrowse/templates/databrowse/model_detail.html b/django/contrib/databrowse/templates/databrowse/model_detail.html new file mode 100644 index 0000000000..24cd766a3d --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/model_detail.html @@ -0,0 +1,19 @@ +{% extends "databrowse/base.html" %} + +{% block title %}{{ model.verbose_name_plural|capfirst }}{% endblock %} + +{% block content %} + + + +

                                                                                          {{ model.verbose_name_plural|capfirst }}

                                                                                          + +{{ plugin_html }} + +
                                                                                            +{% for object in model.objects %} +
                                                                                          • {{ object }}
                                                                                          • +{% endfor %} +
                                                                                          + +{% endblock %} diff --git a/django/contrib/databrowse/templates/databrowse/object_detail.html b/django/contrib/databrowse/templates/databrowse/object_detail.html new file mode 100644 index 0000000000..0096178cd2 --- /dev/null +++ b/django/contrib/databrowse/templates/databrowse/object_detail.html @@ -0,0 +1,41 @@ +{% extends "databrowse/base.html" %} + +{% block title %}{{ object.model.verbose_name|capfirst }}: {{ object }}{% endblock %} + +{% block content %} + + + +

                                                                                          {{ object.model.verbose_name|capfirst }}: {{ object }}

                                                                                          + + +{% for field in object.fields %} + + + + +{% endfor %} +
                                                                                          {{ field.field.verbose_name|capfirst }} +{% if field.urls %} +{% for urlvalue in field.urls %} +{% if urlvalue.1 %}{% endif %}{{ urlvalue.0 }}{% if urlvalue.1 %}{% endif %}{% if not forloop.last %}, {% endif %} +{% endfor %} +{% else %}None{% endif %} +
                                                                                          + +{% for related_object in object.related_objects %} + + {% else %} +

                                                                                          (None)

                                                                                          + {% endif %} +{% endfor %} + +{% endblock %} diff --git a/django/contrib/databrowse/urls.py b/django/contrib/databrowse/urls.py new file mode 100644 index 0000000000..9b85d142a2 --- /dev/null +++ b/django/contrib/databrowse/urls.py @@ -0,0 +1,20 @@ +from django.conf.urls.defaults import * +from django.contrib.databrowse import views + +# Note: The views in this URLconf all require a 'models' argument, +# which is a list of model classes (*not* instances). + +urlpatterns = patterns('', + #(r'^$', views.homepage), + #(r'^([^/]+)/([^/]+)/$', views.model_detail), + + (r'^([^/]+)/([^/]+)/fields/(\w+)/$', views.choice_list), + (r'^([^/]+)/([^/]+)/fields/(\w+)/(.*)/$', views.choice_detail), + + #(r'^([^/]+)/([^/]+)/calendars/(\w+)/$', views.calendar_main), + #(r'^([^/]+)/([^/]+)/calendars/(\w+)/(\d{4})/$', views.calendar_year), + #(r'^([^/]+)/([^/]+)/calendars/(\w+)/(\d{4})/(\w{3})/$', views.calendar_month), + #(r'^([^/]+)/([^/]+)/calendars/(\w+)/(\d{4})/(\w{3})/(\d{1,2})/$', views.calendar_day), + + #(r'^([^/]+)/([^/]+)/objects/(.*)/$', views.object_detail), +) diff --git a/django/contrib/databrowse/views.py b/django/contrib/databrowse/views.py new file mode 100644 index 0000000000..d493f9dad3 --- /dev/null +++ b/django/contrib/databrowse/views.py @@ -0,0 +1,23 @@ +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 # +########### + +def choice_list(request, app_label, module_name, field_name, models): + m, f = lookup_field(app_label, module_name, field_name, models) + return render_to_response('databrowse/choice_list.html', {'model': m, 'field': f}) + +def choice_detail(request, app_label, module_name, field_name, field_val, models): + m, f = lookup_field(app_label, module_name, field_name, models) + try: + label = dict(f.field.choices)[field_val] + except KeyError: + raise Http404('Invalid choice value given') + obj_list = m.objects(**{f.field.name: field_val}) + return render_to_response('databrowse/choice_detail.html', {'model': m, 'field': f, 'value': label, 'object_list': obj_list}) diff --git a/django/contrib/flatpages/models.py b/django/contrib/flatpages/models.py index bc2a392121..8d0b2c0d90 100644 --- a/django/contrib/flatpages/models.py +++ b/django/contrib/flatpages/models.py @@ -4,7 +4,7 @@ from django.contrib.sites.models import Site from django.utils.translation import gettext_lazy as _ class FlatPage(models.Model): - url = models.CharField(_('URL'), maxlength=100, validator_list=[validators.isAlphaNumericURL], + url = models.CharField(_('URL'), maxlength=100, validator_list=[validators.isAlphaNumericURL], db_index=True, help_text=_("Example: '/about/contact/'. Make sure to have leading and trailing slashes.")) title = models.CharField(_('title'), maxlength=200) content = models.TextField(_('content')) diff --git a/django/contrib/formtools/preview.py b/django/contrib/formtools/preview.py index 9a9371b5f8..dcb58e85d8 100644 --- a/django/contrib/formtools/preview.py +++ b/django/contrib/formtools/preview.py @@ -24,7 +24,7 @@ Usage Subclass FormPreview and define a done() method: - def done(self, request, clean_data): + def done(self, request, cleaned_data): # ... This method takes an HttpRequest object and a dictionary of the form data after @@ -48,6 +48,7 @@ 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 import cPickle as pickle import md5 @@ -82,7 +83,7 @@ class FormPreview(object): """ while 1: try: - f = self.form.fields[name] + f = self.form.base_fields[name] except KeyError: break # This field name isn't being used by the form. name += '_' @@ -91,7 +92,9 @@ class FormPreview(object): def preview_get(self, request): "Displays the form" f = self.form(auto_id=AUTO_ID) - return render_to_response(self.form_template, {'form': f, 'stage_field': self.unused_name('stage'), 'state': self.state}) + return render_to_response(self.form_template, + {'form': f, 'stage_field': self.unused_name('stage'), 'state': self.state}, + context_instance=RequestContext(request)) def preview_post(self, request): "Validates the POST data. If valid, displays the preview page. Else, redisplays form." @@ -100,9 +103,9 @@ class FormPreview(object): if f.is_valid(): context['hash_field'] = self.unused_name('hash') context['hash_value'] = self.security_hash(request, f) - return render_to_response(self.preview_template, context) + return render_to_response(self.preview_template, context, context_instance=RequestContext(request)) else: - return render_to_response(self.form_template, context) + return render_to_response(self.form_template, context, context_instance=RequestContext(request)) def post_post(self, request): "Validates the POST data. If valid, calls done(). Else, redisplays form." @@ -110,9 +113,11 @@ class FormPreview(object): if f.is_valid(): if self.security_hash(request, f) != request.POST.get(self.unused_name('hash')): return self.failed_hash(request) # Security hash failed. - return self.done(request, f.clean_data) + return self.done(request, f.cleaned_data) else: - return render_to_response(self.form_template, {'form': f, 'stage_field': self.unused_name('stage'), 'state': self.state}) + return render_to_response(self.form_template, + {'form': f, 'stage_field': self.unused_name('stage'), 'state': self.state}, + context_instance=RequestContext(request)) # METHODS SUBCLASSES MIGHT OVERRIDE IF APPROPRIATE ######################## @@ -155,6 +160,9 @@ class FormPreview(object): # METHODS SUBCLASSES MUST OVERRIDE ######################################## - def done(self, request, clean_data): - "Does something with the clean_data and returns an HttpResponseRedirect." + def done(self, request, cleaned_data): + """ + Does something with the cleaned_data and returns an + HttpResponseRedirect. + """ raise NotImplementedError('You must define a done() method on your %s subclass.' % self.__class__.__name__) diff --git a/django/contrib/formtools/templates/formtools/form.html b/django/contrib/formtools/templates/formtools/form.html index 90da8b2b2b..194bbdd675 100644 --- a/django/contrib/formtools/templates/formtools/form.html +++ b/django/contrib/formtools/templates/formtools/form.html @@ -9,7 +9,7 @@ {{ form }} -

                                                                                          +

                                                                                          {% endblock %} diff --git a/django/contrib/formtools/templates/formtools/preview.html b/django/contrib/formtools/templates/formtools/preview.html index c7955d46e1..983115758f 100644 --- a/django/contrib/formtools/templates/formtools/preview.html +++ b/django/contrib/formtools/templates/formtools/preview.html @@ -7,7 +7,7 @@ {% for field in form %} - + {% endfor %} @@ -30,7 +30,7 @@ {{ form }}
                                                                                          {{ field.verbose_name }}:{{ field.label }}: {{ field.data|escape }}
                                                                                          -

                                                                                          +

                                                                                          {% endblock %} diff --git a/django/contrib/humanize/templatetags/humanize.py b/django/contrib/humanize/templatetags/humanize.py index b2d28a0ab4..a16cbcc9bb 100644 --- a/django/contrib/humanize/templatetags/humanize.py +++ b/django/contrib/humanize/templatetags/humanize.py @@ -1,3 +1,5 @@ +from django.utils.translation import ngettext +from django.utils.translation import gettext_lazy as _ from django import template import re @@ -12,9 +14,9 @@ def ordinal(value): value = int(value) except ValueError: return value - t = ('th', 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th') + t = (_('th'), _('st'), _('nd'), _('rd'), _('th'), _('th'), _('th'), _('th'), _('th'), _('th')) if value % 100 in (11, 12, 13): # special case - return '%dth' % value + return "%d%s" % (value, t[0]) return '%d%s' % (value, t[value % 10]) register.filter(ordinal) @@ -41,11 +43,14 @@ def intword(value): if value < 1000000: return value if value < 1000000000: - return '%.1f million' % (value / 1000000.0) + new_value = value / 1000000.0 + return ngettext('%(value).1f million', '%(value).1f million', new_value) % {'value': new_value} if value < 1000000000000: - return '%.1f billion' % (value / 1000000000.0) + new_value = value / 1000000000.0 + return ngettext('%(value).1f billion', '%(value).1f billion', new_value) % {'value': new_value} if value < 1000000000000000: - return '%.1f trillion' % (value / 1000000000000.0) + new_value = value / 1000000000000.0 + return ngettext('%(value).1f trillion', '%(value).1f trillion', new_value) % {'value': new_value} return value register.filter(intword) @@ -60,5 +65,5 @@ def apnumber(value): return value if not 0 < value < 10: return value - return ('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine')[value-1] + return (_('one'), _('two'), _('three'), _('four'), _('five'), _('six'), _('seven'), _('eight'), _('nine'))[value-1] register.filter(apnumber) diff --git a/tests/regressiontests/markup/models.py b/django/contrib/localflavor/__init__.py similarity index 100% rename from tests/regressiontests/markup/models.py rename to django/contrib/localflavor/__init__.py diff --git a/django/contrib/localflavor/au/__init__.py b/django/contrib/localflavor/au/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/au/au_states.py b/django/contrib/localflavor/au/au_states.py new file mode 100644 index 0000000000..578d61bb01 --- /dev/null +++ b/django/contrib/localflavor/au/au_states.py @@ -0,0 +1,17 @@ +""" +An alphabetical list of states for use as `choices` in a formfield. + +This exists in this standalone file so that it's only imported into memory +when explicitly needed. +""" + +STATE_CHOICES = ( + ('ACT', 'Australian Capital Territory'), + ('NSW', 'New South Wales'), + ('NT', 'Northern Territory'), + ('QLD', 'Queensland'), + ('SA', 'South Australia'), + ('TAS', 'Tasmania'), + ('VIC', 'Victoria'), + ('WA', 'Western Australia'), +) diff --git a/django/contrib/localflavor/au/forms.py b/django/contrib/localflavor/au/forms.py new file mode 100644 index 0000000000..b81a903d13 --- /dev/null +++ b/django/contrib/localflavor/au/forms.py @@ -0,0 +1,43 @@ +""" +Australian-specific Form helpers +""" + +from django.newforms import ValidationError +from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES +from django.newforms.util import smart_unicode +from django.utils.translation import gettext +import re + +PHONE_DIGITS_RE = re.compile(r'^(\d{10})$') + +class AUPostCodeField(RegexField): + """Australian post code field.""" + def __init__(self, *args, **kwargs): + super(AUPostCodeField, self).__init__(r'^\d{4}$', + max_length=None, min_length=None, + error_message=gettext(u'Enter a 4 digit post code.'), + *args, **kwargs) + +class AUPhoneNumberField(Field): + """Australian phone number field.""" + def clean(self, value): + """Validate a phone number. Strips parentheses, whitespace and + hyphens. + """ + super(AUPhoneNumberField, self).clean(value) + if value in EMPTY_VALUES: + return u'' + value = re.sub('(\(|\)|\s+|-)', '', smart_unicode(value)) + phone_match = PHONE_DIGITS_RE.search(value) + if phone_match: + return u'%s' % phone_match.group(1) + raise ValidationError(u'Phone numbers must contain 10 digits.') + +class AUStateSelect(Select): + """ + A Select widget that uses a list of Australian states/territories as its + choices. + """ + def __init__(self, attrs=None): + from au_states import STATE_CHOICES # relative import + super(AUStateSelect, self).__init__(attrs, choices=STATE_CHOICES) diff --git a/django/contrib/localflavor/br/__init__.py b/django/contrib/localflavor/br/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/br/br_states.py b/django/contrib/localflavor/br/br_states.py new file mode 100644 index 0000000000..98e54bca2c --- /dev/null +++ b/django/contrib/localflavor/br/br_states.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +""" +An alphabetical list of Brazilian states for use as `choices` in a formfield. + +This exists in this standalone file so that it's only imported into memory +when explicitly needed. +""" + +STATE_CHOICES = ( + ('AC', 'Acre'), + ('AL', 'Alagoas'), + ('AP', u'Amapá'), + ('AM', 'Amazonas'), + ('BA', 'Bahia'), + ('CE', u'Ceará'), + ('DF', 'Distrito Federal'), + ('ES', u'Espírito Santo'), + ('GO', u'Goiás'), + ('MA', u'Maranhão'), + ('MT', 'Mato Grosso'), + ('MS', 'Mato Grosso do Sul'), + ('MG', 'Minas Gerais'), + ('PA', u'Pará'), + ('PB', u'Paraíba'), + ('PR', u'Paraná'), + ('PE', 'Pernambuco'), + ('PI', u'Piauí'), + ('RJ', 'Rio de Janeiro'), + ('RN', 'Rio Grande do Norte'), + ('RS', 'Rio Grande do Sul'), + ('RO', u'Rondônia'), + ('RR', 'Roraima'), + ('SC', 'Santa Catarina'), + ('SP', u'São Paulo'), + ('SE', 'Sergipe'), + ('TO', 'Tocantins'), +) diff --git a/django/contrib/localflavor/br/forms.py b/django/contrib/localflavor/br/forms.py new file mode 100644 index 0000000000..3487787643 --- /dev/null +++ b/django/contrib/localflavor/br/forms.py @@ -0,0 +1,119 @@ +# -*- coding: utf-8 -*- +""" +BR-specific Form helpers +""" + +from django.newforms import ValidationError +from django.newforms.fields import Field, RegexField, CharField, Select, EMPTY_VALUES +from django.utils.encoding import smart_unicode +from django.utils.translation import gettext +import re + +phone_digits_re = re.compile(r'^(\d{2})[-\.]?(\d{4})[-\.]?(\d{4})$') + +class BRZipCodeField(RegexField): + def __init__(self, *args, **kwargs): + super(BRZipCodeField, self).__init__(r'^\d{5}-\d{3}$', + max_length=None, min_length=None, + error_message=gettext('Enter a zip code in the format XXXXX-XXX.'), + *args, **kwargs) + +class BRPhoneNumberField(Field): + def clean(self, value): + super(BRPhoneNumberField, self).clean(value) + if value in EMPTY_VALUES: + return u'' + value = re.sub('(\(|\)|\s+)', '', smart_unicode(value)) + m = phone_digits_re.search(value) + if m: + return u'%s-%s-%s' % (m.group(1), m.group(2), m.group(3)) + raise ValidationError(gettext(u'Phone numbers must be in XX-XXXX-XXXX format.')) + +class BRStateSelect(Select): + """ + A Select widget that uses a list of Brazilian states/territories + as its choices. + """ + def __init__(self, attrs=None): + from br_states import STATE_CHOICES # relative import + super(BRStateSelect, self).__init__(attrs, choices=STATE_CHOICES) + + +def DV_maker(v): + if v >= 2: + return 11 - v + return 0 + +class BRCPFField(CharField): + """ + This field validate a CPF number or a CPF string. A CPF number is + compounded by XXX.XXX.XXX-VD. The two last digits are check digits. + + More information: + http://en.wikipedia.org/wiki/Cadastro_de_Pessoas_F%C3%ADsicas + """ + def __init__(self, *args, **kwargs): + super(BRCPFField, self).__init__(max_length=14, min_length=11, *args, **kwargs) + + def clean(self, value): + """ + Value can be either a string in the format XXX.XXX.XXX-XX or an + 11-digit number. + """ + value = super(BRCPFField, self).clean(value) + if value in EMPTY_VALUES: + return u'' + orig_value = value[:] + if not value.isdigit(): + value = re.sub("[-\.]", "", value) + try: + int(value) + except ValueError: + raise ValidationError(gettext("This field requires only numbers.")) + if len(value) != 11: + raise ValidationError(gettext("This field requires at most 11 digits or 14 characters.")) + orig_dv = value[-2:] + + new_1dv = sum([i * int(value[idx]) for idx, i in enumerate(range(10, 1, -1))]) + new_1dv = DV_maker(new_1dv % 11) + value = value[:-2] + str(new_1dv) + value[-1] + new_2dv = sum([i * int(value[idx]) for idx, i in enumerate(range(11, 1, -1))]) + new_2dv = DV_maker(new_2dv % 11) + value = value[:-1] + str(new_2dv) + if value[-2:] != orig_dv: + raise ValidationError(gettext("Invalid CPF number.")) + + return orig_value + +class BRCNPJField(Field): + def clean(self, value): + """ + Value can be either a string in the format XX.XXX.XXX/XXXX-XX or a + group of 14 characters. + """ + value = super(BRCNPJField, self).clean(value) + if value in EMPTY_VALUES: + return u'' + orig_value = value[:] + if not value.isdigit(): + value = re.sub("[-/\.]", "", value) + try: + int(value) + except ValueError: + raise ValidationError("This field requires only numbers.") + if len(value) != 14: + raise ValidationError( + gettext("This field requires at least 14 digits")) + orig_dv = value[-2:] + + new_1dv = sum([i * int(value[idx]) for idx, i in enumerate(range(5, 1, -1) + range(9, 1, -1))]) + new_1dv = DV_maker(new_1dv % 11) + value = value[:-2] + str(new_1dv) + value[-1] + new_2dv = sum([i * int(value[idx]) for idx, i in enumerate(range(6, 1, -1) + range(9, 1, -1))]) + new_2dv = DV_maker(new_2dv % 11) + value = value[:-1] + str(new_2dv) + if value[-2:] != orig_dv: + raise ValidationError(gettext("Invalid CNPJ number.")) + + return orig_value + diff --git a/django/contrib/localflavor/ch/__init__.py b/django/contrib/localflavor/ch/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/ch/ch_states.py b/django/contrib/localflavor/ch/ch_states.py new file mode 100644 index 0000000000..e9bbcc6268 --- /dev/null +++ b/django/contrib/localflavor/ch/ch_states.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -* +from django.utils.translation import gettext_lazy as _ + +STATE_CHOICES = ( + ('AG', _('Aargau')), + ('AI', _('Appenzell Innerrhoden')), + ('AR', _('Appenzell Ausserrhoden')), + ('BS', _('Basel-Stadt')), + ('BL', _('Basel-Land')), + ('BE', _('Berne')), + ('FR', _('Fribourg')), + ('GE', _('Geneva')), + ('GL', _('Glarus')), + ('GR', _('Graubuenden')), + ('JU', _('Jura')), + ('LU', _('Lucerne')), + ('NE', _('Neuchatel')), + ('NW', _('Nidwalden')), + ('OW', _('Obwalden')), + ('SH', _('Schaffhausen')), + ('SZ', _('Schwyz')), + ('SO', _('Solothurn')), + ('SG', _('St. Gallen')), + ('TG', _('Thurgau')), + ('TI', _('Ticino')), + ('UR', _('Uri')), + ('VS', _('Valais')), + ('VD', _('Vaud')), + ('ZG', _('Zug')), + ('ZH', _('Zurich')) +) diff --git a/django/contrib/localflavor/ch/forms.py b/django/contrib/localflavor/ch/forms.py new file mode 100644 index 0000000000..51e52dc0e9 --- /dev/null +++ b/django/contrib/localflavor/ch/forms.py @@ -0,0 +1,109 @@ +""" +Swiss-specific Form helpers +""" + +from django.newforms import ValidationError +from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES +from django.utils.encoding import smart_unicode +from django.utils.translation import gettext +import re + +id_re = re.compile(r"^(?P\w{8})(?P(\d{1}|<))(?P\d{1})$") +phone_digits_re = re.compile(r'^0([1-9]{1})\d{8}$') + +class CHZipCodeField(RegexField): + def __init__(self, *args, **kwargs): + super(CHZipCodeField, self).__init__(r'^\d{4}$', + max_length=None, min_length=None, + error_message=gettext('Enter a zip code in the format XXXX.'), + *args, **kwargs) + +class CHPhoneNumberField(Field): + """ + Validate local Swiss phone number (not international ones) + The correct format is '0XX XXX XX XX'. + '0XX.XXX.XX.XX' and '0XXXXXXXXX' validate but are corrected to + '0XX XXX XX XX'. + """ + def clean(self, value): + super(CHPhoneNumberField, self).clean(value) + if value in EMPTY_VALUES: + return u'' + value = re.sub('(\.|\s|/|-)', '', smart_unicode(value)) + m = phone_digits_re.search(value) + if m: + return u'%s %s %s %s' % (value[0:3], value[3:6], value[6:8], value[8:10]) + raise ValidationError('Phone numbers must be in 0XX XXX XX XX format.') + +class CHStateSelect(Select): + """ + A Select widget that uses a list of CH states as its choices. + """ + def __init__(self, attrs=None): + from ch_states import STATE_CHOICES # relative import + super(CHStateSelect, self).__init__(attrs, choices=STATE_CHOICES) + +class CHIdentityCardNumberField(Field): + """ + A Swiss identity card number. + + Checks the following rules to determine whether the number is valid: + + * Conforms to the X1234567<0 or 1234567890 format. + * Included checksums match calculated checksums + + Algorithm is documented at http://adi.kousz.ch/artikel/IDCHE.htm + """ + def has_valid_checksum(self, number): + given_number, given_checksum = number[:-1], number[-1] + new_number = given_number + calculated_checksum = 0 + fragment = "" + parameter = 7 + + first = str(number[:1]) + if first.isalpha(): + num = ord(first.upper()) - 65 + if num < 0 or num > 8: + return False + new_number = str(num) + new_number[1:] + new_number = new_number[:8] + '0' + + if not new_number.isdigit(): + return False + + for i in range(len(new_number)): + fragment = int(new_number[i])*parameter + calculated_checksum += fragment + + if parameter == 1: + parameter = 7 + elif parameter == 3: + parameter = 1 + elif parameter ==7: + parameter = 3 + + return str(calculated_checksum)[-1] == given_checksum + + def clean(self, value): + super(CHIdentityCardNumberField, self).clean(value) + error_msg = gettext('Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format.') + if value in EMPTY_VALUES: + return u'' + + match = re.match(id_re, value) + if not match: + raise ValidationError(error_msg) + + idnumber, pos9, checksum = match.groupdict()['idnumber'], match.groupdict()['pos9'], match.groupdict()['checksum'] + + if idnumber == '00000000' or \ + idnumber == 'A0000000': + raise ValidationError(error_msg) + + all_digits = "%s%s%s" % (idnumber, pos9, checksum) + if not self.has_valid_checksum(all_digits): + raise ValidationError(error_msg) + + return u'%s%s%s' % (idnumber, pos9, checksum) + diff --git a/django/contrib/localflavor/cl/__init__.py b/django/contrib/localflavor/cl/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/cl/forms.py b/django/contrib/localflavor/cl/forms.py new file mode 100644 index 0000000000..87c8093407 --- /dev/null +++ b/django/contrib/localflavor/cl/forms.py @@ -0,0 +1,78 @@ +""" +Chile specific form helpers. +""" + +from django.newforms import ValidationError +from django.newforms.fields import RegexField, EMPTY_VALUES +from django.utils.translation import gettext + +class CLRutField(RegexField): + """ + Chilean "Rol Unico Tributario" (RUT) field. This is the Chilean national + identification number. + + Samples for testing are available from + https://palena.sii.cl/cvc/dte/ee_empresas_emisoras.html + """ + def __init__(self, *args, **kwargs): + if 'strict' in kwargs: + del kwargs['strict'] + super(CLRutField, self).__init__(r'^(\d{1,2}\.)?\d{3}\.\d{3}-[\dkK]$', + error_message=gettext('Enter valid a Chilean RUT. The format is XX.XXX.XXX-X.'), + *args, **kwargs) + else: + # In non-strict mode, accept RUTs that validate but do not exist in + # the real world. + super(CLRutField, self).__init__(r'^[\d\.]{1,11}-?[\dkK]$', error_message=gettext(u'Enter valid a Chilean RUT'), *args, **kwargs) + + def clean(self, value): + """ + Check and clean the Chilean RUT. + """ + super(CLRutField, self).clean(value) + if value in EMPTY_VALUES: + return u'' + rut, verificador = self._canonify(value) + if self._algorithm(rut) == verificador: + return self._format(rut, verificador) + else: + raise ValidationError(u'The Chilean RUT is not valid.') + + def _algorithm(self, rut): + """ + Takes RUT in pure canonical form, calculates the verifier digit. + """ + suma = 0 + multi = 2 + for r in rut[::-1]: + suma += int(r) * multi + multi += 1 + if multi == 8: + multi = 2 + return '0123456789K0'[11 - suma % 11] + + def _canonify(self, rut): + """ + Turns the RUT into one normalized format. Returns a (rut, verifier) + tuple. + """ + rut = str(rut).replace(' ', '').replace('.', '').replace('-', '') + return rut[:-1], rut[-1] + + def _format(self, code, verifier=None): + """ + Formats the RUT from canonical form to the common string representation. + If verifier=None, then the last digit in 'code' is the verifier. + """ + if verifier is None: + verifier = code[-1] + code = code[:-1] + while len(code) > 3 and '.' not in code[:3]: + pos = code.find('.') + if pos == -1: + new_dot = -3 + else: + new_dot = pos - 3 + code = code[:new_dot] + '.' + code[new_dot:] + return '%s-%s' % (code, verifier) + diff --git a/django/contrib/localflavor/de/__init__.py b/django/contrib/localflavor/de/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/de/de_states.py b/django/contrib/localflavor/de/de_states.py new file mode 100644 index 0000000000..c00fd2e293 --- /dev/null +++ b/django/contrib/localflavor/de/de_states.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -* +from django.utils.translation import gettext_lazy as _ + +STATE_CHOICES = ( + ('BW', _('Baden-Wuerttemberg')), + ('BY', _('Bavaria')), + ('BE', _('Berlin')), + ('BB', _('Brandenburg')), + ('HB', _('Bremen')), + ('HH', _('Hamburg')), + ('HE', _('Hessen')), + ('MV', _('Mecklenburg-Western Pomerania')), + ('NI', _('Lower Saxony')), + ('NW', _('North Rhine-Westphalia')), + ('RP', _('Rhineland-Palatinate')), + ('SL', _('Saarland')), + ('SN', _('Saxony')), + ('ST', _('Saxony-Anhalt')), + ('SH', _('Schleswig-Holstein')), + ('TH', _('Thuringia')), +) diff --git a/django/contrib/localflavor/de/forms.py b/django/contrib/localflavor/de/forms.py new file mode 100644 index 0000000000..8e140c125f --- /dev/null +++ b/django/contrib/localflavor/de/forms.py @@ -0,0 +1,79 @@ +""" +DE-specific Form helpers +""" + +from django.newforms import ValidationError +from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES +from django.utils.translation import gettext +import re + +id_re = re.compile(r"^(?P\d{10})(?P\w{1,3})[-\ ]?(?P\d{7})[-\ ]?(?P\d{7})[-\ ]?(?P\d{1})$") + +class DEZipCodeField(RegexField): + def __init__(self, *args, **kwargs): + super(DEZipCodeField, self).__init__(r'^\d{5}$', + max_length=None, min_length=None, + error_message=gettext(u'Enter a zip code in the format XXXXX.'), + *args, **kwargs) + +class DEStateSelect(Select): + """ + A Select widget that uses a list of DE states as its choices. + """ + def __init__(self, attrs=None): + from de_states import STATE_CHOICES # relative import + super(DEStateSelect, self).__init__(attrs, choices=STATE_CHOICES) + +class DEIdentityCardNumberField(Field): + """ + A German identity card number. + + Checks the following rules to determine whether the number is valid: + + * Conforms to the XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format. + * No group consists entirely of zeroes. + * Included checksums match calculated checksums + + Algorithm is documented at http://de.wikipedia.org/wiki/Personalausweis + """ + def has_valid_checksum(self, number): + given_number, given_checksum = number[:-1], number[-1] + calculated_checksum = 0 + fragment = "" + parameter = 7 + + for i in range(len(given_number)): + fragment = str(int(given_number[i]) * parameter) + if fragment.isalnum(): + calculated_checksum += int(fragment[-1]) + if parameter == 1: + parameter = 7 + elif parameter == 3: + parameter = 1 + elif parameter ==7: + parameter = 3 + + return str(calculated_checksum)[-1] == given_checksum + + def clean(self, value): + super(DEIdentityCardNumberField, self).clean(value) + error_msg = gettext(u'Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format.') + if value in EMPTY_VALUES: + return u'' + match = re.match(id_re, value) + if not match: + raise ValidationError(error_msg) + + gd = match.groupdict() + residence, origin = gd['residence'], gd['origin'] + birthday, validity, checksum = gd['birthday'], gd['validity'], gd['checksum'] + + if residence == '0000000000' or birthday == '0000000' or validity == '0000000': + raise ValidationError(error_msg) + + all_digits = "%s%s%s%s" % (residence, birthday, validity, checksum) + if not self.has_valid_checksum(residence) or not self.has_valid_checksum(birthday) or \ + not self.has_valid_checksum(validity) or not self.has_valid_checksum(all_digits): + raise ValidationError(error_msg) + + return u'%s%s-%s-%s-%s' % (residence, origin, birthday, validity, checksum) diff --git a/django/contrib/localflavor/fi/__init__.py b/django/contrib/localflavor/fi/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/fi/fi_municipalities.py b/django/contrib/localflavor/fi/fi_municipalities.py new file mode 100644 index 0000000000..965a52d327 --- /dev/null +++ b/django/contrib/localflavor/fi/fi_municipalities.py @@ -0,0 +1,427 @@ +# -*- coding: utf-8 -*- +""" +An alphabetical list of Finnish municipalities for use as `choices` in a +formfield. + +This exists in this standalone file so that it's only imported into memory +when explicitly needed. +""" + +MUNICIPALITY_CHOICES = ( + ('akaa', u"Akaa"), + ('alaharma', u"Alahärmä"), + ('alajarvi', u"Alajärvi"), + ('alastaro', u"Alastaro"), + ('alavieska', u"Alavieska"), + ('alavus', u"Alavus"), + ('anjalankoski', u"Anjalankoski"), + ('artjarvi', u"Artjärvi"), + ('asikkala', u"Asikkala"), + ('askainen', u"Askainen"), + ('askola', u"Askola"), + ('aura', u"Aura"), + ('brando', u"Brändö"), + ('dragsfjard', u"Dragsfjärd"), + ('eckero', u"Eckerö"), + ('elimaki', u"Elimäki"), + ('eno', u"Eno"), + ('enonkoski', u"Enonkoski"), + ('enontekio', u"Enontekiö"), + ('espoo', u"Espoo"), + ('eura', u"Eura"), + ('eurajoki', u"Eurajoki"), + ('evijarvi', u"Evijärvi"), + ('finstrom', u"Finström"), + ('forssa', u"Forssa"), + ('foglo', u"Föglö"), + ('geta', u"Geta"), + ('haapajarvi', u"Haapajärvi"), + ('haapavesi', u"Haapavesi"), + ('hailuoto', u"Hailuoto"), + ('halikko', u"Halikko"), + ('halsua', u"Halsua"), + ('hamina', u"Hamina"), + ('hammarland', u"Hammarland"), + ('hankasalmi', u"Hankasalmi"), + ('hanko', u"Hanko"), + ('harjavalta', u"Harjavalta"), + ('hartola', u"Hartola"), + ('hattula', u"Hattula"), + ('hauho', u"Hauho"), + ('haukipudas', u"Haukipudas"), + ('hausjarvi', u"Hausjärvi"), + ('heinola', u"Heinola"), + ('heinavesi', u"Heinävesi"), + ('helsinki', u"Helsinki"), + ('himanka', u"Himanka"), + ('hirvensalmi', u"Hirvensalmi"), + ('hollola', u"Hollola"), + ('honkajoki', u"Honkajoki"), + ('houtskari', u"Houtskari"), + ('huittinen', u"Huittinen"), + ('humppila', u"Humppila"), + ('hyrynsalmi', u"Hyrynsalmi"), + ('hyvinkaa', u"Hyvinkää"), + ('hameenkoski', u"Hämeenkoski"), + ('hameenkyro', u"Hämeenkyrö"), + ('hameenlinna', u"Hämeenlinna"), + ('ii', u"Ii"), + ('iisalmi', u"Iisalmi"), + ('iitti', u"Iitti"), + ('ikaalinen', u"Ikaalinen"), + ('ilmajoki', u"Ilmajoki"), + ('ilomantsi', u"Ilomantsi"), + ('imatra', u"Imatra"), + ('inari', u"Inari"), + ('inio', u"Iniö"), + ('inkoo', u"Inkoo"), + ('isojoki', u"Isojoki"), + ('isokyro', u"Isokyrö"), + ('jaala', u"Jaala"), + ('jalasjarvi', u"Jalasjärvi"), + ('janakkala', u"Janakkala"), + ('joensuu', u"Joensuu"), + ('jokioinen', u"Jokioinen"), + ('jomala', u"Jomala"), + ('joroinen', u"Joroinen"), + ('joutsa', u"Joutsa"), + ('joutseno', u"Joutseno"), + ('juankoski', u"Juankoski"), + ('jurva', u"Jurva"), + ('juuka', u"Juuka"), + ('juupajoki', u"Juupajoki"), + ('juva', u"Juva"), + ('jyvaskyla', u"Jyväskylä"), + ('jyvaskylan_mlk', u"Jyväskylän maalaiskunta"), + ('jamijarvi', u"Jämijärvi"), + ('jamsa', u"Jämsä"), + ('jamsankoski', u"Jämsänkoski"), + ('jarvenpaa', u"Järvenpää"), + ('kaarina', u"Kaarina"), + ('kaavi', u"Kaavi"), + ('kajaani', u"Kajaani"), + ('kalajoki', u"Kalajoki"), + ('kalvola', u"Kalvola"), + ('kangasala', u"Kangasala"), + ('kangasniemi', u"Kangasniemi"), + ('kankaanpaa', u"Kankaanpää"), + ('kannonkoski', u"Kannonkoski"), + ('kannus', u"Kannus"), + ('karijoki', u"Karijoki"), + ('karjaa', u"Karjaa"), + ('karjalohja', u"Karjalohja"), + ('karkkila', u"Karkkila"), + ('karstula', u"Karstula"), + ('karttula', u"Karttula"), + ('karvia', u"Karvia"), + ('kaskinen', u"Kaskinen"), + ('kauhajoki', u"Kauhajoki"), + ('kauhava', u"Kauhava"), + ('kauniainen', u"Kauniainen"), + ('kaustinen', u"Kaustinen"), + ('keitele', u"Keitele"), + ('kemi', u"Kemi"), + ('kemijarvi', u"Kemijärvi"), + ('keminmaa', u"Keminmaa"), + ('kemio', u"Kemiö"), + ('kempele', u"Kempele"), + ('kerava', u"Kerava"), + ('kerimaki', u"Kerimäki"), + ('kestila', u"Kestilä"), + ('kesalahti', u"Kesälahti"), + ('keuruu', u"Keuruu"), + ('kihnio', u"Kihniö"), + ('kiikala', u"Kiikala"), + ('kiikoinen', u"Kiikoinen"), + ('kiiminki', u"Kiiminki"), + ('kinnula', u"Kinnula"), + ('kirkkonummi', u"Kirkkonummi"), + ('kisko', u"Kisko"), + ('kitee', u"Kitee"), + ('kittila', u"Kittilä"), + ('kiukainen', u"Kiukainen"), + ('kiuruvesi', u"Kiuruvesi"), + ('kivijarvi', u"Kivijärvi"), + ('kokemaki', u"Kokemäki"), + ('kokkola', u"Kokkola"), + ('kolari', u"Kolari"), + ('konnevesi', u"Konnevesi"), + ('kontiolahti', u"Kontiolahti"), + ('korpilahti', u"Korpilahti"), + ('korppoo', u"Korppoo"), + ('korsnas', u"Korsnäs"), + ('kortesjarvi', u"Kortesjärvi"), + ('koskitl', u"KoskiTl"), + ('kotka', u"Kotka"), + ('kouvola', u"Kouvola"), + ('kristiinankaupunki', u"Kristiinankaupunki"), + ('kruunupyy', u"Kruunupyy"), + ('kuhmalahti', u"Kuhmalahti"), + ('kuhmo', u"Kuhmo"), + ('kuhmoinen', u"Kuhmoinen"), + ('kumlinge', u"Kumlinge"), + ('kuopio', u"Kuopio"), + ('kuortane', u"Kuortane"), + ('kurikka', u"Kurikka"), + ('kuru', u"Kuru"), + ('kustavi', u"Kustavi"), + ('kuusamo', u"Kuusamo"), + ('kuusankoski', u"Kuusankoski"), + ('kuusjoki', u"Kuusjoki"), + ('kylmakoski', u"Kylmäkoski"), + ('kyyjarvi', u"Kyyjärvi"), + ('kalvia', u"Kälviä"), + ('karkola', u"Kärkölä"), + ('karsamaki', u"Kärsämäki"), + ('kokar', u"Kökar"), + ('koylio', u"Köyliö"), + ('lahti', u"Lahti"), + ('laihia', u"Laihia"), + ('laitila', u"Laitila"), + ('lammi', u"Lammi"), + ('lapinjarvi', u"Lapinjärvi"), + ('lapinlahti', u"Lapinlahti"), + ('lappajarvi', u"Lappajärvi"), + ('lappeenranta', u"Lappeenranta"), + ('lappi', u"Lappi"), + ('lapua', u"Lapua"), + ('laukaa', u"Laukaa"), + ('lavia', u"Lavia"), + ('lehtimaki', u"Lehtimäki"), + ('leivonmaki', u"Leivonmäki"), + ('lemi', u"Lemi"), + ('lemland', u"Lemland"), + ('lempaala', u"Lempäälä"), + ('lemu', u"Lemu"), + ('leppavirta', u"Leppävirta"), + ('lestijarvi', u"Lestijärvi"), + ('lieksa', u"Lieksa"), + ('lieto', u"Lieto"), + ('liljendal', u"Liljendal"), + ('liminka', u"Liminka"), + ('liperi', u"Liperi"), + ('lohja', u"Lohja"), + ('lohtaja', u"Lohtaja"), + ('loimaa', u"Loimaa"), + ('loppi', u"Loppi"), + ('loviisa', u"Loviisa"), + ('luhanka', u"Luhanka"), + ('lumijoki', u"Lumijoki"), + ('lumparland', u"Lumparland"), + ('luoto', u"Luoto"), + ('luumaki', u"Luumäki"), + ('luvia', u"Luvia"), + ('maalahti', u"Maalahti"), + ('maaninka', u"Maaninka"), + ('maarianhamina', u"Maarianhamina"), + ('marttila', u"Marttila"), + ('masku', u"Masku"), + ('mellila', u"Mellilä"), + ('merijarvi', u"Merijärvi"), + ('merikarvia', u"Merikarvia"), + ('merimasku', u"Merimasku"), + ('miehikkala', u"Miehikkälä"), + ('mikkeli', u"Mikkeli"), + ('mouhijarvi', u"Mouhijärvi"), + ('muhos', u"Muhos"), + ('multia', u"Multia"), + ('muonio', u"Muonio"), + ('mustasaari', u"Mustasaari"), + ('muurame', u"Muurame"), + ('muurla', u"Muurla"), + ('mynamaki', u"Mynämäki"), + ('myrskyla', u"Myrskylä"), + ('mantsala', u"Mäntsälä"), + ('mantta', u"Mänttä"), + ('mantyharju', u"Mäntyharju"), + ('naantali', u"Naantali"), + ('nakkila', u"Nakkila"), + ('nastola', u"Nastola"), + ('nauvo', u"Nauvo"), + ('nilsia', u"Nilsiä"), + ('nivala', u"Nivala"), + ('nokia', u"Nokia"), + ('noormarkku', u"Noormarkku"), + ('nousiainen', u"Nousiainen"), + ('nummi-pusula', u"Nummi-Pusula"), + ('nurmes', u"Nurmes"), + ('nurmijarvi', u"Nurmijärvi"), + ('nurmo', u"Nurmo"), + ('narpio', u"Närpiö"), + ('oravainen', u"Oravainen"), + ('orimattila', u"Orimattila"), + ('oripaa', u"Oripää"), + ('orivesi', u"Orivesi"), + ('oulainen', u"Oulainen"), + ('oulu', u"Oulu"), + ('oulunsalo', u"Oulunsalo"), + ('outokumpu', u"Outokumpu"), + ('padasjoki', u"Padasjoki"), + ('paimio', u"Paimio"), + ('paltamo', u"Paltamo"), + ('parainen', u"Parainen"), + ('parikkala', u"Parikkala"), + ('parkano', u"Parkano"), + ('pedersore', u"Pedersöre"), + ('pelkosenniemi', u"Pelkosenniemi"), + ('pello', u"Pello"), + ('perho', u"Perho"), + ('pernaja', u"Pernaja"), + ('pernio', u"Perniö"), + ('pertteli', u"Pertteli"), + ('pertunmaa', u"Pertunmaa"), + ('petajavesi', u"Petäjävesi"), + ('pieksamaki', u"Pieksämäki"), + ('pielavesi', u"Pielavesi"), + ('pietarsaari', u"Pietarsaari"), + ('pihtipudas', u"Pihtipudas"), + ('piikkio', u"Piikkiö"), + ('piippola', u"Piippola"), + ('pirkkala', u"Pirkkala"), + ('pohja', u"Pohja"), + ('polvijarvi', u"Polvijärvi"), + ('pomarkku', u"Pomarkku"), + ('pori', u"Pori"), + ('pornainen', u"Pornainen"), + ('porvoo', u"Porvoo"), + ('posio', u"Posio"), + ('pudasjarvi', u"Pudasjärvi"), + ('pukkila', u"Pukkila"), + ('pulkkila', u"Pulkkila"), + ('punkaharju', u"Punkaharju"), + ('punkalaidun', u"Punkalaidun"), + ('puolanka', u"Puolanka"), + ('puumala', u"Puumala"), + ('pyhtaa', u"Pyhtää"), + ('pyhajoki', u"Pyhäjoki"), + ('pyhajarvi', u"Pyhäjärvi"), + ('pyhanta', u"Pyhäntä"), + ('pyharanta', u"Pyhäranta"), + ('pyhaselka', u"Pyhäselkä"), + ('pylkonmaki', u"Pylkönmäki"), + ('palkane', u"Pälkäne"), + ('poytya', u"Pöytyä"), + ('raahe', u"Raahe"), + ('raisio', u"Raisio"), + ('rantasalmi', u"Rantasalmi"), + ('rantsila', u"Rantsila"), + ('ranua', u"Ranua"), + ('rauma', u"Rauma"), + ('rautalampi', u"Rautalampi"), + ('rautavaara', u"Rautavaara"), + ('rautjarvi', u"Rautjärvi"), + ('reisjarvi', u"Reisjärvi"), + ('renko', u"Renko"), + ('riihimaki', u"Riihimäki"), + ('ristiina', u"Ristiina"), + ('ristijarvi', u"Ristijärvi"), + ('rovaniemi', u"Rovaniemi"), + ('ruokolahti', u"Ruokolahti"), + ('ruotsinpyhtaa', u"Ruotsinpyhtää"), + ('ruovesi', u"Ruovesi"), + ('rusko', u"Rusko"), + ('rymattyla', u"Rymättylä"), + ('raakkyla', u"Rääkkylä"), + ('saarijarvi', u"Saarijärvi"), + ('salla', u"Salla"), + ('salo', u"Salo"), + ('saltvik', u"Saltvik"), + ('sammatti', u"Sammatti"), + ('sauvo', u"Sauvo"), + ('savitaipale', u"Savitaipale"), + ('savonlinna', u"Savonlinna"), + ('savonranta', u"Savonranta"), + ('savukoski', u"Savukoski"), + ('seinajoki', u"Seinäjoki"), + ('sievi', u"Sievi"), + ('siikainen', u"Siikainen"), + ('siikajoki', u"Siikajoki"), + ('siilinjarvi', u"Siilinjärvi"), + ('simo', u"Simo"), + ('sipoo', u"Sipoo"), + ('siuntio', u"Siuntio"), + ('sodankyla', u"Sodankylä"), + ('soini', u"Soini"), + ('somero', u"Somero"), + ('sonkajarvi', u"Sonkajärvi"), + ('sotkamo', u"Sotkamo"), + ('sottunga', u"Sottunga"), + ('sulkava', u"Sulkava"), + ('sund', u"Sund"), + ('suomenniemi', u"Suomenniemi"), + ('suomusjarvi', u"Suomusjärvi"), + ('suomussalmi', u"Suomussalmi"), + ('suonenjoki', u"Suonenjoki"), + ('sysma', u"Sysmä"), + ('sakyla', u"Säkylä"), + ('sarkisalo', u"Särkisalo"), + ('taipalsaari', u"Taipalsaari"), + ('taivalkoski', u"Taivalkoski"), + ('taivassalo', u"Taivassalo"), + ('tammela', u"Tammela"), + ('tammisaari', u"Tammisaari"), + ('tampere', u"Tampere"), + ('tarvasjoki', u"Tarvasjoki"), + ('tervo', u"Tervo"), + ('tervola', u"Tervola"), + ('teuva', u"Teuva"), + ('tohmajarvi', u"Tohmajärvi"), + ('toholampi', u"Toholampi"), + ('toivakka', u"Toivakka"), + ('tornio', u"Tornio"), + ('turku', u"Turku"), + ('tuulos', u"Tuulos"), + ('tuusniemi', u"Tuusniemi"), + ('tuusula', u"Tuusula"), + ('tyrnava', u"Tyrnävä"), + ('toysa', u"Töysä"), + ('ullava', u"Ullava"), + ('ulvila', u"Ulvila"), + ('urjala', u"Urjala"), + ('utajarvi', u"Utajärvi"), + ('utsjoki', u"Utsjoki"), + ('uurainen', u"Uurainen"), + ('uusikaarlepyy', u"Uusikaarlepyy"), + ('uusikaupunki', u"Uusikaupunki"), + ('vaala', u"Vaala"), + ('vaasa', u"Vaasa"), + ('vahto', u"Vahto"), + ('valkeakoski', u"Valkeakoski"), + ('valkeala', u"Valkeala"), + ('valtimo', u"Valtimo"), + ('vammala', u"Vammala"), + ('vampula', u"Vampula"), + ('vantaa', u"Vantaa"), + ('varkaus', u"Varkaus"), + ('varpaisjarvi', u"Varpaisjärvi"), + ('vehmaa', u"Vehmaa"), + ('velkua', u"Velkua"), + ('vesanto', u"Vesanto"), + ('vesilahti', u"Vesilahti"), + ('veteli', u"Veteli"), + ('vierema', u"Vieremä"), + ('vihanti', u"Vihanti"), + ('vihti', u"Vihti"), + ('viitasaari', u"Viitasaari"), + ('vilppula', u"Vilppula"), + ('vimpeli', u"Vimpeli"), + ('virolahti', u"Virolahti"), + ('virrat', u"Virrat"), + ('vardo', u"Vårdö"), + ('vahakyro', u"Vähäkyrö"), + ('vastanfjard', u"Västanfjärd"), + ('voyri-maksamaa', u"Vöyri-Maksamaa"), + ('yliharma', u"Ylihärmä"), + ('yli-ii', u"Yli-Ii"), + ('ylikiiminki', u"Ylikiiminki"), + ('ylistaro', u"Ylistaro"), + ('ylitornio', u"Ylitornio"), + ('ylivieska', u"Ylivieska"), + ('ylamaa', u"Ylämaa"), + ('ylane', u"Yläne"), + ('ylojarvi', u"Ylöjärvi"), + ('ypaja', u"Ypäjä"), + ('aetsa', u"Äetsä"), + ('ahtari', u"Ähtäri"), + ('aanekoski', u"Äänekoski") +) \ No newline at end of file diff --git a/django/contrib/localflavor/fi/forms.py b/django/contrib/localflavor/fi/forms.py new file mode 100644 index 0000000000..da5cb5f2a8 --- /dev/null +++ b/django/contrib/localflavor/fi/forms.py @@ -0,0 +1,45 @@ +""" +FI-specific Form helpers +""" + +import re +from django.newforms import ValidationError +from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES +from django.utils.translation import gettext + +class FIZipCodeField(RegexField): + def __init__(self, *args, **kwargs): + super(FIZipCodeField, self).__init__(r'^\d{5}$', + max_length=None, min_length=None, + error_message=gettext(u'Enter a zip code in the format XXXXX.'), + *args, **kwargs) + +class FIMunicipalitySelect(Select): + """ + A Select widget that uses a list of Finnish municipalities as its choices. + """ + def __init__(self, attrs=None): + from fi_municipalities import MUNICIPALITY_CHOICES # relative import + super(FIMunicipalitySelect, self).__init__(attrs, choices=MUNICIPALITY_CHOICES) + +class FISocialSecurityNumber(Field): + def clean(self, value): + super(FISocialSecurityNumber, self).clean(value) + if value in EMPTY_VALUES: + return u'' + + checkmarks = "0123456789ABCDEFHJKLMNPRSTUVWXY" + result = re.match(r"""^ + (?P([0-2]\d|3[01]) + (0\d|1[012]) + (\d{2})) + [A+-] + (?P(\d{3})) + (?P[%s])$""" % checkmarks, value, re.VERBOSE | re.IGNORECASE) + if not result: + raise ValidationError(gettext(u'Enter a valid Finnish social security number.')) + gd = result.groupdict() + checksum = int(gd['date'] + gd['serial']) + if checkmarks[checksum % len(checkmarks)] == gd['checksum'].upper(): + return u'%s' % value.upper() + raise ValidationError(gettext(u'Enter a valid Finnish social security number.')) diff --git a/django/contrib/localflavor/fr/__init__.py b/django/contrib/localflavor/fr/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/fr/forms.py b/django/contrib/localflavor/fr/forms.py new file mode 100644 index 0000000000..550596b880 --- /dev/null +++ b/django/contrib/localflavor/fr/forms.py @@ -0,0 +1,44 @@ +""" +FR-specific Form helpers +""" + +from django.newforms import ValidationError +from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES +from django.utils.encoding import smart_unicode +from django.utils.translation import gettext +import re + +phone_digits_re = re.compile(r'^0\d(\s|\.)?(\d{2}(\s|\.)?){3}\d{2}$') + +class FRZipCodeField(RegexField): + def __init__(self, *args, **kwargs): + super(FRZipCodeField, self).__init__(r'^\d{5}$', + max_length=None, min_length=None, + error_message=gettext(u'Enter a zip code in the format XXXXX.'), + *args, **kwargs) + +class FRPhoneNumberField(Field): + """ + Validate local French phone number (not international ones) + The correct format is '0X XX XX XX XX'. + '0X.XX.XX.XX.XX' and '0XXXXXXXXX' validate but are corrected to + '0X XX XX XX XX'. + """ + def clean(self, value): + super(FRPhoneNumberField, self).clean(value) + if value in EMPTY_VALUES: + return u'' + value = re.sub('(\.|\s)', '', smart_unicode(value)) + m = phone_digits_re.search(value) + if m: + return u'%s %s %s %s %s' % (value[0:2], value[2:4], value[4:6], value[6:8], value[8:10]) + raise ValidationError(u'Phone numbers must be in 0X XX XX XX XX format.') + +class FRDepartmentSelect(Select): + """ + A Select widget that uses a list of FR departments as its choices. + """ + def __init__(self, attrs=None): + from fr_department import DEPARTMENT_ASCII_CHOICES # relative import + super(FRDepartmentSelect, self).__init__(attrs, choices=DEPARTMENT_ASCII_CHOICES) + diff --git a/django/contrib/localflavor/fr/fr_department.py b/django/contrib/localflavor/fr/fr_department.py new file mode 100644 index 0000000000..02de295f88 --- /dev/null +++ b/django/contrib/localflavor/fr/fr_department.py @@ -0,0 +1,112 @@ +# -*- coding: utf-8 -*- + +DEPARTMENT_ASCII_CHOICES = ( + ('01', '01 - Ain'), + ('02', '02 - Aisne'), + ('03', '03 - Allier'), + ('04', '04 - Alpes-de-Haute-Provence'), + ('05', '05 - Hautes-Alpes'), + ('06', '06 - Alpes-Maritimes'), + ('07', '07 - Ardeche'), + ('08', '08 - Ardennes'), + ('09', '09 - Ariege'), + ('10', '10 - Aube'), + ('11', '11 - Aude'), + ('12', '12 - Aveyron'), + ('13', '13 - Bouches-du-Rhone'), + ('14', '14 - Calvados'), + ('15', '15 - Cantal'), + ('16', '16 - Charente'), + ('17', '17 - Charente-Maritime'), + ('18', '18 - Cher'), + ('19', '19 - Correze'), + ('21', '21 - Cote-d\'Or'), + ('22', '22 - Cotes-d\'Armor'), + ('23', '23 - Creuse'), + ('24', '24 - Dordogne'), + ('25', '25 - Doubs'), + ('26', '26 - Drome'), + ('27', '27 - Eure'), + ('28', '28 - Eure-et-Loire'), + ('29', '29 - Finistere'), + ('2A', '2A - Corse-du-Sud'), + ('2B', '2B - Haute-Corse'), + ('30', '30 - Gard'), + ('31', '31 - Haute-Garonne'), + ('32', '32 - Gers'), + ('33', '33 - Gironde'), + ('34', '34 - Herault'), + ('35', '35 - Ille-et-Vilaine'), + ('36', '36 - Indre'), + ('37', '37 - Indre-et-Loire'), + ('38', '38 - Isere'), + ('39', '39 - Jura'), + ('40', '40 - Landes'), + ('41', '41 - Loir-et-Cher'), + ('42', '42 - Loire'), + ('43', '43 - Haute-Loire'), + ('44', '44 - Loire-Atlantique'), + ('45', '45 - Loiret'), + ('46', '46 - Lot'), + ('47', '47 - Lot-et-Garonne'), + ('48', '48 - Lozere'), + ('49', '49 - Maine-et-Loire'), + ('50', '50 - Manche'), + ('51', '51 - Marne'), + ('52', '52 - Haute-Marne'), + ('53', '53 - Mayenne'), + ('54', '54 - Meurthe-et-Moselle'), + ('55', '55 - Meuse'), + ('56', '56 - Morbihan'), + ('57', '57 - Moselle'), + ('58', '58 - Nievre'), + ('59', '59 - Nord'), + ('60', '60 - Oise'), + ('61', '61 - Orne'), + ('62', '62 - Pas-de-Calais'), + ('63', '63 - Puy-de-Dome'), + ('64', '64 - Pyrenees-Atlantiques'), + ('65', '65 - Hautes-Pyrenees'), + ('66', '66 - Pyrenees-Orientales'), + ('67', '67 - Bas-Rhin'), + ('68', '68 - Haut-Rhin'), + ('69', '69 - Rhone'), + ('70', '70 - Haute-Saone'), + ('71', '71 - Saone-et-Loire'), + ('72', '72 - Sarthe'), + ('73', '73 - Savoie'), + ('74', '74 - Haute-Savoie'), + ('75', '75 - Paris'), + ('76', '76 - Seine-Maritime'), + ('77', '77 - Seine-et-Marne'), + ('78', '78 - Yvelines'), + ('79', '79 - Deux-Sevres'), + ('80', '80 - Somme'), + ('81', '81 - Tarn'), + ('82', '82 - Tarn-et-Garonne'), + ('83', '83 - Var'), + ('84', '84 - Vaucluse'), + ('85', '85 - Vendee'), + ('86', '86 - Vienne'), + ('87', '87 - Haute-Vienne'), + ('88', '88 - Vosges'), + ('89', '89 - Yonne'), + ('90', '90 - Territoire de Belfort'), + ('91', '91 - Essonne'), + ('92', '92 - Hauts-de-Seine'), + ('93', '93 - Seine-Saint-Denis'), + ('94', '94 - Val-de-Marne'), + ('95', '95 - Val-d\'Oise'), + ('2A', '2A - Corse du sud'), + ('2B', '2B - Haute Corse'), + ('971', '971 - Guadeloupe'), + ('972', '972 - Martinique'), + ('973', '973 - Guyane'), + ('974', '974 - La Reunion'), + ('975', '975 - Saint-Pierre-et-Miquelon'), + ('976', '976 - Mayotte'), + ('984', '984 - Terres Australes et Antarctiques'), + ('986', '986 - Wallis et Futuna'), + ('987', '987 - Polynesie Francaise'), + ('988', '988 - Nouvelle-Caledonie'), +) diff --git a/django/contrib/localflavor/is_/__init__.py b/django/contrib/localflavor/is_/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/is_/forms.py b/django/contrib/localflavor/is_/forms.py new file mode 100644 index 0000000000..41727d8fa3 --- /dev/null +++ b/django/contrib/localflavor/is_/forms.py @@ -0,0 +1,77 @@ +""" +Iceland specific form helpers. +""" + +from django.newforms import ValidationError +from django.newforms.fields import RegexField, EMPTY_VALUES +from django.newforms.widgets import Select +from django.utils.translation import gettext + +class ISIdNumberField(RegexField): + """ + Icelandic identification number (kennitala). This is a number every citizen + of Iceland has. + """ + def __init__(self, *args, **kwargs): + error_msg = gettext(u'Enter a valid Icelandic identification number. The format is XXXXXX-XXXX.') + kwargs['min_length'],kwargs['max_length'] = 10,11 + super(ISIdNumberField, self).__init__(r'^\d{6}(-| )?\d{4}$', error_message=error_msg, *args, **kwargs) + + def clean(self, value): + value = super(ISIdNumberField, self).clean(value) + + if value in EMPTY_VALUES: + return u'' + + value = self._canonify(value) + if self._validate(value): + return self._format(value) + else: + raise ValidationError(gettext(u'The Icelandic identification number is not valid.')) + + def _canonify(self, value): + """ + Returns the value as only digits. + """ + return value.replace('-', '').replace(' ', '') + + def _validate(self, value): + """ + Takes in the value in canonical form and checks the verifier digit. The + method is modulo 11. + """ + check = [3, 2, 7, 6, 5, 4, 3, 2, 1, 0] + return sum([int(value[i]) * check[i] for i in range(10)]) % 11 == 0 + + def _format(self, value): + """ + Takes in the value in canonical form and returns it in the common + display format. + """ + return value[:6]+'-'+value[6:] + +class ISPhoneNumberField(RegexField): + """ + Icelandic phone number. Seven digits with an optional hyphen or space after + the first three digits. + """ + def __init__(self, *args, **kwargs): + kwargs['min_length'], kwargs['max_length'] = 7,8 + super(ISPhoneNumberField, self).__init__(r'^\d{3}(-| )?\d{4}$', *args, **kwargs) + + def clean(self, value): + value = super(ISPhoneNumberField, self).clean(value) + + if value in EMPTY_VALUES: + return u'' + + return value.replace('-', '').replace(' ', '') + +class ISPostalCodeSelect(Select): + """ + A Select widget that uses a list of Icelandic postal codes as its choices. + """ + def __init__(self, attrs=None): + from is_postalcodes import IS_POSTALCODES + super(ISPostalCodeSelect, self).__init__(attrs, choices=IS_POSTALCODES) + diff --git a/django/contrib/localflavor/is_/is_postalcodes.py b/django/contrib/localflavor/is_/is_postalcodes.py new file mode 100644 index 0000000000..4feca9c013 --- /dev/null +++ b/django/contrib/localflavor/is_/is_postalcodes.py @@ -0,0 +1,151 @@ +# -*- coding: utf-8 -*- + +IS_POSTALCODES = ( + ('101', u'101 Reykjavík'), + ('103', u'103 Reykjavík'), + ('104', u'104 Reykjavík'), + ('105', u'105 Reykjavík'), + ('107', u'107 Reykjavík'), + ('108', u'108 Reykjavík'), + ('109', u'109 Reykjavík'), + ('110', u'110 Reykjavík'), + ('111', u'111 Reykjavík'), + ('112', u'112 Reykjavík'), + ('113', u'113 Reykjavík'), + ('116', u'116 Kjalarnes'), + ('121', u'121 Reykjavík'), + ('123', u'123 Reykjavík'), + ('124', u'124 Reykjavík'), + ('125', u'125 Reykjavík'), + ('127', u'127 Reykjavík'), + ('128', u'128 Reykjavík'), + ('129', u'129 Reykjavík'), + ('130', u'130 Reykjavík'), + ('132', u'132 Reykjavík'), + ('150', u'150 Reykjavík'), + ('155', u'155 Reykjavík'), + ('170', u'170 Seltjarnarnes'), + ('172', u'172 Seltjarnarnes'), + ('190', u'190 Vogar'), + ('200', u'200 Kópavogur'), + ('201', u'201 Kópavogur'), + ('202', u'202 Kópavogur'), + ('203', u'203 Kópavogur'), + ('210', u'210 Garðabær'), + ('212', u'212 Garðabær'), + ('220', u'220 Hafnarfjörður'), + ('221', u'221 Hafnarfjörður'), + ('222', u'222 Hafnarfjörður'), + ('225', u'225 Álftanes'), + ('230', u'230 Reykjanesbær'), + ('232', u'232 Reykjanesbær'), + ('233', u'233 Reykjanesbær'), + ('235', u'235 Keflavíkurflugvöllur'), + ('240', u'240 Grindavík'), + ('245', u'245 Sandgerði'), + ('250', u'250 Garður'), + ('260', u'260 Reykjanesbær'), + ('270', u'270 Mosfellsbær'), + ('300', u'300 Akranes'), + ('301', u'301 Akranes'), + ('302', u'302 Akranes'), + ('310', u'310 Borgarnes'), + ('311', u'311 Borgarnes'), + ('320', u'320 Reykholt í Borgarfirði'), + ('340', u'340 Stykkishólmur'), + ('345', u'345 Flatey á Breiðafirði'), + ('350', u'350 Grundarfjörður'), + ('355', u'355 Ólafsvík'), + ('356', u'356 Snæfellsbær'), + ('360', u'360 Hellissandur'), + ('370', u'370 Búðardalur'), + ('371', u'371 Búðardalur'), + ('380', u'380 Reykhólahreppur'), + ('400', u'400 Ísafjörður'), + ('401', u'401 Ísafjörður'), + ('410', u'410 Hnífsdalur'), + ('415', u'415 Bolungarvík'), + ('420', u'420 Súðavík'), + ('425', u'425 Flateyri'), + ('430', u'430 Suðureyri'), + ('450', u'450 Patreksfjörður'), + ('451', u'451 Patreksfjörður'), + ('460', u'460 Tálknafjörður'), + ('465', u'465 Bíldudalur'), + ('470', u'470 Þingeyri'), + ('471', u'471 Þingeyri'), + ('500', u'500 Staður'), + ('510', u'510 Hólmavík'), + ('512', u'512 Hólmavík'), + ('520', u'520 Drangsnes'), + ('522', u'522 Kjörvogur'), + ('523', u'523 Bær'), + ('524', u'524 Norðurfjörður'), + ('530', u'530 Hvammstangi'), + ('531', u'531 Hvammstangi'), + ('540', u'540 Blönduós'), + ('541', u'541 Blönduós'), + ('545', u'545 Skagaströnd'), + ('550', u'550 Sauðárkrókur'), + ('551', u'551 Sauðárkrókur'), + ('560', u'560 Varmahlíð'), + ('565', u'565 Hofsós'), + ('566', u'566 Hofsós'), + ('570', u'570 Fljót'), + ('580', u'580 Siglufjörður'), + ('600', u'600 Akureyri'), + ('601', u'601 Akureyri'), + ('602', u'602 Akureyri'), + ('603', u'603 Akureyri'), + ('610', u'610 Grenivík'), + ('611', u'611 Grímsey'), + ('620', u'620 Dalvík'), + ('621', u'621 Dalvík'), + ('625', u'625 Ólafsfjörður'), + ('630', u'630 Hrísey'), + ('640', u'640 Húsavík'), + ('641', u'641 Húsavík'), + ('645', u'645 Fosshóll'), + ('650', u'650 Laugar'), + ('660', u'660 Mývatn'), + ('670', u'670 Kópasker'), + ('671', u'671 Kópasker'), + ('675', u'675 Raufarhöfn'), + ('680', u'680 Þórshöfn'), + ('681', u'681 Þórshöfn'), + ('685', u'685 Bakkafjörður'), + ('690', u'690 Vopnafjörður'), + ('700', u'700 Egilsstaðir'), + ('701', u'701 Egilsstaðir'), + ('710', u'710 Seyðisfjörður'), + ('715', u'715 Mjóifjörður'), + ('720', u'720 Borgarfjörður eystri'), + ('730', u'730 Reyðarfjörður'), + ('735', u'735 Eskifjörður'), + ('740', u'740 Neskaupstaður'), + ('750', u'750 Fáskrúðsfjörður'), + ('755', u'755 Stöðvarfjörður'), + ('760', u'760 Breiðdalsvík'), + ('765', u'765 Djúpivogur'), + ('780', u'780 Höfn í Hornafirði'), + ('781', u'781 Höfn í Hornafirði'), + ('785', u'785 Öræfi'), + ('800', u'800 Selfoss'), + ('801', u'801 Selfoss'), + ('802', u'802 Selfoss'), + ('810', u'810 Hveragerði'), + ('815', u'815 Þorlákshöfn'), + ('820', u'820 Eyrarbakki'), + ('825', u'825 Stokkseyri'), + ('840', u'840 Laugarvatn'), + ('845', u'845 Flúðir'), + ('850', u'850 Hella'), + ('851', u'851 Hella'), + ('860', u'860 Hvolsvöllur'), + ('861', u'861 Hvolsvöllur'), + ('870', u'870 Vík'), + ('871', u'871 Vík'), + ('880', u'880 Kirkjubæjarklaustur'), + ('900', u'900 Vestmannaeyjar'), + ('902', u'902 Vestmannaeyjar') +) diff --git a/django/contrib/localflavor/it/__init__.py b/django/contrib/localflavor/it/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/it/forms.py b/django/contrib/localflavor/it/forms.py new file mode 100644 index 0000000000..bb1bb2e6a4 --- /dev/null +++ b/django/contrib/localflavor/it/forms.py @@ -0,0 +1,77 @@ +""" +IT-specific Form helpers +""" + +from django.newforms import ValidationError +from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES +from django.utils.translation import gettext +from django.utils.encoding import smart_unicode +from django.contrib.localflavor.it.util import ssn_check_digit, vat_number_check_digit +import re + +class ITZipCodeField(RegexField): + def __init__(self, *args, **kwargs): + super(ITZipCodeField, self).__init__(r'^\d{5}$', + max_length=None, min_length=None, + error_message=gettext(u'Enter a valid zip code.'), + *args, **kwargs) + +class ITRegionSelect(Select): + """ + A Select widget that uses a list of IT regions as its choices. + """ + def __init__(self, attrs=None): + from it_region import REGION_CHOICES # relative import + super(ITRegionSelect, self).__init__(attrs, choices=REGION_CHOICES) + +class ITProvinceSelect(Select): + """ + A Select widget that uses a list of IT regions as its choices. + """ + def __init__(self, attrs=None): + from it_province import PROVINCE_CHOICES # relative import + super(ITProvinceSelect, self).__init__(attrs, choices=PROVINCE_CHOICES) + +class ITSocialSecurityNumberField(RegexField): + """ + A form field that validates Italian Social Security numbers (codice fiscale). + For reference see http://www.agenziaentrate.it/ and search for + 'Informazioni sulla codificazione delle persone fisiche'. + """ + err_msg = gettext(u'Enter a valid Social Security number.') + def __init__(self, *args, **kwargs): + super(ITSocialSecurityNumberField, self).__init__(r'^\w{3}\s*\w{3}\s*\w{5}\s*\w{5}$', + max_length=None, min_length=None, error_message=self.err_msg, + *args, **kwargs) + + def clean(self, value): + value = super(ITSocialSecurityNumberField, self).clean(value) + if value == u'': + return value + value = re.sub('\s', u'', value).upper() + try: + check_digit = ssn_check_digit(value) + except ValueError: + raise ValidationError(self.err_msg) + if not value[15] == check_digit: + raise ValidationError(self.err_msg) + return value + +class ITVatNumberField(Field): + """ + A form field that validates Italian VAT numbers (partita IVA). + """ + def clean(self, value): + value = super(ITVatNumberField, self).clean(value) + if value == u'': + return value + err_msg = gettext(u'Enter a valid VAT number.') + try: + vat_number = int(value) + except ValueError: + raise ValidationError(err_msg) + vat_number = str(vat_number).zfill(11) + check_digit = vat_number_check_digit(vat_number[0:10]) + if not vat_number[10] == check_digit: + raise ValidationError(err_msg) + return smart_unicode(vat_number) diff --git a/django/contrib/localflavor/it/it_province.py b/django/contrib/localflavor/it/it_province.py new file mode 100644 index 0000000000..1867191b31 --- /dev/null +++ b/django/contrib/localflavor/it/it_province.py @@ -0,0 +1,114 @@ +# -*- coding: utf-8 -* + +PROVINCE_CHOICES = ( + ('AG', 'Agrigento'), + ('AL', 'Alessandria'), + ('AN', 'Ancona'), + ('AO', 'Aosta'), + ('AR', 'Arezzo'), + ('AP', 'Ascoli Piceno'), + ('AT', 'Asti'), + ('AV', 'Avellino'), + ('BA', 'Bari'), +# ('BT', 'Barletta-Andria-Trani'), # active starting from 2009 + ('BL', 'Belluno'), + ('BN', 'Benevento'), + ('BG', 'Bergamo'), + ('BI', 'Biella'), + ('BO', 'Bologna'), + ('BZ', 'Bolzano/Bozen'), + ('BS', 'Brescia'), + ('BR', 'Brindisi'), + ('CA', 'Cagliari'), + ('CL', 'Caltanissetta'), + ('CB', 'Campobasso'), + ('CI', 'Carbonia-Iglesias'), + ('CE', 'Caserta'), + ('CT', 'Catania'), + ('CZ', 'Catanzaro'), + ('CH', 'Chieti'), + ('CO', 'Como'), + ('CS', 'Cosenza'), + ('CR', 'Cremona'), + ('KR', 'Crotone'), + ('CN', 'Cuneo'), + ('EN', 'Enna'), +# ('FM', 'Fermo'), # active starting from 2009 + ('FE', 'Ferrara'), + ('FI', 'Firenze'), + ('FG', 'Foggia'), + ('FC', 'Forlì-Cesena'), + ('FR', 'Frosinone'), + ('GE', 'Genova'), + ('GO', 'Gorizia'), + ('GR', 'Grosseto'), + ('IM', 'Imperia'), + ('IS', 'Isernia'), + ('SP', 'La Spezia'), + ('AQ', u'L’Acquila'), + ('LT', 'Latina'), + ('LE', 'Lecce'), + ('LC', 'Lecco'), + ('LI', 'Livorno'), + ('LO', 'Lodi'), + ('LU', 'Lucca'), + ('MC', 'Macerata'), + ('MN', 'Mantova'), + ('MS', 'Massa-Carrara'), + ('MT', 'Matera'), + ('VS', 'Medio Campidano'), + ('ME', 'Messina'), + ('MI', 'Milano'), + ('MO', 'Modena'), +# ('MB', 'Monza e Brianza'), # active starting from 2009 + ('NA', 'Napoli'), + ('NO', 'Novara'), + ('NU', 'Nuoro'), + ('OG', 'Ogliastra'), + ('OT', 'Olbia-Tempio'), + ('OR', 'Oristano'), + ('PD', 'Padova'), + ('PA', 'Palermo'), + ('PR', 'Parma'), + ('PV', 'Pavia'), + ('PG', 'Perugia'), + ('PU', 'Pesaro e Urbino'), + ('PE', 'Pescara'), + ('PC', 'Piacenza'), + ('PI', 'Pisa'), + ('PT', 'Pistoia'), + ('PN', 'Pordenone'), + ('PZ', 'Potenza'), + ('PO', 'Prato'), + ('RG', 'Ragusa'), + ('RA', 'Ravenna'), + ('RC', 'Reggio Calabria'), + ('RE', 'Reggio Emilia'), + ('RI', 'Rieti'), + ('RN', 'Rimini') + ('RM', 'Roma'), + ('RO', 'Rovigo'), + ('SA', 'Salerno'), + ('SS', 'Sassari'), + ('SV', 'Savona'), + ('SI', 'Siena'), + ('SR', 'Siracusa'), + ('SO', 'Sondrio'), + ('TA', 'Taranto'), + ('TE', 'Teramo'), + ('TR', 'Terni'), + ('TO', 'Torino'), + ('TP', 'Trapani'), + ('TN', 'Trento'), + ('TV', 'Treviso'), + ('TS', 'Trieste'), + ('UD', 'Udine'), + ('VA', 'Varese'), + ('VE', 'Venezia'), + ('VB', 'Verbano Cusio Ossola'), + ('VC', 'Vercelli'), + ('VR', 'Verona'), + ('VV', 'Vibo Valentia'), + ('VI', 'Vicenza'), + ('VT', 'Viterbo'), +) diff --git a/django/contrib/localflavor/it/it_region.py b/django/contrib/localflavor/it/it_region.py new file mode 100644 index 0000000000..0700b46ea8 --- /dev/null +++ b/django/contrib/localflavor/it/it_region.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -* + +REGION_CHOICES = ( + ('ABR', 'Abruzzo'), + ('BAS', 'Basilicata'), + ('CAL', 'Calabria'), + ('CAM', 'Campania'), + ('EMR', 'Emilia-Romagna'), + ('FVG', 'Friuli-Venezia Giulia'), + ('LAZ', 'Lazio'), + ('LIG', 'Liguria'), + ('LOM', 'Lombardia'), + ('MAR', 'Marche'), + ('MOL', 'Molise'), + ('PMN', 'Piemonte'), + ('PUG', 'Puglia'), + ('SAR', 'Sardegna'), + ('SIC', 'Sicilia'), + ('TOS', 'Toscana'), + ('TAA', 'Trentino-Alto Adige'), + ('UMB', 'Umbria'), + ('VAO', u'Valle d’Aosta'), + ('VEN', 'Veneto'), +) diff --git a/django/contrib/localflavor/it/util.py b/django/contrib/localflavor/it/util.py new file mode 100644 index 0000000000..49b607f160 --- /dev/null +++ b/django/contrib/localflavor/it/util.py @@ -0,0 +1,40 @@ +def ssn_check_digit(value): + "Calculate Italian social security number check digit." + ssn_even_chars = { + '0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, + 'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5, 'G': 6, 'H': 7, 'I': 8, 'J': 9, + 'K': 10, 'L': 11, 'M': 12, 'N': 13, 'O': 14, 'P': 15, 'Q': 16, 'R': 17, 'S': 18, + 'T': 19, 'U': 20, 'V': 21, 'W': 22, 'X': 23, 'Y': 24, 'Z': 25 + } + ssn_odd_chars = { + '0': 1, '1': 0, '2': 5, '3': 7, '4': 9, '5': 13, '6': 15, '7': 17, '8': 19, '9': 21, + 'A': 1, 'B': 0, 'C': 5, 'D': 7, 'E': 9, 'F': 13, 'G': 15, 'H': 17, 'I': 19, 'J': 21, + 'K': 2, 'L': 4, 'M': 18, 'N': 20, 'O': 11, 'P': 3, 'Q': 6, 'R': 8, 'S': 12, + 'T': 14, 'U': 16, 'V': 10, 'W': 22, 'X': 25, 'Y': 24, 'Z': 23 + } + # Chars from 'A' to 'Z' + ssn_check_digits = [chr(x) for x in range(65, 91)] + + ssn = value.upper() + total = 0 + for i in range(0,15): + try: + if i % 2 == 0: + total += ssn_odd_chars[ssn[i]] + else: + total += ssn_even_chars[ssn[i]] + except KeyError: + msg = "Character '%(char)s' is not allowed." % {'char': ssn[i]} + raise ValueError(msg) + return ssn_check_digits[total % 26] + +def vat_number_check_digit(vat_number): + "Calculate Italian VAT number check digit." + normalized_vat_number = str(vat_number).zfill(10) + total = 0 + for i in range(0, 10, 2): + total += int(normalized_vat_number[i]) + for i in range(1, 11, 2): + quotient , remainder = divmod(int(normalized_vat_number[i]) * 2, 10) + total += quotient + remainder + return str((10 - total % 10) % 10) diff --git a/django/contrib/localflavor/jp/__init__.py b/django/contrib/localflavor/jp/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/jp/forms.py b/django/contrib/localflavor/jp/forms.py new file mode 100644 index 0000000000..4d93a21227 --- /dev/null +++ b/django/contrib/localflavor/jp/forms.py @@ -0,0 +1,38 @@ +""" +JP-specific Form helpers +""" + +from django.core import validators +from django.newforms import ValidationError +from django.utils.translation import gettext +from django.newforms.fields import RegexField, Select + +import re + +class JPPostalCodeField(RegexField): + """ + A form field that validates its input is a Japanese postcode. + + Accepts 7 digits, with or without a hyphen. + """ + def __init__(self, *args, **kwargs): + super(JPPostalCodeField, self).__init__(r'^\d{3}-\d{4}$|^\d{7}$', + max_length=None, min_length=None, + error_message=gettext(u'Enter a postal code in the format XXXXXXX or XXX-XXXX.'), + *args, **kwargs) + + def clean(self, value): + """ + Validates the input and returns a string that contains only numbers. + Returns an empty string for empty values. + """ + v = super(JPPostalCodeField, self).clean(value) + return v.replace('-', '') + +class JPPrefectureSelect(Select): + """ + A Select widget that uses a list of Japanese prefectures as its choices. + """ + def __init__(self, attrs=None): + from jp_prefectures import JP_PREFECTURES + super(JPPrefectureSelect, self).__init__(attrs, choices=JP_PREFECTURES) diff --git a/django/contrib/localflavor/jp/jp_prefectures.py b/django/contrib/localflavor/jp/jp_prefectures.py new file mode 100644 index 0000000000..72ac4f9474 --- /dev/null +++ b/django/contrib/localflavor/jp/jp_prefectures.py @@ -0,0 +1,51 @@ +from django.utils.translation import gettext_lazy as gettext_lazy + +JP_PREFECTURES = ( + ('hokkaido', gettext_lazy('Hokkaido'),), + ('aomori', gettext_lazy('Aomori'),), + ('iwate', gettext_lazy('Iwate'),), + ('miyagi', gettext_lazy('Miyagi'),), + ('akita', gettext_lazy('Akita'),), + ('yamagata', gettext_lazy('Yamagata'),), + ('fukushima', gettext_lazy('Fukushima'),), + ('ibaraki', gettext_lazy('Ibaraki'),), + ('tochigi', gettext_lazy('Tochigi'),), + ('gunma', gettext_lazy('Gunma'),), + ('saitama', gettext_lazy('Saitama'),), + ('chiba', gettext_lazy('Chiba'),), + ('tokyo', gettext_lazy('Tokyo'),), + ('kanagawa', gettext_lazy('Kanagawa'),), + ('yamanashi', gettext_lazy('Yamanashi'),), + ('nagano', gettext_lazy('Nagano'),), + ('niigata', gettext_lazy('Niigata'),), + ('toyama', gettext_lazy('Toyama'),), + ('ishikawa', gettext_lazy('Ishikawa'),), + ('fukui', gettext_lazy('Fukui'),), + ('gifu', gettext_lazy('Gifu'),), + ('shizuoka', gettext_lazy('Shizuoka'),), + ('aichi', gettext_lazy('Aichi'),), + ('mie', gettext_lazy('Mie'),), + ('shiga', gettext_lazy('Shiga'),), + ('kyoto', gettext_lazy('Kyoto'),), + ('osaka', gettext_lazy('Osaka'),), + ('hyogo', gettext_lazy('Hyogo'),), + ('nara', gettext_lazy('Nara'),), + ('wakayama', gettext_lazy('Wakayama'),), + ('tottori', gettext_lazy('Tottori'),), + ('shimane', gettext_lazy('Shimane'),), + ('okayama', gettext_lazy('Okayama'),), + ('hiroshima', gettext_lazy('Hiroshima'),), + ('yamaguchi', gettext_lazy('Yamaguchi'),), + ('tokushima', gettext_lazy('Tokushima'),), + ('kagawa', gettext_lazy('Kagawa'),), + ('ehime', gettext_lazy('Ehime'),), + ('kochi', gettext_lazy('Kochi'),), + ('fukuoka', gettext_lazy('Fukuoka'),), + ('saga', gettext_lazy('Saga'),), + ('nagasaki', gettext_lazy('Nagasaki'),), + ('kumamoto', gettext_lazy('Kumamoto'),), + ('oita', gettext_lazy('Oita'),), + ('miyazaki', gettext_lazy('Miyazaki'),), + ('kagoshima', gettext_lazy('Kagoshima'),), + ('okinawa', gettext_lazy('Okinawa'),), +) diff --git a/django/contrib/localflavor/no/__init__.py b/django/contrib/localflavor/no/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/no/forms.py b/django/contrib/localflavor/no/forms.py new file mode 100644 index 0000000000..22099005b9 --- /dev/null +++ b/django/contrib/localflavor/no/forms.py @@ -0,0 +1,77 @@ +# -*- coding: iso-8859-1 -*- +""" +Norwegian-specific Form helpers +""" + +import re, datetime +from django.newforms import ValidationError +from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES +from django.utils.translation import gettext + +class NOZipCodeField(RegexField): + def __init__(self, *args, **kwargs): + super(NOZipCodeField, self).__init__(r'^\d{4}$', + max_length=None, min_length=None, + error_message=gettext(u'Enter a zip code in the format XXXX.'), + *args, **kwargs) + +class NOMunicipalitySelect(Select): + """ + A Select widget that uses a list of Norwegian municipalities (fylker) + as its choices. + """ + def __init__(self, attrs=None): + from no_municipalities import MUNICIPALITY_CHOICES + super(NOMunicipalitySelect, self).__init__(attrs, choices=MUNICIPALITY_CHOICES) + +class NOSocialSecurityNumber(Field): + """ + Algorithm is documented at http://no.wikipedia.org/wiki/Personnummer + """ + def clean(self, value): + super(NOSocialSecurityNumber, self).clean(value) + if value in EMPTY_VALUES: + return u'' + + msg = gettext(u'Enter a valid Norwegian social security number.') + if not re.match(r'^\d{11}$', value): + raise ValidationError(msg) + + day = int(value[:2]) + month = int(value[2:4]) + year2 = int(value[4:6]) + + inum = int(value[6:9]) + self.birthday = None + try: + if 000 <= inum < 500: + self.birthday = datetime.date(1900+year2, month, day) + if 500 <= inum < 750 and year2 > 54: + self.birthday = datetime.date(1800+year2, month, day) + if 500 <= inum < 1000 and year2 < 40: + self.birthday = datetime.date(2000+year2, month, day) + if 900 <= inum < 1000 and year2 > 39: + self.birthday = datetime.date(1900+year2, month, day) + except ValueError: + raise ValidationError(msg) + + sexnum = int(value[8]) + if sexnum % 2 == 0: + self.gender = 'F' + else: + self.gender = 'M' + + digits = map(int, list(value)) + weight_1 = [3, 7, 6, 1, 8, 9, 4, 5, 2, 1, 0] + weight_2 = [5, 4, 3, 2, 7, 6, 5, 4, 3, 2, 1] + + def multiply_reduce(aval, bval): + return sum((a * b) for (a, b) in zip(aval, bval)) + + if multiply_reduce(digits, weight_1) % 11 != 0: + raise ValidationError(msg) + if multiply_reduce(digits, weight_2) % 11 != 0: + raise ValidationError(msg) + + return value + diff --git a/django/contrib/localflavor/no/no_municipalities.py b/django/contrib/localflavor/no/no_municipalities.py new file mode 100644 index 0000000000..d66fef514c --- /dev/null +++ b/django/contrib/localflavor/no/no_municipalities.py @@ -0,0 +1,32 @@ +# -*- coding: iso-8859-1 -*- +""" +An alphabetical list of Norwegian municipalities (fylker) fro use as `choices` +in a formfield. + +This exists in this standalone file so that it's on ly imported into memory +when explicitly needed. +""" + +MUNICIPALITY_CHOICES = ( + ('akershus', u'Akershus'), + ('austagder', u'Aust-Agder'), + ('buskerud', u'Buskerud'), + ('finnmark', u'Finnmark'), + ('hedmark', u'Hedmark'), + ('hordaland', u'Hordaland'), + ('janmayen', u'Jan Mayen'), + ('moreogromsdal', u'Mre og Romsdal'), + ('nordtrondelag', u'Nord-Trndelag'), + ('nordland', u'Nordland'), + ('oppland', u'Oppland'), + ('oslo', u'Oslo'), + ('rogaland', u'Rogaland'), + ('sognogfjordane', u'Sogn og Fjordane'), + ('svalbard', u'Svalbard'), + ('sortrondelag', u'Sr-Trndelag'), + ('telemark', u'Telemark'), + ('troms', u'Troms'), + ('vestagder', u'Vest-Agder'), + ('vestfold', u'Vestfold'), + ('ostfold', u'stfold') +) diff --git a/django/contrib/localflavor/uk/__init__.py b/django/contrib/localflavor/uk/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/uk/forms.py b/django/contrib/localflavor/uk/forms.py new file mode 100644 index 0000000000..ddd033e1e0 --- /dev/null +++ b/django/contrib/localflavor/uk/forms.py @@ -0,0 +1,19 @@ +""" +UK-specific Form helpers +""" + +from django.newforms.fields import RegexField +from django.utils.translation import gettext + +class UKPostcodeField(RegexField): + """ + A form field that validates its input is a UK postcode. + + The regular expression used is sourced from the schema for British Standard + BS7666 address types: http://www.govtalk.gov.uk/gdsc/schemas/bs7666-v2-0.xsd + """ + def __init__(self, *args, **kwargs): + super(UKPostcodeField, self).__init__(r'^(GIR 0AA|[A-PR-UWYZ]([0-9]{1,2}|([A-HIK-Y][0-9](|[0-9]|[ABEHMNPRVWXY]))|[0-9][A-HJKSTUW]) [0-9][ABD-HJLNP-UW-Z]{2})$', + max_length=None, min_length=None, + error_message=gettext(u'Enter a postcode. A space is required between the two postcode parts.'), + *args, **kwargs) diff --git a/django/contrib/localflavor/us/__init__.py b/django/contrib/localflavor/us/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/us/forms.py b/django/contrib/localflavor/us/forms.py new file mode 100644 index 0000000000..feda68291b --- /dev/null +++ b/django/contrib/localflavor/us/forms.py @@ -0,0 +1,99 @@ +""" +USA-specific Form helpers +""" + +from django.newforms import ValidationError +from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES +from django.utils.encoding import smart_unicode +from django.utils.translation import gettext +import re + +phone_digits_re = re.compile(r'^(?:1-?)?(\d{3})[-\.]?(\d{3})[-\.]?(\d{4})$') +ssn_re = re.compile(r"^(?P\d{3})[-\ ]?(?P\d{2})[-\ ]?(?P\d{4})$") + +class USZipCodeField(RegexField): + def __init__(self, *args, **kwargs): + super(USZipCodeField, self).__init__(r'^\d{5}(?:-\d{4})?$', + max_length=None, min_length=None, + error_message=gettext(u'Enter a zip code in the format XXXXX or XXXXX-XXXX.'), + *args, **kwargs) + +class USPhoneNumberField(Field): + def clean(self, value): + super(USPhoneNumberField, self).clean(value) + if value in EMPTY_VALUES: + return u'' + value = re.sub('(\(|\)|\s+)', '', smart_unicode(value)) + m = phone_digits_re.search(value) + if m: + return u'%s-%s-%s' % (m.group(1), m.group(2), m.group(3)) + raise ValidationError(u'Phone numbers must be in XXX-XXX-XXXX format.') + +class USSocialSecurityNumberField(Field): + """ + A United States Social Security number. + + Checks the following rules to determine whether the number is valid: + + * Conforms to the XXX-XX-XXXX format. + * No group consists entirely of zeroes. + * The leading group is not "666" (block "666" will never be allocated). + * The number is not in the promotional block 987-65-4320 through 987-65-4329, + which are permanently invalid. + * The number is not one known to be invalid due to otherwise widespread + promotional use or distribution (e.g., the Woolworth's number or the 1962 + promotional number). + """ + def clean(self, value): + super(USSocialSecurityNumberField, self).clean(value) + if value in EMPTY_VALUES: + return u'' + msg = gettext(u'Enter a valid U.S. Social Security number in XXX-XX-XXXX format.') + match = re.match(ssn_re, value) + if not match: + raise ValidationError(msg) + area, group, serial = match.groupdict()['area'], match.groupdict()['group'], match.groupdict()['serial'] + + # First pass: no blocks of all zeroes. + if area == '000' or \ + group == '00' or \ + serial == '0000': + raise ValidationError(msg) + + # Second pass: promotional and otherwise permanently invalid numbers. + if area == '666' or \ + (area == '987' and group == '65' and 4320 <= int(serial) <= 4329) or \ + value == '078-05-1120' or \ + value == '219-09-9999': + raise ValidationError(msg) + return u'%s-%s-%s' % (area, group, serial) + +class USStateField(Field): + """ + A form field that validates its input is a U.S. state name or abbreviation. + It normalizes the input to the standard two-leter postal service + abbreviation for the given state. + """ + def clean(self, value): + from us_states import STATES_NORMALIZED # relative import + super(USStateField, self).clean(value) + if value in EMPTY_VALUES: + return u'' + try: + value = value.strip().lower() + except AttributeError: + pass + else: + try: + return STATES_NORMALIZED[value.strip().lower()].decode('ascii') + except KeyError: + pass + raise ValidationError(u'Enter a U.S. state or territory.') + +class USStateSelect(Select): + """ + A Select widget that uses a list of U.S. states/territories as its choices. + """ + def __init__(self, attrs=None): + from us_states import STATE_CHOICES # relative import + super(USStateSelect, self).__init__(attrs, choices=STATE_CHOICES) diff --git a/django/contrib/localflavor/us/us_states.py b/django/contrib/localflavor/us/us_states.py new file mode 100644 index 0000000000..c84facc219 --- /dev/null +++ b/django/contrib/localflavor/us/us_states.py @@ -0,0 +1,240 @@ +""" +A mapping of state misspellings/abbreviations to normalized abbreviations, and +an alphabetical list of states for use as `choices` in a formfield. + +This exists in this standalone file so that it's only imported into memory +when explicitly needed. +""" + +STATE_CHOICES = ( + ('AL', 'Alabama'), + ('AK', 'Alaska'), + ('AS', 'American Samoa'), + ('AZ', 'Arizona'), + ('AR', 'Arkansas'), + ('CA', 'California'), + ('CO', 'Colorado'), + ('CT', 'Connecticut'), + ('DE', 'Delaware'), + ('DC', 'District of Columbia'), + ('FM', 'Federated States of Micronesia'), + ('FL', 'Florida'), + ('GA', 'Georgia'), + ('GU', 'Guam'), + ('HI', 'Hawaii'), + ('ID', 'Idaho'), + ('IL', 'Illinois'), + ('IN', 'Indiana'), + ('IA', 'Iowa'), + ('KS', 'Kansas'), + ('KY', 'Kentucky'), + ('LA', 'Louisiana'), + ('ME', 'Maine'), + ('MH', 'Marshall Islands'), + ('MD', 'Maryland'), + ('MA', 'Massachusetts'), + ('MI', 'Michigan'), + ('MN', 'Minnesota'), + ('MS', 'Mississippi'), + ('MO', 'Missouri'), + ('MT', 'Montana'), + ('NE', 'Nebraska'), + ('NV', 'Nevada'), + ('NH', 'New Hampshire'), + ('NJ', 'New Jersey'), + ('NM', 'New Mexico'), + ('NY', 'New York'), + ('NC', 'North Carolina'), + ('ND', 'North Dakota'), + ('MP', 'Northern Mariana Islands'), + ('OH', 'Ohio'), + ('OK', 'Oklahoma'), + ('OR', 'Oregon'), + ('PW', 'Palau'), + ('PA', 'Pennsylvania'), + ('PR', 'Puerto Rico'), + ('RI', 'Rhode Island'), + ('SC', 'South Carolina'), + ('SD', 'South Dakota'), + ('TN', 'Tennessee'), + ('TX', 'Texas'), + ('UT', 'Utah'), + ('VT', 'Vermont'), + ('VI', 'Virgin Islands'), + ('VA', 'Virginia'), + ('WA', 'Washington'), + ('WV', 'West Virginia'), + ('WI', 'Wisconsin'), + ('WY', 'Wyoming'), +) + +STATES_NORMALIZED = { + 'ak': 'AK', + 'al': 'AL', + 'ala': 'AL', + 'alabama': 'AL', + 'alaska': 'AK', + 'american samao': 'AS', + 'american samoa': 'AS', + 'ar': 'AR', + 'ariz': 'AZ', + 'arizona': 'AZ', + 'ark': 'AR', + 'arkansas': 'AR', + 'as': 'AS', + 'az': 'AZ', + 'ca': 'CA', + 'calf': 'CA', + 'calif': 'CA', + 'california': 'CA', + 'co': 'CO', + 'colo': 'CO', + 'colorado': 'CO', + 'conn': 'CT', + 'connecticut': 'CT', + 'ct': 'CT', + 'dc': 'DC', + 'de': 'DE', + 'del': 'DE', + 'delaware': 'DE', + 'deleware': 'DE', + 'district of columbia': 'DC', + 'federated states of micronesia': 'FM', + 'fl': 'FL', + 'fla': 'FL', + 'florida': 'FL', + 'fm': 'FM', + 'ga': 'GA', + 'georgia': 'GA', + 'gu': 'GU', + 'guam': 'GU', + 'hawaii': 'HI', + 'hi': 'HI', + 'ia': 'IA', + 'id': 'ID', + 'idaho': 'ID', + 'il': 'IL', + 'ill': 'IL', + 'illinois': 'IL', + 'in': 'IN', + 'ind': 'IN', + 'indiana': 'IN', + 'iowa': 'IA', + 'kan': 'KS', + 'kans': 'KS', + 'kansas': 'KS', + 'kentucky': 'KY', + 'ks': 'KS', + 'ky': 'KY', + 'la': 'LA', + 'louisiana': 'LA', + 'ma': 'MA', + 'maine': 'ME', + 'marianas islands': 'MP', + 'marianas islands of the pacific': 'MP', + 'marinas islands of the pacific': 'MP', + 'maryland': 'MD', + 'mass': 'MA', + 'massachusetts': 'MA', + 'massachussetts': 'MA', + 'md': 'MD', + 'me': 'ME', + 'mi': 'MI', + 'mich': 'MI', + 'michigan': 'MI', + 'micronesia': 'FM', + 'minn': 'MN', + 'minnesota': 'MN', + 'miss': 'MS', + 'mississippi': 'MS', + 'missouri': 'MO', + 'mn': 'MN', + 'mo': 'MO', + 'mont': 'MT', + 'montana': 'MT', + 'mp': 'MP', + 'ms': 'MS', + 'mt': 'MT', + 'n d': 'ND', + 'n dak': 'ND', + 'n h': 'NH', + 'n j': 'NJ', + 'n m': 'NM', + 'n mex': 'NM', + 'nc': 'NC', + 'nd': 'ND', + 'ne': 'NE', + 'neb': 'NE', + 'nebr': 'NE', + 'nebraska': 'NE', + 'nev': 'NV', + 'nevada': 'NV', + 'new hampshire': 'NH', + 'new jersey': 'NJ', + 'new mexico': 'NM', + 'new york': 'NY', + 'nh': 'NH', + 'nj': 'NJ', + 'nm': 'NM', + 'nmex': 'NM', + 'north carolina': 'NC', + 'north dakota': 'ND', + 'northern mariana islands': 'MP', + 'nv': 'NV', + 'ny': 'NY', + 'oh': 'OH', + 'ohio': 'OH', + 'ok': 'OK', + 'okla': 'OK', + 'oklahoma': 'OK', + 'or': 'OR', + 'ore': 'OR', + 'oreg': 'OR', + 'oregon': 'OR', + 'pa': 'PA', + 'penn': 'PA', + 'pennsylvania': 'PA', + 'pr': 'PR', + 'puerto rico': 'PR', + 'rhode island': 'RI', + 'ri': 'RI', + 's dak': 'SD', + 'sc': 'SC', + 'sd': 'SD', + 'sdak': 'SD', + 'south carolina': 'SC', + 'south dakota': 'SD', + 'tenn': 'TN', + 'tennessee': 'TN', + 'territory of hawaii': 'HI', + 'tex': 'TX', + 'texas': 'TX', + 'tn': 'TN', + 'tx': 'TX', + 'us virgin islands': 'VI', + 'usvi': 'VI', + 'ut': 'UT', + 'utah': 'UT', + 'va': 'VA', + 'vermont': 'VT', + 'vi': 'VI', + 'viginia': 'VA', + 'virgin islands': 'VI', + 'virgina': 'VA', + 'virginia': 'VA', + 'vt': 'VT', + 'w va': 'WV', + 'wa': 'WA', + 'wash': 'WA', + 'washington': 'WA', + 'west virginia': 'WV', + 'wi': 'WI', + 'wis': 'WI', + 'wisc': 'WI', + 'wisconsin': 'WI', + 'wv': 'WV', + 'wva': 'WV', + 'wy': 'WY', + 'wyo': 'WY', + 'wyoming': 'WY', +} diff --git a/django/contrib/markup/models.py b/django/contrib/markup/models.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/markup/tests.py b/django/contrib/markup/tests.py similarity index 100% rename from tests/regressiontests/markup/tests.py rename to django/contrib/markup/tests.py diff --git a/django/contrib/sessions/middleware.py b/django/contrib/sessions/middleware.py index 2337ad8a61..434997d616 100644 --- a/django/contrib/sessions/middleware.py +++ b/django/contrib/sessions/middleware.py @@ -1,5 +1,6 @@ from django.conf import settings from django.contrib.sessions.models import Session +from django.core.exceptions import SuspiciousOperation from django.utils.cache import patch_vary_headers import datetime @@ -9,6 +10,7 @@ TEST_COOKIE_VALUE = 'worked' class SessionWrapper(object): def __init__(self, session_key): self.session_key = session_key + self.accessed = False self.modified = False def __contains__(self, key): @@ -34,6 +36,9 @@ class SessionWrapper(object): def get(self, key, default=None): return self._session.get(key, default) + def pop(self, key, *args): + return self._session.pop(key, *args) + def set_test_cookie(self): self[TEST_COOKIE_NAME] = TEST_COOKIE_VALUE @@ -45,6 +50,7 @@ class SessionWrapper(object): def _get_session(self): # Lazily loads session from storage. + self.accessed = True try: return self._session_cache except AttributeError: @@ -55,7 +61,7 @@ class SessionWrapper(object): s = Session.objects.get(session_key=self.session_key, expire_date__gt=datetime.datetime.now()) self._session_cache = s.get_decoded() - except Session.DoesNotExist: + except (Session.DoesNotExist, SuspiciousOperation): self._session_cache = {} # Set the session_key to None to force creation of a new # key, for extra security. @@ -71,14 +77,21 @@ class SessionMiddleware(object): def process_response(self, request, response): # If request.session was modified, or if response.session was set, save # those changes and set a session cookie. - patch_vary_headers(response, ('Cookie',)) try: + accessed = request.session.accessed modified = request.session.modified except AttributeError: pass else: + if accessed: + patch_vary_headers(response, ('Cookie',)) if modified or settings.SESSION_SAVE_EVERY_REQUEST: - session_key = request.session.session_key or Session.objects.get_new_session_key() + if request.session.session_key: + session_key = request.session.session_key + else: + obj = Session.objects.get_new_session_object() + session_key = obj.session_key + if settings.SESSION_EXPIRE_AT_BROWSER_CLOSE: max_age = None expires = None diff --git a/django/contrib/sessions/models.py b/django/contrib/sessions/models.py index f684cd381e..521a2abee9 100644 --- a/django/contrib/sessions/models.py +++ b/django/contrib/sessions/models.py @@ -1,4 +1,4 @@ -import base64, md5, random, sys +import base64, md5, random, sys, datetime, os, time import cPickle as pickle from django.db import models from django.utils.translation import gettext_lazy as _ @@ -14,15 +14,32 @@ class SessionManager(models.Manager): def get_new_session_key(self): "Returns session key that isn't being used." # The random module is seeded when this Apache child is created. - # Use person_id and SECRET_KEY as added salt. + # Use SECRET_KEY as added salt. while 1: - session_key = md5.new(str(random.randint(0, sys.maxint - 1)) + str(random.randint(0, sys.maxint - 1)) + settings.SECRET_KEY).hexdigest() + session_key = md5.new("%s%s%s%s" % (random.randint(0, sys.maxint - 1), os.getpid(), time.time(), settings.SECRET_KEY)).hexdigest() try: self.get(session_key=session_key) except self.model.DoesNotExist: break return session_key + def get_new_session_object(self): + """ + Returns a new session object. + """ + # FIXME: There is a *small* chance of collision here, meaning we will + # return an existing object. That can be fixed when we add a way to + # validate (and guarantee) that non-auto primary keys are unique. For + # now, we save immediately in order to reduce the "window of + # misfortune" as much as possible. + created = False + while not created: + obj, created = self.get_or_create(session_key=self.get_new_session_key(), + expire_date = datetime.datetime.now()) + # Collision in key generation, so re-seed the generator + random.seed() + return obj + def save(self, session_key, session_dict, expire_date): s = self.model(session_key, self.encode(session_dict), expire_date) if session_dict: diff --git a/django/contrib/sessions/tests.py b/django/contrib/sessions/tests.py new file mode 100644 index 0000000000..5a28effa86 --- /dev/null +++ b/django/contrib/sessions/tests.py @@ -0,0 +1,19 @@ +r""" +>>> s = SessionWrapper(None) + +Inject data into the session cache. +>>> s._session_cache = {} +>>> s._session_cache['some key'] = 'exists' + +>>> s.pop('some key') +'exists' + +>>> s.pop('some key', 'does not exist') +'does not exist' +""" + +from django.contrib.sessions.middleware import SessionWrapper + +if __name__ == '__main__': + import doctest + doctest.testmod() diff --git a/django/contrib/sitemaps/__init__.py b/django/contrib/sitemaps/__init__.py index 44ede4460a..30949837e4 100644 --- a/django/contrib/sitemaps/__init__.py +++ b/django/contrib/sitemaps/__init__.py @@ -1,7 +1,7 @@ from django.core import urlresolvers import urllib -PING_URL = "http://www.google.com/webmasters/sitemaps/ping" +PING_URL = "http://www.google.com/webmasters/tools/ping" class SitemapNotFound(Exception): pass @@ -29,7 +29,7 @@ def ping_google(sitemap_url=None, ping_url=PING_URL): from django.contrib.sites.models import Site current_site = Site.objects.get_current() - url = "%s%s" % (current_site.domain, sitemap_url) + url = "http://%s%s" % (current_site.domain, sitemap_url) params = urllib.urlencode({'sitemap':url}) urllib.urlopen("%s?%s" % (ping_url, params)) diff --git a/django/contrib/sitemaps/views.py b/django/contrib/sitemaps/views.py index 576e3d0bb8..d615c8e661 100644 --- a/django/contrib/sitemaps/views.py +++ b/django/contrib/sitemaps/views.py @@ -16,7 +16,7 @@ def index(request, sitemaps): def sitemap(request, sitemaps, section=None): maps, urls = [], [] if section is not None: - if not sitemaps.has_key(section): + if section not in sitemaps: raise Http404("No sitemap available for section: %r" % section) maps.append(sitemaps[section]) else: diff --git a/django/contrib/syndication/feeds.py b/django/contrib/syndication/feeds.py index 119615a0b9..af00bdc3e9 100644 --- a/django/contrib/syndication/feeds.py +++ b/django/contrib/syndication/feeds.py @@ -70,6 +70,7 @@ class Feed(object): feed = self.feed_type( title = self.__get_dynamic_attr('title', obj), + subtitle = self.__get_dynamic_attr('subtitle', obj), link = link, description = self.__get_dynamic_attr('description', obj), language = settings.LANGUAGE_CODE.decode(), @@ -78,6 +79,7 @@ class Feed(object): author_link = self.__get_dynamic_attr('author_link', obj), author_email = self.__get_dynamic_attr('author_email', obj), categories = self.__get_dynamic_attr('categories', obj), + feed_copyright = self.__get_dynamic_attr('feed_copyright', obj), ) try: @@ -116,5 +118,6 @@ class Feed(object): author_email = author_email, author_link = author_link, categories = self.__get_dynamic_attr('item_categories', item), + item_copyright = self.__get_dynamic_attr('item_copyright', item), ) return feed diff --git a/django/contrib/webdesign/__init__.py b/django/contrib/webdesign/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/webdesign/lorem_ipsum.py b/django/contrib/webdesign/lorem_ipsum.py new file mode 100644 index 0000000000..6226bbef1b --- /dev/null +++ b/django/contrib/webdesign/lorem_ipsum.py @@ -0,0 +1,69 @@ +""" +Utility functions for generating "lorem ipsum" Latin text. +""" + +import random + +COMMON_P = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.' +WORDS = ('exercitationem', 'perferendis', 'perspiciatis', 'laborum', 'eveniet', 'sunt', 'iure', 'nam', 'nobis', 'eum', 'cum', 'officiis', 'excepturi', 'odio', 'consectetur', 'quasi', 'aut', 'quisquam', 'vel', 'eligendi', 'itaque', 'non', 'odit', 'tempore', 'quaerat', 'dignissimos', 'facilis', 'neque', 'nihil', 'expedita', 'vitae', 'vero', 'ipsum', 'nisi', 'animi', 'cumque', 'pariatur', 'velit', 'modi', 'natus', 'iusto', 'eaque', 'sequi', 'illo', 'sed', 'ex', 'et', 'voluptatibus', 'tempora', 'veritatis', 'ratione', 'assumenda', 'incidunt', 'nostrum', 'placeat', 'aliquid', 'fuga', 'provident', 'praesentium', 'rem', 'necessitatibus', 'suscipit', 'adipisci', 'quidem', 'possimus', 'voluptas', 'debitis', 'sint', 'accusantium', 'unde', 'sapiente', 'voluptate', 'qui', 'aspernatur', 'laudantium', 'soluta', 'amet', 'quo', 'aliquam', 'saepe', 'culpa', 'libero', 'ipsa', 'dicta', 'reiciendis', 'nesciunt', 'doloribus', 'autem', 'impedit', 'minima', 'maiores', 'repudiandae', 'ipsam', 'obcaecati', 'ullam', 'enim', 'totam', 'delectus', 'ducimus', 'quis', 'voluptates', 'dolores', 'molestiae', 'harum', 'dolorem', 'quia', 'voluptatem', 'molestias', 'magni', 'distinctio', 'omnis', 'illum', 'dolorum', 'voluptatum', 'ea', 'quas', 'quam', 'corporis', 'quae', 'blanditiis', 'atque', 'deserunt', 'laboriosam', 'earum', 'consequuntur', 'hic', 'cupiditate', 'quibusdam', 'accusamus', 'ut', 'rerum', 'error', 'minus', 'eius', 'ab', 'ad', 'nemo', 'fugit', 'officia', 'at', 'in', 'id', 'quos', 'reprehenderit', 'numquam', 'iste', 'fugiat', 'sit', 'inventore', 'beatae', 'repellendus', 'magnam', 'recusandae', 'quod', 'explicabo', 'doloremque', 'aperiam', 'consequatur', 'asperiores', 'commodi', 'optio', 'dolor', 'labore', 'temporibus', 'repellat', 'veniam', 'architecto', 'est', 'esse', 'mollitia', 'nulla', 'a', 'similique', 'eos', 'alias', 'dolore', 'tenetur', 'deleniti', 'porro', 'facere', 'maxime', 'corrupti') +COMMON_WORDS = ('lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur', 'adipisicing', 'elit', 'sed', 'do', 'eiusmod', 'tempor', 'incididunt', 'ut', 'labore', 'et', 'dolore', 'magna', 'aliqua') + +def sentence(): + """ + Returns a randomly generated sentence of lorem ipsum text. + + The first word is capitalized, and the sentence ends in either a period or + question mark. Commas are added at random. + """ + # Determine the number of comma-separated sections and number of words in + # each section for this sentence. + sections = [' '.join(random.sample(WORDS, random.randint(3, 12))) for i in range(random.randint(1, 5))] + s = ', '.join(sections) + # Convert to sentence case and add end punctuation. + return '%s%s%s' % (s[0].upper(), s[1:], random.choice('?.')) + +def paragraph(): + """ + Returns a randomly generated paragraph of lorem ipsum text. + + The paragraph consists of between 1 and 4 sentences, inclusive. + """ + return ' '.join([sentence() for i in range(random.randint(1, 4))]) + +def paragraphs(count, common=True): + """ + Returns a list of paragraphs as returned by paragraph(). + + If `common` is True, then the first paragraph will be the standard + 'lorem ipsum' paragraph. Otherwise, the first paragraph will be random + Latin text. Either way, subsequent paragraphs will be random Latin text. + """ + paras = [] + for i in range(count): + if common and i == 0: + paras.append(COMMON_P) + else: + paras.append(paragraph()) + return paras + +def words(count, common=True): + """ + Returns a string of `count` lorem ipsum words separated by a single space. + + If `common` is True, then the first 19 words will be the standard + 'lorem ipsum' words. Otherwise, all words will be selected randomly. + """ + if common: + word_list = list(COMMON_WORDS) + else: + word_list = [] + c = len(word_list) + if count > c: + count -= c + while count > 0: + c = min(count, len(WORDS)) + count -= c + word_list += random.sample(WORDS, c) + else: + word_list = word_list[:count] + return ' '.join(word_list) diff --git a/django/contrib/webdesign/models.py b/django/contrib/webdesign/models.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/webdesign/templatetags/__init__.py b/django/contrib/webdesign/templatetags/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/webdesign/templatetags/webdesign.py b/django/contrib/webdesign/templatetags/webdesign.py new file mode 100644 index 0000000000..e5117093f8 --- /dev/null +++ b/django/contrib/webdesign/templatetags/webdesign.py @@ -0,0 +1,67 @@ +from django.contrib.webdesign.lorem_ipsum import words, paragraphs +from django import template + +register = template.Library() + +class LoremNode(template.Node): + def __init__(self, count, method, common): + self.count, self.method, self.common = count, method, common + + def render(self, context): + try: + count = int(self.count.resolve(context)) + except (ValueError, TypeError): + count = 1 + if self.method == 'w': + return words(count, common=self.common) + else: + paras = paragraphs(count, common=self.common) + if self.method == 'p': + paras = ['

                                                                                          %s

                                                                                          ' % p for p in paras] + return '\n\n'.join(paras) + +#@register.tag +def lorem(parser, token): + """ + Creates random Latin text useful for providing test data in templates. + + Usage format:: + + {% lorem [count] [method] [random] %} + + ``count`` is a number (or variable) containing the number of paragraphs or + words to generate (default is 1). + + ``method`` is either ``w`` for words, ``p`` for HTML paragraphs, ``b`` for + plain-text paragraph blocks (default is ``b``). + + ``random`` is the word ``random``, which if given, does not use the common + paragraph (starting "Lorem ipsum dolor sit amet, consectetuer..."). + + Examples: + * ``{% lorem %}`` will output the common "lorem ipsum" paragraph + * ``{% lorem 3 p %}`` will output the common "lorem ipsum" paragraph + and two random paragraphs each wrapped in HTML ``

                                                                                          `` tags + * ``{% lorem 2 w random %}`` will output two random latin words + """ + bits = list(token.split_contents()) + tagname = bits[0] + # Random bit + common = bits[-1] != 'random' + if not common: + bits.pop() + # Method bit + if bits[-1] in ('w', 'p', 'b'): + method = bits.pop() + else: + method = 'b' + # Count bit + if len(bits) > 1: + count = bits.pop() + else: + count = '1' + count = parser.compile_filter(count) + if len(bits) != 1: + raise TemplateSyntaxError("Incorrect format for %r tag" % tagname) + return LoremNode(count, method, common) +lorem = register.tag(lorem) diff --git a/django/contrib/webdesign/tests.py b/django/contrib/webdesign/tests.py new file mode 100644 index 0000000000..d20ebf110a --- /dev/null +++ b/django/contrib/webdesign/tests.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- + +r""" +>>> words(7) +'lorem ipsum dolor sit amet consectetur adipisicing' + +>>> paragraphs(1) +['Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'] + +""" + +from django.contrib.webdesign.lorem_ipsum import * +import datetime + +if __name__ == '__main__': + import doctest + doctest.testmod() \ No newline at end of file diff --git a/django/core/cache/backends/base.py b/django/core/cache/backends/base.py index ef5f6a6b3e..bb67399f3b 100644 --- a/django/core/cache/backends/base.py +++ b/django/core/cache/backends/base.py @@ -54,3 +54,6 @@ class BaseCache(object): Returns True if the key is in the cache and has not expired. """ return self.get(key) is not None + + __contains__ = has_key + diff --git a/django/core/cache/backends/dummy.py b/django/core/cache/backends/dummy.py index c68f33616c..4c64161538 100644 --- a/django/core/cache/backends/dummy.py +++ b/django/core/cache/backends/dummy.py @@ -6,8 +6,8 @@ class CacheClass(BaseCache): def __init__(self, *args, **kwargs): pass - def get(self, *args, **kwargs): - pass + def get(self, key, default=None): + return default def set(self, *args, **kwargs): pass @@ -16,7 +16,7 @@ class CacheClass(BaseCache): pass def get_many(self, *args, **kwargs): - pass + return {} def has_key(self, *args, **kwargs): return False diff --git a/django/core/cache/backends/memcached.py b/django/core/cache/backends/memcached.py index 180f95da73..1ab019221a 100644 --- a/django/core/cache/backends/memcached.py +++ b/django/core/cache/backends/memcached.py @@ -3,9 +3,12 @@ from django.core.cache.backends.base import BaseCache, InvalidCacheBackendError try: - import memcache + import cmemcache as memcache except ImportError: - raise InvalidCacheBackendError, "Memcached cache backend requires the 'memcache' library" + try: + import memcache + except: + raise InvalidCacheBackendError("Memcached cache backend requires either the 'memcache' or 'cmemcache' library") class CacheClass(BaseCache): def __init__(self, server, params): diff --git a/django/core/cache/backends/simple.py b/django/core/cache/backends/simple.py index 175944a75a..3fcad8c7ad 100644 --- a/django/core/cache/backends/simple.py +++ b/django/core/cache/backends/simple.py @@ -52,7 +52,7 @@ class CacheClass(BaseCache): pass def has_key(self, key): - return self._cache.has_key(key) + return key in self._cache def _cull(self): if self._cull_frequency == 0: diff --git a/django/core/context_processors.py b/django/core/context_processors.py index f4b288dfc4..3c826b1a7d 100644 --- a/django/core/context_processors.py +++ b/django/core/context_processors.py @@ -42,6 +42,13 @@ def i18n(request): return context_extras +def media(request): + """ + Adds media-related context variables to the context. + + """ + return {'MEDIA_URL': settings.MEDIA_URL} + def request(request): return {'request': request} diff --git a/django/core/handlers/modpython.py b/django/core/handlers/modpython.py index 5fc41a048b..6370cab47c 100644 --- a/django/core/handlers/modpython.py +++ b/django/core/handlers/modpython.py @@ -42,11 +42,11 @@ class ModPythonRequest(http.HttpRequest): def is_secure(self): # Note: modpython 3.2.10+ has req.is_https(), but we need to support previous versions - return self._req.subprocess_env.has_key('HTTPS') and self._req.subprocess_env['HTTPS'] == 'on' + return 'HTTPS' in self._req.subprocess_env and self._req.subprocess_env['HTTPS'] == 'on' def _load_post_and_files(self): "Populates self._post and self._files" - if self._req.headers_in.has_key('content-type') and self._req.headers_in['content-type'].startswith('multipart'): + if 'content-type' in self._req.headers_in and self._req.headers_in['content-type'].startswith('multipart'): self._post, self._files = http.parse_file_upload(self._req.headers_in, self.raw_post_data) else: self._post, self._files = http.QueryDict(self.raw_post_data), datastructures.MultiValueDict() diff --git a/django/core/handlers/wsgi.py b/django/core/handlers/wsgi.py index 71cfecd9a0..4320b69627 100644 --- a/django/core/handlers/wsgi.py +++ b/django/core/handlers/wsgi.py @@ -103,7 +103,7 @@ class WSGIRequest(http.HttpRequest): return '%s%s' % (self.path, self.environ.get('QUERY_STRING', '') and ('?' + self.environ.get('QUERY_STRING', '')) or '') def is_secure(self): - return self.environ.has_key('HTTPS') and self.environ['HTTPS'] == 'on' + return 'HTTPS' in self.environ and self.environ['HTTPS'] == 'on' def _load_post_and_files(self): # Populates self._post and self._files diff --git a/django/core/mail.py b/django/core/mail.py index a5af6e610f..8661d84287 100644 --- a/django/core/mail.py +++ b/django/core/mail.py @@ -1,14 +1,56 @@ -# Use this module for e-mailing. +""" +Tools for sending email. +""" from django.conf import settings from email.MIMEText import MIMEText from email.Header import Header -import smtplib, rfc822 +from email.Utils import formatdate +from email import Charset +import os +import smtplib import socket import time import random -DNS_NAME = socket.getfqdn() # Cache the hostname +# Don't BASE64-encode UTF-8 messages so that we avoid unwanted attention from +# some spam filters. +Charset.add_charset('utf-8', Charset.SHORTEST, Charset.QP, 'utf-8') + +# Cache the hostname, but do it lazily: socket.getfqdn() can take a couple of +# seconds, which slows down the restart of the server. +class CachedDnsName(object): + def __str__(self): + return self.get_fqdn() + + def get_fqdn(self): + if not hasattr(self, '_fqdn'): + self._fqdn = socket.getfqdn() + return self._fqdn + +DNS_NAME = CachedDnsName() + +# Copied from Python standard library and modified to used the cached hostname +# for performance. +def make_msgid(idstring=None): + """Returns a string suitable for RFC 2822 compliant Message-ID, e.g: + + <20020201195627.33539.96671@nightshade.la.mastaler.com> + + Optional idstring if given is a string used to strengthen the + uniqueness of the message id. + """ + timeval = time.time() + utcdate = time.strftime('%Y%m%d%H%M%S', time.gmtime(timeval)) + pid = os.getpid() + randint = random.randrange(100000) + if idstring is None: + idstring = '' + else: + idstring = '.' + idstring + idhost = DNS_NAME + msgid = '<%s.%s.%s%s@%s>' % (utcdate, pid, randint, idstring, idhost) + return msgid class BadHeaderError(ValueError): pass @@ -22,62 +64,173 @@ class SafeMIMEText(MIMEText): val = Header(val, settings.DEFAULT_CHARSET) MIMEText.__setitem__(self, name, val) -def send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=settings.EMAIL_HOST_USER, auth_password=settings.EMAIL_HOST_PASSWORD): +class SMTPConnection(object): + """ + A wrapper that manages the SMTP network connection. + """ + + def __init__(self, host=None, port=None, username=None, password=None, + use_tls=None, fail_silently=False): + self.host = host or settings.EMAIL_HOST + self.port = port or settings.EMAIL_PORT + self.username = username or settings.EMAIL_HOST_USER + self.password = password or settings.EMAIL_HOST_PASSWORD + self.use_tls = (use_tls is not None) and use_tls or settings.EMAIL_USE_TLS + self.fail_silently = fail_silently + self.connection = None + + def open(self): + """ + Ensure we have a connection to the email server. Returns whether or not + a new connection was required. + """ + if self.connection: + # Nothing to do if the connection is already open. + return False + try: + self.connection = smtplib.SMTP(self.host, self.port) + if self.use_tls: + self.connection.ehlo() + self.connection.starttls() + self.connection.ehlo() + if self.username and self.password: + self.connection.login(self.username, self.password) + return True + except: + if not self.fail_silently: + raise + + def close(self): + """Close the connection to the email server.""" + try: + try: + self.connection.quit() + except socket.sslerror: + # This happens when calling quit() on a TLS connection + # sometimes. + self.connection.close() + except: + if self.fail_silently: + return + raise + finally: + self.connection = None + + def send_messages(self, email_messages): + """ + Send one or more EmailMessage objects and return the number of email + messages sent. + """ + if not email_messages: + return + new_conn_created = self.open() + if not self.connection: + # We failed silently on open(). Trying to send would be pointless. + return + num_sent = 0 + for message in email_messages: + sent = self._send(message) + if sent: + num_sent += 1 + if new_conn_created: + self.close() + return num_sent + + def _send(self, email_message): + """A helper method that does the actual sending.""" + if not email_message.to: + return False + try: + self.connection.sendmail(email_message.from_email, + email_message.recipients(), + email_message.message().as_string()) + except: + if not self.fail_silently: + raise + return False + return True + +class EmailMessage(object): + """ + A container for email information. + """ + def __init__(self, subject='', body='', from_email=None, to=None, bcc=None, connection=None): + self.to = to or [] + self.bcc = bcc or [] + self.from_email = from_email or settings.DEFAULT_FROM_EMAIL + self.subject = subject + self.body = body + self.connection = connection + + def get_connection(self, fail_silently=False): + if not self.connection: + self.connection = SMTPConnection(fail_silently=fail_silently) + return self.connection + + def message(self): + msg = SafeMIMEText(self.body, 'plain', settings.DEFAULT_CHARSET) + msg['Subject'] = self.subject + msg['From'] = self.from_email + msg['To'] = ', '.join(self.to) + msg['Date'] = formatdate() + msg['Message-ID'] = make_msgid() + if self.bcc: + msg['Bcc'] = ', '.join(self.bcc) + return msg + + def recipients(self): + """ + Returns a list of all recipients of the email (includes direct + addressees as well as Bcc entries). + """ + return self.to + self.bcc + + def send(self, fail_silently=False): + """Send the email message.""" + return self.get_connection(fail_silently).send_messages([self]) + +def send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None): """ Easy wrapper for sending a single message to a recipient list. All members of the recipient list will see the other recipients in the 'To' field. - """ - return send_mass_mail([[subject, message, from_email, recipient_list]], fail_silently, auth_user, auth_password) -def send_mass_mail(datatuple, fail_silently=False, auth_user=settings.EMAIL_HOST_USER, auth_password=settings.EMAIL_HOST_PASSWORD): + 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. + """ + connection = SMTPConnection(username=auth_user, password=auth_password, + fail_silently=fail_silently) + return EmailMessage(subject, message, from_email, recipient_list, connection=connection).send() + +def send_mass_mail(datatuple, fail_silently=False, auth_user=None, auth_password=None): """ Given a datatuple of (subject, message, from_email, recipient_list), sends each message to each recipient list. Returns the number of e-mails sent. If from_email is None, the DEFAULT_FROM_EMAIL setting is used. If auth_user and auth_password are set, they're used to log in. + If auth_user is None, the EMAIL_HOST_USER setting is used. + If auth_password is None, the EMAIL_HOST_PASSWORD setting is used. + + NOTE: This method is deprecated. It exists for backwards compatibility. + New code should use the EmailMessage class directly. """ - try: - server = smtplib.SMTP(settings.EMAIL_HOST, settings.EMAIL_PORT) - if auth_user and auth_password: - server.login(auth_user, auth_password) - except: - if fail_silently: - return - raise - num_sent = 0 - for subject, message, from_email, recipient_list in datatuple: - if not recipient_list: - continue - from_email = from_email or settings.DEFAULT_FROM_EMAIL - msg = SafeMIMEText(message, 'plain', settings.DEFAULT_CHARSET) - msg['Subject'] = subject - msg['From'] = from_email - msg['To'] = ', '.join(recipient_list) - msg['Date'] = rfc822.formatdate() - try: - random_bits = str(random.getrandbits(64)) - except AttributeError: # Python 2.3 doesn't have random.getrandbits(). - random_bits = ''.join([random.choice('1234567890') for i in range(19)]) - msg['Message-ID'] = "<%d.%s@%s>" % (time.time(), random_bits, DNS_NAME) - try: - server.sendmail(from_email, recipient_list, msg.as_string()) - num_sent += 1 - except: - if not fail_silently: - raise - try: - server.quit() - except: - if fail_silently: - return - raise - return num_sent + connection = SMTPConnection(username=auth_user, password=auth_password, + fail_silently=fail_silently) + messages = [EmailMessage(subject, message, sender, recipient) for subject, message, sender, recipient in datatuple] + return connection.send_messages(messages) def mail_admins(subject, message, fail_silently=False): "Sends a message to the admins, as defined by the ADMINS setting." - send_mail(settings.EMAIL_SUBJECT_PREFIX + subject, message, settings.SERVER_EMAIL, [a[1] for a in settings.ADMINS], fail_silently) + EmailMessage(settings.EMAIL_SUBJECT_PREFIX + subject, message, + settings.SERVER_EMAIL, [a[1] for a in + settings.ADMINS]).send(fail_silently=fail_silently) def mail_managers(subject, message, fail_silently=False): "Sends a message to the managers, as defined by the MANAGERS setting." - send_mail(settings.EMAIL_SUBJECT_PREFIX + subject, message, settings.SERVER_EMAIL, [a[1] for a in settings.MANAGERS], fail_silently) + EmailMessage(settings.EMAIL_SUBJECT_PREFIX + subject, message, + settings.SERVER_EMAIL, [a[1] for a in + settings.MANAGERS]).send(fail_silently=fail_silently) + diff --git a/django/core/management.py b/django/core/management.py index d1a97c4a53..213eb4602c 100644 --- a/django/core/management.py +++ b/django/core/management.py @@ -3,14 +3,17 @@ import django from django.core.exceptions import ImproperlyConfigured -import os, re, shutil, sys, textwrap from optparse import OptionParser from django.utils import termcolors +import os, re, shutil, sys, textwrap # For Python 2.3 if not hasattr(__builtins__, 'set'): from sets import Set as set +# For backwards compatibility: get_version() used to be in this module. +get_version = django.get_version + MODULE_TEMPLATE = ''' {%% if perms.%(app)s.%(addperm)s or perms.%(app)s.%(changeperm)s %%} {%% if perms.%(app)s.%(changeperm)s %%}{%% endif %%}%(name)s{%% if perms.%(app)s.%(changeperm)s %%}{%% endif %%} @@ -25,7 +28,7 @@ APP_ARGS = '[appname ...]' # which has been installed. PROJECT_TEMPLATE_DIR = os.path.join(django.__path__[0], 'conf', '%s_template') -INVALID_PROJECT_NAMES = ('django', 'test') +INVALID_PROJECT_NAMES = ('django', 'site', 'test') # Set up the terminal color scheme. class dummy: pass @@ -68,20 +71,31 @@ def _get_table_list(): cursor = connection.cursor() return get_introspection_module().get_table_list(cursor) +def _get_sequence_list(): + "Returns a list of information about all DB sequences for all models in all apps" + from django.db import models + + apps = models.get_apps() + sequence_list = [] + + for app in apps: + for model in models.get_models(app): + for f in model._meta.fields: + if isinstance(f, models.AutoField): + sequence_list.append({'table':model._meta.db_table,'column':f.column,}) + break # Only one AutoField is allowed per model, so don't bother continuing. + + for f in model._meta.many_to_many: + sequence_list.append({'table':f.m2m_db_table(),'column':None,}) + + return sequence_list + # If the foreign key points to an AutoField, a PositiveIntegerField or a # PositiveSmallIntegerField, the foreign key should be an IntegerField, not the # referred field type. Otherwise, the foreign key should be the same type of # field as the field to which it points. get_rel_data_type = lambda f: (f.get_internal_type() in ('AutoField', 'PositiveIntegerField', 'PositiveSmallIntegerField')) and 'IntegerField' or f.get_internal_type() -def get_version(): - "Returns the version as a human-format string." - from django import VERSION - v = '.'.join([str(i) for i in VERSION[:-1]]) - if VERSION[-1]: - v += '-' + VERSION[-1] - return v - def get_sql_create(app): "Returns a list of the CREATE TABLE SQL statements for the given app." from django.db import get_creation_module, models @@ -149,6 +163,8 @@ def _get_sql_model_create(model, known_models=set()): for f in opts.fields: if isinstance(f, (models.ForeignKey, models.OneToOneField)): rel_field = f.rel.get_related_field() + while isinstance(rel_field, (models.ForeignKey, models.OneToOneField)): + rel_field = rel_field.rel.get_related_field() data_type = get_rel_data_type(rel_field) else: rel_field = f @@ -167,7 +183,8 @@ def _get_sql_model_create(model, known_models=set()): if f.rel.to in known_models: field_output.append(style.SQL_KEYWORD('REFERENCES') + ' ' + \ style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)) + ' (' + \ - style.SQL_FIELD(backend.quote_name(f.rel.to._meta.get_field(f.rel.field_name).column)) + ')' + style.SQL_FIELD(backend.quote_name(f.rel.to._meta.get_field(f.rel.field_name).column)) + ')' + + backend.get_deferrable_sql() ) else: # We haven't yet created the table to which this field @@ -210,40 +227,43 @@ def _get_sql_for_pending_references(model, pending_references): # For MySQL, r_name must be unique in the first 64 characters. # So we are careful with character usage here. r_name = '%s_refs_%s_%x' % (r_col, col, abs(hash((r_table, table)))) - final_output.append(style.SQL_KEYWORD('ALTER TABLE') + ' %s ADD CONSTRAINT %s FOREIGN KEY (%s) REFERENCES %s (%s);' % \ + final_output.append(style.SQL_KEYWORD('ALTER TABLE') + ' %s ADD CONSTRAINT %s FOREIGN KEY (%s) REFERENCES %s (%s)%s;' % \ (backend.quote_name(r_table), r_name, - backend.quote_name(r_col), backend.quote_name(table), backend.quote_name(col))) + backend.quote_name(r_col), backend.quote_name(table), backend.quote_name(col), + backend.get_deferrable_sql())) del pending_references[model] return final_output def _get_many_to_many_sql_for_model(model): from django.db import backend, get_creation_module - from django.db.models import GenericRel + from django.contrib.contenttypes import generic data_types = get_creation_module().DATA_TYPES opts = model._meta final_output = [] for f in opts.many_to_many: - if not isinstance(f.rel, GenericRel): + if not isinstance(f.rel, generic.GenericRel): table_output = [style.SQL_KEYWORD('CREATE TABLE') + ' ' + \ style.SQL_TABLE(backend.quote_name(f.m2m_db_table())) + ' ('] table_output.append(' %s %s %s,' % \ (style.SQL_FIELD(backend.quote_name('id')), style.SQL_COLTYPE(data_types['AutoField']), style.SQL_KEYWORD('NOT NULL PRIMARY KEY'))) - table_output.append(' %s %s %s %s (%s),' % \ + table_output.append(' %s %s %s %s (%s)%s,' % \ (style.SQL_FIELD(backend.quote_name(f.m2m_column_name())), style.SQL_COLTYPE(data_types[get_rel_data_type(opts.pk)] % opts.pk.__dict__), style.SQL_KEYWORD('NOT NULL REFERENCES'), style.SQL_TABLE(backend.quote_name(opts.db_table)), - style.SQL_FIELD(backend.quote_name(opts.pk.column)))) - table_output.append(' %s %s %s %s (%s),' % \ + style.SQL_FIELD(backend.quote_name(opts.pk.column)), + backend.get_deferrable_sql())) + table_output.append(' %s %s %s %s (%s)%s,' % \ (style.SQL_FIELD(backend.quote_name(f.m2m_reverse_name())), style.SQL_COLTYPE(data_types[get_rel_data_type(f.rel.to._meta.pk)] % f.rel.to._meta.pk.__dict__), style.SQL_KEYWORD('NOT NULL REFERENCES'), style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)), - style.SQL_FIELD(backend.quote_name(f.rel.to._meta.pk.column)))) + style.SQL_FIELD(backend.quote_name(f.rel.to._meta.pk.column)), + backend.get_deferrable_sql())) table_output.append(' %s (%s, %s)' % \ (style.SQL_KEYWORD('UNIQUE'), style.SQL_FIELD(backend.quote_name(f.m2m_column_name())), @@ -257,7 +277,7 @@ def get_sql_delete(app): from django.db import backend, connection, models, get_introspection_module introspection = get_introspection_module() - # This should work even if a connecton isn't available + # This should work even if a connection isn't available try: cursor = connection.cursor() except: @@ -291,7 +311,7 @@ def get_sql_delete(app): # Drop the table now output.append('%s %s;' % (style.SQL_KEYWORD('DROP TABLE'), style.SQL_TABLE(backend.quote_name(model._meta.db_table)))) - if backend.supports_constraints and references_to_delete.has_key(model): + if backend.supports_constraints and model in references_to_delete: for rel_class, f in references_to_delete[model]: table = rel_class._meta.db_table col = f.column @@ -330,7 +350,15 @@ def get_sql_reset(app): get_sql_reset.help_doc = "Prints the DROP TABLE SQL, then the CREATE TABLE SQL, for the given app name(s)." get_sql_reset.args = APP_ARGS -def get_sql_initial_data_for_model(model): +def get_sql_flush(): + "Returns a list of the SQL statements used to flush the database" + from django.db import backend + statements = backend.get_sql_flush(style, _get_table_list(), _get_sequence_list()) + return statements +get_sql_flush.help_doc = "Returns a list of the SQL statements required to return all tables in the database to the state they were in just after they were installed." +get_sql_flush.args = '' + +def get_custom_sql_for_model(model): from django.db import models from django.conf import settings @@ -357,8 +385,8 @@ def get_sql_initial_data_for_model(model): return output -def get_sql_initial_data(app): - "Returns a list of the initial INSERT SQL statements for the given app." +def get_custom_sql(app): + "Returns a list of the custom table modifying SQL statements for the given app." from django.db.models import get_models output = [] @@ -366,37 +394,23 @@ def get_sql_initial_data(app): app_dir = os.path.normpath(os.path.join(os.path.dirname(app.__file__), 'sql')) for model in app_models: - output.extend(get_sql_initial_data_for_model(model)) + output.extend(get_custom_sql_for_model(model)) return output -get_sql_initial_data.help_doc = "Prints the initial INSERT SQL statements for the given app name(s)." -get_sql_initial_data.args = APP_ARGS +get_custom_sql.help_doc = "Prints the custom table modifying SQL statements for the given app name(s)." +get_custom_sql.args = APP_ARGS + +def get_sql_initial_data(apps): + "Returns a list of the initial INSERT SQL statements for the given app." + return style.ERROR("This action has been renamed. Try './manage.py sqlcustom %s'." % ' '.join(apps and apps or ['app1', 'app2'])) +get_sql_initial_data.help_doc = "RENAMED: see 'sqlcustom'" +get_sql_initial_data.args = '' def get_sql_sequence_reset(app): - "Returns a list of the SQL statements to reset PostgreSQL sequences for the given app." + "Returns a list of the SQL statements to reset sequences for the given app." from django.db import backend, models - output = [] - for model in models.get_models(app): - for f in model._meta.fields: - if isinstance(f, models.AutoField): - output.append("%s setval('%s', (%s max(%s) %s %s));" % \ - (style.SQL_KEYWORD('SELECT'), - style.SQL_FIELD('%s_%s_seq' % (model._meta.db_table, f.column)), - style.SQL_KEYWORD('SELECT'), - style.SQL_FIELD(backend.quote_name(f.column)), - style.SQL_KEYWORD('FROM'), - style.SQL_TABLE(backend.quote_name(model._meta.db_table)))) - break # Only one AutoField is allowed per model, so don't bother continuing. - for f in model._meta.many_to_many: - output.append("%s setval('%s', (%s max(%s) %s %s));" % \ - (style.SQL_KEYWORD('SELECT'), - style.SQL_FIELD('%s_id_seq' % f.m2m_db_table()), - style.SQL_KEYWORD('SELECT'), - style.SQL_FIELD(backend.quote_name('id')), - style.SQL_KEYWORD('FROM'), - style.SQL_TABLE(f.m2m_db_table()))) - return output -get_sql_sequence_reset.help_doc = "Prints the SQL statements for resetting PostgreSQL sequences for the given app name(s)." + return backend.get_sql_sequence_reset(style, models.get_models(app)) +get_sql_sequence_reset.help_doc = "Prints the SQL statements for resetting sequences for the given app name(s)." get_sql_sequence_reset.args = APP_ARGS def get_sql_indexes(app): @@ -419,7 +433,7 @@ def get_sql_indexes_for_model(model): unique = f.unique and 'UNIQUE ' or '' output.append( style.SQL_KEYWORD('CREATE %sINDEX' % unique) + ' ' + \ - style.SQL_TABLE('%s_%s' % (model._meta.db_table, f.column)) + ' ' + \ + style.SQL_TABLE(backend.quote_name('%s_%s' % (model._meta.db_table, f.column))) + ' ' + \ style.SQL_KEYWORD('ON') + ' ' + \ style.SQL_TABLE(backend.quote_name(model._meta.db_table)) + ' ' + \ "(%s);" % style.SQL_FIELD(backend.quote_name(f.column)) @@ -428,16 +442,26 @@ def get_sql_indexes_for_model(model): def get_sql_all(app): "Returns a list of CREATE TABLE SQL, initial-data inserts, and CREATE INDEX SQL for the given module." - return get_sql_create(app) + get_sql_initial_data(app) + get_sql_indexes(app) + return get_sql_create(app) + get_custom_sql(app) + get_sql_indexes(app) get_sql_all.help_doc = "Prints the CREATE TABLE, initial-data and CREATE INDEX SQL statements for the given model module name(s)." get_sql_all.args = APP_ARGS +def _emit_post_sync_signal(created_models, verbosity, interactive): + from django.db import models + from django.dispatch import dispatcher + # Emit the post_sync signal for every application. + for app in models.get_apps(): + app_name = app.__name__.split('.')[-2] + if verbosity >= 2: + print "Running post-sync handlers for application", app_name + dispatcher.send(signal=models.signals.post_syncdb, sender=app, + app=app, created_models=created_models, + verbosity=verbosity, interactive=interactive) + def syncdb(verbosity=1, interactive=True): "Creates the database tables for all apps in INSTALLED_APPS whose tables haven't already been created." from django.db import connection, transaction, models, get_creation_module - from django.db.models import signals from django.conf import settings - from django.dispatch import dispatcher disable_termcolors() @@ -465,6 +489,7 @@ def syncdb(verbosity=1, interactive=True): created_models = set() pending_references = {} + # Create the tables for each model for app in models.get_apps(): app_name = app.__name__.split('.')[-2] model_list = models.get_models(app) @@ -486,6 +511,11 @@ def syncdb(verbosity=1, interactive=True): cursor.execute(statement) table_list.append(model._meta.db_table) + # Create the m2m tables. This must be done after all tables have been created + # to ensure that all referred tables will exist. + for app in models.get_apps(): + app_name = app.__name__.split('.')[-2] + model_list = models.get_models(app) for model in model_list: if model in created_models: sql = _get_many_to_many_sql_for_model(model) @@ -495,31 +525,27 @@ def syncdb(verbosity=1, interactive=True): for statement in sql: cursor.execute(statement) - transaction.commit_unless_managed() + transaction.commit_unless_managed() # Send the post_syncdb signal, so individual apps can do whatever they need # to do at this point. + _emit_post_sync_signal(created_models, verbosity, interactive) + + # Install custom SQL for the app (but only if this + # is a model we've just created) for app in models.get_apps(): app_name = app.__name__.split('.')[-2] - if verbosity >= 2: - print "Running post-sync handlers for application", app_name - dispatcher.send(signal=signals.post_syncdb, sender=app, - app=app, created_models=created_models, - verbosity=verbosity, interactive=interactive) - - # Install initial data for the app (but only if this is a model we've - # just created) for model in models.get_models(app): if model in created_models: - initial_sql = get_sql_initial_data_for_model(model) - if initial_sql: + custom_sql = get_custom_sql_for_model(model) + if custom_sql: if verbosity >= 1: - print "Installing initial data for %s.%s model" % (app_name, model._meta.object_name) + print "Installing custom SQL for %s.%s model" % (app_name, model._meta.object_name) try: - for sql in initial_sql: + for sql in custom_sql: cursor.execute(sql) except Exception, e: - sys.stderr.write("Failed to install initial SQL data for %s.%s model: %s" % \ + sys.stderr.write("Failed to install custom SQL for %s.%s model: %s" % \ (app_name, model._meta.object_name, e)) transaction.rollback_unless_managed() else: @@ -544,7 +570,10 @@ def syncdb(verbosity=1, interactive=True): else: transaction.commit_unless_managed() -syncdb.args = '' + # Install the 'initialdata' fixture, using format discovery + load_data(['initial_data'], verbosity=verbosity) +syncdb.help_doc = "Create the database tables for all apps in INSTALLED_APPS whose tables haven't already been created." +syncdb.args = '[--verbosity] [--noinput]' def get_admin_index(app): "Returns admin-index template snippet (in list form) for the given app." @@ -597,36 +626,6 @@ def diffsettings(): print '\n'.join(output) diffsettings.args = "" -def install(app): - "Executes the equivalent of 'get_sql_all' in the current database." - from django.db import connection, transaction - - app_name = app.__name__.split('.')[-2] - - disable_termcolors() - - # First, try validating the models. - _check_for_validation_errors(app) - - sql_list = get_sql_all(app) - - try: - cursor = connection.cursor() - for sql in sql_list: - cursor.execute(sql) - except Exception, e: - sys.stderr.write(style.ERROR("""Error: %s couldn't be installed. Possible reasons: - * The database isn't running or isn't configured correctly. - * At least one of the database tables already exists. - * The SQL was invalid. -Hint: Look at the output of 'django-admin.py sqlall %s'. That's the SQL this command wasn't able to run. -The full error: """ % (app_name, app_name)) + style.ERROR_OUTPUT(str(e)) + '\n') - transaction.rollback_unless_managed() - sys.exit(1) - transaction.commit_unless_managed() -install.help_doc = "Executes ``sqlall`` for the given app(s) in the current database." -install.args = APP_ARGS - def reset(app, interactive=True): "Executes the equivalent of 'get_sql_reset' in the current database." from django.db import connection, transaction @@ -668,7 +667,68 @@ The full error: """ % (app_name, app_name)) + style.ERROR_OUTPUT(str(e)) + '\n') else: print "Reset cancelled." reset.help_doc = "Executes ``sqlreset`` for the given app(s) in the current database." -reset.args = APP_ARGS +reset.args = '[--noinput]' + APP_ARGS + +def flush(verbosity=1, interactive=True): + "Returns all tables in the database to the same state they were in immediately after syncdb." + from django.conf import settings + from django.db import connection, transaction, models + from django.dispatch import dispatcher + + disable_termcolors() + + # First, try validating the models. + _check_for_validation_errors() + + # Import the 'management' module within each installed app, to register + # dispatcher events. + for app_name in settings.INSTALLED_APPS: + try: + __import__(app_name + '.management', {}, {}, ['']) + except ImportError: + pass + + sql_list = get_sql_flush() + + if interactive: + confirm = raw_input(""" +You have requested a flush of the database. +This will IRREVERSIBLY DESTROY all data currently in the database, +and return each table to the state it was in after syncdb. +Are you sure you want to do this? + +Type 'yes' to continue, or 'no' to cancel: """) + else: + confirm = 'yes' + + if confirm == 'yes': + try: + cursor = connection.cursor() + for sql in sql_list: + cursor.execute(sql) + except Exception, e: + sys.stderr.write(style.ERROR("""Error: Database %s couldn't be flushed. Possible reasons: + * The database isn't running or isn't configured correctly. + * At least one of the expected database tables doesn't exist. + * The SQL was invalid. +Hint: Look at the output of 'django-admin.py sqlflush'. That's the SQL this command wasn't able to run. +The full error: """ % settings.DATABASE_NAME + style.ERROR_OUTPUT(str(e)) + '\n')) + transaction.rollback_unless_managed() + sys.exit(1) + transaction.commit_unless_managed() + + # Emit the post sync signal. This allows individual + # applications to respond as if the database had been + # sync'd from scratch. + _emit_post_sync_signal(models.get_models(), verbosity, interactive) + + # Reinstall the initial_data fixture + load_data(['initial_data'], verbosity=verbosity) + + else: + print "Flush cancelled." +flush.help_doc = "Executes ``sqlflush`` on the current database." +flush.args = '[--verbosity] [--noinput]' def _start_helper(app_or_project, name, directory, other_name=''): other = {'project': 'app', 'app': 'project'}[app_or_project] @@ -708,7 +768,7 @@ def startproject(project_name, directory): "Creates a Django project for the given project_name in the given directory." from random import choice if project_name in INVALID_PROJECT_NAMES: - sys.stderr.write(style.ERROR("Error: %r isn't a valid project name. Please try another.\n" % project_name)) + sys.stderr.write(style.ERROR("Error: '%r' conflicts with the name of an existing Python module and cannot be used as a project name. Please try another name.\n" % project_name)) sys.exit(1) _start_helper('project', project_name, directory) # Create a random SECRET_KEY hash, and put it in the main settings. @@ -727,11 +787,12 @@ def startapp(app_name, directory): # Determine the project_name a bit naively -- by looking at the name of # the parent directory. project_dir = os.path.normpath(os.path.join(directory, '..')) - project_name = os.path.basename(project_dir) - if app_name == os.path.basename(directory): + parent_dir = os.path.basename(project_dir) + project_name = os.path.basename(directory) + if app_name == project_name: sys.stderr.write(style.ERROR("Error: You cannot create an app with the same name (%r) as your project.\n" % app_name)) sys.exit(1) - _start_helper('app', app_name, directory, project_name) + _start_helper('app', app_name, directory, parent_dir) startapp.help_doc = "Creates a Django app directory structure for the given app name in the current directory." startapp.args = "[appname]" @@ -751,7 +812,7 @@ def inspectdb(): yield "# * Make sure each model has one field with primary_key=True" yield "# Feel free to rename the models, but don't rename db_table values or field names." yield "#" - yield "# Also note: You'll have to insert the output of 'django-admin.py sqlinitialdata [appname]'" + yield "# Also note: You'll have to insert the output of 'django-admin.py sqlcustom [appname]'" yield "# into your database." yield '' yield 'from django.db import models' @@ -780,7 +841,7 @@ def inspectdb(): att_name += '_field' comment_notes.append('Field renamed because it was a Python reserved word.') - if relations.has_key(i): + if i in relations: rel_to = relations[i][1] == table_name and "'self'" or table2model(relations[i][1]) field_type = 'ForeignKey(%s' % rel_to if att_name.endswith('_id'): @@ -804,7 +865,7 @@ def inspectdb(): if field_type == 'CharField' and row[3]: extra_params['maxlength'] = row[3] - if field_type == 'FloatField': + if field_type == 'DecimalField': extra_params['max_digits'] = row[4] extra_params['decimal_places'] = row[5] @@ -879,11 +940,11 @@ def get_validation_errors(outfile, app=None): e.add(opts, '"%s": You can\'t use "id" as a field name, because each model automatically gets an "id" field if none of the fields have primary_key=True. You need to either remove/rename your "id" field or add primary_key=True to a field.' % f.name) if isinstance(f, models.CharField) and f.maxlength in (None, 0): e.add(opts, '"%s": CharFields require a "maxlength" attribute.' % f.name) - if isinstance(f, models.FloatField): + if isinstance(f, models.DecimalField): if f.decimal_places is None: - e.add(opts, '"%s": FloatFields require a "decimal_places" attribute.' % f.name) + e.add(opts, '"%s": DecimalFields require a "decimal_places" attribute.' % f.name) if f.max_digits is None: - e.add(opts, '"%s": FloatFields require a "max_digits" attribute.' % f.name) + e.add(opts, '"%s": DecimalFields require a "max_digits" attribute.' % f.name) if isinstance(f, models.FileField) and not f.upload_to: e.add(opts, '"%s": FileFields require an "upload_to" attribute.' % f.name) if isinstance(f, models.ImageField): @@ -1072,7 +1133,7 @@ def validate(outfile=sys.stdout, silent_success=False): return outfile.write('%s error%s found.\n' % (num_errors, num_errors != 1 and 's' or '')) except ImproperlyConfigured: - outfile.write("Skipping validation because things aren't configured properly.") + outfile.write("Skipping validation because things aren't configured properly.\n") validate.args = '' def _check_for_validation_errors(app=None): @@ -1174,6 +1235,11 @@ createcachetable.args = "[tablename]" def run_shell(use_plain=False): "Runs a Python interactive interpreter. Tries to use IPython, if it's available." + # XXX: (Temporary) workaround for ticket #1796: force early loading of all + # models from installed apps. + from django.db.models.loading import get_models + loaded_models = get_models() + try: if use_plain: # Don't bother loading IPython, because the user wants plain Python. @@ -1235,10 +1301,154 @@ def test(app_labels, verbosity=1): test_module = __import__(test_module_name, {}, {}, test_path[-1]) test_runner = getattr(test_module, test_path[-1]) - test_runner(app_list, verbosity) + failures = test_runner(app_list, verbosity) + if failures: + sys.exit(failures) + test.help_doc = 'Runs the test suite for the specified applications, or the entire site if no apps are specified' test.args = '[--verbosity] ' + APP_ARGS +def load_data(fixture_labels, verbosity=1): + "Installs the provided fixture file(s) as data in the database." + from django.db.models import get_apps + from django.core import serializers + from django.db import connection, transaction, backend + from django.conf import settings + import sys + + disable_termcolors() + + # Keep a count of the installed objects and fixtures + count = [0,0] + models = set() + + humanize = lambda dirname: dirname and "'%s'" % dirname or 'absolute path' + + # Get a cursor (even though we don't need one yet). This has + # the side effect of initializing the test database (if + # it isn't already initialized). + cursor = connection.cursor() + + # Start transaction management. All fixtures are installed in a + # single transaction to ensure that all references are resolved. + transaction.commit_unless_managed() + transaction.enter_transaction_management() + transaction.managed(True) + + app_fixtures = [os.path.join(os.path.dirname(app.__file__),'fixtures') for app in get_apps()] + for fixture_label in fixture_labels: + parts = fixture_label.split('.') + if len(parts) == 1: + fixture_name = fixture_label + formats = serializers.get_serializer_formats() + else: + fixture_name, format = '.'.join(parts[:-1]), parts[-1] + if format in serializers.get_serializer_formats(): + formats = [format] + else: + formats = [] + + if verbosity > 0: + if formats: + print "Loading '%s' fixtures..." % fixture_name + 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 verbosity > 1: + print "Checking %s for fixtures..." % humanize(fixture_dir) + + label_found = False + for format in formats: + serializer = serializers.get_serializer(format) + if verbosity > 1: + print "Trying %s for %s fixture '%s'..." % \ + (humanize(fixture_dir), format, fixture_name) + try: + full_path = os.path.join(fixture_dir, '.'.join([fixture_name, format])) + fixture = open(full_path, 'r') + if label_found: + fixture.close() + print style.ERROR("Multiple fixtures named '%s' in %s. Aborting." % + (fixture_name, humanize(fixture_dir))) + transaction.rollback() + transaction.leave_transaction_management() + return + else: + count[1] += 1 + if verbosity > 0: + print "Installing %s fixture '%s' from %s." % \ + (format, fixture_name, humanize(fixture_dir)) + try: + objects = serializers.deserialize(format, fixture) + for obj in objects: + count[0] += 1 + models.add(obj.object.__class__) + obj.save() + label_found = True + except Exception, e: + fixture.close() + sys.stderr.write( + style.ERROR("Problem installing fixture '%s': %s\n" % + (full_path, str(e)))) + transaction.rollback() + transaction.leave_transaction_management() + return + fixture.close() + except: + if verbosity > 1: + print "No %s fixture '%s' in %s." % \ + (format, fixture_name, humanize(fixture_dir)) + + if count[0] > 0: + sequence_sql = backend.get_sql_sequence_reset(style, models) + if sequence_sql: + if verbosity > 1: + print "Resetting sequences" + for line in sequence_sql: + cursor.execute(line) + + transaction.commit() + transaction.leave_transaction_management() + + if count[0] == 0: + if verbosity > 0: + print "No fixtures found." + else: + if verbosity > 0: + print "Installed %d object(s) from %d fixture(s)" % tuple(count) + +load_data.help_doc = 'Installs the named fixture(s) in the database' +load_data.args = "[--verbosity] fixture, fixture, ..." + +def dump_data(app_labels, format='json', indent=None): + "Output the current contents of the database as a fixture of the given format" + from django.db.models import get_app, get_apps, get_models + from django.core import serializers + + if len(app_labels) == 0: + app_list = get_apps() + else: + app_list = [get_app(app_label) for app_label in app_labels] + + # Check that the serialization format exists; this is a shortcut to + # avoid collating all the objects and _then_ failing. + try: + serializers.get_serializer(format) + except KeyError: + sys.stderr.write(style.ERROR("Unknown serialization format: %s\n" % format)) + + objects = [] + for app in app_list: + for model in get_models(app): + objects.extend(model.objects.all()) + try: + return serializers.serialize(format, objects, indent=indent) + except Exception, e: + sys.stderr.write(style.ERROR("Unable to serialize database: %s\n" % e)) +dump_data.help_doc = 'Output the contents of the database as a fixture of the given format' +dump_data.args = '[--format] [--indent]' + APP_ARGS + # Utilities for command-line script DEFAULT_ACTION_MAPPING = { @@ -1246,8 +1456,10 @@ DEFAULT_ACTION_MAPPING = { 'createcachetable' : createcachetable, 'dbshell': dbshell, 'diffsettings': diffsettings, + 'dumpdata': dump_data, + 'flush': flush, 'inspectdb': inspectdb, - 'install': install, + 'loaddata': load_data, 'reset': reset, 'runfcgi': runfcgi, 'runserver': runserver, @@ -1255,6 +1467,8 @@ DEFAULT_ACTION_MAPPING = { 'sql': get_sql_create, 'sqlall': get_sql_all, 'sqlclear': get_sql_delete, + 'sqlcustom': get_custom_sql, + 'sqlflush': get_sql_flush, 'sqlindexes': get_sql_indexes, 'sqlinitialdata': get_sql_initial_data, 'sqlreset': get_sql_reset, @@ -1271,7 +1485,6 @@ NO_SQL_TRANSACTION = ( 'createcachetable', 'dbshell', 'diffsettings', - 'install', 'reset', 'sqlindexes', 'syncdb', @@ -1318,6 +1531,10 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None): help='Tells Django to NOT prompt the user for input of any kind.') parser.add_option('--noreload', action='store_false', dest='use_reloader', default=True, help='Tells Django to NOT use the auto-reloader when running the development server.') + parser.add_option('--format', default='json', dest='format', + help='Specifies the output serialization format for fixtures') + parser.add_option('--indent', default=None, dest='indent', + type='int', help='Specifies the indent level to use when pretty-printing output') parser.add_option('--verbosity', action='store', dest='verbosity', default='1', type='choice', choices=['0', '1', '2'], help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'), @@ -1337,7 +1554,7 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None): action = args[0] except IndexError: parser.print_usage_and_exit() - if not action_mapping.has_key(action): + if action not in action_mapping: print_error("Your action, %r, was invalid." % action, argv[0]) # Switch to English, because django-admin.py creates database content @@ -1351,7 +1568,7 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None): action_mapping[action](options.plain is True) elif action in ('validate', 'diffsettings', 'dbshell'): action_mapping[action]() - elif action == 'syncdb': + elif action in ('flush', 'syncdb'): action_mapping[action](int(options.verbosity), options.interactive) elif action == 'inspectdb': try: @@ -1365,11 +1582,16 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None): action_mapping[action](args[1]) except IndexError: parser.print_usage_and_exit() - elif action == 'test': + elif action in ('test', 'loaddata'): try: action_mapping[action](args[1:], int(options.verbosity)) except IndexError: parser.print_usage_and_exit() + elif action == 'dumpdata': + try: + print action_mapping[action](args[1:], options.format, options.indent) + except IndexError: + parser.print_usage_and_exit() elif action in ('startapp', 'startproject'): try: name = args[1] @@ -1388,6 +1610,10 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None): action_mapping[action](addr, port, options.use_reloader, options.admin_media_path) elif action == 'runfcgi': action_mapping[action](args[1:]) + elif action == 'sqlinitialdata': + print action_mapping[action](args[1:]) + elif action == 'sqlflush': + print '\n'.join(action_mapping[action]()) else: from django.db import models validate(silent_success=True) diff --git a/django/core/serializers/__init__.py b/django/core/serializers/__init__.py index a1268321f2..494393f3cf 100644 --- a/django/core/serializers/__init__.py +++ b/django/core/serializers/__init__.py @@ -25,6 +25,13 @@ BUILTIN_SERIALIZERS = { "json" : "django.core.serializers.json", } +# Check for PyYaml and register the serializer if it's available. +try: + import yaml + BUILTIN_SERIALIZERS["yaml"] = "django.core.serializers.pyyaml" +except ImportError: + pass + _serializers = {} def register_serializer(format, serializer_module): @@ -40,6 +47,11 @@ def get_serializer(format): if not _serializers: _load_serializers() return _serializers[format].Serializer + +def get_serializer_formats(): + if not _serializers: + _load_serializers() + return _serializers.keys() def get_deserializer(format): if not _serializers: diff --git a/django/core/serializers/base.py b/django/core/serializers/base.py index 5b0acdc480..86d0037c17 100644 --- a/django/core/serializers/base.py +++ b/django/core/serializers/base.py @@ -34,17 +34,17 @@ class Serializer(object): for obj in queryset: self.start_object(obj) for field in obj._meta.fields: - if field is obj._meta.pk: - continue - elif field.rel is None: - if self.selected_fields is None or field.attname in self.selected_fields: - self.handle_field(obj, field) - else: - if self.selected_fields is None or field.attname[:-3] in self.selected_fields: - self.handle_fk_field(obj, field) + if field.serialize: + if field.rel is None: + if self.selected_fields is None or field.attname in self.selected_fields: + self.handle_field(obj, field) + else: + if self.selected_fields is None or field.attname[:-3] in self.selected_fields: + self.handle_fk_field(obj, field) for field in obj._meta.many_to_many: - if self.selected_fields is None or field.attname in self.selected_fields: - self.handle_m2m_field(obj, field) + if field.serialize: + if self.selected_fields is None or field.attname in self.selected_fields: + self.handle_m2m_field(obj, field) self.end_object(obj) self.end_serialization() return self.getvalue() @@ -54,11 +54,7 @@ class Serializer(object): Convert a field's value to a string. """ if isinstance(field, models.DateTimeField): - value = getattr(obj, field.name) - if value is None: - value = '' - else: - value = value.strftime("%Y-%m-%d %H:%M:%S") + value = getattr(obj, field.name).strftime("%Y-%m-%d %H:%M:%S") elif isinstance(field, models.FileField): value = getattr(obj, "get_%s_url" % field.name, lambda: None)() else: @@ -109,9 +105,11 @@ class Serializer(object): def getvalue(self): """ - Return the fully serialized queryset. + Return the fully serialized queryset (or None if the output stream is + not seekable). """ - return self.stream.getvalue() + if callable(getattr(self.stream, 'getvalue', None)): + return self.stream.getvalue() class Deserializer(object): """ @@ -141,7 +139,7 @@ class Deserializer(object): class DeserializedObject(object): """ - A deserialzed model. + A deserialized model. Basically a container for holding the pre-saved deserialized data along with the many-to-many data saved with the object. diff --git a/django/core/serializers/json.py b/django/core/serializers/json.py index 15770f160e..fa2dca7295 100644 --- a/django/core/serializers/json.py +++ b/django/core/serializers/json.py @@ -4,22 +4,30 @@ 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: from cStringIO import StringIO except ImportError: from StringIO import StringIO +try: + import decimal +except ImportError: + from django.utils import _decimal as decimal # Python 2.3 fallback class Serializer(PythonSerializer): """ Convert a queryset to JSON. """ def end_serialization(self): - simplejson.dump(self.objects, self.stream, cls=DateTimeAwareJSONEncoder, **self.options) - + self.options.pop('stream', None) + self.options.pop('fields', None) + simplejson.dump(self.objects, self.stream, cls=DjangoJSONEncoder, **self.options) + def getvalue(self): - return self.stream.getvalue() + if callable(getattr(self.stream, 'getvalue', None)): + return self.stream.getvalue() def Deserializer(stream_or_string, **options): """ @@ -31,15 +39,15 @@ def Deserializer(stream_or_string, **options): stream = stream_or_string for obj in PythonDeserializer(simplejson.load(stream)): yield obj - -class DateTimeAwareJSONEncoder(simplejson.JSONEncoder): + +class DjangoJSONEncoder(simplejson.JSONEncoder): """ - JSONEncoder subclass that knows how to encode date/time types + JSONEncoder subclass that knows how to encode date/time and decimal types. """ - - DATE_FORMAT = "%Y-%m-%d" + + DATE_FORMAT = "%Y-%m-%d" TIME_FORMAT = "%H:%M:%S" - + def default(self, o): if isinstance(o, datetime.datetime): return o.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT)) @@ -47,5 +55,11 @@ class DateTimeAwareJSONEncoder(simplejson.JSONEncoder): return o.strftime(self.DATE_FORMAT) elif isinstance(o, datetime.time): return o.strftime(self.TIME_FORMAT) + elif isinstance(o, decimal.Decimal): + return str(o) else: - return super(DateTimeAwareJSONEncoder, self).default(o) + return super(DjangoJSONEncoder, self).default(o) + +# Older, deprecated class name (for backwards compatibility purposes). +DateTimeAwareJSONEncoder = DjangoJSONEncoder + diff --git a/django/core/serializers/python.py b/django/core/serializers/python.py index 859816c226..5fbb3163f7 100644 --- a/django/core/serializers/python.py +++ b/django/core/serializers/python.py @@ -37,7 +37,12 @@ class Serializer(base.Serializer): def handle_fk_field(self, obj, field): related = getattr(obj, field.name) if related is not None: - related = related._get_pk_val() + if field.rel.field_name == related._meta.pk.name: + # Related to remote object via primary key + related = related._get_pk_val() + else: + # Related to remote object via other field + related = getattr(related, field.rel.field_name) self._current[field.name] = related def handle_m2m_field(self, obj, field): @@ -57,7 +62,7 @@ def Deserializer(object_list, **options): for d in object_list: # Look up the model and starting build a dict of data for it. Model = _get_model(d["model"]) - data = {Model._meta.pk.name : d["pk"]} + data = {Model._meta.pk.attname : Model._meta.pk.to_python(d["pk"])} m2m_data = {} # Handle each field @@ -67,20 +72,23 @@ def Deserializer(object_list, **options): field = Model._meta.get_field(field_name) - # Handle M2M relations (with in_bulk() for performance) + # Handle M2M relations if field.rel and isinstance(field.rel, models.ManyToManyRel): pks = [] + m2m_convert = field.rel.to._meta.pk.to_python for pk in field_value: if isinstance(pk, unicode): - pk = pk.encode(options.get("encoding", settings.DEFAULT_CHARSET)) - m2m_data[field.name] = field.rel.to._default_manager.in_bulk(field_value).values() + pks.append(m2m_convert(pk.encode(options.get("encoding", settings.DEFAULT_CHARSET)))) + else: + pks.append(m2m_convert(pk)) + m2m_data[field.name] = pks # Handle FK fields - elif field.rel and isinstance(field.rel, models.ManyToOneRel) and field_value is not None: - try: - data[field.name] = field.rel.to._default_manager.get(pk=field_value) - except field.rel.to.DoesNotExist: - data[field.name] = None + elif field.rel and isinstance(field.rel, models.ManyToOneRel): + if field_value: + data[field.attname] = field.rel.to._meta.get_field(field.rel.field_name).to_python(field_value) + else: + data[field.attname] = None # Handle all other fields else: diff --git a/django/core/serializers/pyyaml.py b/django/core/serializers/pyyaml.py new file mode 100644 index 0000000000..d3444280c5 --- /dev/null +++ b/django/core/serializers/pyyaml.py @@ -0,0 +1,38 @@ +""" +YAML serializer. + +Requires PyYaml (http://pyyaml.org/), but that's checked for in __init__. +""" + +import datetime +from django.core.serializers.python import Serializer as PythonSerializer +from django.core.serializers.python import Deserializer as PythonDeserializer +try: + from cStringIO import StringIO +except ImportError: + from StringIO import StringIO +import yaml + +class Serializer(PythonSerializer): + """ + Convert a queryset to YAML. + """ + def end_serialization(self): + self.options.pop('stream', None) + self.options.pop('fields', None) + yaml.dump(self.objects, self.stream, **self.options) + + def getvalue(self): + return self.stream.getvalue() + +def Deserializer(stream_or_string, **options): + """ + Deserialize a stream or string of YAML data. + """ + if isinstance(stream_or_string, basestring): + stream = StringIO(stream_or_string) + else: + stream = stream_or_string + for obj in PythonDeserializer(yaml.load(stream)): + yield obj + diff --git a/django/core/serializers/xml_serializer.py b/django/core/serializers/xml_serializer.py index 512b8c6176..3e4a6f3e79 100644 --- a/django/core/serializers/xml_serializer.py +++ b/django/core/serializers/xml_serializer.py @@ -13,6 +13,10 @@ class Serializer(base.Serializer): Serializes a QuerySet to XML. """ + def indent(self, level): + if self.options.get('indent', None) is not None: + self.xml.ignorableWhitespace('\n' + ' ' * self.options.get('indent', None) * level) + def start_serialization(self): """ Start serialization -- open the XML document and the root element. @@ -25,6 +29,7 @@ class Serializer(base.Serializer): """ End serialization -- end the document. """ + self.indent(0) self.xml.endElement("django-objects") self.xml.endDocument() @@ -35,6 +40,7 @@ class Serializer(base.Serializer): if not hasattr(obj, "_meta"): raise base.SerializationError("Non-model object (%s) encountered during serialization" % type(obj)) + self.indent(1) self.xml.startElement("object", { "pk" : str(obj._get_pk_val()), "model" : str(obj._meta), @@ -44,6 +50,7 @@ class Serializer(base.Serializer): """ Called after handling all fields for an object. """ + self.indent(1) self.xml.endElement("object") def handle_field(self, obj, field): @@ -51,16 +58,19 @@ class Serializer(base.Serializer): Called to handle each field on an object (except for ForeignKeys and ManyToManyFields) """ + self.indent(2) self.xml.startElement("field", { "name" : field.name, "type" : field.get_internal_type() }) # Get a "string version" of the object's data (this is handled by the - # serializer base class). None is handled specially. - value = self.get_string_value(obj, field) - if value is not None: + # serializer base class). + if getattr(obj, field.name) is not None: + value = self.get_string_value(obj, field) self.xml.characters(str(value)) + else: + self.xml.addQuickElement("None") self.xml.endElement("field") @@ -72,7 +82,13 @@ class Serializer(base.Serializer): self._start_relational_field(field) related = getattr(obj, field.name) if related is not None: - self.xml.characters(str(related._get_pk_val())) + if field.rel.field_name == related._meta.pk.name: + # Related to remote object via primary key + related = related._get_pk_val() + else: + # Related to remote object via other field + related = getattr(related, field.rel.field_name) + self.xml.characters(str(related)) else: self.xml.addQuickElement("None") self.xml.endElement("field") @@ -92,6 +108,7 @@ class Serializer(base.Serializer): """ Helper to output the element for relational fields """ + self.indent(2) self.xml.startElement("field", { "name" : field.name, "rel" : field.rel.__class__.__name__, @@ -127,7 +144,8 @@ class Deserializer(base.Deserializer): pk = node.getAttribute("pk") if not pk: raise base.DeserializationError(" node is missing the 'pk' attribute") - data = {Model._meta.pk.name : pk} + + data = {Model._meta.pk.attname : Model._meta.pk.to_python(pk)} # Also start building a dict of m2m data (this is saved as # {m2m_accessor_attribute : [list_of_related_objects]}) @@ -148,41 +166,37 @@ class Deserializer(base.Deserializer): # As is usually the case, relation fields get the special treatment. if field.rel and isinstance(field.rel, models.ManyToManyRel): - m2m_data[field.name] = self._handle_m2m_field_node(field_node) + m2m_data[field.name] = self._handle_m2m_field_node(field_node, field) elif field.rel and isinstance(field.rel, models.ManyToOneRel): - data[field.name] = self._handle_fk_field_node(field_node) + data[field.attname] = self._handle_fk_field_node(field_node, field) else: - value = field.to_python(getInnerText(field_node).strip().encode(self.encoding)) + if len(field_node.childNodes) == 1 and field_node.childNodes[0].nodeName == 'None': + value = None + else: + value = field.to_python(getInnerText(field_node).strip().encode(self.encoding)) data[field.name] = value # Return a DeserializedObject so that the m2m data has a place to live. return base.DeserializedObject(Model(**data), m2m_data) - def _handle_fk_field_node(self, node): + def _handle_fk_field_node(self, node, field): """ Handle a node for a ForeignKey """ - # Try to set the foreign key by looking up the foreign related object. - # If it doesn't exist, set the field to None (which might trigger - # validation error, but that's expected). - RelatedModel = self._get_model_from_node(node, "to") # Check if there is a child node named 'None', returning None if so. if len(node.childNodes) == 1 and node.childNodes[0].nodeName == 'None': return None else: - return RelatedModel.objects.get(pk=getInnerText(node).strip().encode(self.encoding)) + return field.rel.to._meta.get_field(field.rel.field_name).to_python( + getInnerText(node).strip().encode(self.encoding)) - def _handle_m2m_field_node(self, node): + def _handle_m2m_field_node(self, node, field): """ Handle a node for a ManyToManyField """ - # Load the related model - RelatedModel = self._get_model_from_node(node, "to") - - # Look up all the related objects. Using the in_bulk() lookup ensures - # that missing related objects don't cause an exception - related_ids = [c.getAttribute("pk").encode(self.encoding) for c in node.getElementsByTagName("object")] - return RelatedModel._default_manager.in_bulk(related_ids).values() + return [field.rel.to._meta.pk.to_python( + c.getAttribute("pk").encode(self.encoding)) + for c in node.getElementsByTagName("object")] def _get_model_from_node(self, node, attr): """ diff --git a/django/core/servers/basehttp.py b/django/core/servers/basehttp.py index a16b8b675a..9e603b42d4 100644 --- a/django/core/servers/basehttp.py +++ b/django/core/servers/basehttp.py @@ -208,15 +208,15 @@ def guess_scheme(environ): else: return 'http' -_hoppish = { +_hop_headers = { 'connection':1, 'keep-alive':1, 'proxy-authenticate':1, 'proxy-authorization':1, 'te':1, 'trailers':1, 'transfer-encoding':1, 'upgrade':1 -}.has_key +} def is_hop_by_hop(header_name): """Return true if 'header_name' is an HTTP/1.1 "Hop-by-Hop" header""" - return _hoppish(header_name.lower()) + return header_name.lower() in _hop_headers class ServerHandler(object): """Manage the invocation of a WSGI application""" @@ -309,7 +309,7 @@ class ServerHandler(object): """ if not self.result_is_file() and not self.sendfile(): for data in self.result: - self.write(data) + self.write(data, False) self.finish_content() self.close() @@ -334,7 +334,7 @@ class ServerHandler(object): Subclasses can extend this to add other defaults. """ - if not self.headers.has_key('Content-Length'): + if 'Content-Length' not in self.headers: self.set_content_length() def start_response(self, status, headers,exc_info=None): @@ -368,16 +368,16 @@ class ServerHandler(object): if self.origin_server: if self.client_is_modern(): self._write('HTTP/%s %s\r\n' % (self.http_version,self.status)) - if not self.headers.has_key('Date'): + if 'Date' not in self.headers: self._write( 'Date: %s\r\n' % time.asctime(time.gmtime(time.time())) ) - if self.server_software and not self.headers.has_key('Server'): + if self.server_software and 'Server' not in self.headers: self._write('Server: %s\r\n' % self.server_software) else: self._write('Status: %s\r\n' % self.status) - def write(self, data): + def write(self, data, flush=True): """'write()' callable as specified by PEP 333""" assert type(data) is StringType,"write() argument must be string" @@ -394,7 +394,8 @@ class ServerHandler(object): # XXX check Content-Length and truncate if too many bytes written? self._write(data) - self._flush() + if flush: + self._flush() def sendfile(self): """Platform-specific file transmission @@ -421,8 +422,6 @@ class ServerHandler(object): if not self.headers_sent: self.headers['Content-Length'] = "0" self.send_headers() - else: - pass # XXX check if content-length was too short? def close(self): try: diff --git a/django/core/servers/fastcgi.py b/django/core/servers/fastcgi.py index 649dd6942d..619758a0b1 100644 --- a/django/core/servers/fastcgi.py +++ b/django/core/servers/fastcgi.py @@ -1,5 +1,5 @@ """ -FastCGI server that implements the WSGI protocol. +FastCGI (or SCGI, or AJP1.3 ...) server that implements the WSGI protocol. Uses the flup python package: http://www.saddi.com/software/flup/ @@ -18,15 +18,16 @@ __version__ = "0.1" __all__ = ["runfastcgi"] FASTCGI_HELP = r"""runfcgi: - Run this project as a fastcgi application. To do this, the - flup package from http://www.saddi.com/software/flup/ is - required. + Run this project as a fastcgi (or some other protocol supported + by flup) application. To do this, the flup package from + http://www.saddi.com/software/flup/ is required. Usage: django-admin.py runfcgi --settings=yourproject.settings [fcgi settings] manage.py runfcgi [fcgi settings] Optional Fcgi settings: (setting=value) + protocol=PROTOCOL fcgi, scgi, ajp, ... (default fcgi) host=HOSTNAME hostname to listen on.. port=PORTNUM port to listen on. socket=FILE UNIX socket to listen on. @@ -45,8 +46,8 @@ Examples: (for webservers which spawn your processes for you) $ manage.py runfcgi method=threaded - Run a fastcgi server on a TCP host/port - $ manage.py runfcgi method=prefork host=127.0.0.1 port=8025 + Run a scgi server on a TCP host/port + $ manage.py runfcgi protocol=scgi method=prefork host=127.0.0.1 port=8025 Run a fastcgi server on a UNIX domain socket (posix platforms only) $ manage.py runfcgi method=prefork socket=/tmp/fcgi.sock @@ -58,6 +59,7 @@ Examples: """ FASTCGI_OPTIONS = { + 'protocol': 'fcgi', 'host': None, 'port': None, 'socket': None, @@ -100,16 +102,17 @@ def runfastcgi(argset=[], **kwargs): print >> sys.stderr, " installed flup, then make sure you have it in your PYTHONPATH." return False + flup_module = 'server.' + options['protocol'] + if options['method'] in ('prefork', 'fork'): - from flup.server.fcgi_fork import WSGIServer wsgi_opts = { 'maxSpare': int(options["maxspare"]), 'minSpare': int(options["minspare"]), 'maxChildren': int(options["maxchildren"]), 'maxRequests': int(options["maxrequests"]), } + flup_module += '_fork' elif options['method'] in ('thread', 'threaded'): - from flup.server.fcgi import WSGIServer wsgi_opts = { 'maxSpare': int(options["maxspare"]), 'minSpare': int(options["minspare"]), @@ -120,6 +123,12 @@ def runfastcgi(argset=[], **kwargs): wsgi_opts['debug'] = False # Turn off flup tracebacks + try: + WSGIServer = getattr(__import__('flup.' + flup_module, '', '', flup_module), 'WSGIServer') + except: + print "Can't import flup." + flup_module + return False + # Prep up and go from django.core.handlers.wsgi import WSGIHandler diff --git a/django/core/urlresolvers.py b/django/core/urlresolvers.py index 93c9c30cca..38b3263da1 100644 --- a/django/core/urlresolvers.py +++ b/django/core/urlresolvers.py @@ -16,7 +16,7 @@ class Resolver404(Http404): class NoReverseMatch(Exception): # Don't make this raise an error when used in a template. - silent_variable_failure = True + silent_variable_failure = True def get_mod_func(callback): # Converts 'django.views.news.stories.story_detail' to @@ -88,7 +88,7 @@ class MatchChecker(object): return str(value) # TODO: Unicode? class RegexURLPattern(object): - def __init__(self, regex, callback, default_args=None): + def __init__(self, regex, callback, default_args=None, name=None): # regex is a string representing a regular expression. # callback is either a string like 'foo.views.news.stories.story_detail' # which represents the path to a module and a view function name, or a @@ -100,6 +100,15 @@ class RegexURLPattern(object): self._callback = None self._callback_str = callback self.default_args = default_args or {} + self.name = name + + def add_prefix(self, prefix): + """ + Adds the prefix string to a string-based callback. + """ + if not prefix or not hasattr(self, '_callback_str'): + return + self._callback_str = prefix + '.' + self._callback_str def resolve(self, path): match = self.regex.search(path) @@ -110,7 +119,7 @@ class RegexURLPattern(object): kwargs = match.groupdict() if kwargs: args = () - if not kwargs: + else: args = match.groups() # In both cases, pass any extra_kwargs as **kwargs. kwargs.update(self.default_args) @@ -205,14 +214,15 @@ class RegexURLResolver(object): try: lookup_view = getattr(__import__(mod_name, {}, {}, ['']), func_name) except (ImportError, AttributeError): - raise NoReverseMatch + if func_name != '': + raise NoReverseMatch for pattern in self.urlconf_module.urlpatterns: if isinstance(pattern, RegexURLResolver): try: return pattern.reverse_helper(lookup_view, *args, **kwargs) except NoReverseMatch: continue - elif pattern.callback == lookup_view: + elif pattern.callback == lookup_view or pattern.name == lookup_view: try: return pattern.reverse_helper(*args, **kwargs) except NoReverseMatch: diff --git a/django/core/validators.py b/django/core/validators.py index a2f3dc3bc3..293f0e1a8c 100644 --- a/django/core/validators.py +++ b/django/core/validators.py @@ -25,6 +25,7 @@ email_re = re.compile( r"(^[-!#$%&'*+/=?^_`{}|~0-9A-Z]+(\.[-!#$%&'*+/=?^_`{}|~0-9A-Z]+)*" # dot-atom r'|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-011\013\014\016-\177])*"' # quoted-string r')@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}$', re.IGNORECASE) # domain +decimal_re = re.compile(r'^-?(?P\d+)(\.(?P\d+))?$') integer_re = re.compile(r'^-?\d+$') ip4_re = re.compile(r'^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}$') phone_re = re.compile(r'^[A-PR-Y0-9]{3}-[A-PR-Y0-9]{3}-[A-PR-Y0-9]{4}$', re.IGNORECASE) @@ -140,7 +141,8 @@ def _isValidDate(date_string): try: date(year, month, day) except ValueError, e: - raise ValidationError, gettext('Invalid date: %s.' % e) + msg = gettext('Invalid date: %s') % gettext(str(e)) + raise ValidationError, msg def isValidANSIDate(field_data, all_data): if not ansi_date_re.search(field_data): @@ -283,7 +285,7 @@ class ValidateIfOtherFieldEquals(object): self.always_test = True def __call__(self, field_data, all_data): - if all_data.has_key(self.other_field) and all_data[self.other_field] == self.other_value: + if self.other_field in all_data and all_data[self.other_field] == self.other_value: for v in self.validator_list: v(field_data, all_data) @@ -312,27 +314,29 @@ class RequiredIfOtherFieldGiven(RequiredIfOtherFieldsGiven): RequiredIfOtherFieldsGiven.__init__(self, [other_field_name], error_message) class RequiredIfOtherFieldEquals(object): - def __init__(self, other_field, other_value, error_message=None): + def __init__(self, other_field, other_value, error_message=None, other_label=None): self.other_field = other_field self.other_value = other_value + other_label = other_label or other_value self.error_message = error_message or lazy_inter(gettext_lazy("This field must be given if %(field)s is %(value)s"), { - 'field': other_field, 'value': other_value}) + 'field': other_field, 'value': other_label}) self.always_test = True def __call__(self, field_data, all_data): - if all_data.has_key(self.other_field) and all_data[self.other_field] == self.other_value and not field_data: + if self.other_field in all_data and all_data[self.other_field] == self.other_value and not field_data: raise ValidationError(self.error_message) class RequiredIfOtherFieldDoesNotEqual(object): - def __init__(self, other_field, other_value, error_message=None): + def __init__(self, other_field, other_value, other_label=None, error_message=None): self.other_field = other_field self.other_value = other_value + other_label = other_label or other_value self.error_message = error_message or lazy_inter(gettext_lazy("This field must be given if %(field)s is not %(value)s"), { - 'field': other_field, 'value': other_value}) + 'field': other_field, 'value': other_label}) self.always_test = True def __call__(self, field_data, all_data): - if all_data.has_key(self.other_field) and all_data[self.other_field] != self.other_value and not field_data: + if self.other_field in all_data and all_data[self.other_field] != self.other_value and not field_data: raise ValidationError(self.error_message) class IsLessThanOtherField(object): @@ -361,7 +365,7 @@ class NumberIsInRange(object): self.lower, self.upper = lower, upper if not error_message: if lower and upper: - self.error_message = gettext("This value must be between %s and %s.") % (lower, upper) + self.error_message = gettext("This value must be between %(lower)s and %(upper)s.") % {'lower': lower, 'upper': upper} elif lower: self.error_message = gettext("This value must be at least %s.") % lower elif upper: @@ -403,28 +407,35 @@ class IsAPowerOf(object): if val != int(val): raise ValidationError, gettext("This value must be a power of %s.") % self.power_of -class IsValidFloat(object): +class IsValidDecimal(object): def __init__(self, max_digits, decimal_places): self.max_digits, self.decimal_places = max_digits, decimal_places def __call__(self, field_data, all_data): - data = str(field_data) - try: - float(data) - except ValueError: + match = decimal_re.search(str(field_data)) + if not match: raise ValidationError, gettext("Please enter a valid decimal number.") - # Negative floats require more space to input. - max_allowed_length = data.startswith('-') and (self.max_digits + 2) or (self.max_digits + 1) - if len(data) > max_allowed_length: + + digits = len(match.group('digits') or '') + decimals = len(match.group('decimals') or '') + + if digits + decimals > self.max_digits: raise ValidationError, ngettext("Please enter a valid decimal number with at most %s total digit.", "Please enter a valid decimal number with at most %s total digits.", self.max_digits) % self.max_digits - if (not '.' in data and len(data) > (max_allowed_length - self.decimal_places - 1)) or ('.' in data and len(data) > (max_allowed_length - (self.decimal_places - len(data.split('.')[1])))): + if digits > (self.max_digits - self.decimal_places): raise ValidationError, ngettext( "Please enter a valid decimal number with a whole part of at most %s digit.", "Please enter a valid decimal number with a whole part of at most %s digits.", str(self.max_digits-self.decimal_places)) % str(self.max_digits-self.decimal_places) - if '.' in data and len(data.split('.')[1]) > self.decimal_places: + if decimals > self.decimal_places: raise ValidationError, ngettext("Please enter a valid decimal number with at most %s decimal place.", "Please enter a valid decimal number with at most %s decimal places.", self.decimal_places) % self.decimal_places +def isValidFloat(field_data, all_data): + data = str(field_data) + try: + float(data) + except ValueError: + raise ValidationError, gettext("Please enter a valid floating point number.") + class HasAllowableSize(object): """ Checks that the file-upload field data is a certain size. min_size and diff --git a/django/db/__init__.py b/django/db/__init__.py index 4176b5aa79..33223d200a 100644 --- a/django/db/__init__.py +++ b/django/db/__init__.py @@ -2,7 +2,7 @@ from django.conf import settings from django.core import signals from django.dispatch import dispatcher -__all__ = ('backend', 'connection', 'DatabaseError') +__all__ = ('backend', 'connection', 'DatabaseError', 'IntegrityError') if not settings.DATABASE_ENGINE: settings.DATABASE_ENGINE = 'dummy' @@ -29,6 +29,7 @@ runshell = lambda: __import__('django.db.backends.%s.client' % settings.DATABASE connection = backend.DatabaseWrapper(**settings.DATABASE_OPTIONS) DatabaseError = backend.DatabaseError +IntegrityError = backend.IntegrityError # Register an event that closes the database connection # when a Django request is finished. diff --git a/django/db/backends/ado_mssql/base.py b/django/db/backends/ado_mssql/base.py index 72d2fe083e..52363ed705 100644 --- a/django/db/backends/ado_mssql/base.py +++ b/django/db/backends/ado_mssql/base.py @@ -17,6 +17,7 @@ except ImportError: mx = None DatabaseError = Database.DatabaseError +IntegrityError = Database.IntegrityError # We need to use a special Cursor class because adodbapi expects question-mark # param style, but Django expects "%s". This cursor converts question marks to @@ -76,10 +77,11 @@ class DatabaseWrapper(local): return cursor def _commit(self): - return self.connection.commit() + if self.connection is not None: + return self.connection.commit() def _rollback(self): - if self.connection: + if self.connection is not None: return self.connection.rollback() def close(self): @@ -125,6 +127,9 @@ def get_limit_offset_sql(limit, offset=None): def get_random_function_sql(): return "RAND()" +def get_deferrable_sql(): + return " DEFERRABLE INITIALLY DEFERRED" + def get_fulltext_search_sql(field_name): raise NotImplementedError @@ -134,6 +139,24 @@ def get_drop_foreignkey_sql(): def get_pk_default_value(): return "DEFAULT" +def get_sql_flush(style, tables, sequences): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + """ + # Return a list of 'TRUNCATE x;', 'TRUNCATE y;', 'TRUNCATE z;'... style SQL statements + # TODO - SQL not actually tested against ADO MSSQL yet! + # TODO - autoincrement indices reset required? See other get_sql_flush() implementations + sql_list = ['%s %s;' % \ + (style.SQL_KEYWORD('TRUNCATE'), + style.SQL_FIELD(quote_name(table)) + ) for table in tables] + +def get_sql_sequence_reset(style, model_list): + "Returns a list of the SQL statements to reset sequences for the given models." + # No sequence reset required + return [] + OPERATOR_MAPPING = { 'exact': '= %s', 'iexact': 'LIKE %s', diff --git a/django/db/backends/ado_mssql/creation.py b/django/db/backends/ado_mssql/creation.py index 4d85d27ea5..a1098ea43e 100644 --- a/django/db/backends/ado_mssql/creation.py +++ b/django/db/backends/ado_mssql/creation.py @@ -5,9 +5,10 @@ DATA_TYPES = { 'CommaSeparatedIntegerField': 'varchar(%(maxlength)s)', 'DateField': 'smalldatetime', 'DateTimeField': 'smalldatetime', + 'DecimalField': 'numeric(%(max_digits)s, %(decimal_places)s)', 'FileField': 'varchar(100)', 'FilePathField': 'varchar(100)', - 'FloatField': 'numeric(%(max_digits)s, %(decimal_places)s)', + 'FloatField': 'double precision', 'ImageField': 'varchar(100)', 'IntegerField': 'int', 'IPAddressField': 'char(15)', @@ -21,6 +22,5 @@ DATA_TYPES = { 'SmallIntegerField': 'smallint', 'TextField': 'text', 'TimeField': 'time', - 'URLField': 'varchar(200)', 'USStateField': 'varchar(2)', } diff --git a/django/db/backends/dummy/base.py b/django/db/backends/dummy/base.py index f98afc48bb..d0ec897407 100644 --- a/django/db/backends/dummy/base.py +++ b/django/db/backends/dummy/base.py @@ -12,13 +12,19 @@ from django.core.exceptions import ImproperlyConfigured def complain(*args, **kwargs): raise ImproperlyConfigured, "You haven't set the DATABASE_ENGINE setting yet." +def ignore(*args, **kwargs): + pass + class DatabaseError(Exception): pass +class IntegrityError(DatabaseError): + pass + class DatabaseWrapper: cursor = complain _commit = complain - _rollback = complain + _rollback = ignore def __init__(self, **kwargs): pass @@ -36,6 +42,10 @@ get_date_extract_sql = complain get_date_trunc_sql = complain get_limit_offset_sql = complain get_random_function_sql = complain +get_deferrable_sql = complain get_fulltext_search_sql = complain get_drop_foreignkey_sql = complain +get_sql_flush = complain +get_sql_sequence_reset = complain + OPERATOR_MAPPING = {} diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py index e7e060e6c2..d4cb1fa964 100644 --- a/django/db/backends/mysql/base.py +++ b/django/db/backends/mysql/base.py @@ -10,19 +10,34 @@ try: except ImportError, e: from django.core.exceptions import ImproperlyConfigured raise ImproperlyConfigured, "Error loading MySQLdb module: %s" % e + +# We want version (1, 2, 1, 'final', 2) or later. We can't just use +# lexicographic ordering in this check because then (1, 2, 1, 'gamma') +# inadvertently passes the version test. +version = Database.version_info +if (version < (1,2,1) or (version[:3] == (1, 2, 1) and + (len(version) < 5 or version[3] != 'final' or version[4] < 2))): + raise ImportError, "MySQLdb-1.2.1p2 or newer is required; you have %s" % Database.__version__ + from MySQLdb.converters import conversions from MySQLdb.constants import FIELD_TYPE import types import re DatabaseError = Database.DatabaseError +IntegrityError = Database.IntegrityError +# MySQLdb-1.2.1 supports the Python boolean type, and only uses datetime +# module for time-related columns; older versions could have used mx.DateTime +# or strings if there were no datetime module. However, MySQLdb still returns +# TIME columns as timedelta -- they are more like timedelta in terms of actual +# behavior as they are signed and include days -- and Django expects time, so +# we still need to override that. django_conversions = conversions.copy() django_conversions.update({ - types.BooleanType: util.rev_typecast_boolean, - FIELD_TYPE.DATETIME: util.typecast_timestamp, - FIELD_TYPE.DATE: util.typecast_date, FIELD_TYPE.TIME: util.typecast_time, + FIELD_TYPE.DECIMAL: util.typecast_decimal, + FIELD_TYPE.NEWDECIMAL: util.typecast_decimal, }) # This should match the numerical portion of the version numbers (we can treat @@ -31,31 +46,12 @@ django_conversions.update({ # http://dev.mysql.com/doc/refman/5.0/en/news.html . server_version_re = re.compile(r'(\d{1,2})\.(\d{1,2})\.(\d{1,2})') -# This is an extra debug layer over MySQL queries, to display warnings. -# It's only used when DEBUG=True. -class MysqlDebugWrapper: - def __init__(self, cursor): - self.cursor = cursor - - def execute(self, sql, params=()): - try: - return self.cursor.execute(sql, params) - except Database.Warning, w: - self.cursor.execute("SHOW WARNINGS") - raise Database.Warning, "%s: %s" % (w, self.cursor.fetchall()) - - def executemany(self, sql, param_list): - try: - return self.cursor.executemany(sql, param_list) - except Database.Warning, w: - self.cursor.execute("SHOW WARNINGS") - raise Database.Warning, "%s: %s" % (w, self.cursor.fetchall()) - - def __getattr__(self, attr): - if self.__dict__.has_key(attr): - return self.__dict__[attr] - else: - return getattr(self.cursor, attr) +# MySQLdb-1.2.1 and newer automatically makes use of SHOW WARNINGS on +# MySQL-4.1 and newer, so the MysqlDebugWrapper is unnecessary. Since the +# point is to raise Warnings as exceptions, this can be done with the Python +# warning module, and this is setup when the connection is created, and the +# standard util.CursorDebugWrapper can be used. Also, using sql_mode +# TRADITIONAL will automatically cause most warnings to be treated as errors. try: # Only exists in Python 2.4+ @@ -83,33 +79,41 @@ class DatabaseWrapper(local): def cursor(self): from django.conf import settings + from warnings import filterwarnings if not self._valid_connection(): kwargs = { - 'user': settings.DATABASE_USER, - 'db': settings.DATABASE_NAME, - 'passwd': settings.DATABASE_PASSWORD, 'conv': django_conversions, + 'charset': 'utf8', + 'use_unicode': False, } + if settings.DATABASE_USER: + kwargs['user'] = settings.DATABASE_USER + if settings.DATABASE_NAME: + kwargs['db'] = settings.DATABASE_NAME + if settings.DATABASE_PASSWORD: + kwargs['passwd'] = settings.DATABASE_PASSWORD if settings.DATABASE_HOST.startswith('/'): kwargs['unix_socket'] = settings.DATABASE_HOST - else: + elif settings.DATABASE_HOST: kwargs['host'] = settings.DATABASE_HOST if settings.DATABASE_PORT: kwargs['port'] = int(settings.DATABASE_PORT) kwargs.update(self.options) self.connection = Database.connect(**kwargs) - cursor = self.connection.cursor() - if self.connection.get_server_info() >= '4.1': - cursor.execute("SET NAMES 'utf8'") + cursor = self.connection.cursor() + else: + cursor = self.connection.cursor() if settings.DEBUG: - return util.CursorDebugWrapper(MysqlDebugWrapper(cursor), self) + filterwarnings("error", category=Database.Warning) + return util.CursorDebugWrapper(cursor, self) return cursor def _commit(self): - self.connection.commit() + if self.connection is not None: + self.connection.commit() def _rollback(self): - if self.connection: + if self.connection is not None: try: self.connection.rollback() except Database.NotSupportedError: @@ -172,6 +176,9 @@ def get_limit_offset_sql(limit, offset=None): def get_random_function_sql(): return "RAND()" +def get_deferrable_sql(): + return "" + def get_fulltext_search_sql(field_name): return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name @@ -181,6 +188,41 @@ def get_drop_foreignkey_sql(): def get_pk_default_value(): return "DEFAULT" +def get_sql_flush(style, tables, sequences): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + + """ + # NB: The generated SQL below is specific to MySQL + # 'TRUNCATE x;', 'TRUNCATE y;', 'TRUNCATE z;'... style SQL statements + # to clear all tables of all data + if tables: + sql = ['SET FOREIGN_KEY_CHECKS = 0;'] + \ + ['%s %s;' % \ + (style.SQL_KEYWORD('TRUNCATE'), + style.SQL_FIELD(quote_name(table)) + ) for table in tables] + \ + ['SET FOREIGN_KEY_CHECKS = 1;'] + + # 'ALTER TABLE table AUTO_INCREMENT = 1;'... style SQL statements + # to reset sequence indices + sql.extend(["%s %s %s %s %s;" % \ + (style.SQL_KEYWORD('ALTER'), + style.SQL_KEYWORD('TABLE'), + style.SQL_TABLE(quote_name(sequence['table'])), + style.SQL_KEYWORD('AUTO_INCREMENT'), + style.SQL_FIELD('= 1'), + ) for sequence in sequences]) + return sql + else: + return [] + +def get_sql_sequence_reset(style, model_list): + "Returns a list of the SQL statements to reset sequences for the given models." + # No sequence reset required + return [] + OPERATOR_MAPPING = { 'exact': '= %s', 'iexact': 'LIKE %s', diff --git a/django/db/backends/mysql/client.py b/django/db/backends/mysql/client.py index f9d6297b8e..116074a9ce 100644 --- a/django/db/backends/mysql/client.py +++ b/django/db/backends/mysql/client.py @@ -3,12 +3,25 @@ import os def runshell(): args = [''] - args += ["--user=%s" % settings.DATABASE_USER] - if settings.DATABASE_PASSWORD: - args += ["--password=%s" % settings.DATABASE_PASSWORD] - if settings.DATABASE_HOST: - args += ["--host=%s" % settings.DATABASE_HOST] - if settings.DATABASE_PORT: - args += ["--port=%s" % settings.DATABASE_PORT] - args += [settings.DATABASE_NAME] + db = settings.DATABASE_OPTIONS.get('db', settings.DATABASE_NAME) + user = settings.DATABASE_OPTIONS.get('user', settings.DATABASE_USER) + passwd = settings.DATABASE_OPTIONS.get('passwd', settings.DATABASE_PASSWORD) + host = settings.DATABASE_OPTIONS.get('host', settings.DATABASE_HOST) + port = settings.DATABASE_OPTIONS.get('port', settings.DATABASE_PORT) + defaults_file = settings.DATABASE_OPTIONS.get('read_default_file') + # Seems to be no good way to set sql_mode with CLI + + if defaults_file: + args += ["--defaults-file=%s" % defaults_file] + if user: + args += ["--user=%s" % user] + if passwd: + args += ["--password=%s" % passwd] + if host: + args += ["--host=%s" % host] + if port: + args += ["--port=%s" % port] + if db: + args += [db] + os.execvp('mysql', args) diff --git a/django/db/backends/mysql/creation.py b/django/db/backends/mysql/creation.py index 116b490124..1b23fbff6e 100644 --- a/django/db/backends/mysql/creation.py +++ b/django/db/backends/mysql/creation.py @@ -9,9 +9,10 @@ DATA_TYPES = { 'CommaSeparatedIntegerField': 'varchar(%(maxlength)s)', 'DateField': 'date', 'DateTimeField': 'datetime', + 'DecimalField': 'numeric(%(max_digits)s, %(decimal_places)s)', 'FileField': 'varchar(100)', 'FilePathField': 'varchar(100)', - 'FloatField': 'numeric(%(max_digits)s, %(decimal_places)s)', + 'FloatField': 'double precision', 'ImageField': 'varchar(100)', 'IntegerField': 'integer', 'IPAddressField': 'char(15)', @@ -25,6 +26,5 @@ DATA_TYPES = { 'SmallIntegerField': 'smallint', 'TextField': 'longtext', 'TimeField': 'time', - 'URLField': 'varchar(200)', 'USStateField': 'varchar(2)', } diff --git a/django/db/backends/mysql/introspection.py b/django/db/backends/mysql/introspection.py index 7829457fa9..39733311c5 100644 --- a/django/db/backends/mysql/introspection.py +++ b/django/db/backends/mysql/introspection.py @@ -76,7 +76,7 @@ def get_indexes(cursor, table_name): DATA_TYPES_REVERSE = { FIELD_TYPE.BLOB: 'TextField', FIELD_TYPE.CHAR: 'CharField', - FIELD_TYPE.DECIMAL: 'FloatField', + FIELD_TYPE.DECIMAL: 'DecimalField', FIELD_TYPE.DATE: 'DateField', FIELD_TYPE.DATETIME: 'DateTimeField', FIELD_TYPE.DOUBLE: 'FloatField', @@ -85,7 +85,7 @@ DATA_TYPES_REVERSE = { FIELD_TYPE.LONG: 'IntegerField', FIELD_TYPE.LONGLONG: 'IntegerField', FIELD_TYPE.SHORT: 'IntegerField', - FIELD_TYPE.STRING: 'TextField', + FIELD_TYPE.STRING: 'CharField', FIELD_TYPE.TIMESTAMP: 'DateTimeField', FIELD_TYPE.TINY: 'IntegerField', FIELD_TYPE.TINY_BLOB: 'TextField', diff --git a/django/db/backends/mysql_old/__init__.py b/django/db/backends/mysql_old/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/db/backends/mysql_old/base.py b/django/db/backends/mysql_old/base.py new file mode 100644 index 0000000000..ac3b75efde --- /dev/null +++ b/django/db/backends/mysql_old/base.py @@ -0,0 +1,240 @@ +""" +MySQL database backend for Django. + +Requires MySQLdb: http://sourceforge.net/projects/mysql-python +""" + +from django.db.backends import util +try: + import MySQLdb as Database +except ImportError, e: + from django.core.exceptions import ImproperlyConfigured + raise ImproperlyConfigured, "Error loading MySQLdb module: %s" % e +from MySQLdb.converters import conversions +from MySQLdb.constants import FIELD_TYPE +import types +import re + +DatabaseError = Database.DatabaseError +IntegrityError = Database.IntegrityError + +django_conversions = conversions.copy() +django_conversions.update({ + types.BooleanType: util.rev_typecast_boolean, + FIELD_TYPE.DATETIME: util.typecast_timestamp, + FIELD_TYPE.DATE: util.typecast_date, + FIELD_TYPE.TIME: util.typecast_time, + FIELD_TYPE.DECIMAL: util.typecast_decimal, +}) + +# This should match the numerical portion of the version numbers (we can treat +# versions like 5.0.24 and 5.0.24a as the same). Based on the list of version +# at http://dev.mysql.com/doc/refman/4.1/en/news.html and +# http://dev.mysql.com/doc/refman/5.0/en/news.html . +server_version_re = re.compile(r'(\d{1,2})\.(\d{1,2})\.(\d{1,2})') + +# This is an extra debug layer over MySQL queries, to display warnings. +# It's only used when DEBUG=True. +class MysqlDebugWrapper: + def __init__(self, cursor): + self.cursor = cursor + + def execute(self, sql, params=()): + try: + return self.cursor.execute(sql, params) + except Database.Warning, w: + self.cursor.execute("SHOW WARNINGS") + raise Database.Warning, "%s: %s" % (w, self.cursor.fetchall()) + + def executemany(self, sql, param_list): + try: + return self.cursor.executemany(sql, param_list) + except Database.Warning, w: + self.cursor.execute("SHOW WARNINGS") + raise Database.Warning, "%s: %s" % (w, self.cursor.fetchall()) + + def __getattr__(self, attr): + if attr in self.__dict__: + return self.__dict__[attr] + else: + return getattr(self.cursor, attr) + +try: + # Only exists in Python 2.4+ + from threading import local +except ImportError: + # Import copy of _thread_local.py from Python 2.4 + from django.utils._threading_local import local + +class DatabaseWrapper(local): + def __init__(self, **kwargs): + self.connection = None + self.queries = [] + self.server_version = None + self.options = kwargs + + def _valid_connection(self): + if self.connection is not None: + try: + self.connection.ping() + return True + except DatabaseError: + self.connection.close() + self.connection = None + return False + + def cursor(self): + from django.conf import settings + if not self._valid_connection(): + kwargs = { + 'user': settings.DATABASE_USER, + 'db': settings.DATABASE_NAME, + 'passwd': settings.DATABASE_PASSWORD, + 'conv': django_conversions, + } + if settings.DATABASE_HOST.startswith('/'): + kwargs['unix_socket'] = settings.DATABASE_HOST + else: + kwargs['host'] = settings.DATABASE_HOST + if settings.DATABASE_PORT: + kwargs['port'] = int(settings.DATABASE_PORT) + kwargs.update(self.options) + self.connection = Database.connect(**kwargs) + cursor = self.connection.cursor() + if self.connection.get_server_info() >= '4.1': + cursor.execute("SET NAMES 'utf8'") + else: + cursor = self.connection.cursor() + if settings.DEBUG: + return util.CursorDebugWrapper(MysqlDebugWrapper(cursor), self) + return cursor + + def _commit(self): + if self.connection is not None: + self.connection.commit() + + def _rollback(self): + if self.connection is not None: + try: + self.connection.rollback() + except Database.NotSupportedError: + pass + + def close(self): + if self.connection is not None: + self.connection.close() + self.connection = None + + def get_server_version(self): + if not self.server_version: + if not self._valid_connection(): + self.cursor() + m = server_version_re.match(self.connection.get_server_info()) + if not m: + raise Exception('Unable to determine MySQL version from version string %r' % self.connection.get_server_info()) + self.server_version = tuple([int(x) for x in m.groups()]) + return self.server_version + +supports_constraints = True + +def quote_name(name): + if name.startswith("`") and name.endswith("`"): + return name # Quoting once is enough. + return "`%s`" % name + +dictfetchone = util.dictfetchone +dictfetchmany = util.dictfetchmany +dictfetchall = util.dictfetchall + +def get_last_insert_id(cursor, table_name, pk_name): + return cursor.lastrowid + +def get_date_extract_sql(lookup_type, table_name): + # lookup_type is 'year', 'month', 'day' + # http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html + return "EXTRACT(%s FROM %s)" % (lookup_type.upper(), table_name) + +def get_date_trunc_sql(lookup_type, field_name): + # lookup_type is 'year', 'month', 'day' + fields = ['year', 'month', 'day', 'hour', 'minute', 'second'] + format = ('%%Y-', '%%m', '-%%d', ' %%H:', '%%i', ':%%s') # Use double percents to escape. + format_def = ('0000-', '01', '-01', ' 00:', '00', ':00') + try: + i = fields.index(lookup_type) + 1 + except ValueError: + sql = field_name + else: + format_str = ''.join([f for f in format[:i]] + [f for f in format_def[i:]]) + sql = "CAST(DATE_FORMAT(%s, '%s') AS DATETIME)" % (field_name, format_str) + return sql + +def get_limit_offset_sql(limit, offset=None): + sql = "LIMIT " + if offset and offset != 0: + sql += "%s," % offset + return sql + str(limit) + +def get_random_function_sql(): + return "RAND()" + +def get_deferrable_sql(): + return "" + +def get_fulltext_search_sql(field_name): + return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name + +def get_drop_foreignkey_sql(): + return "DROP FOREIGN KEY" + +def get_pk_default_value(): + return "DEFAULT" + +def get_sql_flush(style, tables, sequences): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + + """ + # NB: The generated SQL below is specific to MySQL + # 'TRUNCATE x;', 'TRUNCATE y;', 'TRUNCATE z;'... style SQL statements + # to clear all tables of all data + if tables: + sql = ['SET FOREIGN_KEY_CHECKS = 0;'] + \ + ['%s %s;' % \ + (style.SQL_KEYWORD('TRUNCATE'), + style.SQL_FIELD(quote_name(table)) + ) for table in tables] + \ + ['SET FOREIGN_KEY_CHECKS = 1;'] + + # 'ALTER TABLE table AUTO_INCREMENT = 1;'... style SQL statements + # to reset sequence indices + sql.extend(["%s %s %s %s %s;" % \ + (style.SQL_KEYWORD('ALTER'), + style.SQL_KEYWORD('TABLE'), + style.SQL_TABLE(quote_name(sequence['table'])), + style.SQL_KEYWORD('AUTO_INCREMENT'), + style.SQL_FIELD('= 1'), + ) for sequence in sequences]) + return sql + else: + return [] + +def get_sql_sequence_reset(style, model_list): + "Returns a list of the SQL statements to reset sequences for the given models." + # No sequence reset required + return [] + +OPERATOR_MAPPING = { + 'exact': '= %s', + 'iexact': 'LIKE %s', + 'contains': 'LIKE BINARY %s', + 'icontains': 'LIKE %s', + 'gt': '> %s', + 'gte': '>= %s', + 'lt': '< %s', + 'lte': '<= %s', + 'startswith': 'LIKE BINARY %s', + 'endswith': 'LIKE BINARY %s', + 'istartswith': 'LIKE %s', + 'iendswith': 'LIKE %s', +} diff --git a/django/db/backends/mysql_old/client.py b/django/db/backends/mysql_old/client.py new file mode 100644 index 0000000000..f9d6297b8e --- /dev/null +++ b/django/db/backends/mysql_old/client.py @@ -0,0 +1,14 @@ +from django.conf import settings +import os + +def runshell(): + args = [''] + args += ["--user=%s" % settings.DATABASE_USER] + if settings.DATABASE_PASSWORD: + args += ["--password=%s" % settings.DATABASE_PASSWORD] + if settings.DATABASE_HOST: + args += ["--host=%s" % settings.DATABASE_HOST] + if settings.DATABASE_PORT: + args += ["--port=%s" % settings.DATABASE_PORT] + args += [settings.DATABASE_NAME] + os.execvp('mysql', args) diff --git a/django/db/backends/mysql_old/creation.py b/django/db/backends/mysql_old/creation.py new file mode 100644 index 0000000000..1b23fbff6e --- /dev/null +++ b/django/db/backends/mysql_old/creation.py @@ -0,0 +1,30 @@ +# This dictionary maps Field objects to their associated MySQL column +# types, as strings. Column-type strings can contain format strings; they'll +# be interpolated against the values of Field.__dict__ before being output. +# If a column type is set to None, it won't be included in the output. +DATA_TYPES = { + 'AutoField': 'integer AUTO_INCREMENT', + 'BooleanField': 'bool', + 'CharField': 'varchar(%(maxlength)s)', + 'CommaSeparatedIntegerField': 'varchar(%(maxlength)s)', + 'DateField': 'date', + 'DateTimeField': 'datetime', + 'DecimalField': 'numeric(%(max_digits)s, %(decimal_places)s)', + 'FileField': 'varchar(100)', + 'FilePathField': 'varchar(100)', + 'FloatField': 'double precision', + 'ImageField': 'varchar(100)', + 'IntegerField': 'integer', + 'IPAddressField': 'char(15)', + 'ManyToManyField': None, + 'NullBooleanField': 'bool', + 'OneToOneField': 'integer', + 'PhoneNumberField': 'varchar(20)', + 'PositiveIntegerField': 'integer UNSIGNED', + 'PositiveSmallIntegerField': 'smallint UNSIGNED', + 'SlugField': 'varchar(%(maxlength)s)', + 'SmallIntegerField': 'smallint', + 'TextField': 'longtext', + 'TimeField': 'time', + 'USStateField': 'varchar(2)', +} diff --git a/django/db/backends/mysql_old/introspection.py b/django/db/backends/mysql_old/introspection.py new file mode 100644 index 0000000000..cb5b8320d9 --- /dev/null +++ b/django/db/backends/mysql_old/introspection.py @@ -0,0 +1,95 @@ +from django.db.backends.mysql_old.base import quote_name +from MySQLdb import ProgrammingError, OperationalError +from MySQLdb.constants import FIELD_TYPE +import re + +foreign_key_re = re.compile(r"\sCONSTRAINT `[^`]*` FOREIGN KEY \(`([^`]*)`\) REFERENCES `([^`]*)` \(`([^`]*)`\)") + +def get_table_list(cursor): + "Returns a list of table names in the current database." + cursor.execute("SHOW TABLES") + return [row[0] for row in cursor.fetchall()] + +def get_table_description(cursor, table_name): + "Returns a description of the table, with the DB-API cursor.description interface." + cursor.execute("SELECT * FROM %s LIMIT 1" % quote_name(table_name)) + return cursor.description + +def _name_to_index(cursor, table_name): + """ + Returns a dictionary of {field_name: field_index} for the given table. + Indexes are 0-based. + """ + return dict([(d[0], i) for i, d in enumerate(get_table_description(cursor, table_name))]) + +def get_relations(cursor, table_name): + """ + Returns a dictionary of {field_index: (field_index_other_table, other_table)} + representing all relationships to the given table. Indexes are 0-based. + """ + my_field_dict = _name_to_index(cursor, table_name) + constraints = [] + relations = {} + try: + # This should work for MySQL 5.0. + cursor.execute(""" + SELECT column_name, referenced_table_name, referenced_column_name + FROM information_schema.key_column_usage + WHERE table_name = %s + AND table_schema = DATABASE() + AND referenced_table_name IS NOT NULL + AND referenced_column_name IS NOT NULL""", [table_name]) + constraints.extend(cursor.fetchall()) + except (ProgrammingError, OperationalError): + # Fall back to "SHOW CREATE TABLE", for previous MySQL versions. + # Go through all constraints and save the equal matches. + cursor.execute("SHOW CREATE TABLE %s" % quote_name(table_name)) + for row in cursor.fetchall(): + pos = 0 + while True: + match = foreign_key_re.search(row[1], pos) + if match == None: + break + pos = match.end() + constraints.append(match.groups()) + + for my_fieldname, other_table, other_field in constraints: + other_field_index = _name_to_index(cursor, other_table)[other_field] + my_field_index = my_field_dict[my_fieldname] + relations[my_field_index] = (other_field_index, other_table) + + return relations + +def get_indexes(cursor, table_name): + """ + Returns a dictionary of fieldname -> infodict for the given table, + where each infodict is in the format: + {'primary_key': boolean representing whether it's the primary key, + 'unique': boolean representing whether it's a unique index} + """ + cursor.execute("SHOW INDEX FROM %s" % quote_name(table_name)) + indexes = {} + for row in cursor.fetchall(): + indexes[row[4]] = {'primary_key': (row[2] == 'PRIMARY'), 'unique': not bool(row[1])} + return indexes + +DATA_TYPES_REVERSE = { + FIELD_TYPE.BLOB: 'TextField', + FIELD_TYPE.CHAR: 'CharField', + FIELD_TYPE.DECIMAL: 'DecimalField', + FIELD_TYPE.DATE: 'DateField', + FIELD_TYPE.DATETIME: 'DateTimeField', + FIELD_TYPE.DOUBLE: 'FloatField', + FIELD_TYPE.FLOAT: 'FloatField', + FIELD_TYPE.INT24: 'IntegerField', + FIELD_TYPE.LONG: 'IntegerField', + FIELD_TYPE.LONGLONG: 'IntegerField', + FIELD_TYPE.SHORT: 'IntegerField', + FIELD_TYPE.STRING: 'TextField', + FIELD_TYPE.TIMESTAMP: 'DateTimeField', + FIELD_TYPE.TINY: 'IntegerField', + FIELD_TYPE.TINY_BLOB: 'TextField', + FIELD_TYPE.MEDIUM_BLOB: 'TextField', + FIELD_TYPE.LONG_BLOB: 'TextField', + FIELD_TYPE.VAR_STRING: 'CharField', +} diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py index 3a13f39546..2bc88bb7b9 100644 --- a/django/db/backends/oracle/base.py +++ b/django/db/backends/oracle/base.py @@ -12,6 +12,7 @@ except ImportError, e: raise ImproperlyConfigured, "Error loading cx_Oracle module: %s" % e DatabaseError = Database.Error +IntegrityError = Database.IntegrityError try: # Only exists in Python 2.4+ @@ -43,10 +44,11 @@ class DatabaseWrapper(local): return FormatStylePlaceholderCursor(self.connection) def _commit(self): - self.connection.commit() + if self.connection is not None: + self.connection.commit() def _rollback(self): - if self.connection: + if self.connection is not None: try: self.connection.rollback() except Database.NotSupportedError: @@ -108,6 +110,9 @@ def get_limit_offset_sql(limit, offset=None): def get_random_function_sql(): return "DBMS_RANDOM.RANDOM" +def get_deferrable_sql(): + return " DEFERRABLE INITIALLY DEFERRED" + def get_fulltext_search_sql(field_name): raise NotImplementedError @@ -117,6 +122,24 @@ def get_drop_foreignkey_sql(): def get_pk_default_value(): return "DEFAULT" +def get_sql_flush(style, tables, sequences): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + """ + # Return a list of 'TRUNCATE x;', 'TRUNCATE y;', 'TRUNCATE z;'... style SQL statements + # TODO - SQL not actually tested against Oracle yet! + # TODO - autoincrement indices reset required? See other get_sql_flush() implementations + sql = ['%s %s;' % \ + (style.SQL_KEYWORD('TRUNCATE'), + style.SQL_FIELD(quote_name(table)) + ) for table in tables] + +def get_sql_sequence_reset(style, model_list): + "Returns a list of the SQL statements to reset sequences for the given models." + # No sequence reset required + return [] + OPERATOR_MAPPING = { 'exact': '= %s', 'iexact': 'LIKE %s', diff --git a/django/db/backends/oracle/creation.py b/django/db/backends/oracle/creation.py index d45ceb64f5..14a864ac28 100644 --- a/django/db/backends/oracle/creation.py +++ b/django/db/backends/oracle/creation.py @@ -5,9 +5,10 @@ DATA_TYPES = { 'CommaSeparatedIntegerField': 'varchar2(%(maxlength)s)', 'DateField': 'date', 'DateTimeField': 'date', + 'DecimalField': 'number(%(max_digits)s, %(decimal_places)s)', 'FileField': 'varchar2(100)', 'FilePathField': 'varchar2(100)', - 'FloatField': 'number(%(max_digits)s, %(decimal_places)s)', + 'FloatField': 'double precision', 'ImageField': 'varchar2(100)', 'IntegerField': 'integer', 'IPAddressField': 'char(15)', @@ -21,6 +22,5 @@ DATA_TYPES = { 'SmallIntegerField': 'smallint', 'TextField': 'long', 'TimeField': 'timestamp', - 'URLField': 'varchar(200)', 'USStateField': 'varchar(2)', } diff --git a/django/db/backends/oracle/introspection.py b/django/db/backends/oracle/introspection.py index ecc8f372a8..7634206178 100644 --- a/django/db/backends/oracle/introspection.py +++ b/django/db/backends/oracle/introspection.py @@ -46,5 +46,5 @@ DATA_TYPES_REVERSE = { 1114: 'DateTimeField', 1184: 'DateTimeField', 1266: 'TimeField', - 1700: 'FloatField', + 1700: 'DecimalField', } diff --git a/django/db/backends/postgresql/base.py b/django/db/backends/postgresql/base.py index e44bc0b560..fedbb6b7f1 100644 --- a/django/db/backends/postgresql/base.py +++ b/django/db/backends/postgresql/base.py @@ -12,6 +12,7 @@ except ImportError, e: raise ImproperlyConfigured, "Error loading psycopg module: %s" % e DatabaseError = Database.DatabaseError +IntegrityError = Database.IntegrityError try: # Only exists in Python 2.4+ @@ -20,6 +21,40 @@ except ImportError: # Import copy of _thread_local.py from Python 2.4 from django.utils._threading_local import local +def smart_basestring(s, charset): + if isinstance(s, unicode): + return s.encode(charset) + return s + +class UnicodeCursorWrapper(object): + """ + A thin wrapper around psycopg cursors that allows them to accept Unicode + strings as params. + + This is necessary because psycopg doesn't apply any DB quoting to + parameters that are Unicode strings. If a param is Unicode, this will + convert it to a bytestring using DEFAULT_CHARSET before passing it to + psycopg. + """ + def __init__(self, cursor, charset): + self.cursor = cursor + self.charset = charset + + def execute(self, sql, params=()): + return self.cursor.execute(sql, [smart_basestring(p, self.charset) for p in params]) + + def executemany(self, sql, param_list): + new_param_list = [tuple([smart_basestring(p, self.charset) for p in params]) for params in param_list] + return self.cursor.executemany(sql, new_param_list) + + def __getattr__(self, attr): + if attr in self.__dict__: + return self.__dict__[attr] + else: + return getattr(self.cursor, attr) + +postgres_version = None + class DatabaseWrapper(local): def __init__(self, **kwargs): self.connection = None @@ -28,7 +63,9 @@ class DatabaseWrapper(local): def cursor(self): from django.conf import settings + set_tz = False if self.connection is None: + set_tz = True if settings.DATABASE_NAME == '': from django.core.exceptions import ImproperlyConfigured raise ImproperlyConfigured, "You need to specify DATABASE_NAME in your Django settings file." @@ -44,16 +81,23 @@ class DatabaseWrapper(local): self.connection = Database.connect(conn_string, **self.options) self.connection.set_isolation_level(1) # make transactions transparent to all cursors cursor = self.connection.cursor() - cursor.execute("SET TIME ZONE %s", [settings.TIME_ZONE]) + if set_tz: + cursor.execute("SET TIME ZONE %s", [settings.TIME_ZONE]) + cursor = UnicodeCursorWrapper(cursor, settings.DEFAULT_CHARSET) + global postgres_version + if not postgres_version: + cursor.execute("SELECT version()") + postgres_version = [int(val) for val in cursor.fetchone()[0].split()[1].split('.')] if settings.DEBUG: return util.CursorDebugWrapper(cursor, self) return cursor def _commit(self): - return self.connection.commit() + if self.connection is not None: + return self.connection.commit() def _rollback(self): - if self.connection: + if self.connection is not None: return self.connection.rollback() def close(self): @@ -103,6 +147,9 @@ def get_limit_offset_sql(limit, offset=None): def get_random_function_sql(): return "RANDOM()" +def get_deferrable_sql(): + return " DEFERRABLE INITIALLY DEFERRED" + def get_fulltext_search_sql(field_name): raise NotImplementedError @@ -112,6 +159,91 @@ def get_drop_foreignkey_sql(): def get_pk_default_value(): return "DEFAULT" +def get_sql_flush(style, tables, sequences): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + + """ + if tables: + if postgres_version[0] >= 8 and postgres_version[1] >= 1: + # Postgres 8.1+ can do 'TRUNCATE x, y, z...;'. In fact, it *has to* in order to be able to + # truncate tables referenced by a foreign key in any other table. The result is a + # single SQL TRUNCATE statement. + sql = ['%s %s;' % \ + (style.SQL_KEYWORD('TRUNCATE'), + style.SQL_FIELD(', '.join([quote_name(table) for table in tables])) + )] + else: + # Older versions of Postgres can't do TRUNCATE in a single call, so they must use + # a simple delete. + sql = ['%s %s %s;' % \ + (style.SQL_KEYWORD('DELETE'), + style.SQL_KEYWORD('FROM'), + style.SQL_FIELD(quote_name(table)) + ) for table in tables] + + # 'ALTER SEQUENCE sequence_name RESTART WITH 1;'... style SQL statements + # to reset sequence indices + for sequence_info in sequences: + table_name = sequence_info['table'] + column_name = sequence_info['column'] + if column_name and len(column_name)>0: + # sequence name in this case will be __seq + sql.append("%s %s %s %s %s %s;" % \ + (style.SQL_KEYWORD('ALTER'), + style.SQL_KEYWORD('SEQUENCE'), + style.SQL_FIELD(quote_name('%s_%s_seq' % (table_name, column_name))), + style.SQL_KEYWORD('RESTART'), + style.SQL_KEYWORD('WITH'), + style.SQL_FIELD('1') + ) + ) + else: + # sequence name in this case will be
                                                                                          _id_seq + sql.append("%s %s %s %s %s %s;" % \ + (style.SQL_KEYWORD('ALTER'), + style.SQL_KEYWORD('SEQUENCE'), + style.SQL_FIELD(quote_name('%s_id_seq' % table_name)), + style.SQL_KEYWORD('RESTART'), + style.SQL_KEYWORD('WITH'), + style.SQL_FIELD('1') + ) + ) + return sql + else: + return [] + +def get_sql_sequence_reset(style, model_list): + "Returns a list of the SQL statements to reset sequences for the given models." + from django.db import models + output = [] + for model in model_list: + # Use `coalesce` to set the sequence for each model to the max pk value if there are records, + # or 1 if there are none. Set the `is_called` property (the third argument to `setval`) to true + # if there are records (as the max pk value is already in use), otherwise set it to false. + for f in model._meta.fields: + if isinstance(f, models.AutoField): + output.append("%s setval('%s', coalesce(max(%s), 1), max(%s) %s null) %s %s;" % \ + (style.SQL_KEYWORD('SELECT'), + style.SQL_FIELD(quote_name('%s_%s_seq' % (model._meta.db_table, f.column))), + style.SQL_FIELD(quote_name(f.column)), + style.SQL_FIELD(quote_name(f.column)), + style.SQL_KEYWORD('IS NOT'), + style.SQL_KEYWORD('FROM'), + style.SQL_TABLE(quote_name(model._meta.db_table)))) + break # Only one AutoField is allowed per model, so don't bother continuing. + for f in model._meta.many_to_many: + output.append("%s setval('%s', coalesce(max(%s), 1), max(%s) %s null) %s %s;" % \ + (style.SQL_KEYWORD('SELECT'), + style.SQL_FIELD(quote_name('%s_id_seq' % f.m2m_db_table())), + style.SQL_FIELD(quote_name('id')), + style.SQL_FIELD(quote_name('id')), + style.SQL_KEYWORD('IS NOT'), + style.SQL_KEYWORD('FROM'), + style.SQL_TABLE(f.m2m_db_table()))) + return output + # Register these custom typecasts, because Django expects dates/times to be # in Python's native (standard-library) datetime/time format, whereas psycopg # use mx.DateTime by default. @@ -122,6 +254,7 @@ except AttributeError: Database.register_type(Database.new_type((1083,1266), "TIME", util.typecast_time)) Database.register_type(Database.new_type((1114,1184), "TIMESTAMP", util.typecast_timestamp)) Database.register_type(Database.new_type((16,), "BOOLEAN", util.typecast_boolean)) +Database.register_type(Database.new_type((1700,), "NUMERIC", util.typecast_decimal)) OPERATOR_MAPPING = { 'exact': '= %s', diff --git a/django/db/backends/postgresql/creation.py b/django/db/backends/postgresql/creation.py index 65a804ec40..4646b68ab8 100644 --- a/django/db/backends/postgresql/creation.py +++ b/django/db/backends/postgresql/creation.py @@ -9,9 +9,10 @@ DATA_TYPES = { 'CommaSeparatedIntegerField': 'varchar(%(maxlength)s)', 'DateField': 'date', 'DateTimeField': 'timestamp with time zone', + 'DecimalField': 'numeric(%(max_digits)s, %(decimal_places)s)', 'FileField': 'varchar(100)', 'FilePathField': 'varchar(100)', - 'FloatField': 'numeric(%(max_digits)s, %(decimal_places)s)', + 'FloatField': 'double precision', 'ImageField': 'varchar(100)', 'IntegerField': 'integer', 'IPAddressField': 'inet', @@ -25,6 +26,5 @@ DATA_TYPES = { 'SmallIntegerField': 'smallint', 'TextField': 'text', 'TimeField': 'time', - 'URLField': 'varchar(200)', 'USStateField': 'varchar(2)', } diff --git a/django/db/backends/postgresql/introspection.py b/django/db/backends/postgresql/introspection.py index 6e1d60c4ff..2605490afd 100644 --- a/django/db/backends/postgresql/introspection.py +++ b/django/db/backends/postgresql/introspection.py @@ -72,6 +72,7 @@ DATA_TYPES_REVERSE = { 21: 'SmallIntegerField', 23: 'IntegerField', 25: 'TextField', + 701: 'FloatField', 869: 'IPAddressField', 1043: 'CharField', 1082: 'DateField', @@ -79,5 +80,5 @@ DATA_TYPES_REVERSE = { 1114: 'DateTimeField', 1184: 'DateTimeField', 1266: 'TimeField', - 1700: 'FloatField', + 1700: 'DecimalField', } diff --git a/django/db/backends/postgresql_psycopg2/base.py b/django/db/backends/postgresql_psycopg2/base.py index 04322332dc..d9ad363ac1 100644 --- a/django/db/backends/postgresql_psycopg2/base.py +++ b/django/db/backends/postgresql_psycopg2/base.py @@ -12,6 +12,7 @@ except ImportError, e: raise ImproperlyConfigured, "Error loading psycopg2 module: %s" % e DatabaseError = Database.DatabaseError +IntegrityError = Database.IntegrityError try: # Only exists in Python 2.4+ @@ -20,6 +21,8 @@ except ImportError: # Import copy of _thread_local.py from Python 2.4 from django.utils._threading_local import local +postgres_version = None + class DatabaseWrapper(local): def __init__(self, **kwargs): self.connection = None @@ -28,7 +31,9 @@ class DatabaseWrapper(local): def cursor(self): from django.conf import settings + set_tz = False if self.connection is None: + set_tz = True if settings.DATABASE_NAME == '': from django.core.exceptions import ImproperlyConfigured raise ImproperlyConfigured, "You need to specify DATABASE_NAME in your Django settings file." @@ -45,16 +50,22 @@ class DatabaseWrapper(local): self.connection.set_isolation_level(1) # make transactions transparent to all cursors cursor = self.connection.cursor() cursor.tzinfo_factory = None - cursor.execute("SET TIME ZONE %s", [settings.TIME_ZONE]) + if set_tz: + cursor.execute("SET TIME ZONE %s", [settings.TIME_ZONE]) + global postgres_version + if not postgres_version: + cursor.execute("SELECT version()") + postgres_version = [int(val) for val in cursor.fetchone()[0].split()[1].split('.')] if settings.DEBUG: return util.CursorDebugWrapper(cursor, self) return cursor def _commit(self): - return self.connection.commit() + if self.connection is not None: + return self.connection.commit() def _rollback(self): - if self.connection: + if self.connection is not None: return self.connection.rollback() def close(self): @@ -96,6 +107,9 @@ def get_limit_offset_sql(limit, offset=None): def get_random_function_sql(): return "RANDOM()" +def get_deferrable_sql(): + return " DEFERRABLE INITIALLY DEFERRED" + def get_fulltext_search_sql(field_name): raise NotImplementedError @@ -105,6 +119,88 @@ def get_drop_foreignkey_sql(): def get_pk_default_value(): return "DEFAULT" +def get_sql_flush(style, tables, sequences): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + """ + if tables: + if postgres_version[0] >= 8 and postgres_version[1] >= 1: + # Postgres 8.1+ can do 'TRUNCATE x, y, z...;'. In fact, it *has to* in order to be able to + # truncate tables referenced by a foreign key in any other table. The result is a + # single SQL TRUNCATE statement + sql = ['%s %s;' % \ + (style.SQL_KEYWORD('TRUNCATE'), + style.SQL_FIELD(', '.join([quote_name(table) for table in tables])) + )] + else: + sql = ['%s %s %s;' % \ + (style.SQL_KEYWORD('DELETE'), + style.SQL_KEYWORD('FROM'), + style.SQL_FIELD(quote_name(table)) + ) for table in tables] + + # 'ALTER SEQUENCE sequence_name RESTART WITH 1;'... style SQL statements + # to reset sequence indices + for sequence in sequences: + table_name = sequence['table'] + column_name = sequence['column'] + if column_name and len(column_name) > 0: + # sequence name in this case will be
                                                                                          __seq + sql.append("%s %s %s %s %s %s;" % \ + (style.SQL_KEYWORD('ALTER'), + style.SQL_KEYWORD('SEQUENCE'), + style.SQL_FIELD(quote_name('%s_%s_seq' % (table_name, column_name))), + style.SQL_KEYWORD('RESTART'), + style.SQL_KEYWORD('WITH'), + style.SQL_FIELD('1') + ) + ) + else: + # sequence name in this case will be
                                                                                          _id_seq + sql.append("%s %s %s %s %s %s;" % \ + (style.SQL_KEYWORD('ALTER'), + style.SQL_KEYWORD('SEQUENCE'), + style.SQL_FIELD(quote_name('%s_id_seq' % table_name)), + style.SQL_KEYWORD('RESTART'), + style.SQL_KEYWORD('WITH'), + style.SQL_FIELD('1') + ) + ) + return sql + else: + return [] + +def get_sql_sequence_reset(style, model_list): + "Returns a list of the SQL statements to reset sequences for the given models." + from django.db import models + output = [] + for model in model_list: + # Use `coalesce` to set the sequence for each model to the max pk value if there are records, + # or 1 if there are none. Set the `is_called` property (the third argument to `setval`) to true + # if there are records (as the max pk value is already in use), otherwise set it to false. + for f in model._meta.fields: + if isinstance(f, models.AutoField): + output.append("%s setval('%s', coalesce(max(%s), 1), max(%s) %s null) %s %s;" % \ + (style.SQL_KEYWORD('SELECT'), + style.SQL_FIELD(quote_name('%s_%s_seq' % (model._meta.db_table, f.column))), + style.SQL_FIELD(quote_name(f.column)), + style.SQL_FIELD(quote_name(f.column)), + style.SQL_KEYWORD('IS NOT'), + style.SQL_KEYWORD('FROM'), + style.SQL_TABLE(quote_name(model._meta.db_table)))) + break # Only one AutoField is allowed per model, so don't bother continuing. + for f in model._meta.many_to_many: + output.append("%s setval('%s', coalesce(max(%s), 1), max(%s) %s null) %s %s;" % \ + (style.SQL_KEYWORD('SELECT'), + style.SQL_FIELD(quote_name('%s_id_seq' % f.m2m_db_table())), + style.SQL_FIELD(quote_name('id')), + style.SQL_FIELD(quote_name('id')), + style.SQL_KEYWORD('IS NOT'), + style.SQL_KEYWORD('FROM'), + style.SQL_TABLE(f.m2m_db_table()))) + return output + OPERATOR_MAPPING = { 'exact': '= %s', 'iexact': 'ILIKE %s', diff --git a/django/db/backends/postgresql_psycopg2/introspection.py b/django/db/backends/postgresql_psycopg2/introspection.py index a546da8c45..aa45fe7db7 100644 --- a/django/db/backends/postgresql_psycopg2/introspection.py +++ b/django/db/backends/postgresql_psycopg2/introspection.py @@ -72,6 +72,7 @@ DATA_TYPES_REVERSE = { 21: 'SmallIntegerField', 23: 'IntegerField', 25: 'TextField', + 701: 'FloatField', 869: 'IPAddressField', 1043: 'CharField', 1082: 'DateField', @@ -79,5 +80,5 @@ DATA_TYPES_REVERSE = { 1114: 'DateTimeField', 1184: 'DateTimeField', 1266: 'TimeField', - 1700: 'FloatField', + 1700: 'DecimalField', } diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py index 891320160f..5cd67a32f5 100644 --- a/django/db/backends/sqlite3/base.py +++ b/django/db/backends/sqlite3/base.py @@ -17,7 +17,13 @@ except ImportError, e: module = 'sqlite3' raise ImproperlyConfigured, "Error loading %s module: %s" % (module, e) +try: + import decimal +except ImportError: + from django.utils import _decimal as decimal # for Python 2.3 + DatabaseError = Database.DatabaseError +IntegrityError = Database.IntegrityError Database.register_converter("bool", lambda s: str(s) == '1') Database.register_converter("time", util.typecast_time) @@ -25,6 +31,8 @@ Database.register_converter("date", util.typecast_date) Database.register_converter("datetime", util.typecast_timestamp) Database.register_converter("timestamp", util.typecast_timestamp) Database.register_converter("TIMESTAMP", util.typecast_timestamp) +Database.register_converter("decimal", util.typecast_decimal) +Database.register_adapter(decimal.Decimal, util.rev_typecast_decimal) def utf8rowFactory(cursor, row): def utf8(s): @@ -67,10 +75,11 @@ class DatabaseWrapper(local): return cursor def _commit(self): - self.connection.commit() + if self.connection is not None: + self.connection.commit() def _rollback(self): - if self.connection: + if self.connection is not None: self.connection.rollback() def close(self): @@ -139,6 +148,9 @@ def get_limit_offset_sql(limit, offset=None): def get_random_function_sql(): return "RANDOM()" +def get_deferrable_sql(): + return "" + def get_fulltext_search_sql(field_name): raise NotImplementedError @@ -148,6 +160,29 @@ def get_drop_foreignkey_sql(): def get_pk_default_value(): return "NULL" +def get_sql_flush(style, tables, sequences): + """Return a list of SQL statements required to remove all data from + all tables in the database (without actually removing the tables + themselves) and put the database in an empty 'initial' state + + """ + # NB: The generated SQL below is specific to SQLite + # Note: The DELETE FROM... SQL generated below works for SQLite databases + # because constraints don't exist + sql = ['%s %s %s;' % \ + (style.SQL_KEYWORD('DELETE'), + style.SQL_KEYWORD('FROM'), + style.SQL_FIELD(quote_name(table)) + ) for table in tables] + # Note: No requirement for reset of auto-incremented indices (cf. other + # get_sql_flush() implementations). Just return SQL at this point + return sql + +def get_sql_sequence_reset(style, model_list): + "Returns a list of the SQL statements to reset sequences for the given models." + # No sequence reset required + return [] + def _sqlite_date_trunc(lookup_type, dt): try: dt = util.typecast_timestamp(dt) diff --git a/django/db/backends/sqlite3/creation.py b/django/db/backends/sqlite3/creation.py index e845179e64..e63046ab7d 100644 --- a/django/db/backends/sqlite3/creation.py +++ b/django/db/backends/sqlite3/creation.py @@ -8,9 +8,10 @@ DATA_TYPES = { 'CommaSeparatedIntegerField': 'varchar(%(maxlength)s)', 'DateField': 'date', 'DateTimeField': 'datetime', + 'DecimalField': 'decimal', 'FileField': 'varchar(100)', 'FilePathField': 'varchar(100)', - 'FloatField': 'numeric(%(max_digits)s, %(decimal_places)s)', + 'FloatField': 'real', 'ImageField': 'varchar(100)', 'IntegerField': 'integer', 'IPAddressField': 'char(15)', @@ -24,6 +25,5 @@ DATA_TYPES = { 'SmallIntegerField': 'smallint', 'TextField': 'text', 'TimeField': 'time', - 'URLField': 'varchar(200)', 'USStateField': 'varchar(2)', } diff --git a/django/db/backends/util.py b/django/db/backends/util.py index d8f86fef4f..81c752e664 100644 --- a/django/db/backends/util.py +++ b/django/db/backends/util.py @@ -1,6 +1,11 @@ import datetime from time import time +try: + import decimal +except ImportError: + from django.utils import _decimal as decimal # for Python 2.3 + class CursorDebugWrapper(object): def __init__(self, cursor, db): self.cursor = cursor @@ -33,7 +38,7 @@ class CursorDebugWrapper(object): }) def __getattr__(self, attr): - if self.__dict__.has_key(attr): + if attr in self.__dict__: return self.__dict__[attr] else: return getattr(self.cursor, attr) @@ -85,6 +90,11 @@ def typecast_boolean(s): if not s: return False return str(s)[0].lower() == 't' +def typecast_decimal(s): + if s is None or s == '': + return None + return decimal.Decimal(s) + ############################################### # Converters from Python to database (string) # ############################################### @@ -92,6 +102,11 @@ def typecast_boolean(s): def rev_typecast_boolean(obj, d): return obj and '1' or '0' +def rev_typecast_decimal(d): + if d is None: + return None + return str(d) + ################################################################################## # Helper functions for dictfetch* for databases that don't natively support them # ################################################################################## diff --git a/django/db/models/__init__.py b/django/db/models/__init__.py index 0308dd047a..6c3abb6b59 100644 --- a/django/db/models/__init__.py +++ b/django/db/models/__init__.py @@ -8,7 +8,6 @@ from django.db.models.manager import Manager from django.db.models.base import Model, AdminOptions from django.db.models.fields import * from django.db.models.fields.related import ForeignKey, OneToOneField, ManyToManyField, ManyToOneRel, ManyToManyRel, OneToOneRel, TABULAR, STACKED -from django.db.models.fields.generic import GenericRelation, GenericRel, GenericForeignKey from django.db.models import signals from django.utils.functional import curry from django.utils.text import capfirst @@ -27,27 +26,3 @@ def permalink(func): viewname = bits[0] return reverse(bits[0], None, *bits[1:3]) return inner - -class LazyDate(object): - """ - Use in limit_choices_to to compare the field to dates calculated at run time - instead of when the model is loaded. For example:: - - ... limit_choices_to = {'date__gt' : models.LazyDate(days=-3)} ... - - which will limit the choices to dates greater than three days ago. - """ - def __init__(self, **kwargs): - self.delta = datetime.timedelta(**kwargs) - - def __str__(self): - return str(self.__get_value__()) - - def __repr__(self): - return "" % self.delta - - def __get_value__(self): - return (datetime.datetime.now() + self.delta).date() - - def __getattr__(self, attr): - return getattr(self.__get_value__(), attr) diff --git a/django/db/models/base.py b/django/db/models/base.py index 70569a2561..a8e6303e1c 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -13,6 +13,7 @@ from django.dispatch import dispatcher from django.utils.datastructures import SortedDict from django.utils.functional import curry from django.conf import settings +from itertools import izip import types import sys import os @@ -21,8 +22,13 @@ class ModelBase(type): "Metaclass for all models" def __new__(cls, name, bases, attrs): # If this isn't a subclass of Model, don't do anything special. - if not bases or bases == (object,): - return type.__new__(cls, name, bases, attrs) + try: + if not filter(lambda b: issubclass(b, Model), bases): + return super(ModelBase, cls).__new__(cls, name, bases, attrs) + except NameError: + # 'Model' isn't defined yet, meaning we're looking at Django's own + # Model class, defined below. + return super(ModelBase, cls).__new__(cls, name, bases, attrs) # Create the class. new_class = type.__new__(cls, name, bases, {'__module__': attrs.pop('__module__')}) @@ -36,11 +42,11 @@ class ModelBase(type): new_class._meta.parents.append(base) new_class._meta.parents.extend(base._meta.parents) - model_module = sys.modules[new_class.__module__] if getattr(new_class._meta, 'app_label', None) is None: # Figure out the app_label by looking one level up. # For 'django.contrib.sites.models', this would be 'sites'. + model_module = sys.modules[new_class.__module__] new_class._meta.app_label = model_module.__name__.split('.')[-2] # Bail out early if we have already created this class. @@ -63,7 +69,7 @@ class ModelBase(type): if getattr(new_class._meta, 'row_level_permissions', False): from django.contrib.auth.models import RowLevelPermission - gen_rel = django.db.models.GenericRelation(RowLevelPermission, object_id_field="model_id", content_type_field="model_ct") + gen_rel = django.contrib.contenttypes.generic.GenericRelation(RowLevelPermission, object_id_field="model_id", content_type_field="model_ct") new_class.add_to_class("row_level_permissions", gen_rel) new_class._prepare() @@ -95,41 +101,74 @@ class Model(object): def __init__(self, *args, **kwargs): dispatcher.send(signal=signals.pre_init, sender=self.__class__, args=args, kwargs=kwargs) - for f in self._meta.fields: - if isinstance(f.rel, ManyToOneRel): - try: - # Assume object instance was passed in. - rel_obj = kwargs.pop(f.name) - except KeyError: + + # There is a rather weird disparity here; if kwargs, it's set, then args + # overrides it. It should be one or the other; don't duplicate the work + # The reason for the kwargs check is that standard iterator passes in by + # args, and nstantiation for iteration is 33% faster. + args_len = len(args) + if args_len > len(self._meta.fields): + # Daft, but matches old exception sans the err msg. + raise IndexError("Number of args exceeds number of fields") + + fields_iter = iter(self._meta.fields) + if not kwargs: + # The ordering of the izip calls matter - izip throws StopIteration + # when an iter throws it. So if the first iter throws it, the second + # is *not* consumed. We rely on this, so don't change the order + # without changing the logic. + for val, field in izip(args, fields_iter): + setattr(self, field.attname, val) + else: + # Slower, kwargs-ready version. + for val, field in izip(args, fields_iter): + setattr(self, field.attname, val) + kwargs.pop(field.name, None) + # Maintain compatibility with existing calls. + if isinstance(field.rel, ManyToOneRel): + kwargs.pop(field.attname, None) + + # Now we're left with the unprocessed fields that *must* come from + # keywords, or default. + + for field in fields_iter: + if kwargs: + if isinstance(field.rel, ManyToOneRel): try: - # Object instance wasn't passed in -- must be an ID. - val = kwargs.pop(f.attname) + # Assume object instance was passed in. + rel_obj = kwargs.pop(field.name) except KeyError: - val = f.get_default() - else: - # Object instance was passed in. - # Special case: You can pass in "None" for related objects if it's allowed. - if rel_obj is None and f.null: - val = None - else: try: - val = getattr(rel_obj, f.rel.get_related_field().attname) - except AttributeError: - raise TypeError, "Invalid value: %r should be a %s instance, not a %s" % (f.name, f.rel.to, type(rel_obj)) - setattr(self, f.attname, val) + # Object instance wasn't passed in -- must be an ID. + val = kwargs.pop(field.attname) + except KeyError: + val = field.get_default() + else: + # Object instance was passed in. Special case: You can + # pass in "None" for related objects if it's allowed. + if rel_obj is None and field.null: + val = None + else: + try: + val = getattr(rel_obj, field.rel.get_related_field().attname) + except AttributeError: + raise TypeError("Invalid value: %r should be a %s instance, not a %s" % + (field.name, field.rel.to, type(rel_obj))) + else: + val = kwargs.pop(field.attname, field.get_default()) else: - val = kwargs.pop(f.attname, f.get_default()) - setattr(self, f.attname, val) - for prop in kwargs.keys(): - try: - if isinstance(getattr(self.__class__, prop), property): - setattr(self, prop, kwargs.pop(prop)) - except AttributeError: - pass + val = field.get_default() + setattr(self, field.attname, val) + if kwargs: - raise TypeError, "'%s' is an invalid keyword argument for this function" % kwargs.keys()[0] - for i, arg in enumerate(args): - setattr(self, self._meta.fields[i].attname, arg) + for prop in kwargs.keys(): + try: + if isinstance(getattr(self.__class__, prop), property): + setattr(self, prop, kwargs.pop(prop)) + except AttributeError: + pass + if kwargs: + raise TypeError, "'%s' is an invalid keyword argument for this function" % kwargs.keys()[0] dispatcher.send(signal=signals.post_init, sender=self.__class__, instance=self) def add_to_class(cls, name, value): @@ -327,7 +366,7 @@ class Model(object): def _get_FIELD_size(self, field): return os.path.getsize(self._get_FIELD_filename(field)) - def _save_FIELD_file(self, field, filename, raw_contents): + def _save_FIELD_file(self, field, filename, raw_contents, save=True): directory = field.get_directory_name() try: # Create the date-based directory if it doesn't exist. os.makedirs(os.path.join(settings.MEDIA_ROOT, directory)) @@ -362,8 +401,9 @@ class Model(object): if field.height_field: setattr(self, field.height_field, height) - # Save the object, because it has changed. - self.save() + # Save the object because it has changed unless save is False + if save: + self.save() _save_FIELD_file.alters_data = True diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index fe317ac24f..136ce31b8b 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -10,6 +10,10 @@ from django.utils.itercompat import tee from django.utils.text import capfirst from django.utils.translation import gettext, gettext_lazy import datetime, os, time +try: + import decimal +except ImportError: + from django.utils import _decimal as decimal # for Python 2.3 class NOT_PROVIDED: pass @@ -67,7 +71,7 @@ class Field(object): def __init__(self, verbose_name=None, name=None, primary_key=False, maxlength=None, unique=False, blank=False, null=False, db_index=False, - core=False, rel=None, default=NOT_PROVIDED, editable=True, + core=False, rel=None, default=NOT_PROVIDED, editable=True, serialize=True, prepopulate_from=None, unique_for_date=None, unique_for_month=None, unique_for_year=None, validator_list=None, choices=None, radio_admin=None, help_text='', db_column=None): @@ -78,6 +82,7 @@ class Field(object): self.blank, self.null = blank, null self.core, self.rel, self.default = core, rel, default self.editable = editable + self.serialize = serialize self.validator_list = validator_list or [] self.prepopulate_from = prepopulate_from self.unique_for_date, self.unique_for_month = unique_for_date, unique_for_month @@ -164,7 +169,7 @@ class Field(object): def get_db_prep_lookup(self, lookup_type, value): "Returns field's value prepared for database lookup." - if lookup_type in ('exact', 'gt', 'gte', 'lt', 'lte', 'year', 'month', 'day', 'search'): + if lookup_type in ('exact', 'gt', 'gte', 'lt', 'lte', 'month', 'day', 'search'): return [value] elif lookup_type in ('range', 'in'): return value @@ -178,7 +183,13 @@ class Field(object): return ["%%%s" % prep_for_like_query(value)] elif lookup_type == 'isnull': return [] - raise TypeError, "Field has invalid lookup: %s" % lookup_type + elif lookup_type == 'year': + try: + 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] + raise TypeError("Field has invalid lookup: %s" % lookup_type) def has_default(self): "Returns a boolean of whether this field has a default value." @@ -334,10 +345,17 @@ class Field(object): return self._choices choices = property(_get_choices) - def formfield(self): + def formfield(self, form_class=forms.CharField, **kwargs): "Returns a django.newforms.Field instance for this database Field." - # TODO: This is just a temporary default during development. - return forms.CharField(required=not self.blank, label=capfirst(self.verbose_name)) + defaults = {'required': not self.blank, 'label': capfirst(self.verbose_name), 'help_text': self.help_text} + if self.choices: + defaults['widget'] = forms.Select(choices=self.get_choices()) + defaults.update(kwargs) + return form_class(**defaults) + + def value_from_object(self, obj): + "Returns the value of this field in the given model instance." + return getattr(obj, self.attname) class AutoField(Field): empty_strings_allowed = False @@ -375,7 +393,7 @@ class AutoField(Field): super(AutoField, self).contribute_to_class(cls, name) cls._meta.has_auto_field = True - def formfield(self): + def formfield(self, **kwargs): return None class BooleanField(Field): @@ -392,8 +410,10 @@ class BooleanField(Field): def get_manipulator_field_objs(self): return [oldforms.CheckboxField] - def formfield(self): - return forms.BooleanField(required=not self.blank, label=capfirst(self.verbose_name)) + def formfield(self, **kwargs): + defaults = {'form_class': forms.BooleanField} + defaults.update(kwargs) + return super(BooleanField, self).formfield(**defaults) class CharField(Field): def get_manipulator_field_objs(self): @@ -409,8 +429,10 @@ class CharField(Field): raise validators.ValidationError, gettext_lazy("This field cannot be null.") return str(value) - def formfield(self): - return forms.CharField(max_length=self.maxlength, required=not self.blank, label=capfirst(self.verbose_name)) + def formfield(self, **kwargs): + defaults = {'max_length': self.maxlength} + defaults.update(kwargs) + return super(CharField, self).formfield(**defaults) # TODO: Maybe move this into contrib, because it's specialized. class CommaSeparatedIntegerField(CharField): @@ -428,6 +450,8 @@ class DateField(Field): Field.__init__(self, verbose_name, name, **kwargs) def to_python(self, value): + if value is None: + return value if isinstance(value, datetime.datetime): return value.date() if isinstance(value, datetime.date): @@ -479,15 +503,19 @@ class DateField(Field): def get_manipulator_field_objs(self): return [oldforms.DateField] - def flatten_data(self, follow, obj = None): + def flatten_data(self, follow, obj=None): val = self._get_val_from_obj(obj) return {self.attname: (val is not None and val.strftime("%Y-%m-%d") or '')} - def formfield(self): - return forms.DateField(required=not self.blank, label=capfirst(self.verbose_name)) + def formfield(self, **kwargs): + defaults = {'form_class': forms.DateField} + defaults.update(kwargs) + return super(DateField, self).formfield(**defaults) class DateTimeField(DateField): def to_python(self, value): + if value is None: + return value if isinstance(value, datetime.datetime): return value if isinstance(value, datetime.date): @@ -544,8 +572,69 @@ class DateTimeField(DateField): return {date_field: (val is not None and val.strftime("%Y-%m-%d") or ''), time_field: (val is not None and val.strftime("%H:%M:%S") or '')} - def formfield(self): - return forms.DateTimeField(required=not self.blank, label=capfirst(self.verbose_name)) + def formfield(self, **kwargs): + defaults = {'form_class': forms.DateTimeField} + defaults.update(kwargs) + return super(DateTimeField, self).formfield(**defaults) + +class DecimalField(Field): + empty_strings_allowed = False + def __init__(self, verbose_name=None, name=None, max_digits=None, decimal_places=None, **kwargs): + self.max_digits, self.decimal_places = max_digits, decimal_places + Field.__init__(self, verbose_name, name, **kwargs) + + def to_python(self, value): + if value is None: + return value + try: + return decimal.Decimal(value) + except decimal.InvalidOperation: + raise validators.ValidationError, gettext("This value must be a decimal number.") + + def _format(self, value): + if isinstance(value, basestring): + return value + else: + return self.format_number(value) + + def format_number(self, value): + """ + Formats a number into a string with the requisite number of digits and + decimal places. + """ + num_chars = self.max_digits + # Allow for a decimal point + if self.decimal_places > 0: + num_chars += 1 + # Allow for a minus sign + if value < 0: + num_chars += 1 + + return "%.*f" % (self.decimal_places, value) + + def get_db_prep_save(self, value): + if value is not None: + value = self._format(value) + return super(DecimalField, self).get_db_prep_save(value) + + def get_db_prep_lookup(self, lookup_type, value): + if lookup_type == 'range': + value = [self._format(v) for v in value] + else: + value = self._format(value) + return super(DecimalField, self).get_db_prep_lookup(lookup_type, value) + + def get_manipulator_field_objs(self): + return [curry(oldforms.DecimalField, max_digits=self.max_digits, decimal_places=self.decimal_places)] + + def formfield(self, **kwargs): + defaults = { + 'max_digits': self.max_digits, + 'decimal_places': self.decimal_places, + 'form_class': forms.DecimalField, + } + defaults.update(kwargs) + return super(DecimalField, self).formfield(**defaults) class EmailField(CharField): def __init__(self, *args, **kwargs): @@ -561,8 +650,10 @@ class EmailField(CharField): def validate(self, field_data, all_data): validators.isValidEmail(field_data, all_data) - def formfield(self): - return forms.EmailField(required=not self.blank, label=capfirst(self.verbose_name)) + def formfield(self, **kwargs): + defaults = {'form_class': forms.EmailField} + defaults.update(kwargs) + return super(EmailField, self).formfield(**defaults) class FileField(Field): def __init__(self, verbose_name=None, name=None, upload_to='', **kwargs): @@ -610,7 +701,7 @@ class FileField(Field): setattr(cls, 'get_%s_filename' % self.name, curry(cls._get_FIELD_filename, field=self)) setattr(cls, 'get_%s_url' % self.name, curry(cls._get_FIELD_url, field=self)) setattr(cls, 'get_%s_size' % self.name, curry(cls._get_FIELD_size, field=self)) - setattr(cls, 'save_%s_file' % self.name, lambda instance, filename, raw_contents: instance._save_FIELD_file(self, filename, raw_contents)) + setattr(cls, 'save_%s_file' % self.name, lambda instance, filename, raw_contents, save=True: instance._save_FIELD_file(self, filename, raw_contents, save)) dispatcher.connect(self.delete_file, signal=signals.post_delete, sender=cls) def delete_file(self, instance): @@ -628,14 +719,14 @@ class FileField(Field): def get_manipulator_field_names(self, name_prefix): return [name_prefix + self.name + '_file', name_prefix + self.name] - def save_file(self, new_data, new_object, original_object, change, rel): + def save_file(self, new_data, new_object, original_object, change, rel, save=True): upload_field_name = self.get_manipulator_field_names('')[0] if new_data.get(upload_field_name, False): func = getattr(new_object, 'save_%s_file' % self.name) if rel: - func(new_data[upload_field_name][0]["filename"], new_data[upload_field_name][0]["content"]) + func(new_data[upload_field_name][0]["filename"], new_data[upload_field_name][0]["content"], save) else: - func(new_data[upload_field_name]["filename"], new_data[upload_field_name]["content"]) + func(new_data[upload_field_name]["filename"], new_data[upload_field_name]["content"], save) def get_directory_name(self): return os.path.normpath(datetime.datetime.now().strftime(self.upload_to)) @@ -655,12 +746,14 @@ class FilePathField(Field): class FloatField(Field): empty_strings_allowed = False - def __init__(self, verbose_name=None, name=None, max_digits=None, decimal_places=None, **kwargs): - self.max_digits, self.decimal_places = max_digits, decimal_places - Field.__init__(self, verbose_name, name, **kwargs) def get_manipulator_field_objs(self): - return [curry(oldforms.FloatField, max_digits=self.max_digits, decimal_places=self.decimal_places)] + return [oldforms.FloatField] + + def formfield(self, **kwargs): + defaults = {'form_class': forms.FloatField} + defaults.update(kwargs) + return super(FloatField, self).formfield(**defaults) class ImageField(FileField): def __init__(self, verbose_name=None, name=None, width_field=None, height_field=None, **kwargs): @@ -679,12 +772,12 @@ class ImageField(FileField): if not self.height_field: setattr(cls, 'get_%s_height' % self.name, curry(cls._get_FIELD_height, field=self)) - def save_file(self, new_data, new_object, original_object, change, rel): - FileField.save_file(self, new_data, new_object, original_object, change, rel) + def save_file(self, new_data, new_object, original_object, change, rel, save=True): + FileField.save_file(self, new_data, new_object, original_object, change, rel, save) # If the image has height and/or width field(s) and they haven't # changed, set the width and/or height field(s) back to their original # values. - if change and (self.width_field or self.height_field): + if change and (self.width_field or self.height_field) and save: if self.width_field: setattr(new_object, self.width_field, getattr(original_object, self.width_field)) if self.height_field: @@ -696,8 +789,10 @@ class IntegerField(Field): def get_manipulator_field_objs(self): return [oldforms.IntegerField] - def formfield(self): - return forms.IntegerField(required=not self.blank, label=capfirst(self.verbose_name)) + def formfield(self, **kwargs): + defaults = {'form_class': forms.IntegerField} + defaults.update(kwargs) + return super(IntegerField, self).formfield(**defaults) class IPAddressField(Field): def __init__(self, *args, **kwargs): @@ -715,6 +810,13 @@ class NullBooleanField(Field): kwargs['null'] = True Field.__init__(self, *args, **kwargs) + def to_python(self, value): + if value in (None, True, False): return value + if value in ('None'): return None + if value in ('t', 'True', '1'): return True + if value in ('f', 'False', '0'): return False + raise validators.ValidationError, gettext("This value must be either None, True or False.") + def get_manipulator_field_objs(self): return [oldforms.NullBooleanField] @@ -725,6 +827,12 @@ class PhoneNumberField(IntegerField): def validate(self, field_data, all_data): validators.isValidPhone(field_data, all_data) + def formfield(self, **kwargs): + from django.contrib.localflavor.us.forms import USPhoneNumberField + defaults = {'form_class': USPhoneNumberField} + defaults.update(kwargs) + return super(PhoneNumberField, self).formfield(**defaults) + class PositiveIntegerField(IntegerField): def get_manipulator_field_objs(self): return [oldforms.PositiveIntegerField] @@ -738,7 +846,7 @@ class SlugField(Field): kwargs['maxlength'] = kwargs.get('maxlength', 50) kwargs.setdefault('validator_list', []).append(validators.isSlug) # Set db_index=True unless it's been set manually. - if not kwargs.has_key('db_index'): + if 'db_index' not in kwargs: kwargs['db_index'] = True Field.__init__(self, *args, **kwargs) @@ -753,6 +861,11 @@ class TextField(Field): def get_manipulator_field_objs(self): return [oldforms.LargeTextField] + def formfield(self, **kwargs): + defaults = {'widget': forms.Textarea} + defaults.update(kwargs) + return super(TextField, self).formfield(**defaults) + class TimeField(Field): empty_strings_allowed = False def __init__(self, verbose_name=None, name=None, auto_now=False, auto_now_add=False, **kwargs): @@ -781,7 +894,7 @@ class TimeField(Field): if value is not None: # MySQL will throw a warning if microseconds are given, because it # doesn't support microseconds. - if settings.DATABASE_ENGINE == 'mysql': + if settings.DATABASE_ENGINE == 'mysql' and hasattr(value, 'microsecond'): value = value.replace(microsecond=0) value = str(value) return Field.get_db_prep_save(self, value) @@ -793,26 +906,40 @@ class TimeField(Field): val = self._get_val_from_obj(obj) return {self.attname: (val is not None and val.strftime("%H:%M:%S") or '')} - def formfield(self): - return forms.TimeField(required=not self.blank, label=capfirst(self.verbose_name)) + def formfield(self, **kwargs): + defaults = {'form_class': forms.TimeField} + defaults.update(kwargs) + return super(TimeField, self).formfield(**defaults) -class URLField(Field): +class URLField(CharField): def __init__(self, verbose_name=None, name=None, verify_exists=True, **kwargs): + kwargs['maxlength'] = kwargs.get('maxlength', 200) if verify_exists: kwargs.setdefault('validator_list', []).append(validators.isExistingURL) self.verify_exists = verify_exists - Field.__init__(self, verbose_name, name, **kwargs) + CharField.__init__(self, verbose_name, name, **kwargs) def get_manipulator_field_objs(self): return [oldforms.URLField] - def formfield(self): - return forms.URLField(required=not self.blank, verify_exists=self.verify_exists, label=capfirst(self.verbose_name)) + def get_internal_type(self): + return "CharField" + + def formfield(self, **kwargs): + defaults = {'form_class': forms.URLField, 'verify_exists': self.verify_exists} + defaults.update(kwargs) + return super(URLField, self).formfield(**defaults) class USStateField(Field): def get_manipulator_field_objs(self): return [oldforms.USStateField] + def formfield(self, **kwargs): + from django.contrib.localflavor.us.forms import USStateSelect + defaults = {'widget': USStateSelect} + defaults.update(kwargs) + return super(USStateField, self).formfield(**defaults) + class XMLField(TextField): def __init__(self, verbose_name=None, name=None, schema_path=None, **kwargs): self.schema_path = schema_path diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py index 797ef05be1..0739d0461a 100644 --- a/django/db/models/fields/related.py +++ b/django/db/models/fields/related.py @@ -2,10 +2,12 @@ from django.db import backend, transaction from django.db.models import signals, get_model from django.db.models.fields import AutoField, Field, IntegerField, get_ul_class from django.db.models.related import RelatedObject +from django.utils.text import capfirst from django.utils.translation import gettext_lazy, string_concat, ngettext from django.utils.functional import curry from django.core import validators from django import oldforms +from django import newforms as forms from django.dispatch import dispatcher # For Python 2.3 @@ -314,18 +316,20 @@ def create_many_related_manager(superclass): # join_table: name of the m2m link table # source_col_name: the PK colname in join_table for the source object # target_col_name: the PK colname in join_table for the target object - # *objs - objects to add + # *objs - objects to add. Either object instances, or primary keys of object instances. from django.db import connection # If there aren't any objects, there is nothing to do. if objs: # Check that all the objects are of the right type + new_ids = set() for obj in objs: - if not isinstance(obj, self.model): - raise ValueError, "objects to add() must be %s instances" % self.model._meta.object_name + if isinstance(obj, self.model): + new_ids.add(obj._get_pk_val()) + else: + new_ids.add(obj) # Add the newly created or already existing objects to the join table. # First find out which items are already added, to avoid adding them twice - new_ids = set([obj._get_pk_val() for obj in objs]) cursor = connection.cursor() cursor.execute("SELECT %s FROM %s WHERE %s = %%s AND %s IN (%s)" % \ (target_col_name, self.join_table, source_col_name, @@ -352,14 +356,16 @@ def create_many_related_manager(superclass): # If there aren't any objects, there is nothing to do. if objs: # Check that all the objects are of the right type + old_ids = set() for obj in objs: - if not isinstance(obj, self.model): - raise ValueError, "objects to remove() must be %s instances" % self.model._meta.object_name + if isinstance(obj, self.model): + old_ids.add(obj._get_pk_val()) + else: + old_ids.add(obj) # Remove the specified objects from the join table - old_ids = set([obj._get_pk_val() for obj in objs]) cursor = connection.cursor() cursor.execute("DELETE FROM %s WHERE %s = %%s AND %s IN (%s)" % \ - (self.join_table, source_col_name, + (self.join_table, source_col_name, target_col_name, ",".join(['%s'] * len(old_ids))), [self._pk_val] + list(old_ids)) transaction.commit_unless_managed() @@ -468,7 +474,7 @@ class ForeignKey(RelatedField, Field): to_field = to_field or to._meta.pk.name kwargs['verbose_name'] = kwargs.get('verbose_name', '') - if kwargs.has_key('edit_inline_type'): + if 'edit_inline_type' in kwargs: import warnings warnings.warn("edit_inline_type is deprecated. Use edit_inline instead.") kwargs['edit_inline'] = kwargs.pop('edit_inline_type') @@ -546,6 +552,11 @@ class ForeignKey(RelatedField, Field): def contribute_to_related_class(self, cls, related): setattr(cls, related.get_accessor_name(), ForeignRelatedObjectsDescriptor(related)) + def formfield(self, **kwargs): + defaults = {'form_class': forms.ModelChoiceField, 'queryset': self.rel.to._default_manager.all()} + defaults.update(kwargs) + return super(ForeignKey, self).formfield(**defaults) + class OneToOneField(RelatedField, IntegerField): def __init__(self, to, to_field=None, **kwargs): try: @@ -556,7 +567,7 @@ class OneToOneField(RelatedField, IntegerField): to_field = to_field or to._meta.pk.name kwargs['verbose_name'] = kwargs.get('verbose_name', '') - if kwargs.has_key('edit_inline_type'): + if 'edit_inline_type' in kwargs: import warnings warnings.warn("edit_inline_type is deprecated. Use edit_inline instead.") kwargs['edit_inline'] = kwargs.pop('edit_inline_type') @@ -607,6 +618,11 @@ class OneToOneField(RelatedField, IntegerField): if not cls._meta.one_to_one_field: cls._meta.one_to_one_field = self + def formfield(self, **kwargs): + defaults = {'form_class': forms.ModelChoiceField, 'queryset': self.rel.to._default_manager.all()} + defaults.update(kwargs) + return super(OneToOneField, self).formfield(**defaults) + class ManyToManyField(RelatedField, Field): def __init__(self, to, **kwargs): kwargs['verbose_name'] = kwargs.get('verbose_name', None) @@ -617,6 +633,7 @@ class ManyToManyField(RelatedField, Field): limit_choices_to=kwargs.pop('limit_choices_to', None), raw_id_admin=kwargs.pop('raw_id_admin', False), symmetrical=kwargs.pop('symmetrical', True)) + self.db_table = kwargs.pop('db_table', None) if kwargs["rel"].raw_id_admin: kwargs.setdefault("validator_list", []).append(self.isValidIDList) Field.__init__(self, **kwargs) @@ -639,7 +656,10 @@ class ManyToManyField(RelatedField, Field): def _get_m2m_db_table(self, opts): "Function that can be curried to provide the m2m table name for this relation" - return '%s_%s' % (opts.db_table, self.name) + if self.db_table: + return self.db_table + else: + return '%s_%s' % (opts.db_table, self.name) def _get_m2m_column_name(self, related): "Function that can be curried to provide the source column name for the m2m table" @@ -713,6 +733,19 @@ class ManyToManyField(RelatedField, Field): def set_attributes_from_rel(self): pass + def value_from_object(self, obj): + "Returns the value of this field in the given model instance." + return getattr(obj, self.attname).all() + + def formfield(self, **kwargs): + defaults = {'form_class': forms.ModelMultipleChoiceField, 'queryset': self.rel.to._default_manager.all()} + defaults.update(kwargs) + # If initial is passed in, it's a list of related objects, but the + # MultipleChoiceField takes a list of IDs. + if defaults.get('initial') is not None: + defaults['initial'] = [i._get_pk_val() for i in defaults['initial']] + return super(ManyToManyField, self).formfield(**defaults) + class ManyToOneRel(object): def __init__(self, to, field_name, num_in_admin=3, min_num_in_admin=None, max_num_in_admin=None, num_extra_on_change=1, edit_inline=False, diff --git a/django/db/models/loading.py b/django/db/models/loading.py index f4aff2438b..224f5e8451 100644 --- a/django/db/models/loading.py +++ b/django/db/models/loading.py @@ -103,7 +103,7 @@ def register_models(app_label, *models): # in the _app_models dictionary model_name = model._meta.object_name.lower() model_dict = _app_models.setdefault(app_label, {}) - if model_dict.has_key(model_name): + if model_name in model_dict: # The same model may be imported via different paths (e.g. # appname.models and project.appname.models). We use the source # filename as a means to detect identity. diff --git a/django/db/models/manager.py b/django/db/models/manager.py index 6005874516..b60eed262a 100644 --- a/django/db/models/manager.py +++ b/django/db/models/manager.py @@ -1,4 +1,4 @@ -from django.db.models.query import QuerySet +from django.db.models.query import QuerySet, EmptyQuerySet from django.dispatch import dispatcher from django.db.models import signals from django.db.models.fields import FieldDoesNotExist @@ -41,12 +41,18 @@ class Manager(object): ####################### # PROXIES TO QUERYSET # ####################### + + def get_empty_query_set(self): + return EmptyQuerySet(self.model) def get_query_set(self): """Returns a new QuerySet object. Subclasses can override this method to easily customise the behaviour of the Manager. """ return QuerySet(self.model) + + def none(self): + return self.get_empty_query_set() def all(self): return self.get_query_set() diff --git a/django/db/models/manipulators.py b/django/db/models/manipulators.py index e9dfa7037c..d5fc5f725e 100644 --- a/django/db/models/manipulators.py +++ b/django/db/models/manipulators.py @@ -96,14 +96,16 @@ class AutomaticManipulator(oldforms.Manipulator): if self.change: params[self.opts.pk.attname] = self.obj_key - # First, save the basic object itself. + # First, create the basic object itself. new_object = self.model(**params) - new_object.save() - # Now that the object's been saved, save any uploaded files. + # Now that the object's been created, save any uploaded files. for f in self.opts.fields: if isinstance(f, FileField): - f.save_file(new_data, new_object, self.change and self.original_object or None, self.change, rel=False) + f.save_file(new_data, new_object, self.change and self.original_object or None, self.change, rel=False, save=False) + + # Now save the object + new_object.save() # Calculate which primary fields have changed. if self.change: diff --git a/django/db/models/options.py b/django/db/models/options.py index ee253ff451..556168e7d0 100644 --- a/django/db/models/options.py +++ b/django/db/models/options.py @@ -85,6 +85,7 @@ class Options(object): self.fields.insert(bisect(self.fields, field), field) if not self.pk and field.primary_key: self.pk = field + field.serialize = False def __repr__(self): return '' % self.object_name @@ -140,7 +141,7 @@ class Options(object): def get_follow(self, override=None): follow = {} for f in self.fields + self.many_to_many + self.get_all_related_objects(): - if override and override.has_key(f.name): + if override and f.name in override: child_override = override[f.name] else: child_override = None @@ -182,7 +183,7 @@ class Options(object): # TODO: follow if not hasattr(self, '_field_types'): self._field_types = {} - if not self._field_types.has_key(field_type): + if field_type not in self._field_types: try: # First check self.fields. for f in self.fields: diff --git a/django/db/models/query.py b/django/db/models/query.py index 53ed63ae5b..a6e702be18 100644 --- a/django/db/models/query.py +++ b/django/db/models/query.py @@ -1,8 +1,9 @@ from django.db import backend, connection, transaction from django.db.models.fields import DateField, FieldDoesNotExist -from django.db.models import signals +from django.db.models import signals, loading from django.dispatch import dispatcher from django.utils.datastructures import SortedDict +from django.contrib.contenttypes import generic import operator import re @@ -25,6 +26,9 @@ QUERY_TERMS = ( # Larger values are slightly faster at the expense of more storage space. GET_ITERATOR_CHUNK_SIZE = 100 +class EmptyResultSet(Exception): + pass + #################### # HELPER FUNCTIONS # #################### @@ -80,6 +84,7 @@ class QuerySet(object): self._filters = Q() self._order_by = None # Ordering, e.g. ('date', '-name'). If None, use model's ordering. self._select_related = False # Whether to fill cache for related objects. + self._max_related_depth = 0 # Maximum "depth" for select_related self._distinct = False # Whether the query should use SELECT DISTINCT. self._select = {} # Dictionary of attname -> SQL. self._where = [] # List of extra WHERE clauses to use. @@ -104,6 +109,8 @@ class QuerySet(object): def __getitem__(self, k): "Retrieve an item or slice from the set of results." + if not isinstance(k, (slice, int)): + raise TypeError assert (not isinstance(k, slice) and (k >= 0)) \ or (isinstance(k, slice) and (k.start is None or k.start >= 0) and (k.stop is None or k.stop >= 0)), \ "Negative indexing is not supported." @@ -163,12 +170,16 @@ class QuerySet(object): def iterator(self): "Performs the SELECT database lookup of this QuerySet." + try: + select, sql, params = self._get_sql_clause() + except EmptyResultSet: + raise StopIteration + # self._select is a dictionary, and dictionaries' key order is # undefined, so we convert it to a list of tuples. extra_select = self._select.items() cursor = connection.cursor() - select, sql, params = self._get_sql_clause() cursor.execute("SELECT " + (self._distinct and "DISTINCT " or "") + ",".join(select) + sql, params) fill_cache = self._select_related index_end = len(self.model._meta.fields) @@ -178,7 +189,8 @@ class QuerySet(object): raise StopIteration for row in rows: if fill_cache: - obj, index_end = get_cached_row(self.model, row, 0) + obj, index_end = get_cached_row(klass=self.model, row=row, + index_start=0, max_depth=self._max_related_depth) else: obj = self.model(*row[:index_end]) for i, k in enumerate(extra_select): @@ -186,13 +198,31 @@ class QuerySet(object): yield obj def count(self): - "Performs a SELECT COUNT() and returns the number of records as an integer." + """ + Performs a SELECT COUNT() and returns the number of records as an + integer. + + If the queryset is already cached (i.e. self._result_cache is set) this + simply returns the length of the cached results set to avoid multiple + SELECT COUNT(*) calls. + """ + if self._result_cache is not None: + return len(self._result_cache) + counter = self._clone() counter._order_by = () + counter._select_related = False + + offset = counter._offset + limit = counter._limit counter._offset = None counter._limit = None - counter._select_related = False - select, sql, params = counter._get_sql_clause() + + try: + select, sql, params = counter._get_sql_clause() + except EmptyResultSet: + return 0 + cursor = connection.cursor() if self._distinct: id_col = "%s.%s" % (backend.quote_name(self.model._meta.db_table), @@ -200,7 +230,16 @@ class QuerySet(object): cursor.execute("SELECT COUNT(DISTINCT(%s))" % id_col + sql, params) else: cursor.execute("SELECT COUNT(*)" + sql, params) - return cursor.fetchone()[0] + count = cursor.fetchone()[0] + + # Apply any offset and limit constraints manually, since using LIMIT or + # OFFSET in SQL doesn't change the output of COUNT. + if offset: + count = max(0, count - offset) + if limit: + count = min(limit, count) + + return count def get(self, *args, **kwargs): "Performs the SELECT and returns a single object matching the given keyword arguments." @@ -359,9 +398,9 @@ class QuerySet(object): else: return self._filter_or_exclude(None, **filter_obj) - def select_related(self, true_or_false=True): + def select_related(self, true_or_false=True, depth=0): "Returns a new QuerySet instance with '_select_related' modified." - return self._clone(_select_related=true_or_false) + return self._clone(_select_related=true_or_false, _max_related_depth=depth) def order_by(self, *field_names): "Returns a new QuerySet instance with the ordering changed." @@ -395,6 +434,7 @@ class QuerySet(object): c._filters = self._filters c._order_by = self._order_by c._select_related = self._select_related + c._max_related_depth = self._max_related_depth c._distinct = self._distinct c._select = self._select.copy() c._where = self._where[:] @@ -448,7 +488,10 @@ class QuerySet(object): # Add additional tables and WHERE clauses based on select_related. if self._select_related: - fill_table_cache(opts, select, tables, where, opts.db_table, [opts.db_table]) + fill_table_cache(opts, select, tables, where, + old_prefix=opts.db_table, + cache_tables_seen=[opts.db_table], + max_depth=self._max_related_depth) # Add any additional SELECTs. if self._select: @@ -509,22 +552,42 @@ class QuerySet(object): return select, " ".join(sql), params class ValuesQuerySet(QuerySet): - def iterator(self): - # select_related and select aren't supported in values(). + def __init__(self, *args, **kwargs): + super(ValuesQuerySet, self).__init__(*args, **kwargs) + # select_related isn't supported in values(). self._select_related = False - self._select = {} + + def iterator(self): + try: + select, sql, params = self._get_sql_clause() + except EmptyResultSet: + raise StopIteration # self._fields is a list of field names to fetch. if self._fields: - columns = [self.model._meta.get_field(f, many_to_many=False).column for f in self._fields] + #columns = [self.model._meta.get_field(f, many_to_many=False).column for f in self._fields] + if not self._select: + columns = [self.model._meta.get_field(f, many_to_many=False).column for f in self._fields] + else: + columns = [] + for f in self._fields: + if f in [field.name for field in self.model._meta.fields]: + columns.append( self.model._meta.get_field(f, many_to_many=False).column ) + elif not self._select.has_key( f ): + raise FieldDoesNotExist, '%s has no field named %r' % ( self.model._meta.object_name, f ) + field_names = self._fields else: # Default to all fields. columns = [f.column for f in self.model._meta.fields] field_names = [f.attname for f in self.model._meta.fields] - cursor = connection.cursor() - select, sql, params = self._get_sql_clause() select = ['%s.%s' % (backend.quote_name(self.model._meta.db_table), backend.quote_name(c)) for c in columns] + + # Add any additional SELECTs. + if self._select: + select.extend(['(%s) AS %s' % (quote_only_if_word(s[1]), backend.quote_name(s[0])) for s in self._select.items()]) + + cursor = connection.cursor() cursor.execute("SELECT " + (self._distinct and "DISTINCT " or "") + ",".join(select) + sql, params) while 1: rows = cursor.fetchmany(GET_ITERATOR_CHUNK_SIZE) @@ -545,7 +608,12 @@ class DateQuerySet(QuerySet): if self._field.null: self._where.append('%s.%s IS NOT NULL' % \ (backend.quote_name(self.model._meta.db_table), backend.quote_name(self._field.column))) - select, sql, params = self._get_sql_clause() + + try: + select, sql, params = self._get_sql_clause() + except EmptyResultSet: + raise StopIteration + sql = 'SELECT %s %s GROUP BY 1 ORDER BY 1 %s' % \ (backend.get_date_trunc_sql(self._kind, '%s.%s' % (backend.quote_name(self.model._meta.db_table), backend.quote_name(self._field.column))), sql, self._order) @@ -563,6 +631,25 @@ class DateQuerySet(QuerySet): c._order = self._order return c +class EmptyQuerySet(QuerySet): + def __init__(self, model=None): + super(EmptyQuerySet, self).__init__(model) + self._result_cache = [] + + def count(self): + return 0 + + def delete(self): + pass + + def _clone(self, klass=None, **kwargs): + c = super(EmptyQuerySet, self)._clone(klass, **kwargs) + c._result_cache = [] + return c + + def _get_sql_clause(self): + raise EmptyResultSet + class QOperator(object): "Base class for QAnd and QOr" def __init__(self, *args): @@ -571,10 +658,14 @@ class QOperator(object): def get_sql(self, opts): joins, where, params = SortedDict(), [], [] for val in self.args: - joins2, where2, params2 = val.get_sql(opts) - joins.update(joins2) - where.extend(where2) - params.extend(params2) + try: + joins2, where2, params2 = val.get_sql(opts) + joins.update(joins2) + where.extend(where2) + params.extend(params2) + except EmptyResultSet: + if not isinstance(self, QOr): + raise EmptyResultSet if where: return joins, ['(%s)' % self.operator.join(where)], params return joins, [], params @@ -628,8 +719,11 @@ class QNot(Q): self.q = q def get_sql(self, opts): - joins, where, params = self.q.get_sql(opts) - where2 = ['(NOT (%s))' % " AND ".join(where)] + try: + joins, where, params = self.q.get_sql(opts) + where2 = ['(NOT (%s))' % " AND ".join(where)] + except EmptyResultSet: + return SortedDict(), [], [] return joins, where2, params def get_where_clause(lookup_type, table_prefix, field_name, value): @@ -641,10 +735,14 @@ def get_where_clause(lookup_type, table_prefix, field_name, value): except KeyError: pass if lookup_type == 'in': - return '%s%s IN (%s)' % (table_prefix, field_name, ','.join(['%s' for v in value])) - elif lookup_type == 'range': + in_string = ','.join(['%s' for id in value]) + if in_string: + return '%s%s IN (%s)' % (table_prefix, field_name, in_string) + else: + raise EmptyResultSet + elif lookup_type in ('range', 'year'): return '%s%s BETWEEN %%s AND %%s' % (table_prefix, field_name) - elif lookup_type in ('year', 'month', 'day'): + elif lookup_type in ('month', 'day'): return "%s = %%s" % backend.get_date_extract_sql(lookup_type, table_prefix + field_name) elif lookup_type == 'isnull': return "%s%s IS %sNULL" % (table_prefix, field_name, (not value and 'NOT ' or '')) @@ -652,21 +750,33 @@ def get_where_clause(lookup_type, table_prefix, field_name, value): return backend.get_fulltext_search_sql(table_prefix + field_name) raise TypeError, "Got invalid lookup_type: %s" % repr(lookup_type) -def get_cached_row(klass, row, index_start): - "Helper function that recursively returns an object with cache filled" +def get_cached_row(klass, row, index_start, max_depth=0, cur_depth=0): + """Helper function that recursively returns an object with cache filled""" + + # If we've got a max_depth set and we've exceeded that depth, bail now. + if max_depth and cur_depth > max_depth: + return None + index_end = index_start + len(klass._meta.fields) obj = klass(*row[index_start:index_end]) for f in klass._meta.fields: if f.rel and not f.null: - rel_obj, index_end = get_cached_row(f.rel.to, row, index_end) - setattr(obj, f.get_cache_name(), rel_obj) + cached_row = get_cached_row(f.rel.to, row, index_end, max_depth, cur_depth+1) + if cached_row: + rel_obj, index_end = cached_row + setattr(obj, f.get_cache_name(), rel_obj) return obj, index_end -def fill_table_cache(opts, select, tables, where, old_prefix, cache_tables_seen): +def fill_table_cache(opts, select, tables, where, old_prefix, cache_tables_seen, max_depth=0, cur_depth=0): """ Helper function that recursively populates the select, tables and where (in place) for select_related queries. """ + + # If we've got a max_depth set and we've exceeded that depth, bail now. + if max_depth and cur_depth > max_depth: + return None + qn = backend.quote_name for f in opts.fields: if f.rel and not f.null: @@ -681,12 +791,12 @@ def fill_table_cache(opts, select, tables, where, old_prefix, cache_tables_seen) where.append('%s.%s = %s.%s' % \ (qn(old_prefix), qn(f.column), qn(db_table), qn(f.rel.get_related_field().column))) select.extend(['%s.%s' % (qn(db_table), qn(f2.column)) for f2 in f.rel.to._meta.fields]) - fill_table_cache(f.rel.to._meta, select, tables, where, db_table, cache_tables_seen) + fill_table_cache(f.rel.to._meta, select, tables, where, db_table, cache_tables_seen, max_depth, cur_depth+1) def parse_lookup(kwarg_items, opts): # Helper function that handles converting API kwargs # (e.g. "name__exact": "tom") to SQL. - # Returns a tuple of (tables, joins, where, params). + # Returns a tuple of (joins, where, params). # 'joins' is a sorted dictionary describing the tables that must be joined # to complete the query. The dictionary is sorted because creation order @@ -725,12 +835,14 @@ def parse_lookup(kwarg_items, opts): if len(path) < 1: raise TypeError, "Cannot parse keyword query %r" % kwarg - + if value is None: # Interpret '__exact=None' as the sql '= NULL'; otherwise, reject # all uses of None as a query value. if lookup_type != 'exact': raise ValueError, "Cannot use None as a query value" + elif callable(value): + value = value() joins2, where2, params2 = lookup_inner(path, lookup_type, value, opts, opts.db_table, None) joins.update(joins2) @@ -755,6 +867,13 @@ def find_field(name, field_list, related_query): return None return matches[0] +def field_choices(field_list, related_query): + if related_query: + choices = [f.field.related_query_name() for f in field_list] + else: + choices = [f.name for f in field_list] + return choices + def lookup_inner(path, lookup_type, value, opts, table, column): qn = backend.quote_name joins, where, params = SortedDict(), [], [] @@ -827,13 +946,23 @@ def lookup_inner(path, lookup_type, value, opts, table, column): new_opts = field.rel.to._meta new_column = new_opts.pk.column join_column = field.column - - raise FieldFound + raise FieldFound + elif path: + # For regular fields, if there are still items on the path, + # an error has been made. We munge "name" so that the error + # properly identifies the cause of the problem. + name += LOOKUP_SEPARATOR + path[0] + else: + raise FieldFound except FieldFound: # Match found, loop has been shortcut. pass else: # No match found. - raise TypeError, "Cannot resolve keyword '%s' into field" % name + choices = field_choices(current_opts.many_to_many, False) + \ + field_choices(current_opts.get_all_related_many_to_many_objects(), True) + \ + field_choices(current_opts.get_all_related_objects(), True) + \ + field_choices(current_opts.fields, False) + raise TypeError, "Cannot resolve keyword '%s' into field. Choices are: %s" % (name, ", ".join(choices)) # Check whether an intermediate join is required between current_table # and new_table. @@ -926,18 +1055,26 @@ def delete_objects(seen_objs): pk_list = [pk for pk,instance in seen_objs[cls]] for related in cls._meta.get_all_related_many_to_many_objects(): - for offset in range(0, len(pk_list), GET_ITERATOR_CHUNK_SIZE): - cursor.execute("DELETE FROM %s WHERE %s IN (%s)" % \ - (qn(related.field.m2m_db_table()), - qn(related.field.m2m_reverse_name()), - ','.join(['%s' for pk in pk_list[offset:offset+GET_ITERATOR_CHUNK_SIZE]])), - pk_list[offset:offset+GET_ITERATOR_CHUNK_SIZE]) + if not isinstance(related.field, generic.GenericRelation): + for offset in range(0, len(pk_list), GET_ITERATOR_CHUNK_SIZE): + cursor.execute("DELETE FROM %s WHERE %s IN (%s)" % \ + (qn(related.field.m2m_db_table()), + qn(related.field.m2m_reverse_name()), + ','.join(['%s' for pk in pk_list[offset:offset+GET_ITERATOR_CHUNK_SIZE]])), + pk_list[offset:offset+GET_ITERATOR_CHUNK_SIZE]) for f in cls._meta.many_to_many: + if isinstance(f, generic.GenericRelation): + from django.contrib.contenttypes.models import ContentType + query_extra = 'AND %s=%%s' % f.rel.to._meta.get_field(f.content_type_field_name).column + args_extra = [ContentType.objects.get_for_model(cls).id] + else: + query_extra = '' + args_extra = [] for offset in range(0, len(pk_list), GET_ITERATOR_CHUNK_SIZE): - cursor.execute("DELETE FROM %s WHERE %s IN (%s)" % \ + cursor.execute(("DELETE FROM %s WHERE %s IN (%s)" % \ (qn(f.m2m_db_table()), qn(f.m2m_column_name()), - ','.join(['%s' for pk in pk_list[offset:offset+GET_ITERATOR_CHUNK_SIZE]])), - pk_list[offset:offset+GET_ITERATOR_CHUNK_SIZE]) + ','.join(['%s' for pk in pk_list[offset:offset+GET_ITERATOR_CHUNK_SIZE]]))) + query_extra, + pk_list[offset:offset+GET_ITERATOR_CHUNK_SIZE] + args_extra) for field in cls._meta.fields: if field.rel and field.null and field.rel.to in seen_objs: for offset in range(0, len(pk_list), GET_ITERATOR_CHUNK_SIZE): diff --git a/django/db/models/related.py b/django/db/models/related.py index ac1ec50ca2..2c1dc5c516 100644 --- a/django/db/models/related.py +++ b/django/db/models/related.py @@ -1,7 +1,7 @@ class BoundRelatedObject(object): def __init__(self, related_object, field_mapping, original): self.relation = related_object - self.field_mappings = field_mapping[related_object.opts.module_name] + self.field_mappings = field_mapping[related_object.name] def template_name(self): raise NotImplementedError @@ -16,7 +16,7 @@ class RelatedObject(object): self.opts = model._meta self.field = field self.edit_inline = field.rel.edit_inline - self.name = self.opts.module_name + self.name = '%s:%s' % (self.opts.app_label, self.opts.module_name) self.var_name = self.opts.object_name.lower() def flatten_data(self, follow, obj=None): @@ -68,7 +68,10 @@ class RelatedObject(object): # object return [attr] else: - return [None] * self.field.rel.num_in_admin + if self.field.rel.min_num_in_admin: + return [None] * max(self.field.rel.num_in_admin, self.field.rel.min_num_in_admin) + else: + return [None] * self.field.rel.num_in_admin def get_db_prep_lookup(self, lookup_type, value): # Defer to the actual field definition for db prep @@ -101,12 +104,12 @@ class RelatedObject(object): attr = getattr(manipulator.original_object, self.get_accessor_name()) count = attr.count() count += self.field.rel.num_extra_on_change - if self.field.rel.min_num_in_admin: - count = max(count, self.field.rel.min_num_in_admin) - if self.field.rel.max_num_in_admin: - count = min(count, self.field.rel.max_num_in_admin) else: count = self.field.rel.num_in_admin + if self.field.rel.min_num_in_admin: + count = max(count, self.field.rel.min_num_in_admin) + if self.field.rel.max_num_in_admin: + count = min(count, self.field.rel.max_num_in_admin) else: count = 1 diff --git a/django/db/transaction.py b/django/db/transaction.py index 4a0658e1c3..bb90713525 100644 --- a/django/db/transaction.py +++ b/django/db/transaction.py @@ -46,12 +46,12 @@ def enter_transaction_management(): when no current block is running). """ thread_ident = thread.get_ident() - if state.has_key(thread_ident) and state[thread_ident]: + if thread_ident in state and state[thread_ident]: state[thread_ident].append(state[thread_ident][-1]) else: state[thread_ident] = [] state[thread_ident].append(settings.TRANSACTIONS_MANAGED) - if not dirty.has_key(thread_ident): + if thread_ident not in dirty: dirty[thread_ident] = False def leave_transaction_management(): @@ -61,7 +61,7 @@ def leave_transaction_management(): those from outside. (Commits are on connection level.) """ thread_ident = thread.get_ident() - if state.has_key(thread_ident) and state[thread_ident]: + if thread_ident in state and state[thread_ident]: del state[thread_ident][-1] else: raise TransactionManagementError("This code isn't under transaction management") @@ -84,7 +84,7 @@ def set_dirty(): changes waiting for commit. """ thread_ident = thread.get_ident() - if dirty.has_key(thread_ident): + if thread_ident in dirty: dirty[thread_ident] = True else: raise TransactionManagementError("This code isn't under transaction management") @@ -96,7 +96,7 @@ def set_clean(): should happen. """ thread_ident = thread.get_ident() - if dirty.has_key(thread_ident): + if thread_ident in dirty: dirty[thread_ident] = False else: raise TransactionManagementError("This code isn't under transaction management") @@ -106,7 +106,7 @@ def is_managed(): Checks whether the transaction manager is in manual or in auto state. """ thread_ident = thread.get_ident() - if state.has_key(thread_ident): + if thread_ident in state: if state[thread_ident]: return state[thread_ident][-1] return settings.TRANSACTIONS_MANAGED diff --git a/django/dispatch/dispatcher.py b/django/dispatch/dispatcher.py index 1a617b5946..029c59fd3f 100644 --- a/django/dispatch/dispatcher.py +++ b/django/dispatch/dispatcher.py @@ -25,7 +25,6 @@ Internal attributes: deletion, (considerably speeds up the cleanup process vs. the original code.) """ -from __future__ import generators import types, weakref from django.dispatch import saferef, robustapply, errors @@ -33,11 +32,6 @@ __author__ = "Patrick K. O'Brien " __cvsid__ = "$Id: dispatcher.py,v 1.9 2005/09/17 04:55:57 mcfletch Exp $" __version__ = "$Revision: 1.9 $"[11:-2] -try: - True -except NameError: - True = 1==1 - False = 1==0 class _Parameter: """Used to represent default parameter values.""" @@ -140,10 +134,9 @@ def connect(receiver, signal=Any, sender=Any, weak=True): if weak: receiver = saferef.safeRef(receiver, onDelete=_removeReceiver) senderkey = id(sender) - if connections.has_key(senderkey): - signals = connections[senderkey] - else: - connections[senderkey] = signals = {} + + signals = connections.setdefault(senderkey, {}) + # Keep track of senders for cleanup. # Is Anonymous something we want to clean up? if sender not in (None, Anonymous, Any): @@ -251,10 +244,10 @@ def getReceivers( sender = Any, signal = Any ): to retrieve the actual receiver objects as an iterable object. """ - try: - return connections[id(sender)][signal] - except KeyError: - return [] + existing = connections.get(id(sender)) + if existing is not None: + return existing.get(signal, []) + return [] def liveReceivers(receivers): """Filter sequence of receivers to get resolved, live receivers @@ -278,30 +271,48 @@ def liveReceivers(receivers): def getAllReceivers( sender = Any, signal = Any ): """Get list of all receivers from global tables - This gets all receivers which should receive + This gets all dereferenced receivers which should receive the given signal from sender, each receiver should be produced only once by the resulting generator """ receivers = {} - for set in ( - # Get receivers that receive *this* signal from *this* sender. - getReceivers( sender, signal ), - # Add receivers that receive *any* signal from *this* sender. - getReceivers( sender, Any ), - # Add receivers that receive *this* signal from *any* sender. - getReceivers( Any, signal ), - # Add receivers that receive *any* signal from *any* sender. - getReceivers( Any, Any ), - ): - for receiver in set: - if receiver: # filter out dead instance-method weakrefs - try: - if not receivers.has_key( receiver ): - receivers[receiver] = 1 - yield receiver - except TypeError: - # dead weakrefs raise TypeError on hash... - pass + # Get receivers that receive *this* signal from *this* sender. + # Add receivers that receive *any* signal from *this* sender. + # Add receivers that receive *this* signal from *any* sender. + # Add receivers that receive *any* signal from *any* sender. + l = [] + i = id(sender) + if i in connections: + sender_receivers = connections[i] + if signal in sender_receivers: + l.extend(sender_receivers[signal]) + if signal is not Any and Any in sender_receivers: + l.extend(sender_receivers[Any]) + + if sender is not Any: + i = id(Any) + if i in connections: + sender_receivers = connections[i] + if sender_receivers is not None: + if signal in sender_receivers: + l.extend(sender_receivers[signal]) + if signal is not Any and Any in sender_receivers: + l.extend(sender_receivers[Any]) + + for receiver in l: + try: + if not receiver in receivers: + if isinstance(receiver, WEAKREF_TYPES): + receiver = receiver() + # this should only (rough guess) be possible if somehow, deref'ing + # triggered a wipe. + if receiver is None: + continue + receivers[receiver] = 1 + yield receiver + except TypeError: + # dead weakrefs raise TypeError on hash... + pass def send(signal=Any, sender=Anonymous, *arguments, **named): """Send signal from sender to all connected receivers. @@ -340,7 +351,7 @@ def send(signal=Any, sender=Anonymous, *arguments, **named): # Call each receiver with whatever arguments it can accept. # Return a list of tuple pairs [(receiver, response), ... ]. responses = [] - for receiver in liveReceivers(getAllReceivers(sender, signal)): + for receiver in getAllReceivers(sender, signal): response = robustapply.robustApply( receiver, signal=signal, @@ -350,6 +361,8 @@ def send(signal=Any, sender=Anonymous, *arguments, **named): ) responses.append((receiver, response)) return responses + + def sendExact( signal=Any, sender=Anonymous, *arguments, **named ): """Send signal only to those receivers registered for exact message @@ -421,33 +434,18 @@ def _cleanupConnections(senderkey, signal): def _removeSender(senderkey): """Remove senderkey from connections.""" _removeBackrefs(senderkey) - try: - del connections[senderkey] - except KeyError: - pass - # Senderkey will only be in senders dictionary if sender - # could be weakly referenced. - try: - del senders[senderkey] - except: - pass + + connections.pop(senderkey, None) + senders.pop(senderkey, None) def _removeBackrefs( senderkey): """Remove all back-references to this senderkey""" - try: - signals = connections[senderkey] - except KeyError: - signals = None - else: - items = signals.items() - def allReceivers( ): - for signal,set in items: - for item in set: - yield item - for receiver in allReceivers(): + for receiver_list in connections.pop(senderkey, {}).values(): + for receiver in receiver_list: _killBackref( receiver, senderkey ) + def _removeOldBackRefs(senderkey, signal, receiver, receivers): """Kill old sendersBack references from receiver @@ -483,13 +481,13 @@ def _removeOldBackRefs(senderkey, signal, receiver, receivers): def _killBackref( receiver, senderkey ): """Do the actual removal of back reference from receiver to senderkey""" receiverkey = id(receiver) - set = sendersBack.get( receiverkey, () ) - while senderkey in set: + receivers_list = sendersBack.get( receiverkey, () ) + while senderkey in receivers_list: try: - set.remove( senderkey ) + receivers_list.remove( senderkey ) except: break - if not set: + if not receivers_list: try: del sendersBack[ receiverkey ] except KeyError: diff --git a/django/http/__init__.py b/django/http/__init__.py index 48f10329fd..a8c8afe433 100644 --- a/django/http/__init__.py +++ b/django/http/__init__.py @@ -29,12 +29,12 @@ class HttpRequest(object): def __getitem__(self, key): for d in (self.POST, self.GET): - if d.has_key(key): + if key in d: return d[key] raise KeyError, "%s not found in either POST or GET" % key def has_key(self, key): - return self.GET.has_key(key) or self.POST.has_key(key) + return key in self.GET or key in self.POST def get_full_path(self): return '' @@ -52,12 +52,12 @@ def parse_file_upload(header_dict, post_data): POST = MultiValueDict() FILES = MultiValueDict() for submessage in msg.get_payload(): - if isinstance(submessage, email.Message.Message): + if submessage and isinstance(submessage, email.Message.Message): name_dict = parse_header(submessage['Content-Disposition'])[1] # name_dict is something like {'name': 'file', 'filename': 'test.txt'} for file uploads # or {'name': 'blah'} for POST fields # We assume all uploaded files have a 'filename' set. - if name_dict.has_key('filename'): + if 'filename' in name_dict: assert type([]) != type(submessage.get_payload()), "Nested MIME messages are not supported" if not name_dict['filename'].strip(): continue @@ -66,7 +66,7 @@ def parse_file_upload(header_dict, post_data): filename = name_dict['filename'][name_dict['filename'].rfind("\\")+1:] FILES.appendlist(name_dict['name'], { 'filename': filename, - 'content-type': (submessage.has_key('Content-Type') and submessage['Content-Type'] or None), + 'content-type': 'Content-Type' in submessage and submessage['Content-Type'] or None, 'content': submessage.get_payload(), }) else: @@ -91,6 +91,10 @@ class QueryDict(MultiValueDict): self._assert_mutable() MultiValueDict.__setitem__(self, key, value) + def __delitem__(self, key): + self._assert_mutable() + super(QueryDict, self).__delitem__(key) + def __copy__(self): result = self.__class__('', mutable=True) for key, value in dict.items(self): @@ -117,9 +121,9 @@ class QueryDict(MultiValueDict): self._assert_mutable() MultiValueDict.update(self, other_dict) - def pop(self, key): + def pop(self, key, *args): self._assert_mutable() - return MultiValueDict.pop(self, key) + return MultiValueDict.pop(self, key, *args) def popitem(self): self._assert_mutable() @@ -155,12 +159,15 @@ def parse_cookie(cookie): class HttpResponse(object): "A basic HTTP response, with content and dictionary-accessed headers" + + status_code = 200 + def __init__(self, content='', mimetype=None): from django.conf import settings self._charset = settings.DEFAULT_CHARSET if not mimetype: mimetype = "%s; charset=%s" % (settings.DEFAULT_CONTENT_TYPE, settings.DEFAULT_CHARSET) - if hasattr(content, '__iter__'): + if not isinstance(content, basestring) and hasattr(content, '__iter__'): self._container = content self._is_string = False else: @@ -168,7 +175,6 @@ class HttpResponse(object): self._is_string = True self.headers = {'Content-Type': mimetype} self.cookies = SimpleCookie() - self.status_code = 200 def __str__(self): "Full HTTP message, including headers" @@ -216,6 +222,12 @@ class HttpResponse(object): content = ''.join(self._container) if isinstance(content, unicode): content = content.encode(self._charset) + + # If self._container was an iterator, we have just exhausted it, so we + # need to save the results for anything else that needs access + if not self._is_string: + self._container = [content] + self._is_string = True return content def _set_content(self, value): @@ -225,14 +237,10 @@ class HttpResponse(object): content = property(_get_content, _set_content) def __iter__(self): - self._iterator = self._container.__iter__() - return self - - def next(self): - chunk = self._iterator.next() - if isinstance(chunk, unicode): - chunk = chunk.encode(self._charset) - return chunk + for chunk in self._container: + if isinstance(chunk, unicode): + chunk = chunk.encode(self._charset) + yield chunk def close(self): if hasattr(self._container, 'close'): @@ -254,47 +262,49 @@ class HttpResponse(object): return sum([len(chunk) for chunk in self._container]) class HttpResponseRedirect(HttpResponse): + status_code = 302 + def __init__(self, redirect_to): HttpResponse.__init__(self) self['Location'] = quote(redirect_to, safe=RESERVED_CHARS) - self.status_code = 302 class HttpResponsePermanentRedirect(HttpResponse): + status_code = 301 + def __init__(self, redirect_to): HttpResponse.__init__(self) self['Location'] = quote(redirect_to, safe=RESERVED_CHARS) - self.status_code = 301 class HttpResponseNotModified(HttpResponse): - def __init__(self): - HttpResponse.__init__(self) - self.status_code = 304 + status_code = 304 + +class HttpResponseBadRequest(HttpResponse): + status_code = 400 class HttpResponseNotFound(HttpResponse): - def __init__(self, *args, **kwargs): - HttpResponse.__init__(self, *args, **kwargs) - self.status_code = 404 + status_code = 404 class HttpResponseForbidden(HttpResponse): - def __init__(self, *args, **kwargs): - HttpResponse.__init__(self, *args, **kwargs) - self.status_code = 403 + status_code = 403 class HttpResponseNotAllowed(HttpResponse): + status_code = 405 + def __init__(self, permitted_methods): HttpResponse.__init__(self) self['Allow'] = ', '.join(permitted_methods) - self.status_code = 405 class HttpResponseGone(HttpResponse): + status_code = 410 + def __init__(self, *args, **kwargs): HttpResponse.__init__(self, *args, **kwargs) - self.status_code = 410 class HttpResponseServerError(HttpResponse): + status_code = 500 + def __init__(self, *args, **kwargs): HttpResponse.__init__(self, *args, **kwargs) - self.status_code = 500 def get_host(request): "Gets the HTTP host from the environment or request headers." diff --git a/django/middleware/cache.py b/django/middleware/cache.py index 58800b24da..a88b4956b2 100644 --- a/django/middleware/cache.py +++ b/django/middleware/cache.py @@ -10,7 +10,7 @@ class CacheMiddleware(object): Only parameter-less GET or HEAD-requests with status code 200 are cached. If CACHE_MIDDLEWARE_ANONYMOUS_ONLY is set to True, only anonymous requests - (i.e., those node made by a logged-in user) will be cached. This is a + (i.e., those not made by a logged-in user) will be cached. This is a simple and effective way of avoiding the caching of the Django admin (and any other user-specific content). diff --git a/django/middleware/common.py b/django/middleware/common.py index 6283214fad..9610e1e952 100644 --- a/django/middleware/common.py +++ b/django/middleware/common.py @@ -11,7 +11,8 @@ class CommonMiddleware(object): - Forbids access to User-Agents in settings.DISALLOWED_USER_AGENTS - URL rewriting: Based on the APPEND_SLASH and PREPEND_WWW settings, - this middleware appends missing slashes and/or prepends missing "www."s. + this middleware appends missing slashes and/or prepends missing + "www."s. - ETags: If the USE_ETAGS setting is set, ETags will be calculated from the entire page content and Not Modified responses will be returned @@ -25,7 +26,7 @@ class CommonMiddleware(object): """ # Check for denied User-Agents - if request.META.has_key('HTTP_USER_AGENT'): + if 'HTTP_USER_AGENT' in request.META: for user_agent_regex in settings.DISALLOWED_USER_AGENTS: if user_agent_regex.search(request.META['HTTP_USER_AGENT']): return http.HttpResponseForbidden('

                                                                                          Forbidden

                                                                                          ') @@ -66,14 +67,19 @@ class CommonMiddleware(object): path = request.get_full_path() if referer and not _is_ignorable_404(path) and (is_internal or '?' not in referer): ua = request.META.get('HTTP_USER_AGENT', '') + ip = request.META.get('REMOTE_ADDR', '') mail_managers("Broken %slink on %s" % ((is_internal and 'INTERNAL ' or ''), domain), - "Referrer: %s\nRequested URL: %s\nUser agent: %s\n" % (referer, request.get_full_path(), ua)) + "Referrer: %s\nRequested URL: %s\nUser agent: %s\nIP address: %s\n" \ + % (referer, request.get_full_path(), ua, ip)) return response # Use ETags, if requested. if settings.USE_ETAGS: - etag = md5.new(response.content).hexdigest() - if request.META.get('HTTP_IF_NONE_MATCH') == etag: + if response.has_header('ETag'): + etag = response['ETag'] + else: + etag = md5.new(response.content).hexdigest() + if response.status_code >= 200 and response.status_code < 300 and request.META.get('HTTP_IF_NONE_MATCH') == etag: response = http.HttpResponseNotModified() else: response['ETag'] = etag diff --git a/django/newforms/extras/widgets.py b/django/newforms/extras/widgets.py index 1011934fb8..724dcd9b50 100644 --- a/django/newforms/extras/widgets.py +++ b/django/newforms/extras/widgets.py @@ -2,9 +2,10 @@ Extra HTML Widget classes """ +import datetime + from django.newforms.widgets import Widget, Select from django.utils.dates import MONTHS -import datetime __all__ = ('SelectDateWidget',) diff --git a/django/newforms/fields.py b/django/newforms/fields.py index 5c6d46ddac..b73dd181e6 100644 --- a/django/newforms/fields.py +++ b/django/newforms/fields.py @@ -2,21 +2,25 @@ Field classes """ -from django.utils.translation import gettext -from util import ValidationError, smart_unicode -from widgets import TextInput, PasswordInput, CheckboxInput, Select, SelectMultiple import datetime import re import time +from django.utils.translation import gettext +from django.utils.encoding import smart_unicode + +from util import ErrorList, ValidationError +from widgets import TextInput, PasswordInput, HiddenInput, MultipleHiddenInput, CheckboxInput, Select, NullBooleanSelect, SelectMultiple + __all__ = ( 'Field', 'CharField', 'IntegerField', 'DEFAULT_DATE_INPUT_FORMATS', 'DateField', 'DEFAULT_TIME_INPUT_FORMATS', 'TimeField', 'DEFAULT_DATETIME_INPUT_FORMATS', 'DateTimeField', 'RegexField', 'EmailField', 'URLField', 'BooleanField', - 'ChoiceField', 'MultipleChoiceField', - 'ComboField', + 'ChoiceField', 'NullBooleanField', 'MultipleChoiceField', + 'ComboField', 'MultiValueField', 'FloatField', 'DecimalField', + 'SplitDateTimeField', ) # These values, if given to to_python(), will trigger the self.required check. @@ -27,16 +31,36 @@ try: except NameError: from sets import Set as set # Python 2.3 fallback +try: + from decimal import Decimal +except ImportError: + from django.utils._decimal import Decimal # Python 2.3 fallback + class Field(object): widget = TextInput # Default widget to use when rendering this type of Field. + hidden_widget = HiddenInput # Default widget to use when rendering this as "hidden". # Tracks each time a Field instance is created. Used to retain order. creation_counter = 0 - def __init__(self, required=True, widget=None, label=None): + def __init__(self, required=True, widget=None, label=None, initial=None, help_text=None): + # required -- Boolean that specifies whether the field is required. + # True by default. + # widget -- A Widget class, or instance of a Widget class, that should + # be used for this Field when displaying it. Each Field has a + # default Widget that it'll use if you don't specify this. In + # most cases, the default widget is TextInput. + # label -- A verbose name for this field, for use in displaying this + # field in a form. By default, Django will use a "pretty" + # version of the form field name, if the Field is part of a + # Form. + # initial -- A value to use in this Field's initial display. This value + # is *not* used as a fallback if data isn't given. + # help_text -- An optional string to use as "help text" for this Field. if label is not None: label = smart_unicode(label) - self.required, self.label = required, label + self.required, self.label, self.initial = required, label, initial + self.help_text = smart_unicode(help_text or '') widget = widget or self.widget if isinstance(widget, type): widget = widget() @@ -72,17 +96,15 @@ class Field(object): return {} class CharField(Field): - def __init__(self, max_length=None, min_length=None, required=True, widget=None, label=None): + def __init__(self, max_length=None, min_length=None, *args, **kwargs): self.max_length, self.min_length = max_length, min_length - Field.__init__(self, required, widget, label) + super(CharField, self).__init__(*args, **kwargs) def clean(self, value): "Validates max_length and min_length. Returns a Unicode object." - Field.clean(self, value) + super(CharField, self).clean(value) if value in EMPTY_VALUES: - value = u'' - if not self.required: - return value + return u'' value = smart_unicode(value) if self.max_length is not None and len(value) > self.max_length: raise ValidationError(gettext(u'Ensure this value has at most %d characters.') % self.max_length) @@ -95,18 +117,18 @@ class CharField(Field): return {'maxlength': str(self.max_length)} class IntegerField(Field): - def __init__(self, max_value=None, min_value=None, required=True, widget=None, label=None): + def __init__(self, max_value=None, min_value=None, *args, **kwargs): self.max_value, self.min_value = max_value, min_value - Field.__init__(self, required, widget, label) + super(IntegerField, self).__init__(*args, **kwargs) def clean(self, value): """ Validates that int() can be called on the input. Returns the result - of int(). + of int(). Returns None for empty values. """ super(IntegerField, self).clean(value) - if not self.required and value in EMPTY_VALUES: - return u'' + if value in EMPTY_VALUES: + return None try: value = int(value) except (ValueError, TypeError): @@ -117,6 +139,67 @@ class IntegerField(Field): raise ValidationError(gettext(u'Ensure this value is greater than or equal to %s.') % self.min_value) return value +class FloatField(Field): + def __init__(self, max_value=None, min_value=None, *args, **kwargs): + self.max_value, self.min_value = max_value, min_value + Field.__init__(self, *args, **kwargs) + + def clean(self, value): + """ + Validates that float() can be called on the input. Returns a float. + Returns None for empty values. + """ + super(FloatField, self).clean(value) + if not self.required and value in EMPTY_VALUES: + return None + try: + value = float(value) + except (ValueError, TypeError): + raise ValidationError(gettext('Enter a number.')) + if self.max_value is not None and value > self.max_value: + raise ValidationError(gettext('Ensure this value is less than or equal to %s.') % self.max_value) + if self.min_value is not None and value < self.min_value: + raise ValidationError(gettext('Ensure this value is greater than or equal to %s.') % self.min_value) + return value + +decimal_re = re.compile(r'^-?(?P\d+)(\.(?P\d+))?$') + +class DecimalField(Field): + def __init__(self, max_value=None, min_value=None, max_digits=None, decimal_places=None, *args, **kwargs): + self.max_value, self.min_value = max_value, min_value + self.max_digits, self.decimal_places = max_digits, decimal_places + Field.__init__(self, *args, **kwargs) + + def clean(self, value): + """ + Validates that the input is a decimal number. Returns a Decimal + instance. Returns None for empty values. Ensures that there are no more + than max_digits in the number, and no more than decimal_places digits + after the decimal point. + """ + super(DecimalField, self).clean(value) + if not self.required and value in EMPTY_VALUES: + return None + value = value.strip() + match = decimal_re.search(value) + if not match: + raise ValidationError(gettext('Enter a number.')) + else: + value = Decimal(value) + digits = len(match.group('digits') or '') + decimals = len(match.group('decimals') or '') + if self.max_value is not None and value > self.max_value: + raise ValidationError(gettext('Ensure this value is less than or equal to %s.') % self.max_value) + if self.min_value is not None and value < self.min_value: + raise ValidationError(gettext('Ensure this value is greater than or equal to %s.') % self.min_value) + if self.max_digits is not None and (digits + decimals) > self.max_digits: + raise ValidationError(gettext('Ensure that there are no more than %s digits in total.') % self.max_digits) + if self.decimal_places is not None and decimals > self.decimal_places: + raise ValidationError(gettext('Ensure that there are no more than %s decimal places.') % self.decimal_places) + if self.max_digits is not None and self.decimal_places is not None and digits > (self.max_digits - self.decimal_places): + raise ValidationError(gettext('Ensure that there are no more than %s digits before the decimal point.') % (self.max_digits - self.decimal_places)) + return value + DEFAULT_DATE_INPUT_FORMATS = ( '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06' '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' @@ -126,8 +209,8 @@ DEFAULT_DATE_INPUT_FORMATS = ( ) class DateField(Field): - def __init__(self, input_formats=None, required=True, widget=None, label=None): - Field.__init__(self, required, widget, label) + def __init__(self, input_formats=None, *args, **kwargs): + super(DateField, self).__init__(*args, **kwargs) self.input_formats = input_formats or DEFAULT_DATE_INPUT_FORMATS def clean(self, value): @@ -135,7 +218,7 @@ class DateField(Field): Validates that the input can be converted to a date. Returns a Python datetime.date object. """ - Field.clean(self, value) + super(DateField, self).clean(value) if value in EMPTY_VALUES: return None if isinstance(value, datetime.datetime): @@ -155,8 +238,8 @@ DEFAULT_TIME_INPUT_FORMATS = ( ) class TimeField(Field): - def __init__(self, input_formats=None, required=True, widget=None, label=None): - Field.__init__(self, required, widget, label) + def __init__(self, input_formats=None, *args, **kwargs): + super(TimeField, self).__init__(*args, **kwargs) self.input_formats = input_formats or DEFAULT_TIME_INPUT_FORMATS def clean(self, value): @@ -164,7 +247,7 @@ class TimeField(Field): Validates that the input can be converted to a time. Returns a Python datetime.time object. """ - Field.clean(self, value) + super(TimeField, self).clean(value) if value in EMPTY_VALUES: return None if isinstance(value, datetime.time): @@ -189,8 +272,8 @@ DEFAULT_DATETIME_INPUT_FORMATS = ( ) class DateTimeField(Field): - def __init__(self, input_formats=None, required=True, widget=None, label=None): - Field.__init__(self, required, widget, label) + def __init__(self, input_formats=None, *args, **kwargs): + super(DateTimeField, self).__init__(*args, **kwargs) self.input_formats = input_formats or DEFAULT_DATETIME_INPUT_FORMATS def clean(self, value): @@ -198,7 +281,7 @@ class DateTimeField(Field): Validates that the input can be converted to a datetime. Returns a Python datetime.datetime object. """ - Field.clean(self, value) + super(DateTimeField, self).clean(value) if value in EMPTY_VALUES: return None if isinstance(value, datetime.datetime): @@ -213,14 +296,13 @@ class DateTimeField(Field): raise ValidationError(gettext(u'Enter a valid date/time.')) class RegexField(Field): - def __init__(self, regex, max_length=None, min_length=None, error_message=None, - required=True, widget=None, label=None): + def __init__(self, regex, max_length=None, min_length=None, error_message=None, *args, **kwargs): """ regex can be either a string or a compiled regular expression object. error_message is an optional error message to use, if 'Enter a valid value' is too generic for you. """ - Field.__init__(self, required, widget, label) + super(RegexField, self).__init__(*args, **kwargs) if isinstance(regex, basestring): regex = re.compile(regex) self.regex = regex @@ -232,10 +314,11 @@ class RegexField(Field): Validates that the input matches the regular expression. Returns a Unicode object. """ - Field.clean(self, value) - if value in EMPTY_VALUES: value = u'' + super(RegexField, self).clean(value) + if value in EMPTY_VALUES: + value = u'' value = smart_unicode(value) - if not self.required and value == u'': + if value == u'': return value if self.max_length is not None and len(value) > self.max_length: raise ValidationError(gettext(u'Ensure this value has at most %d characters.') % self.max_length) @@ -251,8 +334,9 @@ email_re = re.compile( r')@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}$', re.IGNORECASE) # domain class EmailField(RegexField): - def __init__(self, max_length=None, min_length=None, required=True, widget=None, label=None): - RegexField.__init__(self, email_re, max_length, min_length, gettext(u'Enter a valid e-mail address.'), required, widget, label) + def __init__(self, max_length=None, min_length=None, *args, **kwargs): + RegexField.__init__(self, email_re, max_length, min_length, + gettext(u'Enter a valid e-mail address.'), *args, **kwargs) url_re = re.compile( r'^https?://' # http:// or https:// @@ -268,14 +352,16 @@ except ImportError: URL_VALIDATOR_USER_AGENT = 'Django (http://www.djangoproject.com/)' class URLField(RegexField): - def __init__(self, max_length=None, min_length=None, required=True, verify_exists=False, widget=None, label=None, - validator_user_agent=URL_VALIDATOR_USER_AGENT): - RegexField.__init__(self, url_re, max_length, min_length, gettext(u'Enter a valid URL.'), required, widget, label) + def __init__(self, max_length=None, min_length=None, verify_exists=False, + validator_user_agent=URL_VALIDATOR_USER_AGENT, *args, **kwargs): + super(URLField, self).__init__(url_re, max_length, min_length, gettext(u'Enter a valid URL.'), *args, **kwargs) self.verify_exists = verify_exists self.user_agent = validator_user_agent def clean(self, value): - value = RegexField.clean(self, value) + value = super(URLField, self).clean(value) + if value == u'': + return value if self.verify_exists: import urllib2 from django.conf import settings @@ -300,33 +386,55 @@ class BooleanField(Field): def clean(self, value): "Returns a Python boolean object." - Field.clean(self, value) + super(BooleanField, self).clean(value) return bool(value) +class NullBooleanField(BooleanField): + """ + A field whose valid values are None, True and False. Invalid values are + cleaned to None. + """ + widget = NullBooleanSelect + + def clean(self, value): + return {True: True, False: False}.get(value, None) + class ChoiceField(Field): - def __init__(self, choices=(), required=True, widget=Select, label=None): - if isinstance(widget, type): - widget = widget(choices=choices) - Field.__init__(self, required, widget, label) + widget = Select + + def __init__(self, choices=(), required=True, widget=None, label=None, initial=None, help_text=None): + super(ChoiceField, self).__init__(required, widget, label, initial, help_text) self.choices = choices + def _get_choices(self): + return self._choices + + def _set_choices(self, value): + # Setting choices also sets the choices on the widget. + # choices can be any iterable, but we call list() on it because + # it will be consumed more than once. + self._choices = self.widget.choices = list(value) + + choices = property(_get_choices, _set_choices) + def clean(self, value): """ Validates that the input is in self.choices. """ - value = Field.clean(self, value) - if value in EMPTY_VALUES: value = u'' + value = super(ChoiceField, self).clean(value) + if value in EMPTY_VALUES: + value = u'' value = smart_unicode(value) - if not self.required and value == u'': + if value == u'': return value valid_values = set([str(k) for k, v in self.choices]) if value not in valid_values: - raise ValidationError(gettext(u'Select a valid choice. %s is not one of the available choices.') % value) + raise ValidationError(gettext(u'Select a valid choice. That choice is not one of the available choices.')) return value class MultipleChoiceField(ChoiceField): - def __init__(self, choices=(), required=True, widget=SelectMultiple, label=None): - ChoiceField.__init__(self, choices, required, widget, label) + hidden_widget = MultipleHiddenInput + widget = SelectMultiple def clean(self, value): """ @@ -350,8 +458,11 @@ class MultipleChoiceField(ChoiceField): return new_value class ComboField(Field): - def __init__(self, fields=(), required=True, widget=None, label=None): - Field.__init__(self, required, widget, label) + """ + A Field whose clean() method calls multiple Field clean() methods. + """ + def __init__(self, fields=(), *args, **kwargs): + super(ComboField, self).__init__(*args, **kwargs) # Set 'required' to False on the individual fields, because the # required validation will be handled by ComboField, not by those # individual fields. @@ -364,7 +475,88 @@ class ComboField(Field): Validates the given value against all of self.fields, which is a list of Field instances. """ - Field.clean(self, value) + super(ComboField, self).clean(value) for field in self.fields: value = field.clean(value) return value + +class MultiValueField(Field): + """ + A Field that is composed of multiple Fields. + + Its clean() method takes a "decompressed" list of values. Each value in + this list is cleaned by the corresponding field -- the first value is + cleaned by the first field, the second value is cleaned by the second + field, etc. Once all fields are cleaned, the list of clean values is + "compressed" into a single value. + + Subclasses should implement compress(), which specifies how a list of + valid values should be converted to a single value. Subclasses should not + have to implement clean(). + + You'll probably want to use this with MultiWidget. + """ + def __init__(self, fields=(), *args, **kwargs): + super(MultiValueField, self).__init__(*args, **kwargs) + # Set 'required' to False on the individual fields, because the + # required validation will be handled by MultiValueField, not by those + # individual fields. + for f in fields: + f.required = False + self.fields = fields + + def clean(self, value): + """ + Validates every value in the given list. A value is validated against + the corresponding Field in self.fields. + + For example, if this MultiValueField was instantiated with + fields=(DateField(), TimeField()), clean() would call + DateField.clean(value[0]) and TimeField.clean(value[1]). + """ + clean_data = [] + errors = ErrorList() + if self.required and not value: + raise ValidationError(gettext(u'This field is required.')) + elif not self.required and not value: + return self.compress([]) + if not isinstance(value, (list, tuple)): + raise ValidationError(gettext(u'Enter a list of values.')) + for i, field in enumerate(self.fields): + try: + field_value = value[i] + except IndexError: + field_value = None + if self.required and field_value in EMPTY_VALUES: + raise ValidationError(gettext(u'This field is required.')) + try: + clean_data.append(field.clean(field_value)) + except ValidationError, e: + # Collect all validation errors in a single list, which we'll + # raise at the end of clean(), rather than raising a single + # exception for the first error we encounter. + errors.extend(e.messages) + if errors: + raise ValidationError(errors) + return self.compress(clean_data) + + def compress(self, data_list): + """ + Returns a single value for the given list of values. The values can be + assumed to be valid. + + For example, if this MultiValueField was instantiated with + fields=(DateField(), TimeField()), this might return a datetime + object created by combining the date and time in data_list. + """ + raise NotImplementedError('Subclasses must implement this method.') + +class SplitDateTimeField(MultiValueField): + def __init__(self, *args, **kwargs): + fields = (DateField(), TimeField()) + super(SplitDateTimeField, self).__init__(fields, *args, **kwargs) + + def compress(self, data_list): + if data_list: + return datetime.datetime.combine(*data_list) + return None diff --git a/django/newforms/forms.py b/django/newforms/forms.py index 201cce3868..6ebebded4b 100644 --- a/django/newforms/forms.py +++ b/django/newforms/forms.py @@ -2,11 +2,15 @@ Form classes """ -from django.utils.datastructures import SortedDict, MultiValueDict +import copy + +from django.utils.datastructures import SortedDict from django.utils.html import escape +from django.utils.encoding import StrAndUnicode + from fields import Field -from widgets import TextInput, Textarea, HiddenInput -from util import StrAndUnicode, ErrorDict, ErrorList, ValidationError +from widgets import TextInput, Textarea +from util import flatatt, ErrorDict, ErrorList, ValidationError __all__ = ('BaseForm', 'Form') @@ -26,12 +30,26 @@ class SortedDictFromList(SortedDict): self.keyOrder = [d[0] for d in data] dict.__init__(self, dict(data)) + def copy(self): + return SortedDictFromList([(k, copy.copy(v)) for k, v in self.items()]) + class DeclarativeFieldsMetaclass(type): - "Metaclass that converts Field attributes to a dictionary called 'fields'." + """ + Metaclass that converts Field attributes to a dictionary called + 'base_fields', taking into account parent class 'base_fields' as well. + """ def __new__(cls, name, bases, attrs): - fields = [(name, attrs.pop(name)) for name, obj in attrs.items() if isinstance(obj, Field)] + fields = [(field_name, attrs.pop(field_name)) for field_name, obj in attrs.items() if isinstance(obj, Field)] fields.sort(lambda x, y: cmp(x[1].creation_counter, y[1].creation_counter)) - attrs['fields'] = SortedDictFromList(fields) + + # If this class is subclassing another Form, add that Form's fields. + # Note that we loop over the bases in *reverse*. This is necessary in + # order to preserve the correct order of fields. + for base in bases[::-1]: + if hasattr(base, 'base_fields'): + fields = base.base_fields.items() + fields + + attrs['base_fields'] = SortedDictFromList(fields) return type.__new__(cls, name, bases, attrs) class BaseForm(StrAndUnicode): @@ -39,13 +57,20 @@ class BaseForm(StrAndUnicode): # class is different than Form. See the comments by the Form class for more # information. Any improvements to the form API should be made to *this* # class, not to the Form class. - def __init__(self, data=None, auto_id='id_%s', prefix=None): - self.ignore_errors = data is None + def __init__(self, data=None, auto_id='id_%s', prefix=None, initial=None): + self.is_bound = data is not None self.data = data or {} self.auto_id = auto_id self.prefix = prefix - self.clean_data = None # Stores the data after clean() has been called. - self.__errors = None # Stores the errors after clean() has been called. + self.initial = initial or {} + self._errors = None # Stores the errors after clean() has been called. + + # The base_fields class attribute is the *class-wide* definition of + # fields. Because a particular *instance* of the class might want to + # alter self.fields, we create self.fields here by copying base_fields. + # Instances should always modify self.fields; they should not modify + # self.base_fields. + self.fields = self.base_fields.copy() def __unicode__(self): return self.as_table() @@ -62,19 +87,19 @@ class BaseForm(StrAndUnicode): raise KeyError('Key %r not found in Form' % name) return BoundField(self, field, name) - def _errors(self): + def _get_errors(self): "Returns an ErrorDict for self.data" - if self.__errors is None: + if self._errors is None: self.full_clean() - return self.__errors - errors = property(_errors) + return self._errors + errors = property(_get_errors) def is_valid(self): """ Returns True if the form has no errors. Otherwise, False. If errors are being ignored, returns False. """ - return not self.ignore_errors and not bool(self.errors) + return self.is_bound and not bool(self.errors) def add_prefix(self, field_name): """ @@ -85,13 +110,13 @@ class BaseForm(StrAndUnicode): """ return self.prefix and ('%s-%s' % (self.prefix, field_name)) or field_name - def _html_output(self, normal_row, error_row, row_ender, errors_on_separate_row): + def _html_output(self, normal_row, error_row, row_ender, help_text_html, errors_on_separate_row): "Helper function for outputting HTML. Used by as_table(), as_ul(), as_p()." top_errors = self.non_field_errors() # Errors that should be displayed above all fields. output, hidden_fields = [], [] for name, field in self.fields.items(): bf = BoundField(self, field, name) - bf_errors = bf.errors # Cache in local variable. + bf_errors = ErrorList([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, e) for e in bf_errors]) @@ -99,8 +124,19 @@ class BaseForm(StrAndUnicode): else: if errors_on_separate_row and bf_errors: output.append(error_row % bf_errors) - label = bf.label and bf.label_tag(escape(bf.label + ':')) or '' - output.append(normal_row % {'errors': bf_errors, 'label': label, 'field': bf}) + if bf.label: + label = escape(bf.label) + # Only add a colon if the label does not end in punctuation. + if label[-1] not in ':?.!': + label += ':' + label = bf.label_tag(label) or '' + else: + label = '' + if field.help_text: + help_text = help_text_html % field.help_text + else: + help_text = u'' + output.append(normal_row % {'errors': bf_errors, 'label': label, 'field': unicode(bf), 'help_text': help_text}) if top_errors: output.insert(0, error_row % top_errors) if hidden_fields: # Insert any hidden fields in the last row. @@ -115,15 +151,15 @@ class BaseForm(StrAndUnicode): def as_table(self): "Returns this form rendered as HTML
                                                                                          s -- excluding the
                                                                                          ." - return self._html_output(u'%(label)s%(errors)s%(field)s', u'%s', '', False) + return self._html_output(u'%(label)s%(errors)s%(field)s%(help_text)s', u'%s', '', u'
                                                                                          %s', False) def as_ul(self): "Returns this form rendered as HTML
                                                                                        • s -- excluding the
                                                                                            ." - return self._html_output(u'
                                                                                          • %(errors)s%(label)s %(field)s
                                                                                          • ', u'
                                                                                          • %s
                                                                                          • ', '', False) + return self._html_output(u'
                                                                                          • %(errors)s%(label)s %(field)s%(help_text)s
                                                                                          • ', u'
                                                                                          • %s
                                                                                          • ', '', u' %s', False) def as_p(self): "Returns this form rendered as HTML

                                                                                            s." - return self._html_output(u'

                                                                                            %(label)s %(field)s

                                                                                            ', u'

                                                                                            %s

                                                                                            ', '

                                                                                            ', True) + return self._html_output(u'

                                                                                            %(label)s %(field)s%(help_text)s

                                                                                            ', u'

                                                                                            %s

                                                                                            ', '

                                                                                            ', u' %s', True) def non_field_errors(self): """ @@ -135,13 +171,13 @@ class BaseForm(StrAndUnicode): def full_clean(self): """ - Cleans all of self.data and populates self.__errors and self.clean_data. + Cleans all of self.data and populates self._errors and + self.cleaned_data. """ - self.clean_data = {} - errors = ErrorDict() - if self.ignore_errors: # Stop further processing. - self.__errors = errors + self._errors = ErrorDict() + if not self.is_bound: # Stop further processing. return + self.cleaned_data = {} for name, field in self.fields.items(): # value_from_datadict() gets the data from the dictionary. # Each widget type knows how to retrieve its own data, because some @@ -149,19 +185,20 @@ class BaseForm(StrAndUnicode): value = field.widget.value_from_datadict(self.data, self.add_prefix(name)) try: value = field.clean(value) - self.clean_data[name] = value + self.cleaned_data[name] = value if hasattr(self, 'clean_%s' % name): value = getattr(self, 'clean_%s' % name)() - self.clean_data[name] = value + self.cleaned_data[name] = value except ValidationError, e: - errors[name] = e.messages + self._errors[name] = e.messages + if name in self.cleaned_data: + del self.cleaned_data[name] try: - self.clean_data = self.clean() + self.cleaned_data = self.clean() except ValidationError, e: - errors[NON_FIELD_ERRORS] = e.messages - if errors: - self.clean_data = None - self.__errors = errors + self._errors[NON_FIELD_ERRORS] = e.messages + if self._errors: + delattr(self, 'cleaned_data') def clean(self): """ @@ -170,7 +207,7 @@ class BaseForm(StrAndUnicode): not be associated with a particular field; it will have a special-case association with the field named '__all__'. """ - return self.clean_data + return self.cleaned_data class Form(BaseForm): "A collection of Fields, plus their associated data." @@ -192,6 +229,7 @@ class BoundField(StrAndUnicode): self.label = pretty_name(name) else: self.label = self.field.label + self.help_text = field.help_text or '' def __unicode__(self): "Renders this field as an HTML widget." @@ -200,9 +238,9 @@ class BoundField(StrAndUnicode): value = self.as_widget(self.field.widget) if not isinstance(value, basestring): # Some Widget render() methods -- notably RadioSelect -- return a - # "special" object rather than a string. Call the __str__() on that + # "special" object rather than a string. Call __unicode__() on that # object to get its rendered value. - value = value.__str__() + value = unicode(value) return value def _errors(self): @@ -216,9 +254,15 @@ class BoundField(StrAndUnicode): def as_widget(self, widget, attrs=None): attrs = attrs or {} auto_id = self.auto_id - if auto_id and not attrs.has_key('id') and not widget.attrs.has_key('id'): + if auto_id and 'id' not in attrs and 'id' not in widget.attrs: attrs['id'] = auto_id - return widget.render(self.html_name, self.data, attrs=attrs) + if not self.form.is_bound: + data = self.form.initial.get(self.name, self.field.initial) + if callable(data): + data = data() + else: + data = self.data + return widget.render(self.html_name, data, attrs=attrs) def as_text(self, attrs=None): """ @@ -234,24 +278,29 @@ class BoundField(StrAndUnicode): """ Returns a string of HTML for representing this as an . """ - return self.as_widget(HiddenInput(), attrs) + return self.as_widget(self.field.hidden_widget(), attrs) def _data(self): - "Returns the data for this BoundField, or None if it wasn't given." + """ + Returns the data for this BoundField, or None if it wasn't given. + """ return self.field.widget.value_from_datadict(self.form.data, self.html_name) data = property(_data) - def label_tag(self, contents=None): + def label_tag(self, contents=None, attrs=None): """ Wraps the given contents in a