From 498dc38507f76886f3a782c365ec494052140957 Mon Sep 17 00:00:00 2001 From: Ole Laursen Date: Thu, 15 Dec 2011 14:13:54 +0000 Subject: [PATCH] Port to Django 1.2, replacing built-in patched Django with Django 1.2.7 (with patches applied on top) and replacing South with South 0.7.3 - Legacy-Id: 3773 --- django/__init__.py | 2 +- django/conf/__init__.py | 16 +- django/conf/global_settings.py | 160 +- django/conf/locale/__init__.py | 0 django/conf/locale/ar/LC_MESSAGES/django.mo | Bin 60509 -> 68882 bytes django/conf/locale/ar/LC_MESSAGES/django.po | 2120 ++++-- django/conf/locale/ar/__init__.py | 0 django/conf/locale/ar/formats.py | 18 + django/conf/locale/bg/LC_MESSAGES/django.mo | Bin 63935 -> 63923 bytes django/conf/locale/bg/LC_MESSAGES/django.po | 12 +- django/conf/locale/bg/__init__.py | 0 django/conf/locale/bg/formats.py | 18 + django/conf/locale/bn/LC_MESSAGES/django.mo | Bin 50191 -> 50179 bytes django/conf/locale/bn/LC_MESSAGES/django.po | 12 +- django/conf/locale/bn/__init__.py | 0 django/conf/locale/bn/formats.py | 18 + django/conf/locale/bs/LC_MESSAGES/django.mo | Bin 0 -> 53210 bytes django/conf/locale/bs/LC_MESSAGES/django.po | 5183 ++++++++++++++ django/conf/locale/bs/__init__.py | 0 django/conf/locale/bs/formats.py | 18 + django/conf/locale/ca/LC_MESSAGES/django.mo | Bin 67049 -> 67354 bytes django/conf/locale/ca/LC_MESSAGES/django.po | 386 +- django/conf/locale/ca/__init__.py | 0 django/conf/locale/ca/formats.py | 30 + django/conf/locale/cs/LC_MESSAGES/django.mo | Bin 67174 -> 76999 bytes django/conf/locale/cs/LC_MESSAGES/django.po | 2279 +++--- django/conf/locale/cs/LC_MESSAGES/djangojs.mo | Bin 1526 -> 2695 bytes django/conf/locale/cs/LC_MESSAGES/djangojs.po | 119 +- django/conf/locale/cs/__init__.py | 0 django/conf/locale/cs/formats.py | 32 + django/conf/locale/cy/__init__.py | 0 django/conf/locale/cy/formats.py | 18 + django/conf/locale/da/LC_MESSAGES/django.mo | Bin 64594 -> 73100 bytes django/conf/locale/da/LC_MESSAGES/django.po | 1850 +++-- django/conf/locale/da/LC_MESSAGES/djangojs.mo | Bin 1540 -> 2587 bytes django/conf/locale/da/LC_MESSAGES/djangojs.po | 103 +- django/conf/locale/da/__init__.py | 0 django/conf/locale/da/formats.py | 26 + django/conf/locale/de/LC_MESSAGES/django.mo | Bin 67684 -> 77639 bytes django/conf/locale/de/LC_MESSAGES/django.po | 1902 +++-- django/conf/locale/de/LC_MESSAGES/djangojs.mo | Bin 1571 -> 2723 bytes django/conf/locale/de/LC_MESSAGES/djangojs.po | 103 +- django/conf/locale/de/__init__.py | 0 django/conf/locale/de/formats.py | 32 + django/conf/locale/el/__init__.py | 0 django/conf/locale/el/formats.py | 18 + django/conf/locale/en/LC_MESSAGES/django.mo | Bin 572 -> 572 bytes django/conf/locale/en/LC_MESSAGES/django.po | 2107 ++++-- django/conf/locale/en/LC_MESSAGES/djangojs.mo | Bin 358 -> 358 bytes django/conf/locale/en/LC_MESSAGES/djangojs.po | 93 +- django/conf/locale/en/__init__.py | 0 django/conf/locale/en/formats.py | 38 + .../conf/locale/en_GB/LC_MESSAGES/django.mo | Bin 0 -> 762 bytes .../conf/locale/en_GB/LC_MESSAGES/django.po | 4996 +++++++++++++ .../conf/locale/en_GB/LC_MESSAGES/djangojs.mo | Bin 0 -> 344 bytes .../conf/locale/en_GB/LC_MESSAGES/djangojs.po | 114 + django/conf/locale/en_GB/__init__.py | 0 django/conf/locale/en_GB/formats.py | 39 + django/conf/locale/es/LC_MESSAGES/django.mo | Bin 67328 -> 71660 bytes django/conf/locale/es/LC_MESSAGES/django.po | 1911 +++-- django/conf/locale/es/__init__.py | 0 django/conf/locale/es/formats.py | 30 + .../conf/locale/es_AR/LC_MESSAGES/django.mo | Bin 67579 -> 77708 bytes .../conf/locale/es_AR/LC_MESSAGES/django.po | 1943 +++-- .../conf/locale/es_AR/LC_MESSAGES/djangojs.mo | Bin 1618 -> 2512 bytes .../conf/locale/es_AR/LC_MESSAGES/djangojs.po | 118 +- django/conf/locale/es_AR/__init__.py | 0 django/conf/locale/es_AR/formats.py | 29 + django/conf/locale/et/LC_MESSAGES/django.mo | Bin 64652 -> 64640 bytes django/conf/locale/et/LC_MESSAGES/django.po | 12 +- django/conf/locale/et/__init__.py | 0 django/conf/locale/et/formats.py | 18 + django/conf/locale/eu/LC_MESSAGES/django.mo | Bin 44912 -> 44900 bytes django/conf/locale/eu/LC_MESSAGES/django.po | 12 +- django/conf/locale/eu/__init__.py | 0 django/conf/locale/eu/formats.py | 18 + django/conf/locale/fa/LC_MESSAGES/django.po | 6 +- django/conf/locale/fa/__init__.py | 0 django/conf/locale/fa/formats.py | 18 + django/conf/locale/fi/LC_MESSAGES/django.mo | Bin 65301 -> 74549 bytes django/conf/locale/fi/LC_MESSAGES/django.po | 2056 ++++-- django/conf/locale/fi/LC_MESSAGES/djangojs.mo | Bin 1630 -> 2703 bytes django/conf/locale/fi/LC_MESSAGES/djangojs.po | 102 +- django/conf/locale/fi/__init__.py | 0 django/conf/locale/fi/formats.py | 18 + django/conf/locale/fr/LC_MESSAGES/django.mo | Bin 65057 -> 78465 bytes django/conf/locale/fr/LC_MESSAGES/django.po | 2175 ++++-- django/conf/locale/fr/LC_MESSAGES/djangojs.mo | Bin 1626 -> 2726 bytes django/conf/locale/fr/LC_MESSAGES/djangojs.po | 116 +- django/conf/locale/fr/__init__.py | 0 django/conf/locale/fr/formats.py | 36 + .../conf/locale/fy_NL/LC_MESSAGES/django.mo | Bin 0 -> 4885 bytes .../conf/locale/fy_NL/LC_MESSAGES/django.po | 4997 +++++++++++++ .../conf/locale/fy_NL/LC_MESSAGES/djangojs.mo | Bin 0 -> 367 bytes .../conf/locale/fy_NL/LC_MESSAGES/djangojs.po | 119 + django/conf/locale/fy_NL/__init__.py | 0 django/conf/locale/fy_NL/formats.py | 18 + django/conf/locale/ga/LC_MESSAGES/django.mo | Bin 35180 -> 78738 bytes django/conf/locale/ga/LC_MESSAGES/django.po | 4243 ++++++----- django/conf/locale/ga/LC_MESSAGES/djangojs.mo | Bin 1606 -> 2639 bytes django/conf/locale/ga/LC_MESSAGES/djangojs.po | 156 +- django/conf/locale/ga/__init__.py | 0 django/conf/locale/ga/formats.py | 18 + django/conf/locale/gl/LC_MESSAGES/django.mo | Bin 49175 -> 49163 bytes django/conf/locale/gl/LC_MESSAGES/django.po | 12 +- django/conf/locale/gl/__init__.py | 0 django/conf/locale/gl/formats.py | 18 + django/conf/locale/he/LC_MESSAGES/django.mo | Bin 72636 -> 83355 bytes django/conf/locale/he/LC_MESSAGES/django.po | 2543 ++++--- django/conf/locale/he/LC_MESSAGES/djangojs.mo | Bin 1710 -> 2938 bytes django/conf/locale/he/LC_MESSAGES/djangojs.po | 119 +- django/conf/locale/he/__init__.py | 0 django/conf/locale/he/formats.py | 18 + django/conf/locale/hi/LC_MESSAGES/django.mo | Bin 69628 -> 69616 bytes django/conf/locale/hi/LC_MESSAGES/django.po | 12 +- django/conf/locale/hi/__init__.py | 0 django/conf/locale/hi/formats.py | 18 + django/conf/locale/hr/LC_MESSAGES/django.mo | Bin 64929 -> 75842 bytes django/conf/locale/hr/LC_MESSAGES/django.po | 2394 ++++--- django/conf/locale/hr/__init__.py | 0 django/conf/locale/hr/formats.py | 42 + django/conf/locale/hu/LC_MESSAGES/django.mo | Bin 68796 -> 68784 bytes django/conf/locale/hu/LC_MESSAGES/django.po | 12 +- django/conf/locale/hu/__init__.py | 0 django/conf/locale/hu/formats.py | 18 + django/conf/locale/id/LC_MESSAGES/django.mo | Bin 0 -> 74742 bytes django/conf/locale/id/LC_MESSAGES/django.po | 5127 ++++++++++++++ django/conf/locale/id/LC_MESSAGES/djangojs.mo | Bin 0 -> 2579 bytes django/conf/locale/id/LC_MESSAGES/djangojs.po | 157 + django/conf/locale/id/__init__.py | 0 django/conf/locale/id/formats.py | 43 + django/conf/locale/is/LC_MESSAGES/django.mo | Bin 36864 -> 36852 bytes django/conf/locale/is/LC_MESSAGES/django.po | 12 +- django/conf/locale/is/__init__.py | 0 django/conf/locale/is/formats.py | 18 + django/conf/locale/it/LC_MESSAGES/django.mo | Bin 66271 -> 75946 bytes django/conf/locale/it/LC_MESSAGES/django.po | 1874 +++-- django/conf/locale/it/LC_MESSAGES/djangojs.mo | Bin 1692 -> 1729 bytes django/conf/locale/it/LC_MESSAGES/djangojs.po | 13 +- django/conf/locale/it/__init__.py | 0 django/conf/locale/it/formats.py | 41 + django/conf/locale/ja/LC_MESSAGES/django.mo | Bin 71026 -> 75870 bytes django/conf/locale/ja/LC_MESSAGES/django.po | 1879 +++-- django/conf/locale/ja/LC_MESSAGES/djangojs.mo | Bin 1597 -> 2696 bytes django/conf/locale/ja/LC_MESSAGES/djangojs.po | 97 +- django/conf/locale/ja/__init__.py | 0 django/conf/locale/ja/formats.py | 18 + django/conf/locale/ka/LC_MESSAGES/django.mo | Bin 93456 -> 93444 bytes django/conf/locale/ka/LC_MESSAGES/django.po | 12 +- django/conf/locale/ka/__init__.py | 0 django/conf/locale/ka/formats.py | 42 + django/conf/locale/km/__init__.py | 0 django/conf/locale/km/formats.py | 18 + django/conf/locale/kn/__init__.py | 0 django/conf/locale/kn/formats.py | 18 + django/conf/locale/ko/LC_MESSAGES/django.mo | Bin 69687 -> 74534 bytes django/conf/locale/ko/LC_MESSAGES/django.po | 1942 +++-- django/conf/locale/ko/LC_MESSAGES/djangojs.mo | Bin 1568 -> 2485 bytes django/conf/locale/ko/LC_MESSAGES/djangojs.po | 101 +- django/conf/locale/ko/__init__.py | 0 django/conf/locale/ko/formats.py | 44 + django/conf/locale/lt/LC_MESSAGES/django.mo | Bin 44186 -> 44174 bytes django/conf/locale/lt/LC_MESSAGES/django.po | 12 +- django/conf/locale/lt/__init__.py | 0 django/conf/locale/lt/formats.py | 18 + django/conf/locale/lv/LC_MESSAGES/django.mo | Bin 40404 -> 58793 bytes django/conf/locale/lv/LC_MESSAGES/django.po | 2907 +++++--- django/conf/locale/lv/LC_MESSAGES/djangojs.mo | Bin 1611 -> 2853 bytes django/conf/locale/lv/LC_MESSAGES/djangojs.po | 186 +- django/conf/locale/lv/__init__.py | 0 django/conf/locale/lv/formats.py | 36 + django/conf/locale/mk/LC_MESSAGES/django.mo | Bin 81912 -> 93403 bytes django/conf/locale/mk/LC_MESSAGES/django.po | 1850 +++-- django/conf/locale/mk/LC_MESSAGES/djangojs.mo | Bin 1919 -> 1926 bytes django/conf/locale/mk/LC_MESSAGES/djangojs.po | 139 +- django/conf/locale/mk/__init__.py | 0 django/conf/locale/mk/formats.py | 18 + django/conf/locale/ml/LC_MESSAGES/django.mo | Bin 0 -> 64084 bytes django/conf/locale/ml/LC_MESSAGES/django.po | 5044 +++++++++++++ django/conf/locale/ml/LC_MESSAGES/djangojs.mo | Bin 0 -> 4350 bytes django/conf/locale/ml/LC_MESSAGES/djangojs.po | 156 + django/conf/locale/ml/__init__.py | 0 django/conf/locale/ml/formats.py | 38 + django/conf/locale/mn/LC_MESSAGES/django.mo | Bin 0 -> 69928 bytes django/conf/locale/mn/LC_MESSAGES/django.po | 5243 ++++++++++++++ django/conf/locale/mn/LC_MESSAGES/djangojs.mo | Bin 0 -> 367 bytes django/conf/locale/mn/LC_MESSAGES/djangojs.po | 149 + django/conf/locale/mn/__init__.py | 0 django/conf/locale/mn/formats.py | 18 + django/conf/locale/nb/LC_MESSAGES/django.mo | Bin 0 -> 68395 bytes django/conf/locale/nb/LC_MESSAGES/django.po | 5132 ++++++++++++++ django/conf/locale/nb/LC_MESSAGES/djangojs.mo | Bin 0 -> 1539 bytes django/conf/locale/nb/LC_MESSAGES/djangojs.po | 119 + django/conf/locale/nb/__init__.py | 0 django/conf/locale/nb/formats.py | 34 + django/conf/locale/nl/LC_MESSAGES/django.mo | Bin 65475 -> 65468 bytes django/conf/locale/nl/LC_MESSAGES/django.po | 241 +- django/conf/locale/nl/__init__.py | 0 django/conf/locale/nl/formats.py | 48 + django/conf/locale/nn/LC_MESSAGES/django.mo | Bin 0 -> 72347 bytes django/conf/locale/nn/LC_MESSAGES/django.po | 5150 ++++++++++++++ django/conf/locale/nn/LC_MESSAGES/djangojs.mo | Bin 0 -> 2506 bytes django/conf/locale/nn/LC_MESSAGES/djangojs.po | 155 + django/conf/locale/nn/__init__.py | 0 django/conf/locale/nn/formats.py | 34 + django/conf/locale/no/LC_MESSAGES/django.mo | Bin 63757 -> 68395 bytes django/conf/locale/no/LC_MESSAGES/django.po | 1887 +++-- django/conf/locale/no/LC_MESSAGES/djangojs.mo | Bin 1539 -> 1539 bytes django/conf/locale/no/LC_MESSAGES/djangojs.po | 66 +- django/conf/locale/no/__init__.py | 0 django/conf/locale/no/formats.py | 34 + django/conf/locale/pl/LC_MESSAGES/django.mo | Bin 65771 -> 69951 bytes django/conf/locale/pl/LC_MESSAGES/django.po | 1868 +++-- django/conf/locale/pl/__init__.py | 0 django/conf/locale/pl/formats.py | 32 + django/conf/locale/pt/LC_MESSAGES/django.mo | Bin 49205 -> 52977 bytes django/conf/locale/pt/LC_MESSAGES/django.po | 2239 +++--- django/conf/locale/pt/LC_MESSAGES/djangojs.mo | Bin 1596 -> 1596 bytes django/conf/locale/pt/LC_MESSAGES/djangojs.po | 70 +- django/conf/locale/pt/__init__.py | 0 django/conf/locale/pt/formats.py | 35 + .../conf/locale/pt_BR/LC_MESSAGES/django.mo | Bin 66547 -> 75613 bytes .../conf/locale/pt_BR/LC_MESSAGES/django.po | 1818 +++-- django/conf/locale/pt_BR/__init__.py | 0 django/conf/locale/pt_BR/formats.py | 35 + django/conf/locale/ro/LC_MESSAGES/django.mo | Bin 65129 -> 66578 bytes django/conf/locale/ro/LC_MESSAGES/django.po | 615 +- django/conf/locale/ro/__init__.py | 0 django/conf/locale/ro/formats.py | 18 + django/conf/locale/ru/LC_MESSAGES/django.mo | Bin 83500 -> 96132 bytes django/conf/locale/ru/LC_MESSAGES/django.po | 2570 ++++--- django/conf/locale/ru/LC_MESSAGES/djangojs.mo | Bin 1864 -> 3735 bytes django/conf/locale/ru/LC_MESSAGES/djangojs.po | 94 +- django/conf/locale/ru/__init__.py | 0 django/conf/locale/ru/formats.py | 35 + django/conf/locale/sk/LC_MESSAGES/django.mo | Bin 64641 -> 77057 bytes django/conf/locale/sk/LC_MESSAGES/django.po | 2300 ++++-- django/conf/locale/sk/LC_MESSAGES/djangojs.mo | Bin 1648 -> 2659 bytes django/conf/locale/sk/LC_MESSAGES/djangojs.po | 112 +- django/conf/locale/sk/__init__.py | 0 django/conf/locale/sk/formats.py | 32 + django/conf/locale/sl/LC_MESSAGES/django.mo | Bin 64966 -> 76461 bytes django/conf/locale/sl/LC_MESSAGES/django.po | 2199 ++++-- django/conf/locale/sl/LC_MESSAGES/djangojs.mo | Bin 1717 -> 2794 bytes django/conf/locale/sl/LC_MESSAGES/djangojs.po | 165 +- django/conf/locale/sl/__init__.py | 0 django/conf/locale/sl/formats.py | 18 + django/conf/locale/sq/LC_MESSAGES/django.mo | Bin 0 -> 5125 bytes django/conf/locale/sq/LC_MESSAGES/django.po | 5011 +++++++++++++ django/conf/locale/sq/LC_MESSAGES/djangojs.mo | Bin 0 -> 367 bytes django/conf/locale/sq/LC_MESSAGES/djangojs.po | 119 + django/conf/locale/sq/__init__.py | 0 django/conf/locale/sq/formats.py | 18 + django/conf/locale/sr/LC_MESSAGES/django.mo | Bin 53062 -> 57161 bytes django/conf/locale/sr/LC_MESSAGES/django.po | 1924 +++-- django/conf/locale/sr/LC_MESSAGES/djangojs.mo | Bin 2032 -> 2683 bytes django/conf/locale/sr/LC_MESSAGES/djangojs.po | 130 +- django/conf/locale/sr/__init__.py | 0 django/conf/locale/sr/formats.py | 44 + .../conf/locale/sr_Latn/LC_MESSAGES/django.mo | Bin 42395 -> 45644 bytes .../conf/locale/sr_Latn/LC_MESSAGES/django.po | 2499 ++++--- .../locale/sr_Latn/LC_MESSAGES/djangojs.mo | Bin 1773 -> 2580 bytes .../locale/sr_Latn/LC_MESSAGES/djangojs.po | 95 +- django/conf/locale/sr_Latn/__init__.py | 0 django/conf/locale/sr_Latn/formats.py | 44 + django/conf/locale/sv/LC_MESSAGES/django.mo | Bin 63231 -> 63208 bytes django/conf/locale/sv/LC_MESSAGES/django.po | 80 +- django/conf/locale/sv/__init__.py | 0 django/conf/locale/sv/formats.py | 35 + django/conf/locale/ta/__init__.py | 0 django/conf/locale/ta/formats.py | 18 + django/conf/locale/te/LC_MESSAGES/django.mo | Bin 66372 -> 66360 bytes django/conf/locale/te/LC_MESSAGES/django.po | 12 +- django/conf/locale/te/__init__.py | 0 django/conf/locale/te/formats.py | 18 + django/conf/locale/th/LC_MESSAGES/django.mo | Bin 83394 -> 83382 bytes django/conf/locale/th/LC_MESSAGES/django.po | 12 +- django/conf/locale/th/__init__.py | 0 django/conf/locale/th/formats.py | 18 + django/conf/locale/tr/LC_MESSAGES/django.mo | Bin 59086 -> 75049 bytes django/conf/locale/tr/LC_MESSAGES/django.po | 2829 +++++--- django/conf/locale/tr/LC_MESSAGES/djangojs.mo | Bin 1627 -> 1747 bytes django/conf/locale/tr/LC_MESSAGES/djangojs.po | 144 +- django/conf/locale/tr/__init__.py | 0 django/conf/locale/tr/formats.py | 32 + django/conf/locale/uk/LC_MESSAGES/django.mo | Bin 87474 -> 87462 bytes django/conf/locale/uk/LC_MESSAGES/django.po | 14 +- django/conf/locale/uk/__init__.py | 0 django/conf/locale/uk/formats.py | 18 + django/conf/locale/vi/LC_MESSAGES/django.mo | Bin 0 -> 33940 bytes django/conf/locale/vi/LC_MESSAGES/django.po | 5058 +++++++++++++ django/conf/locale/vi/LC_MESSAGES/djangojs.mo | Bin 0 -> 1049 bytes django/conf/locale/vi/LC_MESSAGES/djangojs.po | 115 + django/conf/locale/vi/__init__.py | 0 django/conf/locale/vi/formats.py | 18 + .../conf/locale/zh_CN/LC_MESSAGES/django.mo | Bin 61710 -> 61698 bytes .../conf/locale/zh_CN/LC_MESSAGES/django.po | 12 +- django/conf/locale/zh_CN/__init__.py | 0 django/conf/locale/zh_CN/formats.py | 18 + .../conf/locale/zh_TW/LC_MESSAGES/django.po | 6 +- django/conf/locale/zh_TW/__init__.py | 0 django/conf/locale/zh_TW/formats.py | 18 + django/conf/project_template/settings.py | 37 +- django/conf/project_template/urls.py | 3 +- django/contrib/admin/__init__.py | 58 +- django/contrib/admin/actions.py | 18 +- django/contrib/admin/helpers.py | 164 +- django/contrib/admin/media/css/base.css | 23 +- .../contrib/admin/media/css/changelists.css | 28 +- django/contrib/admin/media/css/forms.css | 43 +- django/contrib/admin/media/css/ie.css | 6 + django/contrib/admin/media/css/rtl.css | 17 +- django/contrib/admin/media/css/widgets.css | 5 +- .../contrib/admin/media/js/LICENSE-JQUERY.txt | 20 + .../contrib/admin/media/js/SelectFilter2.js | 4 + django/contrib/admin/media/js/actions.js | 178 +- django/contrib/admin/media/js/actions.min.js | 7 + .../admin/media/js/admin/DateTimeShortcuts.js | 85 +- django/contrib/admin/media/js/calendar.js | 19 +- django/contrib/admin/media/js/collapse.js | 27 + django/contrib/admin/media/js/collapse.min.js | 2 + django/contrib/admin/media/js/compress.py | 47 + django/contrib/admin/media/js/core.js | 49 +- django/contrib/admin/media/js/inlines.js | 136 + django/contrib/admin/media/js/inlines.min.js | 5 + django/contrib/admin/media/js/jquery.init.js | 4 + django/contrib/admin/media/js/jquery.js | 6240 +++++++++++++++++ django/contrib/admin/media/js/jquery.min.js | 154 + django/contrib/admin/media/js/prepopulate.js | 34 + .../contrib/admin/media/js/prepopulate.min.js | 1 + django/contrib/admin/options.py | 373 +- django/contrib/admin/sites.py | 55 +- .../admin/templates/admin/actions.html | 13 +- .../templates/admin/auth/user/add_form.html | 39 +- .../admin/auth/user/change_password.html | 5 +- .../contrib/admin/templates/admin/base.html | 11 +- .../admin/templates/admin/change_form.html | 13 +- .../admin/templates/admin/change_list.html | 27 +- .../templates/admin/change_list_results.html | 10 +- .../templates/admin/delete_confirmation.html | 2 +- .../admin/delete_selected_confirmation.html | 6 +- .../templates/admin/edit_inline/stacked.html | 82 +- .../templates/admin/edit_inline/tabular.html | 97 +- .../templates/admin/includes/fieldset.html | 44 +- .../contrib/admin/templates/admin/login.html | 2 +- .../admin/templates/admin/object_history.html | 2 +- .../admin/prepopulated_fields_js.html | 22 +- .../registration/password_change_form.html | 44 +- .../registration/password_reset_confirm.html | 2 +- .../registration/password_reset_email.html | 2 +- .../registration/password_reset_form.html | 2 +- .../contrib/admin/templatetags/admin_list.py | 216 +- .../admin/templatetags/admin_modify.py | 19 +- .../contrib/admin/templatetags/adminmedia.py | 3 +- django/contrib/admin/templatetags/log.py | 8 +- django/contrib/admin/util.py | 358 +- django/contrib/admin/validation.py | 105 +- django/contrib/admin/views/decorators.py | 8 +- django/contrib/admin/views/main.py | 30 +- django/contrib/admin/views/template.py | 78 - django/contrib/admin/widgets.py | 76 +- django/contrib/admindocs/models.py | 1 + .../admin_doc/template_filter_index.html | 4 +- .../admin_doc/template_tag_index.html | 4 +- django/contrib/admindocs/tests/__init__.py | 30 + django/contrib/admindocs/tests/fields.py | 7 + django/contrib/admindocs/utils.py | 3 +- django/contrib/admindocs/views.py | 68 +- django/contrib/auth/__init__.py | 21 +- django/contrib/auth/admin.py | 102 +- django/contrib/auth/backends.py | 44 +- django/contrib/auth/context_processors.py | 33 + django/contrib/auth/decorators.py | 67 +- django/contrib/auth/forms.py | 28 +- .../management/commands/changepassword.py | 48 + .../management/commands/createsuperuser.py | 39 +- django/contrib/auth/middleware.py | 2 +- django/contrib/auth/models.py | 211 +- django/contrib/auth/tests/__init__.py | 19 +- django/contrib/auth/tests/auth_backends.py | 276 + django/contrib/auth/tests/basic.py | 150 +- django/contrib/auth/tests/decorators.py | 25 + django/contrib/auth/tests/forms.py | 480 +- django/contrib/auth/tests/models.py | 35 + django/contrib/auth/tests/remote_user.py | 10 +- .../templates/registration/logged_out.html | 1 + .../registration/password_change_form.html | 1 + .../registration/password_reset_complete.html | 1 + .../registration/password_reset_confirm.html | 5 + .../registration/password_reset_done.html | 1 + .../registration/password_reset_email.html | 1 + .../registration/password_reset_form.html | 1 + django/contrib/auth/tests/tokens.py | 90 +- django/contrib/auth/tests/urls.py | 6 +- django/contrib/auth/tests/views.py | 143 +- django/contrib/auth/urls.py | 4 +- django/contrib/auth/views.py | 115 +- django/contrib/comments/admin.py | 46 +- django/contrib/comments/feeds.py | 4 +- django/contrib/comments/forms.py | 18 +- django/contrib/comments/models.py | 8 +- django/contrib/comments/moderation.py | 13 +- .../templates/comments/400-debug.html | 6 +- .../comments/templates/comments/approve.html | 4 +- .../comments/templates/comments/base.html | 6 +- .../comments/templates/comments/delete.html | 4 +- .../comments/templates/comments/flag.html | 4 +- .../comments/templates/comments/form.html | 6 +- .../comments/templates/comments/list.html | 10 + .../comments/templates/comments/preview.html | 6 +- .../contrib/comments/templatetags/comments.py | 80 +- django/contrib/comments/urls.py | 4 +- django/contrib/comments/views/comments.py | 23 +- django/contrib/comments/views/moderation.py | 167 +- django/contrib/comments/views/utils.py | 11 +- django/contrib/contenttypes/generic.py | 82 +- django/contrib/contenttypes/management.py | 34 +- django/contrib/contenttypes/models.py | 26 +- django/contrib/contenttypes/tests.py | 100 +- django/contrib/contenttypes/views.py | 46 +- django/contrib/csrf/middleware.py | 165 +- django/contrib/csrf/models.py | 1 - django/contrib/csrf/tests.py | 144 - django/contrib/databrowse/datastructures.py | 10 +- .../contrib/databrowse/plugins/calendars.py | 2 +- .../databrowse/templates/databrowse/base.html | 2 +- .../templates/databrowse/calendar_day.html | 2 +- .../templates/databrowse/calendar_main.html | 2 +- .../templates/databrowse/calendar_month.html | 4 +- .../flatpages/fixtures/sample_flatpages.json | 32 + django/contrib/flatpages/tests/__init__.py | 3 + django/contrib/flatpages/tests/csrf.py | 73 + django/contrib/flatpages/tests/middleware.py | 59 + .../flatpages/tests/templates/404.html | 1 + .../tests/templates/flatpages/default.html | 2 + .../tests/templates/registration/login.html | 0 django/contrib/flatpages/tests/urls.py | 8 + django/contrib/flatpages/tests/views.py | 53 + django/contrib/flatpages/views.py | 18 +- django/contrib/formtools/preview.py | 8 + .../formtools/templates/formtools/form.html | 2 +- .../templates/formtools/preview.html | 4 +- django/contrib/formtools/tests.py | 99 +- django/contrib/formtools/utils.py | 2 +- django/contrib/formtools/wizard.py | 74 +- django/contrib/gis/admin/options.py | 19 +- django/contrib/gis/db/backend/__init__.py | 29 +- django/contrib/gis/db/backend/base.py | 26 - .../contrib/gis/db/backend/mysql/__init__.py | 13 - .../contrib/gis/db/backend/mysql/creation.py | 5 - django/contrib/gis/db/backend/mysql/field.py | 53 - django/contrib/gis/db/backend/mysql/query.py | 59 - .../contrib/gis/db/backend/oracle/__init__.py | 35 - .../contrib/gis/db/backend/oracle/adaptor.py | 5 - .../contrib/gis/db/backend/oracle/creation.py | 5 - django/contrib/gis/db/backend/oracle/field.py | 102 - django/contrib/gis/db/backend/oracle/query.py | 154 - .../gis/db/backend/postgis/__init__.py | 48 - .../gis/db/backend/postgis/creation.py | 231 - .../contrib/gis/db/backend/postgis/field.py | 95 - .../gis/db/backend/postgis/management.py | 54 - .../contrib/gis/db/backend/postgis/query.py | 309 - .../gis/db/backend/spatialite/__init__.py | 60 - .../gis/db/backend/spatialite/creation.py | 61 - .../gis/db/backend/spatialite/field.py | 82 - .../gis/db/backend/spatialite/query.py | 160 - django/contrib/gis/db/backend/util.py | 69 - django/contrib/gis/db/backends/__init__.py | 0 .../adaptor.py => backends/adapter.py} | 2 +- django/contrib/gis/db/backends/base.py | 336 + .../contrib/gis/db/backends/mysql/__init__.py | 0 django/contrib/gis/db/backends/mysql/base.py | 13 + .../contrib/gis/db/backends/mysql/creation.py | 18 + .../gis/db/backends/mysql/introspection.py | 32 + .../gis/db/backends/mysql/operations.py | 65 + .../gis/db/backends/oracle/__init__.py | 0 .../contrib/gis/db/backends/oracle/adapter.py | 5 + django/contrib/gis/db/backends/oracle/base.py | 12 + .../gis/db/backends/oracle/compiler.py | 44 + .../gis/db/backends/oracle/creation.py | 42 + .../gis/db/backends/oracle/introspection.py | 39 + .../db/{backend => backends}/oracle/models.py | 13 +- .../gis/db/backends/oracle/operations.py | 293 + .../gis/db/backends/postgis/__init__.py | 0 .../postgis/adapter.py} | 9 +- .../contrib/gis/db/backends/postgis/base.py | 12 + .../gis/db/backends/postgis/creation.py | 60 + .../gis/db/backends/postgis/introspection.py | 95 + .../{backend => backends}/postgis/models.py | 5 +- .../gis/db/backends/postgis/operations.py | 589 ++ .../gis/db/backends/spatialite/__init__.py | 0 .../spatialite/adapter.py} | 4 +- .../gis/db/backends/spatialite/base.py | 77 + .../gis/db/backends/spatialite/client.py | 5 + .../gis/db/backends/spatialite/creation.py | 96 + .../db/backends/spatialite/introspection.py | 51 + .../spatialite/models.py | 7 +- .../gis/db/backends/spatialite/operations.py | 343 + django/contrib/gis/db/backends/util.py | 56 + django/contrib/gis/db/models/aggregates.py | 28 +- django/contrib/gis/db/models/fields.py | 294 + .../contrib/gis/db/models/fields/__init__.py | 278 - django/contrib/gis/db/models/manager.py | 20 +- django/contrib/gis/db/models/proxy.py | 52 +- django/contrib/gis/db/models/query.py | 217 +- .../contrib/gis/db/models/sql/aggregates.py | 116 +- django/contrib/gis/db/models/sql/compiler.py | 278 + .../contrib/gis/db/models/sql/conversion.py | 4 +- django/contrib/gis/db/models/sql/query.py | 329 +- .../contrib/gis/db/models/sql/subqueries.py | 39 - django/contrib/gis/db/models/sql/where.py | 119 +- django/contrib/gis/gdal/__init__.py | 27 +- django/contrib/gis/gdal/base.py | 2 +- django/contrib/gis/gdal/geometries.py | 155 +- django/contrib/gis/gdal/geomtype.py | 11 +- django/contrib/gis/gdal/layer.py | 30 +- django/contrib/gis/gdal/libgdal.py | 29 +- django/contrib/gis/gdal/prototypes/ds.py | 5 +- .../contrib/gis/gdal/prototypes/errcheck.py | 2 + django/contrib/gis/gdal/prototypes/geom.py | 13 +- django/contrib/gis/gdal/srs.py | 2 +- django/contrib/gis/gdal/tests/test_ds.py | 85 +- .../contrib/gis/gdal/tests/test_envelope.py | 8 +- django/contrib/gis/gdal/tests/test_geom.py | 197 +- django/contrib/gis/gdal/tests/test_srs.py | 9 +- django/contrib/gis/geometry/__init__.py | 0 .../contrib/gis/geometry/backend/__init__.py | 21 + django/contrib/gis/geometry/backend/geos.py | 3 + django/contrib/gis/geometry/regex.py | 12 + django/contrib/gis/geometry/test_data.py | 105 + django/contrib/gis/geos/collections.py | 2 +- django/contrib/gis/geos/geometry.py | 87 +- django/contrib/gis/geos/io.py | 115 +- django/contrib/gis/geos/libgeos.py | 45 +- .../contrib/gis/geos/prototypes/coordseq.py | 29 +- .../contrib/gis/geos/prototypes/errcheck.py | 33 +- django/contrib/gis/geos/prototypes/geom.py | 55 +- django/contrib/gis/geos/prototypes/io.py | 192 +- django/contrib/gis/geos/prototypes/misc.py | 9 +- .../contrib/gis/geos/prototypes/predicates.py | 33 +- .../contrib/gis/geos/prototypes/prepared.py | 15 +- .../contrib/gis/geos/prototypes/threadsafe.py | 86 + .../contrib/gis/geos/prototypes/topology.py | 33 +- django/contrib/gis/geos/tests/test_geos.py | 185 +- .../gis/geos/tests/test_geos_mutation.py | 4 +- .../gis/management/commands/inspectdb.py | 210 +- django/contrib/gis/maps/google/__init__.py | 2 +- django/contrib/gis/measure.py | 50 +- django/contrib/gis/models.py | 240 +- django/contrib/gis/sitemaps/georss.py | 4 +- django/contrib/gis/sitemaps/kml.py | 4 +- django/contrib/gis/sitemaps/views.py | 33 +- .../gis/templates/gis/admin/openlayers.js | 38 +- django/contrib/gis/tests/__init__.py | 266 +- .../contrib/gis/tests/data/geometries.json.gz | Bin 0 -> 9100 bytes .../gis/tests/data/invalid/emptypoints.dbf | Bin 0 -> 77 bytes .../gis/tests/data/invalid/emptypoints.shp | Bin 0 -> 112 bytes .../gis/tests/data/invalid/emptypoints.shx | Bin 0 -> 108 bytes .../gis/tests/data/test_vrt/test_vrt.vrt | 2 +- django/contrib/gis/tests/distapp/data.py | 36 - .../distapp/fixtures/initial_data.json.gz | Bin 0 -> 6499 bytes django/contrib/gis/tests/distapp/models.py | 3 +- django/contrib/gis/tests/distapp/tests.py | 146 +- django/contrib/gis/tests/geo3d/__init__.py | 0 django/contrib/gis/tests/geo3d/models.py | 69 + django/contrib/gis/tests/geo3d/tests.py | 231 + django/contrib/gis/tests/geo3d/views.py | 1 + .../geoapp/fixtures/initial_data.json.gz | Bin 0 -> 131252 bytes django/contrib/gis/tests/geoapp/models.py | 6 + django/contrib/gis/tests/geoapp/test_feeds.py | 46 +- .../contrib/gis/tests/geoapp/test_regress.py | 6 +- .../contrib/gis/tests/geoapp/test_sitemaps.py | 35 +- django/contrib/gis/tests/geoapp/tests.py | 314 +- .../contrib/gis/tests/geoapp/tests_mysql.py | 186 - django/contrib/gis/tests/geogapp/__init__.py | 0 .../tests/geogapp/fixtures/initial_data.json | 98 + django/contrib/gis/tests/geogapp/models.py | 20 + django/contrib/gis/tests/geogapp/tests.py | 87 + django/contrib/gis/tests/geometries.py | 173 - django/contrib/gis/tests/layermap/models.py | 17 + django/contrib/gis/tests/layermap/tests.py | 62 +- .../contrib/gis/tests/layermap/tests_mysql.py | 1 - .../relatedapp/fixtures/initial_data.json.gz | Bin 0 -> 528 bytes django/contrib/gis/tests/relatedapp/models.py | 5 + django/contrib/gis/tests/relatedapp/tests.py | 115 +- .../gis/tests/relatedapp/tests_mysql.py | 1 - django/contrib/gis/tests/test_geoip.py | 16 +- django/contrib/gis/tests/test_measure.py | 5 +- .../contrib/gis/tests/test_spatialrefsys.py | 22 +- django/contrib/gis/tests/urls.py | 6 - django/contrib/gis/tests/utils.py | 16 +- django/contrib/gis/utils/__init__.py | 4 +- django/contrib/gis/utils/layermapping.py | 288 +- django/contrib/gis/utils/ogrinfo.py | 2 +- django/contrib/gis/utils/srs.py | 86 +- .../contrib/humanize/templatetags/humanize.py | 9 +- django/contrib/localflavor/ar/forms.py | 3 +- django/contrib/localflavor/at/forms.py | 10 +- django/contrib/localflavor/au/forms.py | 5 +- django/contrib/localflavor/br/forms.py | 8 +- django/contrib/localflavor/ca/forms.py | 16 +- django/contrib/localflavor/ch/forms.py | 3 +- django/contrib/localflavor/cl/forms.py | 5 +- django/contrib/localflavor/cz/forms.py | 8 +- django/contrib/localflavor/de/forms.py | 3 +- django/contrib/localflavor/es/forms.py | 13 +- .../localflavor/fi/fi_municipalities.py | 88 +- django/contrib/localflavor/fi/forms.py | 3 +- django/contrib/localflavor/fr/forms.py | 3 +- .../contrib/localflavor/fr/fr_department.py | 2 - django/contrib/localflavor/id/__init__.py | 0 django/contrib/localflavor/id/forms.py | 211 + django/contrib/localflavor/id/id_choices.py | 101 + django/contrib/localflavor/ie/__init__.py | 0 django/contrib/localflavor/ie/forms.py | 13 + django/contrib/localflavor/ie/ie_counties.py | 40 + django/contrib/localflavor/in_/forms.py | 3 +- django/contrib/localflavor/in_/in_states.py | 70 +- django/contrib/localflavor/is_/forms.py | 3 +- django/contrib/localflavor/it/forms.py | 11 +- django/contrib/localflavor/kw/__init__.py | 0 django/contrib/localflavor/kw/forms.py | 63 + django/contrib/localflavor/nl/forms.py | 3 +- django/contrib/localflavor/no/forms.py | 3 +- django/contrib/localflavor/pe/forms.py | 3 +- django/contrib/localflavor/pl/forms.py | 7 + django/contrib/localflavor/pt/__init__.py | 0 django/contrib/localflavor/pt/forms.py | 48 + django/contrib/localflavor/ro/forms.py | 10 +- django/contrib/localflavor/se/__init__.py | 0 django/contrib/localflavor/se/forms.py | 157 + django/contrib/localflavor/se/se_counties.py | 36 + django/contrib/localflavor/se/utils.py | 84 + django/contrib/localflavor/uk/forms.py | 2 +- django/contrib/localflavor/us/forms.py | 9 +- django/contrib/localflavor/us/models.py | 42 +- django/contrib/localflavor/uy/__init__.py | 0 django/contrib/localflavor/uy/forms.py | 60 + django/contrib/localflavor/uy/util.py | 12 + .../contrib/localflavor/uy/uy_departaments.py | 24 + django/contrib/localflavor/za/forms.py | 11 +- django/contrib/markup/templatetags/markup.py | 13 +- django/contrib/markup/tests.py | 2 +- django/contrib/messages/__init__.py | 2 + django/contrib/messages/api.py | 114 + django/contrib/messages/constants.py | 13 + django/contrib/messages/context_processors.py | 8 + django/contrib/messages/middleware.py | 26 + django/contrib/messages/models.py | 1 + django/contrib/messages/storage/__init__.py | 31 + django/contrib/messages/storage/base.py | 181 + django/contrib/messages/storage/cookie.py | 152 + django/contrib/messages/storage/fallback.py | 54 + django/contrib/messages/storage/session.py | 33 + .../contrib/messages/storage/user_messages.py | 64 + django/contrib/messages/tests/__init__.py | 6 + django/contrib/messages/tests/base.py | 405 ++ django/contrib/messages/tests/cookie.py | 106 + django/contrib/messages/tests/fallback.py | 175 + django/contrib/messages/tests/middleware.py | 18 + django/contrib/messages/tests/session.py | 38 + django/contrib/messages/tests/urls.py | 42 + .../contrib/messages/tests/user_messages.py | 65 + django/contrib/messages/utils.py | 11 + django/contrib/sessions/backends/cache.py | 10 +- django/contrib/sessions/backends/cached_db.py | 14 +- django/contrib/sessions/backends/db.py | 13 +- django/contrib/sessions/backends/file.py | 6 +- django/contrib/sessions/models.py | 4 +- django/contrib/sessions/tests.py | 11 + django/contrib/sitemaps/__init__.py | 23 +- .../management/commands/ping_google.py | 2 +- django/contrib/sitemaps/models.py | 1 + django/contrib/sitemaps/tests/__init__.py | 1 + django/contrib/sitemaps/tests/basic.py | 129 + django/contrib/sitemaps/tests/urls.py | 33 + django/contrib/sitemaps/views.py | 10 +- django/contrib/sites/management.py | 4 +- django/contrib/sites/managers.py | 37 +- django/contrib/sites/models.py | 18 + django/contrib/sites/tests.py | 79 +- django/contrib/syndication/feeds.py | 171 +- django/contrib/syndication/views.py | 214 +- django/contrib/webdesign/tests.py | 31 +- django/core/cache/__init__.py | 12 +- django/core/cache/backends/base.py | 55 +- django/core/cache/backends/db.py | 101 +- django/core/cache/backends/dummy.py | 24 +- django/core/cache/backends/filebased.py | 55 +- django/core/cache/backends/locmem.py | 14 +- django/core/cache/backends/memcached.py | 74 +- django/core/context_processors.py | 49 +- django/core/exceptions.py | 54 +- django/core/files/images.py | 24 +- django/core/files/storage.py | 22 +- django/core/files/uploadhandler.py | 2 +- django/core/handlers/base.py | 134 +- django/core/handlers/wsgi.py | 15 +- django/core/mail/__init__.py | 114 + django/core/mail/backends/__init__.py | 1 + django/core/mail/backends/base.py | 39 + django/core/mail/backends/console.py | 37 + django/core/mail/backends/dummy.py | 9 + django/core/mail/backends/filebased.py | 59 + django/core/mail/backends/locmem.py | 24 + django/core/mail/backends/smtp.py | 109 + django/core/{mail.py => mail/message.py} | 293 +- django/core/mail/utils.py | 19 + django/core/management/__init__.py | 94 +- django/core/management/base.py | 70 +- django/core/management/color.py | 29 +- .../management/commands/compilemessages.py | 22 +- .../management/commands/createcachetable.py | 21 +- django/core/management/commands/dbshell.py | 20 +- .../core/management/commands/diffsettings.py | 2 +- django/core/management/commands/dumpdata.py | 107 +- django/core/management/commands/flush.py | 49 +- django/core/management/commands/inspectdb.py | 102 +- django/core/management/commands/loaddata.py | 213 +- .../core/management/commands/makemessages.py | 213 +- django/core/management/commands/reset.py | 19 +- django/core/management/commands/shell.py | 20 +- django/core/management/commands/sql.py | 13 +- django/core/management/commands/sqlall.py | 13 +- django/core/management/commands/sqlclear.py | 13 +- django/core/management/commands/sqlcustom.py | 13 +- django/core/management/commands/sqlflush.py | 13 +- django/core/management/commands/sqlindexes.py | 14 +- django/core/management/commands/sqlreset.py | 14 +- .../management/commands/sqlsequencereset.py | 15 +- django/core/management/commands/syncdb.py | 96 +- django/core/management/commands/test.py | 21 +- django/core/management/sql.py | 87 +- django/core/management/validation.py | 203 +- django/core/serializers/__init__.py | 18 +- django/core/serializers/base.py | 12 +- django/core/serializers/json.py | 10 +- django/core/serializers/python.py | 51 +- django/core/serializers/pyyaml.py | 16 +- django/core/serializers/xml_serializer.py | 109 +- django/core/servers/basehttp.py | 27 +- django/core/servers/fastcgi.py | 18 +- django/core/urlresolvers.py | 55 +- django/core/validators.py | 172 + django/core/xheaders.py | 2 +- django/db/__init__.py | 122 +- django/db/backends/__init__.py | 88 +- django/db/backends/creation.py | 109 +- django/db/backends/dummy/base.py | 11 +- django/db/backends/mysql/base.py | 50 +- django/db/backends/mysql/client.py | 17 +- django/db/backends/mysql/compiler.py | 27 + django/db/backends/mysql/creation.py | 19 +- django/db/backends/mysql/introspection.py | 2 +- django/db/backends/mysql/validation.py | 4 +- django/db/backends/oracle/base.py | 375 +- django/db/backends/oracle/compiler.py | 66 + django/db/backends/oracle/creation.py | 176 +- django/db/backends/oracle/introspection.py | 8 +- django/db/backends/oracle/query.py | 150 - django/db/backends/postgresql/base.py | 83 +- django/db/backends/postgresql/client.py | 14 +- django/db/backends/postgresql/creation.py | 47 +- .../db/backends/postgresql/introspection.py | 1 + django/db/backends/postgresql/operations.py | 21 +- .../db/backends/postgresql_psycopg2/base.py | 87 +- django/db/backends/signals.py | 2 +- django/db/backends/sqlite3/base.py | 64 +- django/db/backends/sqlite3/client.py | 2 +- django/db/backends/sqlite3/creation.py | 12 +- django/db/backends/sqlite3/introspection.py | 3 +- django/db/backends/util.py | 8 +- django/db/models/aggregates.py | 3 - django/db/models/base.py | 502 +- django/db/models/expressions.py | 10 +- django/db/models/fields/__init__.py | 439 +- django/db/models/fields/files.py | 29 +- django/db/models/fields/proxy.py | 7 +- django/db/models/fields/related.py | 605 +- django/db/models/fields/subclassing.py | 83 +- django/db/models/loading.py | 63 +- django/db/models/manager.py | 35 +- django/db/models/options.py | 31 +- django/db/models/query.py | 617 +- django/db/models/query_utils.py | 64 +- django/db/models/related.py | 8 +- django/db/models/signals.py | 2 + django/db/models/sql/aggregates.py | 10 +- django/db/models/sql/compiler.py | 979 +++ django/db/models/sql/datastructures.py | 12 +- django/db/models/sql/expressions.py | 27 +- django/db/models/sql/query.py | 1017 +-- django/db/models/sql/subqueries.py | 305 +- django/db/models/sql/where.py | 140 +- django/db/transaction.py | 272 +- django/db/utils.py | 170 + django/dispatch/dispatcher.py | 69 +- django/dispatch/license.txt | 36 + ...django-ticket-10863-full-error-email.patch | 47 + django/forms/__init__.py | 2 +- django/forms/extras/widgets.py | 119 +- django/forms/fields.py | 488 +- django/forms/forms.py | 111 +- django/forms/formsets.py | 59 +- django/forms/models.py | 528 +- django/forms/util.py | 24 +- django/forms/widgets.py | 175 +- django/http/__init__.py | 93 +- django/http/utils.py | 6 +- django/middleware/cache.py | 29 +- django/middleware/common.py | 16 +- django/middleware/csrf.py | 278 + django/middleware/doc.py | 3 +- django/middleware/http.py | 18 +- django/shortcuts/__init__.py | 3 + django/template/__init__.py | 184 +- django/template/context.py | 91 +- django/template/debug.py | 10 +- django/template/defaultfilters.py | 105 +- django/template/defaulttags.py | 260 +- django/template/loader.py | 141 +- django/template/loader_tags.py | 132 +- django/template/loaders/app_directories.py | 67 +- django/template/loaders/cached.py | 59 + django/template/loaders/eggs.py | 40 +- django/template/loaders/filesystem.py | 80 +- django/template/smartif.py | 206 + django/templatetags/__init__.py | 8 - django/templatetags/cache.py | 2 +- django/templatetags/i18n.py | 53 +- django/test/__init__.py | 1 + django/test/client.py | 161 +- django/test/simple.py | 330 +- django/test/testcases.py | 242 +- django/test/utils.py | 84 +- django/utils/_decimal.py | 3079 -------- django/utils/autoreload.py | 16 +- django/utils/cache.py | 33 +- django/utils/copycompat.py | 14 + django/utils/datastructures.py | 84 +- django/utils/dateformat.py | 14 +- django/utils/datetime_safe.py | 4 +- django/utils/decorators.py | 121 +- django/utils/encoding.py | 53 +- django/utils/feedgenerator.py | 49 +- django/utils/formats.py | 159 + django/utils/functional.py | 106 +- django/utils/hashcompat.py | 12 +- django/utils/html.py | 29 +- django/utils/http.py | 91 +- django/utils/itercompat.py | 76 +- django/utils/module_loading.py | 63 + django/utils/numberformat.py | 48 + django/utils/termcolors.py | 134 +- django/utils/text.py | 59 +- django/utils/translation/__init__.py | 31 +- django/utils/translation/trans_null.py | 23 +- django/utils/translation/trans_real.py | 143 +- django/utils/tree.py | 2 +- django/utils/tzinfo.py | 3 +- django/views/csrf.py | 102 + django/views/debug.py | 64 +- django/views/decorators/cache.py | 78 +- django/views/decorators/csrf.py | 64 + django/views/decorators/gzip.py | 3 +- django/views/decorators/http.py | 24 +- django/views/decorators/vary.py | 7 +- django/views/defaults.py | 8 + django/views/generic/create_update.py | 17 +- django/views/generic/date_based.py | 10 +- django/views/generic/list_detail.py | 4 +- django/views/i18n.py | 99 +- django/views/static.py | 18 +- ietf/ietfauth/decorators.py | 57 +- ietf/ietfworkflows/tests.py | 4 +- ietf/liaisons/decorators.py | 15 +- ietf/liaisons/forms.py | 2 +- ietf/liaisons/formsREDESIGN.py | 2 +- ietf/liaisons/views.py | 2 +- ietf/settings.py | 2 + ietf/submit/forms.py | 2 +- ietf/submit/utils.py | 2 +- ietf/utils/test_utils.py | 4 +- ietf/wgchairs/forms.py | 2 +- redesign/doc/models.py | 7 +- south/__init__.py | 7 +- south/creator/__init__.py | 5 + south/creator/actions.py | 537 ++ south/creator/changes.py | 485 ++ south/creator/freezer.py | 175 + south/db/__init__.py | 79 +- south/db/generic.py | 515 +- south/db/mysql.py | 68 +- south/db/oracle.py | 216 + south/db/postgresql_psycopg2.py | 14 +- south/db/sql_server/pyodbc.py | 148 +- south/db/sqlite3.py | 445 +- south/exceptions.py | 137 + south/hacks/django_1_0.py | 18 +- south/introspection_plugins/__init__.py | 4 + .../annoying_autoonetoone.py | 9 + .../django_objectpermissions.py | 14 + south/introspection_plugins/django_tagging.py | 37 +- south/introspection_plugins/django_taggit.py | 12 + .../introspection_plugins/django_timezones.py | 21 + south/logger.py | 20 +- south/management/commands/__init__.py | 33 + south/management/commands/convert_to_south.py | 44 +- south/management/commands/datamigration.py | 124 + south/management/commands/graphmigrations.py | 39 + south/management/commands/migrate.py | 77 +- south/management/commands/schemamigration.py | 194 + south/management/commands/startmigration.py | 1107 +-- south/management/commands/syncdb.py | 62 +- south/management/commands/test.py | 25 +- south/management/commands/testserver.py | 25 +- south/migration.py | 612 -- south/migration/__init__.py | 205 + south/migration/base.py | 430 ++ south/migration/migrators.py | 342 + south/migration/utils.py | 83 + south/models.py | 34 +- south/modelsinspector.py | 104 +- south/modelsparser.py | 428 -- south/orm.py | 64 +- south/signals.py | 10 + south/tests/__init__.py | 26 +- south/tests/autodetection.py | 54 +- south/tests/brokenapp/__init__.py | 0 .../migrations/0001_depends_on_unmigrated.py | 13 + .../migrations/0002_depends_on_unknown.py | 13 + .../migrations/0003_depends_on_higher.py | 13 + .../tests/brokenapp/migrations/0004_higher.py | 11 + south/tests/brokenapp/migrations/__init__.py | 0 south/tests/brokenapp/models.py | 55 + south/tests/circular_a/__init__.py | 0 .../tests/circular_a/migrations/0001_first.py | 13 + south/tests/circular_a/migrations/__init__.py | 0 south/tests/circular_a/models.py | 0 south/tests/circular_b/__init__.py | 0 .../tests/circular_b/migrations/0001_first.py | 13 + south/tests/circular_b/migrations/__init__.py | 0 south/tests/circular_b/models.py | 0 south/tests/db.py | 204 +- south/tests/deps_a/__init__.py | 0 south/tests/deps_a/migrations/0001_a.py | 11 + south/tests/deps_a/migrations/0002_a.py | 11 + south/tests/deps_a/migrations/0003_a.py | 11 + south/tests/deps_a/migrations/0004_a.py | 13 + south/tests/deps_a/migrations/0005_a.py | 11 + south/tests/deps_a/migrations/__init__.py | 0 south/tests/deps_a/models.py | 0 south/tests/deps_b/__init__.py | 0 south/tests/deps_b/migrations/0001_b.py | 11 + south/tests/deps_b/migrations/0002_b.py | 13 + south/tests/deps_b/migrations/0003_b.py | 13 + south/tests/deps_b/migrations/0004_b.py | 11 + south/tests/deps_b/migrations/0005_b.py | 11 + south/tests/deps_b/migrations/__init__.py | 0 south/tests/deps_b/models.py | 0 south/tests/deps_c/__init__.py | 0 south/tests/deps_c/migrations/0001_c.py | 11 + south/tests/deps_c/migrations/0002_c.py | 11 + south/tests/deps_c/migrations/0003_c.py | 11 + south/tests/deps_c/migrations/0004_c.py | 11 + south/tests/deps_c/migrations/0005_c.py | 13 + south/tests/deps_c/migrations/__init__.py | 0 south/tests/deps_c/models.py | 0 south/tests/emptyapp/__init__.py | 0 south/tests/emptyapp/migrations/__init__.py | 0 south/tests/emptyapp/models.py | 0 south/tests/fakeapp/migrations/0001_spam.py | 2 - .../fakeapp/migrations/0003_alter_spam.py | 6 +- south/tests/logger.py | 57 +- south/tests/logic.py | 978 ++- .../otherfakeapp/migrations/0003_third.py | 6 +- south/utils.py | 40 +- south/v2.py | 19 + 978 files changed, 132940 insertions(+), 40173 deletions(-) create mode 100644 django/conf/locale/__init__.py create mode 100644 django/conf/locale/ar/__init__.py create mode 100644 django/conf/locale/ar/formats.py create mode 100644 django/conf/locale/bg/__init__.py create mode 100644 django/conf/locale/bg/formats.py create mode 100644 django/conf/locale/bn/__init__.py create mode 100644 django/conf/locale/bn/formats.py create mode 100644 django/conf/locale/bs/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/bs/LC_MESSAGES/django.po create mode 100644 django/conf/locale/bs/__init__.py create mode 100644 django/conf/locale/bs/formats.py create mode 100644 django/conf/locale/ca/__init__.py create mode 100644 django/conf/locale/ca/formats.py create mode 100644 django/conf/locale/cs/__init__.py create mode 100644 django/conf/locale/cs/formats.py create mode 100644 django/conf/locale/cy/__init__.py create mode 100644 django/conf/locale/cy/formats.py create mode 100644 django/conf/locale/da/__init__.py create mode 100644 django/conf/locale/da/formats.py create mode 100644 django/conf/locale/de/__init__.py create mode 100644 django/conf/locale/de/formats.py create mode 100644 django/conf/locale/el/__init__.py create mode 100644 django/conf/locale/el/formats.py create mode 100644 django/conf/locale/en/__init__.py create mode 100644 django/conf/locale/en/formats.py create mode 100644 django/conf/locale/en_GB/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/en_GB/LC_MESSAGES/django.po create mode 100644 django/conf/locale/en_GB/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/en_GB/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/en_GB/__init__.py create mode 100644 django/conf/locale/en_GB/formats.py create mode 100644 django/conf/locale/es/__init__.py create mode 100644 django/conf/locale/es/formats.py create mode 100644 django/conf/locale/es_AR/__init__.py create mode 100644 django/conf/locale/es_AR/formats.py create mode 100644 django/conf/locale/et/__init__.py create mode 100644 django/conf/locale/et/formats.py create mode 100644 django/conf/locale/eu/__init__.py create mode 100644 django/conf/locale/eu/formats.py create mode 100644 django/conf/locale/fa/__init__.py create mode 100644 django/conf/locale/fa/formats.py create mode 100644 django/conf/locale/fi/__init__.py create mode 100644 django/conf/locale/fi/formats.py create mode 100644 django/conf/locale/fr/__init__.py create mode 100644 django/conf/locale/fr/formats.py create mode 100644 django/conf/locale/fy_NL/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/fy_NL/LC_MESSAGES/django.po create mode 100644 django/conf/locale/fy_NL/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/fy_NL/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/fy_NL/__init__.py create mode 100644 django/conf/locale/fy_NL/formats.py create mode 100644 django/conf/locale/ga/__init__.py create mode 100644 django/conf/locale/ga/formats.py create mode 100644 django/conf/locale/gl/__init__.py create mode 100644 django/conf/locale/gl/formats.py create mode 100644 django/conf/locale/he/__init__.py create mode 100644 django/conf/locale/he/formats.py create mode 100644 django/conf/locale/hi/__init__.py create mode 100644 django/conf/locale/hi/formats.py create mode 100644 django/conf/locale/hr/__init__.py create mode 100644 django/conf/locale/hr/formats.py create mode 100644 django/conf/locale/hu/__init__.py create mode 100644 django/conf/locale/hu/formats.py create mode 100644 django/conf/locale/id/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/id/LC_MESSAGES/django.po create mode 100644 django/conf/locale/id/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/id/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/id/__init__.py create mode 100644 django/conf/locale/id/formats.py create mode 100644 django/conf/locale/is/__init__.py create mode 100644 django/conf/locale/is/formats.py create mode 100644 django/conf/locale/it/__init__.py create mode 100644 django/conf/locale/it/formats.py create mode 100644 django/conf/locale/ja/__init__.py create mode 100644 django/conf/locale/ja/formats.py create mode 100644 django/conf/locale/ka/__init__.py create mode 100644 django/conf/locale/ka/formats.py create mode 100644 django/conf/locale/km/__init__.py create mode 100644 django/conf/locale/km/formats.py create mode 100644 django/conf/locale/kn/__init__.py create mode 100644 django/conf/locale/kn/formats.py create mode 100644 django/conf/locale/ko/__init__.py create mode 100644 django/conf/locale/ko/formats.py create mode 100644 django/conf/locale/lt/__init__.py create mode 100644 django/conf/locale/lt/formats.py create mode 100644 django/conf/locale/lv/__init__.py create mode 100644 django/conf/locale/lv/formats.py create mode 100644 django/conf/locale/mk/__init__.py create mode 100644 django/conf/locale/mk/formats.py create mode 100644 django/conf/locale/ml/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/ml/LC_MESSAGES/django.po create mode 100644 django/conf/locale/ml/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/ml/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/ml/__init__.py create mode 100644 django/conf/locale/ml/formats.py create mode 100644 django/conf/locale/mn/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/mn/LC_MESSAGES/django.po create mode 100644 django/conf/locale/mn/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/mn/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/mn/__init__.py create mode 100644 django/conf/locale/mn/formats.py create mode 100644 django/conf/locale/nb/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/nb/LC_MESSAGES/django.po create mode 100644 django/conf/locale/nb/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/nb/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/nb/__init__.py create mode 100644 django/conf/locale/nb/formats.py create mode 100644 django/conf/locale/nl/__init__.py create mode 100644 django/conf/locale/nl/formats.py create mode 100644 django/conf/locale/nn/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/nn/LC_MESSAGES/django.po create mode 100644 django/conf/locale/nn/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/nn/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/nn/__init__.py create mode 100644 django/conf/locale/nn/formats.py create mode 100644 django/conf/locale/no/__init__.py create mode 100644 django/conf/locale/no/formats.py create mode 100644 django/conf/locale/pl/__init__.py create mode 100644 django/conf/locale/pl/formats.py create mode 100644 django/conf/locale/pt/__init__.py create mode 100644 django/conf/locale/pt/formats.py create mode 100644 django/conf/locale/pt_BR/__init__.py create mode 100644 django/conf/locale/pt_BR/formats.py create mode 100644 django/conf/locale/ro/__init__.py create mode 100644 django/conf/locale/ro/formats.py create mode 100644 django/conf/locale/ru/__init__.py create mode 100644 django/conf/locale/ru/formats.py create mode 100644 django/conf/locale/sk/__init__.py create mode 100644 django/conf/locale/sk/formats.py create mode 100644 django/conf/locale/sl/__init__.py create mode 100644 django/conf/locale/sl/formats.py create mode 100644 django/conf/locale/sq/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/sq/LC_MESSAGES/django.po create mode 100644 django/conf/locale/sq/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/sq/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/sq/__init__.py create mode 100644 django/conf/locale/sq/formats.py create mode 100644 django/conf/locale/sr/__init__.py create mode 100644 django/conf/locale/sr/formats.py create mode 100644 django/conf/locale/sr_Latn/__init__.py create mode 100644 django/conf/locale/sr_Latn/formats.py create mode 100644 django/conf/locale/sv/__init__.py create mode 100644 django/conf/locale/sv/formats.py create mode 100644 django/conf/locale/ta/__init__.py create mode 100644 django/conf/locale/ta/formats.py create mode 100644 django/conf/locale/te/__init__.py create mode 100644 django/conf/locale/te/formats.py create mode 100644 django/conf/locale/th/__init__.py create mode 100644 django/conf/locale/th/formats.py create mode 100644 django/conf/locale/tr/__init__.py create mode 100644 django/conf/locale/tr/formats.py create mode 100644 django/conf/locale/uk/__init__.py create mode 100644 django/conf/locale/uk/formats.py create mode 100644 django/conf/locale/vi/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/vi/LC_MESSAGES/django.po create mode 100644 django/conf/locale/vi/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/vi/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/vi/__init__.py create mode 100644 django/conf/locale/vi/formats.py create mode 100644 django/conf/locale/zh_CN/__init__.py create mode 100644 django/conf/locale/zh_CN/formats.py create mode 100644 django/conf/locale/zh_TW/__init__.py create mode 100644 django/conf/locale/zh_TW/formats.py create mode 100644 django/contrib/admin/media/js/LICENSE-JQUERY.txt create mode 100644 django/contrib/admin/media/js/actions.min.js create mode 100644 django/contrib/admin/media/js/collapse.js create mode 100644 django/contrib/admin/media/js/collapse.min.js create mode 100644 django/contrib/admin/media/js/compress.py create mode 100644 django/contrib/admin/media/js/inlines.js create mode 100644 django/contrib/admin/media/js/inlines.min.js create mode 100644 django/contrib/admin/media/js/jquery.init.js create mode 100644 django/contrib/admin/media/js/jquery.js create mode 100644 django/contrib/admin/media/js/jquery.min.js create mode 100644 django/contrib/admin/media/js/prepopulate.js create mode 100644 django/contrib/admin/media/js/prepopulate.min.js delete mode 100644 django/contrib/admin/views/template.py create mode 100644 django/contrib/admindocs/models.py create mode 100644 django/contrib/admindocs/tests/__init__.py create mode 100644 django/contrib/admindocs/tests/fields.py create mode 100644 django/contrib/auth/context_processors.py create mode 100644 django/contrib/auth/management/commands/changepassword.py create mode 100644 django/contrib/auth/tests/auth_backends.py create mode 100644 django/contrib/auth/tests/decorators.py create mode 100644 django/contrib/auth/tests/models.py create mode 100644 django/contrib/auth/tests/templates/registration/logged_out.html create mode 100644 django/contrib/auth/tests/templates/registration/password_change_form.html create mode 100644 django/contrib/auth/tests/templates/registration/password_reset_complete.html create mode 100644 django/contrib/auth/tests/templates/registration/password_reset_confirm.html create mode 100644 django/contrib/auth/tests/templates/registration/password_reset_done.html create mode 100644 django/contrib/auth/tests/templates/registration/password_reset_email.html create mode 100644 django/contrib/auth/tests/templates/registration/password_reset_form.html create mode 100644 django/contrib/comments/templates/comments/list.html delete mode 100644 django/contrib/csrf/models.py delete mode 100644 django/contrib/csrf/tests.py create mode 100644 django/contrib/flatpages/fixtures/sample_flatpages.json create mode 100644 django/contrib/flatpages/tests/__init__.py create mode 100644 django/contrib/flatpages/tests/csrf.py create mode 100644 django/contrib/flatpages/tests/middleware.py create mode 100644 django/contrib/flatpages/tests/templates/404.html create mode 100644 django/contrib/flatpages/tests/templates/flatpages/default.html create mode 100644 django/contrib/flatpages/tests/templates/registration/login.html create mode 100644 django/contrib/flatpages/tests/urls.py create mode 100644 django/contrib/flatpages/tests/views.py delete mode 100644 django/contrib/gis/db/backend/base.py delete mode 100644 django/contrib/gis/db/backend/mysql/__init__.py delete mode 100644 django/contrib/gis/db/backend/mysql/creation.py delete mode 100644 django/contrib/gis/db/backend/mysql/field.py delete mode 100644 django/contrib/gis/db/backend/mysql/query.py delete mode 100644 django/contrib/gis/db/backend/oracle/__init__.py delete mode 100644 django/contrib/gis/db/backend/oracle/adaptor.py delete mode 100644 django/contrib/gis/db/backend/oracle/creation.py delete mode 100644 django/contrib/gis/db/backend/oracle/field.py delete mode 100644 django/contrib/gis/db/backend/oracle/query.py delete mode 100644 django/contrib/gis/db/backend/postgis/__init__.py delete mode 100644 django/contrib/gis/db/backend/postgis/creation.py delete mode 100644 django/contrib/gis/db/backend/postgis/field.py delete mode 100644 django/contrib/gis/db/backend/postgis/management.py delete mode 100644 django/contrib/gis/db/backend/postgis/query.py delete mode 100644 django/contrib/gis/db/backend/spatialite/__init__.py delete mode 100644 django/contrib/gis/db/backend/spatialite/creation.py delete mode 100644 django/contrib/gis/db/backend/spatialite/field.py delete mode 100644 django/contrib/gis/db/backend/spatialite/query.py delete mode 100644 django/contrib/gis/db/backend/util.py create mode 100644 django/contrib/gis/db/backends/__init__.py rename django/contrib/gis/db/{backend/adaptor.py => backends/adapter.py} (94%) create mode 100644 django/contrib/gis/db/backends/base.py create mode 100644 django/contrib/gis/db/backends/mysql/__init__.py create mode 100644 django/contrib/gis/db/backends/mysql/base.py create mode 100644 django/contrib/gis/db/backends/mysql/creation.py create mode 100644 django/contrib/gis/db/backends/mysql/introspection.py create mode 100644 django/contrib/gis/db/backends/mysql/operations.py create mode 100644 django/contrib/gis/db/backends/oracle/__init__.py create mode 100644 django/contrib/gis/db/backends/oracle/adapter.py create mode 100644 django/contrib/gis/db/backends/oracle/base.py create mode 100644 django/contrib/gis/db/backends/oracle/compiler.py create mode 100644 django/contrib/gis/db/backends/oracle/creation.py create mode 100644 django/contrib/gis/db/backends/oracle/introspection.py rename django/contrib/gis/db/{backend => backends}/oracle/models.py (80%) create mode 100644 django/contrib/gis/db/backends/oracle/operations.py create mode 100644 django/contrib/gis/db/backends/postgis/__init__.py rename django/contrib/gis/db/{backend/postgis/adaptor.py => backends/postgis/adapter.py} (77%) create mode 100644 django/contrib/gis/db/backends/postgis/base.py create mode 100644 django/contrib/gis/db/backends/postgis/creation.py create mode 100644 django/contrib/gis/db/backends/postgis/introspection.py rename django/contrib/gis/db/{backend => backends}/postgis/models.py (93%) create mode 100644 django/contrib/gis/db/backends/postgis/operations.py create mode 100644 django/contrib/gis/db/backends/spatialite/__init__.py rename django/contrib/gis/db/{backend/spatialite/adaptor.py => backends/spatialite/adapter.py} (68%) create mode 100644 django/contrib/gis/db/backends/spatialite/base.py create mode 100644 django/contrib/gis/db/backends/spatialite/client.py create mode 100644 django/contrib/gis/db/backends/spatialite/creation.py create mode 100644 django/contrib/gis/db/backends/spatialite/introspection.py rename django/contrib/gis/db/{backend => backends}/spatialite/models.py (93%) create mode 100644 django/contrib/gis/db/backends/spatialite/operations.py create mode 100644 django/contrib/gis/db/backends/util.py create mode 100644 django/contrib/gis/db/models/fields.py delete mode 100644 django/contrib/gis/db/models/fields/__init__.py create mode 100644 django/contrib/gis/db/models/sql/compiler.py delete mode 100644 django/contrib/gis/db/models/sql/subqueries.py create mode 100644 django/contrib/gis/geometry/__init__.py create mode 100644 django/contrib/gis/geometry/backend/__init__.py create mode 100644 django/contrib/gis/geometry/backend/geos.py create mode 100644 django/contrib/gis/geometry/regex.py create mode 100644 django/contrib/gis/geometry/test_data.py create mode 100644 django/contrib/gis/geos/prototypes/threadsafe.py create mode 100644 django/contrib/gis/tests/data/geometries.json.gz create mode 100644 django/contrib/gis/tests/data/invalid/emptypoints.dbf create mode 100644 django/contrib/gis/tests/data/invalid/emptypoints.shp create mode 100644 django/contrib/gis/tests/data/invalid/emptypoints.shx delete mode 100644 django/contrib/gis/tests/distapp/data.py create mode 100644 django/contrib/gis/tests/distapp/fixtures/initial_data.json.gz create mode 100644 django/contrib/gis/tests/geo3d/__init__.py create mode 100644 django/contrib/gis/tests/geo3d/models.py create mode 100644 django/contrib/gis/tests/geo3d/tests.py create mode 100644 django/contrib/gis/tests/geo3d/views.py create mode 100644 django/contrib/gis/tests/geoapp/fixtures/initial_data.json.gz delete mode 100644 django/contrib/gis/tests/geoapp/tests_mysql.py create mode 100644 django/contrib/gis/tests/geogapp/__init__.py create mode 100644 django/contrib/gis/tests/geogapp/fixtures/initial_data.json create mode 100644 django/contrib/gis/tests/geogapp/models.py create mode 100644 django/contrib/gis/tests/geogapp/tests.py delete mode 100644 django/contrib/gis/tests/geometries.py delete mode 100644 django/contrib/gis/tests/layermap/tests_mysql.py create mode 100644 django/contrib/gis/tests/relatedapp/fixtures/initial_data.json.gz delete mode 100644 django/contrib/gis/tests/relatedapp/tests_mysql.py delete mode 100644 django/contrib/gis/tests/urls.py create mode 100644 django/contrib/localflavor/id/__init__.py create mode 100644 django/contrib/localflavor/id/forms.py create mode 100644 django/contrib/localflavor/id/id_choices.py create mode 100644 django/contrib/localflavor/ie/__init__.py create mode 100644 django/contrib/localflavor/ie/forms.py create mode 100644 django/contrib/localflavor/ie/ie_counties.py create mode 100644 django/contrib/localflavor/kw/__init__.py create mode 100644 django/contrib/localflavor/kw/forms.py create mode 100644 django/contrib/localflavor/pt/__init__.py create mode 100644 django/contrib/localflavor/pt/forms.py create mode 100644 django/contrib/localflavor/se/__init__.py create mode 100644 django/contrib/localflavor/se/forms.py create mode 100644 django/contrib/localflavor/se/se_counties.py create mode 100644 django/contrib/localflavor/se/utils.py create mode 100644 django/contrib/localflavor/uy/__init__.py create mode 100644 django/contrib/localflavor/uy/forms.py create mode 100644 django/contrib/localflavor/uy/util.py create mode 100644 django/contrib/localflavor/uy/uy_departaments.py create mode 100644 django/contrib/messages/__init__.py create mode 100644 django/contrib/messages/api.py create mode 100644 django/contrib/messages/constants.py create mode 100644 django/contrib/messages/context_processors.py create mode 100644 django/contrib/messages/middleware.py create mode 100644 django/contrib/messages/models.py create mode 100644 django/contrib/messages/storage/__init__.py create mode 100644 django/contrib/messages/storage/base.py create mode 100644 django/contrib/messages/storage/cookie.py create mode 100644 django/contrib/messages/storage/fallback.py create mode 100644 django/contrib/messages/storage/session.py create mode 100644 django/contrib/messages/storage/user_messages.py create mode 100644 django/contrib/messages/tests/__init__.py create mode 100644 django/contrib/messages/tests/base.py create mode 100644 django/contrib/messages/tests/cookie.py create mode 100644 django/contrib/messages/tests/fallback.py create mode 100644 django/contrib/messages/tests/middleware.py create mode 100644 django/contrib/messages/tests/session.py create mode 100644 django/contrib/messages/tests/urls.py create mode 100644 django/contrib/messages/tests/user_messages.py create mode 100644 django/contrib/messages/utils.py create mode 100644 django/contrib/sitemaps/models.py create mode 100644 django/contrib/sitemaps/tests/__init__.py create mode 100644 django/contrib/sitemaps/tests/basic.py create mode 100644 django/contrib/sitemaps/tests/urls.py create mode 100644 django/core/mail/__init__.py create mode 100644 django/core/mail/backends/__init__.py create mode 100644 django/core/mail/backends/base.py create mode 100644 django/core/mail/backends/console.py create mode 100644 django/core/mail/backends/dummy.py create mode 100644 django/core/mail/backends/filebased.py create mode 100644 django/core/mail/backends/locmem.py create mode 100644 django/core/mail/backends/smtp.py rename django/core/{mail.py => mail/message.py} (53%) create mode 100644 django/core/mail/utils.py create mode 100644 django/core/validators.py create mode 100644 django/db/backends/mysql/compiler.py create mode 100644 django/db/backends/oracle/compiler.py delete mode 100644 django/db/backends/oracle/query.py create mode 100644 django/db/models/sql/compiler.py create mode 100644 django/db/utils.py create mode 100644 django/dispatch/license.txt create mode 100644 django/middleware/csrf.py create mode 100644 django/template/loaders/cached.py create mode 100644 django/template/smartif.py delete mode 100644 django/utils/_decimal.py create mode 100644 django/utils/copycompat.py create mode 100644 django/utils/formats.py create mode 100644 django/utils/module_loading.py create mode 100644 django/utils/numberformat.py create mode 100644 django/views/csrf.py create mode 100644 django/views/decorators/csrf.py create mode 100644 south/creator/__init__.py create mode 100644 south/creator/actions.py create mode 100644 south/creator/changes.py create mode 100644 south/creator/freezer.py create mode 100644 south/db/oracle.py create mode 100644 south/exceptions.py create mode 100644 south/introspection_plugins/annoying_autoonetoone.py create mode 100644 south/introspection_plugins/django_objectpermissions.py create mode 100644 south/introspection_plugins/django_taggit.py create mode 100644 south/introspection_plugins/django_timezones.py create mode 100644 south/management/commands/datamigration.py create mode 100644 south/management/commands/graphmigrations.py create mode 100644 south/management/commands/schemamigration.py delete mode 100644 south/migration.py create mode 100644 south/migration/__init__.py create mode 100644 south/migration/base.py create mode 100644 south/migration/migrators.py create mode 100644 south/migration/utils.py delete mode 100644 south/modelsparser.py create mode 100644 south/tests/brokenapp/__init__.py create mode 100644 south/tests/brokenapp/migrations/0001_depends_on_unmigrated.py create mode 100644 south/tests/brokenapp/migrations/0002_depends_on_unknown.py create mode 100644 south/tests/brokenapp/migrations/0003_depends_on_higher.py create mode 100644 south/tests/brokenapp/migrations/0004_higher.py create mode 100644 south/tests/brokenapp/migrations/__init__.py create mode 100644 south/tests/brokenapp/models.py create mode 100644 south/tests/circular_a/__init__.py create mode 100644 south/tests/circular_a/migrations/0001_first.py create mode 100644 south/tests/circular_a/migrations/__init__.py create mode 100644 south/tests/circular_a/models.py create mode 100644 south/tests/circular_b/__init__.py create mode 100644 south/tests/circular_b/migrations/0001_first.py create mode 100644 south/tests/circular_b/migrations/__init__.py create mode 100644 south/tests/circular_b/models.py create mode 100644 south/tests/deps_a/__init__.py create mode 100644 south/tests/deps_a/migrations/0001_a.py create mode 100644 south/tests/deps_a/migrations/0002_a.py create mode 100644 south/tests/deps_a/migrations/0003_a.py create mode 100644 south/tests/deps_a/migrations/0004_a.py create mode 100644 south/tests/deps_a/migrations/0005_a.py create mode 100644 south/tests/deps_a/migrations/__init__.py create mode 100644 south/tests/deps_a/models.py create mode 100644 south/tests/deps_b/__init__.py create mode 100644 south/tests/deps_b/migrations/0001_b.py create mode 100644 south/tests/deps_b/migrations/0002_b.py create mode 100644 south/tests/deps_b/migrations/0003_b.py create mode 100644 south/tests/deps_b/migrations/0004_b.py create mode 100644 south/tests/deps_b/migrations/0005_b.py create mode 100644 south/tests/deps_b/migrations/__init__.py create mode 100644 south/tests/deps_b/models.py create mode 100644 south/tests/deps_c/__init__.py create mode 100644 south/tests/deps_c/migrations/0001_c.py create mode 100644 south/tests/deps_c/migrations/0002_c.py create mode 100644 south/tests/deps_c/migrations/0003_c.py create mode 100644 south/tests/deps_c/migrations/0004_c.py create mode 100644 south/tests/deps_c/migrations/0005_c.py create mode 100644 south/tests/deps_c/migrations/__init__.py create mode 100644 south/tests/deps_c/models.py create mode 100644 south/tests/emptyapp/__init__.py create mode 100644 south/tests/emptyapp/migrations/__init__.py create mode 100644 south/tests/emptyapp/models.py create mode 100644 south/v2.py diff --git a/django/__init__.py b/django/__init__.py index 33cb31243..835490b30 100644 --- a/django/__init__.py +++ b/django/__init__.py @@ -1,4 +1,4 @@ -VERSION = (1, 1, 1, 'final', 0) +VERSION = (1, 2, 7, 'final', 0) def get_version(): version = '%s.%s' % (VERSION[0], VERSION[1]) diff --git a/django/conf/__init__.py b/django/conf/__init__.py index 7bc7ae950..d94f6e986 100644 --- a/django/conf/__init__.py +++ b/django/conf/__init__.py @@ -46,7 +46,7 @@ class LazySettings(LazyObject): argument must support attribute access (__getattr__)). """ if self._wrapped != None: - raise RuntimeError, 'Settings already configured.' + raise RuntimeError('Settings already configured.') holder = UserSettingsHolder(default_settings) for name, value in options.items(): setattr(holder, name, value) @@ -72,7 +72,7 @@ class Settings(object): try: mod = importlib.import_module(self.SETTINGS_MODULE) except ImportError, e: - raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e) + raise ImportError("Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)) # Settings that should be converted into tuples if they're mistakenly entered # as strings. @@ -102,15 +102,12 @@ class Settings(object): new_installed_apps.append(app) self.INSTALLED_APPS = new_installed_apps - if hasattr(time, 'tzset'): + if hasattr(time, 'tzset') and getattr(self, 'TIME_ZONE'): # 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 time.tzset() - def get_all_members(self): - return dir(self) - class UserSettingsHolder(object): """ Holder for user configured settings. @@ -129,8 +126,11 @@ class UserSettingsHolder(object): def __getattr__(self, name): return getattr(self.default_settings, name) - def get_all_members(self): - return dir(self) + dir(self.default_settings) + def __dir__(self): + return self.__dict__.keys() + dir(self.default_settings) + + # For Python < 2.6: + __members__ = property(lambda self: self.__dir__()) settings = LazySettings() diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index 99fc72e46..b23b53cce 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -42,8 +42,9 @@ LANGUAGE_CODE = 'en-us' # should be the utf-8 encoded local name for the language. LANGUAGES = ( ('ar', gettext_noop('Arabic')), - ('bn', gettext_noop('Bengali')), ('bg', gettext_noop('Bulgarian')), + ('bn', gettext_noop('Bengali')), + ('bs', gettext_noop('Bosnian')), ('ca', gettext_noop('Catalan')), ('cs', gettext_noop('Czech')), ('cy', gettext_noop('Welsh')), @@ -51,31 +52,38 @@ LANGUAGES = ( ('de', gettext_noop('German')), ('el', gettext_noop('Greek')), ('en', gettext_noop('English')), + ('en-gb', gettext_noop('British English')), ('es', gettext_noop('Spanish')), + ('es-ar', gettext_noop('Argentinian Spanish')), ('et', gettext_noop('Estonian')), - ('es-ar', gettext_noop('Argentinean Spanish')), ('eu', gettext_noop('Basque')), ('fa', gettext_noop('Persian')), ('fi', gettext_noop('Finnish')), ('fr', gettext_noop('French')), + ('fy-nl', gettext_noop('Frisian')), ('ga', gettext_noop('Irish')), ('gl', gettext_noop('Galician')), - ('hu', gettext_noop('Hungarian')), ('he', gettext_noop('Hebrew')), ('hi', gettext_noop('Hindi')), ('hr', gettext_noop('Croatian')), + ('hu', gettext_noop('Hungarian')), + ('id', gettext_noop('Indonesian')), ('is', gettext_noop('Icelandic')), ('it', gettext_noop('Italian')), ('ja', gettext_noop('Japanese')), ('ka', gettext_noop('Georgian')), - ('ko', gettext_noop('Korean')), ('km', gettext_noop('Khmer')), ('kn', gettext_noop('Kannada')), - ('lv', gettext_noop('Latvian')), + ('ko', gettext_noop('Korean')), ('lt', gettext_noop('Lithuanian')), + ('lv', gettext_noop('Latvian')), ('mk', gettext_noop('Macedonian')), + ('ml', gettext_noop('Malayalam')), + ('mn', gettext_noop('Mongolian')), ('nl', gettext_noop('Dutch')), ('no', gettext_noop('Norwegian')), + ('nb', gettext_noop('Norwegian Bokmal')), + ('nn', gettext_noop('Norwegian Nynorsk')), ('pl', gettext_noop('Polish')), ('pt', gettext_noop('Portuguese')), ('pt-br', gettext_noop('Brazilian Portuguese')), @@ -83,13 +91,16 @@ LANGUAGES = ( ('ru', gettext_noop('Russian')), ('sk', gettext_noop('Slovak')), ('sl', gettext_noop('Slovenian')), + ('sq', gettext_noop('Albanian')), ('sr', gettext_noop('Serbian')), + ('sr-latn', gettext_noop('Serbian Latin')), ('sv', gettext_noop('Swedish')), ('ta', gettext_noop('Tamil')), ('te', gettext_noop('Telugu')), ('th', gettext_noop('Thai')), ('tr', gettext_noop('Turkish')), ('uk', gettext_noop('Ukrainian')), + ('vi', gettext_noop('Vietnamese')), ('zh-cn', gettext_noop('Simplified Chinese')), ('zh-tw', gettext_noop('Traditional Chinese')), ) @@ -103,6 +114,10 @@ USE_I18N = True LOCALE_PATHS = () LANGUAGE_COOKIE_NAME = 'django_language' +# If you set this to True, Django will format dates, numbers and calendars +# according to user current locale +USE_L10N = False + # Not-necessarily-technical managers of the site. They get broken link # notifications and other various e-mails. MANAGERS = ADMINS @@ -123,6 +138,7 @@ SERVER_EMAIL = 'root@localhost' SEND_BROKEN_LINK_EMAILS = False # Database connection info. +# Legacy format DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. DATABASE_NAME = '' # Or path to database file if using sqlite3. DATABASE_USER = '' # Not used with sqlite3. @@ -131,6 +147,19 @@ DATABASE_HOST = '' # Set to empty string for localhost. Not used wit DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3. DATABASE_OPTIONS = {} # Set to empty dictionary for default. +# New format +DATABASES = { +} + +# Classes used to implement db routing behaviour +DATABASE_ROUTERS = [] + +# The email backend to use. For possible shortcuts see django.core.mail. +# The default is to use the SMTP backend. +# Third-party backends can be specified by providing a Python path +# to a module that defines an EmailBackend class. +EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' + # Host for sending e-mail. EMAIL_HOST = 'localhost' @@ -152,20 +181,21 @@ TEMPLATE_DIRS = () # See the comments in django/core/template/loader.py for interface # documentation. TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.load_template_source', - 'django.template.loaders.app_directories.load_template_source', -# 'django.template.loaders.eggs.load_template_source', + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', +# 'django.template.loaders.eggs.Loader', ) # List of processors used by RequestContext to populate the context. # Each one should be a callable that takes the request object as its # only parameter and returns a dictionary to add to the context. TEMPLATE_CONTEXT_PROCESSORS = ( - 'django.core.context_processors.auth', + 'django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', # 'django.core.context_processors.request', + 'django.contrib.messages.context_processors.messages', ) # Output to use in template system for invalid (e.g. misspelled) variables. @@ -228,7 +258,7 @@ SECRET_KEY = '' # Default file storage mechanism that holds media. DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage' -# Absolute path to the directory that holds media. +# Absolute filesystem path to the directory that will hold user-uploaded files. # Example: "/home/media/media.lawrence.com/" MEDIA_ROOT = '' @@ -255,28 +285,98 @@ FILE_UPLOAD_TEMP_DIR = None # you'd pass directly to os.chmod; see http://docs.python.org/lib/os-file-dir.html. FILE_UPLOAD_PERMISSIONS = None +# Python module path where user will place custom format definition. +# The directory where this setting is pointing should contain subdirectories +# named as the locales, containing a formats.py file +# (i.e. "myproject.locale" for myproject/locale/en/formats.py etc. use) +FORMAT_MODULE_PATH = None + # Default formatting for date objects. See all available format strings here: -# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#now +# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date DATE_FORMAT = 'N j, Y' # Default formatting for datetime objects. See all available format strings here: -# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#now +# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date DATETIME_FORMAT = 'N j, Y, P' # Default formatting for time objects. See all available format strings here: -# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#now +# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date TIME_FORMAT = 'P' # Default formatting for date objects when only the year and month are relevant. # See all available format strings here: -# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#now +# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date YEAR_MONTH_FORMAT = 'F Y' # Default formatting for date objects when only the month and day are relevant. # See all available format strings here: -# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#now +# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date MONTH_DAY_FORMAT = 'F j' +# Default short formatting for date objects. See all available format strings here: +# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +SHORT_DATE_FORMAT = 'm/d/Y' + +# Default short formatting for datetime objects. +# See all available format strings here: +# http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date +SHORT_DATETIME_FORMAT = 'm/d/Y P' + +# Default formats to be used when parsing dates from input boxes, in order +# See all available format string here: +# http://docs.python.org/library/datetime.html#strftime-behavior +# * Note that these format strings are different from the ones to display dates +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' + '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' + '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' + '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' +) + +# Default formats to be used when parsing times from input boxes, in order +# See all available format string here: +# http://docs.python.org/library/datetime.html#strftime-behavior +# * Note that these format strings are different from the ones to display dates +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) + +# Default formats to be used when parsing dates and times from input boxes, +# in order +# See all available format string here: +# http://docs.python.org/library/datetime.html#strftime-behavior +# * Note that these format strings are different from the ones to display dates +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' + '%m/%d/%Y %H:%M', # '10/25/2006 14:30' + '%m/%d/%Y', # '10/25/2006' + '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' + '%m/%d/%y %H:%M', # '10/25/06 14:30' + '%m/%d/%y', # '10/25/06' +) + +# First day of week, to be used on calendars +# 0 means Sunday, 1 means Monday... +FIRST_DAY_OF_WEEK = 0 + +# Decimal separator symbol +DECIMAL_SEPARATOR = '.' + +# Boolean that sets whether to add thousand separator when formatting numbers +USE_THOUSAND_SEPARATOR = False + +# Number of digits that will be together, when spliting them by +# THOUSAND_SEPARATOR. 0 means no grouping, 3 means splitting by thousands... +NUMBER_GROUPING = 0 + +# Thousand separator symbol +THOUSAND_SEPARATOR = ',' + # Do you want to manage transactions manually? # Hint: you really don't! TRANSACTIONS_MANAGED = False @@ -290,6 +390,8 @@ URL_VALIDATOR_USER_AGENT = "Django/%s (http://www.djangoproject.com)" % get_vers DEFAULT_TABLESPACE = '' DEFAULT_INDEX_TABLESPACE = '' +USE_X_FORWARDED_HOST = False + ############## # MIDDLEWARE # ############## @@ -300,7 +402,9 @@ DEFAULT_INDEX_TABLESPACE = '' MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', # 'django.middleware.http.ConditionalGetMiddleware', # 'django.middleware.gzip.GZipMiddleware', ) @@ -374,12 +478,34 @@ LOGIN_REDIRECT_URL = '/accounts/profile/' # The number of days a password reset link is valid for PASSWORD_RESET_TIMEOUT_DAYS = 3 +######## +# CSRF # +######## + +# Dotted path to callable to be used as view when a request is +# rejected by the CSRF middleware. +CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure' + +# Name and domain for CSRF cookie. +CSRF_COOKIE_NAME = 'csrftoken' +CSRF_COOKIE_DOMAIN = None + +############ +# MESSAGES # +############ + +# Class to use as messges backend +MESSAGE_STORAGE = 'django.contrib.messages.storage.user_messages.LegacyFallbackStorage' + +# Default values of MESSAGE_LEVEL and MESSAGE_TAGS are defined within +# django.contrib.messages to avoid imports in this settings file. + ########### # TESTING # ########### -# The name of the method to use to invoke the test suite -TEST_RUNNER = 'django.test.simple.run_tests' +# The name of the class to use to run the test suite +TEST_RUNNER = 'django.test.simple.DjangoTestSuiteRunner' # The name of the database to use for testing purposes. # If None, a name of 'test_' + DATABASE_NAME will be assumed diff --git a/django/conf/locale/__init__.py b/django/conf/locale/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/ar/LC_MESSAGES/django.mo b/django/conf/locale/ar/LC_MESSAGES/django.mo index a31a0fcf0c511f4cf3f2ec676e7b7ebd18044f97..38d5a5832ab07c01438bb110dd26a3405dcfe80b 100644 GIT binary patch delta 25028 zcmchecVJZ2*0;}u(0lK2sL~Refb`xwp@ZN+h9r_?;!FYt#E}*-2#7~e^r|3A6NE4z zf(oJ__IlNcy<;y|MJ#x~=XcHy1oeHt@2~G%_dI*8y>?rB?Y++l@B417#4UHkN8YOz zztQ6PGtROazzTIN>wF2z`lG$Hmi2vK%evKPSwFy<$a(!Os~!9ooDQFXyVgg5{Bu zpcQycufdyP@hwVOe+>PK75-dA%X@OaE3gGOE}Hs^gweGaCr&!bz|s48l?{ z$M8D11bI1J1ARj+t0G(r!;hire{SUOU_^?a$Y_MW8-tR=yn$3OtN}Hn z22l1bU=7#~$}|08BRB>&hZ(Rmyv3B?0X484uo66E;0h=YtcM!FMpz!+4>iLAD9=0$)!u2S3B_Pp_%&4hvrw_{2UPnJ z-zcwQIjDx}Lb=d}m%%HbW^fhM8mGbs;VQTpb{%b5vI1}h)OI`p70ho! zP3#L;5B>rP$TRLHIQDg5*!FC!wIkgoCBM{AZ!RXKsCG%YM_r9o`O18 zUVuYj2}ao!j(~)hwG>X!{(qLtcoYr!(McABec&G06Mh9X;>#vjRtGo$+As`z!&{*| z_A2ZLzl4=x+az!M^@OdFgRl+U3_HP-u&eg}FJ$nhl{nGkV#wiSJ#AQVk{4VPU^Vpf z4X=k9;08Dtz5q4Q>XW^hCc*^d0Ax&-1AD;Fpn|mt$74iib`LTHx-}WLfLowWwx?iw z_%YN$RGs5XY9F16T*nf?DH+upZn9ahA0o)`syjyapSF{t*xhc#gQOmDz- zXX1Yu4nk2A&V(9J2r8o0IP)m{yTfzvG{dQOtz6G_-zJ}~L z>t~n&`_J;W;l2nN861Ra=rPz3z6>?eZ=v>YiP_$+s0bD1H6Y7vHGtaBAy^A8gz9)5 z)P%M`dFCOQ2|tC}T@$bJE~m&0GE&TjYIq)0hnYsc7HWVuK-t|0<;t6(^!GvO_rf@M z5UQQSup~SVRelPVhtEUlV-UND^`4ipK7%s+7RumfsDbV0d)Atx+cUztkx_;FpgP(I<@&==GkqRbgdadf@3)3! z=6Z5d*cyE=SOw05?ovR-);ic1ZigD+XHflo4X4n*^^;MIO7;vULd|SCl;LbBSEoRC zW>BtNY~)oi9{Cp7AKnI&V4=|`1U%1ng7Q>%sDTcI5e3~uG76d$Q;-YQaX!?HZ-JHI z9#|4S0<}~ppj`Ph)Bs~p9efBi(65Yq)|6ZGy!vIK+OIqh|I4s83L7>x1p}dGG!km2 zMqEHYG^T3`EnSB>tHDum*SO|g<8U@P&01~W#1tM|I4r^3UL6`jEBRL za4swX)1YRU0abAURD(;6em&GSyB&6hr(pv89jbooRImL6C=Xo@OT#`9GHPfD)DldD zn(;iSjzX{uTmt2hJi|3`F!If?3w#5r!3t@fXKFxAqzP2}Jz*Ri4i(g+pq4&z6&Xcq z81{tuus(bWs>6?<*8U9CfX+fS=)2l;Wo1|v**0<;sEPE1sy`Z*ffJx6HUrAjDPDQR z$|R$ahYc4SE{9sh2NjC=~J;pd=c_@*g;3##KUpw|39P{CSazPTk~ zBkli0GCC?pLp3}Xs>2YJC-R}rgY8f*eZ=Trhno2husr-7YR0A0J-GtZ#OgqK%!URhO`ia^aI50-=Lpk}%mR)u#%1>=4w z`?FB?=b=1TGUVy&LDg>pE5LRk{4bYwM`6PxD3@o$O7Lc=2JeAd!|hP-1&5(Jd>LwH zwb=Ak;T)(n&xTsUB~Sy|2sPllpqA`jD7!sj{IC6a$S95&!zZ9dei~|k??A2bS*VI} z+1|j)Lp4|pR)-DX7}x=7fDzaSo`OSRe2%wtqo6#zFhWKREP)#7Dp(P&hw{W-P_8-x ztHGzBJW&YMz?V=1`X0(-zd{Y5%mUAT3e>=^hVta~Q2nih`(R|fDd@Y<+XX{lWeR2* zIo-(1paysg)Bx{*YG@~vXAVHUxEzD6;X6?FrLOe`Rtak04UL=#@qEPUO-3W@4>glv zP!-2RH9XD80jS`~fSUQW(47&~+O9Orhk93B4{N~PuqHeX<%!n~zkq$T|Id?A5cSIS zDz1jS=2_cdBD5BH@uqDiek#1zRkkQCvP%i!rPK70J@D7w&P$Pc`Hize-I&8Ys>!1&m2d;#z;7w3L zcnB&+;+J{5tP<1`SA$xz`pfXY*3vcwEurN0P!+ovxi2h*JQ!*XM?r1dtDs^f*)Scd zel~0h7eU$G1=ZeGI2=9zRqy9z%v8~S9>p|Rak&@WDNr8Bfg0(HP$Pd0s-bsaTlksL zS6jhL1#*3;f%b&*`uRtwD`<0f(SgaIS0)7eA;kQr? zoP#ByFVEXnrJ*{g1+^`k!Tzu#>{aR42KHV6gUvBfSSP5uqSM}+8e+e*c*;*)@O~Kr5)F=>`>3y-oROs0mDi8rYSv91OsC`nR%_fjLkW z7s0YHAC`l+!j|wJD7&YiI(iPuQ?I~sFa}lcV2VMG-wlhI7- zLdh+lDz-Q53^np@P@d=uHREAMKLu(av!OgQ4{D%c7zeL4@?ygqpxR%#hW)P!H=gW}yfxQ7Wv-e?n_$AaycowQ&rJFpvs!%ae?Z z72sPDGP)MeKvg&g)zEpU5tdr(Rj2`V`P7E$V3^?;!--J!rbBf!7plD!sP@yLJhKGq zR$L7=@W@?cRB;zn!v_o>hN^JP@EKSE`QK2U`Vj8+@r?%;F{MrGy-TXG%z7#2X?nyd;dZbNPcwG^je9k}RD?|Z|6kt7r+$f$vu|MF-< zb=20#mqYFMzEA@iW8@i7Gr8Kx5vX?7!4_~ctP77rO`s4a!1J&gYcaYIfhq9Y*4t9F8vK^fEDlcwsT!54>pDh z#;(wYSHY$*vXqS0=su{RI|enQ7Y*Mw`p=;}bq>~pJ|gQ1*Z|6Y64XHFz?1L>_%KnVkbMc8!(R;>?eO#ip=LY*syxN;Ca9$-fbzuq zuowIWUJl#r^z3ItwZ8(&BMuy>{lA;cG!)-L&1l#zMh}<5WiW0x5e-+u$*{%)bPngk z0DKL0f!+6bZ$Lq)b{>Gk;3rT6PT1?czE6Of$WAzr{;kKzbc4PJy%BeZ1CTS}5Lf`G z!*ehPChhYYdIpY0ZoJ;X$3@+LCi z5dNQn;$alcV3miw5nc}EvMXVCxD2*{kHT^ABiI3UKJ0an3^ntA!P)Q_RELco_Uy*M zfyfa!6+UV74UXV{xnlGYuYp^kqWB@GHT}1d%N_OftzdWbLtsmI1MCKOz#i~@cp0qs zh_~Gazy#!U*bm+T$HKQ^ZP+&Qs22OFZEXpaxXOtzkvj71q-JA4Ep3ngO++zk@a5q$e3A zoDb{3-Y2~iax#<)=RwVMxsmUIZIB-|JY!hxl=nr{8#bam0^7m6;bru1Jx695{1M6n zqo49doD3Hr=R%GAd#IV7H!O47ldD6yxDixPb%vV2NF)29>gB?#;R-kpeg`8enEbTY zfgj4nnNTx}z=rTnBOft*9V+;KfHti9jOUq7Q0)zXYG*W5{aHr74pv283$^6;JcIwG zIA9D;LN)L@)S7<)72V&#L|EckuVN=y26-^72gg8pAkFBnhw{KGBi{wp&vy72eAwt0 zJcs|~+Q@TWg_~drulBpeT? z8}5O~Dg3hIQ6d_|@Onffnz9}NAWqI3wtGYO4XV9Uumb&CUw9eoEYw<;c*UDpZHR%@%CL*k4=_xEnn^NLgEvCW za4%Flk3!Xd8EX5!3*+Ef*c$!{Yij>Dd(~^GJJi0O1v|jSup`_9ZTKEkhyR6Yp!sW_ z3&+5A$k)Se@B!Epehjsp8~@w8)Ve~&%xqW^{&xxpw_nId*0d(hl=)DP&2+3mWAt~>^4IUya37r=L~)C zH>HlonTwnGhIAFKkOfa>5isO|L@l-;LLLG>+c2}^(E4LA|1{s1Vu zNw7Se1?$19VJ=(=XTtwR$V?(L^J89@-~rej*7(Hp$QZ*JPys!#*4jobyweh`d@lb{AR9qPQe2G-a9-$+KTDKG^uL(S+XI38B| z(t9<#3Tos}!rS3@FcGf)%G-vAq2wlCdqFr3s>8)l`dgq}e!|Ef!VdIrRr$s{F#5w8 z$V=c@SO^cp*57*nsQe*RY}EXYLBO%_a#;O)Z)t|XeB}9XH9QLgF!Fts@`F! zwLNL%&!OyoHY|0{v#Sj|qi=o=|Cb>%6@`Mw53hy`pgQ^x)`nk0%{cy7?>%7?T#md4 zs)G){d3OC_9pq_n1PsAS@G+e?7!X`r9*YR8p2Ht|& zHD_RJ_#0F^%}aZBZK3=A-_f~ySQh3&b-dhgv*A7{yHim0UxhmB z--hbw1E|=DE9=!S2^G}!p*+*BY{cjOt5jbU8b~VCOs|HG;0kENZBQ|A(v*JyyCMGu z`@&A;yn%$E1`>g4XEl@u?}eK2QB!`(@I@Ia=-z}{o6n#I@(t9Czk@Ad$?{&bw}a~7 za;O;S4P`$bD*BV4JhB$5-8-N<-UU_fpphSgvWq-TrZJh<4S$9@vujrHMxJCiAL@i$ z4z=xWhaKS-s3Z4PQ+^g|BIPT31LNGXdawo`Gs@kh2IQw{#NHFJR-yPAK^Ms!6_~;S zWI1)MXGpghT_U!Rko?Hojjj^xPx=(Q>qy5e?nTzfogj49-K^<&* zwEv5q>nM8<;lD8QJ(=rGNn6wTESO2UmGnAgYm8oI?~?CJN+61l&S;7;Oc(*66Q5ev(uT`y}W?uc8}} z!>|KFifO9`oR4lg{0jXx(pxg-8HVmgz5ku|WcT+Cl+TdfFh)<4*VEC+ec%+*PET$9 zM7ht{+-Fz-|5UBwy=D>WIKsrj9`ggzefVCCnf0Z%MzcKhyMm+iOAn8WZ zc9L$&@3H@py!Nr4he+R|JC9C}0~6un5_q^)th1yrNzVhM$Pr_F5@81U+fAVi^gQLk zebwGX*`i_q zTt?FKG4cnHwbs5{)@E4=&m6@9DUKVoJ_X- zKZMNN7`;Q%iFTW*umPSlc~xpn<^Le>BL6LXf;5l(OQcSe4J4H%uSeVZ=VG08N7i#A zx|yT{$c?1a`s=xq^qHwJgZyq%25Abq$1!XQ-$5<`o0F=NzZ%|W8lFggAL(xNMbAj& z_N0cS!=%~RmNJEtk$)r~S;x;ogx^U;&l%I`Cb-(@li}ONY;uh83&wV|DSI5QC*4JP zyeV5nek!RlavRd0Mt>LYAJ%Auf00U)LZlrSK1u^6$=4vgO49Q@X%P8M@Bwv3{xy;3 zO=I&4@@(X(@D9>6^n7c$|EM85Jq^+QPP&==zvcgG2x}2G!rw>>Nbiw~o(?qBhIAU; zdZRo{elPj;@F!9klD?LYkouBdNA5uR^rA-KWKv(!@1&8WQ`j8T`oBem6a+mjV1k#m z>Y~p^{v7IQ3v=NJ(s)vH(gafRX970eQFJB^H*Jn3{}TE7a0ul)$zKDXC8>Yw5&f8_ zOHsz~MT{OKUmfb{PvwQ=e=&`FTJJZ8J{^5M_^>HoL(vNIo8d#~JCpQ0;W1(jp|Bt6 zs438U*)8PDqk9DEt>pt)lXM7O4(TD%N#vr3?@ntEx{pYM(0_=0CHZ915%S}U+4d$M zXXFE#e;p%SjbRz`uaoAIFGuC8N&S$ofnn0u=+j8&&;?0N(IvuV@C^F$q*Ua)k@c(~ ze?R#k>1I*_sW!Tz$Kn0c3Xq;8T~8`Ss!r+87#2NOnEd;c%_M&aPNVQV?225!nC)@$ zi_x#3d_pmOQCls@+=TuyY=Yz?8%@c>DE5+Grcm#B&qF`yHuCS2+LJFqdKa4)O`S&Y zS9DjQn@7qaEk(W`{deT`JdM1cq~}V~=cIVbzC+hq|NoaG5N<%J=VcG>U#Mic*jY%GNdKnb zW>Px}?lwlfj8UOsY4j(^zY5Qgrj!2$eq7WWRC{{Hc(C52{4Kw_y7o~r zQ4BLtHYW8WeL@St9V7n~tcASIG&sQUF7#tbJCI+ad={w3P!U=$69&kV0DjR197qeMHh@W3ZpXqUS7f2I*eXI?{6#JX=&~I2ijMD637XLOzM~ z9C*Ax*P$C{ zaMiqwwsx1gTLQ^xo)j9w(oN8UieE#yBX>6vA0x*%6Ex=LQrCBHwY zuCdK9e9rJe*a_>WNs~;i+l%5=UMPCT&_NT@Ehw5AWj5uxrsLk|dKvv6#p+3Q6DdF% zOlnJtk{V$%2&S3($KXJd-x|mIx1z9|Y3L6MMv*=vbwmFssRCtRn+o@mzZadJ9Y&}8 zeWd-Q#-<(V^lTw@L3dd(Tj}+5LieFw6!r9k-;-vW23o3dSU!coF z9tQoi^9%WUvh2C({&2W=)6_tEwA&Q}OLWc- zX8Y4;&kg2eX15O8;Xry|ZgwEq>Ytu&w`ldxh0dCuO`O|%&Zro+hYqk>gzb^~bxQS` z7U^II=TUF&rHys8=LRz}0-4$NLO*@v%$*wuhv(&_r{`kppPQW)%xoP_w5Vr>Va&t! z!aykSKUe5zhXUc8^z5RV0Vk{1xRU-*ia*CW*6WHo{>)%@Y9K@>3j(1z!Ej)9ravRl zI_&(`t7EA-{>(IgrqinT{k5|~!3A_<=3X?|u=8y1-%8RzTFB|$r=9atpULG1_|wy@ z0shSFK&CUbZ}X;^Df4sEbF2Y@P5xGbJ55ZTlq*2w|F<=C=m=Sqguq#~?NMe-q5i4*ApV0m0Nj2BWnn z1X6I;1%1-oU^X?9qbdEW`6B57f5^aQC$(R!eQBDImQg*?Gf#gKYGBW%L;Xsx@0#;!CdxR7Cc`5^&{GK&?C3T7trUmz69EwY)I8wzFyoY(p< zh)x=CvP87;kZ!*6>1i2h*|Qh;({lpOJwxl13#SGb8nMIBM%6Nc;cV9Wf3>RJDlL4e z4N>1JE!%e07aJrR*0OXGPSH}@!y7iAI(2HIHJFtT*?xOc zVp5_V&c;V}Fl3`+?SrA*Xs=;w;+h-x;yin5qNV?MF@=r@ZsqsK=|hgQ0c`@f~(oQVrBH zqqMVF(qJYrm6l9!IaNm2j~*FaKCUEDpB#u5jIH3Sxge05Ha9(B6F-5>aKO$=X9{ln zkBuAXOK>`lZ*}kZxb^`SjCO{ycS4!k-PVw_Kzg!Hfb86?Ko8tJPm0-+@aLZs)>r-e z9$S^vu5BPKCDR@m$hBL^)J_iItBkZvLTgSgTU^~I+iqK}oqb8mONG+H+PWPkwycs7 z$PVQ)_H>x4yKe0W+pXFx=0Wu34`RxJPKg#>gbXgS(rG7r}iqFiI=iDt5Tfrr#@J76h|w*v_^3zgzWyf zF_h+a?wZ!JQF_k&9BZ^cGdCeSn80|=63TFRNGkdO$5t^`ei=Y8GFOxmn|IOE^`KBcdP8so`@fC)cT!@z0l9^W$0S!<6kxRE%0!KSfmYgFp`LbHFf`v?B`b-oDK{o%`{!L)JEY*;`KiJ5 z403GN)Vb-o$pPir26ii_RqB9YSf|gol5#RQr9wrU`hr-rQ7FZfwGYzyj`vU}nM~R-}jBsY7wQ zP8~eEQT}jt!o-k2lWohT+`}Fl4*N6w_UJ@=WGbtXZTAY!cQgHR{i(rVBCn)<%8lZT z&*4=mVPe3a;S?-cRbfRAd?`T+Qsg3d;Vatx8^Fauol|bLc)0n7{kS^>NzJ? z)Q(q=Wa?HA+p#@~v7P$tC|vGkoF7+Ai>!$4uww_A#8$>BPsa9Xz$}D8eLr1nPy=R7S=i!z7VG5V*UrUC|62uT z#L7dBx5WxH$imfD?0zx@^s=>B)~TP@snz|lhp<>0+hxb1u|0(=7{H~UKX&Zi*n_bG zXLeryO0jKtK@pqBv^F@K^Ij@@M5CtReNO-VHLKvIB7eqq(Up_3>YH+2!K)BuhhtGI zwk>v)9^9;k#sXR17%|Utmfbk8kJhSidEsixaK+A8fxC)%R_uto@UcU&y)?d;5TUdD zSb;vv+$QL;wdL%O)OF6>II*fiU?&5Pdee{Xa+c=TcE;u3+Vp<62W^T2a*Rgp8q-rg zBU4z$^2b%7eKrjid9ep5*x_8Z=CZD8Fm~9DzS!YHGvn2Tt1y$Fc38%Ms!pGT<4!QL{U!9mv)ZGjzpDj@QtMI#xc4HGL+b}6$j0#8&>x&eHaV>VbTTVNP z<=0^>jo8B&t#k_RsNsBdXCpm0OsQmzhm+97A(9kq(eqwn1Pdz^FP_7=|ht>v9c+sZr7-CjR>ers=^t;ykm z)hs$bDNs#sXgC5-Yb3RtEqBK|eYW*<`fP5&3;s3t)^N6Ls})_pZC_lH>rJlOrCJsv z$XOg(n$b$NDv>=(7o5a$zC|g1x0(Iw*pa_|U60)UL)oI+Y^6@_imvw+m;7&+(_=@^ z8Kw`lqAVR1&;!mT*xZBo!YhbZ?)IehU+SI`Ycy#M^6w3_cCvRo-&Dtg<#xhpbU|R6 ziaqxnbw=*&U7s?YR?I>Zz26<;4)^@r<*eFyecjkmy1bcr-l8)~0_Q6&?2E?ls_ct4 z+5M}pw%nsLdLN}K<1SGQMCO?h%c8F=0~r3u$(XA)@2uX-QZR_VQTzR&5e_t|6J;|{?BFX z1iJVi$}}I{KKPZlg@ya7x8K8sRiN`l6J#W0-8s9%i0#q%T?2&x^Ke%0+g6T|a_iE} z9;fAge_dVmG_jjST%lyg%&{3=xxcorDb20+Zdc8V!-NhH{-FtUR~(x?TzttW52l3~QVAju){y_uCo^y`-^a3iCK}+*f|S zYq({cmyXtR9z0q-I^}4e_%?-Wv|3!&>XT4l`nu1S>P;q)K2K3>UWA$ff&9gWR6;Fg`Kh8(Qi-o ziW^+)JA&Z2^luA)`HP(Go=5pOoD0x2LO(m%tL;zQ>Vsa~t>SKZR@ZiVpAJdExR4TV3nt zeD+NB9>kBVRqNtGfPeIHu)L7XsyNbIb-*Z)m%DS|-N8Bg%c}C|xyEZ;afBkcN)j6;C z^L+h{P+Jva?_DmoQ)eyv%ne*V0|{={>%t!o-A>(0T-AAJI`iV7_@1m8yMrp6rQUwa zN6h1&srctXl)Q8>Uar&?g{wF_x#u-^_il`~dTnu>GhtJ8r|%n;Mlcb%m5W3M<|g-c zm!~iX=$J(L{Rj< z?;VThZvaJq*};#?G)Ng0)8-N3hb;xE-6CuiuGTKm(a$?PK~!9DJHJHXzJOdbrrDkB z8Qw-L*2?{}OZ2yod-;mKv%7wJe>{!kJB6QK-qULcS8QOn6c>thGHxf0Cm#CI8W&^YjAn0T(0t(1h#4Q$7Ea(5u`q-Ouo_n6>-n-8E^80#UGYRfh8-i~50zF?84O(OI zYzeTeFw9@vvR(|dtUtn)YgsiKTh?lqWrZU}*0Cm*6@k}qFuIyrR&yMRWpO=H)jEWE z@S#aR#$u$Snpsu}Y=?~Jv4#+-PR2CjR@B(%F*iOk{%#Clv?An(pe7QAnph_c!x1Ju z3)RmmWNp?vmc4~Ng~-ozz1tfgfY!277J`vvP^NGr<dM@@JqHJP$qPi7Y2l1z$G>S5X7sM0Na~N&jKWLt0x_DETE( z14dv7Hbkwg4XRy7)CBsY>J3Ltc$`Tmw`Tu~k};hOxfBcGE2tIkM|E%tYvCo-(LBa9 z3~a-3;51adl_tF&wbchr{%Pa;s3W?Dn(&P_9%sh)$w zEE-j>J!)mWP%9sTI+|G2Kx0rlk&NnZ4wl4)SRFTeh-l_#P)G3r?!yPT9yi8VR!?lu z&a!yptPG6D7AQz3b9VKy7gbGM2R+>)-<{jbYs^t131$4#n!E z=c7I^vamJdTY=r3nYBYT9DwS064t2#ntq^;3VofA>T0NTO;o?psQ#MuW&bs^7*nAuD&5DVhhhNf(WnMvFc_0ec^c*; zJ=2sgGWjb|_12;W++@mML-oH8btw;fh-f8$penjpo*L%E5G-O0LzP#@ju?&4;dCs7 zCvi4jMNPD4e`hBLVlmPaumH|O-HjDS&u$Yrh2a$3z`~e&fb%_F3Uw#yU@Pp1n&2YT zK+8}ISYy%~P%GSS^7o)F?E&OetVbrl1Frx_;<36A(aL(GIvk1`AkL{^jYq9;5~|~Q zsQOD#JG9!QUoqvoQSA?!^0&}U`V^}FJE#di@RxJ`KM>L7_yhA};2@`BVblPnFcmAK z>a9cV&=ym^-{c=f4SWLi`@uQXgfF4`xn|Ngu^#FBSX=LZ*kGqYXVd`QQ8Vp_YB&tl z(Kyu1CmE+;d(tzp0iHm$dyHDh-&h*+4{^@E8tO9F$CB6xJw=K1AW{NHVKbbLW$_Sd zz$;h~KS53CF6uJ<3$+t}p^l``P^W%r)P&2U-j3?1h1E0VO;HnVHI(yLq@&5`ftvXM z)Btf<4O38`Wb08|eBO8&wW4dN34V$i_#SFv-=pr1HO%>hER6b=t%b$0^Dy>b4M&op zElI|*xCldW2Wku7GWl0gD}9Js*{{Z+;pWbuCSD4)kZM>P>tO`OVh3D~QFz@$B$-IA z5ze>S6l_U)8@9$<$Qxr-9O>NR>8KsqfchvsfeWxetn+)qN?b(xOKghcM>$_+J5fjQ zIqC?%LLIH=ArXCq{)oCv!K0muT~J5U8?_UIO@1<}gDI#L&O`0ca&+S^)DB)i?d)AF zg+HMtP$14Znowkp9;+%5O<)n~?AD`>VmoRAM==ObqPG4V2I3V|{p%QnU!W%X6>37i zqK>F&yt$012~|%tTPyimBu^ey->G(v+*+O^XBjI?7u3Oc;5M?vpp(37PZo~7>#dWd%TB} zF(T3VlWaRyCH)>|;9ZkWoZ#GnRoIXGz1Rx_lAO1sFKWU&lh}V2sIL+}XlwPBq`y{6?RI=?YZM%|4KsD9tXNW6|UFldsqgS9nmsI&b8b!34lPJbm)ccZMaGO9mMEh1WR zG-}|!s165WCme-pxEBlI8#oA0qgGy?uSQL9Dr&;BQ0*6DEnH#p-$qUBH0H-kPQJ(T z5z$O;BNyKK8u?VUdZam9{yNSleHZ<=oeQ7=5>W$ALH|ln9WTT-xC$HMHPn{po8r{3 zk3~qg@TWQd9z^^rHjY9Kl!ygzB5EabP2mmo{LZuIE5`Rc$#zB zVo(zqj@pSu7^L@qIgxy58(%RM_81SMCUnI3uJHsGB>xO*C$6E6>IP~j?xGg($dp^t zo$|b>@*?O_h4Msnh7qWVL}M{*f$F#yY662%4Tq!ZJ&&5eRMZh*qZ5VaUg2IVyFq0LhVRJRQm`liH%Y1dZOy} zK^^%}R6WmlBAUPyERJ)r4z5K_;4Eq5$lXa5swLcg2z->CM%vz!U! zMYYe5g|ReJ-(%GzqK@jIX4V)r;|>^wolpbJFwQk*pxP}(4YUR|f%T{XwxD)oKkCcu zC~D##qS}3i!TSEcd{xGCo0doNKl-^AOZdmBh&|wi;(J({*#4FPozCoPP<8 zz=PCFz`htZ-}z3MgndY_MNQxv9H{sIMq`P2g+=6ZKE%XEsc|t_D`!Ce{TOh-^-Q`f}DyWs$M-9*t z{S(Ftq(@>|oQqo7Ce%PXu{FMj>PNqs>JAjf%2;j@`>zIV$S8xIQ7el_o#8}OgL$|E zm*Xm|yV&`q@(k7{{RL`k^S|Isd?c!$v8aAhPzzju>Ti`vzw!e6ugkHI3^h1~n)zka z4DX``$iKwd%BHB-suz~R1e2a`$~U0uXQTSPiJHJqsDXoDbl$R}sPY;fBC5~=wG-Vj z9}d8BI2yxn9_kl~Em#TP#e8@RHQ)o(0A-f)ucufY^%|eU5PWRX0n3~ttBcC_^fr-U zs2PpJ0yrCs;)|$(wqP)3VF^5d;dl<+_ycNUMVC7}*udBWb@mCE3#Vg#oa^L!tYt*B z^3A9_@EU67Cr}lCK<&g|cpAf2@b2PmezU2I4Qrnf5wUzV%)CXBFE{b++EEdEJ ztb%KdNB#Mn|4kxV`9o6>Xgd{aU~TfdVF8?p&G7}Sk7rRGJ~6siI|H>x?NDEg!RK)h z?#ITMcMYq@wy5tP>l6__Ypj-Qo&TirHV!0RVx9AMeKI~rdM9eYhu9B`z3fap0X5JZ zY=kGVKK_nvvCewukIobvO!^2;#?TF%zdBk%q$1uj25fYGZ?A%V$e)Nc@HBS7?@&8Y ze-r15ldvm(hGAG^vvU{P<1o_WuqB>F9ZB#O=hylwTX_FlkkOwE&3rX#X7A$wY|B;F zYq$Y5fn%s0_!^sF{;kgM{~fR==|qgecTxR4L@lh^Hhy)-=TPOlP&<~h&Esr!x$RED z6x0ecQ4JqrIV`-xG1Ax-tC2q*HPA|IiWjgt2EFRM9TBKI)E`@8I`+UbSQ3kSb~cg13uhas0klJ^?TfS0SlA9n$7-e;IGIih`(Sj3_j@m=`;X?NUuSaZ!qpQzJ==O9BLpR zYM`%BpC1pf6}IE*t9?3FK^yDfTVD3RDv|qSXrO{`IDa%2L!E7Btc)obhikDKK0ysw z>5y{?YhxkO&5T`8@AnW4#Z=T?Sd95`1s20i9wJ)70aM|Gsc_!pUpL-E&HOQH!eMVZ z|A^ccn~|P^TH!&|04Fd2FJm}f!Q%J?)lZSb&RgJVNF<7kJ{XPZ=*Blu6+cCF@CRzk zs=ejh{{GmA^a9ib-o_I67;9j`BhH;_WbBOkL>-3ODGzo8YXy-GWPFMVSpKN@QY=G~fCh{{5!RTX5&c%PAz!{{A9OrKUT#6&G;|YBS zaQ>M@bVlEzR$!epzvp8~k`+-CY=XL6bB!;cwsaM0%XeW>JcK&i^H>)@M_s}~r<}Xh z151<6z#5EiZ6%`1aRH0qN2vTSu{@4C?M!eURwKO@b!Xm1P3SUe;7>6Kzd>Ej?@{Hy zV<`+gP|B1YzR+A5%&xIeb3F)dI@dn`ttdEtiIKP?=#3iIXGl?uFlIyDT zwYdUS@nL@3f^n6si zWvCtr7hv2!oPO`4 z%74RBSmZOlSFk1)WPEEf5p|S~Zd`$y&;iuIC$JZ{{vs|T9d^U{dp-+!Gp#>Sm-W;a zPP_A{9mzreLa+eoM>qhjo6diH9*7>!z}iei1AT^pcn39s`^MjlA-9|@FN^wosD#b2 z1=hhC*Z{LI9dF@WjK9qvuy_xLfYJSC^S=bA;6R%(ZW?^Z39gE{R z)S2JF+;|67?}5qx-uMe@%l|YMzvJ{<8T(Z zp3`9gRCz^giH%V0rl1Cxhr0dCF&wvHF1&=Qch#hC81EQ8-x4WAg-58Z3HaLC@-nCa z>tinLZ0v>VaG)t4jXL}3CVw~T^1Xpt@o|&?CAvs|hg#tG7^L_AS5x6n)IfReJ72$r zP!lL^tYd7Csy77l;3%Xc>v`0G6H#|!6{`Ij)Meg-+M#!_27ZVxz5l-w(IxvG%VX$2 zo!77)>a6;r$|qtYT!NawNz8*6O!-yR4n9EbP|!C{c_CvdRDMNN`v`O~zEzKiX4(L& zVHeDeDX0Nvpf1${)E2J8Cb%AT_8+4z?=1|$?@{f3H|fA{oq7ea0{LZ)&Cvh;4o|iKus%V*J9Hs^j<_bEHhS{v z-yldysc@8c?`%-V|U$l z{m)zVoF{&q@Hruepl2w)LOAOrt=+_5Cmu_izli@qh$o(o$%Kl;^_%5(>TJQLrronp z#R?DLdLb61Z3s1pXX<(_rjeeOSb~BMgjCWG36seiM3_rnLBb-!GF9doNc`#Zo{7&TgO60} zH$vNI%F~GJ8%j@4!g@kC(w#jfvm1kyB6Ox8itrLapO*s(<;cH>dI}Jarp+cNX$>OY ziuf4v^~4fhC$Bweee)D29!wZcSWS8{zD0;3-jh14pMMu4L(i`c{-1mJImdLmkn$0v zmlM_#uS@<4JW0Ag@ydh=gkZu6^5+vu5^sol;t5eE{sQ@pi0^XJ9_vRUqsi3QO-0o< zPcHKHainL3gY^&c^u0QTFp@TnNms-ExEA%>gPyJq)-3XJQ>G7t?)U?t1bKQk6P7yb z=LVDbkite3_9LD^{OR*8@p>diVFN-(Q*em5{)gXxlHQ;)48Y5Tg2bQ0@&r8%32TY# zKZoeqM|_^jwEuxbicv6x@DuTZcn0;~P@X;~h^%`i-I2KWX(3J{-5w`Blh=oS$`JJM zn~_zWcoCC6O#O=lPYZr5SA;Ny!ecmwkcXhB7$JoCEW+Ew-@$gKtS$A|s1i@OgEhbm zaD?poIq2a3d)q|)+~ViLXEI(O z{xczx@TcjchnbM7eL*-+_>wS|&{z9^n8-9LbwWM+2(OyPrOBT`d?H~0`R@}_iDwX& z5aJ2l%>d0Pt4#VO(zOXGq_YWnwv(@Cjj=g?tPGuhB$ewcVV>{tEy8ZX0@JyQQivxJ z#?!bB>1C!&UulJi|C9Wt1U(6aoy7Z*{{=?-bJ=C$G34#Qs|3#=3Vtw!;ukXYjKCdE z)C#46zUE$21LDOAdg|apLLxy6c|ur6xIw+@gnWcZf}RUF6JIoK_YyCpW=%|mx@4pf zKTEhvd=wS)n#v^oPYHhhZt5$8uT!fvb&{3fNhb`T{0ZS};^PScl&>b7Ca!0g>9eU{ zrrn6l`6S-KMAhJNk?u+-=ZH@<4Sw;LFafMdULne>o4g?6j|gMQ{|Fo7->6@gK1DsV z3EvTq@Td598sbCr+SM}yRHGotR9Qty2rlAv2w{Z$gp!1|u!ZR2Y-#yFb1S!C;}V)EV~?-XGi>14txlRwY+GIgJ)+*6kyJN-?aA77E)O1MC>9ia{J zsiypS8V8vUlr@F2r_Wg8c?tQ+c#Uw0_y+vi)Cna1G4av(H$hKLz5g5O@G}ZllChs~ zn|M{zXtNp2OFF~EXBzurDq$%him=zTS%qZ?oe0CpUre8+h!-GSCBA{Y`^3j%gwB5^ ziEb2pf}i753OW$7i2KN^LA)8^Mbb~7p5#9wanoefAl-#{1?uUkM0x_jCjB#Z#xvyi z@t6MR$0v;Mf8M0hC1SM+`eRK`nuFEVbZU}TVbZUXxIw5&m`z(f4akonzRaY{lK#sn z^8XBcrk}pl*-!9~@1wYgX;jiQn2tGwqNY)4lRpeAnfSZ32_@vAP8{JH`C)`@s+PL_nw1m;IY4LHb?B6?92}(&!NU~c$*T>%Y++aJnQ>{X2 zv5B!sR!l4=CndysQ#uuO+23`pRARyenz|<>$Hk|_rX?gNxhGAIpB!)J?^4B{)g>*r zdt!1by?Vdxav{*WuSW}4-~@Wk?AhGj+_RN^tXDZ#sy(4s$yL2e+Esd2^KR-rFTgvq zU%dePhXKdE`3Hpr*pWkivwIJX*>P-Wfc^dOWwt${ntgwS$4(wu#m*cVZQmQYEO(o@ zxRm(RRBv)@BbPUORE(>5=h&o3iyxC?Q>Np@*rfQ>czb2s8^K9Qv2n5X(f9#&=`l_0 z;bZpL6~eS?vxTaQ*qdSbNwRbo;5)d>;affFhR1tlh=j`J>?6zVFG=o}T(pBS6+^!yU-Eh%N~ zt10eQZ4xJrW9ufwrzDJaj~*AB5<5CAJ|)$ioRm1-T_Z6*O{oZXT*BCdv{ZL&Qk;8o z5;IC2%`#KNBkkDKZr;PG>s+A|(;}@t@e|YHCyZjked1F_CB)hrC%5)Km^{Rli$h^X z_PbNN4Vp$Zv0E=MQ|#HS=*G38>P1D_JC?60(4}qcsQ5&8bYygNWPNYD6`h0a?A4*R zcXd&JxVENnkT27hZC_ba?0=7xvahZw`R@?8wuD`7ZE3s0+L8*T^}_o0M*4O+?{3b5 zr%}7p+Cg^uI&WBJPP*?%&cdAZoF%^9mhZnM?fx&+n5<<`F8k@(&u5H*P{9g-yv%3&sm-`-}j2$a#KtmU$*9ylVKm*lw`NsyxT6Z zrJeo!mTKOMTV}ZIyIY%;J*2UiFwHf{JeuxyvzYXp7wm1virMA2HL^e5cDa-$yglkd-|?u?b`+v9JQp_5;%vtdgY za}l22MDLFu^m8@vWx6R@?AzjxB5UpqOre_wlAgx()fkcl{3qZ#e@KEA&!$b0L%WDI(#LMYn02`#dUK+T!RjO7UDYMaxGrB hCcmq1Bx|!c7ml8$nyVo~9Y@gVE{$e!E%@fK{tJgc>UsbG diff --git a/django/conf/locale/ar/LC_MESSAGES/django.po b/django/conf/locale/ar/LC_MESSAGES/django.po index bb1835b13..fd3f72adc 100644 --- a/django/conf/locale/ar/LC_MESSAGES/django.po +++ b/django/conf/locale/ar/LC_MESSAGES/django.po @@ -1,19 +1,21 @@ # translation of django.po to Arabic # This file is distributed under the same license as the django package. # -# Ossama M. Khayat , 2009. +# Ossama M. Khayat , 2009, 2010. msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-05-10 15:09+0300\n" -"PO-Revision-Date: 2009-05-10 15:18+0300\n" +"POT-Creation-Date: 2010-05-12 11:16+0300\n" +"PO-Revision-Date: 2010-05-12 11:20+0300\n" +"Last-Translator: Ossama M. Khayat \n" "Language-Team: Arabic \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=4; plural=(n == 1? 0 : (n == 2? 1 : (n <= 10? 2 : 3)))\n\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=4; plural=(n == 1? 0 : (n == 2? 1 : (n <= 10? 2 : 3)))\n" +"\n" "\n" #: conf/global_settings.py:44 @@ -21,218 +23,258 @@ msgid "Arabic" msgstr "العربيّة" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "البنغاليّة" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "البلغاريّة" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "البنغاليّة" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "البوسنيّة" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "الكتلانيّة" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "التشيكيّة" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "الويلز" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "الدنماركيّة" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "الألمانيّة" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "اليونانيّة" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "الإنجليزيّة" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "الإنجليزيّة البريطانيّة" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "الإسبانيّة" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "الإستونيّة" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "الإسبانيّة الأرجنتينيّة" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "الإستونيّة" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "الباسك" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "الفارسيّة" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "الفنلنديّة" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "الفرنسيّة" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "الفريزيّة" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "الإيرلنديّة" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "الجليقيّة" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "الهنغاريّة" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "العبريّة" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "الهندية" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "الكرواتيّة" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "الهنغاريّة" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "الإندونيسيّة" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "الآيسلنديّة" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "الإيطاليّة" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "اليابانيّة" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "الجورجيّة" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "الكوريّة" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "الخمر" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "الهنديّة (كنّادا)" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "اللاتفيّة" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "الكوريّة" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "اللتوانيّة" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "اللاتفيّة" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "المقدونيّة" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Mongolian" +msgstr "المنغوليّة" + +#: conf/global_settings.py:82 msgid "Dutch" msgstr "الهولنديّة" -#: conf/global_settings.py:78 +#: conf/global_settings.py:83 msgid "Norwegian" msgstr "النرويجيّة" -#: conf/global_settings.py:79 +#: conf/global_settings.py:84 +msgid "Norwegian Bokmal" +msgstr "البوكمال نرويجيّة" + +#: conf/global_settings.py:85 +msgid "Norwegian Nynorsk" +msgstr "النينورسك نرويجيّة" + +#: conf/global_settings.py:86 msgid "Polish" msgstr "البولنديّة" -#: conf/global_settings.py:80 +#: conf/global_settings.py:87 msgid "Portuguese" msgstr "البرتغاليّة" -#: conf/global_settings.py:81 +#: conf/global_settings.py:88 msgid "Brazilian Portuguese" msgstr "البرتغاليّة البرازيليّة" -#: conf/global_settings.py:82 +#: conf/global_settings.py:89 msgid "Romanian" msgstr "الرومانيّة" -#: conf/global_settings.py:83 +#: conf/global_settings.py:90 msgid "Russian" msgstr "الروسيّة" -#: conf/global_settings.py:84 +#: conf/global_settings.py:91 msgid "Slovak" msgstr "السلوفاكيّة" -#: conf/global_settings.py:85 +#: conf/global_settings.py:92 msgid "Slovenian" msgstr "السلوفانيّة" -#: conf/global_settings.py:86 +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "الألبانيّة" + +#: conf/global_settings.py:94 msgid "Serbian" msgstr "الصربيّة" -#: conf/global_settings.py:87 +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "اللاتينيّة الصربيّة" + +#: conf/global_settings.py:96 msgid "Swedish" msgstr "السويديّة" -#: conf/global_settings.py:88 +#: conf/global_settings.py:97 msgid "Tamil" msgstr "التاميل" -#: conf/global_settings.py:89 +#: conf/global_settings.py:98 msgid "Telugu" msgstr "التيلوغو" -#: conf/global_settings.py:90 +#: conf/global_settings.py:99 msgid "Thai" msgstr "التايلنديّة" -#: conf/global_settings.py:91 +#: conf/global_settings.py:100 msgid "Turkish" msgstr "التركيّة" -#: conf/global_settings.py:92 +#: conf/global_settings.py:101 msgid "Ukrainian" msgstr "الأكرانيّة" -#: conf/global_settings.py:93 +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "الفيتناميّة" + +#: conf/global_settings.py:103 msgid "Simplified Chinese" msgstr "الصينيّة المبسطة" -#: conf/global_settings.py:94 +#: conf/global_settings.py:104 msgid "Traditional Chinese" msgstr "الصينيّة التقليدية" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "تم حذف %(count)d %(items)s بنجاح." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1025 +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "هل أنت متأكد؟" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" -msgstr "حذف %(verbose_name_plural)s المحددون" +msgstr "حذف سجلات %(verbose_name_plural)s المحددة" #: contrib/admin/filterspecs.py:44 #, python-format @@ -268,25 +310,25 @@ msgstr "هذا الشهر" msgid "This year" msgstr "هذه السنة" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "نعم" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "لا" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "مجهول" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" -msgstr "العملية:" +msgstr "إجراء:" #: contrib/admin/models.py:19 msgid "action time" -msgstr "وقت العملية" +msgstr "وقت الإجراء" #: contrib/admin/models.py:22 msgid "object id" @@ -298,7 +340,7 @@ msgstr "ممثل العنصر" #: contrib/admin/models.py:24 msgid "action flag" -msgstr "علامة العملية" +msgstr "علامة الإجراء" #: contrib/admin/models.py:25 msgid "change message" @@ -312,85 +354,95 @@ msgstr "مُدخل السجل" msgid "log entries" msgstr "مُدخلات السجل" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "لاشيء" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "عدّل %s." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:587 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:845 +#: forms/models.py:568 msgid "and" msgstr "و" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "أضاف %(name)s \"%(object)s\"." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "غيّر %(list)s في %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "حذف %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "لم يتم تغيير أية حقول." -#: contrib/admin/options.py:598 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "تم اضافة %(name)s \"%(obj)s\" بنجاح." -#: contrib/admin/options.py:602 contrib/admin/options.py:635 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "يمكنك تعديله مجددا في الأسفل." -#: contrib/admin/options.py:612 contrib/admin/options.py:645 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "يمكنك إضافة %s آخر بالأسفل." -#: contrib/admin/options.py:633 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "تم تغيير %(name)s \"%(obj)s\" بنجاح." -#: contrib/admin/options.py:641 +#: contrib/admin/options.py:686 #, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "تمت إضافة %(name)s \"%(obj)s\" بنجاح، يمكنك تعديله مرة أخرى بالأسفل." -#: contrib/admin/options.py:772 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "يجب تحديد العناصر لتطبيق الإجراءات عليها. لم يتم تغيير أية عناصر." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "لم يحدد أي إجراء." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "أضف %s" -#: contrib/admin/options.py:803 contrib/admin/options.py:1003 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "العنصر %(name)s الذي به الحقل الأساسي %(key)r غير موجود." -#: contrib/admin/options.py:860 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "عدّل %s" -#: contrib/admin/options.py:904 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "خطـأ في قاعدة البيانات" -#: contrib/admin/options.py:940 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." @@ -399,18 +451,32 @@ msgstr[1] "تم تغيير عنصري %(name)s بنجاح." msgstr[2] "تم تغيير %(count)s %(name)s بنجاح." msgstr[3] "تم تغيير %(count)s %(name)s بنجاح." -#: contrib/admin/options.py:1018 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s تم تحديده" +msgstr[1] "%(total_count)s تم تحديدهما" +msgstr[2] "%(total_count)s تم تحديدهم" +msgstr[3] "%(total_count)s تم تحديدهم" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "لا شيء محدد من %(cnt)s" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "تم حذف %(name)s \"%(obj)s\" بنجاح." -#: contrib/admin/options.py:1054 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "تاريخ التغيير: %s" -#: contrib/admin/sites.py:20 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -418,11 +484,11 @@ msgstr "" "رجاءً أدخل اسم مستخدم وكلمة مرور صحيحين، وانتبه إلى أن كلا الحقلين حساس لحالة " "الأحرف." -#: contrib/admin/sites.py:278 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "رجاءً ادخل مرةً أخرى لأن جلستك انتهت." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -430,62 +496,52 @@ msgstr "" "يبدو بأن متصفحك غير معد لقبول الكوكيز، قم بتفعيل الكوكيز من فضلك ثم تحديث " "هذه الصفحة والمحاولة مرة أخرى." -#: contrib/admin/sites.py:301 contrib/admin/sites.py:307 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "اسم المستخدم يجب أن لا يحتوي على علامة '@'." -#: contrib/admin/sites.py:304 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "بريدك الإلكتروني ليس اسم المستخدم الخاص بك، جرب استخدام '%s' بدلا من ذلك." -#: contrib/admin/sites.py:360 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "إدارة الموقع" -#: contrib/admin/sites.py:373 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "ادخل" -#: contrib/admin/sites.py:417 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "إدارة %s" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "%(fieldname)s واحد أو أكثر في %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "%(fieldname)s واحد أو أكثر في %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "التاريخ:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "الوقت:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "حالياً:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "تغيير:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "ابحث" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "أضف آخر" @@ -500,17 +556,17 @@ msgstr "نحن آسفون، لكننا لم نعثر على الصفحة الم #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:31 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -541,40 +597,53 @@ msgstr "" #: contrib/admin/templates/admin/actions.html:4 msgid "Run the selected action" -msgstr "نفذ العملية المحدّدة" +msgstr "نفذ الإجراء المحدّد" #: contrib/admin/templates/admin/actions.html:4 msgid "Go" msgstr "نفّذ" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "اضغط هنا لتحديد جميع العناصر في جميع الصفحات" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "اختيار %(total_count)s %(module_name)s جميعها" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "إزالة الاختيار" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "أهلا، " -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "الوثائق" -#: contrib/admin/templates/admin/base.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "غيّر كلمة المرور" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "اخرج" @@ -586,25 +655,26 @@ msgstr "إدارة موقع جانغو" msgid "Django administration" msgstr "إدارة جانغو" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "أضف" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "تاريخ" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "مشاهدة على الموقع" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "رجاءً صحّح الخطأ التالي." @@ -612,17 +682,17 @@ msgstr[1] "رجاءً صحّح الخطأين التاليين." msgstr[2] "رجاءً صحّح الأخطاء التالية." msgstr[3] "رجاءً صحّح الأخطاء التالية." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "أضف %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "مرشّح" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "احذف" @@ -668,10 +738,10 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" -"متأكد أنك تريد حذف %(object_name)s المحددة؟ سيتم حذف جميل العناصر التالية " -"والتابعة لها:" +"متأكد أنك تريد حذف سجلات %(object_name)s المحددة؟ جميع العناصر التالية " +"والسجلات المتعلقة بها سيتم حذفها:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -693,11 +763,11 @@ msgstr "ليست لديك الصلاحية لتعديل أي شيء." #: contrib/admin/templates/admin/index.html:53 msgid "Recent Actions" -msgstr "آخر العمليّات" +msgstr "آخر الإجراءات" #: contrib/admin/templates/admin/index.html:54 msgid "My Actions" -msgstr "عملياتي" +msgstr "إجراءاتي" #: contrib/admin/templates/admin/index.html:58 msgid "None available" @@ -733,14 +803,8 @@ msgid "User" msgstr "المستخدم" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" -msgstr "العملية" - -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j F Y، G:i" +msgstr "إجراء" #: contrib/admin/templates/admin/object_history.html:38 msgid "" @@ -754,6 +818,11 @@ msgstr "" msgid "Show all" msgstr "أظهر الكل" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "احفظ" + #: contrib/admin/templates/admin/search_form.html:8 msgid "Search" msgstr "ابحث" @@ -772,10 +841,6 @@ msgstr[3] "%(counter)s نتيجة" msgid "%(full_result_count)s total" msgstr "المجموع %(full_result_count)s" -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "احفظ" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "احفظ كجديد" @@ -788,7 +853,7 @@ msgstr "احفظ وأضف آخر" msgid "Save and continue editing" msgstr "احفظ واستمر بالتعديل" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -796,33 +861,39 @@ msgstr "" "أولاً، أدخل اسم مستخدم وكلمة مرور. ومن ثم تستطيع تعديل المزيد من خيارات " "المستخدم." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "اسم المستخدم" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "كلمة المرور" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "كلمة المرور (مجدداً)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "أدخل كلمة المرور ذاتها التي أعلاه لتأكيدها." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: 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:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "كلمة المرور" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "كلمة المرور (مجدداً)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "أدخل كلمة المرور ذاتها التي أعلاه لتأكيدها." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "إضافة سجل %(verbose_name)s آخر" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "أزل" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "احذفه؟" @@ -836,9 +907,9 @@ msgid "Log in again" 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 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "غيّر كلمة مرورك" @@ -851,7 +922,7 @@ msgstr "تم تغيير كلمة المرور بنجاح" msgid "Your password was changed." msgstr "تمّ تغيير كلمة مرورك." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -859,21 +930,17 @@ msgstr "" "رجاءً أدخل كلمة مرورك القديمة، للأمان، ثم أدخل كلمة مرور الجديدة مرتين كي " "تتأكّد من كتابتها بشكل صحيح." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "كلمة المرور القديمة:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "كلمة المرور القديمة" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "كلمة المرور الجديدة:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "كلمة المرور الجديدة" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "أكّد كلمة المرور:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "غيّر كلمة مروري" @@ -910,6 +977,14 @@ msgid "" "correctly." msgstr "رجاءً أدخل كلمة مرورك الجديدة مرتين كي تتأكّد من كتابتها بشكل صحيح." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "كلمة المرور الجديدة:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "أكّد كلمة المرور:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "تم إعادة تعيين كلمة المرور بنجاح" @@ -977,166 +1052,85 @@ msgstr "عنوان البريد الإلكتروني:" msgid "Reset my password" msgstr "استعد كلمة مروري" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "كافة التواريخ" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "اختر %s" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "اختر %s لتغييره" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "موقع" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "قالب" -#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60 -#: contrib/admindocs/views.py:62 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "وسم:" -#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93 -#: contrib/admindocs/views.py:95 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "مرشّح" -#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157 -#: contrib/admindocs/views.py:159 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "عرض:" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "التطبيق %r غير موجود" -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "النموذج %(model_name)r غير موجود في التطبيق %(app_label)r" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "العنصر `%(app_label)s.%(data_type)s` المرتبط" -#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:228 -#: contrib/admindocs/views.py:242 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "نموذج:" -#: contrib/admindocs/views.py:237 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "عناصر `%(app_label)s.%(object_name)s` مرتبطة" -#: contrib/admindocs/views.py:242 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "كل %s" -#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "عدد %s" -#: contrib/admindocs/views.py:252 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "الحقول في عناصر %s" -#: contrib/admindocs/views.py:315 contrib/admindocs/views.py:326 -#: contrib/admindocs/views.py:328 contrib/admindocs/views.py:334 -#: contrib/admindocs/views.py:335 contrib/admindocs/views.py:337 -msgid "Integer" -msgstr "عدد صحيح" - -#: contrib/admindocs/views.py:316 -msgid "Boolean (Either True or False)" -msgstr "ثنائي (إما True أو False)" - -#: contrib/admindocs/views.py:317 contrib/admindocs/views.py:336 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "سلسلة نص (%(max_length)s كحد أقصى)" - -#: contrib/admindocs/views.py:318 -msgid "Comma-separated integers" -msgstr "أرقام صحيحة مفصولة بفواصل" - -#: contrib/admindocs/views.py:319 -msgid "Date (without time)" -msgstr "التاريخ (دون الوقت)" - -#: contrib/admindocs/views.py:320 -msgid "Date (with time)" -msgstr "التاريخ (مع الوقت)" - -#: contrib/admindocs/views.py:321 -msgid "Decimal number" -msgstr "رقم عشري" - -#: contrib/admindocs/views.py:322 -msgid "E-mail address" -msgstr "عنوان بريد إلكتروني" - -#: contrib/admindocs/views.py:323 contrib/admindocs/views.py:324 -#: contrib/admindocs/views.py:327 -msgid "File path" -msgstr "مسار الملف" - -#: contrib/admindocs/views.py:325 -msgid "Floating point number" -msgstr "رقم فاصلة عائمة" - -#: contrib/admindocs/views.py:329 contrib/comments/models.py:60 -msgid "IP address" -msgstr "عنوان IP" - -#: contrib/admindocs/views.py:331 -msgid "Boolean (Either True, False or None)" -msgstr "ثنائي (إما True أو False أو None)" - -#: contrib/admindocs/views.py:332 -msgid "Relation to parent model" -msgstr "العلاقة بالنموذج الأب" - -#: contrib/admindocs/views.py:333 -msgid "Phone number" -msgstr "رقم هاتف" - -#: contrib/admindocs/views.py:338 -msgid "Text" -msgstr "نص" - -#: contrib/admindocs/views.py:339 -msgid "Time" -msgstr "وقت" - -#: contrib/admindocs/views.py:340 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "رابط" - -#: contrib/admindocs/views.py:341 -msgid "U.S. state (two uppercase letters)" -msgstr "ولاية أمريكية (حرفان كبيران)" - -#: contrib/admindocs/views.py:342 -msgid "XML text" -msgstr "نص XML" - -#: contrib/admindocs/views.py:368 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "يبدو أن %s ليس عنصر urlpattern" @@ -1204,74 +1198,71 @@ msgstr "عدّل هذا العنصر (نافذة جديدة)" msgid "As above, but opens the admin page in a new window." msgstr "كما سبق، لكن يفتح صفحة الإدارة في نافذة جديدة." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "المعلومات الشخصية" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "الصلاحيات" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "تواريخ مهمة" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "المجموعات" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "أضف مستخدم" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "تم تغيير كلمة المرور بنجاح." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "غيّر كلمة المرور: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "مطلوب. 30 خانة أو أقل. خانات حرف رقمية فقط (أحرف، أرقام والشرطة السفلية)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "اسم المستخدم" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "هذه القيمة يجب أن تحتوي فقط على الأحرف والأرقام والشرطة السفلية." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "مطلوب. 30 حرف أو أقل. يتكوّن من حروف، وأرقام، والرموز @/./+/-/_ فقط." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "هذه القيمة يجب أن تحتوي الأحرف، والأرقام، والرموز @/./+/-/_ فقط." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "تأكيد كلمة المرور" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "هناك مستخدم موجود مسبقاً بهذا الاسم." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "حقلا كلمتي المرور غير متطابقين." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "هذا الحساب غير نشط." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." msgstr "يبدو بأن الكوكيز غير مفعله في متصفحك، الكوكيز مطلوبة للتمكن من الدخول." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "عنوان بريد إلكتروني" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1279,72 +1270,69 @@ msgstr "" "عنوان البريد الإلكتروني هذا ليس مرتبط بأي حساب مستخدم. أأنت متأكد أنك قمت " "بالتسجيل؟" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "استعادة كلمة المرور في %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "كلمة المرور الجديدة" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "تأكيد كلمة المرور الجديدة" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "كلمة المرور القديمة" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "كلمة مرورك القديمة غير صحيحة. رجاءً أدخلها مرة أخرى." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "الاسم" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "الاسم الرمزي" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "الصلاحية" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "الصلاحيات" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "مجموعة" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "المجموعات" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "اسم المستخدم" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "مطلوب. 30 حرف أو أقل. يتكوّن من حروف، وأرقام، والرموز @/./+/-/_ فقط." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "الاسم الأول" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "الاسم الأخير" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "عنوان البريد الإلكتروني" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "كلمة المرور" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1352,19 +1340,19 @@ msgstr "" "استخدم '[algo]$[salt]$[hexdigest]' أو استخدم استمارة " "تغيير كلمة المرور." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "حالة الطاقم" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "يحدد ما إذا كان المستخدم يستطيع الدخول إلى موقع الإدارة هذا." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "نشط" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1372,25 +1360,25 @@ msgstr "" "يحدد ما إذا كان المستخدم سيُعامل على أنّه نشط. أزل تحديد ها الخيار بدلاً من حذف " "الحسابات." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "حالة المستخدم الخارق" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "حدد بأن هذا المستخدم يمتلك كافة الصلاحيات دون الحاجة لتحديدها له تصريحا." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "آخر دخول" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "تاريخ الانضمام" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1398,39 +1386,85 @@ msgstr "" "بالإضافة إلى الصلاحيات المحددة للمستخدم يدويا، فإن المستخدم يحصل أيضا على " "كافة صلاحيات المجموعة التي ينتمي إليها." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "صلاحيات المستخدم" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "مستخدم" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" -msgstr "المستخدمون" +msgstr "المستخدمين" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "رسالة" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "تم الخروج" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "أدخل عنوان بريد إلكتروني صحيح." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "محتوى" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "ميتاداتا" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "مُعلّم" +msgstr[1] "مُعلّمان" +msgstr[2] "مُعلّمة" +msgstr[3] "مُعلّمة" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "تعليم التعليقات المحددة" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "مُعتمد" +msgstr[1] "مُعتمدان" +msgstr[2] "مُعتمدة" +msgstr[3] "مُعتمد" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "اعتماد التعليقات المحددة" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "تم حذفه" +msgstr[1] "تم حذفهما" +msgstr[2] "تم حذفها" +msgstr[3] "تم حذفها" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "احذف التعليقات المحددة" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "تم %(action)s التعليق بنجاح." +msgstr[1] "تم %(action)s التعليقين بنجاح." +msgstr[2] "%(count)s تعليقات تم %(action)s بنجاح." +msgstr[3] "%(count)s تعليق تم %(action)s بنجاح." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1442,7 +1476,6 @@ msgid "Latest comments on %(site_name)s" msgstr "آخر التعليقات على %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "الاسم" @@ -1450,12 +1483,16 @@ msgstr "الاسم" msgid "Email address" msgstr "عنوان بريد إلكتروني" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "رابط" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "تعليق" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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." @@ -1464,11 +1501,11 @@ msgstr[1] "انتبه إلى ما تقول! الكلمتان %s غير مسمو msgstr[2] "انتبه إلى ما تقول! الكلمات %s غير مسموح بها هنا." msgstr[3] "انتبه إلى ما تقول! الكلمات %s غير مسموح بها هنا." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "If you enter anything in this field your comment will be treated as spam" msgstr "إن كتبت أي شيء في هذا الحقل فسيُعتبر تعليقك غير مرغوب به" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "نوع البيانات" @@ -1497,6 +1534,10 @@ msgstr "تعليق" msgid "date/time submitted" msgstr "تاريخ ووقت الإرسال" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "عنوان IP" + #: contrib/comments/models.py:61 msgid "is public" msgstr "عام" @@ -1531,7 +1572,8 @@ msgstr "كتب هذا التعليق مستخدم مُسجّل ولذا كان msgid "" "This comment was posted by an authenticated user and thus the email is read-" "only." -msgstr "كتب هذا التعليق مستخدم مُسجّل ولذا كان عنوان بريده الالكتروني للقراءة فقط." +msgstr "" +"كتب هذا التعليق مستخدم مُسجّل ولذا كان عنوان بريده الالكتروني للقراءة فقط." #: contrib/comments/models.py:153 #, python-format @@ -1573,7 +1615,6 @@ msgid "Really make this comment public?" msgstr "تريد فعلاً جعل هذا التعليق عامّاً؟" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "وافق" @@ -1584,7 +1625,8 @@ msgstr "شكراً لموافقتك" #: contrib/comments/templates/comments/approved.html:7 #: contrib/comments/templates/comments/deleted.html:7 #: contrib/comments/templates/comments/flagged.html:7 -msgid "Thanks for taking the time to improve the quality of discussion on our site" +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" msgstr "شكراً لك على قضاء وقتك في تحسين جودة النقاش على موقعنا" #: contrib/comments/templates/comments/delete.html:4 @@ -1595,11 +1637,6 @@ msgstr "أزل تعليق" msgid "Really remove this comment?" msgstr "تريد فعلاً إزالة هذا التعليق؟" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "أزل" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "شكراً لإزالته" @@ -1630,39 +1667,6 @@ msgstr "أرسل " msgid "Preview" msgstr "عاين" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "صف الموافقة على التعليقات" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "لا يوجد تعليقات بحاجة لموافقة" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "عنوان بريد إلكتروني" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "مُصادَق؟" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "عنوان IP" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "تاريخ الإضافة" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "نعم" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "لا" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "شكراً على تعليقك" @@ -1692,16 +1696,17 @@ msgstr "أرسال تعليقك" msgid "or make changes" msgstr "أو قم ببعض التغيير" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "اسم صنف النموذج في python" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "أنواع البيانات" #: contrib/flatpages/admin.py:9 -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 "مثال: '/about/contact/'. تأكد من وضع شرطات في البداية والنهاية." #: contrib/flatpages/admin.py:11 @@ -1758,11 +1763,44 @@ msgstr "صفحة مسطحة" msgid "flat pages" msgstr "صفحات مسطحة" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." -msgstr "نعتذر، لكنّ استمارتك انتهت صلاحيتها. رجاء أكمل تعبئة الاستمارة من هذه الصفحة." +msgstr "" +"نعتذر، لكنّ استمارتك انتهت صلاحيتها. رجاء أكمل تعبئة الاستمارة من هذه الصفحة." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "حقل GIS الأساسي -- مُرتبط بنوع مواصفات OpenGIS الهندسية." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "نقطة إحداثية" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "سطر تسلسل أحرف" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "مُضلّع إحداثي" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "نقاط إحداثية" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "تسلسل أحرف متعدد الأسطر" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "مجموعة مُضلعات إحداثية" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "مجموعة إحداثية" #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." @@ -1802,27 +1840,27 @@ msgstr " " #, python-format msgid "%(value).1f million" msgid_plural "%(value).1f million" -msgstr[0] "%(value).1f مليون" -msgstr[1] "%(value).1f مليون" -msgstr[2] "%(value).1f مليون" +msgstr[0] "مليون" +msgstr[1] "مليونان" +msgstr[2] "%(value).1f ملايين" msgstr[3] "%(value).1f مليون" #: contrib/humanize/templatetags/humanize.py:54 #, python-format msgid "%(value).1f billion" msgid_plural "%(value).1f billion" -msgstr[0] "%(value).1f مليار" -msgstr[1] "%(value).1f مليار" -msgstr[2] "%(value).1f مليار" +msgstr[0] "مليار" +msgstr[1] "ملياران" +msgstr[2] "%(value).1f مليارات" msgstr[3] "%(value).1f مليار" #: contrib/humanize/templatetags/humanize.py:57 #, python-format msgid "%(value).1f trillion" msgid_plural "%(value).1f trillion" -msgstr[0] "%(value).1f بليار" -msgstr[1] "%(value).1f بليار" -msgstr[2] "%(value).1f بليار" +msgstr[0] "بليار" +msgstr[1] "بلياران" +msgstr[2] "%(value).1f بليارات" msgstr[3] "%(value).1f بليار" #: contrib/humanize/templatetags/humanize.py:73 @@ -1873,25 +1911,25 @@ msgstr "غداً" msgid "yesterday" msgstr "أمس" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "أدخل رمزاً بريدياً بالنسق NNNN أو ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "يتطلب هذا الحقل أرقاماً فقط." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "يتطلب الحقل 7 أو 8 أعداد." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "أدخل رمز CUIT صحيح بالنسق XX-XXXXXXXX-X أو XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "رمز CUIT غير صحيح." @@ -1901,19 +1939,19 @@ msgstr "برغنلاند" #: contrib/localflavor/at/at_states.py:6 msgid "Carinthia" -msgstr "" +msgstr "كارينثيا" #: contrib/localflavor/at/at_states.py:7 msgid "Lower Austria" -msgstr "" +msgstr "أدنى النمسا" #: contrib/localflavor/at/at_states.py:8 msgid "Upper Austria" -msgstr "" +msgstr "أقصى النمسا" #: contrib/localflavor/at/at_states.py:9 msgid "Salzburg" -msgstr "" +msgstr "سالزبورغ" #: contrib/localflavor/at/at_states.py:10 msgid "Styria" @@ -1931,8 +1969,8 @@ msgstr "" msgid "Vienna" msgstr "فيينا" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "أدخل رمز zip بالنسق XXXX." @@ -1940,51 +1978,51 @@ msgstr "أدخل رمز zip بالنسق XXXX." msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." msgstr "أدخل رقم ضمان اجتماعي سويدي صحيح بالنسق XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "أدخل رمزاً بريدياً من 4 أعداد." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "أدخل رمزاً بريدياً بالنسق XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "أرقام الهاتف يجب أن تكون بالنسق XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "انتق ولايةً برازيلية صحيحة. تلك الولاية ليست ضمن الولايات المتاحة." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "رقم CPF غير صحيح." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "يتطلب هذا الحقل 11 رقماً أو 14 حرفاً كحد أقصى." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "رقم CNPJ غير صحيح." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "يتطلب هذا الحقل 14 رقماً على الأقل." -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "أدخل رمزاً بريدياً بنسق XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "أدخل رقم ضمان اجتماعي كندي صحيح بالنسق XXX-XXX-XXX." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" -msgstr "" +msgstr "أرجاو" #: contrib/localflavor/ch/ch_states.py:6 msgid "Appenzell Innerrhoden" @@ -2086,21 +2124,22 @@ msgstr "" msgid "Zurich" msgstr "زيورخ" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." -msgstr "أدخل رقم هوية سويسرية صحيح أو رقم جواز سفر بالنسق X1234567<0 أو 1234567890." +msgstr "" +"أدخل رقم هوية سويسرية صحيح أو رقم جواز سفر بالنسق X1234567<0 أو 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "أدخل رمز RUT تشيلي صحيح." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "أدخل رمز RUT تشيلي صحيح. النسق هو XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "قيمة RUT التشيلية غير صحيحة." @@ -2110,11 +2149,11 @@ msgstr "براغ" #: contrib/localflavor/cz/cz_regions.py:9 msgid "Central Bohemian Region" -msgstr "" +msgstr "وسط منطقة بوهيميا" #: contrib/localflavor/cz/cz_regions.py:10 msgid "South Bohemian Region" -msgstr "" +msgstr "جنوب منطقة بوهيميا" #: contrib/localflavor/cz/cz_regions.py:11 msgid "Pilsen Region" @@ -2146,7 +2185,7 @@ msgstr "" #: contrib/localflavor/cz/cz_regions.py:18 msgid "South Moravian Region" -msgstr "" +msgstr "منطقة جنوب مورافيا" #: contrib/localflavor/cz/cz_regions.py:19 msgid "Olomouc Region" @@ -2160,23 +2199,23 @@ msgstr "" msgid "Moravian-Silesian Region" msgstr "" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "أدخل رمزاً بريدياً بالنسق XXXXX أو XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "أدخل رقم الميلاد بالنسق XXXXXX/XXXX أو XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "مُعطى غير صحيح للجنس، الرجاء إدخال القيمة 'f' أو 'm'" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "أدخل رقم ميلاد صحيح." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "أدخل رقم IC صحيح." @@ -2244,12 +2283,12 @@ msgstr "" msgid "Thuringia" msgstr "" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "أدخل رمز zip بالنسق XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2522,69 +2561,502 @@ msgstr "" msgid "Valencian Community" msgstr "" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "أدخل رمزاً بريدياً صحيحاً بالمدى والنسق 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." msgstr "أدخل رقم هاتف صحيح بأحد الأنساق 6XXXXXXXX، 8XXXXXXXX أو 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "رجاءً أدخل قيمة NIF، NIE أو CIF صحيحة." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "رجاءً أدخل قيمة NIF أو NIE صحيحة." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "تدقيق مجموع NIF غير صحيح." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "تدقيق مجموع NIE غير صحيح." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "تدقيق مجموع CIF غير صحيح." -#: contrib/localflavor/es/forms.py:142 -msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +#: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "رجاءً أدخل رقم حساب بنكي صحيح بالنسق XXXX-XXXX-XX-XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "تدقيق مجموع رقم حساب البنك غير صحيح." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "أدخل رقم ضمان اجتماع فنلندي صحيح." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "أرقام الهاتف يجب أن تكون بالنسق 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "أدخل رمزاً بريدياً صحيحاً" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "أدخل رقم هاتف صحيح" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "أدخل رقم لوحة رخصة مركبة صحيح" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "أدخل رقم NIK/KTP صحيح" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "بالي" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "بانتن" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "بنجكولو" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "جاكرتا" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "جامبي" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "جاوة الغربية" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "جاوة الوسطى" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "جاوة الشرقية" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "غرب كاليمانتان" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "جنوب كاليمانتان" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "وسط كاليمانتان" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "شرق كاليمانتان" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "جزر بانكا بليتانج" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "جزر رياو" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "لامبونج" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "مالوكو" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "سومطرة الغربية" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "سومطرة الشرقية" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "سومطرة الشمالية" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "باتي" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "سورابايا" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "الحكومة الاتحادية" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "أدخل رمز zip بالنسق XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "رجاءً أدخل رقم مُعرّف آيسلندي صحيح. النسق هو XXXXXX-XXXX." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "رقم المُعرّف الآيسلندي غير صحيح." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "أدخل رمز zip صحيح." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "أدخل رقم ضمان اجتماعي صحيح." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "أدخل رقم ضريبة VAT صحيح." @@ -2780,6 +3252,10 @@ msgstr "كاغوشيما" msgid "Okinawa" msgstr "أوكيناوا" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "أدخل رقم بطاقة مدنيّة كويتيّة صحيح" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "" @@ -2908,15 +3384,11 @@ msgstr "" msgid "Zacatecas" msgstr "" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "أدخل رمزاً بريدياً صحيحاً." -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "أدخل رقم هاتف صحيح" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "أدخل رقم SoFi صحيح." @@ -2968,15 +3440,15 @@ msgstr "" msgid "Zuid-Holland" msgstr "" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "أدخل رقم ضمان اجتماعي نرويجي صحيح." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "يتطلب هذا الحقل 8 أرقام." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "يتطلب هذا الحقل 11 أرقام." @@ -2989,7 +3461,8 @@ msgid "Wrong checksum for the National Identification Number." msgstr "تدقيق مجموع خاطئ لرقم الهوية الوطنية." #: contrib/localflavor/pl/forms.py:71 -msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." msgstr "أدخل حقل رقم الضريبة (NIP) بالنسق XXX-XXX-XX-XX أو XX-XX-XXX-XXX." #: contrib/localflavor/pl/forms.py:72 @@ -3072,6 +3545,14 @@ msgstr "" msgid "West Pomerania" msgstr "" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "أدخل رمزاً بريدياً بالنسق XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "يجب أن تحتوي أرقام الهواتف 9 أرقام، أو أن تبدأ بعلامة + أو صفرين." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "أدخل قيمة CIF صحيحة." @@ -3092,6 +3573,106 @@ msgstr "أرقام الهاتف يجب أن تكون بالنسق XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "أدخل رمزاً بريدياً صحيحاً بالنسق XXXXXX" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "أدخل رقم تنظيم سويدي صحيح." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "أدخل رقم مُعرّف شخصي سويدي صحيح." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "أرقام Co-ordination غير مسموح بها." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "أدخل رمز بريدي سويدي بالنسبق XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "ستوكهولم" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "" @@ -3550,7 +4131,7 @@ msgstr "" #: contrib/localflavor/uk/uk_regions.py:38 msgid "Oxfordshire" -msgstr "" +msgstr "أوكسفوردشاير" #: contrib/localflavor/uk/uk_regions.py:39 msgid "Shropshire" @@ -3562,15 +4143,15 @@ msgstr "" #: contrib/localflavor/uk/uk_regions.py:41 msgid "South Yorkshire" -msgstr "" +msgstr "جنوب يوركشاير" #: contrib/localflavor/uk/uk_regions.py:42 msgid "Staffordshire" -msgstr "" +msgstr "ستافوردشاير" #: contrib/localflavor/uk/uk_regions.py:43 msgid "Suffolk" -msgstr "" +msgstr "سوفولك" #: contrib/localflavor/uk/uk_regions.py:44 msgid "Surrey" @@ -3610,23 +4191,23 @@ msgstr "" #: contrib/localflavor/uk/uk_regions.py:56 msgid "County Armagh" -msgstr "" +msgstr "مقاطعة ارماغ" #: contrib/localflavor/uk/uk_regions.py:57 msgid "County Down" -msgstr "" +msgstr "مقاطعة داون" #: contrib/localflavor/uk/uk_regions.py:58 msgid "County Fermanagh" -msgstr "" +msgstr "مقاطعة فيرماناغ" #: contrib/localflavor/uk/uk_regions.py:59 msgid "County Londonderry" -msgstr "" +msgstr "مقاطعة لندنديري" #: contrib/localflavor/uk/uk_regions.py:60 msgid "County Tyrone" -msgstr "" +msgstr "مقاطعة تيرون" #: contrib/localflavor/uk/uk_regions.py:64 msgid "Clwyd" @@ -3638,15 +4219,15 @@ msgstr "" #: contrib/localflavor/uk/uk_regions.py:66 msgid "Gwent" -msgstr "" +msgstr "غوِنْت" #: contrib/localflavor/uk/uk_regions.py:67 msgid "Gwynedd" -msgstr "" +msgstr "غوينيد" #: contrib/localflavor/uk/uk_regions.py:68 msgid "Mid Glamorgan" -msgstr "" +msgstr "وسط غلامورغان" #: contrib/localflavor/uk/uk_regions.py:69 msgid "Powys" @@ -3654,11 +4235,11 @@ msgstr "" #: contrib/localflavor/uk/uk_regions.py:70 msgid "South Glamorgan" -msgstr "" +msgstr "جنوب غلامورغان" #: contrib/localflavor/uk/uk_regions.py:71 msgid "West Glamorgan" -msgstr "" +msgstr "غرب غلامورغان" #: contrib/localflavor/uk/uk_regions.py:75 msgid "Borders" @@ -3666,7 +4247,7 @@ msgstr "" #: contrib/localflavor/uk/uk_regions.py:76 msgid "Central Scotland" -msgstr "" +msgstr "وسط اسكتلندا" #: contrib/localflavor/uk/uk_regions.py:77 msgid "Dumfries and Galloway" @@ -3686,19 +4267,19 @@ msgstr "" #: contrib/localflavor/uk/uk_regions.py:81 msgid "Lothian" -msgstr "" +msgstr "لوثيان" #: contrib/localflavor/uk/uk_regions.py:82 msgid "Orkney Islands" -msgstr "" +msgstr "جزر أوركني" #: contrib/localflavor/uk/uk_regions.py:83 msgid "Shetland Islands" -msgstr "" +msgstr "جزر شتلاند" #: contrib/localflavor/uk/uk_regions.py:84 msgid "Strathclyde" -msgstr "" +msgstr "ستراثكلايد" #: contrib/localflavor/uk/uk_regions.py:85 msgid "Tayside" @@ -3706,7 +4287,7 @@ msgstr "" #: contrib/localflavor/uk/uk_regions.py:86 msgid "Western Isles" -msgstr "" +msgstr "الجزر الغربية" #: contrib/localflavor/uk/uk_regions.py:90 msgid "England" @@ -3724,19 +4305,43 @@ msgstr "اسكوتلندة" msgid "Wales" msgstr "ويلز" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "أدخل رمز zip بالنسق XXXXX أو XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "أرقام الهاتف يجب أن تكون بالنسق XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "أدخل رقم ضمان اجتماعي أميركي صحيح بالنسق XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "أدخل اسم ولاية أو إقليم أميركي." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "ولاية أمريكية (حرفان كبيران)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "رقم هاتف" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "أدخل رقم CI صحيح بالنسق X.XXX.XXX-X,XXXXXXX-X أو XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "أدخل رقم CI صحيح." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "أدخل رقم هويّة جنوب إفريقيّة صحيح" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "أدخل رمز بريد جنوب إفريقي صحيح" @@ -3776,6 +4381,10 @@ msgstr "شمال شرق" msgid "Western Cape" msgstr "غير كيب" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "إعادة التوجيه من" @@ -3836,151 +4445,286 @@ msgstr "اسم العرض" #: contrib/sites/models.py:39 msgid "sites" -msgstr "مواقع" +msgstr "المواقع" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "هذه القيمة يجب أن تكون رقما صحيحا." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "أدخل قيمة صحيحة." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "هذه القيمة يجب أن تكون إما True أو False." +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "أدخل رابطاً صحيحاً." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "لا يمكن ترك هذا الحقل فارغاً." +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "يبدو أن هذا الرابط غير متوفر." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "أدخل اختصار 'slug' صحيح يتكوّن من أحرف، أرقام، شرطات سفلية وعاديّة." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "أدخل عنوان IPv4 صحيح." + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "أدخل أرقاما فقط مفصول بينها بفواصل." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "تحقق من أن هذه القيمة هي %(limit_value)s (إنها %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "تحقق من أن تكون هذه القيمة أقل من %(limit_value)s أو مساوية لها." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "تحقق من أن تكون هذه القيمة أكثر من %(limit_value)s أو مساوية لها." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"تحقق من أن هذه القيمة تحتوي %(limit_value)d أحرف على الأقل (عدد أحرفها %" +"(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"تحقق من أن هذه القيمة مكونة من %(limit_value)d أحرف كحد أقصى (عدد أحرفها " +"الآن %(show_value)d)." + +#: db/models/base.py:823 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s يجب أن يكون مُميّزاً مع %(date_field)s %(lookup)s." + +#: db/models/base.py:838 db/models/base.py:846 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "النموذج %(model_name)s والحقل %(field_label)s موجود مسبقاً." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "القيمة %r ليست خياراً صالحاً." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "لا يمكن تعيين null كقيمة لهذا الحقل." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "لا يمكن ترك هذا الحقل فارغاً." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "حقل نوع: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "عدد صحيح" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "هذه القيمة يجب أن تكون رقما صحيحا." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "هذه القيمة يجب أن تكون إما True أو False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "ثنائي (إما True أو False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "سلسلة نص (%(max_length)s كحد أقصى)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "أرقام صحيحة مفصولة بفواصل" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "التاريخ (دون الوقت)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "أدخل تاريخا صحيحا بالنسق YYYY-MM-DD." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "تاريخ غير صحيح: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "أدخل تاريخ/وقت صحيح بالنسق YYYY-MM-DD HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "التاريخ (مع الوقت)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "يجب أن تكون هذه القيمة رقماً عشرياً." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "رقم عشري" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "عنوان بريد إلكتروني" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "مسار الملف" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "هذه القيمة يجب أن تكون عدد فاصلة عائمة." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "رقم فاصلة عائمة" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "عدد صحيح كبير (8 بايت)" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "يجب أن تكون هذه القيمة None، أو True أو False." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "ثنائي (إما True أو False أو None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "نص" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "وقت" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "أدخل توقيتاً صحيحاً بالنسق HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:792 +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "نص XML" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "النموذج %(model)s ذو الحقل الرئيسي %(pk)r غير موجود." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "الحقل المرتبط (تم تحديد النوع وفقاً للحقل المرتبط)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "علاقة واحد إلى واحد" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "علاقة متعدد إلى متعدد" + +#: db/models/fields/related.py:1000 msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "اضغط زر التحكم \"Control\", أو \"Command\" على أجهزة Mac لاختيار أكثر من " "واحد." -#: db/models/fields/related.py:870 +#: db/models/fields/related.py:1061 #, 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 غير صحيحتين." -msgstr[2] "رجاء ادخال معرفات %(self)s صحيحة. القيم %(value)r غير صحيحة." -msgstr[3] "رجاء ادخال معرفات %(self)s صحيحة. القيم %(value)r غير صحيحة." +msgstr[0] "رجاءً إدخال مُعرف %(self)s صحيح. القيمة %(value)r غير صحيحة." +msgstr[1] "الرجاء إدخال معرّفي %(self)s صحيحين. القيمتان %(value)r غير صحيحتين." +msgstr[2] "الرجاء إدخال مُعرفات %(self)s صحيحة. القيم %(value)r غير صحيحة." +msgstr[3] "الرجاء إدخال مُعرفات %(self)s صحيحة. القيم %(value)r غير صحيحة." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "هذا الحقل مطلوب." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "أدخل قيمة صحيحة." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "تحقق من أن هذه القيمة %(max)d أحرف على الأكثر (تحتوي حالياً %(length)d حرفاً)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "تحقق من أن هذه القيمة %(min)d أحرف على الأقل (تحتوي حالياً %(length)d حرفاً)." - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "أدخل رقما صحيحا." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "تحقق من أن تكون هذه القيمة أقل من %s أو مساوية لها." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "تحقق من أن تكون هذه القيمة أكثر من %s أو مساوية لها." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "أدخل رقماً." -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "تحقق من أن تدخل %s أرقام لا أكثر." -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "تحقق من أن تدخل %s خانات عشرية لا أكثر." -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "تحقق من أن تدخل %s أرقام قبل الفاصل العشري لا أكثر." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "أدخل تاريخاً صحيحاً." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "أدخل وقتاً صحيحاً." -#: forms/fields.py:361 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "أدخل تاريخاً/وقتاً صحيحاً." -#: forms/fields.py:447 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "لم يتم ارسال ملف، الرجاء التأكد من نوع ترميز الاستمارة." -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "لم يتم إرسال اي ملف." -#: forms/fields.py:449 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "الملف الذي قمت بإرساله فارغ." -#: forms/fields.py:450 +#: forms/fields.py:438 #, python-format msgid "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr "" "تحقق من أن اسم الملف يتكون بحد أقصى من %(max)d أحرف (يتكون حالياً من %(length)" "d)." -#: forms/fields.py:483 +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -3988,113 +4732,87 @@ msgstr "" "قم برفع صورة صحيحة، الملف الذي قمت برفعه إما أنه ليس ملفا لصورة أو أنه ملف " "معطوب." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "أدخل رابطاً صحيحاً." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "يبدو أن هذا الرابط غير متوفر." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "انتق خياراً صحيحاً. %(value)s ليس أحد الخيارات المتاحة." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:965 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 msgid "Enter a list of values." msgstr "أدخل قائمة من القيم." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "أدخل عنوان IPv4 صحيح." - -#: forms/fields.py:902 -msgid "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "أدخل اختصار 'slug' صحيح يتكوّن من أحرف، أرقام، شرطات سفلية وعاديّة." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "الترتيب" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "%(field_name)s يجب أن يكون مُميّزاً مع %(date_field)s %(lookup)s." - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "النموذج %(model_name)s والحقل %(field_label)s موجود مسبقاً." - -#: forms/models.py:581 +#: forms/models.py:562 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "رجاء صحّح بيانات %(field)s المتكررة." -#: forms/models.py:585 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "رجاء صحّح بيانات %(field)s المتكررة والتي يجب أن تكون مُميّزة." -#: forms/models.py:591 +#: forms/models.py:572 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " "for the %(lookup)s in %(date_field)s." msgstr "" -"رجاء صحّح بيانات %(field_name)s المتكررة والتي يجب أن تكون مُميّزة " -"لـ%(lookup)s في %(date_field)s." +"رجاء صحّح بيانات %(field_name)s المتكررة والتي يجب أن تكون مُميّزة لـ%(lookup)s " +"في %(date_field)s." -#: forms/models.py:599 +#: forms/models.py:580 msgid "Please correct the duplicate values below." msgstr "رجاءً صحّح القيم المُكرّرة أدناه." -#: forms/models.py:837 +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "حقل foreign key المحدد لا يطابق الحقل الرئيسي له." -#: forms/models.py:892 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "انتق خياراً صحيحاً. اختيارك ليس أحد الخيارات المتاحة." -#: forms/models.py:966 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "انتق خياراً صحيحاً. %s ليس أحد الخيارات المتاحة." -#: forms/models.py:968 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "القيمة \"%s\" هي صحيحة للحقل المرجعي." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "نعم,لا,ربما" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "بايت واحد" -msgstr[1] "%(size)d بايت" -msgstr[2] "%(size)d بايت" +msgstr[1] "بايتان" +msgstr[2] "%(size)d بايتات" msgstr[3] "%(size)d بايت" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f ك.ب" +msgid "%s KB" +msgstr "%s ك.ب" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f م.ب" +msgid "%s MB" +msgstr "%s م.ب" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f ج.ب" +msgid "%s GB" +msgstr "%s ج.ب" #: utils/dateformat.py:42 msgid "p.m." @@ -4150,31 +4868,31 @@ msgstr "الأحد" #: utils/dates.py:10 msgid "Mon" -msgstr "إث" +msgstr "إثنين" #: utils/dates.py:10 msgid "Tue" -msgstr "ثل" +msgstr "ثلاثاء" #: utils/dates.py:10 msgid "Wed" -msgstr "أر" +msgstr "أربعاء" #: utils/dates.py:10 msgid "Thu" -msgstr "خم" +msgstr "خميس" #: utils/dates.py:10 msgid "Fri" -msgstr "جم" +msgstr "جمعة" #: utils/dates.py:11 msgid "Sat" -msgstr "سب" +msgstr "سبت" #: utils/dates.py:11 msgid "Sun" -msgstr "أح" +msgstr "أحد" #: utils/dates.py:18 msgid "January" @@ -4190,7 +4908,7 @@ msgstr "مارس" #: utils/dates.py:18 utils/dates.py:31 msgid "April" -msgstr "ابريل" +msgstr "إبريل" #: utils/dates.py:18 utils/dates.py:31 msgid "May" @@ -4226,81 +4944,81 @@ msgstr "ديسمبر" #: utils/dates.py:23 msgid "jan" -msgstr "ينا" +msgstr "يناير" #: utils/dates.py:23 msgid "feb" -msgstr "فبر" +msgstr "فبراير" #: utils/dates.py:23 msgid "mar" -msgstr "مار" +msgstr "مارس" #: utils/dates.py:23 msgid "apr" -msgstr "ابر" +msgstr "إبريل" #: utils/dates.py:23 msgid "may" -msgstr "ماي" +msgstr "مايو" #: utils/dates.py:23 msgid "jun" -msgstr "يون" +msgstr "يونيو" #: utils/dates.py:24 msgid "jul" -msgstr "يول" +msgstr "يوليو" #: utils/dates.py:24 msgid "aug" -msgstr "اغس" +msgstr "أغسطس" #: utils/dates.py:24 msgid "sep" -msgstr "سبت" +msgstr "سبتمبر" #: utils/dates.py:24 msgid "oct" -msgstr "اكت" +msgstr "أكتوبر" #: utils/dates.py:24 msgid "nov" -msgstr "نوف" +msgstr "نوفمبر" #: utils/dates.py:24 msgid "dec" -msgstr "ديس" +msgstr "ديسمبر" #: utils/dates.py:31 msgid "Jan." -msgstr "ينا" +msgstr "يناير" #: utils/dates.py:31 msgid "Feb." -msgstr "فبر" +msgstr "فبراير" #: utils/dates.py:32 msgid "Aug." -msgstr "أغس" +msgstr "أغسطس" #: utils/dates.py:32 msgid "Sept." -msgstr "سبت" +msgstr "سبتمبر" #: utils/dates.py:32 msgid "Oct." -msgstr "أكت" +msgstr "أكتوبر" #: utils/dates.py:32 msgid "Nov." -msgstr "نوف" +msgstr "نوفمبر" #: utils/dates.py:32 msgid "Dec." -msgstr "ديس" +msgstr "ديسمبر" -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "أو" @@ -4309,7 +5027,7 @@ msgid "year" msgid_plural "years" msgstr[0] "سنة" msgstr[1] "سنتان" -msgstr[2] "سنين" +msgstr[2] "سنوات" msgstr[3] "سنة" #: utils/timesince.py:22 @@ -4366,34 +5084,76 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr "، %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "j F Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j F Y، G:i" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "G:i:s" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "j F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s تم إنشاءه بنجاح." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s تم تحديثه بنجاح." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s تم حذفه." +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "%(fieldname)s واحد أو أكثر في %(name)s: %(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "%(fieldname)s واحد أو أكثر في %(name)s:" + +#~ msgid "Old password:" +#~ msgstr "كلمة المرور القديمة:" + +#~ msgid "Relation to parent model" +#~ msgstr "العلاقة بالنموذج الأب" + +#~ msgid "Add user" +#~ msgstr "أضف مستخدم" + +#~ msgid "Comment moderation queue" +#~ msgstr "صف الموافقة على التعليقات" + +#~ msgid "No comments to moderate" +#~ msgstr "لا يوجد تعليقات بحاجة لموافقة" + +#~ msgid "Email" +#~ msgstr "عنوان بريد إلكتروني" + +#~ msgid "Authenticated?" +#~ msgstr "مُصادَق؟" + +#~ msgid "IP Address" +#~ msgstr "عنوان IP" + +#~ msgid "Date posted" +#~ msgstr "تاريخ الإضافة" + +#~ msgid "yes" +#~ msgstr "نعم" + +#~ msgid "no" +#~ msgstr "لا" diff --git a/django/conf/locale/ar/__init__.py b/django/conf/locale/ar/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/ar/formats.py b/django/conf/locale/ar/formats.py new file mode 100644 index 000000000..d8d627f82 --- /dev/null +++ b/django/conf/locale/ar/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F، Y' +TIME_FORMAT = 'g:i:s A' +# DATETIME_FORMAT = +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'd‏/m‏/Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +# NUMBER_GROUPING = diff --git a/django/conf/locale/bg/LC_MESSAGES/django.mo b/django/conf/locale/bg/LC_MESSAGES/django.mo index c1993c661810fe9bf6a0411a2c5762685d0aa8ee..3d3839eb021ff3d993d4ccf768c2f156b900aa62 100644 GIT binary patch delta 10753 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 Tiq5Q1<(c&lEuC1{Z~FfOIEQRE delta 10750 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 ar!MXgs*2Nvr2FXC;dOpJarHN diff --git a/django/conf/locale/bg/LC_MESSAGES/django.po b/django/conf/locale/bg/LC_MESSAGES/django.po index eae6c2bcc..d61eb7fb6 100644 --- a/django/conf/locale/bg/LC_MESSAGES/django.po +++ b/django/conf/locale/bg/LC_MESSAGES/django.po @@ -4935,20 +4935,20 @@ msgstr "%(size)d байт" #: django/template/defaultfilters.py:728 #: template/defaultfilters.py:724 #, python-format -msgid "%.1f KB" -msgstr "%.1f КБ" +msgid "%s KB" +msgstr "%s КБ" #: django/template/defaultfilters.py:730 #: template/defaultfilters.py:726 #, python-format -msgid "%.1f MB" -msgstr "%.1f МБ" +msgid "%s MB" +msgstr "%s МБ" #: django/template/defaultfilters.py:731 #: template/defaultfilters.py:727 #, python-format -msgid "%.1f GB" -msgstr "%.1f ГБ" +msgid "%s GB" +msgstr "%s ГБ" #: django/utils/dateformat.py:41 #: utils/dateformat.py:41 diff --git a/django/conf/locale/bg/__init__.py b/django/conf/locale/bg/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/bg/formats.py b/django/conf/locale/bg/formats.py new file mode 100644 index 000000000..ea5f300e5 --- /dev/null +++ b/django/conf/locale/bg/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'd F Y' +TIME_FORMAT = 'H:i:s' +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'd.m.Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = u' ' # Non-breaking space +# NUMBER_GROUPING = diff --git a/django/conf/locale/bn/LC_MESSAGES/django.mo b/django/conf/locale/bn/LC_MESSAGES/django.mo index 770a846275266195ef02a00808cc5306a9197cbc..684f2eb2f5dc17bfc628fe55950530d5b865e5b1 100644 GIT binary patch delta 7586 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 diff --git a/django/conf/locale/bn/LC_MESSAGES/django.po b/django/conf/locale/bn/LC_MESSAGES/django.po index dfdaa3595..3a91d2d56 100644 --- a/django/conf/locale/bn/LC_MESSAGES/django.po +++ b/django/conf/locale/bn/LC_MESSAGES/django.po @@ -3733,18 +3733,18 @@ msgstr[1] "%(size)d বাইট" #: template/defaultfilters.py:739 #, python-format -msgid "%.1f KB" -msgstr "%.1f কেবি" +msgid "%s KB" +msgstr "%s কেবি" #: template/defaultfilters.py:741 #, python-format -msgid "%.1f MB" -msgstr "%.1f এমবি" +msgid "%s MB" +msgstr "%s এমবি" #: template/defaultfilters.py:742 #, python-format -msgid "%.1f GB" -msgstr "%.1f জিবি" +msgid "%s GB" +msgstr "%s জিবি" #: utils/dateformat.py:41 msgid "p.m." diff --git a/django/conf/locale/bn/__init__.py b/django/conf/locale/bn/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/bn/formats.py b/django/conf/locale/bn/formats.py new file mode 100644 index 000000000..46e5da939 --- /dev/null +++ b/django/conf/locale/bn/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F, Y' +TIME_FORMAT = 'g:i:s A' +# DATETIME_FORMAT = +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'j M, Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = '.' +THOUSAND_SEPARATOR = ',' +# NUMBER_GROUPING = diff --git a/django/conf/locale/bs/LC_MESSAGES/django.mo b/django/conf/locale/bs/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..3994e874a6c7499987df6cb0ecdca1339d637867 GIT binary patch literal 53210 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\n" +"Language-Team: Filip Dupanović \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" + +#: .\conf\global_settings.py:44 +msgid "Arabic" +msgstr "arapski" + +#: .\conf\global_settings.py:45 +msgid "Bulgarian" +msgstr "bugarski" + +#: .\conf\global_settings.py:46 +msgid "Bengali" +msgstr "bengalski" + +#: .\conf\global_settings.py:47 +msgid "Bosnian" +msgstr "bosanski" + +#: .\conf\global_settings.py:48 +msgid "Catalan" +msgstr "katalonski" + +#: .\conf\global_settings.py:49 +msgid "Czech" +msgstr "češki" + +#: .\conf\global_settings.py:50 +msgid "Welsh" +msgstr "velški" + +#: .\conf\global_settings.py:51 +msgid "Danish" +msgstr "danski" + +#: .\conf\global_settings.py:52 +msgid "German" +msgstr "njemački" + +#: .\conf\global_settings.py:53 +msgid "Greek" +msgstr "grčki" + +#: .\conf\global_settings.py:54 +msgid "English" +msgstr "engleski" + +#: .\conf\global_settings.py:55 +msgid "Spanish" +msgstr "španski" + +#: .\conf\global_settings.py:56 +msgid "Argentinean Spanish" +msgstr "argentinski španski" + +#: .\conf\global_settings.py:57 +msgid "Estonian" +msgstr "estonski" + +#: .\conf\global_settings.py:58 +msgid "Basque" +msgstr "baskijski" + +#: .\conf\global_settings.py:59 +msgid "Persian" +msgstr "persijski" + +#: .\conf\global_settings.py:60 +msgid "Finnish" +msgstr "finski" + +#: .\conf\global_settings.py:61 +msgid "French" +msgstr "francuski" + +#: .\conf\global_settings.py:62 +msgid "Frisian" +msgstr "frišanski" + +#: .\conf\global_settings.py:63 +msgid "Irish" +msgstr "irski" + +#: .\conf\global_settings.py:64 +msgid "Galician" +msgstr "galski" + +#: .\conf\global_settings.py:65 +msgid "Hebrew" +msgstr "hebrejski" + +#: .\conf\global_settings.py:66 +msgid "Hindi" +msgstr "hindi" + +#: .\conf\global_settings.py:67 +msgid "Croatian" +msgstr "hrvatski" + +#: .\conf\global_settings.py:68 +msgid "Hungarian" +msgstr "mađarski" + +#: .\conf\global_settings.py:69 +msgid "Icelandic" +msgstr "islandski" + +#: .\conf\global_settings.py:70 +msgid "Italian" +msgstr "italijanski" + +#: .\conf\global_settings.py:71 +msgid "Japanese" +msgstr "japanski" + +#: .\conf\global_settings.py:72 +msgid "Georgian" +msgstr "gruzijski" + +#: .\conf\global_settings.py:73 +msgid "Khmer" +msgstr "kambođanski" + +#: .\conf\global_settings.py:74 +msgid "Kannada" +msgstr "kanada" + +#: .\conf\global_settings.py:75 +msgid "Korean" +msgstr "korejski" + +#: .\conf\global_settings.py:76 +msgid "Lithuanian" +msgstr "litvanski" + +#: .\conf\global_settings.py:77 +msgid "Latvian" +msgstr "latvijski" + +#: .\conf\global_settings.py:78 +msgid "Macedonian" +msgstr "makedonski" + +#: .\conf\global_settings.py:79 +msgid "Dutch" +msgstr "holandski" + +#: .\conf\global_settings.py:80 +msgid "Norwegian" +msgstr "norveški" + +#: .\conf\global_settings.py:81 +msgid "Polish" +msgstr "poljski" + +#: .\conf\global_settings.py:82 +msgid "Portuguese" +msgstr "portugalski" + +#: .\conf\global_settings.py:83 +msgid "Brazilian Portuguese" +msgstr "brazilski portugalski" + +#: .\conf\global_settings.py:84 +msgid "Romanian" +msgstr "rumunski" + +#: .\conf\global_settings.py:85 +msgid "Russian" +msgstr "ruski" + +#: .\conf\global_settings.py:86 +msgid "Slovak" +msgstr "slovački" + +#: .\conf\global_settings.py:87 +msgid "Slovenian" +msgstr "slovenački" + +#: .\conf\global_settings.py:88 +msgid "Albanian" +msgstr "albanski" + +#: .\conf\global_settings.py:89 +msgid "Serbian" +msgstr "srpski" + +#: .\conf\global_settings.py:90 +msgid "Serbian Latin" +msgstr "srpski latinski" + +#: .\conf\global_settings.py:91 +msgid "Swedish" +msgstr "švedski" + +#: .\conf\global_settings.py:92 +msgid "Tamil" +msgstr "tamilski" + +#: .\conf\global_settings.py:93 +msgid "Telugu" +msgstr "telugu" + +#: .\conf\global_settings.py:94 +msgid "Thai" +msgstr "tajlandski" + +#: .\conf\global_settings.py:95 +msgid "Turkish" +msgstr "turski" + +#: .\conf\global_settings.py:96 +msgid "Ukrainian" +msgstr "ukrajinski" + +#: .\conf\global_settings.py:97 +msgid "Vietnamese" +msgstr "vijetnamežanski" + +#: .\conf\global_settings.py:98 +msgid "Simplified Chinese" +msgstr "novokineski" + +#: .\conf\global_settings.py:99 +msgid "Traditional Chinese" +msgstr "starokineski" + +#: .\contrib\admin\actions.py:52 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Uspješno obrisano: %(count)d %(items)s." + +#: .\contrib\admin\actions.py:59 .\contrib\admin\options.py:1100 +msgid "Are you sure?" +msgstr "Da li ste sigurni?" + +#: .\contrib\admin\actions.py:77 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Briši označene objekte klase %(verbose_name_plural)s" + +#: .\contrib\admin\filterspecs.py:44 +#, python-format +msgid "" +"

By %s:

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

    %s:

    \n" +"
      \n" + +#: .\contrib\admin\filterspecs.py:75 .\contrib\admin\filterspecs.py:92 +#: .\contrib\admin\filterspecs.py:147 .\contrib\admin\filterspecs.py:173 +msgid "All" +msgstr "Svi" + +#: .\contrib\admin\filterspecs.py:113 +msgid "Any date" +msgstr "Svi datumi" + +#: .\contrib\admin\filterspecs.py:114 +msgid "Today" +msgstr "Danas" + +#: .\contrib\admin\filterspecs.py:117 +msgid "Past 7 days" +msgstr "Poslednjih 7 dana" + +#: .\contrib\admin\filterspecs.py:119 +msgid "This month" +msgstr "Ovaj mesec" + +#: .\contrib\admin\filterspecs.py:121 +msgid "This year" +msgstr "Ova godina" + +#: .\contrib\admin\filterspecs.py:147 .\forms\widgets.py:469 +msgid "Yes" +msgstr "Da" + +#: .\contrib\admin\filterspecs.py:147 .\forms\widgets.py:469 +msgid "No" +msgstr "Ne" + +#: .\contrib\admin\filterspecs.py:154 .\forms\widgets.py:469 +msgid "Unknown" +msgstr "Nepoznato" + +#: .\contrib\admin\helpers.py:20 +msgid "Action:" +msgstr "Radnja:" + +#: .\contrib\admin\models.py:19 +msgid "action time" +msgstr "vrijeme radnje" + +#: .\contrib\admin\models.py:22 +msgid "object id" +msgstr "id objekta" + +#: .\contrib\admin\models.py:23 +msgid "object repr" +msgstr "opis objekta" + +#: .\contrib\admin\models.py:24 +msgid "action flag" +msgstr "oznaka radnje" + +#: .\contrib\admin\models.py:25 +msgid "change message" +msgstr "opis izmjene" + +#: .\contrib\admin\models.py:28 +msgid "log entry" +msgstr "zapis u logovima" + +#: .\contrib\admin\models.py:29 +msgid "log entries" +msgstr "zapisi u logovima" + +#: .\contrib\admin\options.py:142 .\contrib\admin\options.py:157 +msgid "None" +msgstr "Ništa" + +#: .\contrib\admin\options.py:563 +#, python-format +msgid "Changed %s." +msgstr "Izmjenjena polja %s" + +#: .\contrib\admin\options.py:563 .\contrib\admin\options.py:573 +#: .\contrib\comments\templates\comments\preview.html.py:16 +#: .\db\models\base.py:844 .\forms\models.py:573 +msgid "and" +msgstr "i" + +#: .\contrib\admin\options.py:568 +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "Sačuvan objekat „%(object)s“ klase %(name)s." + +#: .\contrib\admin\options.py:572 +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "Izmjenjena polja %(list)s objekata „%(object)s“ klase %(name)s ." + +#: .\contrib\admin\options.py:577 +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "Obrisan objekat „%(object)s“ klase %(name)s." + +#: .\contrib\admin\options.py:581 +msgid "No fields changed." +msgstr "Bez izmjena u poljima." + +#: .\contrib\admin\options.py:647 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "Objekat „%(obj)s“ klase %(name)s sačuvan je uspješno." + +#: .\contrib\admin\options.py:651 .\contrib\admin\options.py:684 +msgid "You may edit it again below." +msgstr "Dole možete ponovo unositi izmjene." + +#: .\contrib\admin\options.py:661 .\contrib\admin\options.py:694 +#, python-format +msgid "You may add another %s below." +msgstr "Dole možete dodati novi objekat klase %s" + +#: .\contrib\admin\options.py:682 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "Objekat „%(obj)s“ klase %(name)s izmjenjen je uspješno." + +#: .\contrib\admin\options.py:690 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"Objekat „%(obj)s“ klase %(name)s dodat je uspješno. Dole možete unjeti " +"dodatne izmjene." + +#: .\contrib\admin\options.py:744 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Predmeti moraju biti izabrani da bi se mogla obaviti akcija nad njima. " +"Nijedan predmet nije bio izmjenjen." + +#: .\contrib\admin\options.py:762 +msgid "No action selected." +msgstr "Nijedna akcija nije izabrana." + +#: .\contrib\admin\options.py:842 +#, python-format +msgid "Add %s" +msgstr "Dodaj objekat klase %s" + +#: .\contrib\admin\options.py:868 .\contrib\admin\options.py:1080 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "Objekat klase %(name)s sa primarnim ključem %(key)r ne postoji." + +#: .\contrib\admin\options.py:933 +#, python-format +msgid "Change %s" +msgstr "Izmjeni objekat klase %s" + +#: .\contrib\admin\options.py:978 +msgid "Database error" +msgstr "Greška u bazi podataka" + +#: .\contrib\admin\options.py:1014 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s objekat klase %(name)s izmjenjen je uspješno." +msgstr[1] "%(count)s objekata klase %(name)s izmjenjeni su uspješno." +msgstr[2] "%(count)s objekta klase %(name)s izmjenjeno je uspješno." + +#: .\contrib\admin\options.py:1041 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s izabran" +msgstr[1] "%(total_count)s izabrana" +msgstr[2] "%(total_count)s izabrani" + +#: .\contrib\admin\options.py:1046 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 od %(cnt)s izabrani" + +#: .\contrib\admin\options.py:1093 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Objekat „%(obj)s“ klase %(name)s obrisan je uspješno." + +#: .\contrib\admin\options.py:1130 +#, python-format +msgid "Change history: %s" +msgstr "Historijat izmjena: %s" + +#: .\contrib\admin\sites.py:22 .\contrib\admin\views\decorators.py:14 +#: .\contrib\auth\forms.py:81 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"Unesite tačno korisničko ime i lozinku. Pazite na razliku izmjeđu malih i " +"velikih slova u oba polja" + +#: .\contrib\admin\sites.py:311 .\contrib\admin\views\decorators.py:40 +msgid "Please log in again, because your session has expired." +msgstr "Prijavite se ponovo pošto je vaša sesija istekla." + +#: .\contrib\admin\sites.py:318 .\contrib\admin\views\decorators.py:47 +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 nije podešen da prima kolačiće. Uključite kolačiće, " +"osvježite ovu stranicu i probajte ponovo." + +#: .\contrib\admin\sites.py:334 .\contrib\admin\sites.py:340 +#: .\contrib\admin\views\decorators.py:66 +msgid "Usernames cannot contain the '@' character." +msgstr "Korisnička imena ne smiju sadržati znak „@“." + +#: .\contrib\admin\sites.py:337 .\contrib\admin\views\decorators.py:62 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "Vaša email adresa nije vaše korisničko ime. Probajte sa „%s“." + +#: .\contrib\admin\sites.py:393 +msgid "Site administration" +msgstr "Administracija sistema" + +#: .\contrib\admin\sites.py:407 +#: .\contrib\admin\templates\admin\login.html.py:26 +#: .\contrib\admin\templates\registration\password_reset_complete.html.py:14 +#: .\contrib\admin\views\decorators.py:20 +msgid "Log in" +msgstr "Prijava" + +#: .\contrib\admin\sites.py:452 +#, python-format +msgid "%s administration" +msgstr "Administracija %s" + +#: .\contrib\admin\widgets.py:75 +msgid "Date:" +msgstr "Datum:" + +#: .\contrib\admin\widgets.py:75 +msgid "Time:" +msgstr "Vrijeme:" + +#: .\contrib\admin\widgets.py:99 +msgid "Currently:" +msgstr "Trenutno:" + +#: .\contrib\admin\widgets.py:99 +msgid "Change:" +msgstr "Izmjena:" + +#: .\contrib\admin\widgets.py:129 +msgid "Lookup" +msgstr "Pretraži" + +#: .\contrib\admin\widgets.py:244 +msgid "Add Another" +msgstr "Dodaj još jedan" + +#: .\contrib\admin\templates\admin\404.html.py:4 +#: .\contrib\admin\templates\admin\404.html.py:8 +msgid "Page not found" +msgstr "Stranica nije pronađena" + +#: .\contrib\admin\templates\admin\404.html.py:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Žao nam je, tražena stranica nije pronađena." + +#: .\contrib\admin\templates\admin\500.html.py:4 +#: .\contrib\admin\templates\admin\app_index.html.py:8 +#: .\contrib\admin\templates\admin\base.html.py:55 +#: .\contrib\admin\templates\admin\change_form.html.py:18 +#: .\contrib\admin\templates\admin\change_list.html.py:42 +#: .\contrib\admin\templates\admin\delete_confirmation.html.py:6 +#: .\contrib\admin\templates\admin\delete_selected_confirmation.html.py:6 +#: .\contrib\admin\templates\admin\invalid_setup.html.py:4 +#: .\contrib\admin\templates\admin\object_history.html.py:6 +#: .\contrib\admin\templates\admin\auth\user\change_password.html.py:11 +#: .\contrib\admin\templates\registration\logged_out.html.py:4 +#: .\contrib\admin\templates\registration\password_change_done.html.py:4 +#: .\contrib\admin\templates\registration\password_change_form.html.py:5 +#: .\contrib\admin\templates\registration\password_reset_complete.html.py:4 +#: .\contrib\admin\templates\registration\password_reset_confirm.html.py:4 +#: .\contrib\admin\templates\registration\password_reset_done.html.py:4 +#: .\contrib\admin\templates\registration\password_reset_form.html.py:4 +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:3 +msgid "Home" +msgstr "Početna" + +#: .\contrib\admin\templates\admin\500.html.py:4 +msgid "Server error" +msgstr "Greška na serveru" + +#: .\contrib\admin\templates\admin\500.html.py:6 +msgid "Server error (500)" +msgstr "Greška na serveru (500)" + +#: .\contrib\admin\templates\admin\500.html.py:9 +msgid "Server Error (500)" +msgstr "Greška na serveru (500)" + +#: .\contrib\admin\templates\admin\500.html.py:10 +msgid "" +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Došlo je do greške. Administrator sajta je obavešten emailom i greška će " +"biti uskoro otklonjena. Hvala na strpljenju." + +#: .\contrib\admin\templates\admin\actions.html.py:4 +msgid "Run the selected action" +msgstr "Pokreni odabranu radnju" + +#: .\contrib\admin\templates\admin\actions.html.py:4 +msgid "Go" +msgstr "Počni" + +#: .\contrib\admin\templates\admin\actions.html.py:11 +msgid "Click here to select the objects across all pages" +msgstr "Kliknite ovdje da izaberete objekte preko svih stranica" + +#: .\contrib\admin\templates\admin\actions.html.py:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Izaberite svih %(total_count)s %(module_name)s" + +#: .\contrib\admin\templates\admin\actions.html.py:13 +msgid "Clear selection" +msgstr "Izbrišite izbor" + +#: .\contrib\admin\templates\admin\app_index.html.py:10 +#: .\contrib\admin\templates\admin\index.html.py:19 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: .\contrib\admin\templates\admin\base.html.py:28 +msgid "Welcome," +msgstr "Dobrodošli," + +#: .\contrib\admin\templates\admin\base.html.py:33 +#: .\contrib\admin\templates\registration\password_change_done.html.py:3 +#: .\contrib\admin\templates\registration\password_change_form.html.py:4 +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:3 +msgid "Documentation" +msgstr "Dokumentacija" + +#: .\contrib\admin\templates\admin\base.html.py:41 +#: .\contrib\admin\templates\admin\auth\user\change_password.html.py:15 +#: .\contrib\admin\templates\admin\auth\user\change_password.html.py:48 +#: .\contrib\admin\templates\registration\password_change_done.html.py:3 +#: .\contrib\admin\templates\registration\password_change_form.html.py:4 +msgid "Change password" +msgstr "Promjena lozinke" + +#: .\contrib\admin\templates\admin\base.html.py:48 +#: .\contrib\admin\templates\registration\password_change_done.html.py:3 +#: .\contrib\admin\templates\registration\password_change_form.html.py:4 +msgid "Log out" +msgstr "Odjava" + +#: .\contrib\admin\templates\admin\base_site.html.py:4 +msgid "Django site admin" +msgstr "Django administracija sajta" + +#: .\contrib\admin\templates\admin\base_site.html.py:7 +msgid "Django administration" +msgstr "Django administracija" + +#: .\contrib\admin\templates\admin\change_form.html.py:21 +#: .\contrib\admin\templates\admin\index.html.py:29 +msgid "Add" +msgstr "Dodaj" + +#: .\contrib\admin\templates\admin\change_form.html.py:28 +#: .\contrib\admin\templates\admin\object_history.html.py:10 +msgid "History" +msgstr "Historijat" + +#: .\contrib\admin\templates\admin\change_form.html.py:29 +#: .\contrib\admin\templates\admin\edit_inline\stacked.html.py:9 +#: .\contrib\admin\templates\admin\edit_inline\tabular.html.py:28 +msgid "View on site" +msgstr "Pregled na sajtu" + +#: .\contrib\admin\templates\admin\change_form.html.py:39 +#: .\contrib\admin\templates\admin\change_list.html.py:71 +#: .\contrib\admin\templates\admin\auth\user\change_password.html.py:24 +#: .\contrib\admin\templates\registration\password_change_form.html.py:15 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Ispravite grešku dole." +msgstr[1] "Ispravite greške dole." +msgstr[2] "Ispravite greške dole." + +#: .\contrib\admin\templates\admin\change_list.html.py:63 +#, python-format +msgid "Add %(name)s" +msgstr "Dodaj objekat klase %(name)s" + +#: .\contrib\admin\templates\admin\change_list.html.py:82 +msgid "Filter" +msgstr "Filter" + +#: .\contrib\admin\templates\admin\delete_confirmation.html.py:10 +#: .\contrib\admin\templates\admin\submit_line.html.py:4 +#: .\forms\formsets.py:302 +msgid "Delete" +msgstr "Obriši" + +#: .\contrib\admin\templates\admin\delete_confirmation.html.py:16 +#, 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 "" +"Uklanjanje %(object_name)s „%(escaped_object)s“ povlači uklanjanje svih " +"objekata koji su povezani sa ovim objektom, ali vaš nalog nema dozvole za " +"brisanje slijedećih tipova objekata:" + +#: .\contrib\admin\templates\admin\delete_confirmation.html.py:23 +#, 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 "" +"Da li ste sigurni da želite da obrišete %(object_name)s „%(escaped_object)" +"s“? Slijedeći objekti koji su u vezi sa ovim objektom će također biti " +"obrisani:" + +#: .\contrib\admin\templates\admin\delete_confirmation.html.py:28 +#: .\contrib\admin\templates\admin\delete_selected_confirmation.html.py:33 +msgid "Yes, I'm sure" +msgstr "Da, siguran sam" + +#: .\contrib\admin\templates\admin\delete_selected_confirmation.html.py:9 +msgid "Delete multiple objects" +msgstr "Brisanje više objekata" + +#: .\contrib\admin\templates\admin\delete_selected_confirmation.html.py:15 +#, python-format +msgid "" +"Deleting the %(object_name)s would result in deleting related objects, but " +"your account doesn't have permission to delete the following types of " +"objects:" +msgstr "" +"Uklanjanje %(object_name)s povlači uklanjanje svih objekata koji su povezani " +"sa ovim objektom, ali vaš nalog nema dozvole za brisanje slijedećih tipova " +"objekata:" + +#: .\contrib\admin\templates\admin\delete_selected_confirmation.html.py:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" +"Da li ste sigurni da želite da obrišete odabrane %(object_name)s? Slijedeći " +"objekti koji su u vezi sa ovim objektom će također biti obrisani:" + +#: .\contrib\admin\templates\admin\filter.html.py:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s " + +#: .\contrib\admin\templates\admin\index.html.py:18 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modeli dostupni u aplikaciji %(name)s." + +#: .\contrib\admin\templates\admin\index.html.py:35 +msgid "Change" +msgstr "Izmjeni" + +#: .\contrib\admin\templates\admin\index.html.py:45 +msgid "You don't have permission to edit anything." +msgstr "Nemate dozvole da unosite bilo kakve izmjene." + +#: .\contrib\admin\templates\admin\index.html.py:53 +msgid "Recent Actions" +msgstr "Posjlednje radnje" + +#: .\contrib\admin\templates\admin\index.html.py:54 +msgid "My Actions" +msgstr "Moje radnje" + +#: .\contrib\admin\templates\admin\index.html.py:58 +msgid "None available" +msgstr "Nema podataka" + +#: .\contrib\admin\templates\admin\index.html.py:72 +msgid "Unknown content" +msgstr "Nepoznat sadržaj" + +#: .\contrib\admin\templates\admin\invalid_setup.html.py: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 "" +"Nešto nije uredu sa vašom bazom podataka. Provjerite da li postoje " +"odgovarajuće tabele i da li odgovarajući korisnik ima pristup bazi." + +#: .\contrib\admin\templates\admin\login.html.py:19 +msgid "Username:" +msgstr "Korisnik:" + +#: .\contrib\admin\templates\admin\login.html.py:22 +msgid "Password:" +msgstr "Lozinka:" + +#: .\contrib\admin\templates\admin\object_history.html.py:22 +msgid "Date/time" +msgstr "Datum/vrijeme" + +#: .\contrib\admin\templates\admin\object_history.html.py:23 +msgid "User" +msgstr "Korisnik" + +#: .\contrib\admin\templates\admin\object_history.html.py:24 +msgid "Action" +msgstr "Radnja" + +#: .\contrib\admin\templates\admin\object_history.html.py:38 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Ovaj objekat nema zabilježen historijat izmjena. Vjerovatno nije dodan kroz " +"ovaj sajt za administraciju." + +#: .\contrib\admin\templates\admin\pagination.html.py:10 +msgid "Show all" +msgstr "Prikaži sve" + +#: .\contrib\admin\templates\admin\pagination.html.py:11 +#: .\contrib\admin\templates\admin\submit_line.html.py:3 +msgid "Save" +msgstr "Sačuvaj" + +#: .\contrib\admin\templates\admin\search_form.html.py:8 +msgid "Search" +msgstr "Pretraga" + +#: .\contrib\admin\templates\admin\search_form.html.py:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 rezultat" +msgstr[1] "%(counter)s rezultata" +msgstr[2] "%(counter)s rezultata" + +#: .\contrib\admin\templates\admin\search_form.html.py:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "ukupno %(full_result_count)s" + +#: .\contrib\admin\templates\admin\submit_line.html.py:5 +msgid "Save as new" +msgstr "Sačuvaj kao novi" + +#: .\contrib\admin\templates\admin\submit_line.html.py:6 +msgid "Save and add another" +msgstr "Sačuvaj i dodaj slijedeći" + +#: .\contrib\admin\templates\admin\submit_line.html.py:7 +msgid "Save and continue editing" +msgstr "Sačuvaj i nastavi sa izmjenama" + +#: .\contrib\admin\templates\admin\auth\user\add_form.html.py:5 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Prvo unesite korisničko ime i lozinku. Potom ćete moći da mijenjate još " +"korisničkih podešavanja." + +#: .\contrib\admin\templates\admin\auth\user\change_password.html.py:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Unesite novu lozinku za korisnika %(username)s." + +#: .\contrib\admin\templates\admin\auth\user\change_password.html.py:35 +#: .\contrib\auth\forms.py:17 .\contrib\auth\forms.py:61 +#: .\contrib\auth\forms.py:186 +msgid "Password" +msgstr "Lozinka" + +#: .\contrib\admin\templates\admin\auth\user\change_password.html.py:41 +#: .\contrib\admin\templates\registration\password_change_form.html.py:37 +#: .\contrib\auth\forms.py:187 +msgid "Password (again)" +msgstr "Lozinka (ponovite)" + +#: .\contrib\admin\templates\admin\auth\user\change_password.html.py:42 +#: .\contrib\auth\forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Radi provjere tačnosti ponovo unesite lozinku koju ste unijeli gore." + +#: .\contrib\admin\templates\admin\edit_inline\stacked.html.py:64 +#: .\contrib\admin\templates\admin\edit_inline\tabular.html.py:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Dodaj još jedan %(verbose_name)s" + +#: .\contrib\admin\templates\admin\edit_inline\stacked.html.py:67 +#: .\contrib\admin\templates\admin\edit_inline\tabular.html.py:113 +#: .\contrib\comments\templates\comments\delete.html.py:12 +msgid "Remove" +msgstr "Obriši" + +#: .\contrib\admin\templates\admin\edit_inline\tabular.html.py:15 +msgid "Delete?" +msgstr "Brisanje?" + +#: .\contrib\admin\templates\registration\logged_out.html.py:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Hvala što ste danas proveli vrijeme na ovom sajtu." + +#: .\contrib\admin\templates\registration\logged_out.html.py:10 +msgid "Log in again" +msgstr "Ponovna prijava" + +#: .\contrib\admin\templates\registration\password_change_done.html.py:4 +#: .\contrib\admin\templates\registration\password_change_form.html.py:5 +#: .\contrib\admin\templates\registration\password_change_form.html.py:7 +#: .\contrib\admin\templates\registration\password_change_form.html.py:19 +msgid "Password change" +msgstr "Izmjena lozinke" + +#: .\contrib\admin\templates\registration\password_change_done.html.py:6 +#: .\contrib\admin\templates\registration\password_change_done.html.py:10 +msgid "Password change successful" +msgstr "uspješna izmjena lozinke" + +#: .\contrib\admin\templates\registration\password_change_done.html.py:12 +msgid "Your password was changed." +msgstr "Vaša lozinka je izmjenjena." + +#: .\contrib\admin\templates\registration\password_change_form.html.py:21 +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 "" +"Iz bezbjednosnih razloga prvo unesite svoju staru lozinku, a novu zatim " +"unesite dva puta da bismo mogli da provjerimo da li ste je pravilno unijeli." + +#: .\contrib\admin\templates\registration\password_change_form.html.py:27 +#: .\contrib\auth\forms.py:170 +msgid "Old password" +msgstr "Stara lozinka" + +#: .\contrib\admin\templates\registration\password_change_form.html.py:32 +#: .\contrib\auth\forms.py:144 +msgid "New password" +msgstr "Nova lozinka" + +#: .\contrib\admin\templates\registration\password_change_form.html.py:43 +#: .\contrib\admin\templates\registration\password_reset_confirm.html.py:21 +msgid "Change my password" +msgstr "Izmijeni moju lozinku" + +#: .\contrib\admin\templates\registration\password_reset_complete.html.py:4 +#: .\contrib\admin\templates\registration\password_reset_confirm.html.py:6 +#: .\contrib\admin\templates\registration\password_reset_done.html.py:4 +#: .\contrib\admin\templates\registration\password_reset_form.html.py:4 +#: .\contrib\admin\templates\registration\password_reset_form.html.py:6 +#: .\contrib\admin\templates\registration\password_reset_form.html.py:10 +msgid "Password reset" +msgstr "Resetovanje lozinke" + +#: .\contrib\admin\templates\registration\password_reset_complete.html.py:6 +#: .\contrib\admin\templates\registration\password_reset_complete.html.py:10 +msgid "Password reset complete" +msgstr "Resetovanje lozinke uspješno" + +#: .\contrib\admin\templates\registration\password_reset_complete.html.py:12 +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Vaša lozinka je postavljena. Možete se prijaviti." + +#: .\contrib\admin\templates\registration\password_reset_confirm.html.py:4 +msgid "Password reset confirmation" +msgstr "Potvrda resetovanja lozinke" + +#: .\contrib\admin\templates\registration\password_reset_confirm.html.py:12 +msgid "Enter new password" +msgstr "Unesite novu lozinku" + +#: .\contrib\admin\templates\registration\password_reset_confirm.html.py:14 +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Unesite novu lozinku dva puta kako bismo mogli da provjerimo da li ste je " +"pravilno unijeli." + +#: .\contrib\admin\templates\registration\password_reset_confirm.html.py:18 +msgid "New password:" +msgstr "Nova lozinka:" + +#: .\contrib\admin\templates\registration\password_reset_confirm.html.py:20 +msgid "Confirm password:" +msgstr "Potvrda lozinke:" + +#: .\contrib\admin\templates\registration\password_reset_confirm.html.py:26 +msgid "Password reset unsuccessful" +msgstr "Resetovanje lozinke neuspješno" + +#: .\contrib\admin\templates\registration\password_reset_confirm.html.py:28 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Link za resetovanje lozinke nije važeći, vjerovatno zato što je već " +"iskorišćen. Ponovo zatražite resetovanje lozinke." + +#: .\contrib\admin\templates\registration\password_reset_done.html.py:6 +#: .\contrib\admin\templates\registration\password_reset_done.html.py:10 +msgid "Password reset successful" +msgstr "Resetovanje lozinke uspješno." + +#: .\contrib\admin\templates\registration\password_reset_done.html.py:12 +msgid "" +"We've e-mailed you instructions for setting your password to the e-mail " +"address you submitted. You should be receiving it shortly." +msgstr "" +"Poslali smo uputstva za postavljanje nove lozinke na email adresu koju ste " +"nam dali. Uputstva ćete dobiti uskoro." + +#: .\contrib\admin\templates\registration\password_reset_email.html.py:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Ovu poruku ste primili zato što ste zahtijevali resetovanje lozinke" + +#: .\contrib\admin\templates\registration\password_reset_email.html.py:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "za vaš korisnički nalog na sajtu %(site_name)s" + +#: .\contrib\admin\templates\registration\password_reset_email.html.py:5 +msgid "Please go to the following page and choose a new password:" +msgstr "Idite na slijedeću stranicu i postavite novu lozinku." + +#: .\contrib\admin\templates\registration\password_reset_email.html.py:9 +msgid "Your username, in case you've forgotten:" +msgstr "Ukoliko ste zaboravili, vaše korisničko ime:" + +#: .\contrib\admin\templates\registration\password_reset_email.html.py:11 +msgid "Thanks for using our site!" +msgstr "Hvala što koristite naš sajt!" + +#: .\contrib\admin\templates\registration\password_reset_email.html.py:13 +#, python-format +msgid "The %(site_name)s team" +msgstr "Uredništvo sajta %(site_name)s" + +#: .\contrib\admin\templates\registration\password_reset_form.html.py:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll e-mail " +"instructions for setting a new one." +msgstr "" +"Zaboravili ste lozinku? Unesite svoju email adresu dole i poslaćemo vam " +"uputstva za postavljanje nove." + +#: .\contrib\admin\templates\registration\password_reset_form.html.py:16 +msgid "E-mail address:" +msgstr "Email adresa:" + +#: .\contrib\admin\templates\registration\password_reset_form.html.py:16 +msgid "Reset my password" +msgstr "Resetuj moju lozinku" + +#: .\contrib\admin\templatetags\admin_list.py:239 +msgid "All dates" +msgstr "Svi datumi" + +#: .\contrib\admin\views\main.py:70 +#, python-format +msgid "Select %s" +msgstr "Odaberi objekat klase %s" + +#: .\contrib\admin\views\main.py:70 +#, python-format +msgid "Select %s to change" +msgstr "Odaberi objekat klase %s za izmjenu" + +#: .\contrib\admin\views\template.py:38 .\contrib\sites\models.py:38 +msgid "site" +msgstr "sajt" + +#: .\contrib\admin\views\template.py:40 +msgid "template" +msgstr "obrazac" + +#: .\contrib\admindocs\views.py:61 .\contrib\admindocs\views.py:63 +#: .\contrib\admindocs\views.py:65 +msgid "tag:" +msgstr "tag:" + +#: .\contrib\admindocs\views.py:94 .\contrib\admindocs\views.py:96 +#: .\contrib\admindocs\views.py:98 +msgid "filter:" +msgstr "filter:" + +#: .\contrib\admindocs\views.py:158 .\contrib\admindocs\views.py:160 +#: .\contrib\admindocs\views.py:162 +msgid "view:" +msgstr "pogled:" + +#: .\contrib\admindocs\views.py:190 +#, python-format +msgid "App %r not found" +msgstr "Aplikacija %r nije pronađena" + +#: .\contrib\admindocs\views.py:197 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr "Model %(model_name)r nije pronađen u aplikaciji %(app_label)r" + +#: .\contrib\admindocs\views.py:209 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "povezani objekti klase `%(app_label)s.%(data_type)s`" + +#: .\contrib\admindocs\views.py:209 .\contrib\admindocs\views.py:228 +#: .\contrib\admindocs\views.py:233 .\contrib\admindocs\views.py:247 +#: .\contrib\admindocs\views.py:261 .\contrib\admindocs\views.py:266 +msgid "model:" +msgstr "model:" + +# WARN: possible breakage in future +# This string is interpolated in strings below, which can cause breakage in +# future releases. +#: .\contrib\admindocs\views.py:224 .\contrib\admindocs\views.py:256 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "klase `%(app_label)s.%(object_name)s`" + +# WARN: possible breakage in future +#: .\contrib\admindocs\views.py:228 .\contrib\admindocs\views.py:261 +#, python-format +msgid "all %s" +msgstr "svi povezani objekti %s" + +# WARN: possible breakage in future +#: .\contrib\admindocs\views.py:233 .\contrib\admindocs\views.py:266 +#, python-format +msgid "number of %s" +msgstr "broj povezanih objekata %s" + +# WARN: possible breakage in future +#: .\contrib\admindocs\views.py:271 +#, python-format +msgid "Fields on %s objects" +msgstr "Polja u povezanim objektima %s" + +#: .\contrib\admindocs\views.py:361 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s ne izgleda kao urlpattern objekat" + +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:3 +msgid "Bookmarklets" +msgstr "Bookmarkleti" + +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:4 +msgid "Documentation bookmarklets" +msgstr "Bookmarkleti dokumentacije" + +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:8 +msgid "" +"\n" +"

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

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

      Da biste instalirali bookmarklet, prevucite link do " +"svojih\n" +"bookmarka ili kliknite desnim dugmetom i dodajte među bookmarke. Nakon toga\n" +"bookmarkletima možete pristupiti sa svake stranice na sajtu. Imajte na umu\n" +"da neki bookmarkleti zahtijevaju da sajtu pristupite sa računara koji su\n" +"označeni kao „interni“ (pitajte administratora vašeg sistema ukoliko niste\n" +"sigurni da li je vaš računar „interni“).

      \n" + +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:18 +msgid "Documentation for this page" +msgstr "Dokumentacija za ovu stranicu" + +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"Vodi od bilo koje stranice do dokumentacije za pogled koji generiše tu " +"stranicu." + +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:21 +msgid "Show object ID" +msgstr "Prikaži ID objekta" + +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Prikazuje content-type i jedinstveni ID za stranicu koja predstavlja jedan " +"objekat." + +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:24 +msgid "Edit this object (current window)" +msgstr "Izmjeni ovaj objekat (u ovom prozoru)" + +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"Vodi u administracioni stranicu za stranice koje prestavljaju jedan objekat" + +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:27 +msgid "Edit this object (new window)" +msgstr "Izmjeni ovaj objekat (novi prozor)" + +#: .\contrib\admindocs\templates\admin_doc\bookmarklets.html.py:28 +msgid "As above, but opens the admin page in a new window." +msgstr "" +"Isto kao prethodni, ali otvara administracionu stranicu u novom prozoru." + +#: .\contrib\auth\admin.py:29 +msgid "Personal info" +msgstr "Lični podaci" + +#: .\contrib\auth\admin.py:30 +msgid "Permissions" +msgstr "Dozvole" + +#: .\contrib\auth\admin.py:31 +msgid "Important dates" +msgstr "Važni datumi" + +#: .\contrib\auth\admin.py:32 +msgid "Groups" +msgstr "Grupe" + +#: .\contrib\auth\admin.py:114 +msgid "Password changed successfully." +msgstr "Lozinka uspješno izmjenjena." + +#: .\contrib\auth\admin.py:124 +#, python-format +msgid "Change password: %s" +msgstr "Izmjeni lozinku: %s" + +#: .\contrib\auth\forms.py:14 .\contrib\auth\forms.py:48 +#: .\contrib\auth\forms.py:60 +msgid "Username" +msgstr "Korisnik" + +#: .\contrib\auth\forms.py:15 .\contrib\auth\forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Neophodno. Najviše 30 slovnih mesta. Samo slova, brojke i @/./+/-/_ only." + +#: .\contrib\auth\forms.py:16 .\contrib\auth\forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Ova vrijednost može sadržati samo slova, brojke i digits and @/./+/-/_ " +"znamenke." + +#: .\contrib\auth\forms.py:18 +msgid "Password confirmation" +msgstr "Potvrda lozinke" + +#: .\contrib\auth\forms.py:31 +msgid "A user with that username already exists." +msgstr "Korisnik sa tim korisničkim imenom već postoji." + +#: .\contrib\auth\forms.py:37 .\contrib\auth\forms.py:156 +#: .\contrib\auth\forms.py:198 +msgid "The two password fields didn't match." +msgstr "Dva polja za lozinku se nisu poklopila." + +#: .\contrib\auth\forms.py:83 +msgid "This account is inactive." +msgstr "Ovaj nalog je neaktivan." + +#: .\contrib\auth\forms.py:88 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Izgleda da su kolačići isključeni u vašem browser-u. Oni moraju biti " +"uključeni da bi ste se prijavili." + +#: .\contrib\auth\forms.py:101 +msgid "E-mail" +msgstr "Email adresa" + +#: .\contrib\auth\forms.py:110 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Ta email adresa nije u vezi ni sa jednim nalogom. Da li ste sigurni da ste " +"se već registrovali?" + +#: .\contrib\auth\forms.py:136 +#, python-format +msgid "Password reset on %s" +msgstr "Resetovanje lozinke na %s" + +#: .\contrib\auth\forms.py:145 +msgid "New password confirmation" +msgstr "Potvrda nove lozinke" + +#: .\contrib\auth\forms.py:178 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Vaša stara lozinka nije pravilno unesena. Unesite je ponovo." + +#: .\contrib\auth\models.py:66 .\contrib\auth\models.py:94 +msgid "name" +msgstr "ime" + +#: .\contrib\auth\models.py:68 +msgid "codename" +msgstr "šifra dozvole" + +#: .\contrib\auth\models.py:72 +msgid "permission" +msgstr "dozvola" + +#: .\contrib\auth\models.py:73 .\contrib\auth\models.py:95 +msgid "permissions" +msgstr "dozvole" + +#: .\contrib\auth\models.py:98 +msgid "group" +msgstr "grupa" + +#: .\contrib\auth\models.py:99 .\contrib\auth\models.py:206 +msgid "groups" +msgstr "grupe" + +#: .\contrib\auth\models.py:196 +msgid "username" +msgstr "korisničko ime" + +#: .\contrib\auth\models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Neophodno. Najviše 30 slovnih mesta. Slova, brojke i @/./+/-/_ karakteri" + +#: .\contrib\auth\models.py:197 +msgid "first name" +msgstr "ime" + +#: .\contrib\auth\models.py:198 +msgid "last name" +msgstr "prezime" + +#: .\contrib\auth\models.py:199 +msgid "e-mail address" +msgstr "email adresa" + +#: .\contrib\auth\models.py:200 +msgid "password" +msgstr "lozinka" + +#: .\contrib\auth\models.py:200 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Koristite '[algo]$[salt]$[hexdigest]' ili formular za " +"unos lozinke." + +#: .\contrib\auth\models.py:201 +msgid "staff status" +msgstr "status člana uredništva" + +#: .\contrib\auth\models.py:201 +msgid "Designates whether the user can log into this admin site." +msgstr "" +"Označava da li korisnik može da se prijavi na ovaj sajt za administraciju." + +#: .\contrib\auth\models.py:202 +msgid "active" +msgstr "aktivan" + +#: .\contrib\auth\models.py:202 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" +"Označava da li se korisnik smatra aktivnim. Uklnote izbor sa ovog polja " +"umjesto da brišete nalog." + +#: .\contrib\auth\models.py:203 +msgid "superuser status" +msgstr "status administratora" + +#: .\contrib\auth\models.py:203 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Označava da li korisnik ima sve dozvole bez dodjeljivanja pojedinačnih " +"dozvola." + +#: .\contrib\auth\models.py:204 +msgid "last login" +msgstr "posljednja prijava" + +#: .\contrib\auth\models.py:205 +msgid "date joined" +msgstr "datum registracije" + +#: .\contrib\auth\models.py:207 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"Pored ručno dodijeljenih dozvola, ovaj korisnik će imati i dozvole " +"dodijeljene gurpama kojima pripada." + +#: .\contrib\auth\models.py:208 +msgid "user permissions" +msgstr "korisničke dozvole" + +#: .\contrib\auth\models.py:212 .\contrib\comments\models.py:50 +#: .\contrib\comments\models.py:168 +msgid "user" +msgstr "korisnik" + +#: .\contrib\auth\models.py:213 +msgid "users" +msgstr "korisnici" + +#: .\contrib\auth\models.py:394 +msgid "message" +msgstr "poruka" + +#: .\contrib\auth\views.py:79 +msgid "Logged out" +msgstr "Odjavljen" + +#: .\contrib\auth\management\commands\createsuperuser.py:23 +#: .\core\validators.py:120 .\forms\fields.py:428 +msgid "Enter a valid e-mail address." +msgstr "Unesite važeću email adresu." + +#: .\contrib\comments\admin.py:12 +msgid "Content" +msgstr "Sadržaj" + +#: .\contrib\comments\admin.py:15 +msgid "Metadata" +msgstr "Metapodaci" + +#: .\contrib\comments\admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "oznaka" +msgstr[1] "oznake" +msgstr[2] "oznaka" + +#: .\contrib\comments\admin.py:41 +msgid "Flag selected comments" +msgstr "Označite izabrane komentare" + +#: .\contrib\comments\admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "odobren" +msgstr[1] "odobrena" +msgstr[2] "odobreno" + +#: .\contrib\comments\admin.py:46 +msgid "Approve selected comments" +msgstr "Odobri izabrane komentare" + +#: .\contrib\comments\admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "uklonjen" +msgstr[1] "uklonjena" +msgstr[2] "uklonjeno" + +#: .\contrib\comments\admin.py:51 +msgid "Remove selected comments" +msgstr "Obriši izabrane komentare" + +#: .\contrib\comments\admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 komentar je uspješno %(action)s." +msgstr[1] "%(count)s komentara su uspješno %(action)s." +msgstr[2] "%(count)s komentara su uspješno %(action)s." + +#: .\contrib\comments\feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "Komentari na sajtu %(site_name)s" + +#: .\contrib\comments\feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "Skoriji komentari na sajtu %(site_name)s" + +#: .\contrib\comments\forms.py:93 +msgid "Name" +msgstr "Ime" + +#: .\contrib\comments\forms.py:94 +msgid "Email address" +msgstr "Email adresa" + +#: .\contrib\comments\forms.py:95 .\contrib\flatpages\admin.py:8 +#: .\contrib\flatpages\models.py:7 .\db\models\fields\__init__.py:1101 +msgid "URL" +msgstr "URL" + +#: .\contrib\comments\forms.py:96 +msgid "Comment" +msgstr "Komentari" + +#: .\contrib\comments\forms.py:175 +#, 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] "Pazi na jezik! Riječ „%s“ ovdje nije dozvoljena." +msgstr[1] "Pazi na jezik! Riječi „%s“ ovdje nisu dozvoljene." +msgstr[2] "Pazi na jezik! Riječi „%s“ ovdje nisu dozvoljene." + +#: .\contrib\comments\forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "Ako bilo šta unesete u ovo polje, Vaš komentar će se smatrati spamom." + +#: .\contrib\comments\models.py:22 .\contrib\contenttypes\models.py:81 +msgid "content type" +msgstr "tip sadržaja" + +#: .\contrib\comments\models.py:24 +msgid "object ID" +msgstr "ID objekta" + +#: .\contrib\comments\models.py:52 +msgid "user's name" +msgstr "korisnikovo ime" + +#: .\contrib\comments\models.py:53 +msgid "user's email address" +msgstr "korisnikova email adresa" + +#: .\contrib\comments\models.py:54 +msgid "user's URL" +msgstr "korisnikov URL" + +#: .\contrib\comments\models.py:56 .\contrib\comments\models.py:76 +#: .\contrib\comments\models.py:169 +msgid "comment" +msgstr "komentar" + +#: .\contrib\comments\models.py:59 +msgid "date/time submitted" +msgstr "datum/vrijeme postavljanja" + +#: .\contrib\comments\models.py:60 .\db\models\fields\__init__.py:896 +msgid "IP address" +msgstr "IP adresa" + +#: .\contrib\comments\models.py:61 +msgid "is public" +msgstr "javno" + +#: .\contrib\comments\models.py:62 +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." +msgstr "" +"Uklonite izbor ovog polja ako želite da poruka faktični nestane sa ovog " +"sajta." + +#: .\contrib\comments\models.py:64 +msgid "is removed" +msgstr "uklonjen" + +#: .\contrib\comments\models.py:65 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"Obilježite ovu polje ako je komentar neprikladan. Poruka o uklanjanju će " +"biti prikazana umjesto komentara." + +#: .\contrib\comments\models.py:77 +msgid "comments" +msgstr "komentari" + +#: .\contrib\comments\models.py:119 +msgid "" +"This comment was posted by an authenticated user and thus the name is read-" +"only." +msgstr "" +"Ovaj komentar je postavio prijavljen korisnik i zato je polje sa imenom " +"zaključano." + +#: .\contrib\comments\models.py:128 +msgid "" +"This comment was posted by an authenticated user and thus the email is read-" +"only." +msgstr "" +"Ovaj komentar je postavio prijavljen korisnik i zato je polje sa email " +"adresom zaključano." + +#: .\contrib\comments\models.py:153 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"Postavio %(user)s, %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: .\contrib\comments\models.py:170 +msgid "flag" +msgstr "oznaka" + +#: .\contrib\comments\models.py:171 +msgid "date" +msgstr "datum" + +#: .\contrib\comments\models.py:181 +msgid "comment flag" +msgstr "oznaka komentara" + +#: .\contrib\comments\models.py:182 +msgid "comment flags" +msgstr "oznake komentara" + +#: .\contrib\comments\templates\comments\approve.html.py:4 +msgid "Approve a comment" +msgstr "Odobrenje komentara" + +#: .\contrib\comments\templates\comments\approve.html.py:7 +msgid "Really make this comment public?" +msgstr "Da li zaista želite da označite ovaj komentar javnim?" + +#: .\contrib\comments\templates\comments\approve.html.py:12 +msgid "Approve" +msgstr "Odobri" + +#: .\contrib\comments\templates\comments\approved.html.py:4 +msgid "Thanks for approving" +msgstr "Hvala na odobrenju!" + +#: .\contrib\comments\templates\comments\approved.html.py:7 +#: .\contrib\comments\templates\comments\deleted.html.py:7 +#: .\contrib\comments\templates\comments\flagged.html.py:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "Hvala na učešću u unapređenju kvaliteta diskusija na našem sajtu." + +#: .\contrib\comments\templates\comments\delete.html.py:4 +msgid "Remove a comment" +msgstr "Obriši komentar" + +#: .\contrib\comments\templates\comments\delete.html.py:7 +msgid "Really remove this comment?" +msgstr "Da li zaista želite da obrišete ovaj komentar?" + +#: .\contrib\comments\templates\comments\deleted.html.py:4 +msgid "Thanks for removing" +msgstr "Hvala što koristite naš sajt!" + +#: .\contrib\comments\templates\comments\flag.html.py:4 +msgid "Flag this comment" +msgstr "Označavanje komentara" + +#: .\contrib\comments\templates\comments\flag.html.py:7 +msgid "Really flag this comment?" +msgstr "Da li zaista želite da označite ovaj komentar?" + +#: .\contrib\comments\templates\comments\flag.html.py:12 +msgid "Flag" +msgstr "Označi" + +#: .\contrib\comments\templates\comments\flagged.html.py:4 +msgid "Thanks for flagging" +msgstr "Hvala što ste označili komentar." + +#: .\contrib\comments\templates\comments\form.html.py:17 +#: .\contrib\comments\templates\comments\preview.html.py:32 +msgid "Post" +msgstr "Postavi" + +#: .\contrib\comments\templates\comments\form.html.py:18 +#: .\contrib\comments\templates\comments\preview.html.py:33 +msgid "Preview" +msgstr "Pregled" + +#: .\contrib\comments\templates\comments\posted.html.py:4 +msgid "Thanks for commenting" +msgstr "Hvala na komentaru" + +#: .\contrib\comments\templates\comments\posted.html.py:7 +msgid "Thank you for your comment" +msgstr "Hvala što ste ostavili svoj komentar" + +#: .\contrib\comments\templates\comments\preview.html.py:4 +#: .\contrib\comments\templates\comments\preview.html.py:13 +msgid "Preview your comment" +msgstr "Pregledaj komentar" + +#: .\contrib\comments\templates\comments\preview.html.py:11 +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "Ispravite grešku dole." +msgstr[1] "Ispravite greške dole." +msgstr[2] "Ispravite greške dole." + +#: .\contrib\comments\templates\comments\preview.html.py:16 +msgid "Post your comment" +msgstr "Postavi komentar" + +#: .\contrib\comments\templates\comments\preview.html.py:16 +msgid "or make changes" +msgstr "ili izvrši izmjene" + +#: .\contrib\contenttypes\models.py:77 +msgid "python model class name" +msgstr "ime python klase modela" + +#: .\contrib\contenttypes\models.py:82 +msgid "content types" +msgstr "tipovi sadržaja" + +#: .\contrib\flatpages\admin.py:9 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Primjer: '/about/contact/'. Pazite na to da postoje i početne i završne kose " +"crte." + +#: .\contrib\flatpages\admin.py:11 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Ova vrijednost može sadržati samo slova, brojke, donje crte, crtice ili kose " +"crte." + +#: .\contrib\flatpages\admin.py:22 +msgid "Advanced options" +msgstr "Napredne postavke" + +#: .\contrib\flatpages\models.py:8 +msgid "title" +msgstr "naslov" + +#: .\contrib\flatpages\models.py:9 +msgid "content" +msgstr "sadržaj" + +#: .\contrib\flatpages\models.py:10 +msgid "enable comments" +msgstr "omogući komentare" + +#: .\contrib\flatpages\models.py:11 +msgid "template name" +msgstr "naziv obrazca" + +#: .\contrib\flatpages\models.py:12 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Primjer: 'flatpages/contact_page.html'. Ako ovo ostavite praznim, sistem će " +"koristiti 'flatpages/default.html'." + +#: .\contrib\flatpages\models.py:13 +msgid "registration required" +msgstr "potrebna registracija" + +#: .\contrib\flatpages\models.py:13 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "" +"Ako je ovo obilježeno, samo će prijavljeni korisnici moći da vide ovu " +"stranicu." + +#: .\contrib\flatpages\models.py:18 +msgid "flat page" +msgstr "flat stranica" + +#: .\contrib\flatpages\models.py:19 +msgid "flat pages" +msgstr "flat stranice" + +#: .\contrib\formtools\wizard.py:140 +msgid "" +"We apologize, but your form has expired. Please continue filling out the " +"form from this page." +msgstr "" +"Žao nam je, ali Vaša sesija je istekla. Popunjavanje formulara nastavite na " +"ovoj stranici." + +#: .\contrib\gis\db\models\fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" +"Osnovno GIS polje -- mapiran je za OpenGIS Specification Geometry tip polja." + +#: .\contrib\gis\db\models\fields.py:270 +msgid "Point" +msgstr "Tačka" + +#: .\contrib\gis\db\models\fields.py:274 +msgid "Line string" +msgstr "Linijska nit" + +#: .\contrib\gis\db\models\fields.py:278 +msgid "Polygon" +msgstr "Poligon" + +#: .\contrib\gis\db\models\fields.py:282 +msgid "Multi-point" +msgstr "Multi-point" + +#: .\contrib\gis\db\models\fields.py:286 +msgid "Multi-line string" +msgstr "Višelinijska nit" + +#: .\contrib\gis\db\models\fields.py:290 +msgid "Multi polygon" +msgstr "Multi poligon" + +#: .\contrib\gis\db\models\fields.py:294 +msgid "Geometry collection" +msgstr "Geometrijska kolekcija" + +#: .\contrib\gis\forms\fields.py:17 +msgid "No geometry value provided." +msgstr "Niste zadali parametre za geometriju." + +#: .\contrib\gis\forms\fields.py:18 +msgid "Invalid geometry value." +msgstr "Neispravan parametar za geometriju." + +#: .\contrib\gis\forms\fields.py:19 +msgid "Invalid geometry type." +msgstr "Nepostojeći tip geometrije." + +#: .\contrib\gis\forms\fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" +"Došlo je do greške tokom pretvaranje geometrije u SRID geometrijskom polja " +"obrazca." + +#: .\contrib\humanize\templatetags\humanize.py:19 +msgid "th" +msgstr "-i" + +#: .\contrib\humanize\templatetags\humanize.py:19 +msgid "st" +msgstr "-vi" + +#: .\contrib\humanize\templatetags\humanize.py:19 +msgid "nd" +msgstr "-i" + +#: .\contrib\humanize\templatetags\humanize.py:19 +msgid "rd" +msgstr "-i" + +#: .\contrib\humanize\templatetags\humanize.py:51 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f milion" +msgstr[1] "%(value).1f miliona" +msgstr[2] "%(value).1f miliona" + +#: .\contrib\humanize\templatetags\humanize.py:54 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f milijarda" +msgstr[1] "%(value).1f milijarde" +msgstr[2] "%(value).1f milijardi" + +#: .\contrib\humanize\templatetags\humanize.py:57 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f trilion" +msgstr[1] "%(value).1f triliona" +msgstr[2] "%(value).1f triliona" + +#: .\contrib\humanize\templatetags\humanize.py:73 +msgid "one" +msgstr "jedan" + +#: .\contrib\humanize\templatetags\humanize.py:73 +msgid "two" +msgstr "dva" + +#: .\contrib\humanize\templatetags\humanize.py:73 +msgid "three" +msgstr "tri" + +#: .\contrib\humanize\templatetags\humanize.py:73 +msgid "four" +msgstr "četiri" + +#: .\contrib\humanize\templatetags\humanize.py:73 +msgid "five" +msgstr "pet" + +#: .\contrib\humanize\templatetags\humanize.py:73 +msgid "six" +msgstr "šest" + +#: .\contrib\humanize\templatetags\humanize.py:73 +msgid "seven" +msgstr "sedam" + +#: .\contrib\humanize\templatetags\humanize.py:73 +msgid "eight" +msgstr "osam" + +#: .\contrib\humanize\templatetags\humanize.py:73 +msgid "nine" +msgstr "devet" + +#: .\contrib\humanize\templatetags\humanize.py:93 +msgid "today" +msgstr "deset" + +#: .\contrib\humanize\templatetags\humanize.py:95 +msgid "tomorrow" +msgstr "sutra" + +#: .\contrib\humanize\templatetags\humanize.py:97 +msgid "yesterday" +msgstr "jučer" + +#: .\contrib\localflavor\ar\forms.py:28 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "Unesite poštanski broj u formatu NNNN ili ANNNNAAA." + +#: .\contrib\localflavor\ar\forms.py:50 .\contrib\localflavor\br\forms.py:97 +#: .\contrib\localflavor\br\forms.py:136 .\contrib\localflavor\pe\forms.py:24 +#: .\contrib\localflavor\pe\forms.py:52 +msgid "This field requires only numbers." +msgstr "Ovo polje mora sadržati samo brojke." + +#: .\contrib\localflavor\ar\forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "Ovo polje mora sadržati 7 ili 8 cifara" + +#: .\contrib\localflavor\ar\forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "Unestie važeći CUIT u formatu XX-XXXXXXXX-X or XXXXXXXXXXXX." + +#: .\contrib\localflavor\ar\forms.py:81 +msgid "Invalid CUIT." +msgstr "Nevažeći CUIT" + +#: .\contrib\localflavor\at\at_states.py:5 +msgid "Burgenland" +msgstr "Burgenland" + +#: .\contrib\localflavor\at\at_states.py:6 +msgid "Carinthia" +msgstr "Karintija" + +#: .\contrib\localflavor\at\at_states.py:7 +msgid "Lower Austria" +msgstr "Donja Austrija" + +#: .\contrib\localflavor\at\at_states.py:8 +msgid "Upper Austria" +msgstr "Gornja Austrija" + +#: .\contrib\localflavor\at\at_states.py:9 +msgid "Salzburg" +msgstr "Salcburg" + +#: .\contrib\localflavor\at\at_states.py:10 +msgid "Styria" +msgstr "Stirija" + +#: .\contrib\localflavor\at\at_states.py:11 +msgid "Tyrol" +msgstr "Tirol" + +#: .\contrib\localflavor\at\at_states.py:12 +msgid "Vorarlberg" +msgstr "Voralber" + +#: .\contrib\localflavor\at\at_states.py:13 +msgid "Vienna" +msgstr "Beč" + +#: .\contrib\localflavor\at\forms.py:20 .\contrib\localflavor\ch\forms.py:17 +#: .\contrib\localflavor\no\forms.py:13 +msgid "Enter a zip code in the format XXXX." +msgstr "Unesite poštanski broj u formatu XXXX." + +#: .\contrib\localflavor\at\forms.py:48 +msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." +msgstr "" +"Unesite važeći austrijski broj socijalnog osiguranja u formatu XXXX XXXXXX." + +#: .\contrib\localflavor\au\forms.py:17 +msgid "Enter a 4 digit post code." +msgstr "Unesite četvorocifreni poštanski broj" + +#: .\contrib\localflavor\br\forms.py:22 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Unesite poštanski broj u formatu XXXXX-XXX." + +#: .\contrib\localflavor\br\forms.py:31 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Broj telefona mora biti u formatu XX-XXXX-XXXX." + +#: .\contrib\localflavor\br\forms.py:59 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "Odaberite postojeću brazilsku državu. Ta država nije među ponuđenima." + +#: .\contrib\localflavor\br\forms.py:95 +msgid "Invalid CPF number." +msgstr "Nevažeći CPF broj" + +#: .\contrib\localflavor\br\forms.py:96 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Polje zahtijeva najviše 11 cifri ili 14 znamenki." + +#: .\contrib\localflavor\br\forms.py:135 +msgid "Invalid CNPJ number." +msgstr "Neispravan CNPJ broj." + +#: .\contrib\localflavor\br\forms.py:137 +msgid "This field requires at least 14 digits" +msgstr "Polje zahtijeva najmanje 14 cifri" + +#: .\contrib\localflavor\ca\forms.py:25 +msgid "Enter a postal code in the format XXX XXX." +msgstr "Unesite poštanski broj u formtu XXX XXX." + +#: .\contrib\localflavor\ca\forms.py:96 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "Unesite ispravan kanadski Social Insurance broj u XXX-XXX-XXX formatu." + +#: .\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:65 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" +"Unesite ispravan broj švicarske lične karte ili pasoša oblika X1234567<0 ili " +"u 1234567890 formatu." + +#: .\contrib\localflavor\cl\forms.py:30 +msgid "Enter a valid Chilean RUT." +msgstr "Unesite ispravan čileanski RUT." + +#: .\contrib\localflavor\cl\forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Unesite ispravan čileanski RUT. Format je XX.XXX.XXX-X." + +#: .\contrib\localflavor\cl\forms.py:32 +msgid "The Chilean RUT is not valid." +msgstr "Čileanski RUT nije ispravan." + +#: .\contrib\localflavor\cz\cz_regions.py:8 +msgid "Prague" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:11 +msgid "Pilsen Region" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:13 +msgid "Usti Region" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:14 +msgid "Liberec Region" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:15 +msgid "Hradec Region" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:16 +msgid "Pardubice Region" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:17 +msgid "Vysocina Region" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:18 +msgid "South Moravian Region" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:19 +msgid "Olomouc Region" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:20 +msgid "Zlin Region" +msgstr "" + +#: .\contrib\localflavor\cz\cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "" + +#: .\contrib\localflavor\cz\forms.py:28 .\contrib\localflavor\sk\forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "Unesite poštanski broj u formatu XXXXX ili XX XX." + +#: .\contrib\localflavor\cz\forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "Unesite datum rođenja u formatu XXXXXX/XXXX ili XXXXXXXXXX." + +#: .\contrib\localflavor\cz\forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "Neispravan parametar Pol; ispravne vrijednosti su 'f' i 'm'" + +#: .\contrib\localflavor\cz\forms.py:50 +msgid "Enter a valid birth number." +msgstr "Unesite ispravan broj rođendana." + +#: .\contrib\localflavor\cz\forms.py:107 +msgid "Enter a valid IC number." +msgstr "Unsite ispravan IC broj." + +#: .\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:15 .\contrib\localflavor\fi\forms.py:13 +#: .\contrib\localflavor\fr\forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "Unesite poštanski broj u formatu XXXXX." + +#: .\contrib\localflavor\de\forms.py:42 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"Unesite ispravan broj njemačke identifikacijske kartice u XXXXXXXXXXX-" +"XXXXXXX-XXXXXXX-X formatu." + +#: .\contrib\localflavor\es\es_provinces.py:5 +msgid "Arava" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:6 +msgid "Albacete" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:7 +msgid "Alacant" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:8 +msgid "Almeria" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:9 +msgid "Avila" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:10 +msgid "Badajoz" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:11 +msgid "Illes Balears" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:12 +msgid "Barcelona" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:13 +msgid "Burgos" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:14 +msgid "Caceres" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:15 +msgid "Cadiz" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:16 +msgid "Castello" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:17 +msgid "Ciudad Real" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:18 +msgid "Cordoba" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:19 +msgid "A Coruna" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:20 +msgid "Cuenca" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:21 +msgid "Girona" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:22 +msgid "Granada" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:23 +msgid "Guadalajara" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:25 +msgid "Huelva" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:26 +msgid "Huesca" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:27 +msgid "Jaen" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:28 +msgid "Leon" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:29 +msgid "Lleida" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:30 +#: .\contrib\localflavor\es\es_regions.py:17 +msgid "La Rioja" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:31 +msgid "Lugo" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:32 +#: .\contrib\localflavor\es\es_regions.py:18 +msgid "Madrid" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:33 +msgid "Malaga" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:34 +msgid "Murcia" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:35 +msgid "Navarre" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:36 +msgid "Ourense" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:37 +msgid "Asturias" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:38 +msgid "Palencia" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:39 +msgid "Las Palmas" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:40 +msgid "Pontevedra" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:41 +msgid "Salamanca" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:43 +#: .\contrib\localflavor\es\es_regions.py:11 +msgid "Cantabria" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:44 +msgid "Segovia" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:45 +msgid "Seville" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:46 +msgid "Soria" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:47 +msgid "Tarragona" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:48 +msgid "Teruel" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:49 +msgid "Toledo" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:50 +msgid "Valencia" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:51 +msgid "Valladolid" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:52 +msgid "Bizkaia" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:53 +msgid "Zamora" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:54 +msgid "Zaragoza" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:55 +msgid "Ceuta" +msgstr "" + +#: .\contrib\localflavor\es\es_provinces.py:56 +msgid "Melilla" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:5 +msgid "Andalusia" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:6 +msgid "Aragon" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:7 +msgid "Principality of Asturias" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:8 +msgid "Balearic Islands" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:9 +msgid "Basque Country" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:10 +msgid "Canary Islands" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:13 +msgid "Castile and Leon" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:14 +msgid "Catalonia" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:15 +msgid "Extremadura" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:16 +msgid "Galicia" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:19 +msgid "Region of Murcia" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "" + +#: .\contrib\localflavor\es\es_regions.py:21 +msgid "Valencian Community" +msgstr "" + +#: .\contrib\localflavor\es\forms.py:20 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "Unesite ispravan poštanski broj u nizu i formatu 01XXX - 52XXX." + +#: .\contrib\localflavor\es\forms.py:40 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" +"Unesite ispravan telefonski broj u jednom od formata 6XXXXXXXX, 8XXXXXXXX " +"ili 9XXXXXXXX." + +#: .\contrib\localflavor\es\forms.py:67 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Unesite ispravan NIF, NIE ili CIF." + +#: .\contrib\localflavor\es\forms.py:68 +msgid "Please enter a valid NIF or NIE." +msgstr "Unesite ispravan NIF ili NIE." + +#: .\contrib\localflavor\es\forms.py:69 +msgid "Invalid checksum for NIF." +msgstr "Neispravan checksum za NIF." + +#: .\contrib\localflavor\es\forms.py:70 +msgid "Invalid checksum for NIE." +msgstr "Neispravan checksum za NIE." + +#: .\contrib\localflavor\es\forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "Neispravan checksum za CIF." + +#: .\contrib\localflavor\es\forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" +"Unesite isravan broj bankovnog računa u obliku XXXX-XXXX-XX-XXXXXXXXXX." + +#: .\contrib\localflavor\es\forms.py:144 +msgid "Invalid checksum for bank account number." +msgstr "Neispravan checksum za broj bankovnog računa." + +#: .\contrib\localflavor\fi\forms.py:29 +msgid "Enter a valid Finnish social security number." +msgstr "Unesite ispravni finski identifikacijski broj." + +#: .\contrib\localflavor\fr\forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Broj telefona mora biti u formatu 0X XX XX XX XX." + +#: .\contrib\localflavor\id\forms.py:28 +msgid "Enter a valid post code" +msgstr "Unesite ispravni poštansku kod" + +#: .\contrib\localflavor\id\forms.py:68 .\contrib\localflavor\nl\forms.py:53 +msgid "Enter a valid phone number" +msgstr "Unesite ispravan telefonski broj" + +#: .\contrib\localflavor\id\forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Unesite ispravan broj automobilske tablice" + +#: .\contrib\localflavor\id\forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Unesite ispravan NIK/KTP broj" + +#: .\contrib\localflavor\id\id_choices.py:9 +#: .\contrib\localflavor\id\id_choices.py:73 +msgid "Bali" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:10 +#: .\contrib\localflavor\id\id_choices.py:45 +msgid "Banten" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:11 +#: .\contrib\localflavor\id\id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:12 +#: .\contrib\localflavor\id\id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:13 +#: .\contrib\localflavor\id\id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:14 +#: .\contrib\localflavor\id\id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:15 +#: .\contrib\localflavor\id\id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:19 +#: .\contrib\localflavor\id\id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:20 +#: .\contrib\localflavor\id\id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:21 +#: .\contrib\localflavor\id\id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:22 +#: .\contrib\localflavor\id\id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:24 +#: .\contrib\localflavor\id\id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:25 +#: .\contrib\localflavor\id\id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:26 +#: .\contrib\localflavor\id\id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:27 +#: .\contrib\localflavor\id\id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:28 +#: .\contrib\localflavor\id\id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:31 +msgid "Papua" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:33 +#: .\contrib\localflavor\id\id_choices.py:60 +msgid "Riau" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:34 +#: .\contrib\localflavor\id\id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:35 +#: .\contrib\localflavor\id\id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:36 +#: .\contrib\localflavor\id\id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:37 +#: .\contrib\localflavor\id\id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:39 +#: .\contrib\localflavor\id\id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:40 +#: .\contrib\localflavor\id\id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:41 +#: .\contrib\localflavor\id\id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:87 +msgid "Pati" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:92 +msgid "Madura" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:93 +msgid "Malang" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:94 +msgid "Jember" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: .\contrib\localflavor\id\id_choices.py:100 +msgid "Garut" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:16 +msgid "Down" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: .\contrib\localflavor\ie\ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: .\contrib\localflavor\in_\forms.py:15 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "Unesite zip kod u formatu XXXXXXX." + +#: .\contrib\localflavor\is_\forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" +"Unesite ispravan islandski identifikacijski broj. Format je XXXXXX-XXXX." + +#: .\contrib\localflavor\is_\forms.py:19 +msgid "The Icelandic identification number is not valid." +msgstr "Islanski identifikacijski broj nije ispravan." + +#: .\contrib\localflavor\it\forms.py:15 +msgid "Enter a valid zip code." +msgstr "Unesite ispravnu zip adresu." + +#: .\contrib\localflavor\it\forms.py:44 +msgid "Enter a valid Social Security number." +msgstr "Unesite ispravan Social Security broj." + +#: .\contrib\localflavor\it\forms.py:69 +msgid "Enter a valid VAT number." +msgstr "Unesite ispravan VAT broj." + +#: .\contrib\localflavor\jp\forms.py:16 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Unesite poštanski broj u formatu XXXXXXX ili 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\kw\forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Unesite ispravan kuvajtski Civil ID broj" + +#: .\contrib\localflavor\mx\mx_states.py:12 +msgid "Aguascalientes" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:13 +msgid "Baja California" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:14 +msgid "Baja California Sur" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:15 +msgid "Campeche" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:16 +msgid "Chihuahua" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:17 +msgid "Chiapas" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:18 +msgid "Coahuila" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:19 +msgid "Colima" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:20 +msgid "Distrito Federal" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:21 +msgid "Durango" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:22 +msgid "Guerrero" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:23 +msgid "Guanajuato" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:24 +msgid "Hidalgo" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:25 +msgid "Jalisco" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:26 +msgid "Estado de México" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:27 +msgid "Michoacán" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:28 +msgid "Morelos" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:29 +msgid "Nayarit" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:30 +msgid "Nuevo León" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:31 +msgid "Oaxaca" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:32 +msgid "Puebla" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:33 +msgid "Querétaro" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:34 +msgid "Quintana Roo" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:35 +msgid "Sinaloa" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:36 +msgid "San Luis Potosí" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:37 +msgid "Sonora" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:38 +msgid "Tabasco" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:39 +msgid "Tamaulipas" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:40 +msgid "Tlaxcala" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:41 +msgid "Veracruz" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:42 +msgid "Yucatán" +msgstr "" + +#: .\contrib\localflavor\mx\mx_states.py:43 +msgid "Zacatecas" +msgstr "" + +#: .\contrib\localflavor\nl\forms.py:22 +msgid "Enter a valid postal code" +msgstr "Unesite ispravnu poštansku adresu" + +#: .\contrib\localflavor\nl\forms.py:79 +msgid "Enter a valid SoFi number" +msgstr "Unesite ispravan SoFi broj" + +#: .\contrib\localflavor\nl\nl_provinces.py:4 +msgid "Drenthe" +msgstr "" + +#: .\contrib\localflavor\nl\nl_provinces.py:5 +msgid "Flevoland" +msgstr "" + +#: .\contrib\localflavor\nl\nl_provinces.py:6 +msgid "Friesland" +msgstr "" + +#: .\contrib\localflavor\nl\nl_provinces.py:7 +msgid "Gelderland" +msgstr "" + +#: .\contrib\localflavor\nl\nl_provinces.py:8 +msgid "Groningen" +msgstr "" + +#: .\contrib\localflavor\nl\nl_provinces.py:9 +msgid "Limburg" +msgstr "" + +#: .\contrib\localflavor\nl\nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "" + +#: .\contrib\localflavor\nl\nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "" + +#: .\contrib\localflavor\nl\nl_provinces.py:12 +msgid "Overijssel" +msgstr "" + +#: .\contrib\localflavor\nl\nl_provinces.py:13 +msgid "Utrecht" +msgstr "" + +#: .\contrib\localflavor\nl\nl_provinces.py:14 +msgid "Zeeland" +msgstr "" + +#: .\contrib\localflavor\nl\nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "" + +#: .\contrib\localflavor\no\forms.py:34 +msgid "Enter a valid Norwegian social security number." +msgstr "Unesite ispravan norveški jedinstveni matični broj građana." + +#: .\contrib\localflavor\pe\forms.py:25 +msgid "This field requires 8 digits." +msgstr "Polje zahtijeva 8 cifri." + +#: .\contrib\localflavor\pe\forms.py:53 +msgid "This field requires 11 digits." +msgstr "Polje zahtijeva 11 cifri." + +#: .\contrib\localflavor\pl\forms.py:38 +msgid "National Identification Number consists of 11 digits." +msgstr "National Identification Number sastoji se od 11 cifri." + +#: .\contrib\localflavor\pl\forms.py:39 +msgid "Wrong checksum for the National Identification Number." +msgstr "Pogrešan checksum za National Identification Number." + +#: .\contrib\localflavor\pl\forms.py:71 +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "Unesite poreski broj (NIP) u formatu XXX-XXX-XX-XX ili XX-XX-XXX-XXX." + +#: .\contrib\localflavor\pl\forms.py:72 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "Pogrešan checksum za Tax Number (NIP)." + +#: .\contrib\localflavor\pl\forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." +msgstr "" +"National Business Register Number (REGON) sastoji se od 9 ili 14 cifri." + +#: .\contrib\localflavor\pl\forms.py:110 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "Pogrešan checksum za National Business Register Number (REGON)." + +#: .\contrib\localflavor\pl\forms.py:148 +msgid "Enter a postal code in the format XX-XXX." +msgstr "Unesite ispravnu poštansku adresu u formatu XX-XXX." + +#: .\contrib\localflavor\pl\pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:10 +msgid "Lublin" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:12 +msgid "Lodz" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:14 +msgid "Masovia" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:15 +msgid "Opole" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:19 +msgid "Silesia" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "" + +#: .\contrib\localflavor\pl\pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "" + +#: .\contrib\localflavor\pt\forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Unesite zup kod u formatu XXXX-XXX" + +#: .\contrib\localflavor\pt\forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Telefonski brojevi moraju imati 9 cifri, ili početi sa + ili 00." + +#: .\contrib\localflavor\ro\forms.py:19 +msgid "Enter a valid CIF." +msgstr "Unesite ispravan CIF." + +#: .\contrib\localflavor\ro\forms.py:56 +msgid "Enter a valid CNP." +msgstr "Unesite ispravan CNP." + +#: .\contrib\localflavor\ro\forms.py:141 +msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" +msgstr "Unesite ispravan IBAN ROXX-XXXX-XXXX-XXXX-XXXX-XXXX formatu" + +#: .\contrib\localflavor\ro\forms.py:171 +msgid "Phone numbers must be in XXXX-XXXXXX format." +msgstr "Telefonski brojevi moraju biti u XXXX-XXXXXX formatu." + +#: .\contrib\localflavor\ro\forms.py:194 +msgid "Enter a valid postal code in the format XXXXXX" +msgstr "Unesite ispravan poštanski broj u formatu XXXXXX" + +#: .\contrib\localflavor\se\forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Unesite ispravan švedski organizacijski broj." + +#: .\contrib\localflavor\se\forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Unesite ispravan švedski identifikacijski broj" + +#: .\contrib\localflavor\se\forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Koordinatni brojevi nisu dozvoljeni." + +#: .\contrib\localflavor\se\forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Unesite švedsku poštansku adresu u formatu XXXXX." + +#: .\contrib\localflavor\se\se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:27 +msgid "Halland" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: .\contrib\localflavor\se\se_counties.py:35 +msgid "Jämtland" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:10 +msgid "Bardejov" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:12 +msgid "Brezno" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:13 +msgid "Bratislava I" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:14 +msgid "Bratislava II" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:15 +msgid "Bratislava III" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:16 +msgid "Bratislava IV" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:17 +msgid "Bratislava V" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:18 +msgid "Bytca" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:19 +msgid "Cadca" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:20 +msgid "Detva" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:23 +msgid "Galanta" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:24 +msgid "Gelnica" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:25 +msgid "Hlohovec" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:26 +msgid "Humenne" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:27 +msgid "Ilava" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:28 +msgid "Kezmarok" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:29 +msgid "Komarno" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:30 +msgid "Kosice I" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:31 +msgid "Kosice II" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:32 +msgid "Kosice III" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:33 +msgid "Kosice IV" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:35 +msgid "Krupina" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:37 +msgid "Levice" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:38 +msgid "Levoca" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:40 +msgid "Lucenec" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:41 +msgid "Malacky" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:42 +msgid "Martin" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:43 +msgid "Medzilaborce" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:44 +msgid "Michalovce" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:45 +msgid "Myjava" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:46 +msgid "Namestovo" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:47 +msgid "Nitra" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:49 +msgid "Nove Zamky" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:50 +msgid "Partizanske" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:51 +msgid "Pezinok" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:52 +msgid "Piestany" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:53 +msgid "Poltar" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:54 +msgid "Poprad" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:56 +msgid "Presov" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:57 +msgid "Prievidza" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:58 +msgid "Puchov" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:59 +msgid "Revuca" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:61 +msgid "Roznava" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:62 +msgid "Ruzomberok" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:63 +msgid "Sabinov" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:64 +msgid "Senec" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:65 +msgid "Senica" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:66 +msgid "Skalica" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:67 +msgid "Snina" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:68 +msgid "Sobrance" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:71 +msgid "Stropkov" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:72 +msgid "Svidnik" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:73 +msgid "Sala" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:74 +msgid "Topolcany" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:75 +msgid "Trebisov" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:76 +msgid "Trencin" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:77 +msgid "Trnava" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:79 +msgid "Tvrdosin" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:80 +msgid "Velky Krtis" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:83 +msgid "Zvolen" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:84 +msgid "Zarnovica" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "" + +#: .\contrib\localflavor\sk\sk_districts.py:86 +msgid "Zilina" +msgstr "" + +#: .\contrib\localflavor\sk\sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "" + +#: .\contrib\localflavor\sk\sk_regions.py:9 +msgid "Bratislava region" +msgstr "" + +#: .\contrib\localflavor\sk\sk_regions.py:10 +msgid "Kosice region" +msgstr "" + +#: .\contrib\localflavor\sk\sk_regions.py:11 +msgid "Nitra region" +msgstr "" + +#: .\contrib\localflavor\sk\sk_regions.py:12 +msgid "Presov region" +msgstr "" + +#: .\contrib\localflavor\sk\sk_regions.py:13 +msgid "Trencin region" +msgstr "" + +#: .\contrib\localflavor\sk\sk_regions.py:14 +msgid "Trnava region" +msgstr "" + +#: .\contrib\localflavor\sk\sk_regions.py:15 +msgid "Zilina region" +msgstr "" + +#: .\contrib\localflavor\uk\forms.py:21 +msgid "Enter a valid postcode." +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:57 +msgid "County Down" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:58 +msgid "County Fermanagh" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:90 +msgid "England" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:92 +msgid "Scotland" +msgstr "" + +#: .\contrib\localflavor\uk\uk_regions.py:93 +msgid "Wales" +msgstr "" + +#: .\contrib\localflavor\us\forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Unesite poštansku adresu u formatu XXXXX ili XXXXX-XXXX" + +#: .\contrib\localflavor\us\forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Broj telefona mora biti u formatu XX-XXXX-XXXX." + +#: .\contrib\localflavor\us\forms.py:55 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Unesite ispravan američki Social Security broj u XXX-XX-XXXX formatu." + +#: .\contrib\localflavor\us\forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Unesite U.S. državu ili teritorij" + +#: .\contrib\localflavor\us\models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Država u SAD (dva velika slova)" + +#: .\contrib\localflavor\us\models.py:17 +msgid "Phone number" +msgstr "Broj telefona" + +#: .\contrib\localflavor\uy\forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Unestie važeći CUIT u formatu XX-XXXXXXXX-X or XXXXXXXXXXXX." + +#: .\contrib\localflavor\uy\forms.py:30 +msgid "Enter a valid CI number." +msgstr "Unsite ispravan IC broj." + +#: .\contrib\localflavor\za\forms.py:21 +msgid "Enter a valid South African ID number" +msgstr "Unesite ispravan južnoafrički ID broj" + +#: .\contrib\localflavor\za\forms.py:55 +msgid "Enter a valid South African postal code" +msgstr "Unesite ispravnu južnoafričku poštansku adresu" + +#: .\contrib\localflavor\za\za_provinces.py:4 +msgid "Eastern Cape" +msgstr "" + +#: .\contrib\localflavor\za\za_provinces.py:5 +msgid "Free State" +msgstr "" + +#: .\contrib\localflavor\za\za_provinces.py:6 +msgid "Gauteng" +msgstr "" + +#: .\contrib\localflavor\za\za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "" + +#: .\contrib\localflavor\za\za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: .\contrib\localflavor\za\za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: .\contrib\localflavor\za\za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: .\contrib\localflavor\za\za_provinces.py:11 +msgid "North West" +msgstr "" + +#: .\contrib\localflavor\za\za_provinces.py:12 +msgid "Western Cape" +msgstr "" + +#: .\contrib\messages\tests\base.py:101 +msgid "lazy message" +msgstr "lijena poruka" + +#: .\contrib\redirects\models.py:7 +msgid "redirect from" +msgstr "preusmjeren sa" + +#: .\contrib\redirects\models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Ovo mora biti apsolutna putanja bez imena domena. Na primjer: '/events/" +"search/'." + +#: .\contrib\redirects\models.py:9 +msgid "redirect to" +msgstr "preusmjeri 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 ili apsolutna putanja (kao gore) ili pun URL koji počinje sa " +"'http://'." + +#: .\contrib\redirects\models.py:13 +msgid "redirect" +msgstr "preusmjeravanje" + +#: .\contrib\redirects\models.py:14 +msgid "redirects" +msgstr "preusmjeravanja" + +#: .\contrib\sessions\models.py:45 +msgid "session key" +msgstr "ključ sesije" + +#: .\contrib\sessions\models.py:47 +msgid "session data" +msgstr "podaci sesije" + +#: .\contrib\sessions\models.py:48 +msgid "expire date" +msgstr "datum isteka" + +#: .\contrib\sessions\models.py:53 +msgid "session" +msgstr "sesija" + +#: .\contrib\sessions\models.py:54 +msgid "sessions" +msgstr "sesije" + +#: .\contrib\sites\models.py:32 +msgid "domain name" +msgstr "ime domena" + +#: .\contrib\sites\models.py:33 +msgid "display name" +msgstr "prikazano ime" + +#: .\contrib\sites\models.py:39 +msgid "sites" +msgstr "sajtovi" + +#: .\core\validators.py:20 .\forms\fields.py:66 +msgid "Enter a valid value." +msgstr "Unesite ispravnu vrijednost." + +#: .\core\validators.py:87 .\forms\fields.py:529 +msgid "Enter a valid URL." +msgstr "Unesite ispravan URL." + +#: .\core\validators.py:89 .\forms\fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Ovaj URL izgleda ne vodi nikuda." + +#: .\core\validators.py:123 .\forms\fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Unesite ispravan „slug“, koji se sastoji od slova, brojki, donjih crta ili " +"crtica." + +#: .\core\validators.py:126 .\forms\fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Unesite ispravnu IPv4 adresu." + +#: .\core\validators.py:129 .\db\models\fields\__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "Unesite samo brojke razdvojene zapetama." + +#: .\core\validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Pobrinite se da je ova vrijednost %(limit_value)s (trenutno je %(show_value)s)." + +#: .\core\validators.py:153 .\forms\fields.py:205 .\forms\fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Ova vrijednost mora da bude manja ili jednaka %(limit_value)s." + +#: .\core\validators.py:158 .\forms\fields.py:206 .\forms\fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Ova vrijednost mora biti veća ili jednaka %(limit_value)s." + +#: .\core\validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Pobrinite se da ova vrijednost ima najmanje %(limit_value)d znamenki (trenutno ima %" +"(show_value)d)." + +#: .\core\validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Pobrinite se da ova vrijednost ima najviše %(limit_value)d znamenki (ima %" +"(show_value)d)." + +#: .\db\models\base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s mora da bude jedinstven za %(date_field)s %(lookup)s." + +#: .\db\models\base.py:837 .\db\models\base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s sa ovom vrijednošću %(field_label)s već postoji." + +#: .\db\models\fields\__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Vrijednost %r nije dozvoljen izbor." + +#: .\db\models\fields\__init__.py:64 +msgid "This field cannot be null." +msgstr "Ovo polje ne može ostati prazno." + +#: .\db\models\fields\__init__.py:65 +msgid "This field cannot be blank." +msgstr "Ovo polje ne može biti prazno." + +#: .\db\models\fields\__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Polje tipa: %(field_type)s" + +#: .\db\models\fields\__init__.py:451 .\db\models\fields\__init__.py:852 +#: .\db\models\fields\__init__.py:961 .\db\models\fields\__init__.py:972 +#: .\db\models\fields\__init__.py:999 +msgid "Integer" +msgstr "Cijeo broj" + +#: .\db\models\fields\__init__.py:455 .\db\models\fields\__init__.py:850 +msgid "This value must be an integer." +msgstr "Ova vrijednost mora biti cijelobrojna." + +#: .\db\models\fields\__init__.py:490 +msgid "This value must be either True or False." +msgstr "Ova vrijednost mora biti True ili False." + +#: .\db\models\fields\__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Bulova vrijednost (True ili False)" + +#: .\db\models\fields\__init__.py:539 .\db\models\fields\__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (najviše %(max_length)s znakova)" + +#: .\db\models\fields\__init__.py:567 +msgid "Comma-separated integers" +msgstr "Cijeli brojevi razdvojeni zapetama" + +#: .\db\models\fields\__init__.py:581 +msgid "Date (without time)" +msgstr "Datum (bez vremena)" + +#: .\db\models\fields\__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Unesite ispravan datum u formatu GGGG-MM-DD." + +#: .\db\models\fields\__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "Neispravan datum: %s" + +#: .\db\models\fields\__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "" +"Unesite ispravan datum/vrijeme u formatu GGGG-MM-DD ČČ:MM[:ss[.uuuuuu]." + +#: .\db\models\fields\__init__.py:669 +msgid "Date (with time)" +msgstr "Datum (sa vremenom)" + +#: .\db\models\fields\__init__.py:735 +msgid "This value must be a decimal number." +msgstr "Ova vrijednost mora biti decimalni broj" + +#: .\db\models\fields\__init__.py:737 +msgid "Decimal number" +msgstr "Decimalni broj" + +#: .\db\models\fields\__init__.py:792 +msgid "E-mail address" +msgstr "Email adresa" + +#: .\db\models\fields\__init__.py:799 .\db\models\fields\files.py:220 +#: .\db\models\fields\files.py:331 +msgid "File path" +msgstr "Putanja fajla" + +#: .\db\models\fields\__init__.py:822 +msgid "This value must be a float." +msgstr "Ova vrijednost mora biti broj sa klizećom zapetom" + +#: .\db\models\fields\__init__.py:824 +msgid "Floating point number" +msgstr "Broj sa pokrenom zapetom" + +#: .\db\models\fields\__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Big (8 bajtni) integer" + +#: .\db\models\fields\__init__.py:912 +msgid "This value must be either None, True or False." +msgstr "Ova vrijednost mora biti ili None, ili True, ili False." + +#: .\db\models\fields\__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Bulova vrijednost (True, False ili None)" + +#: .\db\models\fields\__init__.py:1005 +msgid "Text" +msgstr "Tekst" + +#: .\db\models\fields\__init__.py:1021 +msgid "Time" +msgstr "Vrijeme" + +#: .\db\models\fields\__init__.py:1025 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "Unesite ispravno vrijeme u formatu ČČ:MM[:ss[.uuuuuu]]." + +#: .\db\models\fields\__init__.py:1109 +msgid "XML text" +msgstr "XML tekst" + +#: .\db\models\fields\related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Model %(model)s sa pk %(pk)r ne postoji." + +#: .\db\models\fields\related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Strani ključ (tip određen povezanim poljem)" + +#: .\db\models\fields\related.py:918 +msgid "One-to-one relationship" +msgstr "Jedan-na-jedan odnos" + +#: .\db\models\fields\related.py:980 +msgid "Many-to-many relationship" +msgstr "Više-na-više odsnos" + +#: .\db\models\fields\related.py:1000 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Držite „Control“, ili „Command“ na Mac-u da biste obilježili više od jedne " +"stavke." + +#: .\db\models\fields\related.py:1061 +#, 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] "Unesite ispravan %(self)s IDs. Crijednost %(value)r je neispravna." +msgstr[1] "Unesite ispravan %(self)s IDs. Vrijednosti %(value)r su neispravne." +msgstr[2] "Unesite ispravan %(self)s IDs. Vrijednosti %(value)r su neispravne." + +#: .\forms\fields.py:65 +msgid "This field is required." +msgstr "Ovo polje se mora popuniti." + +#: .\forms\fields.py:204 +msgid "Enter a whole number." +msgstr "Unesite cijeo broj." + +#: .\forms\fields.py:235 .\forms\fields.py:256 +msgid "Enter a number." +msgstr "Unesite broj." + +#: .\forms\fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Ne smije biti ukupno više od %s cifara. Provjerite." + +#: .\forms\fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Ne smije biti ukupno više od %s decimalnih mijesta. Provjerite." + +#: .\forms\fields.py:261 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Ne smije biti ukupno više od %s cifara prije zapete. Provjerite." + +#: .\forms\fields.py:323 .\forms\fields.py:838 +msgid "Enter a valid date." +msgstr "Unesite ispravan datum." + +#: .\forms\fields.py:351 .\forms\fields.py:839 +msgid "Enter a valid time." +msgstr "Unesite ispravno vrijeme" + +#: .\forms\fields.py:377 +msgid "Enter a valid date/time." +msgstr "Unesite ispravan datum/vrijeme." + +#: .\forms\fields.py:435 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Fajl nije prebačen. Provjerite tip enkodiranja formulara." + +#: .\forms\fields.py:436 +msgid "No file was submitted." +msgstr "Fajl nije prebačen." + +#: .\forms\fields.py:437 +msgid "The submitted file is empty." +msgstr "Prebačen fajl je prazan." + +#: .\forms\fields.py:438 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" +"Naziv fajla mora da sadrži bar %(max)d slovnih mijesta (trenutno ima %" +"(length)d)." + +#: .\forms\fields.py:473 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Prebacite ispravan fajl. Fajl koji je prebačen ili nije slika, ili je " +"oštećen." + +#: .\forms\fields.py:596 .\forms\fields.py:671 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"%(value)s nije među ponuđenim vrijednostima. Odaberite jednu od ponuđenih." + +#: .\forms\fields.py:672 .\forms\fields.py:734 .\forms\models.py:1007 +msgid "Enter a list of values." +msgstr "Unesite listu vrijednosti." + +#: .\forms\formsets.py:298 .\forms\formsets.py:300 +msgid "Order" +msgstr "Redoslijed" + +#: .\forms\models.py:567 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Ispravite dupli sadržaj za polja: %(field)s." + +#: .\forms\models.py:571 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Ispravite dupli sadržaj za polja: %(field)s, koji mora da bude jedinstven." + +#: .\forms\models.py:577 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Ispravite dupli sadržaj za polja: %(field_name)s, koji mora da bude " +"jedinstven za %(lookup)s u %(date_field)s." + +#: .\forms\models.py:585 +msgid "Please correct the duplicate values below." +msgstr "Ispravite duple vrijednosti dole." + +#: .\forms\models.py:860 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "Strani ključ se nije poklopio sa instancom roditeljskog ključa." + +#: .\forms\models.py:926 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Odabrana vrijednost nije među ponuđenima. Odaberite jednu od ponuđenih." + +#: .\forms\models.py:1008 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "%s nije među ponuđenim vrijednostima. Odaberite jednu od ponuđenih." + +#: .\forms\models.py:1010 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "„%s“ nije ispravna vrijednost za primarni ključ." + +#: .\template\defaultfilters.py:781 +msgid "yes,no,maybe" +msgstr "da,ne,možda" + +#: .\template\defaultfilters.py:812 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d bajt" +msgstr[1] "%(size)d bajta" +msgstr[2] "%(size)d bajtova" + +#: .\template\defaultfilters.py:814 +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#: .\template\defaultfilters.py:816 +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#: .\template\defaultfilters.py:817 +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#: .\utils\dateformat.py:42 +msgid "p.m." +msgstr "po p." + +#: .\utils\dateformat.py:43 +msgid "a.m." +msgstr "prije p." + +#: .\utils\dateformat.py:48 +msgid "PM" +msgstr "PM" + +#: .\utils\dateformat.py:49 +msgid "AM" +msgstr "AM" + +#: .\utils\dateformat.py:98 +msgid "midnight" +msgstr "ponoć" + +#: .\utils\dateformat.py:100 +msgid "noon" +msgstr "podne" + +#: .\utils\dates.py:6 +msgid "Monday" +msgstr "ponedjeljak" + +#: .\utils\dates.py:6 +msgid "Tuesday" +msgstr "utorak" + +#: .\utils\dates.py:6 +msgid "Wednesday" +msgstr "srijeda" + +#: .\utils\dates.py:6 +msgid "Thursday" +msgstr "četvrtak" + +#: .\utils\dates.py:6 +msgid "Friday" +msgstr "petak" + +#: .\utils\dates.py:7 +msgid "Saturday" +msgstr "subota" + +#: .\utils\dates.py:7 +msgid "Sunday" +msgstr "nedjelja" + +#: .\utils\dates.py:10 +msgid "Mon" +msgstr "pon." + +#: .\utils\dates.py:10 +msgid "Tue" +msgstr "uto." + +#: .\utils\dates.py:10 +msgid "Wed" +msgstr "sri." + +#: .\utils\dates.py:10 +msgid "Thu" +msgstr "čet." + +#: .\utils\dates.py:10 +msgid "Fri" +msgstr "pet." + +#: .\utils\dates.py:11 +msgid "Sat" +msgstr "sub." + +#: .\utils\dates.py:11 +msgid "Sun" +msgstr "ned." + +#: .\utils\dates.py:18 +msgid "January" +msgstr "januar" + +#: .\utils\dates.py:18 +msgid "February" +msgstr "februar" + +#: .\utils\dates.py:18 .\utils\dates.py:31 +msgid "March" +msgstr "mart" + +#: .\utils\dates.py:18 .\utils\dates.py:31 +msgid "April" +msgstr "april" + +#: .\utils\dates.py:18 .\utils\dates.py:31 +msgid "May" +msgstr "maj" + +#: .\utils\dates.py:18 .\utils\dates.py:31 +msgid "June" +msgstr "juni" + +#: .\utils\dates.py:19 .\utils\dates.py:31 +msgid "July" +msgstr "juli" + +#: .\utils\dates.py:19 +msgid "August" +msgstr "august" + +#: .\utils\dates.py:19 +msgid "September" +msgstr "septembar" + +#: .\utils\dates.py:19 +msgid "October" +msgstr "oktobar" + +#: .\utils\dates.py:19 +msgid "November" +msgstr "novembar" + +#: .\utils\dates.py:20 +msgid "December" +msgstr "decembar" + +#: .\utils\dates.py:23 +msgid "jan" +msgstr "jan." + +#: .\utils\dates.py:23 +msgid "feb" +msgstr "feb." + +#: .\utils\dates.py:23 +msgid "mar" +msgstr "mar." + +#: .\utils\dates.py:23 +msgid "apr" +msgstr "apr." + +#: .\utils\dates.py:23 +msgid "may" +msgstr "maj." + +#: .\utils\dates.py:23 +msgid "jun" +msgstr "jun." + +#: .\utils\dates.py:24 +msgid "jul" +msgstr "jul." + +#: .\utils\dates.py:24 +msgid "aug" +msgstr "aug." + +#: .\utils\dates.py:24 +msgid "sep" +msgstr "sep." + +#: .\utils\dates.py:24 +msgid "oct" +msgstr "okt." + +#: .\utils\dates.py:24 +msgid "nov" +msgstr "nov." + +#: .\utils\dates.py:24 +msgid "dec" +msgstr "dec." + +#: .\utils\dates.py:31 +msgid "Jan." +msgstr "jan." + +#: .\utils\dates.py:31 +msgid "Feb." +msgstr "feb." + +#: .\utils\dates.py:32 +msgid "Aug." +msgstr "aug." + +#: .\utils\dates.py:32 +msgid "Sept." +msgstr "sept." + +#: .\utils\dates.py:32 +msgid "Oct." +msgstr "okt." + +#: .\utils\dates.py:32 +msgid "Nov." +msgstr "nov." + +#: .\utils\dates.py:32 +msgid "Dec." +msgstr "dec." + +#: .\utils\text.py:130 +msgid "or" +msgstr "ili" + +#: .\utils\timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "godina" +msgstr[1] "godine" +msgstr[2] "godina" + +#: .\utils\timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "mjesec" +msgstr[1] "mjeseca" +msgstr[2] "mjeseci" + +#: .\utils\timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "nedelja" +msgstr[1] "nedelje" +msgstr[2] "nedelja" + +#: .\utils\timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "dan" +msgstr[1] "dana" +msgstr[2] "dana" + +#: .\utils\timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "sat" +msgstr[1] "sata" +msgstr[2] "sati" + +#: .\utils\timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minut" +msgstr[1] "minute" +msgstr[2] "minuta" + +#: .\utils\timesince.py:45 +msgid "minutes" +msgstr "minuta" + +#: .\utils\timesince.py:50 +#, python-format +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" + +#: .\utils\timesince.py:56 +#, python-format +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" + +#: .\utils\translation\trans_real.py:512 +msgid "DATE_FORMAT" +msgstr "j. N Y." + +#: .\utils\translation\trans_real.py:513 +msgid "DATETIME_FORMAT" +msgstr "j. N. Y. G:i T" + +#: .\utils\translation\trans_real.py:514 +msgid "TIME_FORMAT" +msgstr "G:i" + +#: .\utils\translation\trans_real.py:535 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y." + +#: .\utils\translation\trans_real.py:536 +msgid "MONTH_DAY_FORMAT" +msgstr "j. F" + +#: .\views\generic\create_update.py:115 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s je uspješno kreiran." + +#: .\views\generic\create_update.py:158 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s je uspješno ažuriran." + +#: .\views\generic\create_update.py:201 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s je obrisan." + +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "Jedno ili više polja %(fieldname)s u %(name)s: %(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "Jedno ili više polja %(fieldname)s u %(name)s" + +#~ msgid "Old password:" +#~ msgstr "Stara lozinka:" + +#~ msgid "Relation to parent model" +#~ msgstr "Veza sa roditeljskim modelom" + +#~ msgid "Add user" +#~ msgstr "Dodaj korisnika" + +#~ msgid "Comment moderation queue" +#~ msgstr "Komentari koji čekaju na odobrenje" + +#~ msgid "No comments to moderate" +#~ msgstr "Nema komentara na čekanju" + +#~ msgid "Email" +#~ msgstr "Imejl adresa" + +#~ msgid "Authenticated?" +#~ msgstr "Prijavljen?" + +#~ msgid "IP Address" +#~ msgstr "IP adresa" + +#~ msgid "Date posted" +#~ msgstr "Datum postavljanja" + +#~ msgid "yes" +#~ msgstr "da" + +#~ msgid "no" +#~ msgstr "ne" diff --git a/django/conf/locale/bs/__init__.py b/django/conf/locale/bs/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/bs/formats.py b/django/conf/locale/bs/formats.py new file mode 100644 index 000000000..fc21ff82a --- /dev/null +++ b/django/conf/locale/bs/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j. N Y.' +TIME_FORMAT = 'G:i' +DATETIME_FORMAT = 'j. N. Y. G:i T' +YEAR_MONTH_FORMAT = 'F Y.' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'Y M j' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +# NUMBER_GROUPING = diff --git a/django/conf/locale/ca/LC_MESSAGES/django.mo b/django/conf/locale/ca/LC_MESSAGES/django.mo index 3039bd8fad17608ccf9430ce3013cbefa2f19766..fb4daa4e0e98671b9e618d2389b2c6e36d4f7267 100644 GIT binary patch delta 21985 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 SWWU&i_~Z9Iq&i?|Lpo#DR delta 21675 zcmZwO2Y8NWANTP)l9&;D2QeeWrbcbCs%DJXLV{S)2x{I&?OCzas!^LZw$|Pw_9%*$ zR#Bt1YSsJw-Pb?Q;eC(yI-b+#JpboDuj{(+ggy(V`P`rEGvga~3YW`uzLm=*ubIDL z2FedG1m9s63~udm1z>elxjm-DSPaIYm<(59a$Ie0LXE!-y>Sov;epmJx2NG50%-_b zMh*BIYNCgj9#e+9T>h8?eX)pH0yS_sRKF^y3F=@fY+&_a$p2jJEWQQReowgDS?N&% znkW&o;w{t;U!o@PYvY_qX4C=-qjnf#mbG|g98SCjPQpEy78|s6xiVpEEQ`HR3s~YN z<3naOYQPPsoo+!*bP%u5RDB85MyjFeTcS>+8*1Wy zm>S)K$>`|6LM>nhY5{Xm6R$$utBqFPjcRugwZIb=KZ|O274zWlSP*^MJL3eS<|&P8 zR~0!Kx9c-9nlRi6xVl?|0jP&?G-_wFP!q2)H=}mC9ksKgs2!cN`WvVP-a&2TzLozr zUtvn-cfBX01tjm_43x#pi<%%9b!3%LM_CKCurSoXQK$v}QK6`dlGhrmVLh|h37ejDMev`QD3t10DrSPAE06rM*-T(PTT zHPk{wQJ)_zQ7769b#lWoCr-v(xXMjNJ2`+_VIt~?E};ha1$8pdEbblYv`d4UIHQ@} z;(1UzE`;h=4mEx#>a}Z%`LF}#Mz@=c23lk;N3C=XY9ZUry;z>|QLKya@e>T?80zCt zRQwRu!8F}?*RdIvz%i(u|A1BTG;%B4t~A~GxFk>jwc<$BM`RoZ<7zC5=dldFM@?L+ z2lpSln_DoHvRAb85Y{!@;HSiUqZYOrwUEd7iQfNIJzcKi1ZrS&?2DCgKk7Akhq_l; zdht1qrLiOq#T>W}3*lk&AqG*-(A)Xasf0Bs&qTc)7f}8Fz+BAFW6C!g1fZVoI#?6i zpcb$Yb+5LdR(>AC@DXaDnth!kZih7}PeMKACsDWH4r<&iG0rDxFsi;9y7iE?B2y51 zqmKS-493H#ojpPAC`&(Q2UW2!<)*0igU}b(p`P~dF(n?vhIk5Dt1J5#&ciqkeJIcT zg7a6yxdikXztk$WVk*kJFgYH=6nGL_;sw+I!LiPSB~a~apf>aw>ZCd&n|BSx)c623 z-V5}`cd?wm7U1gdRHQ-;lpeLCoT!NdEndXRWz5Q`{}OCS&wOO3;N?e%!p^K{2OZFf1@_?3bg<)zBtq`C2E10 zQRBMvl2OAVsE%dKil_;znRQX^8lwgb$F$hV%6(An<4^++Lyb2U)o-%Z&$jwSj&9c~ zGNClsggTPvsDWRjCQ32D(H}KI7Sw>bQ4<8Ac2wM~h-z0G)vh7d!VeJx6EHL78JG!Iq87Fj_1YaZe>LA?F!3ydobQ0@n3Zx<)a%wAtD_sW zfW4Sf@Bd*kT5+OPTt=P54U7M3<@;8Cj5^|%7XN_yyzu$b`CO=r>c7BTf;!0+s1sR- z>c15|-~W5asKXJfIEh-}Me`bJfwxfu{fRoUC#ZowpaxDk*tr!MQRUpI6AME1FOO

      Mb~m+Q4Phc-K)2y>C86wR?r? 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 Xe{@LSn2>%kas8uWT@gK^V_p9Ta@-`# diff --git a/django/conf/locale/ca/LC_MESSAGES/django.po b/django/conf/locale/ca/LC_MESSAGES/django.po index 57f876493..2417f7498 100644 --- a/django/conf/locale/ca/LC_MESSAGES/django.po +++ b/django/conf/locale/ca/LC_MESSAGES/django.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-07 15:04+0200\n" +"POT-Creation-Date: 2009-11-30 11:19+0100\n" "PO-Revision-Date: 2009-03-24 13:28+0100\n" "Last-Translator: Django Catalan Group \n" "Language-Team: Catalan \n" @@ -223,7 +223,7 @@ msgstr "xinès tradicional" msgid "Successfully deleted %(count)d %(items)s." msgstr "Eliminat/s %(count)d %(items)s satisfactòriament." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1025 +#: contrib/admin/actions.py:67 contrib/admin/options.py:1033 msgid "Are you sure?" msgstr "Esteu segurs?" @@ -266,15 +266,15 @@ msgstr "Aquest mes" msgid "This year" msgstr "Aquest any" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:435 msgid "Yes" msgstr "Si" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:435 msgid "No" msgstr "No" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:435 msgid "Unknown" msgstr "Desconegut" @@ -310,61 +310,61 @@ msgstr "entrada del registre" msgid "log entries" msgstr "entrades del registre" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:134 contrib/admin/options.py:148 msgid "None" msgstr "cap" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:521 #, python-format msgid "Changed %s." msgstr "Modificat %s." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:521 contrib/admin/options.py:531 +#: contrib/comments/templates/comments/preview.html:16 forms/models.py:384 +#: forms/models.py:596 msgid "and" msgstr "i" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:526 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Afegit %(name)s \"%(object)s\"" -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:530 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Modificat %(list)s per a %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:535 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Eliminat %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:539 msgid "No fields changed." msgstr "Cap camp canviat." -#: contrib/admin/options.py:598 contrib/auth/admin.py:67 +#: contrib/admin/options.py:601 contrib/auth/admin.py:67 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "El/la %(name)s \"%(obj)s\".ha estat afegit/da amb èxit." -#: contrib/admin/options.py:602 contrib/admin/options.py:635 +#: contrib/admin/options.py:605 contrib/admin/options.py:638 #: contrib/auth/admin.py:75 msgid "You may edit it again below." msgstr "Podeu editar-lo de nou a baix." -#: contrib/admin/options.py:612 contrib/admin/options.py:645 +#: contrib/admin/options.py:615 contrib/admin/options.py:648 #, python-format msgid "You may add another %s below." msgstr "Podeu afegir un altre %s a baix." -#: contrib/admin/options.py:633 +#: contrib/admin/options.py:636 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "S'ha modificat amb èxit el/la %(name)s \"%(obj)s." -#: contrib/admin/options.py:641 +#: contrib/admin/options.py:644 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." @@ -372,43 +372,43 @@ msgstr "" "S'ha afegit exitosament el/la %(name)s \"%(obj)s\". Pot editar-lo de nou " "abaix." -#: contrib/admin/options.py:772 +#: contrib/admin/options.py:777 #, python-format msgid "Add %s" msgstr "Afegir %s" -#: contrib/admin/options.py:803 contrib/admin/options.py:1003 +#: contrib/admin/options.py:809 contrib/admin/options.py:1011 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "No existèix cap objecte %(name)s amb la clau primària %(key)r." -#: contrib/admin/options.py:860 +#: contrib/admin/options.py:866 #, python-format msgid "Change %s" msgstr "Modificar %s" -#: contrib/admin/options.py:904 +#: contrib/admin/options.py:910 msgid "Database error" msgstr "Error de base de dades" -#: contrib/admin/options.py:940 +#: contrib/admin/options.py:946 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s %(name)s s'ha modificat amb èxit." msgstr[1] "%(count)s %(name)s s'han modificat amb èxit." -#: contrib/admin/options.py:1018 +#: contrib/admin/options.py:1026 #, 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/options.py:1054 +#: contrib/admin/options.py:1063 #, python-format msgid "Change history: %s" msgstr "Modificar històric: %s" -#: contrib/admin/sites.py:20 contrib/admin/views/decorators.py:14 +#: contrib/admin/sites.py:22 contrib/admin/views/decorators.py:14 #: contrib/auth/forms.py:80 msgid "" "Please enter a correct username and password. Note that both fields are case-" @@ -417,11 +417,11 @@ msgstr "" "Si us plau, introduïu un nom d'usuari i contrasenya vàlids. Tingueu en " "compte que tots dos camps son sensibles a majúscules i minúscules." -#: contrib/admin/sites.py:278 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Si us plau, identifiqueu-vos de nou doncs la vostra sessió ha expirat." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:299 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -430,29 +430,29 @@ msgstr "" "'cookies' (galetes). Si us plau, habiliteu les 'cookies', recarregueu " "aquesta pàgina i proveu-ho de nou. " -#: contrib/admin/sites.py:301 contrib/admin/sites.py:307 +#: contrib/admin/sites.py:315 contrib/admin/sites.py:321 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Els noms d'usuari no poden contenir el caracter '@'." -#: contrib/admin/sites.py:304 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:318 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "" "La vostra adreça de correu no és el vostre nom d'usuari. Provi '%s' en tot " "cas." -#: contrib/admin/sites.py:360 +#: contrib/admin/sites.py:374 msgid "Site administration" msgstr "Lloc administratiu" -#: contrib/admin/sites.py:373 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:388 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Iniciar sessió" -#: contrib/admin/sites.py:417 +#: contrib/admin/sites.py:433 #, python-format msgid "%s administration" msgstr "Administració de %s" @@ -467,27 +467,27 @@ msgstr "Un o més %(fieldname)s en %(name)s: %(obj)s" msgid "One or more %(fieldname)s in %(name)s:" msgstr "Un o més %(fieldname)s en %(name)s:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:72 msgid "Date:" msgstr "Data:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:72 msgid "Time:" msgstr "Hora:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:96 msgid "Currently:" msgstr "Actualment:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:96 msgid "Change:" msgstr "Modificar:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:125 msgid "Lookup" msgstr "Cercar" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:237 msgid "Add Another" msgstr "Afegir un altre" @@ -502,7 +502,7 @@ msgstr "Ho sentim, però no s'ha pogut trobar la pàgina sol·licitada" #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:31 +#: contrib/admin/templates/admin/base.html:54 #: contrib/admin/templates/admin/change_form.html:17 #: contrib/admin/templates/admin/change_list.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:6 @@ -555,18 +555,18 @@ msgstr "Anar" msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:27 msgid "Welcome," msgstr "Benvingut/da," -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:32 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Documentació" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:40 #: contrib/admin/templates/admin/auth/user/change_password.html:14 #: contrib/admin/templates/admin/auth/user/change_password.html:47 #: contrib/admin/templates/registration/password_change_done.html:3 @@ -574,7 +574,7 @@ msgstr "Documentació" msgid "Change password" msgstr "Canviar contrasenya" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:47 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 msgid "Log out" @@ -600,7 +600,7 @@ msgstr "Històric" #: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Veure al lloc" @@ -670,9 +670,9 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" -"Esteu segurs de voler esborrar els/les %(object_name)s seleccionats?Tots " +"Esteu segurs de voler esborrar els/les %(object_name)s seleccionats? Tots " "aquests objectes i els seus elements relacionats s'esborraran:" #: contrib/admin/templates/admin/filter.html:2 @@ -736,7 +736,6 @@ msgid "User" msgstr "Usuari" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Acció" @@ -985,7 +984,7 @@ msgstr "Adreça de correu electrònic:" msgid "Reset my password" msgstr "Restablir la meva contrasenya" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:304 msgid "All dates" msgstr "Totes les dates" @@ -1007,145 +1006,144 @@ msgstr "lloc" msgid "template" msgstr "plantilla" -#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60 -#: contrib/admindocs/views.py:62 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "etiqueta:" -#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93 -#: contrib/admindocs/views.py:95 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "filtre:" -#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157 -#: contrib/admindocs/views.py:159 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "vista:" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "No s'ha pogut trobar l'aplicació %r" -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "El model %(model_name)r no s'ha trobat en l'aplicació %(app_label)r" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "l'objecte relacionat `%(app_label)s.%(data_type)s`" -#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:225 -#: contrib/admindocs/views.py:230 contrib/admindocs/views.py:244 -#: contrib/admindocs/views.py:258 contrib/admindocs/views.py:263 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "model:" -#: contrib/admindocs/views.py:221 contrib/admindocs/views.py:253 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "objectes relacionats `%(app_label)s.%(object_name)s`" -#: contrib/admindocs/views.py:225 contrib/admindocs/views.py:258 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "tots %s" -#: contrib/admindocs/views.py:230 contrib/admindocs/views.py:263 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "nombre de %s" -#: contrib/admindocs/views.py:268 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "Camps en objectes %s" -#: contrib/admindocs/views.py:331 contrib/admindocs/views.py:342 -#: contrib/admindocs/views.py:344 contrib/admindocs/views.py:350 -#: contrib/admindocs/views.py:351 contrib/admindocs/views.py:353 +#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 +#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 +#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 msgid "Integer" msgstr "Enter" -#: contrib/admindocs/views.py:332 +#: contrib/admindocs/views.py:335 msgid "Boolean (Either True or False)" msgstr "Booleà (Verdader o Fals)" -#: contrib/admindocs/views.py:333 contrib/admindocs/views.py:352 +#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 #, python-format msgid "String (up to %(max_length)s)" msgstr "Cadena (de fins a %(max_length)s)" -#: contrib/admindocs/views.py:334 +#: contrib/admindocs/views.py:337 msgid "Comma-separated integers" msgstr "Enters separats per comes" -#: contrib/admindocs/views.py:335 +#: contrib/admindocs/views.py:338 msgid "Date (without time)" msgstr "Data (sense hora)" -#: contrib/admindocs/views.py:336 +#: contrib/admindocs/views.py:339 msgid "Date (with time)" msgstr "Data (amb hora)" -#: contrib/admindocs/views.py:337 +#: contrib/admindocs/views.py:340 msgid "Decimal number" msgstr "Número decimal" -#: contrib/admindocs/views.py:338 +#: contrib/admindocs/views.py:341 msgid "E-mail address" msgstr "Adreça de correu electrònic" -#: contrib/admindocs/views.py:339 contrib/admindocs/views.py:340 -#: contrib/admindocs/views.py:343 +#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 +#: contrib/admindocs/views.py:346 msgid "File path" msgstr "Ruta del fitxer" -#: contrib/admindocs/views.py:341 +#: contrib/admindocs/views.py:344 msgid "Floating point number" msgstr "Número amb punt de coma flotant" -#: contrib/admindocs/views.py:345 contrib/comments/models.py:60 +#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 msgid "IP address" msgstr "Adreça IP" -#: contrib/admindocs/views.py:347 +#: contrib/admindocs/views.py:350 msgid "Boolean (Either True, False or None)" msgstr "Booleà (Verdader, Fals o 'None' (cap))" -#: contrib/admindocs/views.py:348 +#: contrib/admindocs/views.py:351 msgid "Relation to parent model" msgstr "Relació amb el model pare" -#: contrib/admindocs/views.py:349 +#: contrib/admindocs/views.py:352 msgid "Phone number" msgstr "Número de telèfon" -#: contrib/admindocs/views.py:354 +#: contrib/admindocs/views.py:357 msgid "Text" msgstr "Text" -#: contrib/admindocs/views.py:355 +#: contrib/admindocs/views.py:358 msgid "Time" msgstr "Hora" -#: contrib/admindocs/views.py:356 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 +#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 #: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 msgid "URL" msgstr "URL" -#: contrib/admindocs/views.py:357 +#: contrib/admindocs/views.py:360 msgid "U.S. state (two uppercase letters)" msgstr "Estat dels E.U.A. (dues lletres majúscules)" -#: contrib/admindocs/views.py:358 +#: contrib/admindocs/views.py:361 msgid "XML text" msgstr "Text XML" -#: contrib/admindocs/views.py:384 +#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s no sembla ser un objecte 'urlpattern'" @@ -1438,22 +1436,54 @@ msgstr "usuaris" msgid "message" msgstr "missatge" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:60 msgid "Logged out" msgstr "Sessió finalitzada" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Introduïu una adreça de correu vàlida." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "contingut" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "metadades" +# Context problem... waitting for comments from django-i18n +#: contrib/comments/admin.py:39 +msgid "flagged" +msgstr "marcat" + +#: contrib/comments/admin.py:40 +msgid "Flag selected comments" +msgstr "Marcar els comentaris seleccionats" + +#: contrib/comments/admin.py:43 +msgid "approved" +msgstr "aprovat" + +#: contrib/comments/admin.py:44 +msgid "Approve selected comments" +msgstr "Aprovar els comentaris seleccionats" + +#: contrib/comments/admin.py:47 +msgid "removed" +msgstr "eliminat" + +#: contrib/comments/admin.py:48 +msgid "Remove selected comments" +msgstr "Eliminar els comentaris seleccionats" + +#: contrib/comments/admin.py:60 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 comentari ha estat %(action)s satisfactòriament." +msgstr[1] "%(count)s comentaris han estat %(action)s satisfactòriament." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1465,7 +1495,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Últims comentaris a %(site_name)s." #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "nom" @@ -1474,7 +1503,6 @@ msgid "Email address" msgstr "Adreça de correu electrònic" #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Comentari" @@ -1606,7 +1634,6 @@ msgid "Really make this comment public?" msgstr "Realment vol fer aquest comentari públic?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Aprovar" @@ -1631,7 +1658,6 @@ msgid "Really remove this comment?" msgstr "Realment vol eliminar aquest comentari?" #: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 msgid "Remove" msgstr "Eliminar" @@ -1666,39 +1692,6 @@ msgstr "Publicar" msgid "Preview" msgstr "Vista prèvia" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Cua de moderació de comentaris" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "No hi ha comentaris per a moderar" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Correu electrònic" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Autentificat?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "Adreça IP" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Data d'enviament" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "si" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "no" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Gràcies per comentar" @@ -1793,7 +1786,7 @@ msgstr "pàgina estàtica" msgid "flat pages" msgstr "pàgines estàtiques" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:132 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -2615,6 +2608,10 @@ msgstr "Validació invàlida del número de compte bancari." msgid "Enter a valid Finnish social security number." msgstr "Introduïu un número vàlid de la seguretat social finlandesa." +#: contrib/localflavor/fr/forms.py:30 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Els números de telèfon han de estar en el format 0X XX XX XX XX." + #: contrib/localflavor/in_/forms.py:14 msgid "Enter a zip code in the format XXXXXXX." msgstr "Introduïu un codi zip en el format XXXXXXX." @@ -3053,7 +3050,8 @@ msgstr "Validació invàlida del número tributari (NIP)." #: contrib/localflavor/pl/forms.py:109 msgid "National Business Register Number (REGON) consists of 9 or 14 digits." msgstr "" -"El número nacional de registre de negocis (REGON) consisteix en 9 o 14 dígits." +"El número nacional de registre de negocis (REGON) consisteix en 9 o 14 " +"dígits." #: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." @@ -3943,14 +3941,14 @@ msgstr "Aquest valor ha de ser None (Cap), True (Veritat) o False (Fals)" msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Introduïu una hora vàlida en el format HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:816 +#: db/models/fields/related.py:869 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Premeu la tecla \"Control\" -o \"Command\" en un Mac- per seleccionar més " "d'un valor." -#: db/models/fields/related.py:894 +#: db/models/fields/related.py:930 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3962,95 +3960,95 @@ msgstr[1] "" "Si us plau, introduïu IDs de %(self)s vàlids. Els valors %(value)r són " "invàlids." -#: forms/fields.py:54 +#: forms/fields.py:53 msgid "This field is required." msgstr "Aquest camp és obligatori." -#: forms/fields.py:55 +#: forms/fields.py:54 msgid "Enter a valid value." msgstr "Introduïu un valor vàlid." -#: forms/fields.py:138 +#: forms/fields.py:137 #, python-format msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." msgstr "" "Assegureu-vos de que el valor té com a màxim %(max)d caràcters (en té %" "(length)d)." -#: forms/fields.py:139 +#: forms/fields.py:138 #, python-format msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." msgstr "" "Assegureu-vos de que el valor té com a mínim %(min)d caràcters (en té %" "(length)d)." -#: forms/fields.py:166 +#: forms/fields.py:165 msgid "Enter a whole number." msgstr "Introduïu un número sencer." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 +#: forms/fields.py:166 forms/fields.py:195 forms/fields.py:224 #, python-format msgid "Ensure this value is less than or equal to %s." msgstr "Aquest valor ha de ser menor o igual a %s." -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 +#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 #, python-format msgid "Ensure this value is greater than or equal to %s." msgstr "Assegureu-vos de que aquest valor sigui superior o igual a %s." -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:194 forms/fields.py:223 msgid "Enter a number." msgstr "Introduïu un número." -#: forms/fields.py:227 +#: forms/fields.py:226 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Assegureu-vos de que no hi ha més de %s dígits en total." -#: forms/fields.py:228 +#: forms/fields.py:227 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Assegureu-vos de que no hi ha més de %s decimals." -#: forms/fields.py:229 +#: forms/fields.py:228 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Assegureu-vos de que no hi ha més de %s dígits decimals." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:287 forms/fields.py:862 msgid "Enter a valid date." msgstr "Introduïu una data vàlida." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:321 forms/fields.py:863 msgid "Enter a valid time." msgstr "Introduïu una hora vàlida." -#: forms/fields.py:361 +#: forms/fields.py:360 msgid "Enter a valid date/time." msgstr "Introduïu una data/hora vàlides." -#: forms/fields.py:447 +#: forms/fields.py:446 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." -#: forms/fields.py:448 +#: forms/fields.py:447 msgid "No file was submitted." msgstr "No s'ha enviat cap fitxer." -#: forms/fields.py:449 +#: forms/fields.py:448 msgid "The submitted file is empty." msgstr "El fitxer enviat està buit." -#: forms/fields.py:450 +#: forms/fields.py:449 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr "" -"Assegureu-vos de que el valor té com a màxim %(max)d caràcters " -"(en té %(length)d)." +"Assegureu-vos de que el valor té com a màxim %(max)d caràcters (en té %" +"(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:482 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -4058,28 +4056,28 @@ msgstr "" "Envieu una imatge vàlida. El fitxer que heu enviat no era una imatge o " "estava corrupte." -#: forms/fields.py:544 +#: forms/fields.py:543 msgid "Enter a valid URL." msgstr "Introduïu una URL vàlida." -#: forms/fields.py:545 +#: forms/fields.py:544 msgid "This URL appears to be a broken link." msgstr "Aquesta URL sembla ser un enllaç trencat." -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:624 forms/fields.py:702 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Esculliu una opció vàlida. %(value)s no és una de les opcions vàlides." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 +#: forms/fields.py:703 forms/fields.py:764 forms/models.py:999 msgid "Enter a list of values." msgstr "Introduïu una llista de valors." -#: forms/fields.py:892 +#: forms/fields.py:891 msgid "Enter a valid IPv4 address." msgstr "Introduïu una adreça IPv4 vàlida." -#: forms/fields.py:902 +#: forms/fields.py:901 msgid "" "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." msgstr "" @@ -4090,56 +4088,58 @@ msgstr "" msgid "Order" msgstr "Ordre" -#: forms/models.py:367 +#: forms/models.py:363 #, python-format msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." msgstr "El camp %(field_name)s ha de ser únic per a %(lookup)s %(date_field)s." -#: forms/models.py:381 forms/models.py:389 +#: forms/models.py:377 forms/models.py:385 #, python-format msgid "%(model_name)s with this %(field_label)s already exists." msgstr "Ja existeix %(model_name)s amb aquest %(field_label)s." -#: forms/models.py:594 +#: forms/models.py:590 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Si us plau, corregiu la dada duplicada per a %(field)s." -#: forms/models.py:598 +#: forms/models.py:594 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Si us plau, corregiu la dada duplicada per a %(field)s, la qual ha de ser única." +msgstr "" +"Si us plau, corregiu la dada duplicada per a %(field)s, la qual ha de ser " +"única." -#: forms/models.py:604 +#: forms/models.py:600 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " "for the %(lookup)s in %(date_field)s." msgstr "" -"Si us plau, corregiu la dada duplicada per a %(field_name)s, " -"la qual ha de ser única per a la cerca %(lookup)s en %(date_field)s." +"Si us plau, corregiu la dada duplicada per a %(field_name)s, la qual ha de " +"ser única per a la cerca %(lookup)s en %(date_field)s." -#: forms/models.py:612 +#: forms/models.py:608 msgid "Please correct the duplicate values below." msgstr "Si us plau, corregiu els valors duplicats a baix." -#: forms/models.py:867 +#: forms/models.py:863 msgid "The inline foreign key did not match the parent instance primary key." msgstr "" "La clau forànea en línea no coincideix amb la clau primària de la instància " "del pare" -#: forms/models.py:930 +#: forms/models.py:926 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" "Escolli una opció vàlida; Aquesta opció no és una de les opcions disponibles." -#: forms/models.py:1004 +#: forms/models.py:1000 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Escolliu una opció vàlida; %s' no és una de les opcions vàlides." -#: forms/models.py:1006 +#: forms/models.py:1002 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" no és un valor vàlid per a una clau primària." @@ -4157,18 +4157,18 @@ msgstr[1] "%(size)d bytes" #: template/defaultfilters.py:800 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" #: template/defaultfilters.py:802 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" #: template/defaultfilters.py:803 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4459,6 +4459,30 @@ msgstr "El/la %(verbose_name)s s'ha actualtzat amb èxit." msgid "The %(verbose_name)s was deleted." msgstr "El %(verbose_name)s s'ha eliminat." +#~ msgid "Comment moderation queue" +#~ msgstr "Cua de moderació de comentaris" + +#~ msgid "No comments to moderate" +#~ msgstr "No hi ha comentaris per a moderar" + +#~ msgid "Email" +#~ msgstr "Correu electrònic" + +#~ msgid "Authenticated?" +#~ msgstr "Autentificat?" + +#~ msgid "IP Address" +#~ msgstr "Adreça IP" + +#~ msgid "Date posted" +#~ msgstr "Data d'enviament" + +#~ msgid "yes" +#~ msgstr "si" + +#~ msgid "no" +#~ msgstr "no" + #, fuzzy #~ msgid "verbose_name" #~ msgid_plural "verbose_name_plural" diff --git a/django/conf/locale/ca/__init__.py b/django/conf/locale/ca/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/ca/formats.py b/django/conf/locale/ca/formats.py new file mode 100644 index 000000000..171f48fb3 --- /dev/null +++ b/django/conf/locale/ca/formats.py @@ -0,0 +1,30 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = r'j \de F \de Y' +TIME_FORMAT = 'G:i:s' +DATETIME_FORMAT = r'j \de F \de Y \a \le\s G:i' +YEAR_MONTH_FORMAT = r'F \de\l Y' +MONTH_DAY_FORMAT = r'j \de F' +SHORT_DATE_FORMAT = 'd/m/Y' +SHORT_DATETIME_FORMAT = 'd/m/Y G:i' +FIRST_DAY_OF_WEEK = 1 # Monday +DATE_INPUT_FORMATS = ( + # '31/12/2009', '31/12/09' + '%d/%m/%Y', '%d/%m/%y' +) +TIME_INPUT_FORMATS = ( + # '14:30:59', '14:30' + '%H:%M:%S', '%H:%M' +) +DATETIME_INPUT_FORMATS = ( + '%d/%m/%Y %H:%M:%S', + '%d/%m/%Y %H:%M', + '%d/%m/%y %H:%M:%S', + '%d/%m/%y %H:%M', +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 + diff --git a/django/conf/locale/cs/LC_MESSAGES/django.mo b/django/conf/locale/cs/LC_MESSAGES/django.mo index 2ec6b08c8884d61efb3baa96465c373e6c9e7a54..b4f8dae1ce3b453efc02af30e4c6e3a4a17fac33 100644 GIT binary patch literal 76999 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 z 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

      |2dTYn#ed*<7LZe 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, 2005, # Tomáš Ehrlich , 2009, -# Vláďa Macek , 2009. +# Vlada Macek , 2010. # msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-05-15 14:17+0200\n" -"PO-Revision-Date: 2009-05-15 14:19+0200\n" -"Last-Translator: Vláďa Macek \n" +"POT-Creation-Date: 2010-08-06 18:35+0200\n" +"PO-Revision-Date: 2010-08-06 18:33+0100\n" +"Last-Translator: Vlada Macek \n" "Language-Team: Czech\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,218 +22,262 @@ msgid "Arabic" msgstr "arabsky" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "bengálsky" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "bulharsky" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "bengálsky" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "bosensky" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "katalánsky" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "česky" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "welšsky" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "dánsky" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "německy" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "řecky" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "anglicky" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "anglicky (Británie)" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "španělsky" -#: conf/global_settings.py:55 +#: conf/global_settings.py:57 +msgid "Argentinian Spanish" +msgstr "španělsky (Argentina)" + +#: conf/global_settings.py:58 msgid "Estonian" msgstr "estonsky" -#: conf/global_settings.py:56 -msgid "Argentinean Spanish" -msgstr "argentinskou španělštinou" - -#: conf/global_settings.py:57 +#: conf/global_settings.py:59 msgid "Basque" msgstr "baskicky" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "persky" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "finsky" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "francouzsky" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "frísky" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "irsky" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "galicijsky" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "maďarsky" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "hebrejsky" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "hindsky" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "chorvatsky" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "maďarsky" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "indonésky" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "islandsky" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "italsky" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "japonsky" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "gruzínsky" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "korejsky" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "khmersky" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "kannadsky" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "lotyšsky" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "korejsky" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "litevsky" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "lotyšsky" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "makedonsky" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Malayalam" +msgstr "malajálamsky" + +#: conf/global_settings.py:82 +msgid "Mongolian" +msgstr "mongolsky" + +#: conf/global_settings.py:83 msgid "Dutch" msgstr "holandsky" -#: conf/global_settings.py:78 +#: conf/global_settings.py:84 msgid "Norwegian" msgstr "norsky" -#: conf/global_settings.py:79 +#: conf/global_settings.py:85 +msgid "Norwegian Bokmal" +msgstr "norsky (Bokmål)" + +#: conf/global_settings.py:86 +msgid "Norwegian Nynorsk" +msgstr "norsky (Nynorsk)" + +#: conf/global_settings.py:87 msgid "Polish" msgstr "polsky" -#: conf/global_settings.py:80 +#: conf/global_settings.py:88 msgid "Portuguese" msgstr "portugalsky" -#: conf/global_settings.py:81 +#: conf/global_settings.py:89 msgid "Brazilian Portuguese" -msgstr "brazilskou portugalštinou" +msgstr "portugalsky (Brazílie)" -#: conf/global_settings.py:82 +#: conf/global_settings.py:90 msgid "Romanian" msgstr "rumunsky" -#: conf/global_settings.py:83 +#: conf/global_settings.py:91 msgid "Russian" msgstr "rusky" -#: conf/global_settings.py:84 +#: conf/global_settings.py:92 msgid "Slovak" msgstr "slovensky" -#: conf/global_settings.py:85 +#: conf/global_settings.py:93 msgid "Slovenian" msgstr "slovinsky" -#: conf/global_settings.py:86 +#: conf/global_settings.py:94 +msgid "Albanian" +msgstr "albánsky" + +#: conf/global_settings.py:95 msgid "Serbian" msgstr "srbsky" -#: conf/global_settings.py:87 +#: conf/global_settings.py:96 +msgid "Serbian Latin" +msgstr "srbsky (latinkou)" + +#: conf/global_settings.py:97 msgid "Swedish" msgstr "švédsky" -#: conf/global_settings.py:88 +#: conf/global_settings.py:98 msgid "Tamil" msgstr "tamilsky" -#: conf/global_settings.py:89 +#: conf/global_settings.py:99 msgid "Telugu" msgstr "telužsky" -#: conf/global_settings.py:90 +#: conf/global_settings.py:100 msgid "Thai" msgstr "thajsky" -#: conf/global_settings.py:91 +#: conf/global_settings.py:101 msgid "Turkish" msgstr "turecky" -#: conf/global_settings.py:92 +#: conf/global_settings.py:102 msgid "Ukrainian" msgstr "ukrajinsky" -#: conf/global_settings.py:93 +#: conf/global_settings.py:103 +msgid "Vietnamese" +msgstr "vietnamsky" + +#: conf/global_settings.py:104 msgid "Simplified Chinese" -msgstr "zjednodušenou čínštinou" +msgstr "čínsky (zjednodušeně)" -#: conf/global_settings.py:94 +#: conf/global_settings.py:105 msgid "Traditional Chinese" -msgstr "tradiční čínštinou" +msgstr "čínsky (tradičně)" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." -msgstr "Úspěšně smazané: %(count)d %(items)s." +msgstr "Úspěšně odstraněno: %(count)d %(items)s." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1025 +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "Jste si jisti?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" -msgstr "Smazat vybrané %(verbose_name_plural)s" +msgstr "Odstranit vybrané %(verbose_name_plural)s" #: contrib/admin/filterspecs.py:44 #, python-format @@ -269,37 +313,37 @@ msgstr "Tento měsíc" msgid "This year" msgstr "Tento rok" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:478 msgid "Yes" msgstr "Ano" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:478 msgid "No" msgstr "Ne" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:478 msgid "Unknown" msgstr "Neznámé" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" -msgstr "Akce:" +msgstr "Operace:" #: contrib/admin/models.py:19 msgid "action time" -msgstr "čas akce" +msgstr "čas operace" #: contrib/admin/models.py:22 msgid "object id" -msgstr "id objektu" +msgstr "id položky" #: contrib/admin/models.py:23 msgid "object repr" -msgstr "reprez. objektu" +msgstr "reprez. položky" #: contrib/admin/models.py:24 msgid "action flag" -msgstr "příznak akce" +msgstr "příznak operace" #: contrib/admin/models.py:25 msgid "change message" @@ -313,88 +357,100 @@ msgstr "položka protokolu" msgid "log entries" msgstr "položky protokolu" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "Žádný" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." -msgstr "Záznam %s změněn." +msgstr "Změněno: %s" -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:587 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:845 +#: forms/models.py:568 msgid "and" msgstr "a" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." -msgstr "Přidán záznam \"%(object)s\" typu \"%(name)s\"." +msgstr "Položka \"%(object)s\" typu %(name)s byla přidána." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." -msgstr "Změněn \"%(list)s\" pro záznam \"%(object)s\" typu \"%(name)s\"." +msgstr "" +"Pole \"%(list)s\" pro položku \"%(object)s\" typu %(name)s změněno/změněna." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." -msgstr "Smazán záznam \"%(object)s\" typu \"%(name)s\"." +msgstr "Položka \"%(object)s\" typu %(name)s byla odstraněna." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Nebyla změněna žádná pole." -#: contrib/admin/options.py:598 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "Záznam \"%(obj)s\" typu \"%(name)s\" byl úspěšně přidán." +msgstr "Položka \"%(obj)s\" typu %(name)s byla úspěšně přidána." -#: contrib/admin/options.py:602 contrib/admin/options.py:635 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "V úpravách můžete pokračovat níže." -#: contrib/admin/options.py:612 contrib/admin/options.py:645 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." -msgstr "Další záznam typu \"%s\" můžete přidat níže." +msgstr "Níže můžete přidat další položku typu %s." -#: contrib/admin/options.py:633 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "Záznam \"%(obj)s\" typu \"%(name)s\" byl úspěšně změněn." +msgstr "Položka \"%(obj)s\" typu %(name)s byla úspěšně změněna." -#: contrib/admin/options.py:641 +#: contrib/admin/options.py:686 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "" -"Záznam \"%(obj)s\" typu \"%(name)s\" byl úspěšně přidán. Níže můžete v " +"Položka \"%(obj)s\" typu %(name)s byla úspěšně přidána. Níže můžete v " "úpravách pokračovat." -#: contrib/admin/options.py:772 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"K provedení hromadných operací je třeba vybrat nějaké položky. Nedošlo k " +"žádným změnám." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Nebyla vybrána žádná operace." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "%s: přidat" -#: contrib/admin/options.py:803 contrib/admin/options.py:1003 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." -msgstr "Objekt %(name)s s primárním klíčem %(key)r neexistuje." +msgstr "Položka \"%(name)s\" s primárním klíčem \"%(key)r\" neexistuje." -#: contrib/admin/options.py:860 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "%s: změnit" -#: contrib/admin/options.py:904 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Chyba databáze" -#: contrib/admin/options.py:940 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." @@ -402,18 +458,31 @@ msgstr[0] "Položka %(name)s byla úspěšně změněna." msgstr[1] "%(count)s položky %(name)s byly úspěšně změněny." msgstr[2] "%(count)s položek %(name)s bylo úspěšně změněno." -#: contrib/admin/options.py:1018 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s položka vybrána." +msgstr[1] "Všechny %(total_count)s položky vybrány." +msgstr[2] "Vybráno všech %(total_count)s položek." + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Vybraných je 0 položek z celkem %(cnt)s." + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Záznam \"%(obj)s\" typu \"%(name)s\" byl úspěšně smazán." +msgstr "Položka \"%(obj)s\" typu %(name)s byla úspěšně odstraněna." -#: contrib/admin/options.py:1054 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Historie změn: %s" -#: contrib/admin/sites.py:20 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -421,76 +490,65 @@ msgstr "" "Vložte správné uživatelské jméno a heslo (u obou položek se rozlišují malá a " "velká písmena)." -#: contrib/admin/sites.py:278 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Přihlaste se znovu, vaše sezení vypršelo." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." msgstr "" "Vypadá to, že váš prohlížeč nepřijímá cookies. Změňte mu toto nastavení, " -"obnovte tuto stránku a zkuste znovu." +"obnovte tuto stránku a požadavek opakujte." -#: contrib/admin/sites.py:301 contrib/admin/sites.py:307 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Uživatelská jména nemohou obsahovat znak \"@\"." -#: contrib/admin/sites.py:304 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "" "Vaše e-mailová adresa není vaše uživatelské jméno. Zkuste místo toho \"%s\"." -#: contrib/admin/sites.py:360 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Správa webu" -#: contrib/admin/sites.py:373 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Přihlášení" -#: contrib/admin/sites.py:417 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "Správa aplikace %s" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "" -"Jedno nebo více polí \"%(fieldname)s\" položky typu \"%(name)s\": \"%(obj)s\"" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Jedno nebo více polí \"%(fieldname)s\" položky typu \"%(name)s\":" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Datum:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Čas:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Aktuálně:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Změna:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Hledat" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Přidat další" @@ -505,17 +563,17 @@ msgstr "Požadovaná stránka nebyla bohužel nalezena." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:31 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -541,45 +599,58 @@ 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 "" -"Došlo k chybě. Byla oznámena administrátorovi serveru e-mailem a měla by být " -"brzy odstraněna. Děkujeme za trpělivost." +"Došlo k chybě. Byla oznámena správci serveru e-mailem a měla by být brzy " +"odstraněna. Děkujeme za trpělivost." #: contrib/admin/templates/admin/actions.html:4 msgid "Run the selected action" -msgstr "Provést vybranou akci" +msgstr "Provést vybranou operaci" #: contrib/admin/templates/admin/actions.html:4 msgid "Go" msgstr "Provést" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Klepnutím zde vyberete položky ze všech stránek." + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Vybrat všechny položky typu %(module_name)s, celkem %(total_count)s." + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Zrušit výběr" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Vítejte, uživateli" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentace" -#: contrib/admin/templates/admin/base.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Změnit heslo" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Odhlásit se" @@ -591,44 +662,45 @@ msgstr "Správa webu Django" msgid "Django administration" msgstr "Správa systému Django" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Přidat" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Historie" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Zobrazení na webu" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Opravte níže uvedenou chybu." msgstr[1] "Opravte níže uvedené chyby." msgstr[2] "Opravte níže uvedené chyby." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "%(name)s: přidat" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filtr" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" -msgstr "Smazat" +msgstr "Odstranit" #: contrib/admin/templates/admin/delete_confirmation.html:16 #, python-format @@ -637,9 +709,9 @@ msgid "" "related objects, but your account doesn't have permission to delete the " "following types of objects:" msgstr "" -"Smazání záznamu \"%(escaped_object)s\" typu \"%(object_name)s\" by vyústilo " -"ve vymazání souvisejících objektů, ale vy nemáte oprávnění k mazání " -"následujících typů objektů:" +"Odstranění položky \"%(escaped_object)s\" typu %(object_name)s by vyústilo v " +"odstranění souvisejících položek. Nemáte však oprávnění k odstranění položek " +"následujících typů:" #: contrib/admin/templates/admin/delete_confirmation.html:23 #, python-format @@ -647,8 +719,8 @@ 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 "" -"Opravdu má být smazán záznam \"%(escaped_object)s\" typu \"%(object_name)s" -"\"? Všechny následující související položky budou smazány:" +"Opravdu má být odstraněna položka \"%(escaped_object)s\" typu %(object_name)" +"s? Následující související položky budou všechny odstraněny:" #: contrib/admin/templates/admin/delete_confirmation.html:28 #: contrib/admin/templates/admin/delete_selected_confirmation.html:33 @@ -657,7 +729,7 @@ msgstr "Ano, jsem si jist(a)" #: contrib/admin/templates/admin/delete_selected_confirmation.html:9 msgid "Delete multiple objects" -msgstr "Smazat vybrané objekty" +msgstr "Odstranit vybrané položky" #: contrib/admin/templates/admin/delete_selected_confirmation.html:15 #, python-format @@ -666,17 +738,18 @@ msgid "" "your account doesn't have permission to delete the following types of " "objects:" msgstr "" -"Smazání záznamu \"%(object_name)s\" by vyústilo ve vymazání souvisejících " -"objektů, ale vy nemáte oprávnění pro mazání následujících typů objektů:" +"Odstranění položky \"%(object_name)s\" by vyústilo v odstranění " +"souvisejících položek. Nemáte však oprávnění k odstranění položek " +"následujících typů:" #: contrib/admin/templates/admin/delete_selected_confirmation.html:22 #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" -"Opravdu má být smazán záznam typu \"%(object_name)s\"? Všechny následující " -"související položky budou smazány:" +"Opravdu mají být odstraněny vybrané položky typu %(object_name)s? " +"Následující položky a položky s nimi související budou všechny odstraněny:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -698,11 +771,11 @@ msgstr "Nemáte oprávnění nic měnit." #: contrib/admin/templates/admin/index.html:53 msgid "Recent Actions" -msgstr "Poslední akce" +msgstr "Poslední operace" #: contrib/admin/templates/admin/index.html:54 msgid "My Actions" -msgstr "Mé akce" +msgstr "Vaše operace" #: contrib/admin/templates/admin/index.html:58 msgid "None available" @@ -739,27 +812,26 @@ msgid "User" msgstr "Uživatel" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" -msgstr "Akce" - -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j. n. Y H:i" +msgstr "Operace" #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " "admin site." msgstr "" -"Tento objekt nemá historii změn. Pravděpodobně nebyl přidán pomocí " -"administrátorského rozhraní." +"Tato položka nemá historii změn. Pravděpodobně nebyla přidána tímto " +"administračním rozhraním." #: contrib/admin/templates/admin/pagination.html:10 msgid "Show all" msgstr "Zobrazit vše" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Uložit" + #: contrib/admin/templates/admin/search_form.html:8 msgid "Search" msgstr "Hledat" @@ -777,17 +849,13 @@ msgstr[2] "%(counter)s výsledků" msgid "%(full_result_count)s total" msgstr "Celkem %(full_result_count)s" -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "Uložit" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" -msgstr "Uložit jako nový záznam" +msgstr "Uložit jako novou položku" #: contrib/admin/templates/admin/submit_line.html:6 msgid "Save and add another" -msgstr "Uložit a přidat další záznam" +msgstr "Uložit a přidat další položku" #: contrib/admin/templates/admin/submit_line.html:7 msgid "Save and continue editing" @@ -801,36 +869,46 @@ msgstr "" "Nejdříve vložte uživatelské jméno a heslo. Poté budete moci upravovat více " "uživatelských nastavení." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Uživatelské jméno" +#: contrib/admin/templates/admin/auth/user/add_form.html:8 +msgid "Enter a username and password." +msgstr "Vložte uživatelské jméno a heslo." -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Heslo" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Heslo (znovu)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Pro ověření vložte stejné heslo znovu." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: contrib/admin/templates/admin/auth/user/change_password.html:28 #, python-format msgid "Enter a new password for the user %(username)s." msgstr "Vložte nové heslo pro uživatele %(username)s." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Heslo" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Heslo (znovu)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Pro ověření vložte stejné heslo znovu." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Přidat %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Odebrat" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" -msgstr "Smazat?" +msgstr "Odstranit?" #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." @@ -841,9 +919,9 @@ msgid "Log in again" msgstr "Přihlaste se znovu" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Změna hesla" @@ -856,29 +934,25 @@ msgstr "Změna hesla byla úspěšná" msgid "Your password was changed." msgstr "Vaše heslo bylo změněno." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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 "" -"Vložte svoje staré heslo a poté dvakrát vložte nové heslo. Tak ověříme, že " -"bylo zadáno správně." +"Vložte svoje současné heslo a poté vložte dvakrát heslo nové. Omezíme tak " +"možnost překlepu." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Staré heslo:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Současné heslo" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Nové heslo:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Nové heslo" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Potvrdit heslo:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Změnit heslo" @@ -915,6 +989,14 @@ msgid "" "correctly." msgstr "Vložte dvakrát nové heslo. Tak ověříme, že bylo zadáno správně." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Nové heslo:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Potvrdit heslo:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Obnovení hesla bylo neúspěšné" @@ -938,7 +1020,7 @@ msgid "" "address you submitted. You should be receiving it shortly." msgstr "" "Poslali jsme vám e-mailem pokyny pro nastavení hesla na vámi zadanou e-" -"mailovou adresu. Za chvíli by mely dorazit do vaší schránky." +"mailovou adresu. Za chvíli by měly dorazit do vaší schránky." #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" @@ -982,169 +1064,88 @@ msgstr "E-mailová adresa:" msgid "Reset my password" msgstr "Obnovit heslo" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Všechna data" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "%s: vybrat" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "Vyberte položku %s ke změně" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "web" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "šablona" -#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60 -#: contrib/admindocs/views.py:62 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "tag:" -#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93 -#: contrib/admindocs/views.py:95 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "filtr:" -#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157 -#: contrib/admindocs/views.py:159 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "pohled (view):" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "Aplikace %r nenalezena" -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "Model %(model_name)r v aplikaci %(app_label)r nenalezen" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" -msgstr "související objekt `%(app_label)s.%(data_type)s`" +msgstr "související položka `%(app_label)s.%(data_type)s`" -#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:228 -#: contrib/admindocs/views.py:242 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "model:" -#: contrib/admindocs/views.py:237 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" -msgstr "související objekty `%(app_label)s.%(object_name)s`" +msgstr "související položky `%(app_label)s.%(object_name)s`" -#: contrib/admindocs/views.py:242 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "Vše: %s" -#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "Počet: %s" -#: contrib/admindocs/views.py:252 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" -msgstr "Pole na objektech %s" +msgstr "Pole položek typu %s" -#: contrib/admindocs/views.py:315 contrib/admindocs/views.py:326 -#: contrib/admindocs/views.py:328 contrib/admindocs/views.py:334 -#: contrib/admindocs/views.py:335 contrib/admindocs/views.py:337 -msgid "Integer" -msgstr "Celé číslo" - -#: contrib/admindocs/views.py:316 -msgid "Boolean (Either True or False)" -msgstr "Boolean (buď Ano (True), nebo Ne (False))" - -#: contrib/admindocs/views.py:317 contrib/admindocs/views.py:336 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Řetězec (max. %(max_length)s znaků)" - -#: contrib/admindocs/views.py:318 -msgid "Comma-separated integers" -msgstr "Celá čísla oddělená čárkou" - -#: contrib/admindocs/views.py:319 -msgid "Date (without time)" -msgstr "Datum (bez času)" - -#: contrib/admindocs/views.py:320 -msgid "Date (with time)" -msgstr "Datum (s časem)" - -#: contrib/admindocs/views.py:321 -msgid "Decimal number" -msgstr "Desetinné číslo" - -#: contrib/admindocs/views.py:322 -msgid "E-mail address" -msgstr "E-mailová adresa" - -#: contrib/admindocs/views.py:323 contrib/admindocs/views.py:324 -#: contrib/admindocs/views.py:327 -msgid "File path" -msgstr "Cesta k souboru" - -#: contrib/admindocs/views.py:325 -msgid "Floating point number" -msgstr "Číslo s pohyblivou řádovou čárkou" - -#: contrib/admindocs/views.py:329 contrib/comments/models.py:60 -msgid "IP address" -msgstr "Adresa IP" - -#: contrib/admindocs/views.py:331 -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (buď Ano (True), Ne (False) nebo Nic (None))" - -#: contrib/admindocs/views.py:332 -msgid "Relation to parent model" -msgstr "Vztah k rodičovskému modelu" - -#: contrib/admindocs/views.py:333 -msgid "Phone number" -msgstr "Telefonní číslo" - -#: contrib/admindocs/views.py:338 -msgid "Text" -msgstr "Text" - -#: contrib/admindocs/views.py:339 -msgid "Time" -msgstr "Čas" - -#: contrib/admindocs/views.py:340 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:341 -msgid "U.S. state (two uppercase letters)" -msgstr "Stát v USA (dvě velká písmena)" - -#: contrib/admindocs/views.py:342 -msgid "XML text" -msgstr "XML text" - -#: contrib/admindocs/views.py:368 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" -msgstr "%s pravděpodobně není objekt typu urlpattern" +msgstr "Objekt %s patrně není typu urlpattern." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" @@ -1167,13 +1168,12 @@ msgstr "" "\n" "

      Pro nainstalování bookmarkletů, přetáhněte odkaz na vaše " "záložky (oblíbené),\n" -"nebo klikněte pravým tlačítkem na odkaz a přidejte ho k vašim záložkám " +"nebo klepněte pravým tlačítkem na odkaz a přidejte ho k vašim záložkám " "(oblíbeným). Nyní můžete\n" "zvolit bookmarklet z libovolné stránky. Poznámka: Některé tyto\n" "bookmarklety vyžadují, abyste prohlížel(a) stránky z počítače, který je " "nastaven jako\n" -"\"\"interní\" (promluvte si s vaším administrátorem, jestli si nejste " -"jisti,\n" +"\"\"interní\" (promluvte si s vaším správcem, jestli si nejste jisti,\n" "zda je váš počítač \"interní\").

      \n" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 @@ -1190,91 +1190,88 @@ msgstr "" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 msgid "Show object ID" -msgstr "Ukázat id objektu" +msgstr "Ukázat id položky" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 msgid "" "Shows the content-type and unique ID for pages that represent a single " "object." msgstr "" -"Ukáže content-type a unikátní ID stránek, reprezentujících jediný objekt." +"Zobrazí content-type a unikátní ID stránek reprezentujících jedinou položku." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 msgid "Edit this object (current window)" -msgstr "Upravit tento objekt (ve stávajícím okně)" +msgstr "Upravit tuto položku (ve stávajícím okně)" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "Přepne do prostředí správy pro stránky reprezentující jediný objekt." +msgstr "" +"Přepne do administračního rozhraní stránek reprezentujících jedinou položku." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 msgid "Edit this object (new window)" -msgstr "Upravit tento objekt (v novém okně)" +msgstr "Upravit tuto položku (v novém okně)" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:28 msgid "As above, but opens the admin page in a new window." msgstr "Jako výše, ale otevře prostředí správy v novém okně." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Osobní údaje" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Oprávnění" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Důležitá data" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Skupiny" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Uživatel: přidat" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Změna hesla byla úspěšná." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Heslo pro uživatele %s: změnit" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Požadováno. 30 znaků nebo méně. Pouze alfanumerické znaky (písmena, číslice " -"nebo podtržítka)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Uživatelské jméno" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Tato hodnota musí obsahovat pouze písmena, číslice nebo podtržítka." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Požadováno. 30 znaků nebo méně. Pouze písmena, číslice a znaky @/./+/-/_." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Hodnota může obsahovat pouze písmena, číslice a znaky @/./+/-/_." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Potvrzení hesla" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Uživatel s tímto jménem již existuje." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Hesla se neshodují." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Tento účet je neaktivní." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1282,11 +1279,11 @@ msgstr "" "Váš prohlížeč zřejmě nemá povoleno přijímat cookies, které jsou ale potřeba " "pro přihlášení." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-mail" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1294,119 +1291,117 @@ msgstr "" "K této e-mailové adrese není přiřazen žádný uživatelský účet. Určitě jste " "zde registrováni?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Obnovení hesla na webu %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Nové heslo" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Potvrzení nového hesla" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Staré heslo" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "Vaše staré heslo nebylo vloženo správně. Zkuste to znovu." +msgstr "Vaše současné heslo nebylo vloženo správně. Zkuste to znovu." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "název" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "kódový název" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "oprávnění" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "oprávnění" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "skupina" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "skupiny" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "uživatelské jméno" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Požadováno. 30 znaků nebo méně. Pouze písmena, číslice a znaky @/./+/-/_." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "křestní jméno" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "příjmení" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "e-mailová adresa" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "heslo" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." msgstr "" -"Použijte buď formát \"[algo]$[salt]$[hexdigest]\" nebo formulář pro změnu hesla." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" -msgstr "administrativní přístup" +msgstr "administrační přístup" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "Určuje, zda se uživatel může přihlásit do správy tohoto webu." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "aktivní" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "" -"Určuje, zda bude uživatel považován za aktivního. Toto vypínejte místo " -"mazání účtů." +"Určuje, zda bude uživatel považován za aktivního. Použijte tuto možnost " +"místo odstranění účtů." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "superuživatel" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "" "Určuje, že uživatel má veškerá oprávnění bez jejich explicitního přiřazení." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "poslední přihlášení" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "datum registrace" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1414,39 +1409,81 @@ msgstr "" "Kromě manuálně přidělených oprávnění bude uživatel mít všechna oprávnění pro " "každou skupinu, jejímž je členem." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "uživatelská oprávnění" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "uživatel" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "uživatelé" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "zpráva" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Odhlášeno" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:24 +#: core/validators.py:120 forms/fields.py:427 msgid "Enter a valid e-mail address." msgstr "Vložte platnou e-mailovou adresu." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Obsah" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metadata" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "označen" +msgstr[1] "označeny" +msgstr[2] "označeno" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Označit vybrané komentáře" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "schválen" +msgstr[1] "schváleny" +msgstr[2] "schváleno" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Schválit vybrané komentáře" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "odebrán" +msgstr[1] "odebrány" +msgstr[2] "odebráno" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Odebrat vybrané komentáře" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 komentář byl úspěšně %(action)s." +msgstr[1] "%(count)s komentáře byly úspěšně %(action)s." +msgstr[2] "%(count)s komentářů bylo úspěšně %(action)s." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1458,7 +1495,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Poslední komentáře na webu %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Jméno" @@ -1466,12 +1502,16 @@ msgstr "Jméno" msgid "Email address" msgstr "E-mailová adresa" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1109 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Komentář" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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." @@ -1479,18 +1519,18 @@ msgstr[0] "Mluvte slušně! Slovo %s je zde nepřípustné." msgstr[1] "Mluvte slušně! Slova %s jsou zde nepřípustná." msgstr[2] "Mluvte slušně! Slova %s jsou zde nepřípustná." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "Jestliže do tohoto pole cokoli zadáte, bude komentář považován za spam" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "typ obsahu" #: contrib/comments/models.py:24 msgid "object ID" -msgstr "ID objektu" +msgstr "ID položky" #: contrib/comments/models.py:52 msgid "user's name" @@ -1513,6 +1553,10 @@ msgstr "komentář" msgid "date/time submitted" msgstr "datum a čas byly zaslané" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:904 +msgid "IP address" +msgstr "Adresa IP" + #: contrib/comments/models.py:61 msgid "is public" msgstr "je veřejný" @@ -1582,7 +1626,7 @@ msgstr "značka komentáře" #: contrib/comments/models.py:182 msgid "comment flags" -msgstr "značka komentáře" +msgstr "značky komentáře" #: contrib/comments/templates/comments/approve.html:4 msgid "Approve a comment" @@ -1593,7 +1637,6 @@ msgid "Really make this comment public?" msgstr "Opravdu chcete zveřejnit tento komentář?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Schválit" @@ -1617,11 +1660,6 @@ msgstr "Odebrat komentář" msgid "Really remove this comment?" msgstr "Opravdu chcete odebrat tento komentář?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Odebrat" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Děkujeme za odebrání" @@ -1652,39 +1690,6 @@ msgstr "Odeslat" msgid "Preview" msgstr "Náhled" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Fronta komentářů ke schválení" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Žádné komentáře ke schválení" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "E-mail" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Přihlášený?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "Adresa IP" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Datum vložení" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "ano" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "ne" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Děkujeme za vložení komentáře" @@ -1713,11 +1718,11 @@ msgstr "Komentář odeslat" msgid "or make changes" msgstr "nebo upravit" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "název třídy modelu v Pythonu" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "typy obsahu" @@ -1732,7 +1737,7 @@ msgid "" "This value must contain only letters, numbers, underscores, dashes or " "slashes." msgstr "" -"Tato hodnota musí obsahovat pouze písmena, číslice, podtržítka, pomlčky nebo " +"Hodnota smí obsahovat pouze písmena, číslice, podtržítka, pomlčky nebo " "lomítka." #: contrib/flatpages/admin.py:22 @@ -1779,7 +1784,7 @@ msgstr "statická stránka" msgid "flat pages" msgstr "statické stránky" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1787,6 +1792,39 @@ msgstr "" "Platnost formuláře bohužel vypršela. Pokračujte vyplněním formuláře z této " "stránky." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" +"Základní GIS pole -- mapováno na typ Geometry podle specifikace OpenGIS." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Bod" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Úsek čáry" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Polygon" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Mnohonásobný bod" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Mnohonásobný úsek čáry" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Mnohonásobný polygon" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Kolekce geometrií" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Hodnota geometrie nezadána." @@ -1895,27 +1933,27 @@ msgstr "zítra" msgid "yesterday" msgstr "včera" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." -msgstr "Zadejte poštovní směrovací číslo ve formátu NNNN nebo ANNNNAAA." +msgstr "Zadejte poštovní směrovací číslo ve tvaru NNNN nebo ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." -msgstr "Toto pole musí obsahovat pouze číslice." +msgstr "Pole smí obsahovat pouze číslice." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." -msgstr "Toto pole musí obsahovat 7 nebo 8 číslic." - -#: contrib/localflavor/ar/forms.py:79 -msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." -msgstr "" -"Zadejte platné identifikační číslo CUIT ve formátu XX-XXXXXXXX-X nebo " -"XXXXXXXXXXXX" +msgstr "Pole smí obsahovat jen 7 nebo 8 číslic." #: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "" +"Zadejte platné identifikační číslo CUIT ve tvaru XX-XXXXXXXX-X nebo " +"XXXXXXXXXXXX" + +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Neplatné CUIT" @@ -1955,57 +1993,57 @@ msgstr "Vorarlbersko" msgid "Vienna" msgstr "Vídeň" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." -msgstr "Zadejte poštovní směrovací číslo ve formátu XXXX." +msgstr "Zadejte poštovní směrovací číslo ve tvaru XXXX." #: contrib/localflavor/at/forms.py:48 msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." -msgstr "Zadejte platné rodné číslo (ASSN) ve formátu XXXX XXXXXX." +msgstr "Zadejte platné rodné číslo (ASSN) ve tvaru XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Zadejte čtyřmístné poštovní směrovací číslo." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." -msgstr "Zadejte poštovní směrovací číslo ve formátu XXXXXX-XXX." +msgstr "Zadejte poštovní směrovací číslo ve tvaru XXXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." -msgstr "Telefonní číslo musí být ve formátu XX-XXXX-XXXX." +msgstr "Telefonní číslo smí být pouze ve tvaru XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "Neplatný brazilský stát. Vyberte jeden z nabízených států." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Neplatné číslo CPF." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." -msgstr "Toto pole musí obsahovat nejvýše 11 číslic nebo 14 znaků." +msgstr "Pole smí obsahovat nejvýše 11 číslic nebo 14 znaků." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "Neplatné číslo CNPJ." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" -msgstr "Toto pole musí obsahovat nejméně 14 číslic." +msgstr "Pole smí obsahovat nejméně 14 číslic." -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." -msgstr "Zadejte poštovní směrovací číslo ve formátu XXX XXX." +msgstr "Zadejte poštovní směrovací číslo ve tvaru XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" -"Zadejte platné kanadské číslo soc. pojištění (SID) ve formátu XXX-XXX-XXX." +"Zadejte platné kanadské číslo soc. pojištění (SID) ve tvaru XXX-XXX-XXX." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -2111,23 +2149,23 @@ msgstr "Zug" msgid "Zurich" msgstr "Curych" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." msgstr "" "Zadejte platné švýcarské identifikační číslo nebo číslo cestovního pasu ve " -"formátu X1234567<0 nebo 1234567890." +"tvaru X1234567<0 nebo 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Zadejte platné chilské RUT." -#: contrib/localflavor/cl/forms.py:30 -msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." -msgstr "Zadejte platné chilské RUT ve formátu XX.XXX.XXX-X." - #: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Zadejte platné chilské RUT ve tvaru XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Neplatné RUT." @@ -2187,23 +2225,23 @@ msgstr "Zlínský kraj" msgid "Moravian-Silesian Region" msgstr "Moravskoslezský kraj" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." -msgstr "Zadejte poštovní směrovací číslo ve formátu XXXXX nebo XXX XX." - -#: contrib/localflavor/cz/forms.py:47 -msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." -msgstr "Zadejte rodné číslo ve formátu XXXXXX/XXXX nebo XXXXXXXXXX." +msgstr "Zadejte poštovní směrovací číslo ve tvaru XXXXX nebo XXX XX." #: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "Zadejte rodné číslo ve tvaru XXXXXX/XXXX nebo XXXXXXXXXX." + +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "Neplatný nepovinný parametr Gender, platné hodnoty jsou 'f' a 'm'." -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Zadejte platné rodné číslo." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Zadejte platné IČ." @@ -2271,17 +2309,17 @@ msgstr "Šlesvicko-Holštýnsko" msgid "Thuringia" msgstr "Durynsko" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." -msgstr "Zadejte poštovní směrovací číslo ve formátu XXXXX." +msgstr "Zadejte poštovní směrovací číslo ve tvaru XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." msgstr "" -"Zadejte platné německé identifikační číslo ve formátu XXXXXXXXXXX-XXXXXXX-" +"Zadejte platné německé identifikační číslo ve tvaru XXXXXXXXXXX-XXXXXXX-" "XXXXXXX-X." #: contrib/localflavor/es/es_provinces.py:5 @@ -2551,80 +2589,511 @@ msgstr "Navarra" msgid "Valencian Community" msgstr "Valencie" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." -msgstr "Zadejte platné poštovní směrovací číslo ve formátu 01XXX - 52XXX." +msgstr "Zadejte platné poštovní směrovací číslo ve tvaru 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." msgstr "" -"Zadejte platné telefonní číslo v jednom z formátů: 6XXXXXXXX, 8XXXXXXXX nebo " +"Zadejte platné telefonní číslo v jednom ze tvarů 6XXXXXXXX, 8XXXXXXXX nebo " "9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Zadejte platné hodnoty NIF, NIE nebo CIF." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Zadejte platné hodnoty NIF nebo NIE." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Neplatný kontrolní součet pro NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Neplatný kontrolní součet pro NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Neplatný kontrolní součet pro CIF." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." -msgstr "" -"Zadejte platné číslo bankovního účtu ve formátu XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Zadejte platné číslo bankovního účtu ve tvaru XXXX-XXXX-XX-XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Neplatný kontrolní součet pro číslo bankovního účtu." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Zadejte platné finské rodné číslo." -#: contrib/localflavor/in_/forms.py:14 -msgid "Enter a zip code in the format XXXXXXX." -msgstr "Zadejte poštovní směrovací číslo ve formátu XXXXXXX." +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Telefonní číslo musí být ve tvaru 0X XX XX XX XX." -#: contrib/localflavor/is_/forms.py:17 -msgid "" -"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." -msgstr "Zadejte platné islandské identifikační číslo ve formátu XXXXXX-XXXX." +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Zadejte platné poštovní směrovací číslo." + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Zadejte platné telefonní číslo" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Vložte platné číslo poznávací značky vozu" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Vložte platné číslo NIK/KTP" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Jawa Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Jawa Tengah" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Jawa Timur" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Barat" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Selatan" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Tengah" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Timur" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Kepulauan Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Maluku" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Maluku Utara" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara Barat" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara Timur" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Barat" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Sulawesi Barat" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi Selatan" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi Tengah" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi Tenggara" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi Utara" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatera Barat" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera Selatan" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera Utara" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps Consulate" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Federální vláda" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wicklow" + +#: contrib/localflavor/in_/forms.py:15 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "Zadejte poštovní směrovací číslo ve tvaru XXXXXXX." #: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Zadejte platné islandské identifikační číslo ve tvaru XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Neplatné islandské identifikační číslo." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Zadejte platné poštovní směrovací číslo." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Zadejte platné číslo SSN." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Zadejte platné daňové identifikační číslo." #: contrib/localflavor/jp/forms.py:16 msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." -msgstr "Zadejte poštovní směrovací číslo ve formátu XXXXXXX nebo XXX-XXXX." +msgstr "Zadejte poštovní směrovací číslo ve tvaru XXXXXXX nebo XXX-XXXX." #: contrib/localflavor/jp/jp_prefectures.py:4 msgid "Hokkaido" @@ -2814,6 +3283,10 @@ msgstr "Kagošima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Vložte platné kuvajtské občanské identifikační číslo" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2942,15 +3415,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Zadejte platné poštovní směrovací číslo" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Zadejte platné telefonní číslo" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Zadejte platné číslo SoFi" @@ -3002,17 +3471,17 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Jižní Holandsko" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Zadejte platné norské číslo sociálního pojištěni (SSN)." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." -msgstr "Toto pole musí obsahovat 8 číslic." +msgstr "Pole musí obsahovat 8 číslic." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." -msgstr "Toto pole musí obsahovat 11 číslic." +msgstr "Pole musí obsahovat 11 číslic." #: contrib/localflavor/pl/forms.py:38 msgid "National Identification Number consists of 11 digits." @@ -3026,7 +3495,7 @@ msgstr "Neplatný kontrolní součet pro Národní identifikační číslo." msgid "" "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." msgstr "" -"Zadejte daňové identifikační číslo (NIP) ve formátu XXX-XXX-XX-XX nebo XX-XX-" +"Zadejte daňové identifikační číslo (NIP) ve tvaru XXX-XXX-XX-XX nebo XX-XX-" "XXX-XXX." #: contrib/localflavor/pl/forms.py:72 @@ -3043,7 +3512,7 @@ msgstr "Neplatný kontrolní součet pro identifikační číslo podnikatele (RE #: contrib/localflavor/pl/forms.py:148 msgid "Enter a postal code in the format XX-XXX." -msgstr "Zadejte poštovní směrovací číslo ve formátu XX-XXX." +msgstr "Zadejte poštovní směrovací číslo ve tvaru XX-XXX." #: contrib/localflavor/pl/pl_voivodeships.py:8 msgid "Lower Silesia" @@ -3109,6 +3578,14 @@ msgstr "Velkopolské vojvodství" msgid "West Pomerania" msgstr "Západopomořanské vojvodství" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Zadejte poštovní směrovací číslo ve tvaru XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Telefonní číslo musí mít 9 číslo nebo začínat + či 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Zadejte platné CIF." @@ -3119,15 +3596,115 @@ msgstr "Zadejte platné CNP." #: contrib/localflavor/ro/forms.py:141 msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" -msgstr "Zadejte platné IBAN ve formátu ROXX-XXXX-XXXX-XXXX-XXXX-XXXX." +msgstr "Zadejte platné IBAN ve tvaru ROXX-XXXX-XXXX-XXXX-XXXX-XXXX." #: contrib/localflavor/ro/forms.py:171 msgid "Phone numbers must be in XXXX-XXXXXX format." -msgstr "Telefonní číslo musí být ve formátu XXXX-XXXXXX." +msgstr "Telefonní číslo musí být ve tvaru XXXX-XXXXXX." #: contrib/localflavor/ro/forms.py:194 msgid "Enter a valid postal code in the format XXXXXX" -msgstr "Zadejte platné poštovní směrovací číslo ve formátu XXXXXX." +msgstr "Zadejte platné poštovní směrovací číslo ve tvaru XXXXXX." + +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Vložte platné číslo švédské organizace." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Vložte platné švédské osobní identifikační číslo." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Koordinační čísla nejsou povolena." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Vložte švédské poštovní směrovací číslo ve tvaru XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stockholm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" @@ -3761,19 +4338,43 @@ msgstr "Skotsko" msgid "Wales" msgstr "Wales" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." -msgstr "Zadejte poštovní směrovací číslo ve formátu XXXXX nebo XXXXX-XXXX." +msgstr "Zadejte poštovní směrovací číslo ve tvaru XXXXX nebo XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Telefonní číslo musí být ve tvaru XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." -msgstr "Zadejte platné osobní číslo (U.S. SSN) ve formátu XXX-XX-XXXX." +msgstr "Zadejte platné osobní číslo (U.S. SSN) ve tvaru XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Vložte stát USA nebo teritorium." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Stát v USA (dvě velká písmena)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Telefonní číslo" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Vložte platné číslo CI ve tvaru X.XXX.XXX-X,XXXXXXX-X nebo XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Vložte platné číslo CI." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Zadejte platné jihoafrické identifikační číslo" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Zadejte platné jihoafrické poštovní směrovací číslo" @@ -3813,6 +4414,10 @@ msgstr "Severozápadní provincie" msgid "Western Cape" msgstr "Západní Kapsko" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "opožděně vyhodnocená zpráva" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "přesměrovat z" @@ -3876,214 +4481,320 @@ msgstr "zobrazený název" msgid "sites" msgstr "weby" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Tato hodnota musí být celé číslo." - -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Tato hodnota musí být buď Ano (True), nebo Ne (False)." - -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Toto pole nemůže být prázdné (null)." - -#: db/models/fields/__init__.py:443 -msgid "Enter only digits separated by commas." -msgstr "Vložte pouze číslice oddělené čárkami." - -#: db/models/fields/__init__.py:474 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Vložte platné datum ve formátu RRRR-MM-DD." - -#: db/models/fields/__init__.py:483 -#, python-format -msgid "Invalid date: %s" -msgstr "Neplatné datum: %s" - -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." -msgstr "Vložte platné datum a čas ve formátu RRRR-MM-DD HH:MM[:ss[.uuuuuu]]." - -#: db/models/fields/__init__.py:601 -msgid "This value must be a decimal number." -msgstr "Tato hodnota musí být desetinné číslo." - -#: db/models/fields/__init__.py:686 -msgid "This value must be a float." -msgstr "Tato hodnota musí být desetinné číslo." - -#: db/models/fields/__init__.py:746 -msgid "This value must be either None, True or False." -msgstr "Tato hodnota musí být buď Nic (None), Ano (True) nebo Ne (False)." - -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 -msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." -msgstr "Vložte platný čas ve formátu HH:MM[:ss[.uuuuuu]]" - -#: db/models/fields/related.py:792 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Výběr více než jedné položky je možný přidržením klávesy \"Control\" (nebo " -"\"Command\" na Macu)." - -#: db/models/fields/related.py:870 -#, 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] "Vložte platné ID objektu %(self)s. Hodnota %(value)r je neplatná." -msgstr[1] "Vložte platné ID objektu %(self)s. Hodnoty %(value)r jsou neplatné." -msgstr[2] "Vložte platné ID objektu %(self)s. Hodnoty %(value)r jsou neplatné." - -#: forms/fields.py:54 -msgid "This field is required." -msgstr "Toto pole je povinné." - -#: forms/fields.py:55 +#: core/validators.py:20 forms/fields.py:66 msgid "Enter a valid value." msgstr "Vložte platnou hodnotu." -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Délka této hodnoty má být nejvýše %(max)d znaků, ale nyní je %(length)d." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Délka této hodnoty má být nejméně %(min)d znaků, ale nyní je %(length)d." - -#: forms/fields.py:166 -msgid "Enter a whole number." -msgstr "Vložte celé číslo." - -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Tato hodnota musí být menší nebo rovna %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Tato hodnota musí být větší nebo rovna %s." - -#: forms/fields.py:195 forms/fields.py:224 -msgid "Enter a number." -msgstr "Vložte číslo." - -#: forms/fields.py:227 -#, python-format -msgid "Ensure that there are no more than %s digits in total." -msgstr "Tato hodnota nesmí celkem mít více než %s cifer." - -#: forms/fields.py:228 -#, python-format -msgid "Ensure that there are no more than %s decimal places." -msgstr "Tato hodnota nesmí mít za desetinnou čárkou více než %s cifer." - -#: forms/fields.py:229 -#, python-format -msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "Tato hodnota nesmí mít před desetinnou čárkou více než %s cifer." - -#: forms/fields.py:288 forms/fields.py:863 -msgid "Enter a valid date." -msgstr "Vložte platné datum." - -#: forms/fields.py:322 forms/fields.py:864 -msgid "Enter a valid time." -msgstr "Vložte platný čas." - -#: forms/fields.py:361 -msgid "Enter a valid date/time." -msgstr "Vložte platné datum a čas." - -#: forms/fields.py:447 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Soubor nebyl odeslán. Zkontrolujte parametr \"encoding type\" formuláře." - -#: forms/fields.py:448 -msgid "No file was submitted." -msgstr "Žádný soubor nebyl odeslán." - -#: forms/fields.py:449 -msgid "The submitted file is empty." -msgstr "Odeslaný soubor je prázdný." - -#: forms/fields.py:450 -#, python-format -msgid "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Délka názvu souboru má být nejvýše %(max)d znaků, ale nyní je %(length)d." - -#: forms/fields.py:483 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Nahrajte platný obrázek. Odeslaný soubor buď nebyl obrázek nebo byl poškozen." - -#: forms/fields.py:544 +#: core/validators.py:87 forms/fields.py:528 msgid "Enter a valid URL." msgstr "Vložte platnou adresu URL." -#: forms/fields.py:545 +#: core/validators.py:89 forms/fields.py:529 msgid "This URL appears to be a broken link." msgstr "Tato adresa URL je zřejmě neplatný odkaz." -#: forms/fields.py:625 forms/fields.py:703 -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Vyberte platnou možnost, \"%(value)s\" není k dispozici." - -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:988 -msgid "Enter a list of values." -msgstr "Vložte seznam hodnot." - -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Vložte platnou adresu typu IPv4." - -#: forms/fields.py:902 +#: core/validators.py:123 forms/fields.py:877 msgid "" "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." msgstr "" "Vložte platný identifikátor složený pouze z písmen, čísel, podtržítek a " "pomlček." -#: forms/formsets.py:271 forms/formsets.py:273 -msgid "Order" -msgstr "Pořadí" +#: core/validators.py:126 forms/fields.py:870 +msgid "Enter a valid IPv4 address." +msgstr "Vložte platnou adresu typu IPv4." -#: forms/models.py:367 +#: core/validators.py:129 db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "Vložte pouze číslice oddělené čárkami." + +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Hodnota musí být %(limit_value)s (nyní je %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:204 forms/fields.py:256 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Hodnota musí být menší nebo rovna %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Hodnota musí být větší nebo rovna %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Hodnota musí mít alespoň %(limit_value)d znaků, ale nyní jich má %" +"(show_value)d." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Hodnota smí mít nejvýše %(limit_value)d znaků, ale nyní jich má %(show_value)" +"d." + +#: db/models/base.py:823 #, python-format msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." msgstr "" "Pole %(field_name)s musí být unikátní testem %(lookup)s pole %(date_field)s." -#: forms/models.py:381 forms/models.py:389 +#: db/models/base.py:838 db/models/base.py:846 #, python-format msgid "%(model_name)s with this %(field_label)s already exists." msgstr "" "Položka %(model_name)s s touto hodnotou v poli %(field_label)s již existuje." -#: forms/models.py:581 +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Hodnota %r není platnou volbou." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Pole nemůže být null." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Pole nemůže být prázdné." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Pole typu: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:860 +#: db/models/fields/__init__.py:969 db/models/fields/__init__.py:980 +#: db/models/fields/__init__.py:1007 +msgid "Integer" +msgstr "Celé číslo" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:858 +msgid "This value must be an integer." +msgstr "Hodnota musí být celé číslo." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Hodnota musí být buď Ano (True) nebo Ne (False)." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Pravdivost (buď Ano (True), nebo Ne (False))" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:990 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Řetězec (max. %(max_length)s znaků)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Celá čísla oddělená čárkou" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Datum (bez času)" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Vložte platné datum ve tvaru RRRR-MM-DD." + +#: db/models/fields/__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "Neplatné datum: %s" + +#: db/models/fields/__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "Vložte platné datum a čas ve tvaru RRRR-MM-DD HH:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Datum (s časem)" + +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "Hodnota musí být desetinné číslo." + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Desetinné číslo" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "E-mailová adresa" + +#: db/models/fields/__init__.py:807 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Cesta k souboru" + +#: db/models/fields/__init__.py:830 +msgid "This value must be a float." +msgstr "Hodnota musí být desetinné číslo." + +#: db/models/fields/__init__.py:832 +msgid "Floating point number" +msgstr "Číslo s pohyblivou řádovou čárkou" + +#: db/models/fields/__init__.py:891 +msgid "Big (8 byte) integer" +msgstr "Velké číslo (8 bajtů)" + +#: db/models/fields/__init__.py:920 +msgid "This value must be either None, True or False." +msgstr "Hodnota musí být buď Nic (None), Ano (True) nebo Ne (False)." + +#: db/models/fields/__init__.py:922 +msgid "Boolean (Either True, False or None)" +msgstr "Pravdivost (buď Ano (True), Ne (False) nebo Nic (None))" + +#: db/models/fields/__init__.py:1013 +msgid "Text" +msgstr "Text" + +#: db/models/fields/__init__.py:1029 +msgid "Time" +msgstr "Čas" + +#: db/models/fields/__init__.py:1033 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "Vložte platný čas ve tvaru HH:MM[:ss[.uuuuuu]]" + +#: db/models/fields/__init__.py:1125 +msgid "XML text" +msgstr "XML text" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Položka typu %(model)s s primárním klíčem %(pk)r neexistuje." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Cizí klíč (typ určen pomocí souvisejícího pole)" + +#: db/models/fields/related.py:919 +msgid "One-to-one relationship" +msgstr "Vazba jedna-jedna" + +#: db/models/fields/related.py:981 +msgid "Many-to-many relationship" +msgstr "Vazba mnoho-mnoho" + +#: db/models/fields/related.py:1001 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Výběr více než jedné položky je možný přidržením klávesy \"Control\" (nebo " +"\"Command\" na Macu)." + +#: db/models/fields/related.py:1062 +#, 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] "Vložte platné ID položky %(self)s. Hodnota %(value)r je neplatná." +msgstr[1] "Vložte platné ID položky %(self)s. Hodnoty %(value)r jsou neplatné." +msgstr[2] "Vložte platné ID položky %(self)s. Hodnoty %(value)r jsou neplatné." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Pole je povinné." + +#: forms/fields.py:203 +msgid "Enter a whole number." +msgstr "Vložte celé číslo." + +#: forms/fields.py:234 forms/fields.py:255 +msgid "Enter a number." +msgstr "Vložte číslo." + +#: forms/fields.py:258 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Hodnota nesmí celkem mít více než %s cifer." + +#: forms/fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Hodnota nesmí mít za desetinnou čárkou více než %s cifer." + +#: forms/fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Hodnota nesmí mít před desetinnou čárkou více než %s cifer." + +#: forms/fields.py:322 forms/fields.py:837 +msgid "Enter a valid date." +msgstr "Vložte platné datum." + +#: forms/fields.py:350 forms/fields.py:838 +msgid "Enter a valid time." +msgstr "Vložte platný čas." + +#: forms/fields.py:376 +msgid "Enter a valid date/time." +msgstr "Vložte platné datum a čas." + +#: forms/fields.py:434 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Soubor nebyl odeslán. Zkontrolujte parametr \"encoding type\" formuláře." + +#: forms/fields.py:435 +msgid "No file was submitted." +msgstr "Žádný soubor nebyl odeslán." + +#: forms/fields.py:436 +msgid "The submitted file is empty." +msgstr "Odeslaný soubor je prázdný." + +#: forms/fields.py:437 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" +"Délka názvu souboru má být nejvýše %(max)d znaků, ale nyní je %(length)d." + +#: forms/fields.py:472 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Nahrajte platný obrázek. Odeslaný soubor buď nebyl obrázek nebo byl poškozen." + +#: forms/fields.py:595 forms/fields.py:670 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Vyberte platnou možnost, \"%(value)s\" není k dispozici." + +#: forms/fields.py:671 forms/fields.py:733 forms/models.py:1002 +msgid "Enter a list of values." +msgstr "Vložte seznam hodnot." + +#: forms/formsets.py:298 forms/formsets.py:300 +msgid "Order" +msgstr "Pořadí" + +#: forms/models.py:562 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Opravte duplicitní data v poli %(field)s." -#: forms/models.py:585 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "Opravte duplicitní data v poli %(field)s, které musí být unikátní." -#: forms/models.py:591 +#: forms/models.py:572 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " @@ -4092,34 +4803,34 @@ msgstr "" "Opravte duplicitní data v poli %(field_name)s, které musí být unikátní " "testem %(lookup)s pole %(date_field)s." -#: forms/models.py:599 +#: forms/models.py:580 msgid "Please correct the duplicate values below." msgstr "Odstraňte duplicitní hodnoty níže." -#: forms/models.py:852 +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "" "Cizí klíč typu inline neodpovídá primárnímu klíči v rodičovské položce." -#: forms/models.py:915 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Vyberte platnou možnost. Tato není k dispozici." -#: forms/models.py:989 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Vyberte platnou možnost, \"%s\" není k dispozici." -#: forms/models.py:991 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "Hodnota \"%s\" není platný primární klíč." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "ano, ne, možná" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" @@ -4127,20 +4838,20 @@ msgstr[0] "%(size)d bajt" msgstr[1] "%(size)d bajty" msgstr[2] "%(size)d bajtů" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4346,7 +5057,7 @@ msgstr "listopad" msgid "Dec." msgstr "prosinec" -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "nebo" @@ -4406,33 +5117,37 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "j. n. Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j. n. Y H:i" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "j. F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." -msgstr "Záznam typu %(verbose_name)s byl úspěšně vytvořen." +msgstr "Položka typu %(verbose_name)s byla úspěšně vytvořena." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." -msgstr "Záznam typu %(verbose_name)s byl úspěšně aktualizován." +msgstr "Položka typu %(verbose_name)s byla úspěšně aktualizována." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." -msgstr "Záznam typu %(verbose_name)s byl smazán." +msgstr "Položka typu %(verbose_name)s byla odstraněna." diff --git a/django/conf/locale/cs/LC_MESSAGES/djangojs.mo b/django/conf/locale/cs/LC_MESSAGES/djangojs.mo index 1a72a92caf05fd71c178bf1618afc16d277a4d40..8efa6f6e4cfb247d91e4bb15ee7fefe1cb9b302d 100644 GIT binary patch literal 2695 zcmaKtO^g&p6vs=%4;DWVKT!|w0zzQMSybE%E(*J@A}+gO1_*l4n(ntdz0*_GR9BDm zBp%g+l9;Fm#Hbrh%qDL1;7J3C_O1sL4_=MYlQGdNM>YOm&nyr@J5%+ms;;W{f3K?F z{JeSnI||SJ!}2G%73HUEP~l0|DfK9L61*N<02X6wu0B;1p9=`t$yczu;z!C5l za0B@JkQcz~(El4;53a{%N5KuC?DGOB<82T>)kP(CPlB@VDUiTdL7DdnI0k+S%D%sX zvdEx`u+lC-bRQJZU&zRw}5!1vLRmvMei%a{_Eha=)VQt4SodTr@lfZ{;h!G z?_Z$oyAI9?H-J5G6Zk&(8u%i(4Wi`;Wsc~QM|5sP*@AKlis-@g@)6r&S8U!_j$Ep6 zRO()o+feQp4vY4CP(;)1C=x4#SZzYtj3ST3O=7k7$Q@H#x2GKMNXgF8*6o4uXkvf^ z&*A^R+e5nAt*ZTDsP^}C6zf*Zv^7-|I%X4UhlU9_RugS&QzlJ5>hi^2T)s%zluKgP zjgYGvs8nosY%CCrl_GBWdtaqky-k zJ4l<5f;b8~q#A83ZDepXr)gWFnQsylIG%!Mm#ZUul>m!MZ3d z#maCkd;@XbUMY@p_Enn2@#BUJB0F=4FjLkKl*cg{#$Fh7Tyfbz*&rmBiOS5t;G14sYf>7@t~T8yxzzN%)OUBI_dIT%)su}g6-b(&m&hj!!$ zC)WAObUGh}l>^y)T4~xkjm*w8D-({joMB~Bd#=;&+Gwp(8>`gz(CAqGp+|PscGqf{ zSUJMINcOz?yoYyUU2Wu9o%%}CX_Lma4JALg6+ zOwV(r$+}yoi9QGIk?DiePhRq1v|1aPu*S2&&Upffo=^D)lUPS)uUs#evL8R%oT`jn znkNe8*j1i1femq?>NM7h{K#yaIUQG~tm~$AGD+D@#~<2DgXXvyA0MU1sYZCaZyOyh}YtwUDNO1xGwIKhG z1=P~OvERGIV*!3=v14>#C0tq$a|rrz3>unEQj`8QdBQ0wEUS1igY zFtS8>0s7sQv(RITMI;vO9op1}S7L{JtXEEB`;H}i$h~3-{~BphEaOD5e)T*Zm1`E^ zJHM(~q+l2dZJLFc9@^E#*iwfwS;UAKmBufVCU*?tiskBHXP9P0j1!ajV!2DW;za(2@LLc!B U*kCxZ9r&_l1or`Hn>|<6KO71v?*IS* delta 813 zcmZ9}&ui2`6u|N6+8^sytG3o3(8FAMQZZesF5*cGDweXkY(WJf?M8`flO;)4x-9Ii zg7i{?;HseUBtix8ARYv1nxp@Kh!;V<>A?!(#qW~=#bIAQ^CsE%CX-vEKL$G=hI{WQ z#y(<t$?+t^3GjJ>#mRi!#= zm5CJkY;Jr*X|##b_$NwXS=2CuQs6L_a1y2P0!p0_rEwbzyu>mNkgxJ5v5WEo2^Q$D zo-vU|ugr}%#+e|8LNHzCI>pG%6$^YYd*hKN0cZ07$lY8H0lh?z^zN!bx6q=wBR zr>%AnyG$-eDW~x7c=04R+Y>+RJ3V5R4)H5mdZKvzNb!JGw5<4i|MUGvb&w{WugY21 zt=W;9^22Dc;iXCZa^P4e(c__-U0SePcC`MenI(=o=(j@DqYdX7|u3aaecEiYT*fm`a{LuBB udA1ba%#R(M(PdrL6@3aTY-Y|0B1ea=wsrl6Tlb`mR@Hi%wCs32Kl2;oB7&a) diff --git a/django/conf/locale/cs/LC_MESSAGES/djangojs.po b/django/conf/locale/cs/LC_MESSAGES/djangojs.po index adcc0a02c..e4f06a96e 100644 --- a/django/conf/locale/cs/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/cs/LC_MESSAGES/djangojs.po @@ -1,48 +1,88 @@ # Translation of djangojs.po to Czech # Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the DJANGO package. -# Radek Svarz , 2005. +# Radek Svarz , 2005, +# Vlada Macek , 2010. # msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-20 12:52+0200\n" +"POT-Creation-Date: 2010-08-06 18:35+0200\n" +"PO-Revision-Date: 2010-08-06 18:34+0100\n" +"Last-Translator: Vlada Macek \n" "Language-Team: Czech\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==1 ? 0 : n>1 && n<5 ? 1 : 2;\n" -#: contrib/admin/media/js/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" -msgstr "Dostupná %s" +msgstr "Dostupné položky: %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Vybrat vše" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Přidat" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "Odebrat" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" -msgstr "Vybraná %s" +msgstr "Vybrané položky: %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "Vyberte si a klikněte " -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" -msgstr "Vymazat vše" +msgstr "Odebrat vše" + +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "Vybrána je %(sel)s položka z celkem %(cnt)s." +msgstr[1] "Vybrány jsou %(sel)s položky z celkem %(cnt)s." +msgstr[2] "Vybraných je %(sel)s položek z celkem %(cnt)s." + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"V jednotlivých polích jsou neuložené změny, které budou ztraceny, pokud " +"operaci provedete." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Byla vybrána operace, ale dosud nedošlo k uložení změn jednotlivých polí. " +"Uložíte klepnutím na tlačítko OK. Pak bude třeba operaci spustit znovu." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Byla vybrána operace a jednotlivá pole nejsou změněná. Patrně hledáte " +"tlačítko Provést spíše než Uložit." #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 @@ -50,69 +90,70 @@ msgid "" "January February March April May June July August September October November " "December" msgstr "" -"Leden Únor Březen Duben Květen Červen Červenec Srpen Září Říjen Listopad " -"Prosinec" +"leden únor březen duben květen červen červenec srpen září říjen listopad " +"prosinec" #: contrib/admin/media/js/calendar.js:25 msgid "S M T W T F S" -msgstr "N P U S C P S" +msgstr "n p ú s č p s" + +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Zobrazit" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Skrýt" #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "Neděle Pondělí Úterý Středa Čtvrtek Pátek Sobota" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "Ukázat" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "Skrýt" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Nyní" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "Hodiny" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Vyberte čas" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "Půlnoc" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." -msgstr "6 ráno" +msgstr "6h ráno" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "Poledne" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Storno" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "Dnes" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Kalendář" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "Včera" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "Zítra" diff --git a/django/conf/locale/cs/__init__.py b/django/conf/locale/cs/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/cs/formats.py b/django/conf/locale/cs/formats.py new file mode 100644 index 000000000..bf90c1a64 --- /dev/null +++ b/django/conf/locale/cs/formats.py @@ -0,0 +1,32 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j. F Y' +TIME_FORMAT = 'G:i:s' +DATETIME_FORMAT = 'j. F Y G:i:s' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'd.m.Y' +SHORT_DATETIME_FORMAT = 'd.m.Y G:i:s' +FIRST_DAY_OF_WEEK = 1 # Monday +DATE_INPUT_FORMATS = ( + '%d.%m.%Y', '%d.%m.%y', # '25.10.2006', '25.10.06' + '%Y-%m-%d', '%y-%m-%d', # '2006-10-25', '06-10-25' + # '%d. %B %Y', '%d. %b. %Y', # '25. October 2006', '25. Oct. 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' + '%d.%m.%Y %H:%M', # '25.10.2006 14:30' + '%d.%m.%Y', # '25.10.2006' + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = ' ' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/cy/__init__.py b/django/conf/locale/cy/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/cy/formats.py b/django/conf/locale/cy/formats.py new file mode 100644 index 000000000..a58d81f47 --- /dev/null +++ b/django/conf/locale/cy/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'd F Y' +TIME_FORMAT = 'g:i:s A' +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +# MONTH_DAY_FORMAT = +SHORT_DATE_FORMAT = 'j M Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +# DECIMAL_SEPARATOR = +# THOUSAND_SEPARATOR = +# NUMBER_GROUPING = diff --git a/django/conf/locale/da/LC_MESSAGES/django.mo b/django/conf/locale/da/LC_MESSAGES/django.mo index 67d6facc4249d36c760748aa9eae4eb9290ce17d..9ce8c9ca55da4f287cd4e70719192b966f4de131 100644 GIT binary patch literal 73100 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\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -19,215 +19,235 @@ msgid "Arabic" msgstr "Arabisk" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "Bengalsk" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "Bulgarsk" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Bengalsk" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Bosnisk" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "Catalansk" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "Tjekkisk" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "Walisisk" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "Dansk" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "Tysk" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "Græsk" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "Engelsk" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 msgid "Spanish" msgstr "Spansk" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "Estisk" - #: conf/global_settings.py:56 msgid "Argentinean Spanish" msgstr "Argentisk spansk" #: conf/global_settings.py:57 +msgid "Estonian" +msgstr "Estisk" + +#: conf/global_settings.py:58 msgid "Basque" msgstr "Baskisk" -#: conf/global_settings.py:58 +#: conf/global_settings.py:59 msgid "Persian" msgstr "Persisk" -#: conf/global_settings.py:59 +#: conf/global_settings.py:60 msgid "Finnish" msgstr "Finsk" -#: conf/global_settings.py:60 +#: conf/global_settings.py:61 msgid "French" msgstr "Fransk" -#: conf/global_settings.py:61 +#: conf/global_settings.py:62 +msgid "Frisian" +msgstr "Frisisk" + +#: conf/global_settings.py:63 msgid "Irish" msgstr "Irsk" -#: conf/global_settings.py:62 +#: conf/global_settings.py:64 msgid "Galician" msgstr "Galicisk" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "Ungarsk" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:65 msgid "Hebrew" msgstr "Hebræisk" -#: conf/global_settings.py:65 +#: conf/global_settings.py:66 msgid "Hindi" msgstr "Hindi" -#: conf/global_settings.py:66 +#: conf/global_settings.py:67 msgid "Croatian" msgstr "Kroatisk" -#: conf/global_settings.py:67 +#: conf/global_settings.py:68 +msgid "Hungarian" +msgstr "Ungarsk" + +#: conf/global_settings.py:69 msgid "Icelandic" msgstr "Islandsk" -#: conf/global_settings.py:68 +#: conf/global_settings.py:70 msgid "Italian" msgstr "Italiensk" -#: conf/global_settings.py:69 +#: conf/global_settings.py:71 msgid "Japanese" msgstr "Japansk" -#: conf/global_settings.py:70 +#: conf/global_settings.py:72 msgid "Georgian" msgstr "Georgisk" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "Koreansk" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:73 msgid "Khmer" msgstr "Khmer" -#: conf/global_settings.py:73 +#: conf/global_settings.py:74 msgid "Kannada" msgstr "Kannada" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "Lettisk" - #: conf/global_settings.py:75 +msgid "Korean" +msgstr "Koreansk" + +#: conf/global_settings.py:76 msgid "Lithuanian" msgstr "Litauisk" -#: conf/global_settings.py:76 +#: conf/global_settings.py:77 +msgid "Latvian" +msgstr "Lettisk" + +#: conf/global_settings.py:78 msgid "Macedonian" msgstr "Makedonsk" -#: conf/global_settings.py:77 +#: conf/global_settings.py:79 msgid "Dutch" msgstr "Hollandsk" -#: conf/global_settings.py:78 +#: conf/global_settings.py:80 msgid "Norwegian" msgstr "Norsk" -#: conf/global_settings.py:79 +#: conf/global_settings.py:81 msgid "Polish" msgstr "Polsk" -#: conf/global_settings.py:80 +#: conf/global_settings.py:82 msgid "Portuguese" msgstr "Portugisisk" -#: conf/global_settings.py:81 +#: conf/global_settings.py:83 msgid "Brazilian Portuguese" msgstr "Brasiliansk portugisisk" -#: conf/global_settings.py:82 +#: conf/global_settings.py:84 msgid "Romanian" msgstr "Rumænsk" -#: conf/global_settings.py:83 +#: conf/global_settings.py:85 msgid "Russian" msgstr "Russisk" -#: conf/global_settings.py:84 +#: conf/global_settings.py:86 msgid "Slovak" msgstr "Slovakisk" -#: conf/global_settings.py:85 +#: conf/global_settings.py:87 msgid "Slovenian" msgstr "Slovensk" -#: conf/global_settings.py:86 +#: conf/global_settings.py:88 +msgid "Albanian" +msgstr "Albansk" + +#: conf/global_settings.py:89 msgid "Serbian" msgstr "Serbisk" -#: conf/global_settings.py:87 +#: conf/global_settings.py:90 +msgid "Serbian Latin" +msgstr "Serbisk (latin)" + +#: conf/global_settings.py:91 msgid "Swedish" msgstr "Svensk" -#: conf/global_settings.py:88 +#: conf/global_settings.py:92 msgid "Tamil" msgstr "Tamil" -#: conf/global_settings.py:89 +#: conf/global_settings.py:93 msgid "Telugu" msgstr "Telugu" -#: conf/global_settings.py:90 +#: conf/global_settings.py:94 msgid "Thai" msgstr "Thai" -#: conf/global_settings.py:91 +#: conf/global_settings.py:95 msgid "Turkish" msgstr "Tyrkisk" -#: conf/global_settings.py:92 +#: conf/global_settings.py:96 msgid "Ukrainian" msgstr "Ukrainsk" -#: conf/global_settings.py:93 +#: conf/global_settings.py:97 +msgid "Vietnamese" +msgstr "Vietnamesisk" + +#: conf/global_settings.py:98 msgid "Simplified Chinese" msgstr "Forenklet kinesisk" -#: conf/global_settings.py:94 +#: conf/global_settings.py:99 msgid "Traditional Chinese" msgstr "Traditionelt kinesisk" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:52 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "%(count)d %(items)s blev slettet." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 +#: contrib/admin/actions.py:59 contrib/admin/options.py:1100 msgid "Are you sure?" msgstr "Er du sikker?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:77 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Slet valgte %(verbose_name_plural)s" @@ -266,19 +286,19 @@ msgstr "Denne måned" msgid "This year" msgstr "Dette år" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "Ja" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "Nej" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "Ukendt" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Handling" @@ -310,104 +330,125 @@ msgstr "logmeddelelse" msgid "log entries" msgstr "logmeddelelser" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:142 contrib/admin/options.py:157 msgid "None" msgstr "Ingen" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:563 #, python-format msgid "Changed %s." msgstr "Ændrede %s." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:563 contrib/admin/options.py:573 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:562 msgid "and" msgstr "og" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:568 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Tilføjede %(name)s \"%(object)s\"." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:572 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Ændrede %(list)s for %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:577 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Slettede %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:581 msgid "No fields changed." msgstr "Ingen felter ændret." -#: contrib/admin/options.py:599 contrib/auth/admin.py:67 +#: contrib/admin/options.py:647 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" blev tilføjet i databasen." -#: contrib/admin/options.py:603 contrib/admin/options.py:636 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:651 contrib/admin/options.py:684 msgid "You may edit it again below." msgstr "Du kan redigere det igen herunder." -#: contrib/admin/options.py:613 contrib/admin/options.py:646 +#: contrib/admin/options.py:661 contrib/admin/options.py:694 #, python-format msgid "You may add another %s below." msgstr "Du kan tilføje endnu en %s herunder." -#: contrib/admin/options.py:634 +#: contrib/admin/options.py:682 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" blev ændret." -#: contrib/admin/options.py:642 +#: contrib/admin/options.py:690 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "%(name)s \"%(obj)s\" blev tilføjet. Du kan redigere det igen herunder." -#: contrib/admin/options.py:773 +#: contrib/admin/options.py:744 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +#: contrib/admin/options.py:762 +msgid "No action selected." +msgstr "Ingen handling valgt." + +#: contrib/admin/options.py:842 #, python-format msgid "Add %s" msgstr "Tilføj %s" -#: contrib/admin/options.py:804 contrib/admin/options.py:1005 +#: contrib/admin/options.py:868 contrib/admin/options.py:1080 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Der findes ikke et %(name)s-objekt med primærnøgle %(key)r." -#: contrib/admin/options.py:861 +#: contrib/admin/options.py:933 #, python-format msgid "Change %s" msgstr "Ret %s" -#: contrib/admin/options.py:905 +#: contrib/admin/options.py:978 msgid "Database error" msgstr "databasefejl" -#: contrib/admin/options.py:941 -#, python-format +#: contrib/admin/options.py:1014 +#, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s %(name)s blev ændret." msgstr[1] "%(count)s %(name)s blev ændret." -#: contrib/admin/options.py:1020 +#: contrib/admin/options.py:1041 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s valgt" +msgstr[1] "Alle %(total_count)s valgt" + +#: contrib/admin/options.py:1046 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 af %(cnt)s valgt" + +#: contrib/admin/options.py:1093 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" blev slettet." -#: contrib/admin/options.py:1057 +#: contrib/admin/options.py:1130 #, python-format msgid "Change history: %s" msgstr "Ændringshistorik: %s" -#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:22 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -415,11 +456,11 @@ msgstr "" "Indtast venligst et korrekt brugernavn og adgangskode. Bemærk, at begge " "felter er versalfølsomme." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Log venligst ind igen, da din session er udløbet." -#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:318 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -427,62 +468,52 @@ msgstr "" "Det ser ud til din browser ikke er indstillet til at acceptere cookies. Slå " "venligst cookies til, genindlæs denne side og prøv igen." -#: contrib/admin/sites.py:308 contrib/admin/sites.py:314 +#: contrib/admin/sites.py:334 contrib/admin/sites.py:340 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Brugernavne kan ikke indeholde tegnet '@'." -#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:337 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Din e-mail-adresse er ikke dit brugernavn. Prøv '%s' i stedet." -#: contrib/admin/sites.py:367 +#: contrib/admin/sites.py:393 msgid "Site administration" msgstr "Website-administration" -#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:407 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Log ind" -#: contrib/admin/sites.py:426 +#: contrib/admin/sites.py:452 #, python-format msgid "%s administration" msgstr "Administration af %s" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Et eller flere %(fieldname)s i %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Et eller flere %(fieldname)s i %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Dato:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Tid:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Nuværende:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Ret:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Slå op" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Tilføj endnu en" @@ -497,17 +528,17 @@ msgstr "Vi beklager, men den ønskede side kunne ikke findes" #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -542,7 +573,20 @@ msgstr "Udfør den valgte handling" #: contrib/admin/templates/admin/actions.html:4 msgid "Go" -msgstr "Kør" +msgstr "Udfør" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "" #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 @@ -550,28 +594,28 @@ msgstr "Kør" msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:27 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Velkommen," -#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentation" -#: contrib/admin/templates/admin/base.html:40 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Skift adgangskode" -#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Log ud" @@ -583,41 +627,42 @@ msgstr "Django website-administration" msgid "Django administration" msgstr "Django administration" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Tilføj" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Historik" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Se på website" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Ret venligst fejlen herunder." msgstr[1] "Ret venligst fejlene herunder." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Tilføj %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filtrer" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Slet" @@ -657,17 +702,17 @@ msgid "" "your account doesn't have permission to delete the following types of " "objects:" msgstr "" -"Hvis du sletter %(object_name)s, vil du også slette relaterede objekter, " -"men din konto har ikke rettigheder til at slette følgende objekttyper:" +"Hvis du sletter %(object_name)s, vil du også slette relaterede objekter, men " +"din konto har ikke rettigheder til at slette følgende objekttyper:" #: contrib/admin/templates/admin/delete_selected_confirmation.html:22 #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" -"Er du sikker på du vil slette de valgte %(object_name)s-objekter? Alle " -"de følgende relaterede objekter vil blive slettet:" +"Er du sikker på du vil slette de valgte %(object_name)s-objekter? Alle de " +"følgende relaterede objekter vil blive slettet:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -730,15 +775,9 @@ msgid "User" msgstr "Bruger" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Funktion" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j. F Y H:i" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -784,7 +823,7 @@ msgstr "Gem og tilføj endnu en" msgid "Save and continue editing" msgstr "Gem og fortsæt med at redigere" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -792,33 +831,39 @@ msgstr "" "Indtast først et brugernavn og en adgangskode. Derefter får du yderligere " "redigeringsmuligheder." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Brugernavn" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Adgangskode" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Adgangskode (igen)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Indtast den samme adgangskode som ovenfor for verifikation." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: contrib/admin/templates/admin/auth/user/change_password.html:28 #, python-format msgid "Enter a new password for the user %(username)s." msgstr "Indtast en ny adgangskode for brugeren %(username)s." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Adgangskode" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Adgangskode (igen)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Indtast den samme adgangskode som ovenfor for verifikation." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Tilføj endnu en %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Fjern" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Slet?" @@ -832,9 +877,9 @@ msgid "Log in again" msgstr "Log ind igen" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Skift adgangskode" @@ -847,7 +892,7 @@ msgstr "Adgangskoden blev ændret" msgid "Your password was changed." msgstr "Din adgangskode blev ændret." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -856,21 +901,17 @@ msgstr "" "din nye adgangskode to gange, så vi kan være sikre på, at den er indtastet " "korrekt." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Gammel adgangskode:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Gammel adgangskode" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Ny adgangskode:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Ny adgangskode" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Bekræft ny adgangskode:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Skift min adgangskode" @@ -909,6 +950,14 @@ msgstr "" "Indtast venligst din nye adgangskode to gange, så vi kan være sikre på, at " "den er indtastet korrekt." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Ny adgangskode:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Bekræft ny adgangskode:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Adgangskoden blev ikke nulstillet" @@ -978,7 +1027,7 @@ msgstr "E-mail-adresse:" msgid "Reset my password" msgstr "Nulstil min adgangskode" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:239 msgid "All dates" msgstr "Alle datoer" @@ -992,11 +1041,11 @@ msgstr "Vælg %s" msgid "Select %s to change" msgstr "Vælg %s, der skal ændres" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "website" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "skabelon" @@ -1056,89 +1105,7 @@ msgstr "antal %s" msgid "Fields on %s objects" msgstr "Felter på %s-objekter" -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 -#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 -#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 -msgid "Integer" -msgstr "Heltal" - -#: contrib/admindocs/views.py:335 -msgid "Boolean (Either True or False)" -msgstr "Boolsk (enten True eller False)" - -#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Streng (op til %(max_length)s)" - -#: contrib/admindocs/views.py:337 -msgid "Comma-separated integers" -msgstr "Kommaseparerede heltal" - -#: contrib/admindocs/views.py:338 -msgid "Date (without time)" -msgstr "Dato (uden tid)" - -#: contrib/admindocs/views.py:339 -msgid "Date (with time)" -msgstr "Dato (med tid)" - -#: contrib/admindocs/views.py:340 -msgid "Decimal number" -msgstr "Decimaltal" - -#: contrib/admindocs/views.py:341 -msgid "E-mail address" -msgstr "E-mail-adresse" - -#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 -#: contrib/admindocs/views.py:346 -msgid "File path" -msgstr "Sti" - -#: contrib/admindocs/views.py:344 -msgid "Floating point number" -msgstr "Flydende-komma-tal" - -#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 -msgid "IP address" -msgstr "IP-adresse" - -#: contrib/admindocs/views.py:350 -msgid "Boolean (Either True, False or None)" -msgstr "Boolsk (True, False eller None)" - -#: contrib/admindocs/views.py:351 -msgid "Relation to parent model" -msgstr "Relation til forældermodel" - -#: contrib/admindocs/views.py:352 -msgid "Phone number" -msgstr "Telefonnummer" - -#: contrib/admindocs/views.py:357 -msgid "Text" -msgstr "Tekst" - -#: contrib/admindocs/views.py:358 -msgid "Time" -msgstr "Tid" - -#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:360 -msgid "U.S. state (two uppercase letters)" -msgstr "Stat (i USA, to store bogstaver)" - #: contrib/admindocs/views.py:361 -msgid "XML text" -msgstr "XML-tekst" - -#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s ser ikke ud til at være et urlpattern-objekt" @@ -1162,15 +1129,12 @@ msgid "" "your computer is \"internal\").

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

      For at installere bookmarklets, træk linket til din " -"bogmærkelinje\n" -" eller højreklik på linket og tilføj det til dine bogmærker. Du kan nu\n" -"markere bookmarkletten fra enhver side på websitet. Bemærk, at nogle af " -"disse \n" -"bookmarkletter kræver, at du ser på websitet fra en computer der opfattes \n" -"som \"intern\" (tal med din systemadministrator, hvis du ikke er sikker på " -"om\n" -"din computer er \"intern\").

      \n" +"

      For at installere bookmarklets, træk linket til din\n" +"bogmærkelinje eller højreklik på linket og tilføj det til dine bogmærker.\n" +"Du kan nu markere bookmarkletten fra enhver side på websitet.\n" +"Bemærk, at nogle af disse bookmarkletter kræver, at du ser på websitet fra\n" +"en computer der opfattes som \"intern\" (tal med din systemadministrator,\n" +"hvis du ikke er sikker på om din computer er \"intern\").

      \n" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 msgid "Documentation for this page" @@ -1214,66 +1178,62 @@ msgstr "Rediger dette objekt (i nyt vindue)" msgid "As above, but opens the admin page in a new window." msgstr "Som ovenfor, men åbner administrationssiden i et nyt vindue." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Personlig information" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Rettigheder" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Vigtige datoer" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Grupper" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Tilføj bruger" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Adgangskoden blev ændret." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Skift adgangskode: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Påkrævet. Højst 30 tegn, kun alfanumeriske tegn (bogstaver og cifre samt " -"understreg)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Brugernavn" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Dette felt må kun indeholde bogstaver og cifre samt understreg." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Påkrævet. Højst 30 tegn. Kun bogstaver og cifre samt @/./+/-/_" + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Dette felt må kun indeholde bogstaver og cifre samt disse tegn: @/./+/-/_" #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Bekræftelse af adgangskode" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "En bruger med dette brugernavn findes allerede." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "De to adgangskoder var ikke identiske." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Denne konto er inaktiv." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1281,11 +1241,11 @@ msgstr "" "Din browser ser ud til ikke at have cookies aktiveret. Cookies er påkrævet " "for at kunne logge ind." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-mail" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1293,73 +1253,71 @@ msgstr "" "Den e-mail-adresse er ikke tilknyttet en konto. Er du sikker på at du har " "registreret dig?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Adgangskode nulstillet på %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Ny adgangskode" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Bekræftelse af ny adgangskode" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Gammel adgangskode" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "" "Din gamle adgangskode blev ikke indtastet korrekt. Indtast den venligst igen." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "navn" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "kodenavn" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "rettighed" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "rettigheder" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "gruppe" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "grupper" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "brugernavn" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Påkrævet. Højst 30 tegn. Kun bogstaver og cifre samt disse tegn: @/./+/-/_" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "fornavn" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "efternavn" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "e-mail-adresse" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "adgangskode" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1367,19 +1325,19 @@ msgstr "" "Brug '[algo]$[salt]$[hexdigest]' eller brug formularen " "til skift af adgangskode." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "admin-status" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "Bestemmer om brugeren kan logge ind på dette administrationswebsite." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "aktiv" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1387,26 +1345,26 @@ msgstr "" "Bestemmer om brugeren skal behandles som aktiv. Fravælg dette frem for at " "slette en konto." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "superbrugerstatus" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "" "Bestemmer at denne bruger har alle rettigheder uden at tildele dem eksplicit." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "sidst logget ind" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "dato for registrering" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1414,39 +1372,77 @@ msgstr "" "Udover de rettigheder, der manuelt er tildelt brugeren, vil denne også få " "alle rettigheder, der er tildelt hver gruppe, brugeren er medlem af." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "Rettigheder" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "bruger" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "brugere" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "meddelelse" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Logget ud" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Indtast en gyldig e-mail-adresse." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Indhold" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metadata" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "Markeret" +msgstr[1] "Markeret" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Marker valgte kommentarer" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "Godkendt" +msgstr[1] "Godkendt" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Godkend valgte kommentarer" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "fjernet" +msgstr[1] "fjernet" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Fjern valgte kommentarer" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 kommentar blev %(action)s" +msgstr[1] "%(count)s kommentarer blev %(action)s." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1458,7 +1454,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Seneste kommentarer på %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Navn" @@ -1466,26 +1461,30 @@ msgstr "Navn" msgid "Email address" msgstr "E-mail-adresse" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Kommentar" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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] "Var din mund! Ordet %s er ikke tilladt her." msgstr[1] "Var din mund! Ordene %s er ikke tilladt her." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "" "Hvis du indtaster noget i dette felt, vil din kommentar blive betragtet som " "spam." -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "indholdstype" @@ -1514,6 +1513,10 @@ msgstr "kommentar" msgid "date/time submitted" msgstr "dato/tidspunkt for oprettelse" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP-adresse" + #: contrib/comments/models.py:61 msgid "is public" msgstr "er offentlig" @@ -1596,7 +1599,6 @@ msgid "Really make this comment public?" msgstr "Vil du godkende denne kommentar?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Godkend" @@ -1621,11 +1623,6 @@ msgstr "Fjern en kommentar" msgid "Really remove this comment?" msgstr "Skal kommentaren fjernes?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Fjern" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Tak for fjernelsen" @@ -1644,7 +1641,7 @@ msgstr "Flag" #: contrib/comments/templates/comments/flagged.html:4 msgid "Thanks for flagging" -msgstr "Tak for flagningen" +msgstr "Tak for markeringen" #: contrib/comments/templates/comments/form.html:17 #: contrib/comments/templates/comments/preview.html:32 @@ -1656,39 +1653,6 @@ msgstr "Indsend" msgid "Preview" msgstr "Forhåndsvis" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Moderationskø" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Ingen kommentarer at moderere" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "E-mail" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Autenticeret?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "IP-adresse" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Indsendt d." - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "ja" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "nej" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Tak for kommenteringen" @@ -1716,11 +1680,11 @@ msgstr "Indsend din kommentar" msgid "or make changes" msgstr "eller gennemfør ændringer" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "klassenavn i Python-model" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "indholdstyper" @@ -1785,7 +1749,7 @@ msgstr "flad side" msgid "flat pages" msgstr "flade sider" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1793,6 +1757,38 @@ msgstr "" "Tiden er udløbet - vi beklager. Vær venlig at fortsætte med at udfylde " "formularen på denne side." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Punkt" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Linjesegment" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Polygon" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Multipunkt" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Multilinjesegment" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Multipolygon" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Geometrisamling" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Ingen værdi givet for geometri." @@ -1810,6 +1806,7 @@ msgid "" "An error occurred when transforming the geometry to the SRID of the geometry " "form field." msgstr "" +"Der opstod en fejl ved transformation af geometrien til formularfeltets SRID" #: contrib/humanize/templatetags/humanize.py:19 msgid "th" @@ -1896,25 +1893,25 @@ msgstr "i morgen" msgid "yesterday" msgstr "i går" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Indtast et postnummer i formatet NNNN eller ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:97 +#: contrib/localflavor/br/forms.py:136 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "I dette felt skal kun indtastes cifre." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Dette felt kræver 7 eller 8 cifre." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Indtast en gyldig CUIT i format XX-XXXXXXXX-X eller XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Ugyldig CUIT." @@ -1954,8 +1951,8 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Vienna" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Indtast et postnummer i formatet XXXX." @@ -1963,45 +1960,45 @@ msgstr "Indtast et postnummer i formatet XXXX." msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." msgstr "Indtast et gyldigt østrigsk sygesikringsnummer i format XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Indtast et firecifret postnummer." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:22 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Indtast et postnummer i formatet XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:31 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Telefinnumre skal være i formatet XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:59 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "Vælg en gyldig brasiliansk provins. Denne provins er ikke gyldig." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:95 msgid "Invalid CPF number." msgstr "Ugyldigt CPF-nummer." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:96 msgid "This field requires at most 11 digits or 14 characters." msgstr "Dette felt kræver mindst 11 og højst 14 tegn." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:135 msgid "Invalid CNPJ number." msgstr "Ugyldigt CNPJ-nummer." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:137 msgid "This field requires at least 14 digits" msgstr "dette felt kræver mindst 14 cifre." -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Indtast et postnummer i formatet XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "Indtast et gyldigt kanadisk sygesikringsnummer i formatet XXX-XXX-XXX." @@ -2109,7 +2106,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2117,15 +2114,15 @@ msgstr "" "Indtast et svejtsisk identitets- eller pasnr. i format X1234567<0 eller " "1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Indtast en gyldig chilensk RUT" -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Indtast en gyldig chilensk RUT. Formatet er XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Den chilenske RUT er ugyldig." @@ -2185,23 +2182,23 @@ msgstr "Zlin-regionen" msgid "Moravian-Silesian Region" msgstr "Moravien-Silesien" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Indtast et postnr. i format XXXXX eller XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "Indtast et fødselsnr. i formatet XXXXXX/XXXX or XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "Ugyldig værdi for køn. Gyldige værdier er 'f' og 'm'." -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Indtast et gyldigt fødselsnummer." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Indtast et IC-nummer." @@ -2269,12 +2266,12 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringia" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Indtast et postnummer i formatet XXXXX" -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2548,75 +2545,507 @@ msgstr "Foral Community of Navarre" msgid "Valencian Community" msgstr "Valencian Community" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Indtast et gyldigt postnr. i området 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." msgstr "" -"Indtast et gyldigt telefonr. i et af disse formater: 6XXXXXXXX, 8XXXXXXXX, " +"Indtast et gyldigt telefonnr. i et af disse formater: 6XXXXXXXX, 8XXXXXXXX, " "9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Indtast venligst gyldig NIF, NIE eller CIF." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Indtast venligst gyldig NIF eller NIE." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Ugyldig kontrolsum for NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Ugyldig kontrolsum for NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Ugyldig kontrolsum for CIF." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" "Indtast venligst et gyldigt bankkontonr. i formatet XXX-XXXX-XX-XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Ugyldig kontrolsum for bankkontonr." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Indtast et gyldigt finsk sygesikringsnummer." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Telefonnumre skal være i formatet 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Indtast et gyldigt postnummer" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Indtast et gyldigt telefonnummer" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Indtast et gyldigt bilnummer" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Indtast et gyldigt NIK/KTP-nummer." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Jawa Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Jawa Tengah" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Jawa Timur" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Barat" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Selatan" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Tengah" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Timur" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Kepulauan Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Maluku" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Maluku Utara" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara Barat" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara Timur" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Barat" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi Selatan" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi Tengah" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi Tenggara" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi Utara" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatera Barat" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera Selatan" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera Utara" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps Consulate" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Federal Government" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Shigo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrol" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wicklow" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Indtast et postnr. i formatet XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "" "Indtast et gyldigt islandsk identifikationsnr. Formatet er XXXXXX-XXXX." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Det islandske identifikationsnummer er ikke gyldigt." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Indtast et gyldigt postnummer." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Indtast et gyldigt sygesikringsnummer." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Indtast et gyldigt momsnummer." @@ -2812,6 +3241,10 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Indtast et gyldigt kuwaitisk personnummer." + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2940,15 +3373,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Indtast et gyldigt postnummer" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Indtast et gyldigt telefonnummer" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Indtast et gyldigt SoFi-nummer" @@ -3000,15 +3429,15 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Indtast et gyldigt norsk sygesikringsnummer." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Dette felt kræver 8 cifre." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Dette felt kræver 11 cifre." @@ -3105,6 +3534,14 @@ msgstr "Greater Poland" msgid "West Pomerania" msgstr "West Pomerania" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Indtast et postnummer i formatet XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Indtast et gyldigt CIF." @@ -3125,6 +3562,106 @@ msgstr "Telefinnumre skal være i formatet XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Indtast et gyldigt postnummer i formatet XXXXXX" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Indtast et gyldigt svensk organisationsnummer." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Indtast et gyldigt svensk personnummer." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Koordinationsnumre er ikke tilladt." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Indtast et svensk postnummer i formatet XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stockholm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banska Bystrica" @@ -3211,7 +3748,7 @@ msgstr "Kezmarok" #: contrib/localflavor/sk/sk_districts.py:29 msgid "Komarno" -msgstr "mar" +msgstr "Komarno" #: contrib/localflavor/sk/sk_districts.py:30 msgid "Kosice I" @@ -3475,7 +4012,7 @@ msgstr "Zilina region" #: contrib/localflavor/uk/forms.py:21 msgid "Enter a valid postcode." -msgstr "Indtast et gyldigt filnavn." +msgstr "Indtast et gyldigt postnummer." #: contrib/localflavor/uk/uk_regions.py:11 msgid "Bedfordshire" @@ -3757,19 +4294,44 @@ msgstr "Scotland" msgid "Wales" msgstr "Walisisk" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Indtast et postnr. i format XXXXX eller XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Telefonnumre skal være i formatet XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "Indtast et gyldigt U. S sygesikringsnummer i format XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Indtast en amerikansk stat." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Stat (i USA, to store bogstaver)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Telefonnummer" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" +"Indtast et gyldigt CI-nummer i formatet X.XXX.XXX-X,XXXXXXX-X eller XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Indtast et gyldigt CI-nummer." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Indtast et gyldigt sydafrikansk sygesikringsnummer." -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Indtast et gyldigt sydafrikansk postnummer." @@ -3809,6 +4371,10 @@ msgstr "North West" msgid "Western Cape" msgstr "Western Cape" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "doven meddelelse" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "rediriger fra" @@ -3873,58 +4439,218 @@ msgstr "vist navn" msgid "sites" msgstr "websites" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Denne værdi skal et heltal." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Indtast en gyldig værdi." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Denne værdi skal være enten True eller False." +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Indtast en gyldig URL." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Dette felt kan ikke være null." +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Denne URL henviser ikke til en gyldig side eller fil." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Dette felt må kun indeholde bogstaver, cifre, understreger og bindestreger." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Indtast en gyldig IPv4-adresse." + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "Indtast kun cifre adskilt af kommaer." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Denne værdi skal være %(limit_value)s (den er %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Denne værdi skal være mindre end eller lig %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Denne værdi skal være større end eller lig %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Denne værdi skal mindst indeholde %(limit_value)d tegn (den indeholder %" +"(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Denne værdi må maksimalt indeholde %(limit_value)d tegn (den har %" +"(show_value)d)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s skal være unik for %(date_field)s %(lookup)s." + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s med dette %(field_label)s eksisterer allerede." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Værdien %r er ikke et gyldigt valg." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Dette felt kan ikke være null." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Dette felt kan ikke være tomt." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Felt af type: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Heltal" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Denne værdi skal et heltal." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Denne værdi skal være enten True eller False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Boolsk (enten True eller False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Streng (op til %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Kommaseparerede heltal" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Dato (uden tid)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Indtast en gyldig dato i formatet ÅÅÅÅ-MM-DD." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Ugyldig dato: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "Indtast gyldig dato og tid i formatet ÅÅÅÅ-MM-DD TT:MM[:ss[.uuuuuu]]." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Dato (med tid)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "Denne værdi skal et decimaltal." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Decimaltal" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "E-mail-adresse" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Sti" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "Denne værdi skal være et kommatal." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Flydende-komma-tal" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Stort heltal (8 byte)" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "Denne værdi skal være None, True eller False." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Boolsk (True, False eller None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Tekst" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Tid" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Indtast en gyldig tid i formatet TT:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:816 +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML-tekst" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "En model %(model)s med primærnøgle %(pk)r eksisterer ikke." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Fremmednøgle (type bestemt af relateret felt)" + +#: db/models/fields/related.py:923 +msgid "One-to-one relationship" +msgstr "En-til-en-relation" + +#: db/models/fields/related.py:983 +msgid "Many-to-many relationship" +msgstr "Mange-til-mange-relation" + +#: db/models/fields/related.py:1003 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Hold \"Ctrl\" (eller \"Æbletasten\" på Mac) nede for at vælge mere end en." -#: db/models/fields/related.py:894 +#: db/models/fields/related.py:1064 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3934,89 +4660,64 @@ msgstr[0] "" msgstr[1] "" "Indtast venligst gyldige %(self)s-ID'er. Værdierne %(value)r er ugyldige." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Dette felt er påkrævet." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Indtast en gyldig værdi." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "Denne værdi må maksimalt indeholde %(max)d tegn (den har %(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Denne værdi skal mindst indeholde %(min)d tegn (den indeholder %(length)d)." - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "Indtast et heltal." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Denne værdi skal være mindre end eller lig %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Denne værdi skal være større end eller lig %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "Indtast et tal." -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Der må maksimalt være %s cifre i alt." -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Der må højst være %s decimalpladser." -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Der må maksimalt være %s cifre før decimaltegnet." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "Indtast en gyldig dato." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "Indtast en gyldig tid." -#: forms/fields.py:361 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "Indtast gyldig dato/tid." -#: forms/fields.py:447 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "Ingen fil blev indsendt. Kontroller kodningstypen i formularen." -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "Ingen fil blev indsendt." -#: forms/fields.py:449 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "Den indsendte fil er tom." -#: forms/fields.py:450 +#: forms/fields.py:438 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr "Denne værdi må maksimalt indeholde %(max)d tegn (den har %(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -4024,119 +4725,91 @@ msgstr "" "Indsend en billedfil. Filen, du indsendte, var enten ikke et billede eller " "en defekt billedfil." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Indtast en gyldig URL." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "Denne URL henviser ikke til en gyldig side eller fil." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "" "Marker en gyldigt valgmulighed; '%(value)s' er ikke en af de tilgængelige " "valgmuligheder." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:995 msgid "Enter a list of values." msgstr "Indtast en liste af værdier." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Indtast en gyldig IPv4-adresse." - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Dette felt må kun indeholde bogstaver, cifre, understreger og bindestreger." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "Rækkefølge" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "%(field_name)s skal være unik for %(date_field)s %(lookup)s." - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s med dette %(field_label)s eksisterer allerede." - -#: forms/models.py:594 +#: forms/models.py:556 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Ret venligst duplikerede data for %(field)s." -#: forms/models.py:598 +#: forms/models.py:560 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "Ret venligst de duplikerede data for %(field)s, som skal være unik." -#: forms/models.py:604 +#: forms/models.py:566 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " "for the %(lookup)s in %(date_field)s." msgstr "" -"Ret venligst de duplikerede data for %(field_name)s, som skal være unik " -"for %(lookup)s i %(date_field)s." +"Ret venligst de duplikerede data for %(field_name)s, som skal være unik for %" +"(lookup)s i %(date_field)s." -#: forms/models.py:612 +#: forms/models.py:574 msgid "Please correct the duplicate values below." msgstr "Ret venligst de duplikerede data herunder." -#: forms/models.py:867 +#: forms/models.py:848 msgid "The inline foreign key did not match the parent instance primary key." msgstr "" "Den indlejrede fremmednøgle passede ikke med forælderinstansens primærnøgle." -#: forms/models.py:930 +#: forms/models.py:914 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" "Marker en gyldig valgmulighed. Det valg, du har foretaget, er ikke blandt de " "tilgængelige valgmuligheder." -#: forms/models.py:1004 +#: forms/models.py:996 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "" "Marker et gyldigt valg. %s er ikke en af de tilgængelige valgmuligheder." -#: forms/models.py:1006 +#: forms/models.py:998 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" er ikke en gyldig værdi for en primærnøgle." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:781 msgid "yes,no,maybe" msgstr "ja,nej,måske" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:812 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d byte" msgstr[1] "%(size)d bytes" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:814 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:816 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:817 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4342,7 +5015,7 @@ msgstr "Nov." msgid "Dec." msgstr "Dec." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "eller" @@ -4396,34 +5069,37 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:512 msgid "DATE_FORMAT" msgstr "j. F Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:513 +msgid "DATETIME_FORMAT" +msgstr "j. F Y H:i" + +#: utils/translation/trans_real.py:514 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:535 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:536 msgid "MONTH_DAY_FORMAT" msgstr "j. F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s blev oprettet." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s blev opdateret." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s blev slettet." - diff --git a/django/conf/locale/da/LC_MESSAGES/djangojs.mo b/django/conf/locale/da/LC_MESSAGES/djangojs.mo index e1a21346faaeea59e09de57c85a8f71de2b448f3..47490d86205c3666adce3c33f2963f731fae7b35 100644 GIT binary patch literal 2587 zcmaKt%WoS+9LJ|n9t{Obc|U}H5{lZ2tm{Oyjlx5Oq;AtBO;tOsDumF)`}2C@^^7|^ z>(>7O2Tn-90WO?cgv5aZhg^{_h)cx<2?@~?7ZBpoBdYlRcAZBbWaXL9&dhIqubKV% z_k(*sS9o3-wSU2JwBPoi!_#{}sT1I3@L}*9@Iml9a6kAx_$c_pX#FSfag2Wk$H1H5 zKJd>GZ-EbCd>h;g?uD{da33goJ_KdH4dSP|=)~@2Q1o5}3H%5Yxv#-#@LN#y{sD@f zzd*5j3;Yti4SoiGflWQI0^y^G@hfl=;~Ov{`}RDd6n<(9-2w0*DD$t4H~}8S_!ubh zod(5D9TfjQ01=w%fZ~q@>tFySjvq(70gBu&pve6S%Kn?+tKi=tTvq#G{0;B`C~_x3 z@n;d8=xczVg71S8=Re>l;Ky)Ej!!zYat2SMJ%=X#7C8guk^IOV*?i=Vsqw=Zr$;h!EgC=Ev;nV};AY@> z*R|uME8U8kjbk<2*Cy3#DbskS=5)$7)*dgm$*G!aJC`wO3Z~0jqqJDa*cMw-)}FM? zrLNggr%lZ2jJCP<1FG?wFJ6|lZ?dO&A#%jnVp&E`p-1*&r|aCeP8tu%uZ zo^}0lVxF7Di&{3ZHAy?Dv(8y`SJZj#LQ2(XnHqEvtwwcKFET&_mwRfqooVvn>f%YcR#CgU1|dn-mTMVy#+&IY zoeS<>=V-v8Lg#S&xFKa`R~8A9vcL2^P02EJVbXKt^U||2B|DtTZE5oUso>az;(l)C zWT92KE9!P67!i27ThkQ-7uFbQ%R)t+^KKpAMzjz|7uaVwml>L0M}%(dJolUr(Q=lU zIC?KnvZ&!^XzbidBbxK9a#5M(4S2MCZM7 zQ&Th5YALs*vk*1Bwppr!^D|U4*3v1TUokkmCGGK5z16~8Qck7C%)3b!A8DoOy6=oF z!QWgb95q;X;o|bb^2zORCM(skIcEb~m>KloZ{VxpXfM^qzA1MN2EyB`jaoFlEhp}@ z*heRA)5W-5Gc>(s!q`>?(c9IfuhS&_|H5&?SCOz)4U@Kp8|%VkcpVo!HAzun7K;kQ zUd>vYrzu`846mmNaX^iUvtDjHVKjxB!s>z;EOyqs?iZrP{Hj;=&U&7XO3h}aL2>aR z+bT5cQfQ168grjQ)7h=i=pgkb)`>cstJ*qyJ1R3PMVVPrHRn0#gm68NB5O>N8*&MC zQiCFM!DOmF+(30n;8cNzk&2SgiY?G^<*?>iW|xK=C?knlpt2uja)FZJHLvF7`}Bp4 zK&ZU<%;OYiH6a$`a?x};OnHpN`#{#=90<9OJ;ZRidc$kf;uOWILh~FZWLGxakR|+3 zP`bD@I3`*xG(;V%dp)QygaQ}ie5B@_;_l``Wfz~I>JFz8?gk_ZN!sC1z<&YMvfKh{ zq2n$87A1v!wr~gk4Ja#OTL*%kE=$DaO^9(S!|RaP%!as&u(w>x#qb?QahLD1iR@#K zU(-A6pT?&w0hGy<3~gteT3%D^T`!8=6&oScoKfKWhz2{l2H8TW8H(a|tQGYiRmRuR delta 652 zcmZ9Jy-R{o6o;>7YTBonHB<=E6xP)YOd1-3Xex|?+KMD3EYiLPL5PrsmXKNsTBB7O zqJN>aEn3^6poXBJ=O-@&9qu{Lx%a&HeBAdUeAHZi4tdTD(u4M*Pv{_e>B1n^ZHyPj zVFOITW;g-;aK?#eU<>;t7=Y`r2^JidU?ckq^uQCiU`*MZ;waIJ6L^Cv^a)k?3o5Y= zqo5Tk!3a#jBvj%&RGuPK;SwBRh>CN5!zCZ*HP{aCp`ZHZq3#&-2tx#(p(c2TO7soY zfR`%tV!}`byD{^y5312^hX+vKl_ARQfXXKL5( zMOXEzaoXBc%#O3737byXA)Bx^FgF{^WcPB#+}37nYGo&zCaCXHvG`~;;vEZ4t`~Oq SbJ@c1+D3KNo3FWi%dTHsI6Dgf diff --git a/django/conf/locale/da/LC_MESSAGES/djangojs.po b/django/conf/locale/da/LC_MESSAGES/djangojs.po index 86ff17c66..f220938ae 100644 --- a/django/conf/locale/da/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/da/LC_MESSAGES/djangojs.po @@ -6,44 +6,80 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-09-09 20:20+0200\n" -"PO-Revision-Date: 2008-08-13 22:00+0200\n" -"Last-Translator: Finn Gruwier Larsen\n" +"POT-Creation-Date: 2010-08-07 11:57+0200\n" +"PO-Revision-Date: 2010-08-07 22:00+0200\n" +"Last-Translator: Finn Gruwier Larsen\n" "Language-Team: \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 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "Tilgængelige %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Vælg alle" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Tilføj" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "Fjern" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "Valgte %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "Foretag dit/dine valg og klik " -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Fravælg alle" +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s af %(cnt)s valgt" +msgstr[1] "%(sel)s af %(cnt)s valgt" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Du har ugemte ændringer af et eller flere redigerbare felter. Hvis du " +"udfører en handling fra drop-down-menuen, vil du miste disse ændringer." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Du har valgt en handling, men du har ikke gemt dine ændringer til et eller " +"flere felter. Klik venligst OK for at gemme og vælg dernæst handlingen igen." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Du har valgt en handling, og du har ikke udført nogen ændringer på felter. " +"Det, du søger er formentlig Udfør-knappen i stedet for Gem-knappen." + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -57,62 +93,63 @@ msgstr "" msgid "S M T W T F S" msgstr "S M T O T F L" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Vis" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Skjul" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "Søndag Mandag Tirsdag Onsdag Torsdag Fredag Lørdag" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "Vis" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "Skjul" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Nu" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "Ur" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Vælg et tidspunkt" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "Midnat" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "6 morgen" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "Middag" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Annuller" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "I dag" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Kalender" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "I går" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "I morgen" diff --git a/django/conf/locale/da/__init__.py b/django/conf/locale/da/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/da/formats.py b/django/conf/locale/da/formats.py new file mode 100644 index 000000000..ae349077e --- /dev/null +++ b/django/conf/locale/da/formats.py @@ -0,0 +1,26 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j. F Y' +TIME_FORMAT = 'H:i' +DATETIME_FORMAT = 'j. F Y H:i' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'd.m.Y' +SHORT_DATETIME_FORMAT = 'd.m.Y H:i' +FIRST_DAY_OF_WEEK = 1 +DATE_INPUT_FORMATS = ( + '%d.%m.%Y', # '25.10.2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' + '%d.%m.%Y %H:%M', # '25.10.2006 14:30' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/de/LC_MESSAGES/django.mo b/django/conf/locale/de/LC_MESSAGES/django.mo index a0e99faa21b0d7e5fa4ef9231968ab68c10a23a4..14b14775d4e4f1941fc5a1a06be611861db11cd9 100644 GIT binary patch literal 77639 zcmc${2Y6h?`G$ z=ppo8L&t;?T0)1=dqSw8gwXE$oB4LN5;lMG-1|KDJU)77zM1)^oH^6a`t=Qao)K^z z+cOBZg7w=6!8*Nz;F=kd2Em*A1;Ob(g5WK<3HG+yAQ%QufQ#Xsa4g)oE(iv|z2Ior z0@s3B-A zNaJ+40QtU9@!V?iXQ0ycA(Z~l;Tmv2LlBVdV4!g@?1Oz6ToaCh{o!bHp9=e7pADsd zp)m*7$9@`I7hVc`!JCYCKpHjvydNrEufX2$P2&e9{{;RP`Iqo`m~Nt8z#pNWWB<4h z7s8#fmq4Xw3G4~$%{>kkPb=&L+u(-qAh;ep6-wX5Q0c!FD*VGx{vU@M!)KxVe+ZSo z|3LX)Z<(b7D*h6h zRC+Fj3U>#Tzx&PoG1wRT(@^?efdkg;4pvvPdsC0b<<^OA_{QLlwk2MqC-p{xJRK7NYN=FE# zXSi{9C_R&*;+qNOe=*c^se?*q7E1q7P~lI4iuY`|8N2|>|7|9J1WNCdQ2w8TsxPk_ zKZlC1XN#{l8$;Ulx?Y3w_dZnopFrvV(&Rrvh3lR4?i)hIvpF0I zhnRdZ+yVQ3PYN#rO1bu^4Qzl<51~nhf2pGQ1KrP^}J7p%I~>wJ$Mn6z8j$Y-3=A)A-FDl94eky zpx(=mpvvhdC_QVp`t+{{74ODS;kJg-GYsmv?hH%dEU0)gQ18J3@H%)dJO@_n@6-7X zbk7A=A^#HY4yUGrAc6-&xxZ)p2(FL)bEtN1jf^kv&EY!OcZ6HQ(NO(THB`P+Q0X}U zD!qq8J&)r|ezM8Wg3@~dTo2x2?hl#!6Hw`S*7&l?-+(HQ_o2dl1r={EDr0}R0o)c2 zgj>T2PV{i|6 z5mb4+3P-?iUIwLq0UJSQ{A3*6}9pPY@g=wA@F9n5quR+gr7mBZ>NL(^PUBjuQ;rRN5IYCOHleggXOUAAwIs{q1;!% zk?=Gq{SU#7;Y(2I{TRyM=7;)vI|3>_)1dmD6x4G(9qKtg3YG6Kpz^)>VLo3I;11ZU zq5Q9az2J3l19%J6d;c(;1)qjAoxy;^eLX)G>U}x`%HO$gLwG4%8{P)DhWA6I|8*$; z|2FskK)si19O2)Cwc&j18$kJMgqy+yRC*4F(t8Hn1YQVLzPCb^<6mJC{sh$?CXe*` zJK&nw4}nVO5hgzoO5f>F@8Jco7rfl;*Fd@7V)lED4@2pB3M&0C!d~!oC_V2&#s4p} ze*@+3C#dJy`zRlNODOqvuqWKn?8A+_LcN!J!ZqL=sPt4p#j_YH9kpg}hH8H@a9wyX z)blvW>=(mc*l&Q+a~tdp?}rNa2voYCh0^;vl)n$4!hLT11}gp^p#1kb+S}JRZVnYL zguUU8Q0?7FvyX>;uup@ErxHs40;q8N!alGO$~|RV4yRy06so))hSK{uR6H*m--Laz ze*mTLQz-r4LZ$a7*a!AK#=CC_r(@p=&Vcn${;!47e>2o`cmUEg1b>6lGxu1pXE9X$ zu7!HO?NH&4hkDP?G2U!^5|$$W0IFZx;5c8;2SL5pyTkEtFQ{~!3fF>XL8bd5xBy;Z z?i#eKJbFX9_cLw;6@GxZZ)@@$p!Ai)zHm3#4^A?BB~*DXg3`MmoCqUW4gYBJ?~K6- zz8rhOez>m(6@Gxp2SMd?7*u`S6Y71gGI=eO{|r>RRzT(BaFZVom5$S(%JVGajZpRc zaj1O00u}yEv;PB1&!;B;#^k|?Ufvrj-gTj#?

      ;2g9{tIaK+KHv43_4)!@_Ujn5+ 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 delta 23694 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 H$!q-=Nd+Fc diff --git a/django/conf/locale/de/LC_MESSAGES/django.po b/django/conf/locale/de/LC_MESSAGES/django.po index 199fab4b1..0da9d3923 100644 --- a/django/conf/locale/de/LC_MESSAGES/django.po +++ b/django/conf/locale/de/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-23 18:58+0200\n" -"PO-Revision-Date: 2008-08-28 22:58+0100\n" +"POT-Creation-Date: 2010-08-06 18:48+0200\n" +"PO-Revision-Date: 2010-04-26 13:53+0100\n" "Last-Translator: Jannis Leidel \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -24,215 +24,259 @@ msgid "Arabic" msgstr "Arabisch" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "Bengali" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "Bulgarisch" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Bengali" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Bosnisch" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "Katalanisch" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "Tschechisch" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "Walisisch" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "Dänisch" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "Deutsch" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "Griechisch" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "Englisch" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "Britisches Englisch" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "Spanisch" -#: conf/global_settings.py:55 +#: conf/global_settings.py:57 +msgid "Argentinian Spanish" +msgstr "Argentinisches Spanisch" + +#: conf/global_settings.py:58 msgid "Estonian" msgstr "Estnisch" -#: conf/global_settings.py:56 -msgid "Argentinean Spanish" -msgstr "Argentinisches Spanisch" - -#: conf/global_settings.py:57 +#: conf/global_settings.py:59 msgid "Basque" msgstr "Baskisch" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "Persisch" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "Finnisch" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "Französisch" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Friesisch" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "Irisch" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "Galicisch" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "Ungarisch" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "Hebräisch" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "Hindi" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "Kroatisch" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Ungarisch" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "Indonesisch" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "Isländisch" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "Italienisch" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "Japanisch" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "Georgisch" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "Koreanisch" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "Khmer" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "Kannada" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "Lettisch" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "Koreanisch" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "Litauisch" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "Lettisch" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "Mazedonisch" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Malayalam" +msgstr "Malayalam" + +#: conf/global_settings.py:82 +msgid "Mongolian" +msgstr "Mongolisch" + +#: conf/global_settings.py:83 msgid "Dutch" msgstr "Holländisch" -#: conf/global_settings.py:78 +#: conf/global_settings.py:84 msgid "Norwegian" msgstr "Norwegisch" -#: conf/global_settings.py:79 +#: conf/global_settings.py:85 +msgid "Norwegian Bokmal" +msgstr "Norwegisch (Bokmål)" + +#: conf/global_settings.py:86 +msgid "Norwegian Nynorsk" +msgstr "Norwegisch (Nynorsk)" + +#: conf/global_settings.py:87 msgid "Polish" msgstr "Polnisch" -#: conf/global_settings.py:80 +#: conf/global_settings.py:88 msgid "Portuguese" msgstr "Portugiesisch" -#: conf/global_settings.py:81 +#: conf/global_settings.py:89 msgid "Brazilian Portuguese" msgstr "Brasilianisches Portugiesisch" -#: conf/global_settings.py:82 +#: conf/global_settings.py:90 msgid "Romanian" msgstr "Rumänisch" -#: conf/global_settings.py:83 +#: conf/global_settings.py:91 msgid "Russian" msgstr "Russisch" -#: conf/global_settings.py:84 +#: conf/global_settings.py:92 msgid "Slovak" msgstr "Slowakisch" -#: conf/global_settings.py:85 +#: conf/global_settings.py:93 msgid "Slovenian" msgstr "Slowenisch" -#: conf/global_settings.py:86 +#: conf/global_settings.py:94 +msgid "Albanian" +msgstr "Albanisch" + +#: conf/global_settings.py:95 msgid "Serbian" msgstr "Serbisch" -#: conf/global_settings.py:87 +#: conf/global_settings.py:96 +msgid "Serbian Latin" +msgstr "Serbisch (Latein)" + +#: conf/global_settings.py:97 msgid "Swedish" msgstr "Schwedisch" -#: conf/global_settings.py:88 +#: conf/global_settings.py:98 msgid "Tamil" msgstr "Tamilisch" -#: conf/global_settings.py:89 +#: conf/global_settings.py:99 msgid "Telugu" msgstr "Telugisch" -#: conf/global_settings.py:90 +#: conf/global_settings.py:100 msgid "Thai" msgstr "Thailändisch" -#: conf/global_settings.py:91 +#: conf/global_settings.py:101 msgid "Turkish" msgstr "Türkisch" -#: conf/global_settings.py:92 +#: conf/global_settings.py:102 msgid "Ukrainian" msgstr "Ukrainisch" -#: conf/global_settings.py:93 +#: conf/global_settings.py:103 +msgid "Vietnamese" +msgstr "Vietnamesisch" + +#: conf/global_settings.py:104 msgid "Simplified Chinese" msgstr "Vereinfachtes Chinesisch" -#: conf/global_settings.py:94 +#: conf/global_settings.py:105 msgid "Traditional Chinese" msgstr "Traditionelles Chinesisch" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Erfolgreich %(count)d %(items)s gelöscht." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "Sind Sie sicher?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Ausgewählte %(verbose_name_plural)s löschen" @@ -271,19 +315,19 @@ msgstr "Diesen Monat" msgid "This year" msgstr "Dieses Jahr" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:478 msgid "Yes" msgstr "Ja" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:478 msgid "No" msgstr "Nein" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:478 msgid "Unknown" msgstr "Unbekannt" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Aktion:" @@ -315,61 +359,60 @@ msgstr "Logeintrag" msgid "log entries" msgstr "Logeinträge" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "-" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "%s geändert." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:845 +#: forms/models.py:568 msgid "and" msgstr "und" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "%(name)s \"%(object)s\" hinzugefügt." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "%(list)s von %(name)s \"%(object)s\" geändert." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "%(name)s \"%(object)s\" gelöscht." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Keine Felder geändert." -#: contrib/admin/options.py:599 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" wurde erfolgreich hinzugefügt." -#: contrib/admin/options.py:603 contrib/admin/options.py:636 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "Das Element kann jetzt erneut bearbeitet werden." -#: contrib/admin/options.py:613 contrib/admin/options.py:646 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "Es kann ein weiteres Element des Typs %s angelegt werden." -#: contrib/admin/options.py:634 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" wurde erfolgreich geändert." -#: contrib/admin/options.py:642 +#: contrib/admin/options.py:686 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." @@ -377,45 +420,69 @@ msgstr "" "%(name)s \"%(obj)s\" wurde erfolgreich hinzugefügt. Das Element kann jetzt " "geändert werden." -#: contrib/admin/options.py:773 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Es müssen Objekte aus der Liste ausgewählt werden, um Aktionen " +"durchzuführen. Es wurden keine Objekte geändert." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Keine Aktion ausgewählt." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "%s hinzufügen" -#: contrib/admin/options.py:804 contrib/admin/options.py:1005 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "" "Das %(name)s-Objekt mit dem Primärschlüssel %(key)r ist nicht vorhanden." -#: contrib/admin/options.py:861 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "%s ändern" -#: contrib/admin/options.py:905 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Datenbankfehler" -#: contrib/admin/options.py:941 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s \"%(name)s\" wurde erfolgreich geändert." msgstr[1] "%(count)s \"%(name)s\" wurden erfolgreich geändert." -#: contrib/admin/options.py:1020 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s ausgewählt" +msgstr[1] "Alle %(total_count)s ausgewählt" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 von %(cnt)s ausgewählt" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" wurde erfolgreich gelöscht." -#: contrib/admin/options.py:1057 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Änderungsgeschichte: %s" -#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -423,11 +490,11 @@ msgstr "" "Bitte einen gültigen Benutzernamen und ein Passwort eingeben. Beide Felder " "berücksichtigen die Groß-/Kleinschreibung." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Bitte melden Sie sich erneut an, da Ihre Sitzung abgelaufen ist." -#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -435,64 +502,54 @@ msgstr "" "Ihr Browser scheint keine Cookies zu akzeptieren. Bitte aktivieren Sie diese " "und laden Sie die Seite neu." -#: contrib/admin/sites.py:308 contrib/admin/sites.py:314 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Benutzernamen dürfen das Zeichen '@' nicht enthalten." -#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, 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/sites.py:367 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Website-Verwaltung" -#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Anmelden" -#: contrib/admin/sites.py:426 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "%s-Verwaltung" -#: contrib/admin/util.py:168 -#, 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/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Ein oder mehrere %(fieldname)s in %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Datum:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Zeit:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Derzeit:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Ändern:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Suchen" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Neu hinzufügen" @@ -508,17 +565,17 @@ msgstr "" #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -554,7 +611,20 @@ msgstr "Ausgewählte Aktion ausführen" #: contrib/admin/templates/admin/actions.html:4 msgid "Go" -msgstr "Los" +msgstr "Ausführen" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Hier klicken, um die Objekte aller Seiten auszuwählen" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Alle %(total_count)s %(module_name)s auswählen" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Auswahl widerrufen" #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 @@ -562,28 +632,28 @@ msgstr "Los" msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:27 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Willkommen," -#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentation" -#: contrib/admin/templates/admin/base.html:40 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Passwort ändern" -#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Abmelden" @@ -595,41 +665,42 @@ msgstr "Django-Systemverwaltung" msgid "Django administration" msgstr "Django-Verwaltung" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Hinzufügen" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Geschichte" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Auf der Website anzeigen" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 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_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "%(name)s hinzufügen" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filter" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Löschen" @@ -677,10 +748,11 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" "Sind Sie sicher, dass Sie die ausgewählten %(object_name)s-Objekte löschen " -"wollen? Es werden zusätzlich die folgenden davon abhängigen Daten gelöscht:" +"wollen? Die folgenden Objekte und und die von ihnen abhängigen Daten werden " +"gelöscht:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -743,15 +815,9 @@ msgid "User" msgstr "Benutzer" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Aktion" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j. N Y, H:i" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -805,35 +871,45 @@ 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:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Benutzername" +#: contrib/admin/templates/admin/auth/user/add_form.html:8 +msgid "Enter a username and password." +msgstr "Bitte einen Benutzernamen und ein Passwort eingeben." -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Passwort" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Passwort (wiederholen)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -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:27 +#: 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/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Passwort" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Passwort (wiederholen)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Bitte das gleiche Passwort zur Überprüfung nochmal eingeben." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "%(verbose_name)s hinzufügen" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Entfernen" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Löschen?" @@ -847,9 +923,9 @@ msgid "Log in again" msgstr "Erneut anmelden" #: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_form.html:6 -#: contrib/admin/templates/registration/password_change_form.html:10 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Passwort ändern" @@ -862,30 +938,26 @@ msgstr "Passwort erfolgreich geändert" msgid "Your password was changed." msgstr "Ihr Passwort wurde geändert." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." +"neue Passwort ein." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Altes Passwort:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Altes Passwort" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Neues Passwort:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Neues Passwort" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Passwort wiederholen:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Mein Passwort ändern" @@ -924,6 +996,14 @@ msgstr "" "Bitte geben Sie Ihr neues Passwort zweimal ein, damit wir überprüfen können, " "ob es richtig eingetippt wurde." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Neues Passwort:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Passwort wiederholen:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Passwort wurde nicht erfolgreich zurückgesetzt" @@ -992,25 +1072,25 @@ msgstr "E-Mail-Adresse:" msgid "Reset my password" msgstr "Mein Passwort zurücksetzen" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Alle Daten" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "%s auswählen" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "%s zur Änderung auswählen" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "Site" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "Template" @@ -1070,89 +1150,7 @@ msgstr "Anzahl von %s" msgid "Fields on %s objects" msgstr "Felder am %s Objekt" -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 -#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 -#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 -msgid "Integer" -msgstr "Ganzzahl" - -#: contrib/admindocs/views.py:335 -msgid "Boolean (Either True or False)" -msgstr "Boolescher Wert (True oder False)" - -#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Zeichenkette (bis zu %(max_length)s Zeichen)" - -#: contrib/admindocs/views.py:337 -msgid "Comma-separated integers" -msgstr "Kommaseparierte Liste von Ganzzahlen" - -#: contrib/admindocs/views.py:338 -msgid "Date (without time)" -msgstr "Datum (ohne Uhrzeit)" - -#: contrib/admindocs/views.py:339 -msgid "Date (with time)" -msgstr "Datum (mit Uhrzeit)" - -#: contrib/admindocs/views.py:340 -msgid "Decimal number" -msgstr "Dezimalzahl" - -#: contrib/admindocs/views.py:341 -msgid "E-mail address" -msgstr "E-Mail-Adresse" - -#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 -#: contrib/admindocs/views.py:346 -msgid "File path" -msgstr "Dateipfad" - -#: contrib/admindocs/views.py:344 -msgid "Floating point number" -msgstr "Gleitkommazahl" - -#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 -msgid "IP address" -msgstr "IP-Adresse" - -#: contrib/admindocs/views.py:350 -msgid "Boolean (Either True, False or None)" -msgstr "Boolescher Wert (True, False oder None)" - -#: contrib/admindocs/views.py:351 -msgid "Relation to parent model" -msgstr "Beziehung zum Eltern-Modell" - -#: contrib/admindocs/views.py:352 -msgid "Phone number" -msgstr "Telefonnummer" - -#: contrib/admindocs/views.py:357 -msgid "Text" -msgstr "Text" - -#: contrib/admindocs/views.py:358 -msgid "Time" -msgstr "Zeit" - -#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "Adresse (URL)" - -#: contrib/admindocs/views.py:360 -msgid "U.S. state (two uppercase letters)" -msgstr "U.S.-Bundesstaat (zwei Großbuchstaben)" - #: contrib/admindocs/views.py:361 -msgid "XML text" -msgstr "XML-Text" - -#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s ist scheinbar kein urlpattern-Objekt" @@ -1229,66 +1227,63 @@ msgid "As above, but opens the admin page in a new window." msgstr "" "Wie zuvor, aber öffnet die Administrationsseite in einem neuen Fenster." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Persönliche Infos" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Berechtigungen" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Wichtige Daten" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Gruppen" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Benutzer hinzufügen" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Passwort erfolgreich geändert." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Passwort ändern: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Benutzername" + +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." msgstr "" "Erforderlich. 30 Zeichen oder weniger. Nur alphanumerische Zeichen " -"(Buchstaben, Ziffern und Unterstriche) sind erlaubt." +"(Buchstaben, Ziffern und @/./+/-/_) sind erlaubt." -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Dieser Wert darf nur Buchstaben, Ziffern und Unterstriche enthalten." +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Dieser Wert darf nur Buchstaben, Ziffern und @/./+/-/_ enthalten." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Passwort bestätigen" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Dieser Benutzername ist bereits vergeben." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Die beiden Passwörter sind nicht identisch." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Dieser Benutzer ist inaktiv." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1296,11 +1291,11 @@ msgstr "" "Der Webbrowser scheint keine Cookies aktiviert zu haben. Cookies sind für " "die Anmeldung zwingend erforderlich." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-Mail-Adresse" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1308,72 +1303,71 @@ msgstr "" "Zu dieser E-Mail-Adresse existiert kein Benutzer. Sicher, dass Sie sich mit " "dieser Adresse registriert haben?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Passwort auf %s zurücksetzen" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Neues Passwort" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Neues Passwort bestätigen" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Altes Passwort" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Das alte Passwort war falsch. Bitte neu eingeben." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "Name" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "Codename" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "Berechtigung" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "Berechtigungen" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "Gruppe" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "Gruppen" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "Benutzername" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Erforderlich. 30 Zeichen oder weniger. Nur alphanumerische Zeichen " +"(Buchstaben, Ziffern und @/./+/-/_) sind erlaubt." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "Vorname" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "Nachname" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "E-Mail-Adresse" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "Passwort" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1381,20 +1375,20 @@ msgstr "" "Die Form '[algo]$[salt]$[hexdigest]' verwenden, oder das Passwort ändern Formular benutzen." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "Redakteur-Status" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 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:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "Aktiv" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1402,11 +1396,11 @@ msgstr "" "Legt fest, ob dieser Benutzer aktiv ist. Kann deaktiviert werden, anstatt " "Benutzer zu löschen." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "Administrator-Status" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -1414,15 +1408,15 @@ msgstr "" "Legt fest, dass der Benutzer alle Berechtigungen hat, ohne diese einzeln " "zuweisen zu müssen." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "Letzte Anmeldung" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "Mitglied seit" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1430,39 +1424,77 @@ msgstr "" "Zusätzlich zu den manuell angelegten Rechten erhält dieser Benutzer auch " "alle Rechte, die seine zugewiesenen Gruppen haben." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "Berechtigungen" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "Benutzer" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "Benutzer" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "Mitteilung" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Abgemeldet" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:24 +#: core/validators.py:120 forms/fields.py:427 msgid "Enter a valid e-mail address." msgstr "Bitte eine gültige E-Mail-Adresse eingeben." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Inhalt" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metadaten" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "markiert" +msgstr[1] "markiert" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Ausgewählte Kommentare markieren" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "freigegeben" +msgstr[1] "freigegeben" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Ausgewählte Kommentare freigeben" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "entfernt" +msgstr[1] "entfernt" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Ausgewählte Kommentare entfernen" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 Kommentar wurde erfolgreich %(action)s." +msgstr[1] "%(count)s Kommentare wurden erfolgreich %(action)s." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1474,7 +1506,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Die neuesten Kommentare auf %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Name" @@ -1482,26 +1513,30 @@ msgstr "Name" msgid "Email address" msgstr "E-Mail-Adresse" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1109 +msgid "URL" +msgstr "Adresse (URL)" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Kommentar" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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 erlaubt!" msgstr[1] "Keine Schimpfworte! Die Wörter %s sind hier nicht erlaubt!" -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "" "Wenn Sie irgendetwas in dieses Feld eintragen, wird der Kommentar als Spam " "betrachtet" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "Inhaltstyp" @@ -1530,6 +1565,10 @@ msgstr "Kommentar" msgid "date/time submitted" msgstr "Datum/Zeit Erstellung" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:904 +msgid "IP address" +msgstr "IP-Adresse" + #: contrib/comments/models.py:61 msgid "is public" msgstr "ist öffentlich" @@ -1615,7 +1654,6 @@ msgid "Really make this comment public?" msgstr "Wollen Sie diesen Kommentar wirklich freigeben?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Freigeben" @@ -1640,11 +1678,6 @@ msgstr "Kommentar entfernen" msgid "Really remove this comment?" msgstr "Wollen Sie diesen Kommentar wirklich entfernen?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Entfernen" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Vielen Dank, dass Sie diesen Kommentar entfernt haben" @@ -1675,39 +1708,6 @@ msgstr "Abschicken" msgid "Preview" msgstr "Vorschau" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Kommentar-Moderation" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Es sind keine Kommentare zu moderieren" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "E-Mail-Adresse" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Authentifiziert?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "IP-Adresse" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Verfassungsdatum" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "ja" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "nein" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Vielen Dank, dass Sie einen Kommentar geschrieben haben" @@ -1735,11 +1735,11 @@ msgstr "Kommentar abschicken" msgid "or make changes" msgstr "oder Änderungen vornehmen" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "Python Modell-Klassenname" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "Inhaltstypen" @@ -1803,7 +1803,7 @@ msgstr "Seite" msgid "flat pages" msgstr "Seiten" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1811,6 +1811,38 @@ msgstr "" "Es tut uns leid, aber das Formular hat seine Gültigkeit verloren. Bitte " "füllen Sie es erneut aus." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "Das Basis-GIS-Feld, das dem OpenGIS-Geometrie-Typ entspricht." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Punkt" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Linienzug" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Polygon" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Mehrere Punkte" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Mehrere Linienzüge" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Mehrere Polygone" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Sammlung geometrischer Objekte" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Kein geometrischer Wert gegeben." @@ -1916,26 +1948,26 @@ msgstr "morgen" msgid "yesterday" msgstr "gestern" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Bitte eine gültige Postleitzahl im Format NNNN oder ANNNNAAA eingeben." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Dieses Feld darf nur Ziffern enthalten." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Dieses Feld benötigt 7 oder 8 Ziffern." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "" "Bitte eine gültige CUIT im Format XX-XXXXXXXX-X oder XXXXXXXXXXXX eingeben." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Ungültige CUIT." @@ -1975,8 +2007,8 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Wien" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Bitte eine gültige Postleitzahl im Format XXXX eingeben." @@ -1986,45 +2018,45 @@ msgstr "" "Bitte eine gültige österreichische Sozialversicherungsnummer im Format XXXX " "XXXXXX eingeben." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Bitte eine gültige vierstellige Postleitzahl eingeben." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 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 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Telefonnummern müssen das Format XX-XXXX-XXXX haben." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "Bitte einen gültigen brasilianischen Bundesstaat auswählen." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Ungültige CPF-Nummer." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "Dieses Feld benötigt mindestens 11 Ziffern oder 14 Zeichen." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "Ungültige CNPJ-Nummer." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "Dieses Feld benötigt mindestens 14 Ziffern" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Bitte eine gültige Postleitzahl im Format XXX XXX eingeben." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" "Bitte eine gültige kanadische Sozialversicherungsnummer im Format XXX-XXX-" @@ -2134,7 +2166,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zürich" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2142,15 +2174,15 @@ msgstr "" "Bitte eine gültige Schweizer Identifikations- oder Reisepassnummer im " "FormatX1234567<0 oder 1234567890 eingeben." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Bitte eine gültige chilenische RUT eingeben." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Bitte eine chilenische RUT im Format XX.XXX.XXX-X eingeben." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Diese chilenische RUT ist ungültig." @@ -2210,24 +2242,24 @@ msgstr "Region Zlín" msgid "Moravian-Silesian Region" msgstr "Mährisch-Schlesische Region" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Bitte eine gültige Postleitzahl im Format XXXXX oder XXX XX eingeben." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "" "Bitte eine Geburtsnummer im Format XXXXXX/XXXX oder XXXXXXXXXX eingeben." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "Ungültiger Wert für Geschlecht, gültig sind: 'f' und 'm'" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Bitte eine gültige Geburtsnummer eingeben." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Bitte eine gültige IC-Nummer eingeben." @@ -2295,12 +2327,12 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thüringen" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Bitte eine gültige Postleitzahl im Format XXXXX eingeben." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2575,11 +2607,11 @@ msgstr "Foralgemeinschaft Navarra" msgid "Valencian Community" msgstr "Valencia" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Bitte eine gültige Postleitzahl im Format 01XXX bis 52XXX eingeben." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." @@ -2587,64 +2619,496 @@ msgstr "" "Bitte eine gültige Telefonnummer in einem der folgenden Formate eingeben " "6XXXXXXXX, 8XXXXXXXX oder 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Bitte eine gültige NIF, NIE oder CIF eingeben." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Bitte eine gültige NIF oder NIE eingeben." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Ungültige Prüfsumme für NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Ungültige Prüfsumme für NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Ungültige Prüfsumme für CIF." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" "Bitte eine gültige Kontonummer im Format XXXX-XXXX-XX-XXXXXXXXXX eingeben." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Ungültige Prüfsumme für Kontonummer." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Bitte eine gültige finnische Sozialversicherungsnummer eingeben." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Telefonnummern müssen das Format 0X XX XX XX XX haben." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Bitte eine gültige Postleitzahl eingeben" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Bitte eine gültige Telefonnummer eingeben" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Bitte eine gültige Nummernschildnummer eingeben" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Bitte eine gültige NIK/KTP-Nummer eingeben." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Jawa Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Jawa Tengah" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Jawa Timur" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Barat" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Selatan" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Tengah" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Timur" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Kepulauan Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Maluku" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Maluku Utara" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara Barat" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara Timur" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Barat" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Sulawesi Barat" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi Selatan" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi Tengah" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi Tenggara" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi Utara" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatera Barat" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera Selatan" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera Utara" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Bundesregierung" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wicklow" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Bitte eine gültige Postleitzahl im Format XXXXXXX eingeben." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "" "Bitte eine gültige isländische Identifikationsnummer im Format XXXXXX-XXXX " "eingeben." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Die isländische Identifikationsnummer ist nicht gültig." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Bitte eine gültige Postleitzahl eingeben." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Bitte eine gültige Sozialversicherungsnummer eingeben." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Bitte eine gültige Umsatzsteuernummer eingeben." @@ -2841,6 +3305,10 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Bitte eine gültige Kuwaitische Identifikationsnummer eingeben" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2969,15 +3437,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Bitte eine gültige Postleitzahl eingeben" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Bitte eine gültige Telefonnummer eingeben" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Bitte eine gültige SoFi-Nummer eingeben" @@ -3029,15 +3493,15 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Südholland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Bitte eine gültige norwegische Sozialversicherungsnummer eingeben." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Dieses Feld benötigt 8 Zeichen." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Dieses Feld benötigt 11 Zeichen." @@ -3139,6 +3603,15 @@ msgstr "Großpolen" msgid "West Pomerania" msgstr "Vorpommern" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Bitte eine gültige Postleitzahl im Format XXXX-XXX eingeben." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" +"Telefonnummern müssen aus 9 Ziffern bestehen, oder mit + oder 00 beginnen." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Bitte eine gültige CIF eingeben." @@ -3160,6 +3633,106 @@ msgstr "Telefonnummern müssen das Format XXXX-XXXXXX haben." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Bitte eine gültige Postleitzahl im Format XXXXXX eingeben" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Bitte eine gültige Schwedische Organisationsnummer eingeben." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Bitte eine gültige schwedische Personenidentifikationsnummer eingeben." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Ordnungsnummern sind nicht erlaubt." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Bitte eine gültige schwedische Postleitzahl im Format XXXXX eingeben." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stockholm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banská Bystrica" @@ -3792,22 +4365,47 @@ msgstr "Schottland" msgid "Wales" msgstr "Wales" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 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:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Telefonnummern müssen das Format XXX-XXX-XXXX haben." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" "Bitte eine gültige US-amerikanische Sozialversicherungsnummer im Format XXX-" "XX-XXXX eingeben." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Geben Sie einen US-Bundesstaat oder Territorium ein." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "U.S.-Bundesstaat (zwei Großbuchstaben)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Telefonnummer" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" +"Bitte eine gültige CI im Format X.XXX.XXX-X,XXXXXXX-X oder XXXXXXXX eingeben." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Bitte eine gültige CI-Nummer eingeben." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Bitte eine gültige südafrikanische Identifikationsnummer eingeben" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Bitte eine gültige südafrikanische Postleitzahl eingeben" @@ -3847,6 +4445,10 @@ msgstr "Nordwest" msgid "Western Cape" msgstr "Westkap" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "Lazy Nachricht" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "Umleitung von" @@ -3911,61 +4513,224 @@ msgstr "Anzeigename" msgid "sites" msgstr "Sites" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Dieser Wert muss eine Ganzzahl sein." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Bitte einen gültigen Wert eingeben." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Dieser Wert muss True oder False sein." +#: core/validators.py:87 forms/fields.py:528 +msgid "Enter a valid URL." +msgstr "Bitte eine gültige Adresse eingeben." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Dieses Feld darf nicht leer sein." +#: core/validators.py:89 forms/fields.py:529 +msgid "This URL appears to be a broken link." +msgstr "Diese Adresse scheint nicht gültig zu sein." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:877 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Bitte ein gültiges Kürzel, bestehend aus Buchstaben, Ziffern, Unterstrichen " +"und Bindestrichen, eingeben." + +#: core/validators.py:126 forms/fields.py:870 +msgid "Enter a valid IPv4 address." +msgstr "Bitte eine gültige IPv4-Adresse eingeben." + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "Bitte nur durch Komma getrennte Ziffern eingeben." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Bitte sicherstellen, dass der Wert %(limit_value)s ist. (Er ist %(show_value)" +"s)" + +#: core/validators.py:153 forms/fields.py:204 forms/fields.py:256 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Dieser Wert muss kleiner oder gleich %(limit_value)s sein." + +#: core/validators.py:158 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Dieser Wert muss größer oder gleich %(limit_value)s sein." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Bitte sicherstellen, dass der Wert mindestens %(limit_value)d Zeichen hat. " +"(Er hat %(show_value)d)" + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Bitte sicherstellen, dass der Wert maximal %(limit_value)d Zeichen hat. (Er " +"hat %(show_value)d)." + +#: db/models/base.py:823 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s muss für %(date_field)s %(lookup)s eindeutig sein." + +#: db/models/base.py:838 db/models/base.py:846 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s mit diesem %(field_label)s existiert bereits." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Wert %r ist keine gültige Option." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Dieses Feld darf nicht leer sein." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Dieses Feld darf nicht leer sein." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Feldtyp: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:860 +#: db/models/fields/__init__.py:969 db/models/fields/__init__.py:980 +#: db/models/fields/__init__.py:1007 +msgid "Integer" +msgstr "Ganzzahl" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:858 +msgid "This value must be an integer." +msgstr "Dieser Wert muss eine Ganzzahl sein." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Dieser Wert muss True oder False sein." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Boolescher Wert (True oder False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:990 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Zeichenkette (bis zu %(max_length)s Zeichen)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Kommaseparierte Liste von Ganzzahlen" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Datum (ohne Uhrzeit)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Bitte ein gültiges Datum im Format JJJJ-MM-TT eingeben." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Ungültiges Datum: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "" "Bitte eine gültige Datums- und Zeitangabe im Format JJJJ-MM-TT SS:MM[ss[." "uuuuuu]] eingeben." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Datum (mit Uhrzeit)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "Dieser Wert muss eine Dezimalzahl sein." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Dezimalzahl" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "E-Mail-Adresse" + +#: db/models/fields/__init__.py:807 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Dateipfad" + +#: db/models/fields/__init__.py:830 msgid "This value must be a float." msgstr "Dieser Wert muss eine Gleitkommazahl sein." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:832 +msgid "Floating point number" +msgstr "Gleitkommazahl" + +#: db/models/fields/__init__.py:891 +msgid "Big (8 byte) integer" +msgstr "Große Ganzzahl (8 Byte)" + +#: db/models/fields/__init__.py:920 msgid "This value must be either None, True or False." msgstr "Dieser Wert muss None, True oder False sein." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:922 +msgid "Boolean (Either True, False or None)" +msgstr "Boolescher Wert (True, False oder None)" + +#: db/models/fields/__init__.py:1013 +msgid "Text" +msgstr "Text" + +#: db/models/fields/__init__.py:1029 +msgid "Time" +msgstr "Zeit" + +#: db/models/fields/__init__.py:1033 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Bitte eine gültige Zeit im Format HH:MM[:ss[.uuuuuu]] eingeben." -#: db/models/fields/related.py:816 +#: db/models/fields/__init__.py:1125 +msgid "XML text" +msgstr "XML-Text" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Modell %(model)s mit dem Primärschlüssel %(pk)r ist nicht vorhanden." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Fremdschlüssel (Typ definiert durch verknüpftes Feld)" + +#: db/models/fields/related.py:919 +msgid "One-to-one relationship" +msgstr "One-to-one-Beziehung" + +#: db/models/fields/related.py:981 +msgid "Many-to-many relationship" +msgstr "Many-to-many-Beziehung" + +#: db/models/fields/related.py:1001 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Halten Sie die Strg-Taste (⌘ für Mac) während des Klickens gedrückt, um " "mehrere Einträge auszuwählen." -#: db/models/fields/related.py:894 +#: db/models/fields/related.py:1062 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3975,87 +4740,59 @@ msgstr[0] "" msgstr[1] "" "Bitte gültige IDs für %(self)s eingeben. Die Werte %(value)r sind ungültig." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Dieses Feld ist zwingend erforderlich." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Bitte einen gültigen Wert eingeben." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Bitte sicherstellen, dass der Text maximal %(max)d Zeichen hat. (Er hat %" -"(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Bitte sicherstellen, dass der Text wenigstens %(min)d Zeichen hat. (Er hat %" -"(length)d.)" - -#: forms/fields.py:166 +#: forms/fields.py:203 msgid "Enter a whole number." msgstr "Bitte eine ganze Zahl eingeben." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Dieser Wert muss kleiner oder gleich %s sein." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Dieser Wert muss größer oder gleich %s sein." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:234 forms/fields.py:255 msgid "Enter a number." msgstr "Bitte eine Zahl eingeben." -#: forms/fields.py:227 +#: forms/fields.py:258 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Bitte geben Sie nicht mehr als insgesamt %s Ziffern ein." -#: forms/fields.py:228 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Bitte geben Sie nicht mehr als %s Dezimalstellen ein." -#: forms/fields.py:229 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Bitte geben Sie nicht mehr als %s Ziffern vor dem Komma ein." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:322 forms/fields.py:837 msgid "Enter a valid date." msgstr "Bitte ein gültiges Datum eingeben." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:350 forms/fields.py:838 msgid "Enter a valid time." msgstr "Bitte eine gültige Uhrzeit eingeben." -#: forms/fields.py:361 +#: forms/fields.py:376 msgid "Enter a valid date/time." msgstr "Bitte ein gültiges Datum und Uhrzeit eingeben." -#: forms/fields.py:447 +#: forms/fields.py:434 msgid "No file was submitted. Check the encoding type on the form." msgstr "" "Es wurde keine Datei übermittelt. Überprüfen Sie das Encoding des Formulars." -#: forms/fields.py:448 +#: forms/fields.py:435 msgid "No file was submitted." msgstr "Es wurde keine Datei übertragen." -#: forms/fields.py:449 +#: forms/fields.py:436 msgid "The submitted file is empty." msgstr "Die ausgewählte Datei ist leer." -#: forms/fields.py:450 +#: forms/fields.py:437 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." @@ -4063,7 +4800,7 @@ msgstr "" "Bitte sicherstellen, dass der Dateiname maximal %(max)d Zeichen hat. (Er hat " "%(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:472 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -4071,117 +4808,89 @@ msgstr "" "Bitte ein Bild hochladen. Die hochgeladene Datei ist kein Bild oder ist " "defekt." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Bitte eine gültige Adresse eingeben." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "Diese Adresse scheint nicht gültig zu sein." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:595 forms/fields.py:670 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "" "Bitte eine gültige Auswahl treffen. %(value)s ist keine gültige Auswahl." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 +#: forms/fields.py:671 forms/fields.py:733 forms/models.py:1002 msgid "Enter a list of values." msgstr "Bitte eine Liste mit Werten eingeben." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Bitte eine gültige IPv4-Adresse eingeben." - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Bitte ein gültiges Kürzel, bestehend aus Buchstaben, Ziffern, Unterstrichen " -"und Bindestrichen, eingeben." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "Reihenfolge" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "%(field_name)s muss für %(date_field)s %(lookup)s eindeutig sein." - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s mit diesem %(field_label)s existiert bereits." - -#: forms/models.py:594 +#: forms/models.py:562 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Bitte die doppelten Daten für %(field)s korrigieren." -#: forms/models.py:598 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Bitte die doppelten Daten für %(field)s korrigieren, das eindeutig sein muss." +msgstr "" +"Bitte die doppelten Daten für %(field)s korrigieren, das eindeutig sein muss." -#: forms/models.py:604 +#: forms/models.py:572 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " "for the %(lookup)s in %(date_field)s." msgstr "" -"Bitte die doppelten Daten für %(field_name)s korrigieren, da es für " -"%(lookup)s in %(date_field)s eindeutig sein muss." +"Bitte die doppelten Daten für %(field_name)s korrigieren, da es für %(lookup)" +"s in %(date_field)s eindeutig sein muss." -#: forms/models.py:612 +#: forms/models.py:580 msgid "Please correct the duplicate values below." msgstr "Bitte die unten aufgeführten doppelten Werte korrigieren." -#: forms/models.py:867 +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "" "Der Inline-Fremdschlüssel passt nicht zum Primärschlüssel der übergeordneten " "Instanz." -#: forms/models.py:930 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Bitte eine gültige Auswahl treffen. Dies ist keine gültige Auswahl." -#: forms/models.py:1004 +#: forms/models.py:1003 #, 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." -#: forms/models.py:1006 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" ist kein gültiger Wert für einen Primärschlüssel." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "Ja,Nein,Vielleicht" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d Byte" msgstr[1] "%(size)d Bytes" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4387,7 +5096,7 @@ msgstr "Nov." msgid "Dec." msgstr "Dez." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "oder" @@ -4441,33 +5150,76 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "j. N Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j. N Y, H:i" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "j. F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s wurde erfolgreich angelegt." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s wurde erfolgreich aktualisiert." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s wurde gelöscht." + +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "Ein oder mehrere %(fieldname)s in %(name)s: %(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "Ein oder mehrere %(fieldname)s in %(name)s:" + +#~ msgid "Old password:" +#~ msgstr "Altes Passwort:" + +#~ msgid "Relation to parent model" +#~ msgstr "Beziehung zum Eltern-Modell" + +#~ msgid "Add user" +#~ msgstr "Benutzer hinzufügen" + +#~ msgid "Comment moderation queue" +#~ msgstr "Kommentar-Moderation" + +#~ msgid "No comments to moderate" +#~ msgstr "Es sind keine Kommentare zu moderieren" + +#~ msgid "Email" +#~ msgstr "E-Mail-Adresse" + +#~ msgid "Authenticated?" +#~ msgstr "Authentifiziert?" + +#~ msgid "IP Address" +#~ msgstr "IP-Adresse" + +#~ msgid "Date posted" +#~ msgstr "Verfassungsdatum" + +#~ msgid "yes" +#~ msgstr "ja" + +#~ msgid "no" +#~ msgstr "nein" diff --git a/django/conf/locale/de/LC_MESSAGES/djangojs.mo b/django/conf/locale/de/LC_MESSAGES/djangojs.mo index 453b5efc2190d5f79d23260bc2f7037953c63b13..403ca38cb418cd61f0201388f8776646883ea0b4 100644 GIT binary patch literal 2723 zcma)-O>7%Q6vqcBv<*<8l1iI5Bza3{}cEq`agqX;BVl5@Q(p+ zf)Ap93)}F$@l$QQ#O`HK^j-l8d=C`4Yv2s{4Jdkl2Sv{fQ0(3W zKLc-pAA+A^Q3otQcoi{z37$m%28_u1BYTy47@PtRfU}_JI|GWo4G=$d5wFL=Ciob5 zWx)4Am{OmB694C51-u4|-akQ!XD^hBy#t`=Jp@X8FM}_EM?qP?0-gXjK#~6dl=UBj zP^G>AzXiVnzXz*OCh_jWV%b8G6}|F2g(f~chbFPfda*5!#PAFn)TkHGMjvdIdLHcw zv_pdl@#R@G*@Gw1o<@_nB_{{bYWmu0i9IbsO-B0j>v*?>cv! zbfH~Pb8)QZy4obVmN1Q{YF;O7W9{)_>zt_hmUAhSreNB<+e`9^lx@BwVeLuFSmNrN z>a>Yjt!SHR-=ih2`TV1-eZ56<9d8mU>mIFSmhnn@G?z8AG*E>*f!j6qv{nyJc-D3M z0}EWwKUCSo)-+o|opsLQwWZE+8&ax5WvbG7v?Z#jN}d7gxy)0&XSAy5~8z{jX{(^ZC${H!@SvA@lf9Ro8#Fo%hglfz!bG#08g8 zOLuv93t*FUJs4+?=H}s1E?_4DwRMcV+8#XAw#nE+OUA~gYvN2N)G(aHX@Q_~!ZUTe zt6`6NlsLC(Y?B(!Q)n@ra#YJgz+$h_mq8ennTmMQpDU=lx&|Rh)~;(QR>s5h^_>gu zPUon{p+M`{ew>hgX4h5;lCr+ED{R3|y!&(w2sTTKDb}?nbm6NAIvtu`eZBxP%DZ*g5VvAEI*FG;#EH z)=Z463n>O#LP20oT6i^1N zuA@AaO$fTFRyb@2wP*t}ZDCfb)I#2*O2MBk-AX8UZZuFzQI2ReuTMH_s6}Ik-d3Eo zP$!j2uwdAxc^_7`9IEO91aO>XY{?@(U`4m3uTFCoSe2cZ1fR+)75p%ayIzA$HmJgL zn{v7(ox{yTwUPq7nNRP$i=5%EL4#a3xs8Us?2<(W6U1Irr@3jhEB delta 599 zcmZ9}y-UMD7{~D^ZDXsg(bmQnRH&efAT|&opu4y#3jPI7F1k1bx=0sYN^w$f=u#J# zZvF$(N$6ZU39dSHaP#|<8^q)8KKGJ)E>F@4JEg{`lDjj?B5j2>q;1e1JUU7}V>W>i zW--AM?qLBB-2Nd>Ge5;CJi|%6aHi-pZ(GUGYsK1~+eR7p5O^5Zn z6jaYEYZYZRPt)1|C3Fi)Y|f3z%i;w(WmR#DeC^+?%Wkd=l-=Lb>t;^8_M^XFtS4L4 QXr~s%?JxhWx0z49ACVF(SO5S3 diff --git a/django/conf/locale/de/LC_MESSAGES/djangojs.po b/django/conf/locale/de/LC_MESSAGES/djangojs.po index 7502d22ef..baabbd8fc 100644 --- a/django/conf/locale/de/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/de/LC_MESSAGES/djangojs.po @@ -7,44 +7,84 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-15 14:38+0200\n" +"POT-Creation-Date: 2010-05-05 00:38+0200\n" "PO-Revision-Date: 2008-06-23 21:02+0100\n" "Last-Translator: Jannis Leidel \n" "Language-Team: \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" -#: contrib/admin/media/js/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "Verfügbare %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Alles auswählen" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Hinzufügen" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "Entfernen" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "Ausgewählte %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "Auswahl treffen und Klick auf" -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Alles abwählen" +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s von %(cnt)s ausgewählt" +msgstr[1] "%(sel)s von %(cnt)s ausgewählt" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Sie haben Änderungen an editierbaren Feldern vorgenommen und nicht " +"gespeichert. Wollen Sie die Aktion trotzdem ausführen und Ihre Änderungen " +"verwerfen?" + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Sie haben eine Aktion ausgewählt, aber ihre vorgenommenen Änderungen nicht " +"gespeichert. Klicken Sie OK, um dennoch zu speichern. Danach müssen Sie die " +"Aktion erneut ausführen." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Sie haben eine Aktion ausgewählt, aber keine Änderungen an editierbaren " +"Feldern vorgenommen. Sie wollten wahrscheinlich auf 'Ausführen' und nicht " +"auf 'Speichern' klicken." + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -58,62 +98,63 @@ msgstr "" msgid "S M T W T F S" msgstr "S M D M D F S" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Einblenden" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Ausblenden" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "Einblenden" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "Ausblenden" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Jetzt" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "Uhr" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Uhrzeit" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "Mitternacht" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "6 Uhr" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "Mittag" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Abbrechen" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "Heute" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Kalender" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "Gestern" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "Morgen" diff --git a/django/conf/locale/de/__init__.py b/django/conf/locale/de/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/de/formats.py b/django/conf/locale/de/formats.py new file mode 100644 index 000000000..7ea1d6387 --- /dev/null +++ b/django/conf/locale/de/formats.py @@ -0,0 +1,32 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j. F Y' +TIME_FORMAT = 'H:i:s' +DATETIME_FORMAT = 'j. F Y H:i:s' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'd.m.Y' +SHORT_DATETIME_FORMAT = 'd.m.Y H:i:s' +FIRST_DAY_OF_WEEK = 1 # Monday +DATE_INPUT_FORMATS = ( + '%d.%m.%Y', '%d.%m.%y', # '25.10.2006', '25.10.06' + '%Y-%m-%d', '%y-%m-%d', # '2006-10-25', '06-10-25' + # '%d. %B %Y', '%d. %b. %Y', # '25. October 2006', '25. Oct. 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' + '%d.%m.%Y %H:%M', # '25.10.2006 14:30' + '%d.%m.%Y', # '25.10.2006' + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/el/__init__.py b/django/conf/locale/el/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/el/formats.py b/django/conf/locale/el/formats.py new file mode 100644 index 000000000..d476ab388 --- /dev/null +++ b/django/conf/locale/el/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'd F Y' +TIME_FORMAT = 'g:i:s A' +# DATETIME_FORMAT = +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'd M Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +# NUMBER_GROUPING = diff --git a/django/conf/locale/en/LC_MESSAGES/django.mo b/django/conf/locale/en/LC_MESSAGES/django.mo index d761abb148226ac8ff1e67d7b5f7487b9b6c3499..c498c9a6744bcb59c62159511f6f2a88910ff269 100644 GIT binary patch delta 29 kcmdnPvWI1ZHKU-Rfv$n6uA#Alp{bRzskVX9WFN*40B|P\n" "Language-Team: LANGUAGE \n" @@ -17,197 +17,259 @@ msgid "Arabic" msgstr "" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "" + #: conf/global_settings.py:47 -msgid "Catalan" +msgid "Bosnian" msgstr "" #: conf/global_settings.py:48 -msgid "Czech" +msgid "Catalan" msgstr "" #: conf/global_settings.py:49 -msgid "Welsh" +msgid "Czech" msgstr "" #: conf/global_settings.py:50 -msgid "Danish" +msgid "Welsh" msgstr "" #: conf/global_settings.py:51 -msgid "German" +msgid "Danish" msgstr "" #: conf/global_settings.py:52 -msgid "Greek" +msgid "German" msgstr "" #: conf/global_settings.py:53 -msgid "English" +msgid "Greek" msgstr "" #: conf/global_settings.py:54 -msgid "Spanish" +msgid "English" msgstr "" #: conf/global_settings.py:55 -msgid "Estonian" +msgid "British English" msgstr "" #: conf/global_settings.py:56 -msgid "Argentinean Spanish" +msgid "Spanish" msgstr "" #: conf/global_settings.py:57 -msgid "Basque" +msgid "Argentinean Spanish" msgstr "" #: conf/global_settings.py:58 -msgid "Persian" +msgid "Estonian" msgstr "" #: conf/global_settings.py:59 -msgid "Finnish" +msgid "Basque" msgstr "" #: conf/global_settings.py:60 -msgid "French" +msgid "Persian" msgstr "" #: conf/global_settings.py:61 -msgid "Irish" +msgid "Finnish" msgstr "" #: conf/global_settings.py:62 -msgid "Galician" +msgid "French" msgstr "" #: conf/global_settings.py:63 -msgid "Hungarian" +msgid "Frisian" msgstr "" #: conf/global_settings.py:64 -msgid "Hebrew" +msgid "Irish" msgstr "" #: conf/global_settings.py:65 -msgid "Croatian" +msgid "Galician" msgstr "" #: conf/global_settings.py:66 -msgid "Icelandic" +msgid "Hebrew" msgstr "" #: conf/global_settings.py:67 -msgid "Italian" +msgid "Hindi" msgstr "" #: conf/global_settings.py:68 -msgid "Japanese" +msgid "Croatian" msgstr "" #: conf/global_settings.py:69 -msgid "Georgian" +msgid "Hungarian" msgstr "" #: conf/global_settings.py:70 -msgid "Korean" +msgid "Indonesian" msgstr "" #: conf/global_settings.py:71 -msgid "Khmer" +msgid "Icelandic" msgstr "" #: conf/global_settings.py:72 -msgid "Kannada" +msgid "Italian" msgstr "" #: conf/global_settings.py:73 -msgid "Latvian" +msgid "Japanese" msgstr "" #: conf/global_settings.py:74 -msgid "Lithuanian" +msgid "Georgian" msgstr "" #: conf/global_settings.py:75 -msgid "Macedonian" +msgid "Khmer" msgstr "" #: conf/global_settings.py:76 -msgid "Dutch" +msgid "Kannada" msgstr "" #: conf/global_settings.py:77 -msgid "Norwegian" +msgid "Korean" msgstr "" #: conf/global_settings.py:78 -msgid "Polish" +msgid "Lithuanian" msgstr "" #: conf/global_settings.py:79 -msgid "Portugese" +msgid "Latvian" msgstr "" #: conf/global_settings.py:80 -msgid "Brazilian Portuguese" +msgid "Macedonian" msgstr "" #: conf/global_settings.py:81 -msgid "Romanian" +msgid "Mongolian" msgstr "" #: conf/global_settings.py:82 -msgid "Russian" +msgid "Dutch" msgstr "" #: conf/global_settings.py:83 -msgid "Slovak" +msgid "Norwegian" msgstr "" #: conf/global_settings.py:84 -msgid "Slovenian" +msgid "Norwegian Bokmal" msgstr "" #: conf/global_settings.py:85 -msgid "Serbian" +msgid "Norwegian Nynorsk" msgstr "" #: conf/global_settings.py:86 -msgid "Swedish" +msgid "Polish" msgstr "" #: conf/global_settings.py:87 -msgid "Tamil" +msgid "Portuguese" msgstr "" #: conf/global_settings.py:88 -msgid "Telugu" +msgid "Brazilian Portuguese" msgstr "" #: conf/global_settings.py:89 -msgid "Turkish" +msgid "Romanian" msgstr "" #: conf/global_settings.py:90 -msgid "Ukrainian" +msgid "Russian" msgstr "" #: conf/global_settings.py:91 -msgid "Simplified Chinese" +msgid "Slovak" msgstr "" #: conf/global_settings.py:92 +msgid "Slovenian" +msgstr "" + +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "" + +#: conf/global_settings.py:94 +msgid "Serbian" +msgstr "" + +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "" + +#: conf/global_settings.py:96 +msgid "Swedish" +msgstr "" + +#: conf/global_settings.py:97 +msgid "Tamil" +msgstr "" + +#: conf/global_settings.py:98 +msgid "Telugu" +msgstr "" + +#: conf/global_settings.py:99 +msgid "Thai" +msgstr "" + +#: conf/global_settings.py:100 +msgid "Turkish" +msgstr "" + +#: conf/global_settings.py:101 +msgid "Ukrainian" +msgstr "" + +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "" + +#: conf/global_settings.py:103 +msgid "Simplified Chinese" +msgstr "" + +#: conf/global_settings.py:104 msgid "Traditional Chinese" msgstr "" +#: contrib/admin/actions.py:48 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 +msgid "Are you sure?" +msgstr "" + +#: contrib/admin/actions.py:73 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + #: contrib/admin/filterspecs.py:44 #, python-format msgid "" @@ -215,7 +277,7 @@ msgid "" "

        \n" msgstr "" -#: contrib/admin/filterspecs.py:74 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 #: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 msgid "All" msgstr "" @@ -240,18 +302,22 @@ msgstr "" msgid "This year" msgstr "" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:391 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:391 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:391 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "" +#: contrib/admin/helpers.py:20 +msgid "Action:" +msgstr "" + #: contrib/admin/models.py:19 msgid "action time" msgstr "" @@ -280,166 +346,186 @@ msgstr "" msgid "log entries" msgstr "" -#: contrib/admin/options.py:60 contrib/admin/options.py:121 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "" -#: contrib/admin/options.py:338 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "" -#: contrib/admin/options.py:338 contrib/admin/options.py:348 -#: forms/models.py:275 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:845 +#: forms/models.py:568 msgid "and" msgstr "" -#: contrib/admin/options.py:343 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "" -#: contrib/admin/options.py:347 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "" -#: contrib/admin/options.py:352 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "" -#: contrib/admin/options.py:356 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "" -#: contrib/admin/options.py:417 contrib/auth/admin.py:51 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "" -#: contrib/admin/options.py:421 contrib/admin/options.py:454 -#: contrib/auth/admin.py:59 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "" -#: contrib/admin/options.py:431 contrib/admin/options.py:464 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "" -#: contrib/admin/options.py:452 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "" -#: contrib/admin/options.py:460 +#: contrib/admin/options.py:686 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "" -#: contrib/admin/options.py:536 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "" + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "" -#: contrib/admin/options.py:614 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "" + +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "" -#: contrib/admin/options.py:646 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "" -#: contrib/admin/options.py:696 +#: contrib/admin/options.py:1039 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "" -#: contrib/admin/options.py:703 -msgid "Are you sure?" -msgstr "" - -#: contrib/admin/options.py:732 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "" -#: contrib/admin/sites.py:16 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." msgstr "" -#: contrib/admin/sites.py:227 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "" -#: contrib/admin/sites.py:234 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." msgstr "" -#: contrib/admin/sites.py:250 contrib/admin/sites.py:256 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "" -#: contrib/admin/sites.py:253 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "" -#: contrib/admin/sites.py:313 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "" -#: contrib/admin/sites.py:326 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "" -#: contrib/admin/sites.py:373 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "" -#: contrib/admin/util.py:138 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "" - -#: contrib/admin/util.py:143 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "" - -#: contrib/admin/widgets.py:70 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "" -#: contrib/admin/widgets.py:70 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "" -#: contrib/admin/widgets.py:94 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "" -#: contrib/admin/widgets.py:94 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "" -#: contrib/admin/widgets.py:121 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "" -#: contrib/admin/widgets.py:228 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "" @@ -454,16 +540,17 @@ msgstr "" #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:30 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:8 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -490,34 +577,55 @@ msgid "" "mail and should be fixed shortly. Thanks for your patience." msgstr "" +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "" -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "" -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "" -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/auth/user/change_password.html:13 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "" -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "" @@ -529,40 +637,42 @@ msgstr "" msgid "Django administration" msgstr "" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:25 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/auth/user/change_password.html:22 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "" msgstr[1] "" -#: contrib/admin/templates/admin/change_list.html:16 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "" -#: contrib/admin/templates/admin/change_list.html:26 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:246 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "" @@ -582,9 +692,29 @@ msgid "" msgstr "" #: contrib/admin/templates/admin/delete_confirmation.html:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 msgid "Yes, I'm sure" msgstr "" +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)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_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" + #: contrib/admin/templates/admin/filter.html:2 #, python-format msgid " By %(filter_title)s " @@ -615,6 +745,10 @@ msgstr "" msgid "None available" msgstr "" +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "" + #: contrib/admin/templates/admin/invalid_setup.html:7 msgid "" "Something's wrong with your database installation. Make sure the appropriate " @@ -642,11 +776,6 @@ msgstr "" msgid "Action" msgstr "" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:404 -msgid "DATETIME_FORMAT" -msgstr "N j, Y, P" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -657,8 +786,13 @@ msgstr "" msgid "Show all" msgstr "" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "" + #: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" +msgid "Search" msgstr "" #: contrib/admin/templates/admin/search_form.html:10 @@ -673,10 +807,6 @@ msgstr[1] "" msgid "%(full_result_count)s total" msgstr "" -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "" @@ -689,37 +819,43 @@ msgstr "" msgid "Save and continue editing" msgstr "" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 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:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" +#: 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/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:33 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:184 +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 msgid "Password" msgstr "" -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:39 -#: contrib/auth/forms.py:185 +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 msgid "Password (again)" msgstr "" -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 msgid "Enter the same password as above, for verification." msgstr "" -#: contrib/admin/templates/admin/auth/user/change_password.html:26 +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 #, python-format -msgid "Enter a new password for the user %(username)s." +msgid "Add another %(verbose_name)s" +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" msgstr "" #: contrib/admin/templates/admin/edit_inline/tabular.html:15 @@ -735,9 +871,9 @@ msgid "Log in again" 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 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "" @@ -750,27 +886,23 @@ msgstr "" msgid "Your password was changed." msgstr "" -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" msgstr "" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" msgstr "" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "" @@ -807,6 +939,14 @@ msgid "" "correctly." msgstr "" +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "" @@ -868,165 +1008,85 @@ msgstr "" msgid "Reset my password" msgstr "" -#: contrib/admin/templatetags/admin_list.py:288 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "" -#: contrib/admin/views/main.py:69 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "" -#: contrib/admin/views/main.py:69 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "" -#: contrib/admin/views/template.py:36 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "" -#: contrib/admin/views/template.py:38 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "" -#: contrib/admindocs/views.py:57 contrib/admindocs/views.py:59 -#: contrib/admindocs/views.py:61 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "" -#: contrib/admindocs/views.py:90 contrib/admindocs/views.py:92 -#: contrib/admindocs/views.py:94 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "" -#: contrib/admindocs/views.py:154 contrib/admindocs/views.py:156 -#: contrib/admindocs/views.py:158 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "" -#: contrib/admindocs/views.py:186 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "" -#: contrib/admindocs/views.py:193 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "" -#: contrib/admindocs/views.py:205 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "" -#: contrib/admindocs/views.py:205 contrib/admindocs/views.py:227 -#: contrib/admindocs/views.py:241 contrib/admindocs/views.py:246 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "" -#: contrib/admindocs/views.py:236 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "" -#: contrib/admindocs/views.py:241 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "" -#: contrib/admindocs/views.py:246 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "" -#: contrib/admindocs/views.py:251 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "" -#: contrib/admindocs/views.py:314 contrib/admindocs/views.py:325 -#: contrib/admindocs/views.py:327 contrib/admindocs/views.py:333 -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:336 -msgid "Integer" -msgstr "" - -#: contrib/admindocs/views.py:315 -msgid "Boolean (Either True or False)" -msgstr "" - -#: contrib/admindocs/views.py:316 contrib/admindocs/views.py:335 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -#: contrib/admindocs/views.py:317 -msgid "Comma-separated integers" -msgstr "" - -#: contrib/admindocs/views.py:318 -msgid "Date (without time)" -msgstr "" - -#: contrib/admindocs/views.py:319 -msgid "Date (with time)" -msgstr "" - -#: contrib/admindocs/views.py:320 -msgid "Decimal number" -msgstr "" - -#: contrib/admindocs/views.py:321 -msgid "E-mail address" -msgstr "" - -#: contrib/admindocs/views.py:322 contrib/admindocs/views.py:323 -#: contrib/admindocs/views.py:326 -msgid "File path" -msgstr "" - -#: contrib/admindocs/views.py:324 -msgid "Floating point number" -msgstr "" - -#: contrib/admindocs/views.py:328 contrib/comments/models.py:58 -msgid "IP address" -msgstr "" - -#: contrib/admindocs/views.py:330 -msgid "Boolean (Either True, False or None)" -msgstr "" - -#: contrib/admindocs/views.py:331 -msgid "Relation to parent model" -msgstr "" - -#: contrib/admindocs/views.py:332 -msgid "Phone number" -msgstr "" - -#: contrib/admindocs/views.py:337 -msgid "Text" -msgstr "" - -#: contrib/admindocs/views.py:338 -msgid "Time" -msgstr "" - -#: contrib/admindocs/views.py:339 contrib/comments/forms.py:22 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "" - -#: contrib/admindocs/views.py:340 -msgid "U.S. state (two uppercase letters)" -msgstr "" - -#: contrib/admindocs/views.py:341 -msgid "XML text" -msgstr "" - -#: contrib/admindocs/views.py:367 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "" @@ -1086,304 +1146,365 @@ msgstr "" msgid "As above, but opens the admin page in a new window." msgstr "" -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "" -#: contrib/auth/admin.py:64 -msgid "Add user" -msgstr "" - -#: contrib/auth/admin.py:90 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "" -#: contrib/auth/admin.py:96 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:136 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" msgstr "" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." msgstr "" #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "" -#: contrib/auth/forms.py:36 contrib/auth/forms.py:154 -#: contrib/auth/forms.py:196 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "" -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "" -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." msgstr "" -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" msgstr "" -#: contrib/auth/forms.py:134 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "" -#: contrib/auth/forms.py:142 -msgid "New password" -msgstr "" - -#: contrib/auth/forms.py:143 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "" -#: contrib/auth/forms.py:168 -msgid "Old password" -msgstr "" - -#: contrib/auth/forms.py:176 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "" -#: contrib/auth/models.py:72 contrib/auth/models.py:95 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "" -#: contrib/auth/models.py:74 +#: contrib/auth/models.py:68 msgid "codename" msgstr "" -#: contrib/auth/models.py:77 +#: contrib/auth/models.py:72 msgid "permission" msgstr "" -#: contrib/auth/models.py:78 contrib/auth/models.py:96 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "" -#: contrib/auth/models.py:99 +#: contrib/auth/models.py:98 msgid "group" msgstr "" -#: contrib/auth/models.py:100 contrib/auth/models.py:146 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "" -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:196 msgid "username" msgstr "" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "" -#: contrib/auth/models.py:138 +#: contrib/auth/models.py:198 msgid "last name" msgstr "" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "" -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:200 msgid "password" msgstr "" -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." msgstr "" -#: contrib/auth/models.py:141 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "" -#: contrib/auth/models.py:141 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "" -#: contrib/auth/models.py:142 +#: contrib/auth/models.py:202 msgid "active" msgstr "" -#: contrib/auth/models.py:142 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "" -#: contrib/auth/models.py:143 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "" -#: contrib/auth/models.py:143 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "" -#: contrib/auth/models.py:144 +#: contrib/auth/models.py:204 msgid "last login" msgstr "" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "" -#: contrib/auth/models.py:147 +#: contrib/auth/models.py:207 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:148 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "" -#: contrib/auth/models.py:152 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 msgid "user" msgstr "" -#: contrib/auth/models.py:153 +#: contrib/auth/models.py:213 msgid "users" msgstr "" -#: contrib/auth/models.py:308 +#: contrib/auth/models.py:394 msgid "message" msgstr "" -#: contrib/auth/views.py:50 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:428 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "" -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "" -#: contrib/comments/forms.py:20 +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "" + +#: contrib/comments/forms.py:93 msgid "Name" msgstr "" -#: contrib/comments/forms.py:21 +#: contrib/comments/forms.py:94 msgid "Email address" msgstr "" -#: contrib/comments/forms.py:23 +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "" + +#: contrib/comments/forms.py:96 msgid "Comment" msgstr "" -#: contrib/comments/forms.py:26 -msgid "" -"If you enter anything in this field your comment will be treated as spam" -msgstr "" - -#: contrib/comments/forms.py:126 +#: contrib/comments/forms.py:175 #, 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] "" -#: contrib/comments/models.py:23 +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "" + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "" + +#: contrib/comments/models.py:24 msgid "object ID" msgstr "" -#: contrib/comments/models.py:50 +#: contrib/comments/models.py:52 msgid "user's name" msgstr "" -#: contrib/comments/models.py:51 +#: contrib/comments/models.py:53 msgid "user's email address" msgstr "" -#: contrib/comments/models.py:52 +#: contrib/comments/models.py:54 msgid "user's URL" msgstr "" -#: contrib/comments/models.py:54 +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 msgid "comment" msgstr "" -#: contrib/comments/models.py:57 +#: contrib/comments/models.py:59 msgid "date/time submitted" msgstr "" -#: contrib/comments/models.py:59 +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "" + +#: contrib/comments/models.py:61 msgid "is public" msgstr "" -#: contrib/comments/models.py:60 +#: contrib/comments/models.py:62 msgid "" "Uncheck this box to make the comment effectively disappear from the site." msgstr "" -#: contrib/comments/models.py:62 +#: contrib/comments/models.py:64 msgid "is removed" msgstr "" -#: contrib/comments/models.py:63 +#: contrib/comments/models.py:65 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:115 +#: contrib/comments/models.py:77 +msgid "comments" +msgstr "" + +#: contrib/comments/models.py:119 msgid "" "This comment was posted by an authenticated user and thus the name is read-" "only." msgstr "" -#: contrib/comments/models.py:124 +#: contrib/comments/models.py:128 msgid "" "This comment was posted by an authenticated user and thus the email is read-" "only." msgstr "" -#: contrib/comments/models.py:149 +#: contrib/comments/models.py:153 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -1393,15 +1514,115 @@ msgid "" "http://%(domain)s%(url)s" msgstr "" -#: contrib/contenttypes/models.py:67 +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:4 +msgid "Approve a comment" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "" + +#: contrib/comments/templates/comments/approved.html:4 +msgid "Thanks for approving" +msgstr "" + +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "" + +#: contrib/comments/templates/comments/delete.html:4 +msgid "Remove a comment" +msgstr "" + +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "" + +#: contrib/comments/templates/comments/deleted.html:4 +msgid "Thanks for removing" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:12 +msgid "Flag" +msgstr "" + +#: contrib/comments/templates/comments/flagged.html:4 +msgid "Thanks for flagging" +msgstr "" + +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +msgid "Post" +msgstr "" + +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +msgid "Preview" +msgstr "" + +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "" + +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:11 +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "or make changes" +msgstr "" + +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "" -#: contrib/contenttypes/models.py:71 -msgid "content type" -msgstr "" - -#: contrib/contenttypes/models.py:72 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "" @@ -1458,24 +1679,62 @@ msgstr "" msgid "flat pages" msgstr "" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." msgstr "" -#: contrib/gis/forms/fields.py:14 +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "" + +#: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "" -#: contrib/gis/forms/fields.py:15 +#: contrib/gis/forms/fields.py:18 msgid "Invalid geometry value." msgstr "" -#: contrib/gis/forms/fields.py:16 +#: contrib/gis/forms/fields.py:19 msgid "Invalid geometry type." msgstr "" +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" + #: contrib/humanize/templatetags/humanize.py:19 msgid "th" msgstr "" @@ -1561,25 +1820,25 @@ msgstr "" msgid "yesterday" msgstr "" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "" -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "" -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "" -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "" -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "" @@ -1619,8 +1878,8 @@ msgstr "" msgid "Vienna" msgstr "" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "" @@ -1628,45 +1887,45 @@ msgstr "" msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." msgstr "" -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "" -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "" -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "" -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "" -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "" -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "" -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "" -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "" -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" @@ -1774,24 +2033,100 @@ msgstr "" msgid "Zurich" msgstr "" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." msgstr "" -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "" -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "" -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "" +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:11 +msgid "Pilsen Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:13 +msgid "Usti Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:14 +msgid "Liberec Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:15 +msgid "Hradec Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:16 +msgid "Pardubice Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:17 +msgid "Vysocina Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:20 +msgid "Zlin Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "" + +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "" + +#: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "" + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" + +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "" + +#: contrib/localflavor/cz/forms.py:107 +msgid "Enter a valid IC number." +msgstr "" + #: contrib/localflavor/de/de_states.py:5 msgid "Baden-Wuerttemberg" msgstr "" @@ -1856,12 +2191,12 @@ msgstr "" msgid "Thuringia" msgstr "" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "" -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2134,71 +2469,503 @@ msgstr "" msgid "Valencian Community" msgstr "" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "" -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." msgstr "" -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "" -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "" -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "" -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "" -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "" -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "" -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "" -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "" + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "" -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "" -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "" -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "" -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "" -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "" @@ -2394,6 +3161,10 @@ msgstr "" msgid "Okinawa" msgstr "" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "" @@ -2522,15 +3293,11 @@ msgstr "" msgid "Zacatecas" msgstr "" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "" @@ -2582,15 +3349,15 @@ msgstr "" msgid "Zuid-Holland" msgstr "" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "" -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "" -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "" @@ -2611,15 +3378,15 @@ msgstr "" msgid "Wrong checksum for the Tax Number (NIP)." msgstr "" -#: contrib/localflavor/pl/forms.py:111 -msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." msgstr "" -#: contrib/localflavor/pl/forms.py:112 +#: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." msgstr "" -#: contrib/localflavor/pl/forms.py:155 +#: contrib/localflavor/pl/forms.py:148 msgid "Enter a postal code in the format XX-XXX." msgstr "" @@ -2687,6 +3454,14 @@ msgstr "" msgid "West Pomerania" msgstr "" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "" + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "" @@ -2707,8 +3482,104 @@ msgstr "" msgid "Enter a valid postal code in the format XXXXXX" msgstr "" -#: contrib/localflavor/sk/forms.py:30 -msgid "Enter a postal code in the format XXXXX or XXX XX." +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "" + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "" + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" msgstr "" #: contrib/localflavor/sk/sk_districts.py:8 @@ -3343,19 +4214,43 @@ msgstr "" msgid "Wales" msgstr "" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "" -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "" + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "" + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "" @@ -3395,6 +4290,10 @@ msgstr "" msgid "Western Cape" msgstr "" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "" @@ -3455,53 +4354,212 @@ msgstr "" msgid "sites" msgstr "" -#: db/models/fields/__init__.py:348 db/models/fields/__init__.py:683 -msgid "This value must be an integer." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." msgstr "" -#: db/models/fields/__init__.py:379 -msgid "This value must be either True or False." +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." msgstr "" -#: db/models/fields/__init__.py:412 -msgid "This field cannot be null." +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." msgstr "" -#: db/models/fields/__init__.py:428 +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "" + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "" -#: db/models/fields/__init__.py:459 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" + +#: db/models/base.py:823 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" + +#: db/models/base.py:838 db/models/base.py:846 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "" + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "" + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "" + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "" + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "" + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "" -#: db/models/fields/__init__.py:468 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "" -#: db/models/fields/__init__.py:532 db/models/fields/__init__.py:550 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "" -#: db/models/fields/__init__.py:586 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "" -#: db/models/fields/__init__.py:719 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "" + +#: db/models/fields/__init__.py:822 +msgid "This value must be a float." +msgstr "" + +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "" -#: db/models/fields/__init__.py:817 db/models/fields/__init__.py:831 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "" -#: db/models/fields/related.py:761 +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "" + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "" + +#: db/models/fields/related.py:1000 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" -#: db/models/fields/related.py:838 +#: db/models/fields/related.py:1061 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3509,178 +4567,168 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "" -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "" - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "" -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "" - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "" - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "" -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "" -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "" -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "" -#: forms/fields.py:287 forms/fields.py:848 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "" -#: forms/fields.py:321 forms/fields.py:849 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "" -#: forms/fields.py:360 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "" -#: forms/fields.py:446 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "" -#: forms/fields.py:447 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "" -#: forms/fields.py:448 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "" -#: forms/fields.py:477 +#: forms/fields.py:438 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" + +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." msgstr "" -#: forms/fields.py:538 -msgid "Enter a valid URL." -msgstr "" - -#: forms/fields.py:539 -msgid "This URL appears to be a broken link." -msgstr "" - -#: forms/fields.py:618 forms/fields.py:696 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "" -#: forms/fields.py:697 forms/fields.py:758 forms/models.py:654 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 msgid "Enter a list of values." msgstr "" -#: forms/fields.py:877 -msgid "Enter a valid IPv4 address." -msgstr "" - -#: forms/fields.py:887 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" - -#: forms/formsets.py:242 forms/formsets.py:244 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "" -#: forms/models.py:268 forms/models.py:277 +#: forms/models.py:562 #, python-format -msgid "%(model_name)s with this %(field_label)s already exists." +msgid "Please correct the duplicate data for %(field)s." msgstr "" -#: forms/models.py:584 +#: forms/models.py:566 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#: forms/models.py:572 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +#: forms/models.py:580 +msgid "Please correct the duplicate values below." +msgstr "" + +#: forms/models.py:855 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "" + +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" -#: forms/models.py:655 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "" -#: template/defaultfilters.py:706 +#: forms/models.py:1005 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "" + +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "" -#: template/defaultfilters.py:737 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "" msgstr[1] "" -#: template/defaultfilters.py:739 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" +msgid "%s KB" msgstr "" -#: template/defaultfilters.py:741 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" +msgid "%s MB" msgstr "" -#: template/defaultfilters.py:742 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "" - -#: utils/dateformat.py:41 -msgid "p.m." +msgid "%s GB" msgstr "" #: utils/dateformat.py:42 +msgid "p.m." +msgstr "" + +#: utils/dateformat.py:43 msgid "a.m." msgstr "" -#: utils/dateformat.py:47 +#: utils/dateformat.py:48 msgid "PM" msgstr "" -#: utils/dateformat.py:48 +#: utils/dateformat.py:49 msgid "AM" msgstr "" -#: utils/dateformat.py:97 +#: utils/dateformat.py:98 msgid "midnight" msgstr "" -#: utils/dateformat.py:99 +#: utils/dateformat.py:100 msgid "noon" msgstr "" @@ -3864,7 +4912,7 @@ msgstr "" msgid "Dec." msgstr "" -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "" @@ -3904,48 +4952,51 @@ msgid_plural "minutes" msgstr[0] "" msgstr[1] "" -#: utils/timesince.py:43 +#: utils/timesince.py:45 msgid "minutes" msgstr "" -#: utils/timesince.py:48 +#: utils/timesince.py:50 #, python-format msgid "%(number)d %(type)s" msgstr "" -#: utils/timesince.py:54 +#: utils/timesince.py:56 #, python-format msgid ", %(number)d %(type)s" msgstr "" -#: utils/translation/trans_real.py:403 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "N j, Y" -#: utils/translation/trans_real.py:405 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "N j, Y, P" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "P" -#: utils/translation/trans_real.py:421 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:422 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "F j" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "" -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "" -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "" - diff --git a/django/conf/locale/en/LC_MESSAGES/djangojs.mo b/django/conf/locale/en/LC_MESSAGES/djangojs.mo index eddb882a0bf7ed31fc0774f1fb6fec2d5572cbed..2eda56daae95b2b0e4f8c372559027f8ecbd615d 100644 GIT binary patch delta 27 icmaFH^o(gjgP@^-u7Rnpp|OIYsg<#%wt>;aiB|z~#0Vw; delta 27 icmaFH^o(gjgP?(hu7Rblfsuldk(IHTu7UZ)iB|!0We70< diff --git a/django/conf/locale/en/LC_MESSAGES/djangojs.po b/django/conf/locale/en/LC_MESSAGES/djangojs.po index e972fbd50..bbd692afe 100644 --- a/django/conf/locale/en/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/en/LC_MESSAGES/djangojs.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-09-02 22:36-0700\n" +"POT-Creation-Date: 2010-05-13 15:39+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -12,36 +12,66 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: contrib/admin/media/js/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "" -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "" +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -53,62 +83,63 @@ msgstr "" msgid "S M T W T F S" msgstr "" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "" diff --git a/django/conf/locale/en/__init__.py b/django/conf/locale/en/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/en/formats.py b/django/conf/locale/en/formats.py new file mode 100644 index 000000000..c59a94a1c --- /dev/null +++ b/django/conf/locale/en/formats.py @@ -0,0 +1,38 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'N j, Y' +TIME_FORMAT = 'P' +DATETIME_FORMAT = 'N j, Y, P' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'F j' +SHORT_DATE_FORMAT = 'm/d/Y' +SHORT_DATETIME_FORMAT = 'm/d/Y P' +FIRST_DAY_OF_WEEK = 0 # Sunday +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' + # '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' + # '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' + # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' + '%m/%d/%Y %H:%M', # '10/25/2006 14:30' + '%m/%d/%Y', # '10/25/2006' + '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' + '%m/%d/%y %H:%M', # '10/25/06 14:30' + '%m/%d/%y', # '10/25/06' +) +DECIMAL_SEPARATOR = u'.' +THOUSAND_SEPARATOR = u',' +NUMBER_GROUPING = 3 + diff --git a/django/conf/locale/en_GB/LC_MESSAGES/django.mo b/django/conf/locale/en_GB/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..b636411a4e99608491eba5cb6858201df5254bd1 GIT binary patch literal 762 zcmcJM%Z}496ow59Aj*Qv8lkhFy0{rYop2Fl+KQ3LG%5kq1*+WEOt9cx%2 zfp`>n1Rj7bOCEp)YyJ!wm3aV;^yyskpW_qz$Mvm`40aLR013DZ-h;}%fGglDsOsOq zRq(yef5N{4zrZyRpJD7Kn1V~l-=1ac0{lDpbMPPF@riwculhdM_1|@U3pIqN>^!on zx3X$hwJYm&lYX)v^(TYjDC#E1`AHlN50WR7UUz&__*eK+kt}RxQ~gFYX}b1wWY>-s z*5$O6C8@(gJ2h`noGDoix$5`UUe*-&5`Mn3Yn@F8~3}T$=~zq z#bReyYUcU=oWD@6)YgR5TS=4J#z+;`c^;Lip7Y1+wB(5msSytozUP$m(DI)2Dx^TP z1sAt@uuJW`;ZCqE0wEyeBlTKWGf(MucyNbAClq44EuecUOV1N0O_@n=T}aP#ZVg2W z`_TQKI}RSDxzt%}X7h(=FzFiq!xJTQY!u<5H`}*cqOpftQ3g|w3asbVp}$pRQk#1; zTS`|d|KNEt;GK=GI(?xW@0*#O;~GQiOto*Y16nm{+@!dU*nn0nW}8\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: conf/global_settings.py:44 +msgid "Arabic" +msgstr "" + +#: conf/global_settings.py:45 +msgid "Bulgarian" +msgstr "" + +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "" + +#: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "" + +#: conf/global_settings.py:48 +msgid "Catalan" +msgstr "" + +#: conf/global_settings.py:49 +msgid "Czech" +msgstr "" + +#: conf/global_settings.py:50 +msgid "Welsh" +msgstr "" + +#: conf/global_settings.py:51 +msgid "Danish" +msgstr "" + +#: conf/global_settings.py:52 +msgid "German" +msgstr "" + +#: conf/global_settings.py:53 +msgid "Greek" +msgstr "" + +#: conf/global_settings.py:54 +msgid "English" +msgstr "" + +#: conf/global_settings.py:55 +msgid "British English" +msgstr "" + +#: conf/global_settings.py:56 +msgid "Spanish" +msgstr "" + +#: conf/global_settings.py:57 +msgid "Argentinean Spanish" +msgstr "" + +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "" + +#: conf/global_settings.py:59 +msgid "Basque" +msgstr "" + +#: conf/global_settings.py:60 +msgid "Persian" +msgstr "" + +#: conf/global_settings.py:61 +msgid "Finnish" +msgstr "" + +#: conf/global_settings.py:62 +msgid "French" +msgstr "" + +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "" + +#: conf/global_settings.py:64 +msgid "Irish" +msgstr "" + +#: conf/global_settings.py:65 +msgid "Galician" +msgstr "" + +#: conf/global_settings.py:66 +msgid "Hebrew" +msgstr "" + +#: conf/global_settings.py:67 +msgid "Hindi" +msgstr "" + +#: conf/global_settings.py:68 +msgid "Croatian" +msgstr "" + +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "" + +#: conf/global_settings.py:70 +msgid "Icelandic" +msgstr "" + +#: conf/global_settings.py:71 +msgid "Italian" +msgstr "" + +#: conf/global_settings.py:72 +msgid "Japanese" +msgstr "" + +#: conf/global_settings.py:73 +msgid "Georgian" +msgstr "" + +#: conf/global_settings.py:74 +msgid "Khmer" +msgstr "" + +#: conf/global_settings.py:75 +msgid "Kannada" +msgstr "" + +#: conf/global_settings.py:76 +msgid "Korean" +msgstr "" + +#: conf/global_settings.py:77 +msgid "Lithuanian" +msgstr "" + +#: conf/global_settings.py:78 +msgid "Latvian" +msgstr "" + +#: conf/global_settings.py:79 +msgid "Macedonian" +msgstr "" + +#: conf/global_settings.py:80 +msgid "Dutch" +msgstr "" + +#: conf/global_settings.py:81 +msgid "Norwegian" +msgstr "" + +#: conf/global_settings.py:82 +msgid "Norwegian Bokmal" +msgstr "" + +#: conf/global_settings.py:83 +msgid "Norwegian Nynorsk" +msgstr "" + +#: conf/global_settings.py:84 +msgid "Polish" +msgstr "" + +#: conf/global_settings.py:85 +msgid "Portuguese" +msgstr "" + +#: conf/global_settings.py:86 +msgid "Brazilian Portuguese" +msgstr "" + +#: conf/global_settings.py:87 +msgid "Romanian" +msgstr "" + +#: conf/global_settings.py:88 +msgid "Russian" +msgstr "" + +#: conf/global_settings.py:89 +msgid "Slovak" +msgstr "" + +#: conf/global_settings.py:90 +msgid "Slovenian" +msgstr "" + +#: conf/global_settings.py:91 +msgid "Albanian" +msgstr "" + +#: conf/global_settings.py:92 +msgid "Serbian" +msgstr "" + +#: conf/global_settings.py:93 +msgid "Serbian Latin" +msgstr "" + +#: conf/global_settings.py:94 +msgid "Swedish" +msgstr "" + +#: conf/global_settings.py:95 +msgid "Tamil" +msgstr "" + +#: conf/global_settings.py:96 +msgid "Telugu" +msgstr "" + +#: conf/global_settings.py:97 +msgid "Thai" +msgstr "" + +#: conf/global_settings.py:98 +msgid "Turkish" +msgstr "" + +#: conf/global_settings.py:99 +msgid "Ukrainian" +msgstr "" + +#: conf/global_settings.py:100 +msgid "Vietnamese" +msgstr "" + +#: conf/global_settings.py:101 +msgid "Simplified Chinese" +msgstr "" + +#: conf/global_settings.py:102 +msgid "Traditional Chinese" +msgstr "" + +#: contrib/admin/actions.py:52 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#: contrib/admin/actions.py:59 contrib/admin/options.py:1100 +msgid "Are you sure?" +msgstr "" + +#: contrib/admin/actions.py:77 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +#: contrib/admin/filterspecs.py:44 +#, python-format +msgid "" +"

        By %s:

        \n" +"
          \n" +msgstr "" + +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "" + +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 +msgid "Yes" +msgstr "" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 +msgid "No" +msgstr "" + +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 +msgid "Unknown" +msgstr "" + +#: contrib/admin/helpers.py:20 +msgid "Action:" +msgstr "" + +#: contrib/admin/models.py:19 +msgid "action time" +msgstr "" + +#: contrib/admin/models.py:22 +msgid "object id" +msgstr "" + +#: contrib/admin/models.py:23 +msgid "object repr" +msgstr "" + +#: contrib/admin/models.py:24 +msgid "action flag" +msgstr "" + +#: contrib/admin/models.py:25 +msgid "change message" +msgstr "" + +#: contrib/admin/models.py:28 +msgid "log entry" +msgstr "" + +#: contrib/admin/models.py:29 +msgid "log entries" +msgstr "" + +#: contrib/admin/options.py:142 contrib/admin/options.py:157 +msgid "None" +msgstr "" + +#: contrib/admin/options.py:563 +#, python-format +msgid "Changed %s." +msgstr "" + +#: contrib/admin/options.py:563 contrib/admin/options.py:573 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:573 +msgid "and" +msgstr "" + +#: contrib/admin/options.py:568 +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "" + +#: contrib/admin/options.py:572 +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "" + +#: contrib/admin/options.py:577 +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "" + +#: contrib/admin/options.py:581 +msgid "No fields changed." +msgstr "" + +#: contrib/admin/options.py:647 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "" + +#: contrib/admin/options.py:651 contrib/admin/options.py:684 +msgid "You may edit it again below." +msgstr "" + +#: contrib/admin/options.py:661 contrib/admin/options.py:694 +#, python-format +msgid "You may add another %s below." +msgstr "" + +#: contrib/admin/options.py:682 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "" + +#: contrib/admin/options.py:690 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" + +#: contrib/admin/options.py:744 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +#: contrib/admin/options.py:762 +msgid "No action selected." +msgstr "" + +#: contrib/admin/options.py:842 +#, python-format +msgid "Add %s" +msgstr "" + +#: contrib/admin/options.py:868 contrib/admin/options.py:1080 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "" + +#: contrib/admin/options.py:933 +#, python-format +msgid "Change %s" +msgstr "" + +#: contrib/admin/options.py:978 +msgid "Database error" +msgstr "" + +#: contrib/admin/options.py:1014 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/options.py:1041 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/options.py:1046 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#: contrib/admin/options.py:1093 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "" + +#: contrib/admin/options.py:1130 +#, python-format +msgid "Change history: %s" +msgstr "" + +#: contrib/admin/sites.py:22 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" + +#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:40 +msgid "Please log in again, because your session has expired." +msgstr "" + +#: contrib/admin/sites.py:318 contrib/admin/views/decorators.py:47 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" + +#: contrib/admin/sites.py:334 contrib/admin/sites.py:340 +#: contrib/admin/views/decorators.py:66 +msgid "Usernames cannot contain the '@' character." +msgstr "" + +#: contrib/admin/sites.py:337 contrib/admin/views/decorators.py:62 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" + +#: contrib/admin/sites.py:393 +msgid "Site administration" +msgstr "" + +#: contrib/admin/sites.py:407 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/templates/registration/password_reset_complete.html:14 +#: contrib/admin/views/decorators.py:20 +msgid "Log in" +msgstr "" + +#: contrib/admin/sites.py:452 +#, python-format +msgid "%s administration" +msgstr "" + +#: contrib/admin/widgets.py:75 +msgid "Date:" +msgstr "" + +#: contrib/admin/widgets.py:75 +msgid "Time:" +msgstr "" + +#: contrib/admin/widgets.py:99 +msgid "Currently:" +msgstr "" + +#: contrib/admin/widgets.py:99 +msgid "Change:" +msgstr "" + +#: contrib/admin/widgets.py:129 +msgid "Lookup" +msgstr "" + +#: contrib/admin/widgets.py:244 +msgid "Add Another" +msgstr "" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "" + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/app_index.html:8 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: 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:5 +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "" + +#: 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/actions.html:4 +msgid "Run the selected action" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "" + +#: contrib/admin/templates/admin/app_index.html:10 +#: contrib/admin/templates/admin/index.html:19 +#, python-format +msgid "%(name)s" +msgstr "" + +#: contrib/admin/templates/admin/base.html:28 +msgid "Welcome," +msgstr "" + +#: contrib/admin/templates/admin/base.html:33 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "" + +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Change password" +msgstr "" + +#: contrib/admin/templates/admin/base.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Log out" +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/change_form.html:21 +#: contrib/admin/templates/admin/index.html:29 +msgid "Add" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:28 +#: contrib/admin/templates/admin/object_history.html:10 +msgid "History" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 +msgid "View on site" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/templates/admin/change_list.html:63 +#, python-format +msgid "Add %(name)s" +msgstr "" + +#: contrib/admin/templates/admin/change_list.html:82 +msgid "Filter" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:10 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 +msgid "Delete" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:16 +#, 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:23 +#, 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:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 +msgid "Yes, I'm sure" +msgstr "" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)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_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "" + +#: contrib/admin/templates/admin/index.html:35 +msgid "Change" +msgstr "" + +#: contrib/admin/templates/admin/index.html:45 +msgid "You don't have permission to edit anything." +msgstr "" + +#: contrib/admin/templates/admin/index.html:53 +msgid "Recent Actions" +msgstr "" + +#: contrib/admin/templates/admin/index.html:54 +msgid "My Actions" +msgstr "" + +#: contrib/admin/templates/admin/index.html:58 +msgid "None available" +msgstr "" + +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "" + +#: 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 "" + +#: contrib/admin/templates/admin/login.html:19 +msgid "Username:" +msgstr "" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Password:" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:22 +msgid "Date/time" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:23 +msgid "User" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:24 +msgid "Action" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:38 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "" + +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Search" +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/submit_line.html:5 +msgid "Save as new" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and add another" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save and continue editing" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/add_form.html:5 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +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/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/tabular.html:15 +msgid "Delete?" +msgstr "" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "" + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 +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:21 +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:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:43 +#: contrib/admin/templates/registration/password_reset_confirm.html:21 +msgid "Change my password" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:6 +#: 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_complete.html:6 +#: contrib/admin/templates/registration/password_reset_complete.html:10 +msgid "Password reset complete" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_complete.html:12 +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +msgid "Password reset confirmation" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:12 +msgid "Enter new password" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:14 +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:26 +msgid "Password reset unsuccessful" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:28 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new 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 you instructions for setting your password to the e-mail " +"address you submitted. You should be receiving it shortly." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +msgid "Please go to the following page and choose a new password:" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:9 +msgid "Your username, in case you've forgotten:" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Thanks for using our site!" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll e-mail " +"instructions for setting a new one." +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/templatetags/admin_list.py:239 +msgid "All dates" +msgstr "" + +#: contrib/admin/views/main.py:70 +#, python-format +msgid "Select %s" +msgstr "" + +#: contrib/admin/views/main.py:70 +#, python-format +msgid "Select %s to change" +msgstr "" + +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 +msgid "site" +msgstr "" + +#: contrib/admin/views/template.py:40 +msgid "template" +msgstr "" + +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 +msgid "tag:" +msgstr "" + +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 +msgid "filter:" +msgstr "" + +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 +msgid "view:" +msgstr "" + +#: contrib/admindocs/views.py:190 +#, python-format +msgid "App %r not found" +msgstr "" + +#: contrib/admindocs/views.py:197 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr "" + +#: contrib/admindocs/views.py:209 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "" + +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 +msgid "model:" +msgstr "" + +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "" + +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 +#, python-format +msgid "all %s" +msgstr "" + +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 +#, python-format +msgid "number of %s" +msgstr "" + +#: contrib/admindocs/views.py:271 +#, python-format +msgid "Fields on %s objects" +msgstr "" + +#: contrib/admindocs/views.py:361 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

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

          \n" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "" + +#: contrib/auth/admin.py:29 +msgid "Personal info" +msgstr "" + +#: contrib/auth/admin.py:30 +msgid "Permissions" +msgstr "" + +#: contrib/auth/admin.py:31 +msgid "Important dates" +msgstr "" + +#: contrib/auth/admin.py:32 +msgid "Groups" +msgstr "" + +#: contrib/auth/admin.py:114 +msgid "Password changed successfully." +msgstr "" + +#: contrib/auth/admin.py:124 +#, python-format +msgid "Change password: %s" +msgstr "" + +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "" + +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" + +#: contrib/auth/forms.py:18 +msgid "Password confirmation" +msgstr "" + +#: contrib/auth/forms.py:31 +msgid "A user with that username already exists." +msgstr "" + +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 +msgid "The two password fields didn't match." +msgstr "" + +#: contrib/auth/forms.py:83 +msgid "This account is inactive." +msgstr "" + +#: contrib/auth/forms.py:88 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" + +#: contrib/auth/forms.py:101 +msgid "E-mail" +msgstr "" + +#: contrib/auth/forms.py:110 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" + +#: contrib/auth/forms.py:136 +#, python-format +msgid "Password reset on %s" +msgstr "" + +#: contrib/auth/forms.py:145 +msgid "New password confirmation" +msgstr "" + +#: contrib/auth/forms.py:178 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "" + +#: contrib/auth/models.py:66 contrib/auth/models.py:94 +msgid "name" +msgstr "" + +#: contrib/auth/models.py:68 +msgid "codename" +msgstr "" + +#: contrib/auth/models.py:72 +msgid "permission" +msgstr "" + +#: contrib/auth/models.py:73 contrib/auth/models.py:95 +msgid "permissions" +msgstr "" + +#: contrib/auth/models.py:98 +msgid "group" +msgstr "" + +#: contrib/auth/models.py:99 contrib/auth/models.py:206 +msgid "groups" +msgstr "" + +#: contrib/auth/models.py:196 +msgid "username" +msgstr "" + +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" + +#: contrib/auth/models.py:197 +msgid "first name" +msgstr "" + +#: contrib/auth/models.py:198 +msgid "last name" +msgstr "" + +#: contrib/auth/models.py:199 +msgid "e-mail address" +msgstr "" + +#: contrib/auth/models.py:200 +msgid "password" +msgstr "" + +#: contrib/auth/models.py:200 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" + +#: contrib/auth/models.py:201 +msgid "staff status" +msgstr "" + +#: contrib/auth/models.py:201 +msgid "Designates whether the user can log into this admin site." +msgstr "" + +#: contrib/auth/models.py:202 +msgid "active" +msgstr "" + +#: contrib/auth/models.py:202 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" + +#: contrib/auth/models.py:203 +msgid "superuser status" +msgstr "" + +#: contrib/auth/models.py:203 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" + +#: contrib/auth/models.py:204 +msgid "last login" +msgstr "" + +#: contrib/auth/models.py:205 +msgid "date joined" +msgstr "" + +#: contrib/auth/models.py:207 +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:208 +msgid "user permissions" +msgstr "" + +#: contrib/auth/models.py:212 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 +msgid "user" +msgstr "" + +#: contrib/auth/models.py:213 +msgid "users" +msgstr "" + +#: contrib/auth/models.py:394 +msgid "message" +msgstr "" + +#: contrib/auth/views.py:79 +msgid "Logged out" +msgstr "" + +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 +msgid "Enter a valid e-mail address." +msgstr "" + +#: contrib/comments/admin.py:12 +msgid "Content" +msgstr "" + +#: contrib/comments/admin.py:15 +msgid "Metadata" +msgstr "" + +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "" + +#: contrib/comments/forms.py:93 +msgid "Name" +msgstr "" + +#: contrib/comments/forms.py:94 +msgid "Email address" +msgstr "" + +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "" + +#: contrib/comments/forms.py:96 +msgid "Comment" +msgstr "" + +#: contrib/comments/forms.py:175 +#, 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] "" + +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "" + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "" + +#: contrib/comments/models.py:24 +msgid "object ID" +msgstr "" + +#: contrib/comments/models.py:52 +msgid "user's name" +msgstr "" + +#: contrib/comments/models.py:53 +msgid "user's email address" +msgstr "" + +#: contrib/comments/models.py:54 +msgid "user's URL" +msgstr "" + +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 +msgid "comment" +msgstr "" + +#: contrib/comments/models.py:59 +msgid "date/time submitted" +msgstr "" + +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "" + +#: contrib/comments/models.py:61 +msgid "is public" +msgstr "" + +#: contrib/comments/models.py:62 +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." +msgstr "" + +#: contrib/comments/models.py:64 +msgid "is removed" +msgstr "" + +#: contrib/comments/models.py:65 +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:77 +msgid "comments" +msgstr "" + +#: contrib/comments/models.py:119 +msgid "" +"This comment was posted by an authenticated user and thus the name is read-" +"only." +msgstr "" + +#: contrib/comments/models.py:128 +msgid "" +"This comment was posted by an authenticated user and thus the email is read-" +"only." +msgstr "" + +#: contrib/comments/models.py:153 +#, 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:170 +msgid "flag" +msgstr "" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:4 +msgid "Approve a comment" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "" + +#: contrib/comments/templates/comments/approved.html:4 +msgid "Thanks for approving" +msgstr "" + +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "" + +#: contrib/comments/templates/comments/delete.html:4 +msgid "Remove a comment" +msgstr "" + +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "" + +#: contrib/comments/templates/comments/deleted.html:4 +msgid "Thanks for removing" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:12 +msgid "Flag" +msgstr "" + +#: contrib/comments/templates/comments/flagged.html:4 +msgid "Thanks for flagging" +msgstr "" + +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +msgid "Post" +msgstr "" + +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +msgid "Preview" +msgstr "" + +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "" + +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:11 +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "or make changes" +msgstr "" + +#: contrib/contenttypes/models.py:77 +msgid "python model class name" +msgstr "" + +#: contrib/contenttypes/models.py:82 +msgid "content types" +msgstr "" + +#: contrib/flatpages/admin.py:9 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" + +#: contrib/flatpages/admin.py:11 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" + +#: contrib/flatpages/admin.py:22 +msgid "Advanced options" +msgstr "" + +#: contrib/flatpages/models.py:8 +msgid "title" +msgstr "" + +#: contrib/flatpages/models.py:9 +msgid "content" +msgstr "" + +#: contrib/flatpages/models.py:10 +msgid "enable comments" +msgstr "" + +#: contrib/flatpages/models.py:11 +msgid "template name" +msgstr "" + +#: contrib/flatpages/models.py:12 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" + +#: contrib/flatpages/models.py:13 +msgid "registration required" +msgstr "" + +#: contrib/flatpages/models.py:13 +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/formtools/wizard.py:140 +msgid "" +"We apologize, but your form has expired. Please continue filling out the " +"form from this page." +msgstr "" +"We apologise, but your form has expired. Please continue filling out the " +"form from this page." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "" + +#: contrib/gis/forms/fields.py:17 +msgid "No geometry value provided." +msgstr "" + +#: contrib/gis/forms/fields.py:18 +msgid "Invalid geometry value." +msgstr "" + +#: contrib/gis/forms/fields.py:19 +msgid "Invalid geometry type." +msgstr "" + +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "th" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "st" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "nd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "rd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:51 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:54 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:57 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "one" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "two" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "three" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "four" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "five" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "six" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "seven" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "eight" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "nine" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:93 +msgid "today" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:95 +msgid "tomorrow" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:97 +msgid "yesterday" +msgstr "" + +#: contrib/localflavor/ar/forms.py:28 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "" + +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:97 +#: contrib/localflavor/br/forms.py:136 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires only numbers." +msgstr "" + +#: contrib/localflavor/ar/forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "" + +#: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "" + +#: contrib/localflavor/ar/forms.py:81 +msgid "Invalid CUIT." +msgstr "" + +#: contrib/localflavor/at/at_states.py:5 +msgid "Burgenland" +msgstr "" + +#: contrib/localflavor/at/at_states.py:6 +msgid "Carinthia" +msgstr "" + +#: contrib/localflavor/at/at_states.py:7 +msgid "Lower Austria" +msgstr "" + +#: contrib/localflavor/at/at_states.py:8 +msgid "Upper Austria" +msgstr "" + +#: contrib/localflavor/at/at_states.py:9 +msgid "Salzburg" +msgstr "" + +#: contrib/localflavor/at/at_states.py:10 +msgid "Styria" +msgstr "" + +#: contrib/localflavor/at/at_states.py:11 +msgid "Tyrol" +msgstr "" + +#: contrib/localflavor/at/at_states.py:12 +msgid "Vorarlberg" +msgstr "" + +#: contrib/localflavor/at/at_states.py:13 +msgid "Vienna" +msgstr "" + +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 +msgid "Enter a zip code in the format XXXX." +msgstr "" + +#: contrib/localflavor/at/forms.py:48 +msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." +msgstr "" + +#: contrib/localflavor/au/forms.py:17 +msgid "Enter a 4 digit post code." +msgstr "" + +#: contrib/localflavor/br/forms.py:22 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "" + +#: contrib/localflavor/br/forms.py:31 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "" + +#: contrib/localflavor/br/forms.py:59 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" + +#: contrib/localflavor/br/forms.py:95 +msgid "Invalid CPF number." +msgstr "" + +#: contrib/localflavor/br/forms.py:96 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "" + +#: contrib/localflavor/br/forms.py:135 +msgid "Invalid CNPJ number." +msgstr "" + +#: contrib/localflavor/br/forms.py:137 +msgid "This field requires at least 14 digits" +msgstr "" + +#: contrib/localflavor/ca/forms.py:25 +msgid "Enter a postal code in the format XXX XXX." +msgstr "" + +#: contrib/localflavor/ca/forms.py:96 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:6 +msgid "Appenzell Innerrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:7 +msgid "Appenzell Ausserrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:8 +msgid "Basel-Stadt" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:9 +msgid "Basel-Land" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:10 +msgid "Berne" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:13 +msgid "Glarus" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:16 +msgid "Lucerne" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:18 +msgid "Nidwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:19 +msgid "Obwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:20 +msgid "Schaffhausen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:21 +msgid "Schwyz" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:22 +msgid "Solothurn" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:23 +msgid "St. Gallen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:24 +msgid "Thurgau" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:25 +msgid "Ticino" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:26 +msgid "Uri" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:27 +msgid "Valais" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:28 +msgid "Vaud" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:29 +msgid "Zug" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:30 +msgid "Zurich" +msgstr "" + +#: contrib/localflavor/ch/forms.py:65 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT." +msgstr "" + +#: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "" + +#: contrib/localflavor/cl/forms.py:32 +msgid "The Chilean RUT is not valid." +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:11 +msgid "Pilsen Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:13 +msgid "Usti Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:14 +msgid "Liberec Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:15 +msgid "Hradec Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:16 +msgid "Pardubice Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:17 +msgid "Vysocina Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:20 +msgid "Zlin Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "" + +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "" + +#: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "" + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" + +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "" + +#: contrib/localflavor/cz/forms.py:107 +msgid "Enter a valid IC number." +msgstr "" + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "" + +#: contrib/localflavor/de/de_states.py:14 +msgid "North Rhine-Westphalia" +msgstr "" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "" + +#: contrib/localflavor/de/de_states.py:19 +msgid "Schleswig-Holstein" +msgstr "" + +#: contrib/localflavor/de/de_states.py:20 +msgid "Thuringia" +msgstr "" + +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/de/forms.py:42 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "" + +#: contrib/localflavor/es/forms.py:20 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:40 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:68 +msgid "Please enter a valid NIF or NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:144 +msgid "Invalid checksum for bank account number." +msgstr "" + +#: contrib/localflavor/fi/forms.py:29 +msgid "Enter a valid Finnish social security number." +msgstr "" + +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "" + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:19 +msgid "The Icelandic identification number is not valid." +msgstr "" + +#: contrib/localflavor/it/forms.py:15 +msgid "Enter a valid zip code." +msgstr "" + +#: contrib/localflavor/it/forms.py:44 +msgid "Enter a valid Social Security number." +msgstr "" + +#: contrib/localflavor/it/forms.py:69 +msgid "Enter a valid VAT number." +msgstr "" + +#: contrib/localflavor/jp/forms.py:16 +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/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "" + +#: contrib/localflavor/nl/forms.py:22 +msgid "Enter a valid postal code" +msgstr "" + +#: contrib/localflavor/nl/forms.py:79 +msgid "Enter a valid SoFi number" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drenthe" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "" + +#: contrib/localflavor/no/forms.py:34 +msgid "Enter a valid Norwegian social security number." +msgstr "" + +#: contrib/localflavor/pe/forms.py:25 +msgid "This field requires 8 digits." +msgstr "" + +#: contrib/localflavor/pe/forms.py:53 +msgid "This field requires 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:38 +msgid "National Identification Number consists of 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:39 +msgid "Wrong checksum for the National Identification Number." +msgstr "" + +#: contrib/localflavor/pl/forms.py:71 +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "" + +#: contrib/localflavor/pl/forms.py:72 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:110 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:148 +msgid "Enter a postal code in the format XX-XXX." +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "" + +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "" + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" + +#: contrib/localflavor/ro/forms.py:19 +msgid "Enter a valid CIF." +msgstr "" + +#: contrib/localflavor/ro/forms.py:56 +msgid "Enter a valid CNP." +msgstr "" + +#: contrib/localflavor/ro/forms.py:141 +msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" +msgstr "" + +#: contrib/localflavor/ro/forms.py:171 +msgid "Phone numbers must be in XXXX-XXXXXX format." +msgstr "" + +#: contrib/localflavor/ro/forms.py:194 +msgid "Enter a valid postal code in the format XXXXXX" +msgstr "" + +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "" + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "" + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "" + +#: contrib/localflavor/us/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "" + +#: contrib/localflavor/us/forms.py:55 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" + +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "" + +#: contrib/localflavor/za/forms.py:21 +msgid "Enter a valid South African ID number" +msgstr "" + +#: contrib/localflavor/za/forms.py:55 +msgid "Enter a valid South African postal code" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "" + +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +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/sessions/models.py:45 +msgid "session key" +msgstr "" + +#: contrib/sessions/models.py:47 +msgid "session data" +msgstr "" + +#: contrib/sessions/models.py:48 +msgid "expire date" +msgstr "" + +#: contrib/sessions/models.py:53 +msgid "session" +msgstr "" + +#: contrib/sessions/models.py:54 +msgid "sessions" +msgstr "" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "" + +#: contrib/sites/models.py:39 +msgid "sites" +msgstr "" + +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "" + +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "" + +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "" + +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "" + +#: core/validators.py:129 db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "" + +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "" + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "" + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "" + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "" + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "" + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "" + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "" + +#: db/models/fields/__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "" + +#: db/models/fields/__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "" + +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "" + +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "" + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "" + +#: db/models/fields/__init__.py:822 +msgid "This value must be a float." +msgstr "" + +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "" + +#: db/models/fields/__init__.py:912 +msgid "This value must be either None, True or False." +msgstr "" + +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "" + +#: db/models/fields/__init__.py:1025 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "" + +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "" + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "" + +#: db/models/fields/related.py:1000 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" + +#: db/models/fields/related.py:1061 +#, 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/fields.py:65 +msgid "This field is required." +msgstr "" + +#: forms/fields.py:204 +msgid "Enter a whole number." +msgstr "" + +#: forms/fields.py:235 forms/fields.py:256 +msgid "Enter a number." +msgstr "" + +#: forms/fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "" + +#: forms/fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "" + +#: forms/fields.py:261 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "" + +#: forms/fields.py:323 forms/fields.py:838 +msgid "Enter a valid date." +msgstr "" + +#: forms/fields.py:351 forms/fields.py:839 +msgid "Enter a valid time." +msgstr "" + +#: forms/fields.py:377 +msgid "Enter a valid date/time." +msgstr "" + +#: forms/fields.py:435 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" + +#: forms/fields.py:436 +msgid "No file was submitted." +msgstr "" + +#: forms/fields.py:437 +msgid "The submitted file is empty." +msgstr "" + +#: forms/fields.py:438 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" + +#: forms/fields.py:473 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" + +#: forms/fields.py:596 forms/fields.py:671 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" + +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1007 +msgid "Enter a list of values." +msgstr "" + +#: forms/formsets.py:298 forms/formsets.py:300 +msgid "Order" +msgstr "" + +#: forms/models.py:567 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#: forms/models.py:571 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#: forms/models.py:577 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +#: forms/models.py:585 +msgid "Please correct the duplicate values below." +msgstr "" + +#: forms/models.py:860 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "" + +#: forms/models.py:926 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" + +#: forms/models.py:1008 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "" + +#: forms/models.py:1010 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "" + +#: template/defaultfilters.py:781 +msgid "yes,no,maybe" +msgstr "" + +#: template/defaultfilters.py:812 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#: template/defaultfilters.py:814 +#, python-format +msgid "%s KB" +msgstr "" + +#: template/defaultfilters.py:816 +#, python-format +msgid "%s MB" +msgstr "" + +#: template/defaultfilters.py:817 +#, python-format +msgid "%s GB" +msgstr "" + +#: utils/dateformat.py:42 +msgid "p.m." +msgstr "" + +#: utils/dateformat.py:43 +msgid "a.m." +msgstr "" + +#: utils/dateformat.py:48 +msgid "PM" +msgstr "" + +#: utils/dateformat.py:49 +msgid "AM" +msgstr "" + +#: utils/dateformat.py:98 +msgid "midnight" +msgstr "" + +#: utils/dateformat.py:100 +msgid "noon" +msgstr "" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "" + +#: utils/dates.py:18 +msgid "January" +msgstr "" + +#: utils/dates.py:18 +msgid "February" +msgstr "" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "" + +#: utils/dates.py:19 +msgid "August" +msgstr "" + +#: utils/dates.py:19 +msgid "September" +msgstr "" + +#: utils/dates.py:19 +msgid "October" +msgstr "" + +#: utils/dates.py:19 +msgid "November" +msgstr "" + +#: utils/dates.py:20 +msgid "December" +msgstr "" + +#: utils/dates.py:23 +msgid "jan" +msgstr "" + +#: utils/dates.py:23 +msgid "feb" +msgstr "" + +#: utils/dates.py:23 +msgid "mar" +msgstr "" + +#: utils/dates.py:23 +msgid "apr" +msgstr "" + +#: utils/dates.py:23 +msgid "may" +msgstr "" + +#: utils/dates.py:23 +msgid "jun" +msgstr "" + +#: utils/dates.py:24 +msgid "jul" +msgstr "" + +#: utils/dates.py:24 +msgid "aug" +msgstr "" + +#: utils/dates.py:24 +msgid "sep" +msgstr "" + +#: utils/dates.py:24 +msgid "oct" +msgstr "" + +#: utils/dates.py:24 +msgid "nov" +msgstr "" + +#: utils/dates.py:24 +msgid "dec" +msgstr "" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "" + +#: utils/dates.py:31 +msgid "Feb." +msgstr "" + +#: utils/dates.py:32 +msgid "Aug." +msgstr "" + +#: utils/dates.py:32 +msgid "Sept." +msgstr "" + +#: utils/dates.py:32 +msgid "Oct." +msgstr "" + +#: utils/dates.py:32 +msgid "Nov." +msgstr "" + +#: utils/dates.py:32 +msgid "Dec." +msgstr "" + +#: utils/text.py:130 +msgid "or" +msgstr "" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:45 +msgid "minutes" +msgstr "" + +#: utils/timesince.py:50 +#, python-format +msgid "%(number)d %(type)s" +msgstr "" + +#: utils/timesince.py:56 +#, python-format +msgid ", %(number)d %(type)s" +msgstr "" + +#: utils/translation/trans_real.py:518 +msgid "DATE_FORMAT" +msgstr "N j, Y" + +#: utils/translation/trans_real.py:519 +msgid "DATETIME_FORMAT" +msgstr "N j, Y, P" + +#: utils/translation/trans_real.py:520 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:541 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:542 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" + +#: views/generic/create_update.py:115 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "" + +#: views/generic/create_update.py:158 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "" + +#: views/generic/create_update.py:201 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "" diff --git a/django/conf/locale/en_GB/LC_MESSAGES/djangojs.mo b/django/conf/locale/en_GB/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..de52e2bda11f54dc9d4aab4dd9dc3aa16850fc5e GIT binary patch literal 344 zcmYL@%TB{E5Jih%l_hJ0ykG}YCaHkbJcMY9REdbH1okEwjH|@1Y`20B;rI9!CM?=3 z9odqPXYTLe!OwuR#~d*y%sz9*^vRiHejM}JJKM~?TT&fi*1#M2V4RhrSSqVsvY?go z5z3%V0}pE*pmI_q^XCdCo>XKP3KdC;3^4~B17;%2\n" +"Language-Team: \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 "" + +#: 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 "" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "" + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "" + +#: contrib/admin/media/js/calendar.js:24 +#: contrib/admin/media/js/dateparse.js:32 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Now" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +msgid "Clock" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +msgid "Choose a time" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "Midnight" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "6 a.m." +msgstr "" + +#: 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/en_GB/__init__.py b/django/conf/locale/en_GB/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/en_GB/formats.py b/django/conf/locale/en_GB/formats.py new file mode 100644 index 000000000..b0997977f --- /dev/null +++ b/django/conf/locale/en_GB/formats.py @@ -0,0 +1,39 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'N j, Y' # 'Oct. 25, 2006' +TIME_FORMAT = 'P' # '2:30 pm' +DATETIME_FORMAT = 'N j, Y, P' # 'Oct. 25, 2006, 2:30 pm' +YEAR_MONTH_FORMAT = 'F Y' # 'October 2006' +MONTH_DAY_FORMAT = 'F j' # 'October 25' +SHORT_DATE_FORMAT = 'd/m/Y' # '25/10/2006' +SHORT_DATETIME_FORMAT = 'd/m/Y P' # '25/10/2006 2:30 pm' +FIRST_DAY_OF_WEEK = 0 # Sunday +DATE_INPUT_FORMATS = ( + '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' + '%Y-%m-%d', # '2006-10-25' + # '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' + # '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' + # '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' + # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' + '%d/%m/%Y %H:%M', # '25/10/2006 14:30' + '%d/%m/%Y', # '25/10/2006' + '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' + '%d/%m/%y %H:%M', # '25/10/06 14:30' + '%d/%m/%y', # '25/10/06' +) +DECIMAL_SEPARATOR = '.' +THOUSAND_SEPARATOR = ',' +NUMBER_GROUPING = 3 + diff --git a/django/conf/locale/es/LC_MESSAGES/django.mo b/django/conf/locale/es/LC_MESSAGES/django.mo index a8bd5f985de2bd15ff9f9a2a0eb931d5cc4686e2..d359470aa7d7feb539dd3714bad811ce01892f46 100644 GIT binary patch delta 26433 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 delta 23033 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" "Team: Django Spanish Team MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,215 +18,236 @@ msgid "Arabic" msgstr "árabe" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "bengalí" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "búlgaro" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "bengalí" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "bosnio" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "catalán" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "checo" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "galés" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "danés" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "alemán" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "griego" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "inglés" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 msgid "Spanish" msgstr "español" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "estonio" - #: conf/global_settings.py:56 msgid "Argentinean Spanish" msgstr "español de Argentina" #: conf/global_settings.py:57 +msgid "Estonian" +msgstr "estonio" + +#: conf/global_settings.py:58 msgid "Basque" msgstr "vasco" -#: conf/global_settings.py:58 +#: conf/global_settings.py:59 msgid "Persian" msgstr "persa" -#: conf/global_settings.py:59 +#: conf/global_settings.py:60 msgid "Finnish" msgstr "finés" -#: conf/global_settings.py:60 +#: conf/global_settings.py:61 msgid "French" msgstr "francés" -#: conf/global_settings.py:61 +#: conf/global_settings.py:62 +msgid "Frisian" +msgstr "" + +#: conf/global_settings.py:63 msgid "Irish" msgstr "irlandés" -#: conf/global_settings.py:62 +#: conf/global_settings.py:64 msgid "Galician" msgstr "gallego" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "húngaro" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:65 msgid "Hebrew" msgstr "hebreo" -#: conf/global_settings.py:65 +#: conf/global_settings.py:66 msgid "Hindi" msgstr "hindi" -#: conf/global_settings.py:66 +#: conf/global_settings.py:67 msgid "Croatian" msgstr "croata" -#: conf/global_settings.py:67 +#: conf/global_settings.py:68 +msgid "Hungarian" +msgstr "húngaro" + +#: conf/global_settings.py:69 msgid "Icelandic" msgstr "islandés" -#: conf/global_settings.py:68 +#: conf/global_settings.py:70 msgid "Italian" msgstr "italiano" -#: conf/global_settings.py:69 +#: conf/global_settings.py:71 msgid "Japanese" msgstr "japonés" -#: conf/global_settings.py:70 +#: conf/global_settings.py:72 msgid "Georgian" msgstr "georgiano" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "koreano" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:73 msgid "Khmer" msgstr "khmer" -#: conf/global_settings.py:73 +#: conf/global_settings.py:74 msgid "Kannada" msgstr "kannada" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "letón" - #: conf/global_settings.py:75 +msgid "Korean" +msgstr "koreano" + +#: conf/global_settings.py:76 msgid "Lithuanian" msgstr "lituano" -#: conf/global_settings.py:76 +#: conf/global_settings.py:77 +msgid "Latvian" +msgstr "letón" + +#: conf/global_settings.py:78 msgid "Macedonian" msgstr "macedonio" -#: conf/global_settings.py:77 +#: conf/global_settings.py:79 msgid "Dutch" msgstr "holandés" -#: conf/global_settings.py:78 +#: conf/global_settings.py:80 msgid "Norwegian" msgstr "noruego" -#: conf/global_settings.py:79 +#: conf/global_settings.py:81 msgid "Polish" msgstr "polaco" -#: conf/global_settings.py:80 +#: conf/global_settings.py:82 msgid "Portuguese" msgstr "portugués" -#: conf/global_settings.py:81 +#: conf/global_settings.py:83 msgid "Brazilian Portuguese" msgstr "portugués de Brasil" -#: conf/global_settings.py:82 +#: conf/global_settings.py:84 msgid "Romanian" msgstr "rumano" -#: conf/global_settings.py:83 +#: conf/global_settings.py:85 msgid "Russian" msgstr "ruso" -#: conf/global_settings.py:84 +#: conf/global_settings.py:86 msgid "Slovak" msgstr "eslovaco" -#: conf/global_settings.py:85 +#: conf/global_settings.py:87 msgid "Slovenian" msgstr "esloveno" -#: conf/global_settings.py:86 +#: conf/global_settings.py:88 +msgid "Albanian" +msgstr "albanés" + +#: conf/global_settings.py:89 msgid "Serbian" msgstr "serbio" -#: conf/global_settings.py:87 +#: conf/global_settings.py:90 +#, fuzzy +msgid "Serbian Latin" +msgstr "serbio" + +#: conf/global_settings.py:91 msgid "Swedish" msgstr "sueco" -#: conf/global_settings.py:88 +#: conf/global_settings.py:92 msgid "Tamil" msgstr "tamil" -#: conf/global_settings.py:89 +#: conf/global_settings.py:93 msgid "Telugu" msgstr "telugu" -#: conf/global_settings.py:90 +#: conf/global_settings.py:94 msgid "Thai" msgstr "tailandés" -#: conf/global_settings.py:91 +#: conf/global_settings.py:95 msgid "Turkish" msgstr "turco" -#: conf/global_settings.py:92 +#: conf/global_settings.py:96 msgid "Ukrainian" msgstr "ucraniano" -#: conf/global_settings.py:93 +#: conf/global_settings.py:97 +msgid "Vietnamese" +msgstr "vietnamita" + +#: conf/global_settings.py:98 msgid "Simplified Chinese" msgstr "chino simplificado" -#: conf/global_settings.py:94 +#: conf/global_settings.py:99 msgid "Traditional Chinese" msgstr "chino tradicional" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:52 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Eliminado/s %(count)d %(items)s satisfactoriamente." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1025 +#: contrib/admin/actions.py:59 contrib/admin/options.py:1101 msgid "Are you sure?" msgstr "¿Está seguro?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:77 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Eliminar %(verbose_name_plural)s seleccionado/s" @@ -265,19 +286,19 @@ msgstr "Este mes" msgid "This year" msgstr "Este año" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:470 msgid "Yes" msgstr "Sí" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:470 msgid "No" msgstr "No" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:470 msgid "Unknown" msgstr "Desconocido" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:19 msgid "Action:" msgstr "Acción:" @@ -309,105 +330,130 @@ msgstr "entrada de registro" msgid "log entries" msgstr "entradas de registro" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:139 contrib/admin/options.py:154 msgid "None" msgstr "Ninguno" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:558 #, python-format msgid "Changed %s." msgstr "Modificado/a %s." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:558 contrib/admin/options.py:568 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:802 +#: forms/models.py:553 msgid "and" msgstr "y" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:563 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Añadido/a \"%(object)s\" %(name)s." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:567 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Modificados %(list)s para \"%(object)s\" %(name)s." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:572 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Eliminado/a \"%(object)s\" %(name)s." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:576 msgid "No fields changed." msgstr "No ha cambiado ningún campo." -#: contrib/admin/options.py:598 contrib/auth/admin.py:67 +#: contrib/admin/options.py:642 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "Se añadió con éxito el %(name)s \"%(obj)s\"." -#: contrib/admin/options.py:602 contrib/admin/options.py:635 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:646 contrib/admin/options.py:679 msgid "You may edit it again below." msgstr "Puede editarlo de nuevo abajo." -#: contrib/admin/options.py:612 contrib/admin/options.py:645 +#: contrib/admin/options.py:656 contrib/admin/options.py:689 #, python-format msgid "You may add another %s below." msgstr "Puede añadir otro %s abajo." -#: contrib/admin/options.py:633 +#: contrib/admin/options.py:677 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "Se modificó con éxito el %(name)s \"%(obj)s\"." -#: contrib/admin/options.py:641 +#: contrib/admin/options.py:685 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "" "Se añadió con éxito el %(name)s \"%(obj)s. Puede editarlo de nuevo abajo." -#: contrib/admin/options.py:772 +#: contrib/admin/options.py:743 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Se deben seleccionar elementos para poder realizar acciones sobre estos. No " +"se han modificado elementos." + +#: contrib/admin/options.py:761 +msgid "No action selected." +msgstr "No se seleccionó ninguna acción." + +#: contrib/admin/options.py:841 #, python-format msgid "Add %s" msgstr "Añadir %s" -#: contrib/admin/options.py:803 contrib/admin/options.py:1003 +#: contrib/admin/options.py:867 contrib/admin/options.py:1081 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "No existe ningún objeto %(name)s con la clave primaria %(key)r." -#: contrib/admin/options.py:860 +#: contrib/admin/options.py:932 #, python-format msgid "Change %s" msgstr "Modificar %s" -#: contrib/admin/options.py:904 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Error en la base de datos" -#: contrib/admin/options.py:940 +#: contrib/admin/options.py:1013 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s %(name)s fué modificado con éxito." msgstr[1] "%(count)s %(name)s fueron modificados con éxito." -#: contrib/admin/options.py:1018 +#: contrib/admin/options.py:1040 +#, python-format +msgid "of %(count)d selected" +msgid_plural "of %(count)d selected" +msgstr[0] "de %(count)d seleccionado" +msgstr[1] "de %(count)d seleccionados" + +#: contrib/admin/options.py:1042 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s seleccionado" +msgstr[1] "Todos %(total_count)s seleccionados" + +#: contrib/admin/options.py:1094 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "Se eliminó con éxito el %(name)s \"%(obj)s\"." -#: contrib/admin/options.py:1054 +#: contrib/admin/options.py:1131 #, python-format msgid "Change history: %s" msgstr "Histórico de modificaciones: %s" -#: contrib/admin/sites.py:20 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:22 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -415,11 +461,11 @@ msgstr "" "Por favor, introduzca un nombre de usuario y contraseña correctos. Note que " "ambos campos son sensibles a mayúsculas/minúsculas." -#: contrib/admin/sites.py:278 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Por favor, inicie sesión de nuevo, ya que su sesión ha caducado." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:318 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -427,64 +473,54 @@ msgstr "" "Parece que su navegador no está configurado para aceptar cookies. " "Actívelas , recargue esta página, e inténtelo de nuevo." -#: contrib/admin/sites.py:301 contrib/admin/sites.py:307 +#: contrib/admin/sites.py:334 contrib/admin/sites.py:340 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Los nombres de usuario no pueden contener el carácter '@'." -#: contrib/admin/sites.py:304 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:337 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "" "Su dirección de correo no es su nombre de usuario. Pruebe con '%s' en su " "lugar." -#: contrib/admin/sites.py:360 +#: contrib/admin/sites.py:393 msgid "Site administration" msgstr "Sitio administrativo" -#: contrib/admin/sites.py:373 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:407 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Iniciar sesión" -#: contrib/admin/sites.py:417 +#: contrib/admin/sites.py:452 #, python-format msgid "%s administration" msgstr "Administración de %s" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Uno o más %(fieldname)s en %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Uno o más %(fieldname)s en %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Fecha:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Hora:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Actualmente:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Modificar:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Buscar" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Añadir otro" @@ -499,17 +535,17 @@ msgstr "Lo sentimos, pero no se encuentra la página solicitada." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:31 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:54 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:39 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -547,34 +583,47 @@ msgstr "Ejecutar la acción seleccionada" msgid "Go" msgstr "Ir" +#: contrib/admin/templates/admin/actions.html:10 +msgid "Click here to select the objects across all pages" +msgstr "Pulse aquí para seleccionar los objetos a través de todas las páginas" + +#: contrib/admin/templates/admin/actions.html:10 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seleccionar todos los %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:12 +msgid "Clear selection" +msgstr "Limpiar selección" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:27 msgid "Welcome," msgstr "Bienvenido/a," -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:32 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Documentación" -#: contrib/admin/templates/admin/base.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:40 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Cambiar contraseña" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:47 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Terminar sesión" @@ -586,41 +635,42 @@ msgstr "Sitio de administración de Django" msgid "Django administration" msgstr "Administración de Django" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Añadir" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Histórico" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Ver en el sitio" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:68 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 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_list.html:46 +#: contrib/admin/templates/admin/change_list.html:60 #, python-format msgid "Add %(name)s" msgstr "Añadir %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:79 msgid "Filter" msgstr "Filtro" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:294 msgid "Delete" msgstr "Eliminar" @@ -668,10 +718,10 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" -"¿Está seguro de que quiere borrar los %(object_name)s? Los siguientes " -"objetos y sus elementos relacionados serán eliminados:" +"¿Está seguro de que quiere eliminar los %(object_name)s seleccionados? Los " +"siguientes objetos y sus elementos relacionados serán eliminados:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -734,15 +784,9 @@ msgid "User" msgstr "Usuario" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Acción" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j N Y P" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -788,7 +832,7 @@ msgstr "Grabar y añadir otro" msgid "Save and continue editing" msgstr "Grabar y continuar editando" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -796,35 +840,41 @@ msgstr "" "Primero introduzca un nombre de usuario y una contraseña. Luego podrá editar " "el resto de opciones del usuario." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Nombre de usuario" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Contraseña" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Contraseña (de nuevo)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Introduzca la misma contraseña que arriba, para verificación." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: 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 contraseña para el usuario %(username)s." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Contraseña" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Contraseña (de nuevo)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Introduzca la misma contraseña que arriba, para verificación." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:53 +#: contrib/admin/templates/admin/edit_inline/tabular.html:99 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Agregar otro %(verbose_name)s." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:56 +#: contrib/admin/templates/admin/edit_inline/tabular.html:102 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Eliminar" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Eliminar?" @@ -838,9 +888,9 @@ msgid "Log in again" msgstr "Iniciar sesión de nuevo" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Cambio de contraseña" @@ -853,7 +903,7 @@ msgstr "Cambio de contraseña exitoso" msgid "Your password was changed." msgstr "Su contraseña ha sido cambiada." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -862,21 +912,17 @@ msgstr "" "introduzca la nueva contraseña dos veces para verificar que la ha escrito " "correctamente." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Contraseña antigua:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Contraseña antigua" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Contraseña nueva:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Contraseña nueva" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Confirme contraseña:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Cambiar mi contraseña" @@ -917,6 +963,14 @@ msgstr "" "Por favor, introduzca su contraseña nueva dos veces para verificar que la ha " "escrito correctamente." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Contraseña nueva:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Confirme contraseña:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Restablecimiento de contraseña fallido" @@ -987,7 +1041,7 @@ msgstr "Dirección de correo electrónico:" msgid "Reset my password" msgstr "Restablecer mi contraseña" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:240 msgid "All dates" msgstr "Todas las fechas" @@ -1001,154 +1055,72 @@ msgstr "Escoja %s" msgid "Select %s to change" msgstr "Escoja %s a modificar" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "sitio" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "plantilla" -#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60 -#: contrib/admindocs/views.py:62 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "etiqueta:" -#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93 -#: contrib/admindocs/views.py:95 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "filtro:" -#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157 -#: contrib/admindocs/views.py:159 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "vista:" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "Aplicación %r no encontrada" -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "" "El modelo %(model_name)r no se ha encontrado en la aplicación %(app_label)r" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "el objeto relacionado `%(app_label)s.%(data_type)s`" -#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:225 -#: contrib/admindocs/views.py:230 contrib/admindocs/views.py:244 -#: contrib/admindocs/views.py:258 contrib/admindocs/views.py:263 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "modelo:" -#: contrib/admindocs/views.py:221 contrib/admindocs/views.py:253 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "los objetos relacionados `%(app_label)s.%(object_name)s`" -#: contrib/admindocs/views.py:225 contrib/admindocs/views.py:258 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "todo %s" -#: contrib/admindocs/views.py:230 contrib/admindocs/views.py:263 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "número de %s" -#: contrib/admindocs/views.py:268 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "Campos en %s objetos" -#: contrib/admindocs/views.py:331 contrib/admindocs/views.py:342 -#: contrib/admindocs/views.py:344 contrib/admindocs/views.py:350 -#: contrib/admindocs/views.py:351 contrib/admindocs/views.py:353 -msgid "Integer" -msgstr "Entero" - -#: contrib/admindocs/views.py:332 -msgid "Boolean (Either True or False)" -msgstr "Booleano (Verdadero o Falso)" - -#: contrib/admindocs/views.py:333 contrib/admindocs/views.py:352 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Cadena (máximo %(max_length)s)" - -#: contrib/admindocs/views.py:334 -msgid "Comma-separated integers" -msgstr "Enteros separados por comas" - -#: contrib/admindocs/views.py:335 -msgid "Date (without time)" -msgstr "Fecha (sin hora)" - -#: contrib/admindocs/views.py:336 -msgid "Date (with time)" -msgstr "Fecha (con hora)" - -#: contrib/admindocs/views.py:337 -msgid "Decimal number" -msgstr "Número decimal" - -#: contrib/admindocs/views.py:338 -msgid "E-mail address" -msgstr "Dirección de correo electrónico" - -#: contrib/admindocs/views.py:339 contrib/admindocs/views.py:340 -#: contrib/admindocs/views.py:343 -msgid "File path" -msgstr "Ruta de fichero" - -#: contrib/admindocs/views.py:341 -msgid "Floating point number" -msgstr "Número en coma flotante" - -#: contrib/admindocs/views.py:345 contrib/comments/models.py:60 -msgid "IP address" -msgstr "Dirección IP" - -#: contrib/admindocs/views.py:347 -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (Verdadero, Falso o Nulo)" - -#: contrib/admindocs/views.py:348 -msgid "Relation to parent model" -msgstr "Relación con el modelo padre" - -#: contrib/admindocs/views.py:349 -msgid "Phone number" -msgstr "Número de teléfono" - -#: contrib/admindocs/views.py:354 -msgid "Text" -msgstr "Texto" - -#: contrib/admindocs/views.py:355 -msgid "Time" -msgstr "Hora" - -#: contrib/admindocs/views.py:356 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:357 -msgid "U.S. state (two uppercase letters)" -msgstr "Estado de los EEUU (dos letras mayúsculas)" - -#: contrib/admindocs/views.py:358 -msgid "XML text" -msgstr "Texto XML" - -#: contrib/admindocs/views.py:384 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s no parece ser un objeto urlpattern" @@ -1222,66 +1194,62 @@ msgid "As above, but opens the admin page in a new window." msgstr "" "Como antes, pero abre la página de administración en una nueva ventana." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Información personal" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Permisos" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Fechas importantes" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Grupos" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Añadir usuario" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "La contraseña se ha cambiado con éxito." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Cambiar contraseña: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Requerido. 30 caracteres o menos. Sólo caracteres alfanuméricos (letras, " -"dígitos y guiones bajos)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Nombre de usuario" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Este valor debe contener sólo letras, números y guiones bajos." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Requerido. 30 caracteres o menos. Letras, dígitos y @/./+/-/_ solamente." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Este valor puede contener sólo letras, números y @/./+/-/_." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Contraseña (confirmación)" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Ya existe un usuario con este nombre." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Las dos contraseñas no coinciden." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Esta cuenta está inactiva." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1289,11 +1257,11 @@ msgstr "" "Su navegador no parece tener las cookies habilitadas. Las cookies se " "necesitan para poder ingresar." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "Correo electrónico" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1301,74 +1269,71 @@ msgstr "" "Esta dirección de correo electrónico no tiene una cuenta de usuario " "asociada. ¿Está seguro de que se ha registrado?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Contraseña restablecida en %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Contraseña nueva" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Contraseña nueva (confirmación):" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Contraseña antigua" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "" "Su contraseña antigua es incorrecta. Por favor, vuelva a introducirla " "correctamente." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "nombre" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "nombre en código" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "permiso" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "permisos" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "grupo" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "grupos" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "nombre de usuario" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "Requerido. 30 caracteres o menos. Letras, números y @/./+/-/_" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "nombre propio" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "apellidos" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "dirección de correo electrónico" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "contraseña" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1376,19 +1341,19 @@ msgstr "" "Use'[algo]$[sal]$[hash hexadecimal]' o use el " "formulario para cambiar la contraseña." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "es staff" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "Indica si el usuario puede entrar en este sitio de administración." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "activo" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1396,11 +1361,11 @@ msgstr "" "Indica si el usuario puede ser tratado como activo. Desmarque esta opción en " "lugar de borrar la cuenta." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "es superusuario" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -1408,15 +1373,15 @@ msgstr "" "Indica que este usuario tiene todos los permisos sin asignárselos " "explícitamente." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "último inicio de sesión" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "fecha de alta" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1424,39 +1389,71 @@ msgstr "" "Además de los permisos asignados manualmente, este usuario también tendrá " "todos los permisos de los grupos en los que esté." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "permisos de usuario" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "usuario" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "usuarios" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "mensaje" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Sesión terminada" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:416 msgid "Enter a valid e-mail address." msgstr "Introduzca una dirección de correo electrónico válida." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "contenido" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "metadatos" +#: contrib/comments/admin.py:39 +msgid "flagged" +msgstr "marcado" + +#: contrib/comments/admin.py:40 +msgid "Flag selected comments" +msgstr "Marcar los comentarios seleccionados" + +#: contrib/comments/admin.py:43 +msgid "approved" +msgstr "aprobado" + +#: contrib/comments/admin.py:44 +msgid "Approve selected comments" +msgstr "aprobar los comentarios seleccionados" + +#: contrib/comments/admin.py:47 +msgid "removed" +msgstr "eliminado" + +#: contrib/comments/admin.py:48 +msgid "Remove selected comments" +msgstr "Eliminar los comentarios seleccionados" + +#: contrib/comments/admin.py:60 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 comentarios ha sido %(action)s satisfactoriamente." +msgstr[1] "%(count)s comentarios han sido %(action)s satisfactoriamente." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1468,7 +1465,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Últimos comentarios en %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Nombre" @@ -1476,24 +1472,28 @@ msgstr "Nombre" msgid "Email address" msgstr "dirección de correo electrónico" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1120 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Comentario" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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] "¡Cuide su vocabulario! Aquí no admitimos la palabra %s." msgstr[1] "¡Cuide su vocabulario! Aquí no admitimos las palabras %s." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "Si introduce algo en este campo su comentario será tratado como spam" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "tipo de contenido" @@ -1522,6 +1522,10 @@ msgstr "comentario" msgid "date/time submitted" msgstr "fecha/hora de envío" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:916 +msgid "IP address" +msgstr "Dirección IP" + #: contrib/comments/models.py:61 msgid "is public" msgstr "es público" @@ -1598,14 +1602,13 @@ msgstr "marcas de comentario" #: contrib/comments/templates/comments/approve.html:4 msgid "Approve a comment" -msgstr "Aprovar un comentario" +msgstr "Aprobar un comentario" #: contrib/comments/templates/comments/approve.html:7 msgid "Really make this comment public?" msgstr "Realmente desea hacer este comentario público?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Aprobar" @@ -1630,11 +1633,6 @@ msgstr "Eliminar un comentario" msgid "Really remove this comment?" msgstr "¿Realmente desea eliminar este comentario?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Eliminar" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Gracias por eliminar" @@ -1665,39 +1663,6 @@ msgstr "Enviar" msgid "Preview" msgstr "Previsualizar" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Cola de moderación de comentarios" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "No hay comentarios por moderar" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Correo electrónico" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "¿Autentificado?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "Dirección IP" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Fecha de envío" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "sí" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "no" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Gracias por comentar" @@ -1725,11 +1690,11 @@ msgstr "Envie su comentario" msgid "or make changes" msgstr "o haga cambios" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "nombre de la clase modelo de python" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "tipos de contenido" @@ -1790,7 +1755,7 @@ msgstr "página estática" msgid "flat pages" msgstr "páginas estáticas" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1798,6 +1763,41 @@ msgstr "" "Lo sentimos, pero su formulario ha expirado. Por favor, continue rellenando " "el formulario en esta página." +#: contrib/gis/db/models/fields.py:50 +#, fuzzy +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" +"El campo GIS base -- se relaciona con el tipo Geometry de la especificación " +"de OpenGIS." + +#: contrib/gis/db/models/fields.py:269 +msgid "Point" +msgstr "Punto" + +#: contrib/gis/db/models/fields.py:273 +msgid "Line string" +msgstr "Cadena de línea" + +#: contrib/gis/db/models/fields.py:277 +msgid "Polygon" +msgstr "Polígono" + +#: contrib/gis/db/models/fields.py:281 +msgid "Multi-point" +msgstr "Punto múltiple" + +#: contrib/gis/db/models/fields.py:285 +msgid "Multi-line string" +msgstr "Cadena de línea múltiple" + +#: contrib/gis/db/models/fields.py:289 +msgid "Multi polygon" +msgstr "Polígono múltiple" + +#: contrib/gis/db/models/fields.py:293 +msgid "Geometry collection" +msgstr "Colección de \"Geometry\"" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "No se indico ningún valor de geometría." @@ -1815,8 +1815,8 @@ msgid "" "An error occurred when transforming the geometry to the SRID of the geometry " "form field." msgstr "" -"Ocurrió un error al transformar la geometria al SRID de la geometria " -"del campo de formulario." +"Ocurrió un error al transformar la geometria al SRID de la geometria del " +"campo de formulario." #: contrib/humanize/templatetags/humanize.py:19 msgid "th" @@ -1903,25 +1903,25 @@ msgstr "mañana" msgid "yesterday" msgstr "ayer" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Introduzca un código postal en el formato NNNN or ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:97 +#: contrib/localflavor/br/forms.py:136 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Este campo sólo acepta números." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Este campo necesita 7 u 8 dígitos." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Introduzca un CUIT válido en el formato XX-XXXXXXXX-X o XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "CUIT inválido." @@ -1961,8 +1961,8 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Viena" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Introduzca un código postal en el formato XXXX." @@ -1972,19 +1972,19 @@ msgstr "" "Introduzca un número de la Seguridad Social Austriaca válido en el formato " "XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Introduzca un código postal de 4 dígitos." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:22 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Introduzca un código postal en el formato XXXX-XXXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:31 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Los números de teléfono deben tener el formato XXX-XXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:59 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." @@ -1992,27 +1992,27 @@ msgstr "" "Seleccione un estado brasileño válido. Este estado no es uno de los estados " "disponibles." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:95 msgid "Invalid CPF number." msgstr "Número CPF inválido." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:96 msgid "This field requires at most 11 digits or 14 characters." msgstr "Este campo necesita un máximo de 11 dígitos o 14 caracteres." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:135 msgid "Invalid CNPJ number." msgstr "Número CNPJ inválido." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:137 msgid "This field requires at least 14 digits" msgstr "Este campo necesita 14 dígitos como mínimo" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Introduzca un código postal en el formato XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" "Introduzca un Número del Seguro Social de Canadá válido en el formato XXX-" @@ -2122,7 +2122,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2130,15 +2130,15 @@ msgstr "" "Introduzca un número de identificación o pasaporte suizos válidos en el " "formato X1234567<0 o 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Introduzca un RUT chileno válido." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Introduzca un RUT chileno válido. El formato es XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "El RUT chileno no es válido." @@ -2198,25 +2198,25 @@ msgstr "Región Zlin" msgid "Moravian-Silesian Region" msgstr "Región Moravia-Silesiana" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Introduzca un código postal en el formato XXXXX o XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "" "Introduzca un número de nacimiento en el formato XXXXXX/XXXX o XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "" "El parámetro opcional 'Género' es inválido, los valores válidos son 'f' y 'm'" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Introduzca un número de nacimiento válido." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Introduzca un número IC válido." @@ -2284,12 +2284,12 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringia" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Introduzca un código postal en el formato XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2564,11 +2564,11 @@ msgstr "Comunidad Foral de Navarra" msgid "Valencian Community" msgstr "Comunidad Valenciana" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Introduzca un código postal en el rango y formato 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." @@ -2576,65 +2576,497 @@ msgstr "" "Introduzca un número de teléfono válido en el formato 6XXXXXXXX, 8XXXXXXXX o " "9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Por favor introduzca un NIF, NIE o CIF válido." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Por favor, introduzca un NIF o NIE válido." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "El NIF es incorrecto." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "El NIE es incorrecto." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "El CIF es incorrecto." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" "Introduzca un número de cuenta bancaria en el formato XXXX-XXXX-XX-" "XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "El número de cuenta bancaria es incorrecto." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Introduzca un número de seguro social finlandés válido." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Los números de teléfono deben tener el formato 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Introduzca un código postal válido" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Introduzca un número de teléfono válido" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Introduzca un número de placa vehicular válido" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Introduzca un número NIK/KTP válido." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jacarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "de Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "sesión" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Introduzca un código postal en el formato XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "" "Introduzca un número de identificación de Islandia válido. El formato es " "XXXXXX-XXXX." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "El número de identificación de Islandia no es válido." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Introduzca un código postal válido." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Introduzca un número de Seguro Social válido." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Introduzca un número VAT válido." @@ -2830,6 +3262,10 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Introduzca un ID Civil kuwaití válido" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2958,15 +3394,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Introduzca un código postal válido" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Introduzca un número de teléfono válido" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Introduzca un número SoFi válido" @@ -3018,15 +3450,15 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Introduzca un número de seguro social de Noruega válido." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Este campo necesita 8 dígitos." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Este campo necesita 11 dígitos." @@ -3052,7 +3484,8 @@ msgstr "El Número de Identificación Tributaria (NIP) es incorrecto." #: contrib/localflavor/pl/forms.py:109 msgid "National Business Register Number (REGON) consists of 9 or 14 digits." msgstr "" -"El Número Nacional de Registro de Negocios (REGON) consiste en 9 o 14 dígitos." +"El Número Nacional de Registro de Negocios (REGON) consiste en 9 o 14 " +"dígitos." #: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." @@ -3126,6 +3559,14 @@ msgstr "Greater Poland" msgid "West Pomerania" msgstr "West Pomerania" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Introduzca un código postal en el formato XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Los números de teléfono deben ser de 9 dígitos, o comenzar con + o 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Introduzca un CIF válido." @@ -3146,6 +3587,106 @@ msgstr "Los números de teléfono deben tener el formato XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Introduzca un código postal válido en el formato XXXXXX" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Introduzca un número de organización sueca válido." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Introduzca un número de identidad personal sueco válido." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "No se admiten número de Co-ordinación." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Introduzca un código postal en el formato XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Estocolmo" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Región de Bystrica" @@ -3778,20 +4319,44 @@ msgstr "Escocia" msgid "Wales" msgstr "Gales" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Introduzca un código postal en el formato XXXXX o XXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Los números de teléfono deben tener el formato XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" "Introduzca un Número Seguro Social de EEUU válido en el formato XXX-XX-XXXX" -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Introduzca un estado o territorio de los EEUU." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Estado de los EEUU (dos letras mayúsculas)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Número de teléfono" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Introduzca un número de CI válido en el formato X.XXX.XXX-X,XXXXXXX-X o XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Introduzca un número CI válido." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Introduzca un ID surafricano válido" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Introduzca un código postal surafricano válido" @@ -3831,6 +4396,10 @@ msgstr "North West" msgid "Western Cape" msgstr "Western Cape" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "mensaje vago" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "redirigir desde" @@ -3895,60 +4464,223 @@ msgstr "nombre para mostrar" msgid "sites" msgstr "sitios" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Este valor debe ser un entero." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Introduzca un valor correcto." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Este valor debe ser Verdadero o Falso." +#: core/validators.py:87 forms/fields.py:517 +msgid "Enter a valid URL." +msgstr "Introduzca una URL válida." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Este campo no puede estar vacío." +#: core/validators.py:89 forms/fields.py:518 +msgid "This URL appears to be a broken link." +msgstr "La URL parece ser un enlace roto." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:861 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Introduzca un 'slug' válido, consistente en letras, números, guiones bajos o " +"medios." + +#: core/validators.py:126 forms/fields.py:854 +msgid "Enter a valid IPv4 address." +msgstr "Introduzca una dirección IPv4 válida." + +#: core/validators.py:129 db/models/fields/__init__.py:598 msgid "Enter only digits separated by commas." msgstr "Introduzca sólo dígitos separados por comas." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Asegúrese de que este valor es %(limit_value)s (actualmente es " +"%(show_value)s)." + +#: core/validators.py:153 forms/fields.py:196 forms/fields.py:246 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor es menor o igual a %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:197 forms/fields.py:247 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor es mayor o igual a %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Asegúrese de que este valor tiene al menos %(limit_value)d caracteres (" +"actualmente tiene %(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Asegúrese de que este valor tiene a lo más %(limit_value)d caracteres (" +"actualmente tiene %(show_value)d)." + +#: db/models/base.py:780 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "El campo %(field_name)s debe ser único para %(lookup)s %(date_field)s" + +#: db/models/base.py:795 db/models/base.py:803 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Ya existe %(model_name)s con este %(field_label)s." + +#: db/models/fields/__init__.py:62 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "El valor %r no es una opción válida." + +#: db/models/fields/__init__.py:63 +msgid "This field cannot be null." +msgstr "Este campo no puede estar vacío." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be blank." +msgstr "Este campo no puede estar vacío." + +#: db/models/fields/__init__.py:69 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo de tipo: %(field_type)s" + +#: db/models/fields/__init__.py:477 db/models/fields/__init__.py:878 +#: db/models/fields/__init__.py:980 db/models/fields/__init__.py:991 +#: db/models/fields/__init__.py:1018 +msgid "Integer" +msgstr "Entero" + +#: db/models/fields/__init__.py:481 db/models/fields/__init__.py:876 +msgid "This value must be an integer." +msgstr "Este valor debe ser un entero." + +#: db/models/fields/__init__.py:516 +msgid "This value must be either True or False." +msgstr "Este valor debe ser Verdadero o Falso." + +#: db/models/fields/__init__.py:518 +msgid "Boolean (Either True or False)" +msgstr "Booleano (Verdadero o Falso)" + +#: db/models/fields/__init__.py:565 db/models/fields/__init__.py:1001 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Cadena (máximo %(max_length)s)" + +#: db/models/fields/__init__.py:593 +msgid "Comma-separated integers" +msgstr "Enteros separados por comas" + +#: db/models/fields/__init__.py:607 +msgid "Date (without time)" +msgstr "Fecha (sin hora)" + +#: db/models/fields/__init__.py:611 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Introduzca una fecha válida en formato AAAA-MM-DD." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:612 #, python-format msgid "Invalid date: %s" msgstr "Fecha no válida: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:693 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "" "Introduzca una fecha/hora válida en formato AAAA-MM-DD HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:695 +msgid "Date (with time)" +msgstr "Fecha (con hora)" + +#: db/models/fields/__init__.py:761 msgid "This value must be a decimal number." msgstr "Este valor debe ser un entero." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:763 +msgid "Decimal number" +msgstr "Número decimal" + +#: db/models/fields/__init__.py:818 +msgid "E-mail address" +msgstr "Dirección de correo electrónico" + +#: db/models/fields/__init__.py:825 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Ruta de fichero" + +#: db/models/fields/__init__.py:848 msgid "This value must be a float." msgstr "Este valor debe ser un número con coma flotante." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:850 +msgid "Floating point number" +msgstr "Número en coma flotante" + +#: db/models/fields/__init__.py:903 +msgid "Big (8 byte) integer" +msgstr "Entero grande (8 bytes)" + +#: db/models/fields/__init__.py:932 msgid "This value must be either None, True or False." msgstr "Este valor debe ser Verdadero, Falso o Ninguno." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:934 +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadero, Falso o Nulo)" + +#: db/models/fields/__init__.py:1024 +msgid "Text" +msgstr "Texto" + +#: db/models/fields/__init__.py:1040 +msgid "Time" +msgstr "Hora" + +#: db/models/fields/__init__.py:1044 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Introduzca una hora válida en formato HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:816 +#: db/models/fields/__init__.py:1128 +msgid "XML text" +msgstr "Texto XML" + +#: db/models/fields/related.py:755 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "No existe ningún objeto %(model)s con la clave primaria %(pk)r." + +#: db/models/fields/related.py:757 +msgid "Foreign Key (type determined by related field)" +msgstr "Llave foránea (tipo determinado por el campo relacionado)" + +#: db/models/fields/related.py:879 +msgid "One-to-one relationship" +msgstr "Relación uno-a-uno" + +#: db/models/fields/related.py:939 +msgid "Many-to-many relationship" +msgstr "Relación muchos-a-muchos" + +#: db/models/fields/related.py:959 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 " "más de una opción." -#: db/models/fields/related.py:894 +#: db/models/fields/related.py:1020 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3960,88 +4692,60 @@ msgstr[1] "" "Por favor, introduzca IDs de %(self)s válidos. Los valores %(value)r no son " "válidos." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Este campo es obligatorio." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Introduzca un valor correcto." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Asegúrese de que su texto tiene a lo más %(max)d caracteres (actualmente " -"tiene %(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Asegúrese de que su texto tiene al menos %(min)d caracteres (actualmente " -"tiene %(length)d)." - -#: forms/fields.py:166 +#: forms/fields.py:195 msgid "Enter a whole number." msgstr "Introduzca un número entero." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Asegúrese de que este valor es menor o igual a %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Asegúrese de que este valor es mayor o igual a %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:225 forms/fields.py:245 msgid "Enter a number." msgstr "Introduzca un número." -#: forms/fields.py:227 +#: forms/fields.py:248 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Asegúrese de que no hay más de %s dígitos en total." -#: forms/fields.py:228 +#: forms/fields.py:249 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Asegúrese de que no hay más de %s decimales." -#: forms/fields.py:229 +#: forms/fields.py:250 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Asegúrese de que no hay más de %s dígitos antes de la coma decimal." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:311 forms/fields.py:826 msgid "Enter a valid date." msgstr "Introduzca una fecha válida." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:339 forms/fields.py:827 msgid "Enter a valid time." msgstr "Introduzca una hora válida." -#: forms/fields.py:361 +#: forms/fields.py:365 msgid "Enter a valid date/time." msgstr "Introduzca una fecha/hora válida." -#: forms/fields.py:447 +#: forms/fields.py:423 msgid "No file was submitted. Check the encoding type on the form." msgstr "" "No se ha enviado ningún fichero. Compruebe el tipo de codificación en el " "formulario." -#: forms/fields.py:448 +#: forms/fields.py:424 msgid "No file was submitted." msgstr "No se ha enviado ningún fichero" -#: forms/fields.py:449 +#: forms/fields.py:425 msgid "The submitted file is empty." msgstr "El fichero enviado está vacío." -#: forms/fields.py:450 +#: forms/fields.py:426 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." @@ -4049,7 +4753,7 @@ msgstr "" "Asegúrese de que su texto tiene no más de %(max)d caracteres (actualmente " "tiene %(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:461 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -4057,61 +4761,32 @@ msgstr "" "Envíe una imagen válida. El fichero que ha enviado no era una imagen o se " "trataba de una imagen corrupta." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Introduzca una URL válida." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "La URL parece ser un enlace roto." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:584 forms/fields.py:659 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "" "Escoja una opción válida. %(value)s no es una de las opciones disponibles." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 +#: forms/fields.py:660 forms/fields.py:722 forms/models.py:980 msgid "Enter a list of values." msgstr "Introduzca una lista de valores." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Introduzca una dirección IPv4 válida." - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Introduzca un 'slug' válido, consistente en letras, números, guiones bajos o " -"medios." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:290 forms/formsets.py:292 msgid "Order" msgstr "Orden" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "El campo %(field_name)s debe ser único para %(lookup)s %(date_field)s" - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Ya existe %(model_name)s con este %(field_label)s." - -#: forms/models.py:594 +#: forms/models.py:547 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Por favor, corrija el dato duplicado para %(field)s." -#: forms/models.py:598 +#: forms/models.py:551 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "" "Por favor corriga el dato duplicado para %(field)s, el cual debe ser único." -#: forms/models.py:604 +#: forms/models.py:557 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " @@ -4120,55 +4795,55 @@ msgstr "" "Por favor corriga los datos duplicados para %(field_name)s el cual debe ser " "único para %(lookup)s en %(date_field)s." -#: forms/models.py:612 +#: forms/models.py:565 msgid "Please correct the duplicate values below." msgstr "Por favor, corrija los valores duplicados abajo." -#: forms/models.py:867 +#: forms/models.py:839 msgid "The inline foreign key did not match the parent instance primary key." msgstr "" "La clave foránea en linea no coincide con la clave primaria de la instancia " "padre." -#: forms/models.py:930 +#: forms/models.py:905 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Escoja una opción válida. Esa opción no está entre las disponibles." -#: forms/models.py:1004 +#: forms/models.py:981 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Escoja una opción válida; '%s' no es una de las opciones disponibles." -#: forms/models.py:1006 +#: forms/models.py:983 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" no es un valor válido para una clave primaria." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:781 msgid "yes,no,maybe" msgstr "sí,no,tal vez" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:812 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d byte" msgstr[1] "%(size)d bytes" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:814 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:816 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:817 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4374,7 +5049,7 @@ msgstr "nov." msgid "Dec." msgstr "dic." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "o" @@ -4428,37 +5103,80 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:512 msgid "DATE_FORMAT" msgstr "j N Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:513 +msgid "DATETIME_FORMAT" +msgstr "j N Y P" + +#: utils/translation/trans_real.py:514 msgid "TIME_FORMAT" msgstr "P" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:535 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:536 msgid "MONTH_DAY_FORMAT" msgstr "j \\de F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "El/La %(verbose_name)s se ha creado exitosamente." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "Se actualizó con éxito el %(verbose_name)s." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "El/La %(verbose_name)s ha sido borrado." +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "Uno o más %(fieldname)s en %(name)s: %(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "Uno o más %(fieldname)s en %(name)s:" + +#~ msgid "Old password:" +#~ msgstr "Contraseña antigua:" + +#~ msgid "Relation to parent model" +#~ msgstr "Relación con el modelo padre" + +#~ msgid "Add user" +#~ msgstr "Añadir usuario" + +#~ msgid "Comment moderation queue" +#~ msgstr "Cola de moderación de comentarios" + +#~ msgid "No comments to moderate" +#~ msgstr "No hay comentarios por moderar" + +#~ msgid "Email" +#~ msgstr "Correo electrónico" + +#~ msgid "Authenticated?" +#~ msgstr "¿Autentificado?" + +#~ msgid "IP Address" +#~ msgstr "Dirección IP" + +#~ msgid "Date posted" +#~ msgstr "Fecha de envío" + +#~ msgid "yes" +#~ msgstr "sí" + +#~ msgid "no" +#~ msgstr "no" + #~ msgid "verbose_name" #~ msgid_plural "verbose_name_plural" #~ msgstr[0] "verbose_name" @@ -4554,9 +5272,6 @@ msgstr "El/La %(verbose_name)s ha sido borrado." #~ msgid "deletion date" #~ msgstr "fecha de eliminación" -#~ msgid "moderator deletion" -#~ msgstr "eliminación del moderador" - #~ msgid "moderator deletions" #~ msgstr "eliminaciones del moderador" @@ -4687,9 +5402,6 @@ msgstr "El/La %(verbose_name)s ha sido borrado." #~ msgid "The URL %s is a broken link." #~ msgstr "La URL %s es un enlace roto." -#~ msgid "Enter a valid U.S. state abbreviation." -#~ msgstr "Introduzca una abreviatura válida de estado de los EEUU." - #~ msgid "This field must match the '%s' field." #~ msgstr "Este campo debe concordar con el campo '%s'." @@ -4702,9 +5414,6 @@ msgstr "El/La %(verbose_name)s ha sido borrado." #~ 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" -#~ msgid "Duplicate values are not allowed." -#~ msgstr "No se admiten valores duplicados." - #~ msgid "This value must be between %(lower)s and %(upper)s." #~ msgstr "Este valor debe estar entre %(lower)s y %(upper)s." diff --git a/django/conf/locale/es/__init__.py b/django/conf/locale/es/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/es/formats.py b/django/conf/locale/es/formats.py new file mode 100644 index 000000000..58fd5fc60 --- /dev/null +++ b/django/conf/locale/es/formats.py @@ -0,0 +1,30 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = r'j \de F \de Y' +TIME_FORMAT = 'H:i:s' +DATETIME_FORMAT = r'j \de F \de Y \a \l\a\s H:i' +YEAR_MONTH_FORMAT = r'F \de Y' +MONTH_DAY_FORMAT = r'j \de F' +SHORT_DATE_FORMAT = 'd/m/Y' +SHORT_DATETIME_FORMAT = 'd/m/Y H:i' +FIRST_DAY_OF_WEEK = 1 # Monday +DATE_INPUT_FORMATS = ( + # '31/12/2009', '31/12/09' + '%d/%m/%Y', '%d/%m/%y' +) +TIME_INPUT_FORMATS = ( + # '14:30:59', '14:30' + '%H:%M:%S', '%H:%M' +) +DATETIME_INPUT_FORMATS = ( + '%d/%m/%Y %H:%M:%S', + '%d/%m/%Y %H:%M', + '%d/%m/%y %H:%M:%S', + '%d/%m/%y %H:%M', +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 + diff --git a/django/conf/locale/es_AR/LC_MESSAGES/django.mo b/django/conf/locale/es_AR/LC_MESSAGES/django.mo index 176709e3f6ad7d6d47d923063c2c1075229b582d..6a03dfc672e1255424dfe398c8de6e5c04b98ba3 100644 GIT binary patch literal 77708 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

          OPe*#qc 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

          Bu46_lO1w525M^Ee8V9K4!M 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�m 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�MlJjvYN!6ew`}?@wXE-PxPO`Zg`?IAwwVU)Z~(rC z9q}sa1y%h^Uc=ZCwSW(>0ZvCfZbwkVbmc>kz!>|;-j@t4#)Lor`nqUNKq3@aUhp3&Mj_SV%1JD0gWOP@4 zkHzs2>T~+O+rSE1?QV5WV?NZtMU0`wDyRwSm~tD8q}&BH;diKc_M#Sg8Vl?Bzd$B0 zfxl5Zkn=0|49cL&RWL2KKy_?u>bsb7ZyZP5iyz{3)I{-X-2P**IptZXg`Y#+Yu7OF z?|-+*WGC>u0%)yu7myyc6WLMqB~aJ8I%dO`sGGB!sUL!RY)4`aoQ@fB5o+SqsGZn= znQ;dOKK~DyzzNi~yM$TrCaU9KsD(X8?L_c8w_PSwyAagPR}4#F15^JdYNElYc8Qo3 z$DmGN@;dfkfqACEO4J#Di#oG|sEIEdZ=!bM9%^APP-m3>YqwnpYJmk%^~FrNtf{YT z;OIIb)1VMaXD(@lIz{AuZWtcCTbz|P+Q&H#5io1FbUOhGHQ!vqPBjO@q5%nhf!y61=apH)Z_F3bplUNmm+9` zdmrgQA;UOQ9B8 z9t&W7)Kkz6b(6h~y7m)|OHn(q2LsRlF=Yt+gn951>I@#Dwl3{vw>~Rs<+(Ai0L(?X z6za`c2Q_hT)C8kZ_s|EZSNJSbzZup40{S(;FJv^pW7O6b_|BcU6xO9&5nJORQ(l7u zDc`~_*lr6q8ZN+^_{dn{d-to@095~p=)t4d5&!s}{m)CL$yQd6J+TT-!>YIgYvZ3- z56f@k8!`H@6>h?IXm59K)(*xfY)brnRQ*2G&g9$px35M@>Z@wj1g7OZmgx65*L;QQ( z-$YvC8w4V-JZ?hm$Td?gvX||r+!{;c8hi~;VL!~WkGCBT!Djd&mcqlRSMvi?pJTr} zUsWta+~0wWCK`qnaSfKm^QeWSJ>U*p6)RKjgl*7|Y4HH+J#Ylm;}z6BaSNlc!4K}u zxDU_a`NCIl+@#RD@^o?*)KjZ2MR88@KXZ8hcnsPT@P z_!$$wg4%&wrv9E}e(NC_o%u7&fLRW?=0R;$QOt~?s256g)SIvgX2Ca56M9koBTe}& zRKK?|uv4afiYd>=z~}!WGCK1Ws0r5?H=@pL8)||Bm=%wj@!^wEqQ-fI>i5jV z(;ar}vm5iH?vdh$*?$e3L?AzoLX~G2=b|R~0yV*xs0mUrD{eCGL$y1Fn)m{?#+%pz zs~&Ot4a01d-$Cu*M@QKI_sPsBpovQ!bw7^Fqh3r+F+29c@)%{DVcdp#&Tk`kvsLk! z`>t<-dK?F!7BB|2u)U}gIchxXC!;gEYWx*-CihJFk?|R-W6*K8eP+~)DJOQsNE81S zb(3vHozO1S#6O_=pEO=Twe#OFfjg)Uf1wui4{9Oy3D=CMoydtAs5oli@~E4urYVP^ zwzv(de@|5V0hkM;P?v5rGLPT-h)f89X{d&aQ3I|vev6@$ccB(|8#TcnsD)Z5-H+dN zsQP@yqNoLzMvYqwwV+0*r=}(5)brofRQQZBsI5sxt#l;nUYLZMcmZnQuW$lxMNQn| zlsiE?3_O-buQ3+YZWLXQD08YkTucR^XtnCHJB0aX-7O;Fa9tDzQH2X#hGu`9O1rZ^Wh!A0W@ zRQr3F6Q7_yb~F9t-eZ+e^^H;eUjK>fuN8M8pfm1?K{yC2Vif8*o`u@V4cHz}Vr49G z)*Yxb>L%`mc`+LE;5bwNsfjN{?ZmgJduW%ROb#+9Pz$(*TKS)-n=SZfcY<7~4uw!V zQ2}#fRn&kjP-oT&_0I2&+R;I%9gRWt8-_abQKsx4X9AOqQ!y6}W}_xpg_?K=md0aP z2_K_&uJk!~zzV1Z*FeRaq888^wZM)TSQrL&7}+7e6-7oX^rOyv5~|@G)Lpw2wWX=3 zE&TxlceU{a>Kjhs^KN}ztU$RVR>e^mimR{`p1`vB1heS*FMh$j1eH+>2}7MhYt)1t zP+Jy(+L36~JO4dwjJr_%f-kx|kQF;nE{yeXC=SP^7=}eJxqtHMFPYz3OJ+ORy|2<@WBoK^uQ7iisHNkV!Fx^eJJ{ziIE>kXqI#Z9aJnC_-iCS0-OoM$f zJr2Nh7>T;K;{0R^kr|IV!-b|nD(Zc(8MQiKU#CKG{AQ3EYTO|Z(8x1lE5XUdl`1La?hf1oD(+mx+4 z?!q&o+U3H-SQvGJcTnyB#6o)hpODebk^49I7l=}*au{lWj;NLQ#7r24+TtYRSj7ofpB1g}4a$>Hm+FF_ zj9w5oQTMrRKH@Vamt_uu7GM+3pGxC6K{%Y-_FGS zZ;;W8rw?kt7}H=FW~clvYJka@4QHYzT5RIWF@*9O)Py@xT8y@gc|j)?_kEa3AUnW1hPcyoFlGJE)aULS2F>sI8rkxp5V$-40WK z2sPn(RJ&WKd*ZRFw_mvbosb;pf1Qd*GGUmCYWM)Pkmsl~vj27CnT)wn^+i!TPy$O} zO)QE%urvULN40Nj%AHXQ>xnwEaMUG-qhkj8-xib%u*k6K+CvJY+nE zy4I&q6J0=E<6lkuvGHHjj;2rRE;J_wQO=KAa3NDJj)A}bmm;HyDx+?e>Zohn*w`L5 zQEybcC}Rxj9(W7&qDe$;`Nyaon1)*LJk$v;!BY4YYC$J3@b~}IWVBVkpgKN4E#zO+ zn=orSJMhoyB~c6Li5j>s>L!gaCZi^rfI8DD#+j%~HW#(PFHj3uhJnBTe@R9QNJVYk zF5@B8r8tA?a0hGPJ=8!Y(z^>OgIZV>Q?6mk^-VbpHBKwkJbkbd4o%PVubb>s0&*ql z48BKAuot!U2T|AjXVgU3QJ3fzs@)^hrO>XOr$HK4`yu&rq`@Q|w_U75M)6$l{~yVW zrqe3Y$BYt%+V*@5QkT4r<+zDDP5J}zA25k@o_rC~pVa+9`jpsl(l6v+Js#3V$6gYz ze`_iApE2fQ=C`U-8BIX1L_GnkD33A&l*KPerHMB-iy2_*rW-F4KSSbO7WlTLSFMgi z#EQ7t|M~eEvAHC#S&+Xo1s#Lve2QQ`tZHJ4|Dhk|c>k67dfMqG8$lXJo>zO|5{;nE zM#gDFtSR}*@zf`T5`=^2$-nl;5OL1f8c) zH;?>Zq#vjogGaH7X}8<>a)?&cmnW8yG=TgsqzP2UqmFgN%i=XNztx9|oo0|k^7&1E zER$cM;m_*z%CYg4d@0%-CzT`iubDvAPZ{Gq48 zi?WCERqT#?NhOJ|puC0w+M0AnR~mgqUL!v-ng#r3>hw<0ae}%mrcUJx z)VIQHynpzt=G{)=0F6F19o1+ec@LeA;CAY2Drk;{#3z&ZdT*7a{v_!q^7URezzM`& z9&eDDM7bV)T98&yj>Dh)1UH#h?=s0%@{cf*^f~z!xR!<`Xjg#zm*f|a-Zgz*l9l>* ziT5M$ChcAx`pnmHhS)*sb(|vgr+s(ymm@QiijPQ5RcnsU*qyqLxSGxj@qNlViqbZb zG?_TxS*`n|n&kIVKa{wInbn5a-{k)y^gd}iv9rW<+(ysK=f4_(&j|cPN+chLn@P*a z7pBv<404hDO7go%ODXHvL|(@%?1S&&=cM)2r{G~6gr87XiScwaBi%Fk!2DlRI7q`c z@Ov76L4(JX*N~c!ULG%~Z%)}q;4kv?NUcaWh;79>q*srYjJ1lGKKUk+`jTHu+vV8M zG~DK=Q7XY`tYU)mX>fvAF=G8lM~T-)9e-2TiL`+F>Zqd;X)>uBvH7IeO?(>06W>Hk zM?K078Rsif56Y3)<~=I2lk^Qn$5c`zDTvrD1voC#aWdsTbm&ihDrpC4ms@SECBMj7 z*dv#-wg>-@GL+sT>8MSwE%a(gxiR@;Pco>^AMXu>Ow~CzbR8eVR~ykF>+IZHRYBq14SF{voMT5HHS;2Rp43&}Up{BKdP zDSSht2+H44*6|zV1~`Sf8N@n}&r3d^DmlWaA5J-r^b7U-NOy_7JnoZk|FVEXXgB|r z@)PR)tLfB{idT^d^zyYvSRr4nlq*vBM-C{h8OQ~4pmcI0(5Gb&$z_(~jS2B=Sd2T(86wuk%XTf0066GvQ@Zu^)Y;FKO&Bz{eyX=`rP!rtMhrvuLv!tCN;cpPn>= zdi^f5hSY|#j_brSnf%-Id3j9J2UizU@iM5d625gK%Xy&Eg>Bt zX^1@h_?7%O)DJa{*O4D+^6jbrm-=W^zCwAlzBuKk(aWO)4c3r!B;YdY4&pw1L2^__ z>P#v_HVyX2f!Gsud`G)CNXbmF6_ZGFh`&RdZp3uVCbnG}J^yz|Q>b`Lfme>aixEco*HkvbihTmt{*sjQcH1yWJkhmejCt3)~6v>$HTU&k}ln}h%3GzK5@$^@#Y zNckL%veNk+`9`E~UUtD8|JD8i?H18~3w4#r=O;}g^`l+S|4e56Zu%`Tu{!$0#eOX)}V@3F?nf z{*m_eu_y-izn3x`wMfIrFQ&1FR3{MSmu4DAk>81zNO#FUqkajlr>tWS{U%{JuEmzxc+$w3^EN82s-4C(NM=W@|jFsN7{W$N<(T#dV|!P zq$8D7iavu$>1f{)8F7l&OW7MJasHji6k(7;fq?tt zJoF%Tl};H=$7aUPbk;G1atTr;@;&iO;;TtJ1GVmt!*GLf=8{HI*A{jBO1etEi{5rR z`e7`VH@#*&VcJ`1$q1BHAJ^7m-lhE$pqL26CxD?C8bF%?IX-e#-|lm}x7eP;)1 z`L<7a1?3%-1J{2HfnjtgOnO3^N5vKz^dR1gRF~LM(g&m*lsl0A=O76ummmho4TJVzdX8_ zd>JfHeHGFV^wE)%d`DAXjQkywAC7Un!e(Lwk^&LL?2xl4_D~No*AP<}{o{ zc`oJEq~)aT#6Ki9p1h7Kmne;G_yVm)sq`;vXm#@JBjYHVSrSlj|F5xK>;5VDE6R1#yXyQ8CKJz6{02dLsyM9{d;?<4uSgYPF4w@g+F_ ze%#*~{7KggvEg2NCHS19pR{y}POj^uJ`8c*o!rGaJ9(Tla7t8#gs2Fsy*Jt$K6FID z!CpuRkJQg3E=_xHV%)GO1xGlS9=CMnO>O1mn$|Z>1m*G5syLUY<#*~#_c(7&f0{cy zE^tK>JxOsduZqtZ>1=hH%^2xip3&OrG_$CaJhP-f!V~XJOdKAU5K+(S7#$ZAmmJQu z9n2-PI>!1uaS3!!@Oes?9Teq@j)?Wf_{t@EqGAcSd3ybSHKRk^z#-)lt&Z_=(LSqV z0(S~Oor5zwrZ$~b&vrge>F8vhUCkLXJ0vxAc3f~~_CC_;6c?T3O-Nan-Y(+woOj!4 zKYv=@X!j1|%;LSeaRMh8?VOum$jQFI6V@a;KGGYT%+^PRd%`2V3EuD|UqYfME;f3E zr);z@Nu`ROh^WC)Nr@hBY=kE{mc?+Pxe>}$cIGdr=A2wmAocNr=pZNMi%{p_7Z;p$ ziyEaqTQu5s#w~d}L#)-6F6{cDrDdF;Wo1&UFY~5J{rStIL8*IJ@3WngYtH8Q?}43n z*M8#US$D#@zwVjy;Opxt=Zf2fgJQi-@%8ncMeApzHu+|@o%&!yIy*J^+k-)=S2kz0 zofqGI;>_L>nfiQ7T01plYct#Fye+>oW?QS*s@APkwRWZI)jZW})T{McrK&ZmR?XC@ zW2G*>VNr=(yGqTuiR*c)S2gXbd#YBgSFMKgd|T1(Y{2d;Py67;`T`A=j}yP zLw2l4;}qQUPTv2^Ysb^R>GV^%oy~i~oN;@1q)$#v_9jHdIeqqpJNx#fIKKU3QqvwN zY&)|K6n5JDkl%^?p?CJ3+uB5MWugZ0zKMtnb9VgDlh;iLUNya6ea&=_8X4{#;dLth z*xji=w6k;W$Jd-vhZ3B5hk7`FANnVq*Awm?;&q-Kp8S8jbV85TD;MqcMEE@1>P)3I zCF-r?iS>p15~GrM`y~W+V^?ad)9+{{XUfrnyoahg&yMzUyvG`c4DxYv1O`a(dBdY< zmiqazyg{j3PF%1v|L3)&x6*6Qy;Dc*W=`?bHB&F19_YTGem~Q~xp=0t)9h>>-c31v zD&~woo5xvpwvH2jIdf{qpUVU}E6(%sxDe`WxbS&u|BFR}oYR-51hr}I%)b)qOuf>; zX?XRX9hF+)mlt+w$LpnSXUxrv&ej|4Q)}OB8{}-h)!eS=ytp+WL*>AGz?HBx#)KY(Evdcw!NBqC;6Q8+H z%q`IQpX@d-$qvrWXXTuWGwL`sp6B9anLjvrAg}I}=jHv);$o8$yotVD>%2VVNl}B7 zz4fdFUYXoM9`g#dy2Y~No|s(=6aVYg$#nmDb^d>~`mZ;qbLV+K=lvJu?0TuIUre@V zwzZQ}f^EA+%15@HY2!uP-jFscuUKz*oOyX}yS+w2+W9TJzAaw3ymFC`?ioiC+E zW_wYC1n)p^g4HU3XN1Sg_C!P_c;dMC{u5t^PF;PiA zPvWlB=(v<8h3tVryH=$1DQwSNR;h?>=im(f_p^Og#GaOtQq(T))LB^ z9c!m_tYEKA$x_iy${ZVE#U}fP`K;Kult~rsb#_Eby-N1Dl;f4`JSn#;+4X`FlTtz} V+s*9Alp&Svr$L;Kw~C$Xe*ufp\n" +"POT-Creation-Date: 2010-08-06 16:06-0300\n" +"PO-Revision-Date: 2010-09-10 16:42-0300\n" +"Last-Translator: Ramiro \n" "Language-Team: Django-I18N \n" +"Language: es_AR\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-Generator: Pootle 2.0.1\n" #: conf/global_settings.py:44 msgid "Arabic" msgstr "árabe" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "bengalí" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "búlgaro" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "bengalí" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "bosnio" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "catalán" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "checo" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "galés" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "danés" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "alemán" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "griego" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "inglés" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "inglés británico" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "español" -#: conf/global_settings.py:55 +#: conf/global_settings.py:57 +msgid "Argentinian Spanish" +msgstr "español de Argentina" + +#: conf/global_settings.py:58 msgid "Estonian" msgstr "estonio" -#: conf/global_settings.py:56 -msgid "Argentinean Spanish" -msgstr "español de Argentina" - -#: conf/global_settings.py:57 +#: conf/global_settings.py:59 msgid "Basque" msgstr "vasco" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "persa" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "finlandés" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "francés" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "frisón" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "irlandés" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "gallego" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "húngaro" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "hebreo" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" -msgstr "Hindi" +msgstr "hindi" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "croata" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "húngaro" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "indonesio" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "islandés" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "italiano" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "japonés" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "georgiano" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "koreano" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "jémer" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "canarés" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "letón" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "coreano" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "lituano" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "letón" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "macedonio" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Malayalam" +msgstr "Malayalam" + +#: conf/global_settings.py:82 +msgid "Mongolian" +msgstr "mongol" + +#: conf/global_settings.py:83 msgid "Dutch" msgstr "holandés" -#: conf/global_settings.py:78 +#: conf/global_settings.py:84 msgid "Norwegian" msgstr "noruego" -#: conf/global_settings.py:79 +#: conf/global_settings.py:85 +msgid "Norwegian Bokmal" +msgstr "bokmål" + +#: conf/global_settings.py:86 +msgid "Norwegian Nynorsk" +msgstr "nynorsk" + +#: conf/global_settings.py:87 msgid "Polish" msgstr "polaco" -#: conf/global_settings.py:80 +#: conf/global_settings.py:88 msgid "Portuguese" msgstr "portugués" -#: conf/global_settings.py:81 +#: conf/global_settings.py:89 msgid "Brazilian Portuguese" msgstr "portugués de Brasil" -#: conf/global_settings.py:82 +#: conf/global_settings.py:90 msgid "Romanian" msgstr "rumano" -#: conf/global_settings.py:83 +#: conf/global_settings.py:91 msgid "Russian" msgstr "ruso" -#: conf/global_settings.py:84 +#: conf/global_settings.py:92 msgid "Slovak" msgstr "eslovaco" -#: conf/global_settings.py:85 +#: conf/global_settings.py:93 msgid "Slovenian" msgstr "esloveno" -#: conf/global_settings.py:86 +#: conf/global_settings.py:94 +msgid "Albanian" +msgstr "albanés" + +#: conf/global_settings.py:95 msgid "Serbian" msgstr "serbio" -#: conf/global_settings.py:87 +#: conf/global_settings.py:96 +msgid "Serbian Latin" +msgstr "Latín de Serbia" + +#: conf/global_settings.py:97 msgid "Swedish" msgstr "sueco" -#: conf/global_settings.py:88 +#: conf/global_settings.py:98 msgid "Tamil" msgstr "tamil" -#: conf/global_settings.py:89 +#: conf/global_settings.py:99 msgid "Telugu" msgstr "telugu" -#: conf/global_settings.py:90 +#: conf/global_settings.py:100 msgid "Thai" msgstr "tailandés" -#: conf/global_settings.py:91 +#: conf/global_settings.py:101 msgid "Turkish" msgstr "turco" -#: conf/global_settings.py:92 +#: conf/global_settings.py:102 msgid "Ukrainian" msgstr "ucraniano" -#: conf/global_settings.py:93 +#: conf/global_settings.py:103 +msgid "Vietnamese" +msgstr "vietnamita" + +#: conf/global_settings.py:104 msgid "Simplified Chinese" msgstr "chino simplificado" -#: conf/global_settings.py:94 +#: conf/global_settings.py:105 msgid "Traditional Chinese" msgstr "chino tradicional" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Se eliminaron con éxito %(count)d %(items)s." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "¿Está seguro?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Eliminar %(verbose_name_plural)s seleccionados/as" @@ -267,19 +313,19 @@ msgstr "Este mes" msgid "This year" msgstr "Este año" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:478 msgid "Yes" msgstr "Sí" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:478 msgid "No" msgstr "No" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:478 msgid "Unknown" msgstr "Desconocido" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Acción:" @@ -311,61 +357,60 @@ msgstr "entrada de registro" msgid "log entries" msgstr "entradas de registro" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "Ninguno" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "Modifica %s." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:845 +#: forms/models.py:568 msgid "and" msgstr "y" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Se agregó %(name)s \"%(object)s\"." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Se modificaron %(list)s en %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Se eliminó %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "No ha modificado ningún campo." -#: contrib/admin/options.py:599 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "Se agregó con éxito %(name)s \"%(obj)s\"." -#: contrib/admin/options.py:603 contrib/admin/options.py:636 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "Puede modificarlo/a nuevamente abajo." -#: contrib/admin/options.py:613 contrib/admin/options.py:646 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "Puede agregar otro/a %s abajo." -#: contrib/admin/options.py:634 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "Se modificó con éxito %(name)s \"%(obj)s\"." -#: contrib/admin/options.py:642 +#: contrib/admin/options.py:686 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." @@ -373,44 +418,68 @@ msgstr "" "Se agregó con éxito %(name)s \"%(obj)s\". Puede modificarlo/a nuevamente " "abajo." -#: contrib/admin/options.py:773 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Deben existir items seleccionados para poder realizar acciones sobre los " +"mismos. No se modificó ningún item." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "No se ha seleccionado ninguna acción." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Agregar %s" -#: contrib/admin/options.py:804 contrib/admin/options.py:1005 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "No existe un objeto %(name)s con una clave primaria %(key)r." -#: contrib/admin/options.py:861 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "Modificar %s" -#: contrib/admin/options.py:905 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Error de base de datos" -#: contrib/admin/options.py:941 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "Se ha modificado con éxito %(count)s %(name)s." msgstr[1] "Se han modificado con éxito %(count)s %(name)s." -#: contrib/admin/options.py:1020 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s seleccionados/as" +msgstr[1] "Todos/as (%(total_count)s en total) han sido seleccionados/as" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 de %(cnt)s seleccionados/as" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "Se eliminó con éxito %(name)s \"%(obj)s\"." -#: contrib/admin/options.py:1057 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Historia de modificaciones: %s" -#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -418,76 +487,66 @@ msgstr "" "Por favor introduzca un nombre de usuario y una contraseña correctos. Note " "que ambos campos son sensibles a mayúsculas/minúsculas." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Por favor, identifíquese de nuevo porque su sesión ha caducado." -#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 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. Por favor " -"actívelas, recargue esta página, e inténtelo de nuevo." +"actívelas, recargue esta página e inténtelo de nuevo." -#: contrib/admin/sites.py:308 contrib/admin/sites.py:314 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Los nombres de usuario no pueden contener el carácter '@'." -#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "" "Su dirección de correo electrónico no es su nombre de usuario. Intente " "nuevamente usando '%s'." -#: contrib/admin/sites.py:367 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Administración de sitio" -#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Identificarse" -#: contrib/admin/sites.py:426 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "Administración de %s" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Uno o más %(fieldname)s en %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Uno o más %(fieldname)s en %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Fecha:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Hora:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Actualmente" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Modificar:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Buscar" -#: contrib/admin/widgets.py:235 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Agregar otro/a" @@ -502,17 +561,17 @@ msgstr "Lo sentimos, pero no se encuentra la página solicitada." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -550,34 +609,47 @@ msgstr "Ejecutar la acción seleccionada" msgid "Go" msgstr "Ejecutar" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Haga click aquí para seleccionar los objetos de todas las páginas" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seleccionar lo(s)/a(s) %(total_count)s de %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Borrar selección" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:27 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Bienvenido," -#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Documentación" -#: contrib/admin/templates/admin/base.html:40 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Cambiar contraseña" -#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Cerrar sesión" @@ -589,41 +661,42 @@ msgstr "Sitio de administración de Django" msgid "Django administration" msgstr "Administración de Django" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Agregar" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Historia" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Ver en el sitio" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 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_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Agregar %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filtrar" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Eliminar" @@ -671,10 +744,10 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" "¿Está seguro de que quiere eliminar los objetos %(object_name)s " -"seleccionados? Se eliminarán todos los siguientes objetos " +"seleccionados? Se eliminarán todos los siguientes objetos y sus items " "relacionados:" #: contrib/admin/templates/admin/filter.html:2 @@ -738,21 +811,15 @@ msgid "User" msgstr "Usuario" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Acción" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j N Y P" - #: contrib/admin/templates/admin/object_history.html:38 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é " +"Este objeto no tiene historia de modificaciones. Probablemente no fue " "añadido usando este sitio de administración." #: contrib/admin/templates/admin/pagination.html:10 @@ -762,7 +829,7 @@ msgstr "Mostrar todos/as" #: contrib/admin/templates/admin/pagination.html:11 #: contrib/admin/templates/admin/submit_line.html:3 msgid "Save" -msgstr "Grabar" +msgstr "Guardar" #: contrib/admin/templates/admin/search_form.html:8 msgid "Search" @@ -782,54 +849,64 @@ msgstr "total: %(full_result_count)s" #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" -msgstr "Grabar como nuevo" +msgstr "Guardar como nuevo" #: contrib/admin/templates/admin/submit_line.html:6 msgid "Save and add another" -msgstr "Grabar y añadir otro" +msgstr "Guardar y agregar otro" #: contrib/admin/templates/admin/submit_line.html:7 msgid "Save and continue editing" -msgstr "Grabar y continuar editando" +msgstr "Guardar y continuar editando" #: 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 contraseña. Luego podrá " -"configurar opciones adicionales." +"Primero introduzca un nombre de usuario y una contraseña. Luego podrá " +"configurar opciones adicionales acerca del usuario." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Nombre de usuario:" +#: contrib/admin/templates/admin/auth/user/add_form.html:8 +msgid "Enter a username and password." +msgstr "Introduzca un nombre de usuario y una contraseña." -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Contraseña:" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Contraseña (de nuevo)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "" -"Para verificación, introduzca la misma contraseña que introdujo arriba." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: 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 contraseña para el usuario %(username)s." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Contraseña" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Contraseña (de nuevo)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "" +"Para verificación, introduzca la misma contraseña que introdujo arriba." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Agregar otro/a %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Eliminar" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Eliminar?" @@ -843,9 +920,9 @@ msgid "Log in again" msgstr "Identificarse de nuevo" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Cambio de contraseña" @@ -858,7 +935,7 @@ msgstr "Cambio de contraseña exitoso" msgid "Your password was changed." msgstr "Su contraseña ha sido cambiada." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -867,21 +944,17 @@ msgstr "" "antigua y luego introduzca la nueva contraseña dos veces para verificar que " "la ha escrito correctamente." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Contraseña antigua:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Contraseña antigua" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Contraseña nueva:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Contraseña nueva" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Confirme contraseña:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Cambiar mi contraseña" @@ -920,6 +993,14 @@ msgstr "" "Por favor introduzca su nueva contraseña dos veces de manera que podamos " "verificar que la ha escrito correctamente." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Contraseña nueva:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Confirme contraseña:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Reinicialización de contraseña exitosa" @@ -949,8 +1030,7 @@ msgstr "" #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" -msgstr "" -"Recibe este mensaje debido a que solicitó recuperar la contraseña" +msgstr "Recibe este mensaje debido a que solicitó recuperar la contraseña" #: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format @@ -992,25 +1072,25 @@ msgstr "Dirección de correo electrónico:" msgid "Reset my password" msgstr "Recuperar mi contraseña" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Todas las fechas" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "Seleccione %s" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "Seleccione %s a modificar" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "sitio" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "plantilla" @@ -1070,89 +1150,7 @@ msgstr "número de %s" msgid "Fields on %s objects" msgstr "Campos en objetos %s" -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 -#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 -#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 -msgid "Integer" -msgstr "Entero" - -#: contrib/admindocs/views.py:335 -msgid "Boolean (Either True or False)" -msgstr "Booleano (Verdadero o Falso)" - -#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Cadena (máximo %(max_length)s)" - -#: contrib/admindocs/views.py:337 -msgid "Comma-separated integers" -msgstr "Enteros separados por comas" - -#: contrib/admindocs/views.py:338 -msgid "Date (without time)" -msgstr "Fecha (sin hora)" - -#: contrib/admindocs/views.py:339 -msgid "Date (with time)" -msgstr "Fecha (con hora)" - -#: contrib/admindocs/views.py:340 -msgid "Decimal number" -msgstr "Número decimal" - -#: contrib/admindocs/views.py:341 -msgid "E-mail address" -msgstr "Dirección de correo electrónico" - -#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 -#: contrib/admindocs/views.py:346 -msgid "File path" -msgstr "Ruta de archivo" - -#: contrib/admindocs/views.py:344 -msgid "Floating point number" -msgstr "Número de punto flotante" - -#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 -msgid "IP address" -msgstr "Dirección IP" - -#: contrib/admindocs/views.py:350 -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (Verdadero, Falso o Nulo)" - -#: contrib/admindocs/views.py:351 -msgid "Relation to parent model" -msgstr "Relación con el modelo padre" - -#: contrib/admindocs/views.py:352 -msgid "Phone number" -msgstr "Número de teléfono" - -#: contrib/admindocs/views.py:357 -msgid "Text" -msgstr "Texto" - -#: contrib/admindocs/views.py:358 -msgid "Time" -msgstr "Hora" - -#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:360 -msgid "U.S. state (two uppercase letters)" -msgstr "Estado de los EE.UU. (dos letras mayúsculas)" - #: contrib/admindocs/views.py:361 -msgid "XML text" -msgstr "Texto XML" - -#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s no parece ser un objeto urlpattern" @@ -1226,66 +1224,63 @@ msgstr "Editar este objeto (nueva ventana)" msgid "As above, but opens the admin page in a new window." msgstr "Ídem, pero abre la página de administración en una nueva ventana." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Información personal" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Permisos" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Fechas importantes" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Grupos" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Agregar usuario" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Cambio de contraseña exitoso" -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Cambiar contraseña: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Nombre de usuario" + +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." msgstr "" "Obligatorio. Longitud máxima 30 caracteres alfanuméricos (letras, dígitos y " -"guiones bajos)." +"@/./+/-/_) solamente." -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Este valor debe contener sólo letras, números y guiones bajos." +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Este valor solo puede contener letras, números y @/./+/-/_." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Confirmación de contraseña" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Ya existe un usuario con ese nombre." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Los dos campos de contraseñas no coinciden entre si." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Esta cuenta está inactiva" -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1293,86 +1288,85 @@ msgstr "" "Su navegador Web aparenta no estar configurado para aceptar cookies. Las " "cookies son un requerimiento para poder ingresar." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "Correo electrónico" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" msgstr "" -"Esa dirección de e-mail no está asociada a ninguna cuenta de usuario. ¿Está " -"seguro de que ya se ha registrado?" +"Esa dirección de correo electrónico no está asociada a ninguna cuenta de " +"usuario. ¿Está seguro de que ya se ha registrado?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Reinicialización de contraseña en %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Contraseña nueva" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Confirmación de contraseña nueva" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Contraseña antigua" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "" "La antigua contraseña introducida es incorrecta. Por favor introdúzcala " "nuevamente." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "nombre" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "nombre en código" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "permiso" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "permisos" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "grupo" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "grupos" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "nombre de usuario" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Obligatorio. Longitud máxima de 30 caracteres alfanuméricos (letras, dígitos " +"y @/./+/-/_)." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "nombre" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "apellido" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "dirección de correo electrónico" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "contraseña" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1380,19 +1374,19 @@ msgstr "" "Use '[algo]$[salt]$[hexdigest]' o use el formulario de " "cambio de contraseña." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "es staff" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "Indica si el usuario puede ingresar a este sitio de administración." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "activo" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1400,11 +1394,11 @@ msgstr "" "Indica si el usuario debe ser tratado como un usuario activo. Desactive este " "campo en lugar de eliminar usuarios." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "es superusuario" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -1412,15 +1406,15 @@ msgstr "" "Indica que este usuario posee todos los permisos sin que sea necesario " "asignarle los mismos en forma explícita." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "último ingreso" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "fecha de creación" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1428,39 +1422,77 @@ msgstr "" "Además de los permisos asignados manualmente, este usuario también poseerá " "todos los permisos de los grupos a los que pertenezca." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "permisos de usuario" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "usuario" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "usuarios" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "mensaje" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Sesión cerrada" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:24 +#: core/validators.py:120 forms/fields.py:427 msgid "Enter a valid e-mail address." msgstr "Introduzca una dirección de correo electrónico válida" -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Contenido" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metadatos" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "marcado" +msgstr[1] "marcados" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Marcar comentarios seleccionados" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "aprobado" +msgstr[1] "aprobados" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Aprobar comentario seleccionado" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "eliminado" +msgstr[1] "eliminados" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Eliminar comentarios seleccionados" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "un comentario fue %(action)s satisfactoriamente." +msgstr[1] "%(count)s comentarios fueron %(action)s satisfactoriamente" + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1472,7 +1504,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Últimos comentarios en %(site_name)s." #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Nombre" @@ -1480,24 +1511,28 @@ msgstr "Nombre" msgid "Email address" msgstr "Dirección de correo electrónico" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1109 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Comentario" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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] "¡Controla tu lenguaje! Aquí no admitimos la palabra %s." msgstr[1] "¡Controla tu lenguaje! Aquí no admitimos las palabras %s." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "Si introduce algo en este campo su comentario será tratado como spam" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "tipo de contenido" @@ -1526,6 +1561,10 @@ msgstr "comentario" msgid "date/time submitted" msgstr "fecha/hora de envío" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:904 +msgid "IP address" +msgstr "Dirección IP" + #: contrib/comments/models.py:61 msgid "is public" msgstr "es público" @@ -1533,8 +1572,7 @@ msgstr "es público" #: contrib/comments/models.py:62 msgid "" "Uncheck this box to make the comment effectively disappear from the site." -msgstr "" -"deseleccione esta caja para lograr que el comentario desaparezca del sitio." +msgstr "desmarque este ítem para que el comentario desaparezca del sitio." #: contrib/comments/models.py:64 msgid "is removed" @@ -1545,7 +1583,7 @@ 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á un " +"Marque este ítem si el comentario es inapropiado. En su lugar se mostrará un " "mensaje \"Este comentario ha sido eliminado\"." #: contrib/comments/models.py:77 @@ -1608,7 +1646,6 @@ msgid "Really make this comment public?" msgstr "¿Confirma que realmente desea hacer este comentario público?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Aprobar" @@ -1633,11 +1670,6 @@ msgstr "Eliminar un comentario" msgid "Really remove this comment?" msgstr "¿Confirma que realmente desea eliminar este comentario?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Eliminar" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "¡Gracias por eliminar!" @@ -1668,39 +1700,6 @@ msgstr "Remitir" msgid "Preview" msgstr "Previsualización" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Cola de comentarios que necesitan revisión" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "No hay comentarios que necesiten revisación" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Correo electrónico" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "¿Identificado?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "Dirección IP" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "fecha de creación" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "sí" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "no" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Gracias por dejar su comentario" @@ -1728,11 +1727,11 @@ msgstr "Enviar su comentario" msgid "or make changes" msgstr "o realice modificaciones" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "nombre de la clase python del modelo" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "tipos de contenido" @@ -1795,7 +1794,7 @@ msgstr "página estática" msgid "flat pages" msgstr "páginas estáticas" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1803,6 +1802,40 @@ msgstr "" "Lamentablemente su formulario ha caducado. Por favor continúe rellenando el " "formulario en esta página." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" +"El campo GIS base -- corresponde al tipo Geometry de la especificación " +"OpenGIS." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Punto" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Secuencia de líneas" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Polígono" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Multi-punto" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Cadena multi-línea" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Multi polígono" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Colección de Geometry's" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "No se ha proporcionado un valor de geometría." @@ -1825,19 +1858,19 @@ msgstr "" #: contrib/humanize/templatetags/humanize.py:19 msgid "th" -msgstr "th" +msgstr "to" #: contrib/humanize/templatetags/humanize.py:19 msgid "st" -msgstr "st" +msgstr "ro" #: contrib/humanize/templatetags/humanize.py:19 msgid "nd" -msgstr "nd" +msgstr "do" #: contrib/humanize/templatetags/humanize.py:19 msgid "rd" -msgstr "rd" +msgstr "ro" #: contrib/humanize/templatetags/humanize.py:51 #, python-format @@ -1908,25 +1941,25 @@ msgstr "mañana" msgid "yesterday" msgstr "ayer" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Introduzca un código postal en formato NNNN o ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." -msgstr "Este campo permite sólo valores numéricos." +msgstr "Este campo sólo permite valores numéricos." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Este campo requiere 7 u 8 dígitos." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Introduzca un CUIT válido en formato XX-XXXXXXXX-X o XXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "CUIT inválido." @@ -1966,29 +1999,30 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Viena" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Introduzca un zip code en formato XXXX." #: contrib/localflavor/at/forms.py:48 msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." msgstr "" -"Introduzca un Número de Seguridad Social austríaco en formato XXXX XXXXXX." +"Introduzca un Número de Seguridad Social austríaco válido en formato XXXX " +"XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Introduzca un post code de 4 dígitos." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 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 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Los números telefónicos deben respetar el formato XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." @@ -1996,30 +2030,31 @@ msgstr "" "Seleccione un estado Brasileño válido. Ese estado no es uno de los estados " "disponibles." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Número CPF inválido." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "Este campo requiere como máximo 11 dígitos o 14 caracteres." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "Número CNPJ inválido." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "Este campo requiere al menos 14 dígitos." -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Introduzca un código postal en formato XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" -"Introduzca un Número de Seguridad Social Canadiense en formato XXX-XXX-XXX." +"Introduzca un Número de Seguridad Social Canadiense válido en formato XXX-" +"XXX-XXX." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -2125,7 +2160,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2133,15 +2168,15 @@ msgstr "" "Introduzca un número válido de tarjeta de identidad o pasaporte Suizos en " "formato X1234567<0 o 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Introduzca un RUT chileno válido." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Introduzca un RUT chileno válido. EL formato es XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "El RUT chileno no es válido." @@ -2155,7 +2190,7 @@ msgstr "región Bohemia Central" #: contrib/localflavor/cz/cz_regions.py:10 msgid "South Bohemian Region" -msgstr "región Bohemian Meridional" +msgstr "región Bohemia Meridional" #: contrib/localflavor/cz/cz_regions.py:11 msgid "Pilsen Region" @@ -2201,24 +2236,26 @@ msgstr "región Zlín" msgid "Moravian-Silesian Region" msgstr "región Moravia-Silesia" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Introduzca un código postal en formato XXXXX o XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "" "Introduzca un número de nacimiento en formato XXXXXX/XXXX o XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 -msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" -msgstr "Parámetro opcional Género inválido, valores válidos son 'f' y 'm'" - #: contrib/localflavor/cz/forms.py:49 -msgid "Enter a valid birth number." -msgstr "Introduzca un número ide nacimiento válido." +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" +"Valor erróneo para el parámetro opcional género. Los valores válidos son 'f' " +"y 'm'" -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "Introduzca un número de nacimiento válido." + +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Introduzca un número IC válido." @@ -2232,11 +2269,11 @@ msgstr "Bavaria" #: contrib/localflavor/de/de_states.py:7 msgid "Berlin" -msgstr "Berlin" +msgstr "Berlín" #: contrib/localflavor/de/de_states.py:8 msgid "Brandenburg" -msgstr "Brandenburg" +msgstr "Brandenburgo" #: contrib/localflavor/de/de_states.py:9 msgid "Bremen" @@ -2260,7 +2297,7 @@ msgstr "Lower Saxony" #: contrib/localflavor/de/de_states.py:14 msgid "North Rhine-Westphalia" -msgstr "North Rhine-Westphalia" +msgstr "Renania septentrional-Westfalia" #: contrib/localflavor/de/de_states.py:15 msgid "Rhineland-Palatinate" @@ -2286,12 +2323,12 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringia" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Introduzca un zip code en formato XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2566,13 +2603,13 @@ msgstr "Comunidad Foral de Navarra" msgid "Valencian Community" msgstr "Comunidad Valenciana" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "" "Introduzca un código postal en el siguiente rango y con el siguiente " "formato: 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." @@ -2580,65 +2617,497 @@ msgstr "" "Introduzca un número telefónico en uno de los siguientes formatos: " "6XXXXXXXX, 8XXXXXXXX o 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Por favor introduzca un NIF, NIE o CIF válidos." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Por favor, introduzca un NIF o CIE válidos." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Código de verificación de NIF inválido." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Código de verificación de NIE inválido." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Código de verificación de CIF inválido." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" "Por favor introduzca un número de cuenta bancaria válido en formato XXXX-" "XXXX-XX-XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Código de verificación de número de cuenta bancaria inválido." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Introduzca un número de seguridad social finlandés válido." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Los números telefónicos deben respetar el formato 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Introduzca un código postal válido." + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Introduzca un número telefónico válido." + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Introduzca un número de placa de licencia de vehículo válido." + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Introduzca un número NIK/KTP válido." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Java Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Java Central" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Java Oriental" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Occidental" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Meridional" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Central" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Oriental" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Islas Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Molucas" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Molucas Septentrional" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Aceh" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusatenggara Occidental" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusatenggara Oriental" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papúa" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Provincia de Papúa Occidental" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Célebes Occidental" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Célebes Meridional" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Célebes Central" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Célebes Suroriental" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Molucas Septentrional" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatra Occidental" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatra Meridional" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatra Septentrional" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps Consulate" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Federal Government" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wicklow" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Introduzca un zip code en formato XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "" "Introduzca un número de identificación islandés válido. El formato es XXXXXX-" "XXXX." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "El número de identificación islandés no es válido." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Introduzca un zip code válido." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Introduzca un número de Seguridad Social válido." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Introduzca un número VAT válido." @@ -2696,7 +3165,7 @@ msgstr "Chiba" #: contrib/localflavor/jp/jp_prefectures.py:16 msgid "Tokyo" -msgstr "Tokyo" +msgstr "Tokio" #: contrib/localflavor/jp/jp_prefectures.py:17 msgid "Kanagawa" @@ -2834,6 +3303,10 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Introduzca un número de ID civil kuwaití válido." + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2962,15 +3435,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Introduzca un código postal válido." -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Introduzca un número telefónico válido." - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Introduzca un número SoFi válido." @@ -3022,15 +3491,15 @@ msgstr "Zelanda" msgid "Zuid-Holland" msgstr "Holanda Meridional" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Introduzca un número de seguridad social Noruego válido." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Este campo requiere 8 dígitos." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Este campo requiere 11 dígitos." @@ -3062,7 +3531,7 @@ msgstr "" #: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." msgstr "" -"Código de verificación de Número Nacional de Registro de negocios (REGON) " +"Código de verificación de Número Nacional de Registro de Negocios (REGON) " "inválido." #: contrib/localflavor/pl/forms.py:148 @@ -3133,6 +3602,14 @@ msgstr "Gran Polonia" msgid "West Pomerania" msgstr "Pomerania Occidental" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Introduzca un zip code en formato XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Los números telefónicos deben ser de 9 dígitos o comenzar con + o 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Introduzca un CIF válido." @@ -3153,6 +3630,106 @@ msgstr "Los números telefónicos deben respetar el formato XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Introduzca un código postal válido en formato XXXXXX" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Introduzca un número de organización sueco válido." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Introduzca un número de identidad personal sueco válido." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "No se admiten números de co-ordinación" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Introduzca un código postal sueco en formato XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Estocolmo" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergrötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Escania" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banska Bystrica" @@ -3785,19 +4362,44 @@ msgstr "Escocia" msgid "Wales" msgstr "Gales" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Introduzca un zip code en el formato XXXXX o XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Los números telefónicos deben respetar el formato XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "Introduzca un Número de Seguridad Social en formato XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:20 -msgid "Enter a valid South African ID number" -msgstr "Introduzca un número ID de Sudáfrica válido." +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Introduzca un estado de EE.UU. o un territorio." -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Estado de los EE.UU. (dos letras mayúsculas)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Número de teléfono" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" +"Introduzca un número CI válido en formato X.XXX.XXX-X,XXXXXXX-X o XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Introduzca un número CI válido." + +#: contrib/localflavor/za/forms.py:21 +msgid "Enter a valid South African ID number" +msgstr "Introduzca un número de ID de Sudáfrica válido." + +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Introduzca un código postal de Sudáfrica válido." @@ -3837,6 +4439,10 @@ msgstr "North West" msgid "Western Cape" msgstr "Western Cape" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "mensaje lazy" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "redirigir desde" @@ -3875,7 +4481,7 @@ msgstr "clave de sesión" #: contrib/sessions/models.py:47 msgid "session data" -msgstr "datos de sesión" +msgstr "datos de la sesión" #: contrib/sessions/models.py:48 msgid "expire date" @@ -3901,61 +4507,224 @@ msgstr "nombre para visualizar" msgid "sites" msgstr "sitios" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Este valor debe ser un número entero." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Introduzca un valor válido." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Este valor debe ser True o False." +#: core/validators.py:87 forms/fields.py:528 +msgid "Enter a valid URL." +msgstr "Introduzca una URL válida." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Este campo no puede ser nulo." +#: core/validators.py:89 forms/fields.py:529 +msgid "This URL appears to be a broken link." +msgstr "La URL parece ser un enlace roto." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:877 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "Introduzca un 'slug' válido consistente de letras, números o guiones." + +#: core/validators.py:126 forms/fields.py:870 +msgid "Enter a valid IPv4 address." +msgstr "Introduzca una dirección IPv4 válida" + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "Introduzca sólo dígitos separados por comas." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Asegúrese de que este valor sea %(limit_value)s (actualmente es " +"%(show_value)s)." + +#: core/validators.py:153 forms/fields.py:204 forms/fields.py:256 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor sea menor o igual a %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Asegúrese de que este valor sea mayor o igual a %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr "" +"Asegúrese de que este valor tenga al menos %(limit_value)d caracteres (tiene " +"%(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr "" +"Asegúrese de que este valor tenga como máximo %(limit_value)d caracteres " +"(tiene %(show_value)d)." + +#: db/models/base.py:823 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" +"%(field_name)s debe ser único/a para un %(lookup)s %(date_field)s " +"determinado." + +#: db/models/base.py:838 db/models/base.py:846 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Ya existe un/a %(model_name)s con este/a %(field_label)s." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "El valor %r no es una opción válida." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Este campo no puede ser nulo." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Este campo no puede estar en blanco." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo tipo: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:860 +#: db/models/fields/__init__.py:969 db/models/fields/__init__.py:980 +#: db/models/fields/__init__.py:1007 +msgid "Integer" +msgstr "Entero" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:858 +msgid "This value must be an integer." +msgstr "Este valor debe ser un número entero." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Este valor debe ser True o False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Booleano (Verdadero o Falso)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:990 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Cadena (máximo %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Enteros separados por comas" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Fecha (sin hora)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Introduzca una fecha válida en formato AAAA-MM-DD." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Fecha no válida: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "" "Introduzca un valor de fecha/hora válido en formato AAAA-MM-DD HH:MM[:ss[." "uuuuuu]]." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Fecha (con hora)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "Este valor debe ser un número decimal." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Número decimal" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "Dirección de correo electrónico" + +#: db/models/fields/__init__.py:807 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Ruta de archivo" + +#: db/models/fields/__init__.py:830 msgid "This value must be a float." msgstr "Este valor debe ser un valor en representación de punto flotante." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:832 +msgid "Floating point number" +msgstr "Número de punto flotante" + +#: db/models/fields/__init__.py:891 +msgid "Big (8 byte) integer" +msgstr "Entero grande (8 bytes)" + +#: db/models/fields/__init__.py:920 msgid "This value must be either None, True or False." msgstr "Este valor debe ser None, True o False." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:922 +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadero, Falso o Nulo)" + +#: db/models/fields/__init__.py:1013 +msgid "Text" +msgstr "Texto" + +#: db/models/fields/__init__.py:1029 +msgid "Time" +msgstr "Hora" + +#: db/models/fields/__init__.py:1033 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Introduzca un valor de hora válido en formato HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:816 +#: db/models/fields/__init__.py:1125 +msgid "XML text" +msgstr "Texto XML" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "No existe un modelo %(model)s con una clave primaria %(pk)r." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Clave foránea (el tipo está determinado por el campo relacionado)" + +#: db/models/fields/related.py:919 +msgid "One-to-one relationship" +msgstr "Relación uno-a-uno" + +#: db/models/fields/related.py:981 +msgid "Many-to-many relationship" +msgstr "Relación muchos-a-muchos" + +#: db/models/fields/related.py:1001 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Mantenga presionada \"Control\" (\"Command\" en una Mac) para seleccionar " "más de uno." -#: db/models/fields/related.py:894 +#: db/models/fields/related.py:1062 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3967,87 +4736,59 @@ msgstr[1] "" "Por favor, introduzca IDs de %(self)s válidos. Los valores %(value)r no son " "válidos." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Este campo es obligatorio." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Introduzca un valor válido." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Asegúrese de que este valor tenga como máximo %(max)d caracteres (tiene %" -"(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Asegúrese de que este valor tenga al menos %(min)d caracteres (tiene %" -"(length)d)." - -#: forms/fields.py:166 +#: forms/fields.py:203 msgid "Enter a whole number." msgstr "Introduzca un número entero." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Asegúrese de que este valor sea menor o igual a %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Asegúrese de que este valor sea mayor o igual a %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:234 forms/fields.py:255 msgid "Enter a number." msgstr "Introduzca un número." -#: forms/fields.py:227 +#: forms/fields.py:258 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Asegúrese de que no existan en total mas de %s dígitos." -#: forms/fields.py:228 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Asegúrese de que no existan mas de %s lugares decimales." -#: forms/fields.py:229 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Asegúrese de que no existan mas de %s dígitos antes del punto decimal." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:322 forms/fields.py:837 msgid "Enter a valid date." msgstr "Introduzca una fecha válida." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:350 forms/fields.py:838 msgid "Enter a valid time." msgstr "Introduzca un valor de hora válido." -#: forms/fields.py:361 +#: forms/fields.py:376 msgid "Enter a valid date/time." msgstr "Introduzca un valor de fecha/hora válido." -#: forms/fields.py:447 +#: forms/fields.py:434 msgid "No file was submitted. Check the encoding type on the form." msgstr "" "No se envió un archivo. Verifique el tipo de codificación en el formulario." -#: forms/fields.py:448 +#: forms/fields.py:435 msgid "No file was submitted." msgstr "No se envió ningún archivo." -#: forms/fields.py:449 +#: forms/fields.py:436 msgid "The submitted file is empty." msgstr "El archivo enviado está vacío." -#: forms/fields.py:450 +#: forms/fields.py:437 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." @@ -4055,70 +4796,41 @@ msgstr "" "Asegúrese de que este nombre de archivo tenga como máximo %(max)d caracteres " "(tiene %(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:472 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." msgstr "" -"Envíe una imagen válida. El archivo que ha enviado no era una imagen o se " -"trataba de una imagen corrupta." +"Seleccione una imagen válida. El archivo que ha seleccionado no es una " +"imagen o es un un archivo de imagen corrupto." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Introduzca una URL válida." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "La URL parece ser un enlace roto." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:595 forms/fields.py:670 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "" "Seleccione una opción válida. %(value)s no es una de las opciones " "disponibles." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 +#: forms/fields.py:671 forms/fields.py:733 forms/models.py:1002 msgid "Enter a list of values." msgstr "Introduzca una lista de valores." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Introduzca una dirección IPv4 válida" - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "Introduzca un 'slug' válido consistente de letras, números o guiones." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "Ordenar" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "" -"%(field_name)s debe ser único/a para un %(lookup)s %(date_field)s " -"determinado." - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Ya existe un/a %(model_name)s con este/a %(field_label)s." - -#: forms/models.py:594 +#: forms/models.py:562 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Por favor, corrija la información duplicada en %(field)s." -#: forms/models.py:598 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "" "Por favor corrija la información duplicada en %(field)s, que debe ser única." -#: forms/models.py:604 +#: forms/models.py:572 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " @@ -4127,57 +4839,58 @@ msgstr "" "Por favor corrija la información duplicada en %(field_name)s que debe ser " "única para el %(lookup)s en %(date_field)s." -#: forms/models.py:612 +#: forms/models.py:580 msgid "Please correct the duplicate values below." msgstr "Por favor, corrija los valores duplicados detallados mas abajo." -#: forms/models.py:867 +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "" -"La clave foránea del modelo inline no coincide con la de la instancia padre." +"La clave foránea del modelo inline no coincide con la clave primaria de la " +"instancia padre." -#: forms/models.py:930 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" -"Seleccione una opción válida. Esa opción no es una de las opciones " +"Seleccione una opción válida. La opción seleccionada no es una de las " "disponibles." -#: forms/models.py:1004 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "" "Seleccione una opción válida. %s no es una de las opciones disponibles." -#: forms/models.py:1006 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" no es un valor válido para una clave primaria." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "si,no,talvez" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d byte" msgstr[1] "%(size)d bytes" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4383,7 +5096,7 @@ msgstr "Nov." msgid "Dec." msgstr "Dic." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "o" @@ -4437,33 +5150,37 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "j N Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j N Y P" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "P" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "j \\de F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "Se creó con éxito %(verbose_name)s." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "Se actualizó con éxito %(verbose_name)s." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "Se eliminó %(verbose_name)s." diff --git a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.mo b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.mo index b7683ea354a7abcfaae7d7c6c5734b4c83d6598b..db805c50efbff295da63f63ed962e8967bd16277 100644 GIT binary patch literal 2512 zcmai#zmFU>6vqb$zn0(OS3{&n5t2xm$!<`N%O;0%+>hjr+q>g-^8@B1vk z^8(6CC_kedK>6rCRCxXZUjy%e4}nMS4}wR)I_Uc+!6(2o;G^I&_#k)*+y}k~o(E&l z&$~Gu{| z06zvHCAc{r{|5B_{{Vgq{sjICegY8%_zo8JA$}fZKMLF}pJ!3~dCyhd@?3oL>2crt z;Gf4Tls@`>y;iU9ag?V}oswk`E~AH3he!NZobBbIcJ4jzt`LlXlWJ5KKTZh}OV zN5PE9SS7-sp<>R0nZDMRNsyB{2QwK9Ln6a?rsK=OIhk;X4&cBnXWfQQQ|QWdvQ3REZqQq!1bPBxi|@2x}fP zOar64qKhbGT3?nbrJgqA`b=jvbqnV(*$DLgAU5@H+FnWZE(-1`4Mw}9SxXNOsaL7acXoiuu-h@?U_wt`~LJ=t+mja+jhDU)oU|aIaUxe8o(>ZSKYBe zCZsy$58YUHQ|CML;pDcR7u{nM&Z$@@_y(Ia*_E!gniY^9&TEs~CaFQ$wNuAWQPrF} ztmx$_Y8*LLyA+;f#rROY?Z!SL%roP?6|k;{Pn{F=2x}iAd^k zDnd@0%jCMi_aUf{Q2TB!6%vxuiMGKSXL>zYiHpp6TZq(UPVz)bx~6HmJ5EX3=OpRt z4E1!1FH0jUIf>kZn~JPdcp@u}M`mSQwSpEtWubK3=d!7jjW0wnUFw;oC8VepEz$)f zs1_DA5HhPFGS#$%ENHzD=OH&fH?j6#%VNPp;DTi14cZ$wx(HTqPLG0?*!WT?EI(os zoD)?}8b`AXgNS3f@wK9X_fctNF5FR($!l1F6t?xT%5l;?8H>u46~!VSXuBgBFp|`q z-AqtS9~S<$l~BmXRywA_BG8yzuAhhmVgxZRrgmPz94=*nxYNk%*d9NNe+2xUME8<^ zw9=1L6hlOF>_}>a4+Lex?r=f-7USnR*_+QVu-pgQZY_&FrJR_4+OCTVFZ;M z8Eg~La^)Xz8@HIebTA#_=W$O)3ih0f&F(kN^Mx delta 890 zcmZ9}IcyU_6oBEu*bbN^K+IKeyaG!gIM)?VZ_mMlf2 zOGOi{=qTu^k&tL9Q$T2tf@qPbXj0H1{%1A?j6Czr&hg&N_+xf+a`oFx@};31qaLSz zrRJ!wcF|C*gfVF>;%=1d$u z@x)KmMBAu|f1w7}L4j%100pdI2{mvRHBN|{cm?ZRVhuIU2Ad}EGfv|cX2@@T(9wocoq>#kXMJ%xf#rRr0eF&(alsZ+DJV*X?9NB z?z?TfZ*rluyzptz^Ei1Jy-S}yF+PezEW0m*pcRC=h~u?A`q5T;eWC7qU5{xqFN@rw mAvfgy&K-24D}E4)H*mY5*kb=pB_rwBZ9BdX&k>C#?)(9P<%bpk diff --git a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po index 32a37eb04..ddb54e4d1 100644 --- a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po @@ -6,44 +6,57 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-10-06 14:18-0300\n" -"PO-Revision-Date: 2007-07-14 14:36-0300\n" +"POT-Creation-Date: 2010-08-06 16:09-0300\n" +"PO-Revision-Date: 2010-08-06 15:59-0300\n" "Last-Translator: Ramiro Morales \n" "Language-Team: Django-I18N \n" +"Language: es_AR\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" +"X-Generator: Pootle 2.0.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 todos" - -#: contrib/admin/media/js/SelectFilter2.js:46 -msgid "Add" -msgstr "Agregar" - -#: 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 elegidos" - -#: contrib/admin/media/js/SelectFilter2.js:54 -msgid "Select your choice(s) and click " -msgstr "Seleccione los items a agregar y haga click en " - -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Eliminar todos" +#: contrib/admin/media/js/actions.js:18 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s de %(cnt)s seleccionado/a" +msgstr[1] "%(sel)s de %(cnt)s seleccionados/as" + +#: contrib/admin/media/js/actions.js:109 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Tiene modificaciones sin guardar en campos modificables individuales. Si " +"ejecuta una acción las mismas se perderán." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Ha seleccionado una acción, pero todavía no ha grabado las modificaciones " +"que ha realizado en campos individuales. Por favor haga click en Aceptar " +"para grabarlas. Necesitará ejecutar la acción nuevamente." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Ha seleccionado una acción pero no ha realizado ninguna modificación en " +"campos individuales. Es probable que lo que necesite usar en realidad sea el " +"botón Ejecutar y no el botón Guardar." + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -57,62 +70,63 @@ msgstr "" msgid "S M T W T F S" msgstr "D L M M J V S" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Mostrar" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Ocultar" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "Domingo Lunes Martes Miércoles Jueves Viernes Sábado" -#: 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" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Ahora" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "Reloj" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Elija una hora" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "Medianoche" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "6 a.m." -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "Mediodía" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Cancelar" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "Hoy" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Calendario" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "Ayer" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "Mañana" diff --git a/django/conf/locale/es_AR/__init__.py b/django/conf/locale/es_AR/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/es_AR/formats.py b/django/conf/locale/es_AR/formats.py new file mode 100644 index 000000000..ac8c2eb14 --- /dev/null +++ b/django/conf/locale/es_AR/formats.py @@ -0,0 +1,29 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = r'j N Y' +TIME_FORMAT = r'H:i:s' +DATETIME_FORMAT = r'j N Y H:i:s' +YEAR_MONTH_FORMAT = r'F Y' +MONTH_DAY_FORMAT = r'j \de F' +SHORT_DATE_FORMAT = r'd/m/Y' +SHORT_DATETIME_FORMAT = r'd/m/Y H:i' +FIRST_DAY_OF_WEEK = 0 # 0: Sunday, 1: Monday +DATE_INPUT_FORMATS = ( + '%d/%m/%Y', # '31/12/2009' + '%d/%m/%y', # '31/12/09' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%d/%m/%Y %H:%M:%S', + '%d/%m/%Y %H:%M', + '%d/%m/%y %H:%M:%S', + '%d/%m/%y %H:%M', +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/et/LC_MESSAGES/django.mo b/django/conf/locale/et/LC_MESSAGES/django.mo index 426ee9c9371b95d8605774efe49dbdad3f3210a7..92203eecde760c897c65f1fda38c865a8b669b02 100644 GIT binary patch delta 16071 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 diff --git a/django/conf/locale/et/LC_MESSAGES/django.po b/django/conf/locale/et/LC_MESSAGES/django.po index 9b8ae9e27..f5430ef83 100644 --- a/django/conf/locale/et/LC_MESSAGES/django.po +++ b/django/conf/locale/et/LC_MESSAGES/django.po @@ -4111,18 +4111,18 @@ msgstr[1] "%(size)d baiti" #: template/defaultfilters.py:800 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" #: template/defaultfilters.py:802 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" #: template/defaultfilters.py:803 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." diff --git a/django/conf/locale/et/__init__.py b/django/conf/locale/et/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/et/formats.py b/django/conf/locale/et/formats.py new file mode 100644 index 000000000..101fceed1 --- /dev/null +++ b/django/conf/locale/et/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F Y' +TIME_FORMAT = 'G:i:s' +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'd.m.Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = u' ' # Non-breaking space +# NUMBER_GROUPING = diff --git a/django/conf/locale/eu/LC_MESSAGES/django.mo b/django/conf/locale/eu/LC_MESSAGES/django.mo index c19c32116ff63c42512004b76729b0748cd90a68..fc4b49a4de775faa7355058b15f18094b6b2169e 100644 GIT binary patch delta 9176 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 kQw*Mej4Q-&n#f=6j;Rgkqe=5Px# delta 24096 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\n" +"Last-Translator: Aku Kotkavuo \n" "Language-Team: Django I18N \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,215 +22,255 @@ msgid "Arabic" msgstr "arabia" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "bengali" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "bulgaria" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "bengali" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "bosnia" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "katalaani" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "tšekki" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "wales" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "tanska" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "saksa" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "kreikka" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "englanti" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "brittienglanti" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "espanja" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "viro" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "Argentiinan espanja" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "viro" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "baski" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "persia" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "suomi" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "ranska" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "friisi" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "irlanti" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "galicia" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "unkari" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "heprea" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "hindi" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "kroatia" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "unkari" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "indonesia" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "islanti" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "italia" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "japani" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "georgia" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "korea" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "khmer" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "kannada" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "latvia" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "korea" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "liettua" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "latvia" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "makedonia" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Mongolian" +msgstr "mongolia" + +#: conf/global_settings.py:82 msgid "Dutch" msgstr "hollanti" -#: conf/global_settings.py:78 +#: conf/global_settings.py:83 msgid "Norwegian" msgstr "norja" -#: conf/global_settings.py:79 +#: conf/global_settings.py:84 +msgid "Norwegian Bokmal" +msgstr "norja (kirjanorja)" + +#: conf/global_settings.py:85 +msgid "Norwegian Nynorsk" +msgstr "norja (uusnorja)" + +#: conf/global_settings.py:86 msgid "Polish" msgstr "puola" -#: conf/global_settings.py:80 +#: conf/global_settings.py:87 msgid "Portuguese" msgstr "portugali" -#: conf/global_settings.py:81 +#: conf/global_settings.py:88 msgid "Brazilian Portuguese" msgstr "brasilian portugali" -#: conf/global_settings.py:82 +#: conf/global_settings.py:89 msgid "Romanian" msgstr "romania" -#: conf/global_settings.py:83 +#: conf/global_settings.py:90 msgid "Russian" msgstr "venäjä" -#: conf/global_settings.py:84 +#: conf/global_settings.py:91 msgid "Slovak" msgstr "slovakia" -#: conf/global_settings.py:85 +#: conf/global_settings.py:92 msgid "Slovenian" msgstr "slovenia" -#: conf/global_settings.py:86 +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "albaani" + +#: conf/global_settings.py:94 msgid "Serbian" msgstr "serbia" -#: conf/global_settings.py:87 +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "serbian latina" + +#: conf/global_settings.py:96 msgid "Swedish" msgstr "ruotsi" -#: conf/global_settings.py:88 +#: conf/global_settings.py:97 msgid "Tamil" msgstr "tamili" -#: conf/global_settings.py:89 +#: conf/global_settings.py:98 msgid "Telugu" msgstr "telugu" -#: conf/global_settings.py:90 +#: conf/global_settings.py:99 msgid "Thai" msgstr "thain kieli" -#: conf/global_settings.py:91 +#: conf/global_settings.py:100 msgid "Turkish" msgstr "turkki" -#: conf/global_settings.py:92 +#: conf/global_settings.py:101 msgid "Ukrainian" msgstr "ukraina" -#: conf/global_settings.py:93 +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "vietnam" + +#: conf/global_settings.py:103 msgid "Simplified Chinese" msgstr "kiina (yksinkertaistettu)" -#: conf/global_settings.py:94 +#: conf/global_settings.py:104 msgid "Traditional Chinese" msgstr "kiina (perinteinen)" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Onnistuneesti poistettu %(count)d \"%(items)s\"-kohdetta." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1025 +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "Oletko varma?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Poista valitut \"%(verbose_name_plural)s\"-kohteet" @@ -269,19 +309,19 @@ msgstr "Tässä kuussa" msgid "This year" msgstr "Tänä vuonna" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "Kyllä" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "Ei" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "Tuntematon" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Toiminto:" @@ -313,104 +353,127 @@ msgstr "lokimerkintä" msgid "log entries" msgstr "lokimerkinnät" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "Ei arvoa" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "Muokattu: %s." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:587 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:568 msgid "and" msgstr "ja" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Lisätty %(name)s \"%(object)s\"." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Muutettu %(list)s kohteelle %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Poistettu %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Ei muutoksia kenttiin." -#: contrib/admin/options.py:598 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" on lisätty." -#: contrib/admin/options.py:602 contrib/admin/options.py:635 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "Voit muokata sitä edelleen alla." -#: contrib/admin/options.py:612 contrib/admin/options.py:645 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "Uusi %s on lisättävissä alla." -#: contrib/admin/options.py:633 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" on muutettu." -#: contrib/admin/options.py:641 +#: contrib/admin/options.py:686 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "%(name)s \"%(obj)s\" on lisätty. Voit muokata sitä uudelleen alla." -#: contrib/admin/options.py:772 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Kohteiden täytyy olla valittuna, jotta niihin voi kohdistaa toimintoja. " +"Kohteita ei ole muutettu." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Ei toimintoa valittuna." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Lisää %s" -#: contrib/admin/options.py:803 contrib/admin/options.py:1003 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "%(name)s perusavaimella %(key)r ei ole olemassa." -#: contrib/admin/options.py:860 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "Muokkaa %s" -#: contrib/admin/options.py:904 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Tietokantavirhe" -#: contrib/admin/options.py:940 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s %(name)s on muokattu." msgstr[1] "%(count)s \"%(name)s\"-kohdetta on muokattu." -#: contrib/admin/options.py:1018 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s valittu" +msgstr[1] "Kaikki %(total_count)s valittu" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 valittuna %(cnt)s mahdollisesta" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" on poistettu." -#: contrib/admin/options.py:1054 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Muokkaushistoria: %s" -#: contrib/admin/sites.py:20 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -418,11 +481,11 @@ msgstr "" "Käyttäjätunnus tai salasana ei kelpaa. Huomaa, että isot ja pienet kirjaimet " "ovat merkitseviä." -#: contrib/admin/sites.py:278 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Kirjaudu uudelleen sisään, sillä istuntosi on vanhentunut." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -430,62 +493,52 @@ msgstr "" "Selaimesi ei vaikuta sallivan evästeitä. Muuta asetukset sallimaan evästeet, " "lataa tämä sivu uudelleen ja yritä uudestaan." -#: contrib/admin/sites.py:301 contrib/admin/sites.py:307 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Käyttäjätunnuksessa ei saa olla '@'-merkkiä." -#: contrib/admin/sites.py:304 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Sähköpostiosoitteesi ei ole käyttäjätunnuksesi. Kokeile '%s'." -#: contrib/admin/sites.py:360 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Sivuston ylläpito" -#: contrib/admin/sites.py:373 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Kirjaudu sisään" -#: contrib/admin/sites.py:417 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "%s ylläpito" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Yksi tai useampi %(fieldname)s kohteessa %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Yksi tai useampi %(fieldname)s kohteessa %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Pvm:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Klo:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Tällä hetkellä:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Muokkaa:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Etsi" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Lisää seuraava" @@ -500,17 +553,17 @@ msgstr "Pahoittelemme, pyydettyä sivua ei löytynyt." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:31 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -547,34 +600,47 @@ msgstr "Suorita valittu toiminto" msgid "Go" msgstr "Suorita" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Klikkaa tästä valitaksesi kohteet kaikilta sivuilta" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Valitse kaikki %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Tyhjennä valinta" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Tervetuloa," -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Ohjeita" -#: contrib/admin/templates/admin/base.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Vaihda salasana" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Kirjaudu ulos" @@ -586,41 +652,42 @@ msgstr "Django-sivuston ylläpito" msgid "Django administration" msgstr "Djangon ylläpito" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Lisää" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Muokkaushistoria" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Näytä lopputulos" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Korjaa allaoleva virhe." msgstr[1] "Korjaa allaolevat virheet." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Lisää %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Suodatin" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Poista" @@ -667,10 +734,10 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" "Haluatko varmasti poistaa valitut (%(object_name)s) kohteet? Myös seuraavat " -"kohteet poistettaisiin samalla:" +"kohteet ja niihin liittyvät kohteet poistettaisiin samalla:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -732,15 +799,9 @@ msgid "User" msgstr "Käyttäjä" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Tapahtuma" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j.n.Y G:i" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -753,6 +814,11 @@ msgstr "" msgid "Show all" msgstr "Näytä kaikki" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Tallenna ja poistu" + #: contrib/admin/templates/admin/search_form.html:8 msgid "Search" msgstr "Haku" @@ -769,10 +835,6 @@ msgstr[1] "%(counter)s hakutulosta" msgid "%(full_result_count)s total" msgstr "yhteensä %(full_result_count)s" -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "Tallenna ja poistu" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "Tallenna uutena" @@ -785,7 +847,7 @@ msgstr "Tallenna ja lisää toinen" msgid "Save and continue editing" msgstr "Tallenna välillä ja jatka muokkaamista" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -793,33 +855,39 @@ msgstr "" "Syötä ensin käyttäjätunnus ja salasana. Sen jälkeen voit muokata muita " "käyttäjän tietoja." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Käyttäjätunnus" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Salasana" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Salasana toistamiseen" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Syötä sama salasana tarkistuksen vuoksi toistamiseen." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: contrib/admin/templates/admin/auth/user/change_password.html:28 #, python-format msgid "Enter a new password for the user %(username)s." msgstr "Syötä käyttäjän %(username)s uusi salasana." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Salasana" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Salasana toistamiseen" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Syötä sama salasana tarkistuksen vuoksi toistamiseen." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Lisää toinen %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Poista" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Poista?" @@ -833,9 +901,9 @@ msgid "Log in again" msgstr "Kirjaudu uudelleen sisään" #: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_form.html:6 -#: contrib/admin/templates/registration/password_change_form.html:10 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Salasanan vaihtaminen" @@ -848,7 +916,7 @@ msgstr "Salasanan vaihtaminen onnistui" msgid "Your password was changed." msgstr "Salasanasi on vaihdettu." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -856,21 +924,17 @@ msgstr "" "Syötä vanha salasanasi varmistukseksi, ja syötä sitten uusi salasanasi kaksi " "kertaa, jotta se tulee varmasti oikein." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Vanha salasana:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Vanha salasana" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Uusi salasana:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Uusi salasana" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Varmista uusi salasana:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Vaihda salasana" @@ -909,6 +973,14 @@ msgstr "" "Syötä uusi salasanasi kaksi kertaa, jotta voimme varmistaa että syötit sen " "oikein." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Uusi salasana:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Varmista uusi salasana:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Salasanan nollaus ei onnistunut" @@ -976,166 +1048,85 @@ msgstr "Sähköpostiosoite:" msgid "Reset my password" msgstr "Nollaa salasanani" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Kaikki päivät" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "Valitse %s" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "Valitse muokattava %s" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "sivusto" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "mallipohjan nimi" -#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60 -#: contrib/admindocs/views.py:62 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "tagi:" -#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93 -#: contrib/admindocs/views.py:95 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "suodatin:" -#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157 -#: contrib/admindocs/views.py:159 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "näkymä:" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "Sovellusta %r ei löydy" -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "Sovelluksesta %(app_label)r ei löydy mallia %(model_name)r" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "tähän liittyvä `%(app_label)s.%(data_type)s`-kohde" -#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:228 -#: contrib/admindocs/views.py:242 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "malli:" -#: contrib/admindocs/views.py:237 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "tähän liittyvät `%(app_label)s.%(object_name)s`-kohteet" -#: contrib/admindocs/views.py:242 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "kaikki %s" -#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "%s-kohteiden lukumäärä" -#: contrib/admindocs/views.py:252 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "%s-kohteiden kentät" -#: contrib/admindocs/views.py:315 contrib/admindocs/views.py:326 -#: contrib/admindocs/views.py:328 contrib/admindocs/views.py:334 -#: contrib/admindocs/views.py:335 contrib/admindocs/views.py:337 -msgid "Integer" -msgstr "Kokonaisluku" - -#: contrib/admindocs/views.py:316 -msgid "Boolean (Either True or False)" -msgstr "Totuusarvo: joko tosi (True) tai epätosi (False)" - -#: contrib/admindocs/views.py:317 contrib/admindocs/views.py:336 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Merkkijono (enintään %(max_length)s merkkiä)" - -#: contrib/admindocs/views.py:318 -msgid "Comma-separated integers" -msgstr "Pilkulla erotetut kokonaisluvut" - -#: contrib/admindocs/views.py:319 -msgid "Date (without time)" -msgstr "Päivämäärä (ilman kellonaikaa)" - -#: contrib/admindocs/views.py:320 -msgid "Date (with time)" -msgstr "Päivämäärä ja kellonaika" - -#: contrib/admindocs/views.py:321 -msgid "Decimal number" -msgstr "Desimaaliluku" - -#: contrib/admindocs/views.py:322 -msgid "E-mail address" -msgstr "Sähköpostiosoite" - -#: contrib/admindocs/views.py:323 contrib/admindocs/views.py:324 -#: contrib/admindocs/views.py:327 -msgid "File path" -msgstr "Tiedostopolku" - -#: contrib/admindocs/views.py:325 -msgid "Floating point number" -msgstr "Liukuluku" - -#: contrib/admindocs/views.py:329 contrib/comments/models.py:60 -msgid "IP address" -msgstr "IP-osoite" - -#: contrib/admindocs/views.py:331 -msgid "Boolean (Either True, False or None)" -msgstr "Totuusarvo: joko tosi (True), epätosi (False) tai ei mikään (None)" - -#: contrib/admindocs/views.py:332 -msgid "Relation to parent model" -msgstr "Relaatio emomalliin" - -#: contrib/admindocs/views.py:333 -msgid "Phone number" -msgstr "Puhelinnumero" - -#: contrib/admindocs/views.py:338 -msgid "Text" -msgstr "Tekstiä" - -#: contrib/admindocs/views.py:339 -msgid "Time" -msgstr "Kellonaika" - -#: contrib/admindocs/views.py:340 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL-osoite" - -#: contrib/admindocs/views.py:341 -msgid "U.S. state (two uppercase letters)" -msgstr "USA:n osavaltio (suuraakkosin, kaksi kirjainta)" - -#: contrib/admindocs/views.py:342 -msgid "XML text" -msgstr "XML-teksti" - -#: contrib/admindocs/views.py:368 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s ei näytä olevan urlpattern-olio" @@ -1206,78 +1197,74 @@ msgstr "Muokkaa tätä kohdetta (uudessa ikkunassa)" msgid "As above, but opens the admin page in a new window." msgstr "Kuten yllä, mutta avaa ylläpitosivun uuteen ikkunaan." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Henkilökohtaiset tiedot" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Oikeudet" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Tärkeät päivämäärät" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Ryhmät" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Uusi käyttäjä" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Salasana muutettu onnistuneesti." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Vaihda salasana: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -" Vaaditaan. Enintään 30 kirjanta (A-Z, a-z), numeroa (0-9) tai alaviivaa (_)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Käyttäjätunnus" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." msgstr "" -"Tässä voidaan käyttää vain kirjaimia (A-Z, a-z), numeroita (0-9) ja " -"alaviivoja (_)." +" Vaaditaan. Enintään 30 merkkiä. Vain kirjaimet, numerot ja @/./+/-/_ ovat " +"sallittuja." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Tässä voidaan käyttää vain kirjaimia, numeroita ja @/./+/-/_ merkkejä." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Salasanan vahvistaminen" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Käyttäjätunnus on jo rekisteröity." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Salasanat eivät täsmää." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Tämä käyttäjätili ei ole voimassa." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." msgstr "" "Selaimesi ei näytä sallivan evästeitä. Sisäänkirjautuminen vaatii evästeen." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "Sähköposti" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1285,72 +1272,71 @@ msgstr "" "Sähköpostiosoitetta vastaavaa käyttäjätunnusta ei löydy. Oletko varmasti jo " "rekisteröitynyt?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Salasanan nollaus sivustolla %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Uusi salasana" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Uusi salasana uudelleen" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Vanha salasana" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Vanha salasana on virheellinen. Yritä uudelleen." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "nimi" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "tunniste" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "oikeus" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "oikeudet" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "ryhmä" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "ryhmät" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "käyttäjätunnus" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +" Vaaditaan. Enintään 30 merkkiä. Vain kirjaimet, numerot ja @/./+/-/_ ovat " +"sallittuja." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "etunimi" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "sukunimi" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "sähköposti" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "salasana" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1358,19 +1344,19 @@ msgstr "" "Syötä muodossa '[algo]$[suola]$[heksa-digest]' tai käytä muutoslomaketta." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "ylläpitäjä" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "Määrittää, pääseekö käyttäjä tähän sivuston ylläpito-osioon." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "voimassa" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1378,26 +1364,26 @@ msgstr "" "Määrää, voiko käyttäjä kirjautua sisään. Tällä voi estää käyttäjätilin " "käytön poistamatta sitä." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "pääkäyttäjä" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "" "Antaa käyttäjälle kaikki oikeudet ilman, että niitä täytyy erikseen luetella." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "viimeisin kirjautuminen" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "liittynyt" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1405,39 +1391,77 @@ msgstr "" "Erikseen mainittujen oikeuksien lisäksi käyttäjä saa myös kaikki niiden " "ryhmien oikeudet, joiden jäsen hän on." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "käyttäjän oikeudet" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "käyttäjä" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "käyttäjät" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "viesti" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Kirjautunut ulos" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Syötä kelvollinen sähköpostiosoite." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Sisältö" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metatieto" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "merkitty" +msgstr[1] "merkitty" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Merkitse valitut kommentit" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "hyväksytty" +msgstr[1] "hyväksytty" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Hyväksy valitut kommentit" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "poistettu" +msgstr[1] "poistettu" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Poista valitut kommentit" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 kommentti %(count)s onnistuneesti." +msgstr[1] "%(count)s kommenttia %(action)s onnistuneesti." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1449,7 +1473,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Sivuston %(site_name)s viimeisimmät kommentit" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Nimi" @@ -1457,25 +1480,29 @@ msgstr "Nimi" msgid "Email address" msgstr "Sähköpostiosoite" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL-osoite" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Kommentti" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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] "Siivoa suusi! Sanaa \"%s\" ei saa käyttää tässä." msgstr[1] "Siivoa suusi! Sanoja \"%s\" ei saa käyttää tässä." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "" "Jos syötät tähän kenttään jotain, kommenttisi luokitellaan roskapostiksi" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "sisältötyyppi" @@ -1504,6 +1531,10 @@ msgstr "kommentti" msgid "date/time submitted" msgstr "lähettämishetki" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP-osoite" + #: contrib/comments/models.py:61 msgid "is public" msgstr "on julkinen" @@ -1586,7 +1617,6 @@ msgid "Really make this comment public?" msgstr "Haluatko varmasti tehdä kommentista julkisen?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Hyväksy" @@ -1609,11 +1639,6 @@ msgstr "Poista kommentti" msgid "Really remove this comment?" msgstr "Haluatko varmasti poistaa tämän kommentin?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Poista" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Kiitos poistamisesta" @@ -1644,39 +1669,6 @@ msgstr "Lähetä" msgid "Preview" msgstr "Esikatsele" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Kommenttien valvontajono" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Ei valvottavia kommentteja" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Sähköposti" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Kirjautunut?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "IP-osoite" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Lähettämispvm" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "kyllä" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "ei" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Kiitos kommentista" @@ -1704,11 +1696,11 @@ msgstr "Lähetä kommentti" msgid "or make changes" msgstr "tai tee muutoksia" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "mallin python-luokan nimi" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "sisältötyypit" @@ -1772,7 +1764,7 @@ msgstr "tekstisivu" msgid "flat pages" msgstr "tekstisivut" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1780,6 +1772,38 @@ msgstr "" "Pahoittelumme, mutta sessiosi on vanhentunut. Ole hyvä ja jatka lomakkeen " "täyttämistä tältä sivulta." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Piste" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Murtoviiva" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Polygoni" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Monipiste" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Monimurtoviiva" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Monipolygoni" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Geometriakokoelma" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Geometria-arvoa ei annettu." @@ -1883,25 +1907,25 @@ msgstr "huomenna" msgid "yesterday" msgstr "eilen" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Syötä postinumero muodossa NNNN tai ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Tähän kenttään kelpaavat vain numerot." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Tähän kenttään vaaditaan 7 tai 8 numeroa." -#: contrib/localflavor/ar/forms.py:79 -msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." -msgstr "Syötä validi CUIT joko XX-XXXXXXXX-X tai XXXXXXXXXXXX -muodossa." - #: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "Syötä oikea CUIT joko XX-XXXXXXXX-X tai XXXXXXXXXXXX -muodossa." + +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Virheellinen CUIT." @@ -1941,58 +1965,58 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Wien" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Syötä postinumero muodossa XXXX." #: contrib/localflavor/at/forms.py:48 msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." -msgstr "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." +msgstr "Syötä oikea itävaltalainen henkilötunnus muodossa XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Syötä nelinumeroinen postinumero." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Syötä postinumero muodossa XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Puhelinnumeron tulee olla muodossa XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "" -"Select a valid brazilian state. That state is not one of the available " -"states." +"Valitse oikea brasilialainen osavaltio. Valitsemasi osavaltio ei ole yksi " +"sallituista osavaltiosta." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Virheellinen CPF-numero." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "Tämä kenttä vaatii vähintään 11 ja enintään 14 merkkiä." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "Virheellinen CNPJ-numero." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "Tähän kenttään vaaditaan ainakin 14 numeroa." -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Syötä postinumero muodossa XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." -msgstr "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "Syötä oikea kanadalainen henkilötunnus muodossa XXX-XXX-XXX." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -2098,7 +2122,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2106,15 +2130,15 @@ msgstr "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Syötä oikea chileläinen RUT" -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "The Chilean RUT is not valid." @@ -2174,24 +2198,24 @@ msgstr "Zilin region" msgid "Moravian-Silesian Region" msgstr "Moravian-Silesian Region" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Syötä postinumero muodossa XXXXX tai XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "Syötä henkilötunnus muodossa XXXXXX/XXXX tai XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "" "Virheellinen valinnainen sukupuoli, valitse 'f' (nainen) tai 'm' (mies)" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Syötä oikea henkilötunnus." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Syötä oikea IC-tunnus." @@ -2259,22 +2283,21 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringia" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Syötä postinumero muodossa XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." msgstr "" -"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " -"format." +"Syötä oikea saksalainen henkilötunnus muodossa XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." #: contrib/localflavor/es/es_provinces.py:5 msgid "Arava" -msgstr "Arava" +msgstr "Álava" #: contrib/localflavor/es/es_provinces.py:6 msgid "Albacete" @@ -2282,15 +2305,15 @@ msgstr "Albacete" #: contrib/localflavor/es/es_provinces.py:7 msgid "Alacant" -msgstr "Alacant" +msgstr "Alicante" #: contrib/localflavor/es/es_provinces.py:8 msgid "Almeria" -msgstr "Almeria" +msgstr "Almería" #: contrib/localflavor/es/es_provinces.py:9 msgid "Avila" -msgstr "Avila" +msgstr "Ávila" #: contrib/localflavor/es/es_provinces.py:10 msgid "Badajoz" @@ -2298,7 +2321,7 @@ msgstr "Badajoz" #: contrib/localflavor/es/es_provinces.py:11 msgid "Illes Balears" -msgstr "Illes Balears" +msgstr "Baleaarit" #: contrib/localflavor/es/es_provinces.py:12 msgid "Barcelona" @@ -2310,15 +2333,15 @@ msgstr "Burgos" #: contrib/localflavor/es/es_provinces.py:14 msgid "Caceres" -msgstr "Caceres" +msgstr "Cáceres" #: contrib/localflavor/es/es_provinces.py:15 msgid "Cadiz" -msgstr "Cadiz" +msgstr "Cádiz" #: contrib/localflavor/es/es_provinces.py:16 msgid "Castello" -msgstr "Castello" +msgstr "Castellón" #: contrib/localflavor/es/es_provinces.py:17 msgid "Ciudad Real" @@ -2326,11 +2349,11 @@ msgstr "Ciudad Real" #: contrib/localflavor/es/es_provinces.py:18 msgid "Cordoba" -msgstr "Cordoba" +msgstr "Córdoba" #: contrib/localflavor/es/es_provinces.py:19 msgid "A Coruna" -msgstr "A Coruna" +msgstr "A Coruña" #: contrib/localflavor/es/es_provinces.py:20 msgid "Cuenca" @@ -2350,7 +2373,7 @@ msgstr "Guadalajara" #: contrib/localflavor/es/es_provinces.py:24 msgid "Guipuzkoa" -msgstr "Guipuzkoa" +msgstr "Guipúzcoa" #: contrib/localflavor/es/es_provinces.py:25 msgid "Huelva" @@ -2362,11 +2385,11 @@ msgstr "Huesca" #: contrib/localflavor/es/es_provinces.py:27 msgid "Jaen" -msgstr "Jaen" +msgstr "Jaén" #: contrib/localflavor/es/es_provinces.py:28 msgid "Leon" -msgstr "Leon" +msgstr "León" #: contrib/localflavor/es/es_provinces.py:29 msgid "Lleida" @@ -2388,7 +2411,7 @@ msgstr "Madrid" #: contrib/localflavor/es/es_provinces.py:33 msgid "Malaga" -msgstr "Malaga" +msgstr "Málaga" #: contrib/localflavor/es/es_provinces.py:34 msgid "Murcia" @@ -2396,7 +2419,7 @@ msgstr "Murcia" #: contrib/localflavor/es/es_provinces.py:35 msgid "Navarre" -msgstr "Navarre" +msgstr "Navarra" #: contrib/localflavor/es/es_provinces.py:36 msgid "Ourense" @@ -2404,7 +2427,7 @@ msgstr "Ourense" #: contrib/localflavor/es/es_provinces.py:37 msgid "Asturias" -msgstr "Asturias" +msgstr "Asturia" #: contrib/localflavor/es/es_provinces.py:38 msgid "Palencia" @@ -2465,7 +2488,7 @@ msgstr "Valladolid" #: contrib/localflavor/es/es_provinces.py:52 msgid "Bizkaia" -msgstr "Bizkaia" +msgstr "Vizcaya" #: contrib/localflavor/es/es_provinces.py:53 msgid "Zamora" @@ -2489,35 +2512,35 @@ msgstr "Andalusia" #: contrib/localflavor/es/es_regions.py:6 msgid "Aragon" -msgstr "Aragon" +msgstr "Aragonia" #: contrib/localflavor/es/es_regions.py:7 msgid "Principality of Asturias" -msgstr "Principality of Asturias" +msgstr "Asturian ruhtinaskunta" #: contrib/localflavor/es/es_regions.py:8 msgid "Balearic Islands" -msgstr "Balearic Islands" +msgstr "Baleaarit" #: contrib/localflavor/es/es_regions.py:9 msgid "Basque Country" -msgstr "Basque Country" +msgstr "Baskimaa" #: contrib/localflavor/es/es_regions.py:10 msgid "Canary Islands" -msgstr "Canary Islands" +msgstr "Kanariansaaret" #: contrib/localflavor/es/es_regions.py:12 msgid "Castile-La Mancha" -msgstr "Castile-La Mancha" +msgstr "Kastilia-La Mancha" #: contrib/localflavor/es/es_regions.py:13 msgid "Castile and Leon" -msgstr "Castile and Leon" +msgstr "Kastilia ja León" #: contrib/localflavor/es/es_regions.py:14 msgid "Catalonia" -msgstr "Catalonia" +msgstr "Katalonia" #: contrib/localflavor/es/es_regions.py:15 msgid "Extremadura" @@ -2529,91 +2552,522 @@ msgstr "Galicia" #: contrib/localflavor/es/es_regions.py:19 msgid "Region of Murcia" -msgstr "Region of Murcia" +msgstr "Murcia" #: contrib/localflavor/es/es_regions.py:20 msgid "Foral Community of Navarre" -msgstr "Foral Community of Navarre" +msgstr "Navarra" #: contrib/localflavor/es/es_regions.py:21 msgid "Valencian Community" -msgstr "Valencian Community" +msgstr "Valencia" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." -msgstr "Syötä validi postinumero väliltä ja muodossa 01XXX-52XXX." +msgstr "Syötä oikea postinumero väliltä ja muodossa 01XXX-52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." msgstr "" -"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " -"9XXXXXXXX." - -#: contrib/localflavor/es/forms.py:66 -msgid "Please enter a valid NIF, NIE, or CIF." -msgstr "Please enter a valid NIF, NIE, or CIF." +"Syötä oikea puhelinnumero muodoissa 6XXXXXXXX, 8XXXXXXXX tai 9XXXXXXXX." #: contrib/localflavor/es/forms.py:67 -msgid "Please enter a valid NIF or NIE." -msgstr "Please enter a valid NIF or NIE." +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Syötä oikea NIF, NIE tai CIF." #: contrib/localflavor/es/forms.py:68 -msgid "Invalid checksum for NIF." -msgstr "Invalid checksum for NIF." +msgid "Please enter a valid NIF or NIE." +msgstr "Syötä oikea NIF tai NIE." #: contrib/localflavor/es/forms.py:69 -msgid "Invalid checksum for NIE." -msgstr "Invalid checksum for NIE." +msgid "Invalid checksum for NIF." +msgstr "Väärä tarkistusnumero NIF:lle." #: contrib/localflavor/es/forms.py:70 -msgid "Invalid checksum for CIF." -msgstr "Invalid checksum for CIF." +msgid "Invalid checksum for NIE." +msgstr "Väärä tarkistusnumero NIE:lle." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "Väärä tarkistusnumero CIF:lle." + +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" -"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +"Syötä oikea pankin tilinumero muodossa XXXX-XXXX-XX-XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." -msgstr "Invalid checksum for bank account number." +msgstr "Väärä tarkistusnumero pankin tilinumerolle." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Syötä oikea suomalainen henkilötunnus." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Puhelinnumeroiden on ontava muodossa 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Syötä oikea postinumero" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Syötä oikea puhelinnumero" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Syötä oikea rekisterikilpi" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Syötä oikea NIK/KTP numero" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Jawa Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Jawa Tengah" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Jawa Timur" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Barat" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Selatan" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Tengah" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Timur" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Kepulauan Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Maluku" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Maluku Utara" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara Barat" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara Timur" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Barat" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Sulawesi Barat" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi Selatan" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi Tengah" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi Tenggara" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi Utara" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatera Barat" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera Selatan" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera Utara" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps Consulate" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Federal Government" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wicklow" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Syötä postinumero muodossa XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "" -"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +"Syötä oikea islantilainen henkilötunnus muodossa XXXXXX-XXXX." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." -msgstr "The Icelandic identification number is not valid." +msgstr "Islantilainen henkilötunnus on virheellinen." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Syötä oikea postinumero." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Syötä oikea henkilötunnus." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Syötä oikea ALV-tunnus." #: contrib/localflavor/jp/forms.py:16 msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." -msgstr "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Syötä postinumero muodossa XXXXXXX tai XXX-XXXX." #: contrib/localflavor/jp/jp_prefectures.py:4 msgid "Hokkaido" @@ -2665,7 +3119,7 @@ msgstr "Chiba" #: contrib/localflavor/jp/jp_prefectures.py:16 msgid "Tokyo" -msgstr "Tokyo" +msgstr "Tokio" #: contrib/localflavor/jp/jp_prefectures.py:17 msgid "Kanagawa" @@ -2717,7 +3171,7 @@ msgstr "Shiga" #: contrib/localflavor/jp/jp_prefectures.py:29 msgid "Kyoto" -msgstr "Kyoto" +msgstr "Kioto" #: contrib/localflavor/jp/jp_prefectures.py:30 msgid "Osaka" @@ -2803,6 +3257,10 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Syötä oikea kuwaitilainen henkilötunnus" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2931,15 +3389,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Syötä oikea postinumero" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Syötä oikea puhelinnumero" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Syötä ikea SoFi-numero" @@ -2991,35 +3445,35 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Syötä oikea norjalainen henkilötunnus." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Tähän kenttään vaaditaan 8 numeroa." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Tähän kenttään vaaditaan 11 numeroa." #: contrib/localflavor/pl/forms.py:38 msgid "National Identification Number consists of 11 digits." -msgstr "National Identification Number consists of 11 digits." +msgstr "Henkilötunnus koostuu 11 numerosta." #: contrib/localflavor/pl/forms.py:39 msgid "Wrong checksum for the National Identification Number." -msgstr "Wrong checksum for the National Identification Number." +msgstr "Virheellinen tarkistusnumero henkilötunnukselle." #: contrib/localflavor/pl/forms.py:71 msgid "" "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." msgstr "" -"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +"Syötä verotusnumero (NIP) muodossa XXX-XXX-XX-XX tai XX-XX-XXX-XXX." #: contrib/localflavor/pl/forms.py:72 msgid "Wrong checksum for the Tax Number (NIP)." -msgstr "Wrong checksum for the Tax Number (NIP)." +msgstr "Väärä tarkistusnumero veronumerolle (NIP)." #: contrib/localflavor/pl/forms.py:109 msgid "National Business Register Number (REGON) consists of 9 or 14 digits." @@ -3097,17 +3551,27 @@ msgstr "Greater Poland" msgid "West Pomerania" msgstr "West Pomerania" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Syötä postinumero muodossa XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" +"Puhelinnumeroissa tulee olla 9 numeroa tai niiden kuuluu alkaa +:lla tai " +" 00:lla." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." -msgstr "Enter a valid CIF." +msgstr "Syötä oikea CIF." #: contrib/localflavor/ro/forms.py:56 msgid "Enter a valid CNP." -msgstr "Enter a valid CNP." +msgstr "Syötä oikea CNP." #: contrib/localflavor/ro/forms.py:141 msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" -msgstr "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" +msgstr "Syötä oikea IBAN muodossa ROXX-XXXX-XXXX-XXXX-XXXX-XXXX" #: contrib/localflavor/ro/forms.py:171 msgid "Phone numbers must be in XXXX-XXXXXX format." @@ -3117,6 +3581,106 @@ msgstr "Puhelinnumeron tulee olla muodossa XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Syötä postinumero muodossa XXXXXX." +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Syötä oikea ruotsalainen yritystunnus." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Syötä oikea ruotsalainen henkilötunnus." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Co-ordination numbers are not allowed." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Syötä ruotsalainen postinumero muodossa XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Tukholma" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banska Bystrica" @@ -3749,19 +4313,43 @@ msgstr "Scotland" msgid "Wales" msgstr "Scotland" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Enter a zip code in the format XXXXX or XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Phone numbers must be in XXX-XXX-XXXX format." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Enter a U.S. state or territory." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "USA:n osavaltio (suuraakkosin, kaksi kirjainta)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Puhelinnumero" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Enter a valid CI number." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Enter a valid South African ID number" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Enter a valid South African postal code" @@ -3801,6 +4389,10 @@ msgstr "North West" msgid "Western Cape" msgstr "Western Cape" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "laiska viesti" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "ohjaa osoitteesta" @@ -3865,59 +4457,220 @@ msgstr "näyttönimi" msgid "sites" msgstr "sivustot" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Tarvitaan kokonaisluku." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Syötä oikea arvo." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Tarvitaan tosi (True) tai epätosi (False)." +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Syötä oikea URL-osoite." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Tämän kentän arvo ei voi olla \"null\"." +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Tämä URL-osoite on rikkinäinen linkki." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Tässä voidaan käyttää vain kirjaimia (a-z), numeroita (0-9) sekä ala- ja " +"tavuviivoja (_ -)." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Syötä kelvollinen IPv4-osoite." + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "Vain pilkulla erotetut kokonaisluvut kelpaavat tässä." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Tämän arvon on oltava %(limit_value)s (nyt %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Tämän arvon on oltava enintään %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Tämän luvun on oltava vähintään %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Tähän tarvitaan vähintään %(limit_value)d merkkiä (nyt on vain %(show_value)" +"d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "Tähän kelpaa enintään %(limit_value)d merkkiä (nyt on %(show_value)d)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" +"\"%(field_name)s\"-kentän on oltava uniikki suhteessa: %(date_field)s %" +"(lookup)s." + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s jolla on tämä %(field_label)s, on jo olemassa." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Arvo %r ei kelpaa." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Tämän kentän arvo ei voi olla \"null\"." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Tämän kenttä ei voi olla tyhjä." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Kenttä tyyppiä: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Kokonaisluku" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Tarvitaan kokonaisluku." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Tarvitaan tosi (True) tai epätosi (False)." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Totuusarvo: joko tosi (True) tai epätosi (False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Merkkijono (enintään %(max_length)s merkkiä)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Pilkulla erotetut kokonaisluvut" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Päivämäärä (ilman kellonaikaa)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Päivämäärän pitää olla muodossa VVVV-KK-PP." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Päivämäärä %s ei kelpaa" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "Ajankohdan pitää olla muodossa VVVV-KK-PP TT:MM[:ss[.uuuuuu]]." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Päivämäärä ja kellonaika" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "Tähän tarvitaan desimaaliluku." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Desimaaliluku" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "Sähköpostiosoite" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Tiedostopolku" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "Tämän luvun on oltava liukuluku." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Liukuluku" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Suuri (8-tavuinen) kokonaisluku" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "Tähän tarvitaan tyhjä (None), tosi (True) tai epätosi (False)." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Totuusarvo: joko tosi (True), epätosi (False) tai ei mikään (None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Tekstiä" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Kellonaika" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Ajan täytyy olla muodossa TT:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:792 +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML-teksti" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Mallia %(model)s pääavaimella %(pk)r ei ole olemassa." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Vierasavain (tyyppi määräytyy liittyvän kentän mukaan)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Yksi-yhteen relaatio" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Moni-moneen relaatio" + +#: db/models/fields/related.py:1000 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" " Pidä \"Ctrl\"-näppäin (tai Macin \"Command\") pohjassa valitaksesi useita " "vaihtoehtoja." -#: db/models/fields/related.py:870 +#: db/models/fields/related.py:1061 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3925,82 +4678,58 @@ msgid_plural "" msgstr[0] "Syöttämäsi %(self)s-tunniste %(value)r ei kelpaa." msgstr[1] "Syöttämäsi %(self)s-tunnisteet %(value)r eivät kelpaa." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Tämä kenttä vaaditaan." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Syötä oikea arvo." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "Tähän kelpaa enintään %(max)d merkkiä (nyt niitä on %(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "Tähän tarvitaan vähintään %(min)d merkkiä (nyt on vain %(length)d)." - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "Syötä kokonaisluku." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Tämän luvun on oltava enintään %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Tämän luvun on oltava vähintään %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "Syötä kokonaisluku." -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Tässä luvussa voi olla yhteensä enintään %s numeroa." -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Tässä luvussa saa olla enintään %s desimaalia." -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Tässä luvussa saa olla enintään %s numeroa ennen desimaalipilkkua." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "Syötä oikea päivämäärä." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "Syötä oikea kellonaika." -#: forms/fields.py:361 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "Syötä oikea pvm/kellonaika." -#: forms/fields.py:447 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "Tiedostoa ei lähetetty. Tarkista lomakkeen koodaus (encoding)." -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "Yhtään tiedostoa ei ole lähetetty." -#: forms/fields.py:449 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "Lähetetty tiedosto on tyhjä." -#: forms/fields.py:450 +#: forms/fields.py:438 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." @@ -4008,68 +4737,37 @@ msgstr "" "Tähän tiedostonimeen kelpaa enintään %(max)d merkkiä (nyt niitä on %(length)" "d)." -#: forms/fields.py:483 +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." msgstr "" "Kuva ei kelpaa. Lähettämäsi tiedosto ei ole kuva, tai tiedosto on vioittunut." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Syötä oikea URL-osoite." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "Tämä URL-osoite on rikkinäinen linkki." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Valitse oikea vaihtoehto. %(value)s ei ole vaihtoehtojen joukossa." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:991 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 msgid "Enter a list of values." msgstr "Syötä lista." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Syötä kelvollinen IPv4-osoite." - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Tässä voidaan käyttää vain kirjaimia (a-z), numeroita (0-9) sekä ala- ja " -"tavuviivoja (_ -)." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "Järjestys" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "" -"\"%(field_name)s\"-kentän on oltava uniikki suhteessa: %(date_field)s %" -"(lookup)s." - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s jolla on tämä %(field_label)s, on jo olemassa." - -#: forms/models.py:581 +#: forms/models.py:562 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Korjaa kaksoisarvo kentälle %(field)s." -#: forms/models.py:585 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "Ole hyvä ja korjaa uniikin kentän %(field)s kaksoisarvo." -#: forms/models.py:591 +#: forms/models.py:572 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " @@ -4078,7 +4776,7 @@ msgstr "" "Please correct the duplicate data for %(field_name)s which must be unique " "for the %(lookup)s in %(date_field)s." -#: forms/models.py:599 +#: forms/models.py:580 msgid "Please correct the duplicate values below." msgstr "Korjaa allaolevat kaksoisarvot." @@ -4086,45 +4784,45 @@ msgstr "Korjaa allaolevat kaksoisarvot." msgid "The inline foreign key did not match the parent instance primary key." msgstr "Liittyvä perusavain ei vastannut vanhemman perusavainta." -#: forms/models.py:918 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Valitse oikea vaihtoehto. Valintasi ei löydy vaihtoehtojen joukosta." -#: forms/models.py:992 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Valitse oikea vaihtoehto. %s ei löydy vaihtoehtojen joukosta." -#: forms/models.py:994 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" ei kelpaa perusavaimeksi." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "kyllä,ei,ehkä" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d tavu" msgstr[1] "%(size)d tavua" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f Kt" +msgid "%s KB" +msgstr "%s Kt" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f Mt" +msgid "%s MB" +msgstr "%s Mt" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f Gt" +msgid "%s GB" +msgstr "%s Gt" #: utils/dateformat.py:42 msgid "p.m." @@ -4330,7 +5028,7 @@ msgstr "marras" msgid "Dec." msgstr "joulu" -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "tai" @@ -4384,37 +5082,80 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "j.n.Y" -#: utils/translation/trans_real.py:401 -msgid "TIME_FORMAT" -msgstr "G:i" +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j.n.Y H:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:521 +msgid "TIME_FORMAT" +msgstr "H:i" + +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "N Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "N j, Y" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s luotiin onnistuneesti." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s päivitettiin onnistuneesti." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s on poistettu." +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "Yksi tai useampi %(fieldname)s kohteessa %(name)s: %(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "Yksi tai useampi %(fieldname)s kohteessa %(name)s:" + +#~ msgid "Old password:" +#~ msgstr "Vanha salasana:" + +#~ msgid "Relation to parent model" +#~ msgstr "Relaatio emomalliin" + +#~ msgid "Add user" +#~ msgstr "Uusi käyttäjä" + +#~ msgid "Comment moderation queue" +#~ msgstr "Kommenttien valvontajono" + +#~ msgid "No comments to moderate" +#~ msgstr "Ei valvottavia kommentteja" + +#~ msgid "Email" +#~ msgstr "Sähköposti" + +#~ msgid "Authenticated?" +#~ msgstr "Kirjautunut?" + +#~ msgid "IP Address" +#~ msgstr "IP-osoite" + +#~ msgid "Date posted" +#~ msgstr "Lähettämispvm" + +#~ msgid "yes" +#~ msgstr "kyllä" + +#~ msgid "no" +#~ msgstr "ei" + #~ msgid "DATE_WITH_TIME_FULL" #~ msgstr "N j, Y, P" @@ -4502,9 +5243,6 @@ msgstr "%(verbose_name)s on poistettu." #~ msgid "deletion date" #~ msgstr "poistamispäivä" -#~ msgid "moderator deletion" -#~ msgstr "valvojan poisto" - #~ msgid "moderator deletions" #~ msgstr "valvojien poistot" @@ -4641,9 +5379,6 @@ msgstr "%(verbose_name)s on poistettu." #~ msgid "The URL %s is a broken link." #~ msgstr "Osoite %s on rikkoutunut tai väärä linkki." -#~ msgid "Enter a valid U.S. state abbreviation." -#~ msgstr "Syötä USA:n osavaltion lyhenne." - #~ msgid "This field must match the '%s' field." #~ msgstr "Arvon täytyy olla sama kuin kentässä '%s'." @@ -4656,9 +5391,6 @@ msgstr "%(verbose_name)s on poistettu." #~ msgid "This field must be given if %(field)s is not %(value)s" #~ msgstr "Tämä kenttä pitää täyttää, jos %(field)s ei ole %(value)s." -#~ msgid "Duplicate values are not allowed." -#~ msgstr "Samaa arvoa ei voi käyttää kahdesti." - #~ msgid "This value must be between %(lower)s and %(upper)s." #~ msgstr "Tämän luvun on oltava välillä %(lower)s–%(upper)s." diff --git a/django/conf/locale/fi/LC_MESSAGES/djangojs.mo b/django/conf/locale/fi/LC_MESSAGES/djangojs.mo index 83b535c8eff12fa70f48eefc00ada0ee1ec94f88..35db1a2444a788dd284a07db4ffe0de357ef91b5 100644 GIT binary patch literal 2703 zcma)-$!{D*6vm4XmY6;4i^RKFNrZbcb~bAWD2^ArjqPMQL^+Z2ba|%S-Bpw7s!8S# zfD<>u0WJ}eC4|Hw5-2y2kR=X?3wH!3E^tE15k-8j+n!hfB3e`ZtM%3QURA&O<>3C0 z1)kS-%3t6p%Fhqrg{QYqh*RJd@L})^@Imk<_&E4A_$c_@&iD`D6KMYgj)1>{2f*KV zcpH2O?K|Lpa6gP)01tp{=RJ`7yC8ld$BXy90?cMf*=|0!d=(k;<mcYr9)BNX zKd*yNgEv6daTCN(+`?-U{1#;UM<9+l211fJ3bKF4K=!Wzz7EcVyuJ&b1$!Xt_zJ{N ze1jM7^F8eFRNJfM zzGEjz*7BN|N)j>EmpYT{nWE7`Ov_A}L^@PVTV-OpYi*%OlGnK!wz6`dP^MgxDd|XZ zUuN5>nAeFCi_!$?1~jMEU0G>L*Y46(&*_YsazKm0D7>-(O@&ShifHP@=uX#*6>AM%SH*diW0q)9lVZAvGDj`ZDkDGx8yvN}R=3sR;s{BT zP&?D@ltinGrL6!*2h_AB;-Cs{UQ~&xYH>HXvTM$19%)G*94aEV)jPM&!OkUBcvTKu zvVpp?uZBl}JxR8`wq~r{9*W8d=8&gcCWxyUK%q1pg(EbiO``ic2{NM%t+J%35o{iE zih9nj6 zao+w@91WDO(Hf2)H>8T}>JniludkG685spz=yWP_p;A_bWRIv|sxALL6e`iayq~)< zS=cD$vbjA0h6j%BwRBZO!n#7(3SSdz&Tit{h!&FQUF8a#OM_-M;h`NluX@(`s9AJ$ z5}gg5B8qK;M%Gs2Xxb^sXBf>$uNpK_AFoIC6VdoM)sHuhO}gP;>MYdwVh0LoDIFATG?D^&fax+yjCBXw#F+1A%h+~ z^6HvD+RLOiZ}M$)h4OD*i07ioyYpD^hH}xYY1;(%uR)XR+K&u#OkZZ&`(WfS4dt?% z*eufpJ`ef7=haV&WnFA#LD*8z;ADH4l}`csj-JNvaH3L4QkexBAXxvmSXG5K12=I zoky2tC@Uh~-hz6(#C)(hq9etuMwG>BrabYvVhfKiSm&rA&nTZFfENE3UUkg?siO-i zFhDs@1mBsYL0aH8Y;WOnC=etZj`3x!MzbD6u$GkPkZ#{9FNmgAunwPj1Rr}^QjGr- z*1~OVsL-46ul8S>#;~==z7Wj1`pBKw)t5Fr{)v!nSsGNyLhn@v)2z*FZIH?E0Z8H$ zwzE*CxV*YXEsY>kPnT{|Q7ZKk|A}QxklR8?aFLXPLY|vtlC$})nOq`2=WuE$Vy}cU oKzYDbfd@z+h1?siMTeY6gO;bYP7;iC`Dx9=CCx))Mh)W-FBg*B^TwggZqw3 zX}P&62g$|3RpLMn-k~i4ujltX&+q$vzWt87pMAyWfa}!I`sn@iC;AZm+`&K# zI*n<>5H?^GeHgY{qT$V%GKm-Mp93g-5t%OwpV$QJ`0Q;|-PQ6P5T2 z6c7Z31RN}NEd%VKfa)s{N|mBhlL*upo?fa(2J^M z7~3&~JSNVd^Ygfa%culbw%15bbAu}27FEC<4&Wo|`)`bs-#9s?8_%LDSVH#9I_fWI zuA8fM(RC^PE(PUC{TrxXx(5~ff9tjvR7j^ir(P53WzcO^xtc0zqj%_qri-=IXMaQW z(wT6SFWhtfV045h9JE3cli~65hkI%;kxHkN)@rR%s}%Bk*_0J4Xk|K|N#=4}qnYG> Nd9(4XI^#KX`~vrzJVF2f diff --git a/django/conf/locale/fi/LC_MESSAGES/djangojs.po b/django/conf/locale/fi/LC_MESSAGES/djangojs.po index 61c9f376f..7a5ca0013 100644 --- a/django/conf/locale/fi/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/fi/LC_MESSAGES/djangojs.po @@ -7,44 +7,81 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-30 19:35+0300\n" +"POT-Creation-Date: 2010-05-11 04:38+0300\n" "PO-Revision-Date: 2006-08-05 15:27+0300\n" -"Last-Translator: Ville Säävuori \n" +"Last-Translator: Aku Kotkavuo \n" "Language-Team: Django I18N \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 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "Mahdolliset %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Valitse kaikki" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Lisää uusi" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "Poista" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "Valitut %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "Valitse vasemmalta ja napsauta " -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Tyhjennä kaikki" +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s valittuna %(cnt)s mahdollisesta" +msgstr[1] "%(sel)s valittuna %(cnt)s mahdollisesta" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Sinulla on tallentamattomia muutoksia yksittäisissä muokattavissa kentissä. " +"Jos suoritat toiminnon, tallentamattomat muutoksesi katoavat." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Olet valinnut toiminnon, mutta et ole vielä tallentanut muutoksiasi " +"yksittäisiin kenttiin. Paina OK tallentaaksesi. Sinun pitää suorittaa " +"toiminto uudelleen." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Olet valinnut toiminnon etkä ole tehnyt yhtään muutosta yksittäisissä " +"kentissä. Etsit todennäköisesti Suorita-nappia Tallenna-napin sijaan." + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -58,62 +95,63 @@ msgstr "" msgid "S M T W T F S" msgstr "S M T K T P L" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Näytä" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Piilota" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "Sunnuntai Maanantai Tiistai Keskiviikko Torstai Perjantai Lauantai" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "Näytä" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "Piilota" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Nyt" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "Kello" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Valitse kellonaika" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "24" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "06" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "12" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Peruuta" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "Tänään" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Kalenteri" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "Eilen" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "Huomenna" diff --git a/django/conf/locale/fi/__init__.py b/django/conf/locale/fi/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/fi/formats.py b/django/conf/locale/fi/formats.py new file mode 100644 index 000000000..d6cc7d76d --- /dev/null +++ b/django/conf/locale/fi/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j. F Y' +TIME_FORMAT = 'G.i.s' +# DATETIME_FORMAT = +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'j.n.Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = u' ' # Non-breaking space +# NUMBER_GROUPING = diff --git a/django/conf/locale/fr/LC_MESSAGES/django.mo b/django/conf/locale/fr/LC_MESSAGES/django.mo index 11339831750b72d669f0fb23aa37d4f726c44e0e..926dcae50e9fbbfc9ef583291234bfc5ad028374 100644 GIT binary patch literal 78465 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 vb!|vnSL7>uC&gzT;cx*Zq(^p diff --git a/django/conf/locale/fr/LC_MESSAGES/django.po b/django/conf/locale/fr/LC_MESSAGES/django.po index 035da37dc..d241c7766 100644 --- a/django/conf/locale/fr/LC_MESSAGES/django.po +++ b/django/conf/locale/fr/LC_MESSAGES/django.po @@ -2,12 +2,16 @@ # This file is distributed under the same license as the Django package. # Copyright (C) 2008 Django Software Foundation and individual contributors. # +# Stéphane Raimbault , 2009-2010. +# Claude Paroz , 2009 +# David Larlet , 2009-2010 +# msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-03-01 12:35+0100\n" -"PO-Revision-Date: 2009-03-01 12:35+0100\n" +"POT-Creation-Date: 2010-08-09 12:11+0200\n" +"PO-Revision-Date: 2010-08-09 14:38+0200\n" "Last-Translator: Stéphane Raimbault \n" "Language-Team: French \n" "MIME-Version: 1.0\n" @@ -20,205 +24,263 @@ msgid "Arabic" msgstr "Arabe" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "Bengalî" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "Bulgare" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Bengalî" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Bosniaque" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "Catalan" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "Tchèque" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "Gallois" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "Dannois" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "Allemand" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "Grec" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "Anglais" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "Anglais britannique" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "Espagnol" -#: conf/global_settings.py:55 +#: conf/global_settings.py:57 +msgid "Argentinian Spanish" +msgstr "Espagnol argentin" + +#: conf/global_settings.py:58 msgid "Estonian" msgstr "Estonien" -#: conf/global_settings.py:56 -msgid "Argentinean Spanish" -msgstr "Espagnol argentin" - -#: conf/global_settings.py:57 +#: conf/global_settings.py:59 msgid "Basque" msgstr "Basque" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "Perse" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "Finlandais" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "Français" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Frise" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "Irlandais" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "Galicien" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "Hongrois" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "Hébreu" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "Hindi" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "Croate" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Hongrois" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "Indonésien" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "Islandais" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "Italien" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "Japonais" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "Géorgien" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "Coréen" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "Khmer" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "Kannada" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "Letton" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "Coréen" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "Lituanien" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "Letton" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "Macédonien" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Malayalam" +msgstr "Malayâlam" + +#: conf/global_settings.py:82 +msgid "Mongolian" +msgstr "Mongole" + +#: conf/global_settings.py:83 msgid "Dutch" msgstr "Hollandais" -#: conf/global_settings.py:78 +#: conf/global_settings.py:84 msgid "Norwegian" msgstr "Norvégien" -#: conf/global_settings.py:79 +#: conf/global_settings.py:85 +msgid "Norwegian Bokmal" +msgstr "Norvégien Bokmal" + +#: conf/global_settings.py:86 +msgid "Norwegian Nynorsk" +msgstr "Norvégien Nynorsk" + +#: conf/global_settings.py:87 msgid "Polish" msgstr "Polonais" -#: conf/global_settings.py:80 +#: conf/global_settings.py:88 msgid "Portuguese" msgstr "Portugais" -#: conf/global_settings.py:81 +#: conf/global_settings.py:89 msgid "Brazilian Portuguese" msgstr "Portugais brésilien" -#: conf/global_settings.py:82 +#: conf/global_settings.py:90 msgid "Romanian" msgstr "Roumain" -#: conf/global_settings.py:83 +#: conf/global_settings.py:91 msgid "Russian" msgstr "Russe" -#: conf/global_settings.py:84 +#: conf/global_settings.py:92 msgid "Slovak" msgstr "Slovaque" -#: conf/global_settings.py:85 +#: conf/global_settings.py:93 msgid "Slovenian" msgstr "Slovène" -#: conf/global_settings.py:86 +#: conf/global_settings.py:94 +msgid "Albanian" +msgstr "Albanais" + +#: conf/global_settings.py:95 msgid "Serbian" msgstr "Serbe" -#: conf/global_settings.py:87 +#: conf/global_settings.py:96 +msgid "Serbian Latin" +msgstr "Serbe latin" + +#: conf/global_settings.py:97 msgid "Swedish" msgstr "Suédois" -#: conf/global_settings.py:88 +#: conf/global_settings.py:98 msgid "Tamil" msgstr "Tamoul" -#: conf/global_settings.py:89 +#: conf/global_settings.py:99 msgid "Telugu" msgstr "Télougou" -#: conf/global_settings.py:90 +#: conf/global_settings.py:100 msgid "Thai" msgstr "Thaï" -#: conf/global_settings.py:91 +#: conf/global_settings.py:101 msgid "Turkish" msgstr "Turc" -#: conf/global_settings.py:92 +#: conf/global_settings.py:102 msgid "Ukrainian" msgstr "Ukrainien" -#: conf/global_settings.py:93 +#: conf/global_settings.py:103 +msgid "Vietnamese" +msgstr "Vietnamien" + +#: conf/global_settings.py:104 msgid "Simplified Chinese" msgstr "Chinois simplifié" -#: conf/global_settings.py:94 +#: conf/global_settings.py:105 msgid "Traditional Chinese" msgstr "Chinois traditionnel" +#: contrib/admin/actions.py:48 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s supprimés avec succès." + +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 +msgid "Are you sure?" +msgstr "Êtes-vous sûr ?" + +#: contrib/admin/actions.py:73 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Supprimer les %(verbose_name_plural)s sélectionnés" + #: contrib/admin/filterspecs.py:44 #, python-format msgid "" @@ -228,43 +290,47 @@ msgstr "" "

          Par %s :

          \n" "
            \n" -#: contrib/admin/filterspecs.py:74 contrib/admin/filterspecs.py:91 -#: contrib/admin/filterspecs.py:146 contrib/admin/filterspecs.py:172 +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 msgid "All" msgstr "Tout" -#: contrib/admin/filterspecs.py:112 +#: contrib/admin/filterspecs.py:113 msgid "Any date" msgstr "Toutes les dates" -#: contrib/admin/filterspecs.py:113 +#: contrib/admin/filterspecs.py:114 msgid "Today" msgstr "Aujourd'hui" -#: contrib/admin/filterspecs.py:116 +#: contrib/admin/filterspecs.py:117 msgid "Past 7 days" msgstr "Les 7 derniers jours" -#: contrib/admin/filterspecs.py:118 +#: contrib/admin/filterspecs.py:119 msgid "This month" msgstr "Ce mois-ci" -#: contrib/admin/filterspecs.py:120 +#: contrib/admin/filterspecs.py:121 msgid "This year" msgstr "Cette année" -#: contrib/admin/filterspecs.py:146 forms/widgets.py:390 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:478 msgid "Yes" msgstr "Oui" -#: contrib/admin/filterspecs.py:146 forms/widgets.py:390 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:478 msgid "No" msgstr "Non" -#: contrib/admin/filterspecs.py:153 forms/widgets.py:390 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:478 msgid "Unknown" msgstr "Inconnu" +#: contrib/admin/helpers.py:20 +msgid "Action:" +msgstr "Action :" + #: contrib/admin/models.py:19 msgid "action time" msgstr "heure de l'action" @@ -293,60 +359,60 @@ msgstr "entrée d'historique" msgid "log entries" msgstr "entrées d'historique" -#: contrib/admin/options.py:129 contrib/admin/options.py:143 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "Aucun(e)" -#: contrib/admin/options.py:375 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "Modifié %s." -#: contrib/admin/options.py:375 contrib/admin/options.py:385 -#: contrib/comments/templates/comments/preview.html:15 forms/models.py:294 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:845 +#: forms/models.py:568 msgid "and" msgstr "et" -#: contrib/admin/options.py:380 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "%(name)s « %(object)s » ajouté." -#: contrib/admin/options.py:384 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "%(list)s modifié pour %(name)s « %(object)s »." -#: contrib/admin/options.py:389 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "%(name)s « %(object)s » supprimé." -#: contrib/admin/options.py:393 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Aucun champ modifié." -#: contrib/admin/options.py:454 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, 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/options.py:458 contrib/admin/options.py:491 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "Vous pouvez continuer l'édition ci-dessous." -#: contrib/admin/options.py:468 contrib/admin/options.py:501 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "Vous pouvez ajouter un autre %s ci-dessous." -#: contrib/admin/options.py:489 +#: contrib/admin/options.py:678 #, 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:497 +#: contrib/admin/options.py:686 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." @@ -354,43 +420,70 @@ msgstr "" "L'objet %(name)s « %(obj)s » a été ajouté avec succès. Vous pouvez continuer " "l'édition ci-dessous." +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Des éléments doivent être sélectionnés afin d'appliquer les actions. Aucun " +"élément n'a été modifié." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Aucune action sélectionnée." + # Titre -#: contrib/admin/options.py:565 +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Ajout %s" -#: contrib/admin/options.py:596 contrib/admin/options.py:710 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "L'objet %(name)s avec la clef primaire %(key)r n'existe pas." # Titre -#: contrib/admin/options.py:643 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" -msgstr "Changement %s" +msgstr "Modification de %s" -#: contrib/admin/options.py:675 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Erreur de base de données" -#: contrib/admin/options.py:725 +#: contrib/admin/options.py:1039 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s objet %(name)s a été modifié avec succès." +msgstr[1] "%(count)s objets %(name)s ont été modifiés avec succès." + +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s sélectionné" +msgstr[1] "Tous les %(total_count)s sélectionnés" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 sur %(cnt)s sélectionné" + +#: contrib/admin/options.py:1118 #, 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:732 -msgid "Are you sure?" -msgstr "Êtes-vous sûr ?" - -#: contrib/admin/options.py:761 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Historique des changements : %s" -#: contrib/admin/sites.py:15 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -399,11 +492,11 @@ msgstr "" "chacun de ces champs est sensible à la casse (différenciation des majuscules/" "minuscules)." -#: contrib/admin/sites.py:242 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Reconnectez-vous car votre session a expiré." -#: contrib/admin/sites.py:249 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -411,64 +504,54 @@ msgstr "" "Il semblerait que votre navigateur n'accepte pas les cookies. Activez-les, " "rechargez cette page puis essayez à nouveau." -#: contrib/admin/sites.py:265 contrib/admin/sites.py:271 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Les noms d'utilisateur ne peuvent contenir le caractère « @ »." -#: contrib/admin/sites.py:268 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "" "Votre adresse électronique n'est pas votre nom d'utilisateur. Essayez « %s » " "à la place." -#: contrib/admin/sites.py:328 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Administration du site" -#: contrib/admin/sites.py:341 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Connexion" -#: contrib/admin/sites.py:388 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "Administration %s" -#: contrib/admin/util.py:144 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Un ou plusieurs %(fieldname)s dans %(name)s : %(obj)s" - -#: contrib/admin/util.py:149 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Un ou plusieurs %(fieldname)s dans %(name)s :" - -#: contrib/admin/widgets.py:70 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Date :" -#: contrib/admin/widgets.py:70 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Heure :" -#: contrib/admin/widgets.py:94 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Actuellement :" -#: contrib/admin/widgets.py:94 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Modification :" -#: contrib/admin/widgets.py:123 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Recherche" -#: contrib/admin/widgets.py:230 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Ajouter un autre" @@ -483,16 +566,17 @@ msgstr "Nous sommes désolés, mais la page demandée est introuvable." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:33 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:8 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -522,6 +606,27 @@ msgstr "" "administrateurs du site et sera corrigée dans les meilleurs délais. Merci " "pour votre patience." +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "Exécuter l'action sélectionnée" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "Envoyer" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Cliquez ici pour sélectionner tous les objets sur l'ensemble des pages" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Sélectionner tous les %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Effacer la sélection" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format @@ -532,24 +637,24 @@ msgstr "%(name)s" msgid "Welcome," msgstr "Bienvenue," -#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Documentation" -#: contrib/admin/templates/admin/base.html:28 -#: contrib/admin/templates/admin/auth/user/change_password.html:13 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Modifier votre mot de passe" -#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Déconnexion" @@ -561,40 +666,42 @@ msgstr "Site d'administration de Django" msgid "Django administration" msgstr "Administration de Django" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Ajouter" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Historique" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Voir sur le site" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/auth/user/change_password.html:22 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Corrigez l'erreur suivante." msgstr[1] "Corrigez les erreurs suivantes." -#: contrib/admin/templates/admin/change_list.html:16 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Ajouter %(name)s" -#: contrib/admin/templates/admin/change_list.html:26 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filtre" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:246 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:300 msgid "Delete" msgstr "Supprimer" @@ -619,8 +726,33 @@ msgstr "" "s » ? Les éléments suivants sont liés à celui-ci et seront aussi supprimés :" #: contrib/admin/templates/admin/delete_confirmation.html:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 msgid "Yes, I'm sure" -msgstr "Oui, j'en suis certain" +msgstr "Oui, je suis sûr" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "Supprimer plusieurs objets" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)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 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_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" +"Voulez-vous vraiment supprimer les objets %(object_name)s sélectionnés ? " +"Tous les objets suivants et leurs éléments liés seront aussi supprimés :" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -652,6 +784,10 @@ msgstr "Mes actions" msgid "None available" msgstr "Aucun(e) disponible" +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "Contenu inconnu" + #: contrib/admin/templates/admin/invalid_setup.html:7 msgid "" "Something's wrong with your database installation. Make sure the appropriate " @@ -664,7 +800,7 @@ msgstr "" #: contrib/admin/templates/admin/login.html:19 msgid "Username:" -msgstr "Nom d'utilisateur :" +msgstr "Nom d'utilisateur :" #: contrib/admin/templates/admin/login.html:22 msgid "Password:" @@ -679,15 +815,9 @@ msgid "User" msgstr "Utilisateur" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Action" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:404 -msgid "DATETIME_FORMAT" -msgstr "j F Y, G:i" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -700,9 +830,14 @@ msgstr "" msgid "Show all" msgstr "Tout afficher" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Enregistrer" + #: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Envoyer" +msgid "Search" +msgstr "Rechercher" #: contrib/admin/templates/admin/search_form.html:10 #, python-format @@ -716,10 +851,6 @@ msgstr[1] "%(counter)s résultats" msgid "%(full_result_count)s total" msgstr "%(full_result_count)s résultats" -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "Enregistrer" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "Enregistrer en tant que nouveau" @@ -740,35 +871,45 @@ msgstr "" "Saisissez 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:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Nom d'utilisateur" +#: contrib/admin/templates/admin/auth/user/add_form.html:8 +msgid "Enter a username and password." +msgstr "Saisissez un nom d'utilisateur et un mot de passe." -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:33 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Mot de passe" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:39 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Mot de passe (à nouveau)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -msgid "Enter the same password as above, for verification." -msgstr "Saisissez le même mot de passe que précédemment, par sécurité." - -#: contrib/admin/templates/admin/auth/user/change_password.html:26 +#: contrib/admin/templates/admin/auth/user/change_password.html:28 #, python-format msgid "Enter a new password for the user %(username)s." msgstr "" "Saisissez un nouveau mot de passe pour l'utilisateur %(username)s." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Mot de passe" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Mot de passe (à nouveau)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Saisissez le même mot de passe que précédemment, pour vérification." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Ajouter un objet %(verbose_name)s supplémentaire" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Supprimer" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Supprimer ?" @@ -782,9 +923,9 @@ msgid "Log in again" msgstr "Connectez-vous à nouveau" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Modification de votre mot de passe" @@ -797,7 +938,7 @@ msgstr "Mot de passe modifié avec succès" msgid "Your password was changed." msgstr "Votre mot de passe a été modifié." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -806,21 +947,17 @@ msgstr "" "nouveau mot de passe à deux reprises afin de vérifier qu'il est correctement " "saisi." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Ancien mot de passe :" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Ancien mot de passe" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Nouveau mot de passe :" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Nouveau mot de passe" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Confirmation du mot de passe :" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Modifier mon mot de passe" @@ -860,6 +997,14 @@ msgstr "" "Saisissez deux fois votre nouveau mot de passe afin de vérifier qu'il est " "correctement saisi." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Nouveau mot de passe :" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Confirmation du mot de passe :" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Échec lors de la mise à jour du mot de passe" @@ -931,167 +1076,86 @@ msgstr "Adresse électronique :" msgid "Reset my password" msgstr "Réinitialiser mon mot de passe" -#: contrib/admin/templatetags/admin_list.py:285 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Toutes les dates" -#: contrib/admin/views/main.py:69 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "Sélectionnez %s" -#: contrib/admin/views/main.py:69 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "Sélectionnez l'objet %s à changer" -#: contrib/admin/views/template.py:36 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "site" -#: contrib/admin/views/template.py:38 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "template" -#: contrib/admindocs/views.py:57 contrib/admindocs/views.py:59 -#: contrib/admindocs/views.py:61 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "mot-clé :" -#: contrib/admindocs/views.py:90 contrib/admindocs/views.py:92 -#: contrib/admindocs/views.py:94 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "filtre :" -#: contrib/admindocs/views.py:154 contrib/admindocs/views.py:156 -#: contrib/admindocs/views.py:158 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "vue :" -#: contrib/admindocs/views.py:186 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "L'application %r n'a pas été trouvée" -#: contrib/admindocs/views.py:193 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "" "Le modèle %(model_name)r n'a pas été trouvé dans l'application %(app_label)r" -#: contrib/admindocs/views.py:205 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "l'objet « %(app_label)s.%(data_type)s » en relation" -#: contrib/admindocs/views.py:205 contrib/admindocs/views.py:227 -#: contrib/admindocs/views.py:241 contrib/admindocs/views.py:246 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "modèle :" -#: contrib/admindocs/views.py:236 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "les objets « %(app_label)s.%(object_name)s » en relation" -#: contrib/admindocs/views.py:241 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "tous les %s" -#: contrib/admindocs/views.py:246 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "nombre de %s" -#: contrib/admindocs/views.py:251 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "Champs sur les objets %s" -#: contrib/admindocs/views.py:314 contrib/admindocs/views.py:325 -#: contrib/admindocs/views.py:327 contrib/admindocs/views.py:333 -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:336 -msgid "Integer" -msgstr "Entier" - -#: contrib/admindocs/views.py:315 -msgid "Boolean (Either True or False)" -msgstr "Booléen (soit vrai ou faux)" - -#: contrib/admindocs/views.py:316 contrib/admindocs/views.py:335 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Chaîne de caractère (jusqu'à %(max_length)s)" - -#: contrib/admindocs/views.py:317 -msgid "Comma-separated integers" -msgstr "Des entiers séparés par une virgule" - -#: contrib/admindocs/views.py:318 -msgid "Date (without time)" -msgstr "Date (sans l'heure)" - -#: contrib/admindocs/views.py:319 -msgid "Date (with time)" -msgstr "Date (avec l'heure)" - -#: contrib/admindocs/views.py:320 -msgid "Decimal number" -msgstr "Nombre décimal" - -#: contrib/admindocs/views.py:321 -msgid "E-mail address" -msgstr "Adresse électronique" - -#: contrib/admindocs/views.py:322 contrib/admindocs/views.py:323 -#: contrib/admindocs/views.py:326 -msgid "File path" -msgstr "Chemin vers le fichier" - -#: contrib/admindocs/views.py:324 -msgid "Floating point number" -msgstr "Nombre à virgule flottante" - -#: contrib/admindocs/views.py:328 contrib/comments/models.py:58 -msgid "IP address" -msgstr "adresse IP" - -#: contrib/admindocs/views.py:330 -msgid "Boolean (Either True, False or None)" -msgstr "Booléen (soit vrai, faux ou nul)" - -#: contrib/admindocs/views.py:331 -msgid "Relation to parent model" -msgstr "Relation au modèle parent" - -#: contrib/admindocs/views.py:332 -msgid "Phone number" -msgstr "Numéro de téléphone" - -#: contrib/admindocs/views.py:337 -msgid "Text" -msgstr "Texte" - -#: contrib/admindocs/views.py:338 -msgid "Time" -msgstr "Heure" - -#: contrib/admindocs/views.py:339 contrib/comments/forms.py:19 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:340 -msgid "U.S. state (two uppercase letters)" -msgstr "État Américain (deux lettres majuscules)" - -#: contrib/admindocs/views.py:341 -msgid "XML text" -msgstr "Texte XML" - -#: contrib/admindocs/views.py:367 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s ne semble pas être un objet urlpattern" @@ -1165,67 +1229,65 @@ msgstr "" "Comme ci-dessus, mais ouvre la page d'administration dans une nouvelle " "fenêtre." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Information personnelle" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Permissions" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Dates importantes" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Groupes" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Ajouter l'utilisateur" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Mot de passe modifié avec succès" -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Modifier le mot de passe : %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:127 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Requis. 30 caractères maximum, alphanumériques uniquement (lettres, " -"chiffres, et tirets bas _)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Nom d'utilisateur" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." msgstr "" -"Ce champ ne doit contenir que des lettres, des nombres et des tirets bas _." +"Requis. 30 caractères maximum. Uniquement des lettres, nombres et les " +"caractères « @ », « . », « + », « - » et « _ »." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Cette valeur peut uniquement contenir des lettres, nombres et les caractères " +"« @ », « . », « + », « - » et « _ »." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Confirmation de votre mot de passe" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Un utilisateur avec ce nom existe déjà." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Les deux mots de passe ne correspondent pas." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Ce compte est inactif." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1233,11 +1295,11 @@ msgstr "" "Votre navigateur ne semble pas avoir activé les cookies. Les cookies sont " "nécessaires pour se connecter." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "Courriel" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1245,72 +1307,71 @@ msgstr "" "Cette adresse électronique ne correspond à aucun compte utilisateur. Êtes-" "vous sûr de vous être enregistré ?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" -msgstr "Mot de passe mis à jour sur %s" +msgstr "Mise à jour du mot de passe sur %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Nouveau mot de passe" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Confirmation du nouveau mot de passe" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Ancien mot de passe" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Votre ancien mot de passe est incorrect. Veuillez le rectifier." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "nom" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "nom de code" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "permission" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "permissions" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "groupe" -#: contrib/auth/models.py:91 contrib/auth/models.py:137 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "groupes" -#: contrib/auth/models.py:127 +#: contrib/auth/models.py:196 msgid "username" msgstr "nom d'utilisateur" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Requis. 30 caractères maximum. Uniquement des lettres, nombres et les " +"caractères « @ », « . », « + », « - » et « _ »." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "prénom" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:198 msgid "last name" msgstr "nom" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "adresse électronique" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:200 msgid "password" msgstr "mot de passe" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1318,19 +1379,19 @@ msgstr "" "Utilisez « [algo]$[salt]$[hexdigest] » ou le formulaire " "de changement de mot de passe." -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "statut équipe" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:201 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:133 +#: contrib/auth/models.py:202 msgid "active" msgstr "actif" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1338,11 +1399,11 @@ msgstr "" "Précise si l'utilisateur doit être considéré comme actif. Décochez ceci " "plutôt que de supprimer le compte." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "statut super-utilisateur" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -1350,15 +1411,15 @@ msgstr "" "Précise que l'utilisateur possède toutes les permissions sans les assigner " "explicitement." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:204 msgid "last login" msgstr "dernière connexion" -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "date d'inscription" -#: contrib/auth/models.py:138 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1367,60 +1428,106 @@ msgstr "" "recevra aussi toutes les permissions de tous les groupes auxquels il " "appartient. " -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "permissions de l'utilisateur" -#: contrib/auth/models.py:143 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 msgid "user" msgstr "utilisateur" -#: contrib/auth/models.py:144 +#: contrib/auth/models.py:213 msgid "users" msgstr "utilisateurs" -#: contrib/auth/models.py:300 +#: contrib/auth/models.py:394 msgid "message" msgstr "message" -#: contrib/auth/views.py:50 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Déconnecté" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:428 +#: contrib/auth/management/commands/createsuperuser.py:24 +#: core/validators.py:120 forms/fields.py:427 msgid "Enter a valid e-mail address." msgstr "Entrez une adresse de courriel valide." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Contenu" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" -msgstr "Metadonnées" +msgstr "Métadonnées" -#: contrib/comments/forms.py:17 -#: contrib/comments/templates/comments/moderation_queue.html:34 +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "marqué" +msgstr[1] "marqués" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Marquer les commentaires sélectionnés" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "approuvé" +msgstr[1] "approuvés" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Approuver les commentaires sélectionnés" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "supprimé" +msgstr[1] "supprimés" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Supprimer les commentaires sélectionnés" + +# Nous avons artificiellement ajouté un « s » à l'action de la forme plurielle +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 commentaire a été %(action)s avec succès." +msgstr[1] "%(count)s commentaires ont été %(action)ss avec succès." + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "Commentaires sur %(site_name)s" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "Derniers commentaires sur %(site_name)s" + +#: contrib/comments/forms.py:93 msgid "Name" msgstr "Nom" -#: contrib/comments/forms.py:18 +#: contrib/comments/forms.py:94 msgid "Email address" msgstr "Adresse électronique" -#: contrib/comments/forms.py:20 -#: contrib/comments/templates/comments/moderation_queue.html:35 +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1112 +msgid "URL" +msgstr "URL" + +#: contrib/comments/forms.py:96 msgid "Comment" msgstr "Commentaire" -#: contrib/comments/forms.py:23 -msgid "" -"If you enter anything in this field your comment will be treated as spam" -msgstr "" -"Si vous saisissez quelque chose dans ce champ, votre commentaire sera " -"considéré comme étant indésirable" - -#: contrib/comments/forms.py:146 +#: contrib/comments/forms.py:175 #, 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." @@ -1428,45 +1535,61 @@ msgstr[0] "Attention à votre langage ! Le terme %s n'est pas autorisé ici." msgstr[1] "" "Attention à votre langage ! Les termes %s ne sont pas autorisés ici." -#: contrib/comments/models.py:23 +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "" +"Si vous saisissez quelque chose dans ce champ, votre commentaire sera " +"considéré comme étant indésirable" + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "type de contenu" + +#: contrib/comments/models.py:24 msgid "object ID" msgstr "ID de l'objet" -#: contrib/comments/models.py:50 +#: contrib/comments/models.py:52 msgid "user's name" msgstr "nom de l'utilisateur" -#: contrib/comments/models.py:51 +#: contrib/comments/models.py:53 msgid "user's email address" msgstr "adresse électronique de l'utilisateur" -#: contrib/comments/models.py:52 +#: contrib/comments/models.py:54 msgid "user's URL" msgstr "URL de l'utilisateur" -#: contrib/comments/models.py:54 +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 msgid "comment" msgstr "commentaire" -#: contrib/comments/models.py:57 +#: contrib/comments/models.py:59 msgid "date/time submitted" msgstr "date et heure soumises" -#: contrib/comments/models.py:59 +#: contrib/comments/models.py:60 db/models/fields/__init__.py:907 +msgid "IP address" +msgstr "adresse IP" + +#: contrib/comments/models.py:61 msgid "is public" msgstr "est public" -#: contrib/comments/models.py:60 +#: contrib/comments/models.py:62 msgid "" "Uncheck this box to make the comment effectively disappear from the site." msgstr "" "Décochez cette case pour faire vraiment disparaître ce commentaire du site." -#: contrib/comments/models.py:62 +#: contrib/comments/models.py:64 msgid "is removed" msgstr "est supprimé" -#: contrib/comments/models.py:63 +#: contrib/comments/models.py:65 msgid "" "Check this box if the comment is inappropriate. A \"This comment has been " "removed\" message will be displayed instead." @@ -1474,7 +1597,11 @@ 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:115 +#: contrib/comments/models.py:77 +msgid "comments" +msgstr "commentaires" + +#: contrib/comments/models.py:119 msgid "" "This comment was posted by an authenticated user and thus the name is read-" "only." @@ -1482,7 +1609,7 @@ msgstr "" "Ce commentaire a été posté par un utilisateur authentifié, le nom est donc " "en lecture seule." -#: contrib/comments/models.py:124 +#: contrib/comments/models.py:128 msgid "" "This comment was posted by an authenticated user and thus the email is read-" "only." @@ -1490,7 +1617,7 @@ msgstr "" "Ce commentaire a été posté par un utilisateur authentifié et le courriel est " "donc en lecture seule" -#: contrib/comments/models.py:149 +#: contrib/comments/models.py:153 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -1505,6 +1632,22 @@ msgstr "" "\n" "http://%(domain)s%(url)s" +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "indicateur" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "date" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "indicateur de commentaire" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "indicateurs de commentaire" + #: contrib/comments/templates/comments/approve.html:4 msgid "Approve a comment" msgstr "Valider un commentaire" @@ -1514,7 +1657,6 @@ msgid "Really make this comment public?" msgstr "Voulez-vous rendre ce commentaire public ?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Valider" @@ -1539,11 +1681,6 @@ msgstr "Supprimer un commentaire" msgid "Really remove this comment?" msgstr "Voulez-vous supprimer définitivement ce commentaire ?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Supprimer" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Merci pour cette suppression" @@ -1564,49 +1701,16 @@ msgstr "Signaler" msgid "Thanks for flagging" msgstr "Merci d'avoir signalé ce commentaire" -#: contrib/comments/templates/comments/form.html:16 -#: contrib/comments/templates/comments/preview.html:31 +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 msgid "Post" msgstr "Envoyer" -#: contrib/comments/templates/comments/form.html:17 -#: contrib/comments/templates/comments/preview.html:32 +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 msgid "Preview" msgstr "Prévisualiser" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Liste de modération des commentaires" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Aucun commentaire à modérer" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Courriel" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Authentifié ?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "Adresse IP" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Date de soumission" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "oui" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "non" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Merci pour votre commentaire" @@ -1616,33 +1720,29 @@ msgid "Thank you for your comment" msgstr "Merci pour votre commentaire" #: contrib/comments/templates/comments/preview.html:4 -#: contrib/comments/templates/comments/preview.html:12 +#: contrib/comments/templates/comments/preview.html:13 msgid "Preview your comment" msgstr "Prévisualiser votre commentaire" -#: contrib/comments/templates/comments/preview.html:10 +#: contrib/comments/templates/comments/preview.html:11 msgid "Please correct the error below" msgid_plural "Please correct the errors below" msgstr[0] "Veuillez corriger l'erreur suivante." msgstr[1] "Veuillez corriger les erreurs suivantes." -#: contrib/comments/templates/comments/preview.html:15 +#: contrib/comments/templates/comments/preview.html:16 msgid "Post your comment" msgstr "Envoyer votre commentaire" -#: contrib/comments/templates/comments/preview.html:15 +#: contrib/comments/templates/comments/preview.html:16 msgid "or make changes" msgstr "ou le modifier" -#: contrib/contenttypes/models.py:67 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "nom de la classe python du modèle" -#: contrib/contenttypes/models.py:71 -msgid "content type" -msgstr "type de contenu" - -#: contrib/contenttypes/models.py:72 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "types de contenu" @@ -1659,7 +1759,7 @@ msgid "" "slashes." msgstr "" "Ce champ ne doit contenir que des lettres, des nombres, des tirets bas « _ », " -"des traits d'union, et des « / »." +"des traits d'union et des « / »." #: contrib/flatpages/admin.py:22 msgid "Advanced options" @@ -1707,7 +1807,7 @@ msgstr "page statique" msgid "flat pages" msgstr "pages statiques" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1715,17 +1815,59 @@ msgstr "" "Nous sommes désolés, mais votre formulaire a expiré. Veuillez compléter le " "formulaire sur cette page." -#: contrib/gis/forms/fields.py:14 +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" +"Le champ GIS -- convertit dans le type de spécification géométrique " +"d'OpenGIS." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Point" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Chaîne de segment" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Polygone" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Multipoint" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Chaîne multisegment" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Multipolygone" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Collection géométrique" + +#: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." -msgstr "Valeur géométrique manquante." +msgstr "Acune valeur géométrique fournie." -#: contrib/gis/forms/fields.py:15 +#: contrib/gis/forms/fields.py:18 msgid "Invalid geometry value." -msgstr "Valeur géométrique non valide" +msgstr "Valeur géométrique non valide." -#: contrib/gis/forms/fields.py:16 +#: contrib/gis/forms/fields.py:19 msgid "Invalid geometry type." -msgstr "Type de géométrie non valide" +msgstr "Type de géométrie non valide." + +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" +"Une erreur est survenue lors de la transformation de l'objet géométrique " +"dans le SRID du champ de formulaire géométrique." #: contrib/humanize/templatetags/humanize.py:19 msgid "th" @@ -1737,7 +1879,7 @@ msgstr "er" #: contrib/humanize/templatetags/humanize.py:19 msgid "nd" -msgstr "d" +msgstr "e" #: contrib/humanize/templatetags/humanize.py:19 msgid "rd" @@ -1812,25 +1954,25 @@ msgstr "demain" msgid "yesterday" msgstr "hier" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Saisissez un code postal au format NNNN ou ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Ce champ ne doit contenir que des nombres." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Ce champ requiert 7 ou 8 chiffres." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Saisissez un numéro CUIT au format XX-XXXXXXXX-X ou XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "CUIT non valide." @@ -1870,8 +2012,8 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Vienne" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Saisissez un code postal norvégien au format XXXX." @@ -1881,19 +2023,19 @@ msgstr "" "Saisissez un numéro de sécurité sociale autrichien valide au format XXXX " "XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Saisissez un code postal australien (4 chiffres)." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Saisissez un code postal brésilien au format XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 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/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." @@ -1901,27 +2043,27 @@ msgstr "" "Sélectionnez un état brésilien valide. Cet état ne fait pas partie de ceux " "disponibles." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Numéro CPF non valide." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "Ce champ requiert au plus 11 chiffres ou 14 caractères." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "Numéro CNPJ non valide." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "Ce champ requiert au minimum 14 chiffres" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Saisissez un code postal au format XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" "Saisissez un numéro de sécurité sociale canadien au format XXX-XXX-XXX." @@ -2030,7 +2172,7 @@ msgstr "Zoug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2038,15 +2180,15 @@ msgstr "" "Saisissez un numéro de passeport ou de carte d'identité suisse valide au " "format X1234567<0 ou 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Saisissez un RUT chilien valide." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Saisissez un RUT chilien valide au format XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Ce RUT chilien est non valide." @@ -2054,9 +2196,8 @@ msgstr "Ce RUT chilien est non valide." msgid "Prague" msgstr "Prague" -# Ticket #10385 #: contrib/localflavor/cz/cz_regions.py:9 -msgid "Cenral Bohemian Region" +msgid "Central Bohemian Region" msgstr "Bohême du Centre" #: contrib/localflavor/cz/cz_regions.py:10 @@ -2107,25 +2248,25 @@ msgstr "Zlin" msgid "Moravian-Silesian Region" msgstr "Moravie-Silésie" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Saisissez un code postal au format XXXXX ou XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "Saisissez une date de naissance au format XXXXXX/XXXX ou XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "" "Le paramètre optionnel du genre est non valide, les valeurs autorisées sont " "« f » et « m »" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Saisissez une date de naissance valide." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Saisissez un numéro IC valide." @@ -2193,12 +2334,12 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringe" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Saisissez un code postal au format XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2473,74 +2614,508 @@ msgstr "Navarre" msgid "Valencian Community" msgstr "Communauté valencienne" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Saisissez un code postal dans l'intervalle et au format 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." msgstr "" "Saisissez un numéro de téléphone au format 6XXXXXXXX, 8XXXXXXXX ou 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Saisissez une adresse NIF, NIE ou CIF valide." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Saisissez un NIF ou NIE valide." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Mauvais checksum pour NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Mauvais checksum pour NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Mauvais checksum pour CIF." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" "Saisissez un numéro de compte bancaire valide au format XXXXX-XXXX-XX-" "XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Somme de contrôle non valide pour le numéro de compte bancaire." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Saisissez un numéro de sécurité sociale finlandais." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Les numéros de téléphone doivent être au format 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Saisissez un code postal valide" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Saisissez un numéro de téléphone valide" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Saisissez un numéro de plaque d'immatriculation valide" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Saisissez un numéro NIK/KTP valide" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Java occidental" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Java central" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Java oriental" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan occidental" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan du sud" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan central" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan oriental" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Île Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Île Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Moluques" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Moluques du nord" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara occidental" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara oriental" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papouasie" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papouasie occidentale" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Sulawesi occidental" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi du Sud" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi central" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi du Sud-Est" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi du Nord" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumaratera occidental" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera du Sud" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera du Nord" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Megelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +# http://en.wikipedia.org/wiki/Consular_corps +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps consulaire" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps diplomatique" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi du Nord" + +# NTT signifie Nusa Tenggara Timur +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Îles de Sulawesi du Nord" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Florès" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Gouvernement fédéral" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wicklow" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Saisissez un code postal au format XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "Saisissez un code postal islandais valide au format XXXXXX-XXXX." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Le numéro d'identification islandais est non valide." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Saisissez un code postal valide." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Saisissez un numéro valide de Sécurité Sociale." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Saisissez un numéro de TVA valide." @@ -2736,6 +3311,10 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Saisissez un numéro d'identification civil koweïtien valide" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2864,15 +3443,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Saisissez un code postal valide." -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Saisissez un numéro de téléphone valide." - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Saisissez un numéro SoFi valide." @@ -2924,21 +3499,21 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Hollande-Méridionale" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Saisissez un numéro de sécurité sociale norvégien valide." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." -msgstr "Ce champ requiert 8 chiffres." +msgstr "Ce champ requiert 8 chiffres." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." -msgstr "Ce champ requiert 11 chiffres." +msgstr "Ce champ requiert 11 chiffres." #: contrib/localflavor/pl/forms.py:38 msgid "National Identification Number consists of 11 digits." -msgstr "Le numéro national d'identification (NIN) comporte 11 chiffres." +msgstr "Le numéro national d'identification (NIN) comporte 11 chiffres." #: contrib/localflavor/pl/forms.py:39 msgid "Wrong checksum for the National Identification Number." @@ -2954,18 +3529,18 @@ msgstr "" msgid "Wrong checksum for the Tax Number (NIP)." msgstr "Somme de contrôle non valide du numéro de taxe (NIP)." -#: contrib/localflavor/pl/forms.py:111 -msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." msgstr "" -"Le numéro de registre du commerce national (REGON) comporte 7 ou 9 chiffres." +"Le numéro de registre du commerce national (REGON) comporte 9 ou 14 chiffres." -#: contrib/localflavor/pl/forms.py:112 +#: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." msgstr "" "Somme de contrôle non valide pour le numéro de registre du commerce national " "(REGON)." -#: contrib/localflavor/pl/forms.py:155 +#: contrib/localflavor/pl/forms.py:148 msgid "Enter a postal code in the format XX-XXX." msgstr "Saisissez un code postal au format XX-XXX." @@ -3033,6 +3608,16 @@ msgstr "Grande-Pologne" msgid "West Pomerania" msgstr "Poméranie Occidentale" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Saisissez un code postal au format XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" +"Les numéros de téléphone doivent comporter 9 chiffres, ou débuter par un + " +"ou 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Saisissez une CIF valide." @@ -3053,6 +3638,107 @@ msgstr "Les numéros de téléphone doivent être au format XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Saisissez un code postal valide au format XXXXXX" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Saisissez un numéro d'organisation suédois valide." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Saisissez un numéro d'identité personnelle suédois valide." + +# The source code doesn't offer any help to explain the term +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Le nombres de co-ordination ne sont pas autorisés." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Saisissez un code postal suédois au format XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stockholm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banská Bystrica" @@ -3075,23 +3761,23 @@ msgstr "Brezno" #: contrib/localflavor/sk/sk_districts.py:13 msgid "Bratislava I" -msgstr "Bratislava·I" +msgstr "Bratislava I" #: contrib/localflavor/sk/sk_districts.py:14 msgid "Bratislava II" -msgstr "Bratislava·II" +msgstr "Bratislava II" #: contrib/localflavor/sk/sk_districts.py:15 msgid "Bratislava III" -msgstr "Bratislava·III" +msgstr "Bratislava III" #: contrib/localflavor/sk/sk_districts.py:16 msgid "Bratislava IV" -msgstr "Bratislava·IV" +msgstr "Bratislava IV" #: contrib/localflavor/sk/sk_districts.py:17 msgid "Bratislava V" -msgstr "Bratislava·V" +msgstr "Bratislava V" #: contrib/localflavor/sk/sk_districts.py:18 msgid "Bytca" @@ -3685,20 +4371,45 @@ msgstr "Écosse" msgid "Wales" msgstr "Pays de Galles" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Saisissez un code postal américain au format XXXXX ou XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Les numéros de téléphone doivent être au format XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" "Saisissez un numéro de sécurité sociale américain au format XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Saisissez un état ou un territoire américain." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "État Américain (deux lettres majuscules)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Numéro de téléphone" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" +"Saisissez un numéro de CI valide au format X.XXX.XXX-X,XXXXXXX-X ou XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Saisissez un numéro CI valide." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Saisissez un numéro d'identification sud-africain valide." -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Saisissez un code postal sud-africain valide." @@ -3738,6 +4449,10 @@ msgstr "Nord-Ouest" msgid "Western Cape" msgstr "Cap-Occidental" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "message « lazy »" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "redirigé depuis" @@ -3802,61 +4517,227 @@ msgstr "nom à afficher" msgid "sites" msgstr "sites" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:700 -msgid "This value must be an integer." -msgstr "Cette valeur doit être un entier." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Saisissez une valeur valide." -#: db/models/fields/__init__.py:387 -msgid "This value must be either True or False." -msgstr "Cette valeur doit être soit vraie (True) soit fausse (False)." +#: core/validators.py:87 forms/fields.py:528 +msgid "Enter a valid URL." +msgstr "Saisissez une URL valide." -#: db/models/fields/__init__.py:420 -msgid "This field cannot be null." -msgstr "Ce champ ne peut pas être vide." +#: core/validators.py:89 forms/fields.py:529 +msgid "This URL appears to be a broken link." +msgstr "Cette URL semble être cassée." -#: db/models/fields/__init__.py:436 +#: core/validators.py:123 forms/fields.py:877 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Ce champ ne doit contenir que des lettres, des nombres, des tirets bas _ et " +"des traits d'union." + +#: core/validators.py:126 forms/fields.py:870 +msgid "Enter a valid IPv4 address." +msgstr "Saisissez une adresse IPv4 valide." + +#: core/validators.py:129 db/models/fields/__init__.py:575 msgid "Enter only digits separated by commas." msgstr "Saisissez uniquement des chiffres séparés par des virgules." -#: db/models/fields/__init__.py:467 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Assurez-vous que cette valeur est %(limit_value)s (actuellement %(show_value)" +"s)." + +#: core/validators.py:153 forms/fields.py:204 forms/fields.py:256 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Assurez-vous que cette valeur est inférieure ou égale à %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Assurez-vous que cette valeur est supérieure ou égale à %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Assurez-vous que cette valeur comporte au moins %(limit_value)d caractères " +"(actuellement %(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Assurez-vous que cette valeur comporte au maximum %(limit_value)d caractères " +"(actuellement %(show_value)d)." + +#: db/models/base.py:823 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" +"%(field_name)s doit être unique pour la partie %(lookup)s de %(date_field)s." + +#: db/models/base.py:838 db/models/base.py:846 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Un(e) %(model_name)s avec ce %(field_label)s existe déjà." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "La valeur « %r » n'est pas un choix valide." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Ce champ ne peut pas être vide." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Ce champ ne peut pas être vide." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Champ de type : %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:972 db/models/fields/__init__.py:983 +#: db/models/fields/__init__.py:1010 +msgid "Integer" +msgstr "Entier" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:861 +msgid "This value must be an integer." +msgstr "Cette valeur doit être un entier." + +#: db/models/fields/__init__.py:493 +msgid "This value must be either True or False." +msgstr "Cette valeur doit être soit vraie (True) soit fausse (False)." + +#: db/models/fields/__init__.py:495 +msgid "Boolean (Either True or False)" +msgstr "Booléen (soit vrai ou faux)" + +#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:993 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Chaîne de caractère (jusqu'à %(max_length)s)" + +#: db/models/fields/__init__.py:570 +msgid "Comma-separated integers" +msgstr "Des entiers séparés par une virgule" + +#: db/models/fields/__init__.py:584 +msgid "Date (without time)" +msgstr "Date (sans l'heure)" + +#: db/models/fields/__init__.py:588 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Saisissez une date valide au format AAAA-MM-JJ." -#: db/models/fields/__init__.py:476 +#: db/models/fields/__init__.py:589 #, python-format msgid "Invalid date: %s" msgstr "Date non valide : %s" -#: db/models/fields/__init__.py:540 db/models/fields/__init__.py:558 +#: db/models/fields/__init__.py:670 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "" "Saisissez une date et une heure valides au format AAAA-MM-JJ HH:MM[:ss[." "uuuuuu]]." -#: db/models/fields/__init__.py:594 +#: db/models/fields/__init__.py:672 +msgid "Date (with time)" +msgstr "Date (avec l'heure)" + +#: db/models/fields/__init__.py:738 msgid "This value must be a decimal number." msgstr "Cette valeur doit être un nombre décimal." -#: db/models/fields/__init__.py:676 +#: db/models/fields/__init__.py:740 +msgid "Decimal number" +msgstr "Nombre décimal" + +#: db/models/fields/__init__.py:795 +msgid "E-mail address" +msgstr "Adresse électronique" + +#: db/models/fields/__init__.py:810 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Chemin vers le fichier" + +#: db/models/fields/__init__.py:833 msgid "This value must be a float." msgstr "Cette valeur doit être un nombre réel." -#: db/models/fields/__init__.py:736 +#: db/models/fields/__init__.py:835 +msgid "Floating point number" +msgstr "Nombre à virgule flottante" + +#: db/models/fields/__init__.py:894 +msgid "Big (8 byte) integer" +msgstr "Grand entier (8 octets)" + +#: db/models/fields/__init__.py:923 msgid "This value must be either None, True or False." msgstr "Cette valeur doit être nulle (None), vraie (True) ou fausse (False)." -#: db/models/fields/__init__.py:834 db/models/fields/__init__.py:848 +#: db/models/fields/__init__.py:925 +msgid "Boolean (Either True, False or None)" +msgstr "Booléen (soit vrai, faux ou nul)" + +#: db/models/fields/__init__.py:1016 +msgid "Text" +msgstr "Texte" + +#: db/models/fields/__init__.py:1032 +msgid "Time" +msgstr "Heure" + +#: db/models/fields/__init__.py:1036 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Saisissez une heure valide au format HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:767 +#: db/models/fields/__init__.py:1128 +msgid "XML text" +msgstr "Texte XML" + +#: db/models/fields/related.py:801 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Le modèle %(model)s avec la clef primaire %(pk)r n'existe pas." + +#: db/models/fields/related.py:803 +msgid "Foreign Key (type determined by related field)" +msgstr "Clé étrangère (type défini par le champ lié)" + +#: db/models/fields/related.py:921 +msgid "One-to-one relationship" +msgstr "Relation un à un" + +#: db/models/fields/related.py:983 +msgid "Many-to-many relationship" +msgstr "Relation plusieurs à plusieurs" + +#: db/models/fields/related.py:1003 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Maintenez appuyé « Ctrl », ou « Commande (touche pomme) » sur un Mac, pour en " "sélectionner plusieurs." -#: db/models/fields/related.py:845 +#: db/models/fields/related.py:1064 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3866,87 +4747,67 @@ msgstr[0] "" msgstr[1] "" "Saisissez des ID %(self)s valides. Les valeurs %(value)r sont non valides." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Ce champ est obligatoire." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Saisissez une valeur valide." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Assurez-vous que cette valeur fait moins de %(max)d caractères (actuellement " -"%(length)d caractères)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Assurez-vous que cette valeur fait plus de %(min)d caractères (actuellement %" -"(length)d caractères)." - -#: forms/fields.py:166 +#: forms/fields.py:203 msgid "Enter a whole number." msgstr "Saisissez un nombre entier." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Assurez-vous que cette valeur est inférieure ou égale à %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Assurez-vous que cette valeur est supérieure ou égale à %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:234 forms/fields.py:255 msgid "Enter a number." msgstr "Saisissez un nombre." -#: forms/fields.py:227 +#: forms/fields.py:258 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Assurez-vous qu'il n'y a pas plus de %s chiffres au total." -#: forms/fields.py:228 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Assurez-vous qu'il n'y a pas plus de %s chiffres après la virgule." -#: forms/fields.py:229 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Assurez-vous qu'il n'y a pas plus de %s chiffres avant la virgule." -#: forms/fields.py:287 forms/fields.py:849 +#: forms/fields.py:322 forms/fields.py:837 msgid "Enter a valid date." msgstr "Saisissez une date valide." -#: forms/fields.py:321 forms/fields.py:850 +#: forms/fields.py:350 forms/fields.py:838 msgid "Enter a valid time." msgstr "Saisissez une heure valide." -#: forms/fields.py:360 +#: forms/fields.py:376 msgid "Enter a valid date/time." msgstr "Saisissez une date et une heure valides." -#: forms/fields.py:446 +#: forms/fields.py:434 msgid "No file was submitted. Check the encoding type on the form." msgstr "" "Aucun fichier n'a été soumis. Vérifiez le type d'encodage du formulaire." -#: forms/fields.py:447 +#: forms/fields.py:435 msgid "No file was submitted." msgstr "Aucun fichier n'a été soumis." -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "The submitted file is empty." msgstr "Le fichier soumis est vide." -#: forms/fields.py:477 +#: forms/fields.py:437 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" +"Assurez-vous que ce nom de fichier ne contient pas plus de %(max)d " +"caractères (actuellement %(length)d caractères)." + +#: forms/fields.py:472 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -3954,108 +4815,114 @@ msgstr "" "Téléversez une image valide. Le fichier que vous avez transféré n'est pas " "une image ou bien est corrompu." -#: forms/fields.py:538 -msgid "Enter a valid URL." -msgstr "Saisissez une URL valide." - -#: forms/fields.py:539 -msgid "This URL appears to be a broken link." -msgstr "Cette URL semble être cassée." - -#: forms/fields.py:618 forms/fields.py:696 +#: forms/fields.py:595 forms/fields.py:670 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Sélectionnez un choix valide. %(value)s n'en fait pas partie." -#: forms/fields.py:697 forms/fields.py:758 forms/models.py:721 +#: forms/fields.py:671 forms/fields.py:733 forms/models.py:1002 msgid "Enter a list of values." msgstr "Saisissez une liste de valeurs." -#: forms/fields.py:878 -msgid "Enter a valid IPv4 address." -msgstr "Saisissez une adresse IPv4 valide." - -#: forms/fields.py:888 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Ce champ ne doit contenir que des lettres, des nombres, des tirets bas _ et " -"des traits d'union." - # Si « : » est requis, créer un ticket -#: forms/formsets.py:242 forms/formsets.py:244 +#: forms/formsets.py:296 forms/formsets.py:298 msgid "Order" msgstr "Ordre" -#: forms/models.py:287 forms/models.py:296 +#: forms/models.py:562 #, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Un(e) %(model_name)s avec ce %(field_label)s existe déjà." +msgid "Please correct the duplicate data for %(field)s." +msgstr "Corrigez les données à double dans %(field)s." -#: forms/models.py:594 +#: forms/models.py:566 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Corrigez les données à double dans %(field)s qui doit contenir des valeurs " +"uniques." + +#: forms/models.py:572 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Corrigez les données à double dans %(field_name)s qui doit contenir des " +"valeurs uniques pour la partie %(lookup)s de %(date_field)s." + +#: forms/models.py:580 +msgid "Please correct the duplicate values below." +msgstr "Corrigez les valeurs à double ci-dessous." + +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "" "La clé étrangère en ligne ne correspond pas à la clé primaire de l'instance " "parente." -#: forms/models.py:651 +#: forms/models.py:921 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." -#: forms/models.py:722 +#: forms/models.py:1003 #, 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." -#: template/defaultfilters.py:743 +#: forms/models.py:1005 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "« %s » n'est pas une valeur correcte pour une clé primaire." + +#: template/defaultfilters.py:780 msgid "yes,no,maybe" msgstr "oui, non, peut-être" -#: template/defaultfilters.py:774 +#: template/defaultfilters.py:811 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d octet" msgstr[1] "%(size)d octets" -#: template/defaultfilters.py:776 +#: template/defaultfilters.py:813 #, python-format -msgid "%.1f KB" -msgstr "%.1f Ko" +msgid "%s KB" +msgstr "%s Ko" -#: template/defaultfilters.py:778 +#: template/defaultfilters.py:815 #, python-format -msgid "%.1f MB" -msgstr "%.1f Mo" +msgid "%s MB" +msgstr "%s Mo" -#: template/defaultfilters.py:779 +#: template/defaultfilters.py:816 #, python-format -msgid "%.1f GB" -msgstr "%.1f Go" +msgid "%s GB" +msgstr "%s Go" -#: utils/dateformat.py:41 +#: utils/dateformat.py:42 msgid "p.m." msgstr "après-midi" -#: utils/dateformat.py:42 +#: utils/dateformat.py:43 msgid "a.m." msgstr "matin" -#: utils/dateformat.py:47 +#: utils/dateformat.py:48 msgid "PM" msgstr "Après-midi" -#: utils/dateformat.py:48 +#: utils/dateformat.py:49 msgid "AM" msgstr "Matin" -#: utils/dateformat.py:97 +#: utils/dateformat.py:98 msgid "midnight" msgstr "minuit" -#: utils/dateformat.py:99 +#: utils/dateformat.py:100 msgid "noon" msgstr "midi" @@ -4241,7 +5108,7 @@ msgstr "nov." msgid "Dec." msgstr "déc." -#: utils/text.py:128 +#: utils/text.py:136 msgid "or" msgstr "ou" @@ -4281,47 +5148,51 @@ msgid_plural "minutes" msgstr[0] "minute" msgstr[1] "minutes" -#: utils/timesince.py:43 +#: utils/timesince.py:45 msgid "minutes" msgstr "minutes" -#: utils/timesince.py:48 +#: utils/timesince.py:50 #, python-format msgid "%(number)d %(type)s" msgstr "%(number)d %(type)s" -#: utils/timesince.py:54 +#: utils/timesince.py:56 #, python-format msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:403 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "j F Y" -#: utils/translation/trans_real.py:405 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j F Y, G:i" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "G:i:s" -#: utils/translation/trans_real.py:421 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:422 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "j F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, 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:156 +#: views/generic/create_update.py:158 #, 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:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "L'objet %(verbose_name)s a été supprimé." diff --git a/django/conf/locale/fr/LC_MESSAGES/djangojs.mo b/django/conf/locale/fr/LC_MESSAGES/djangojs.mo index 8f4d428724f1f4b46f00b74510536e17e42b2db6..c30a709588d6002a5a28918a6fdb79e44eb5e5dd 100644 GIT binary patch literal 2726 zcma)7O>7%Q6ds`bH2jyJmLG|CAWAA&$4T3?a%m+KC$u4Mqu5Q=6O4Dq_O$Dn&FrjO z_rMWx;zSQ{;eY@cai|anBqRi~xb(&y!HEl8dqfrA+qILlMTODMeDm|>&G+7$dHdVG zJ=X-v%j5bta2oa3`_P~y_X}|pxCML&I0QZbybgQ}_$}}e;7{ZA8^Fgg{slM%{2jO# z_~#gJ0w2Wq7H|)650sq)?gg@*cYr+K1>zGuG<@zBko8^x67YQ>%Y6wv2K*Yxdj9~j zp1**6?oHq)z+1qNfFEO10xUuJUD)_3u!gaCxX`x@#3xqKJO$hUvK`@g-T!E`=O}OvxD3Q6GBk&P?*ShL zegkAZKLARck0rGU8*Kd$5fXCTFs0?6A!4Gb+Xh`LnU7ITFTMc z&|AhcwqH!tRG4=}T}MWDx?Y^I)}Xm8HdGH%qCs_P(s|SsYKTVe0UFrMQP{OQRI}+p zk|v@s*5M@*jV`t}G8j6by3L`Psg#H3Rb+}@vzxhmYQn%DE=!6+9nGoE@ff?v%545jHPgwT*Sk?!j#lQFfmilekd z&^hB2CC;`GqXEU%UecyRZR^N)6}@Gtm3fcNPGZcHIFwf!%%oT=iF;Cm5Ibv|T8f>~ z#C-)hZ|^2Y1LaG!j_~7#6rMf%HbIj27tG_BjDjvqIu*FAU{<(f7pcq?NB+AjRHS`= zKPNsp-OlNBgQk-vjit8^=SxJK)})J-r#HIZCzZLmI3JeU?&Q=O=w-5_ zf~Jza3avP0@Q@~gQO-VSyOMRClT-E6_2nJY=1b+NC2PDgIC7AHyH{8IToOxdj`O{9 zsq!bzHCKXTJ912|tz58dLL1?xRp?kt`>FLfb21KAtm~x}GD$v6Pb?g#qI<%eoS)iG zIVnQ1osULCPDpT!84dqiA{C33a#>U_+6>Q1Os5p-G_gh_L*W^ZGnCU0_Ez6x~^c{rQqIvFc;zDeGd}QKBx>tqfzNtv)o<%4pc%hZYiT4bZMca!SXDdvemigBjplg^SmZ5qYNH`1F7T;qlWEWSOXDofA(6(5DErwJ#g8m1MdTp=8f7YEK)NmScy9pdSWn(iTMq1{A!&xZ}!!>p)gaI}kNx|tR=)dM#qaOm2!SxR`vS1H}0GaBYTo}@I8 z=(Cua$pza|dy-kmVd&xRfK~o(h;Kurn7ZsG$Z5H5W{i4ulG;=c*Oc%VY9V$=XUnE< z2Z#U;F&OSFG-TFS9oVK^>3`9LQR!_&6PXfTkwu8oi87cLD(7MUgy-0X(GZN6#=d4t zkmC|gHThOIwkA@22V2}|D3c@?b`;M{65Wn7*$umW1LwiGT`aK9huq0!G#n>EkZI_` hnwWpld_nLZ8UJL$yVUpb{%Q1;hph?zQuxc2#6LGb5eNVP delta 715 zcmZ9}y-yTD7{~FslRM;uLr|2$VjC*6#|*c{c_D-t5;ZYMPJvi1O%o4@ z6Jmz=l%b>9tTB0Xcmpdqit~6ApZWC~jxm0X1#I95_PjfoV?4kie2=Tf^vwqzl<3?q z{6rPHKo!13CDvpBMO1=WtYCyn+(zX|P=$AJnU5Ht_8-v=<1yaGGb~Ww{PGLGae{?B z+4P0esKPUTTt+2W^ghLP#w)0U?jtG87t{@WMeYBF%JTzf@d$O$950orZ;CwJ!pEpY z%XCV#iuw!ezd8_@yM&VKcPXj%E16o6xJRhy|82@o=*#c;XVr-A({V#)(ob^RW}MJX zsOc(oxa;k3Kf9LM-OD}c+e+wMXrsWns*4_4XKi8SMOdr9Z6?ibCtQltdNr7{_EBid zp>=_qt48I&`<};18ouhqoun0~-Ci|#nSMWbvlVyhK`m~!H{$J98q6nY{c5h%`!~1P WXvfV~X|vm2*sbN?9WD(IGJgQ8#!yfI diff --git a/django/conf/locale/fr/LC_MESSAGES/djangojs.po b/django/conf/locale/fr/LC_MESSAGES/djangojs.po index fe16bd0dc..3a8b0bc16 100644 --- a/django/conf/locale/fr/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/fr/LC_MESSAGES/djangojs.po @@ -1,49 +1,92 @@ -# French translation for Django Javascript. -# Copyright (C) 2005 Mikaël Barbero -# This file is distributed under the same license as the Django package. +# French translation for Django Javascript. +# Copyright (C) 2005-2010 Django Software Foundation and individual contributors. +# This file is distributed under the same license as the Django package. +# +# Mikaël Barbero, 2005. +# Stéphane Raimbault , 2010. +# David Larlet , 2009-2010 # msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-11-04 11:14+0100\n" -"PO-Revision-Date: 2009-03-01 12:43+0100\n" -"Last-Translator: Stéphane Raimbault \n" +"POT-Creation-Date: 2010-05-14 11:02+0200\n" +"PO-Revision-Date: 2010-04-16 23:56+0200\n" +"Last-Translator: David Larlet \n" "Language-Team: French \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" -#: contrib/admin/media/js/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "%s disponible(s)" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Tout choisir" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Ajouter" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "Enlever" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "%s choisi(es)" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "Sélectionnez un ou plusieurs choix et cliquez " -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Tout enlever" +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s sur %(cnt)s sélectionné" +msgstr[1] "%(sel)s sur %(cnt)s sélectionnés" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Vous avez des modifications non sauvegardées sur certains champs éditables. " +"Si vous lancez une action, ces modifications vont être perdues." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Vous avez sélectionné une action, mais vous n'avez pas encore sauvegardé " +"certains champs modifiés. Cliquez sur OK pour sauver. Vous devrez " +"réappliquer l'action." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Vous avez sélectionné une action, et vous n'avez fait aucune modification " +"sur des champs. Vous cherchez probablement le bouton Envoyer et non le " +"bouton Sauvegarder." + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -57,62 +100,63 @@ msgstr "" msgid "S M T W T F S" msgstr "D L M M J V S" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Afficher" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Masquer" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "Afficher" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "Masquer" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Maintenant" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "Horloge" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Choisir une heure" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "Minuit" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "6:00" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "Midi" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Annuler" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "Aujourd'hui" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Calendrier" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "Hier" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "Demain" diff --git a/django/conf/locale/fr/__init__.py b/django/conf/locale/fr/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/fr/formats.py b/django/conf/locale/fr/formats.py new file mode 100644 index 000000000..121bb9b95 --- /dev/null +++ b/django/conf/locale/fr/formats.py @@ -0,0 +1,36 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F Y' +TIME_FORMAT = 'H:i:s' +DATETIME_FORMAT = 'j F Y H:i:s' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'j N Y' +SHORT_DATETIME_FORMAT = 'j N Y H:i:s' +FIRST_DAY_OF_WEEK = 1 # Monday +DATE_INPUT_FORMATS = ( + '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' + '%d.%m.%Y', '%d.%m.%y', # Swiss (fr_CH), '25.10.2006', '25.10.06' + '%Y-%m-%d', '%y-%m-%d', # '2006-10-25', '06-10-25' + # '%d %B %Y', '%d %b %Y', # '25 octobre 2006', '25 oct. 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' + '%d/%m/%Y %H:%M', # '25/10/2006 14:30' + '%d/%m/%Y', # '25/10/2006' + '%d.%m.%Y %H:%M:%S', # Swiss (fr_CH), '25.10.2006 14:30:59' + '%d.%m.%Y %H:%M', # Swiss (fr_CH), '25.10.2006 14:30' + '%d.%m.%Y', # Swiss (fr_CH), '25.10.2006' + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = ' ' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/fy_NL/LC_MESSAGES/django.mo b/django/conf/locale/fy_NL/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..7b518a80099526c192dc7f9473c1088d57ff2f60 GIT binary patch literal 4885 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 literal 0 HcmV?d00001 diff --git a/django/conf/locale/fy_NL/LC_MESSAGES/django.po b/django/conf/locale/fy_NL/LC_MESSAGES/django.po new file mode 100644 index 000000000..049905ed7 --- /dev/null +++ b/django/conf/locale/fy_NL/LC_MESSAGES/django.po @@ -0,0 +1,4997 @@ +# This file is distributed under the same license as the Django package. +# +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-27 09:58-0800\n" +"PO-Revision-Date: 2010-01-27 22:36-0700\n" +"Last-Translator: Wim Benes \n" +"Language-Team: FRISIAN \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

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

            \n" +msgstr "" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +#: forms/models.py:964 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "" + +#: contrib/admin/options.py:1006 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#: db/models/base.py:775 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +#: db/models/base.py:790 db/models/base.py:798 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s mei dit %(field_label)s bestiet al." + +#: contrib/admin/templates/admin/app_index.html:10 +#: contrib/admin/templates/admin/index.html:19 +#, python-format +msgid "%(name)s" +msgstr "" + +#: contrib/admin/options.py:860 contrib/admin/options.py:1072 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "" + +#: utils/timesince.py:50 +#, python-format +msgid "%(number)d %(type)s" +msgstr "" + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "" + +#: template/defaultfilters.py:806 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:54 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:51 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:57 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "" +msgstr[1] "" + +#: template/defaultfilters.py:811 +#, python-format +msgid "%s GB" +msgstr "" + +#: template/defaultfilters.py:808 +#, python-format +msgid "%s KB" +msgstr "" + +#: template/defaultfilters.py:810 +#, python-format +msgid "%s MB" +msgstr "" + +#: contrib/admin/sites.py:447 +#, python-format +msgid "%s administration" +msgstr "" + +#: contrib/admindocs/views.py:361 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "" + +#: utils/timesince.py:56 +#, python-format +msgid ", %(number)d %(type)s" +msgstr "" + +#: contrib/comments/admin.py:60 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/filterspecs.py:44 +#, python-format +msgid "" +"

            By %s:

            \n" +"
              \n" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:7 +#, python-format +msgid "" +"0 of %(total_count)s %(module_name)s selected" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "" + +#: contrib/auth/forms.py:31 +msgid "A user with that username already exists." +msgstr "" + +#: utils/dateformat.py:49 +msgid "AM" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:24 +msgid "Action" +msgstr "" + +#: contrib/admin/helpers.py:19 +msgid "Action:" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/index.html:29 +msgid "Add" +msgstr "" + +#: contrib/admin/templates/admin/change_list.html:57 +#, python-format +msgid "Add %(name)s" +msgstr "" + +#: contrib/admin/options.py:834 +#, python-format +msgid "Add %s" +msgstr "" + +#: contrib/admin/widgets.py:238 +msgid "Add Another" +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:33 +#: contrib/admin/templates/admin/edit_inline/tabular.html:78 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +#: contrib/admin/options.py:561 +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "" + +#: contrib/flatpages/admin.py:22 +msgid "Advanced options" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:26 +msgid "Aichi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:8 +msgid "Akita" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "" + +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "All %(total_count)s %(module_name)s selected" +msgstr "" + +#: contrib/admin/templatetags/admin_list.py:240 +msgid "All dates" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "" + +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:5 +msgid "Aomori" +msgstr "" + +#: contrib/admindocs/views.py:190 +#, python-format +msgid "App %r not found" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:7 +msgid "Appenzell Ausserrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:6 +msgid "Appenzell Innerrhoden" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:4 +msgid "Approve a comment" +msgstr "" + +#: contrib/comments/admin.py:44 +msgid "Approve selected comments" +msgstr "" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "" + +#: conf/global_settings.py:44 +msgid "Arabic" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:23 +#, 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_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" + +#: contrib/admin/actions.py:67 contrib/admin/options.py:1094 +msgid "Are you sure?" +msgstr "" + +#: conf/global_settings.py:56 +msgid "Argentinean Spanish" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "" + +#: utils/dates.py:32 +msgid "Aug." +msgstr "" + +#: utils/dates.py:19 +msgid "August" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "" + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:9 +msgid "Basel-Land" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:8 +msgid "Basel-Stadt" +msgstr "" + +#: conf/global_settings.py:57 +msgid "Basque" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: conf/global_settings.py:45 +msgid "Bengali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:10 +msgid "Berne" +msgstr "" + +#: db/models/fields/__init__.py:892 +msgid "Big (8 byte) integer" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "" + +#: db/models/fields/__init__.py:512 +msgid "Boolean (Either True or False)" +msgstr "" + +#: db/models/fields/__init__.py:923 +msgid "Boolean (Either True, False or None)" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "" + +#: conf/global_settings.py:81 +msgid "Brazilian Portuguese" +msgstr "" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: conf/global_settings.py:46 +msgid "Bulgarian" +msgstr "" + +#: contrib/localflavor/at/at_states.py:5 +msgid "Burgenland" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "" + +#: contrib/localflavor/at/at_states.py:6 +msgid "Carinthia" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "" + +#: conf/global_settings.py:47 +msgid "Catalan" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "" + +#: contrib/admin/templates/admin/index.html:35 +msgid "Change" +msgstr "" + +#: contrib/admin/options.py:925 +#, python-format +msgid "Change %s" +msgstr "" + +#: contrib/admin/options.py:1124 +#, python-format +msgid "Change history: %s" +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:43 +#: contrib/admin/templates/registration/password_reset_confirm.html:21 +msgid "Change my password" +msgstr "" + +#: contrib/admin/templates/admin/base.html:40 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Change password" +msgstr "" + +#: contrib/auth/admin.py:121 +#, python-format +msgid "Change password: %s" +msgstr "" + +#: contrib/admin/widgets.py:96 +msgid "Change:" +msgstr "" + +#: contrib/admin/options.py:565 +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "" + +#: contrib/admin/options.py:556 +#, python-format +msgid "Changed %s." +msgstr "" + +#: contrib/comments/models.py:65 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:15 +msgid "Chiba" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:16 +msgid "Clear selection" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:14 +msgid "Click here to select all objects across all pages" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "" + +#: db/models/fields/__init__.py:582 +msgid "Comma-separated integers" +msgstr "" + +#: contrib/comments/forms.py:96 +msgid "Comment" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "" + +#: contrib/comments/admin.py:12 +msgid "Content" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: conf/global_settings.py:66 +msgid "Croatian" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/admin/widgets.py:96 +msgid "Currently:" +msgstr "" + +#: conf/global_settings.py:48 +msgid "Czech" +msgstr "" + +#: utils/translation/trans_real.py:531 +msgid "DATETIME_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:530 +msgid "DATE_FORMAT" +msgstr "N j, Y" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: conf/global_settings.py:50 +msgid "Danish" +msgstr "" + +#: contrib/admin/options.py:970 +msgid "Database error" +msgstr "" + +#: db/models/fields/__init__.py:684 +msgid "Date (with time)" +msgstr "" + +#: db/models/fields/__init__.py:596 +msgid "Date (without time)" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:22 +msgid "Date/time" +msgstr "" + +#: contrib/admin/widgets.py:72 +msgid "Date:" +msgstr "" + +#: utils/dates.py:32 +msgid "Dec." +msgstr "" + +#: utils/dates.py:20 +msgid "December" +msgstr "" + +#: db/models/fields/__init__.py:752 +msgid "Decimal number" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:10 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:291 +msgid "Delete" +msgstr "" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "" + +#: contrib/admin/actions.py:85 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/tabular.html:15 +msgid "Delete?" +msgstr "" + +#: contrib/admin/options.py:570 +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:16 +#, 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_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)s would result in deleting related objects, but " +"your account doesn't have permission to delete the following types of " +"objects:" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/auth/models.py:144 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" + +#: contrib/auth/models.py:142 +msgid "Designates whether the user can log into this admin site." +msgstr "" + +#: contrib/auth/models.py:143 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "" + +#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drenthe" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: conf/global_settings.py:77 +msgid "Dutch" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/auth/forms.py:101 +msgid "E-mail" +msgstr "" + +#: db/models/fields/__init__.py:807 +msgid "E-mail address" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:41 +msgid "Ehime" +msgstr "" + +#: contrib/comments/forms.py:94 +msgid "Email address" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "" + +#: conf/global_settings.py:53 +msgid "English" +msgstr "" + +#: forms/fields.py:251 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Wês wis dat der net mear as %s desimale plakken binne." + +#: forms/fields.py:252 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Wês wis dat der net mear as %s sifers foar it desimale punt." + +#: forms/fields.py:250 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Wês wis dat der yn totaal net mear as %s sifers binne." + +#: forms/fields.py:424 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" + +#: core/validators.py:129 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" + +#: core/validators.py:135 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" + +#: core/validators.py:100 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#: core/validators.py:123 forms/fields.py:197 forms/fields.py:249 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#: core/validators.py:118 forms/fields.py:196 forms/fields.py:248 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#: contrib/localflavor/au/forms.py:17 +msgid "Enter a 4 digit post code." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "" + +#: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "" + +#: forms/fields.py:653 forms/fields.py:715 forms/models.py:961 +msgid "Enter a list of values." +msgstr "Jou in list mei weardes." + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +#: forms/fields.py:225 forms/fields.py:247 +msgid "Enter a number." +msgstr "Jou in nûmer." + +#: contrib/localflavor/ar/forms.py:28 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "" + +#: contrib/localflavor/pl/forms.py:148 +msgid "Enter a postal code in the format XX-XXX." +msgstr "" + +#: contrib/localflavor/ca/forms.py:25 +msgid "Enter a postal code in the format XXX XXX." +msgstr "" + +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "" + +#: contrib/localflavor/jp/forms.py:16 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "" + +#: contrib/localflavor/pl/forms.py:71 +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "" + +#: core/validators.py:88 forms/fields.py:854 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Jou in falida 'slug' gearsteld mei letters, nûmers, ûnderstreekjes of " +"koppelteken." + +#: contrib/localflavor/at/forms.py:48 +msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." +msgstr "" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "" + +#: contrib/localflavor/ro/forms.py:19 +msgid "Enter a valid CIF." +msgstr "" + +#: contrib/localflavor/ro/forms.py:56 +msgid "Enter a valid CNP." +msgstr "" + +#: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "" + +#: contrib/localflavor/ca/forms.py:96 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "" + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT." +msgstr "" + +#: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "" + +#: contrib/localflavor/fi/forms.py:29 +msgid "Enter a valid Finnish social security number." +msgstr "" + +#: contrib/localflavor/de/forms.py:42 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" + +#: contrib/localflavor/ro/forms.py:141 +msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" +msgstr "" + +#: contrib/localflavor/cz/forms.py:107 +msgid "Enter a valid IC number." +msgstr "" + +#: core/validators.py:91 forms/fields.py:847 +msgid "Enter a valid IPv4 address." +msgstr "Jou in falide IPv4-adres." + +#: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "" + +#: contrib/localflavor/no/forms.py:34 +msgid "Enter a valid Norwegian social security number." +msgstr "" + +#: contrib/localflavor/nl/forms.py:79 +msgid "Enter a valid SoFi number" +msgstr "" + +#: contrib/localflavor/it/forms.py:44 +msgid "Enter a valid Social Security number." +msgstr "" + +#: contrib/localflavor/za/forms.py:21 +msgid "Enter a valid South African ID number" +msgstr "" + +#: contrib/localflavor/za/forms.py:55 +msgid "Enter a valid South African postal code" +msgstr "" + +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "" + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "" + +#: contrib/localflavor/ch/forms.py:65 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" + +#: contrib/localflavor/us/forms.py:55 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" + +#: core/validators.py:69 forms/fields.py:510 +msgid "Enter a valid URL." +msgstr "Jou in falide URL." + +#: contrib/localflavor/it/forms.py:69 +msgid "Enter a valid VAT number." +msgstr "" + +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "" + +#: db/models/fields/__init__.py:600 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Jou in falide daum yn JJJJ-MM-DD-formaat." + +#: forms/fields.py:309 forms/fields.py:819 +msgid "Enter a valid date." +msgstr "Jou in falide datum." + +#: db/models/fields/__init__.py:682 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "Jou in falide datum/tiid yn JJJ-MM-DD OO:MM[:ss[.uuuuuu]]-formaat." + +#: forms/fields.py:363 +msgid "Enter a valid date/time." +msgstr "Jou in falide datum.tiid." + +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:85 forms/fields.py:414 +msgid "Enter a valid e-mail address." +msgstr "" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "" + +#: contrib/localflavor/es/forms.py:40 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "" + +#: contrib/localflavor/nl/forms.py:22 +msgid "Enter a valid postal code" +msgstr "" + +#: contrib/localflavor/ro/forms.py:194 +msgid "Enter a valid postal code in the format XXXXXX" +msgstr "" + +#: contrib/localflavor/es/forms.py:20 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "" + +#: db/models/fields/__init__.py:1027 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "Jou in falide tiid yn OO:MM[:ss[.uuuuuu]]-formaat." + +#: forms/fields.py:337 forms/fields.py:820 +msgid "Enter a valid time." +msgstr "Jou in falide tiid." + +#: core/validators.py:19 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Jou in falide wearde." + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "" + +#: contrib/localflavor/it/forms.py:15 +msgid "Enter a valid zip code." +msgstr "" + +#: forms/fields.py:195 +msgid "Enter a whole number." +msgstr "Jou in folslein nûmer." + +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "" + +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 +msgid "Enter a zip code in the format XXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/br/forms.py:22 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "" + +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:12 +msgid "Enter new password" +msgstr "" + +#: core/validators.py:94 db/models/fields/__init__.py:587 +msgid "Enter only digits separated by commas." +msgstr "Jou allinnich sifers, skieden troch komma's." + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "" + +#: conf/global_settings.py:55 +msgid "Estonian" +msgstr "" + +#: contrib/flatpages/admin.py:9 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" + +#: contrib/flatpages/models.py:12 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "" + +#: utils/dates.py:31 +msgid "Feb." +msgstr "" + +#: utils/dates.py:18 +msgid "February" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: db/models/fields/__init__.py:72 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#: contrib/admindocs/views.py:271 +#, python-format +msgid "Fields on %s objects" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: db/models/fields/__init__.py:814 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "" + +#: contrib/admin/templates/admin/change_list.html:76 +msgid "Filter" +msgstr "" + +#: conf/global_settings.py:59 +msgid "Finnish" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/add_form.html:5 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" + +#: contrib/comments/templates/comments/flag.html:12 +msgid "Flag" +msgstr "" + +#: contrib/comments/admin.py:40 +msgid "Flag selected comments" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "" + +#: db/models/fields/__init__.py:839 +msgid "Floating point number" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "" + +#: db/models/fields/related.py:757 +msgid "Foreign Key (type determined by related field)" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll e-mail " +"instructions for setting a new one." +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "" + +#: conf/global_settings.py:60 +msgid "French" +msgstr "" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:23 +msgid "Fukui" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:43 +msgid "Fukuoka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:10 +msgid "Fukushima" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "" + +#: conf/global_settings.py:62 +msgid "Galician" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "" + +#: contrib/gis/db/models/fields.py:293 +msgid "Geometry collection" +msgstr "" + +#: conf/global_settings.py:70 +msgid "Georgian" +msgstr "" + +#: conf/global_settings.py:51 +msgid "German" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:24 +msgid "Gifu" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:13 +msgid "Glarus" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "" + +#: conf/global_settings.py:52 +msgid "Greek" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "" + +#: contrib/auth/admin.py:29 +msgid "Groups" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:13 +msgid "Gunma" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: conf/global_settings.py:64 +msgid "Hebrew" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: conf/global_settings.py:65 +msgid "Hindi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:37 +msgid "Hiroshima" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:28 +#: contrib/admin/templates/admin/object_history.html:10 +msgid "History" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:4 +msgid "Hokkaido" +msgstr "" + +#: db/models/fields/related.py:959 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Hâld \"Control\", of \"Command\" op in Mac del, om mear as ien te " +"selektearjen." + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/app_index.html:8 +#: contrib/admin/templates/admin/base.html:54 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:36 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: 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:5 +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:15 +msgid "Hradec Region" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "" + +#: conf/global_settings.py:63 +msgid "Hungarian" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:31 +msgid "Hyogo" +msgstr "" + +#: contrib/comments/models.py:60 db/models/fields/__init__.py:905 +msgid "IP address" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:11 +msgid "Ibaraki" +msgstr "" + +#: conf/global_settings.py:67 +msgid "Icelandic" +msgstr "" + +#: contrib/flatpages/models.py:13 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "" + +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "" + +#: contrib/auth/admin.py:28 +msgid "Important dates" +msgstr "" + +#: contrib/auth/models.py:148 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" + +#: db/models/fields/__init__.py:471 db/models/fields/__init__.py:867 +#: db/models/fields/__init__.py:963 db/models/fields/__init__.py:974 +#: db/models/fields/__init__.py:1001 +msgid "Integer" +msgstr "" + +#: contrib/localflavor/br/forms.py:135 +msgid "Invalid CNPJ number." +msgstr "" + +#: contrib/localflavor/br/forms.py:95 +msgid "Invalid CPF number." +msgstr "" + +#: contrib/localflavor/ar/forms.py:81 +msgid "Invalid CUIT." +msgstr "" + +#: contrib/localflavor/es/forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:144 +msgid "Invalid checksum for bank account number." +msgstr "" + +#: db/models/fields/__init__.py:601 +#, python-format +msgid "Invalid date: %s" +msgstr "Foute datum: %s" + +#: contrib/gis/forms/fields.py:19 +msgid "Invalid geometry type." +msgstr "" + +#: contrib/gis/forms/fields.py:18 +msgid "Invalid geometry value." +msgstr "" + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" + +#: conf/global_settings.py:61 +msgid "Irish" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:22 +msgid "Ishikawa" +msgstr "" + +#: conf/global_settings.py:68 +msgid "Italian" +msgstr "" + +#: contrib/admin/options.py:736 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:6 +msgid "Iwate" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "" + +#: utils/dates.py:18 +msgid "January" +msgstr "" + +#: conf/global_settings.py:69 +msgid "Japanese" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:40 +msgid "Kagawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:49 +msgid "Kagoshima" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:17 +msgid "Kanagawa" +msgstr "" + +#: conf/global_settings.py:73 +msgid "Kannada" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "" + +#: conf/global_settings.py:72 +msgid "Khmer" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:42 +msgid "Kochi" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "" + +#: conf/global_settings.py:71 +msgid "Korean" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:46 +msgid "Kumamoto" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:29 +msgid "Kyoto" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "" + +#: conf/global_settings.py:74 +msgid "Latvian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:14 +msgid "Liberec Region" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/gis/db/models/fields.py:273 +msgid "Line string" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "" + +#: conf/global_settings.py:75 +msgid "Lithuanian" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "" + +#: contrib/admin/sites.py:402 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/templates/registration/password_reset_complete.html:14 +#: contrib/admin/views/decorators.py:20 +msgid "Log in" +msgstr "" + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "" + +#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Log out" +msgstr "" + +#: contrib/auth/views.py:60 +msgid "Logged out" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/admin/sites.py:313 contrib/admin/views/decorators.py:47 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" + +#: contrib/admin/widgets.py:126 +msgid "Lookup" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/at/at_states.py:7 +msgid "Lower Austria" +msgstr "" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:16 +msgid "Lucerne" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "" + +#: utils/translation/trans_real.py:554 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" + +#: conf/global_settings.py:76 +msgid "Macedonian" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: db/models/fields/related.py:939 +msgid "Many-to-many relationship" +msgstr "" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/comments/admin.py:15 +msgid "Metadata" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:27 +msgid "Mie" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:7 +msgid "Miyagi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:48 +msgid "Miyazaki" +msgstr "" + +#: db/models/fields/related.py:755 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "" + +#: contrib/admindocs/views.py:197 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr "" + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: contrib/gis/db/models/fields.py:289 +msgid "Multi polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:285 +msgid "Multi-line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:281 +msgid "Multi-point" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "" + +#: contrib/admin/templates/admin/index.html:54 +msgid "My Actions" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:19 +msgid "Nagano" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:45 +msgid "Nagasaki" +msgstr "" + +#: contrib/comments/forms.py:93 +msgid "Name" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:32 +msgid "Nara" +msgstr "" + +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:38 +msgid "National Identification Number consists of 11 digits." +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "" + +#: contrib/auth/forms.py:145 +msgid "New password confirmation" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:18 +msgid "Nidwalden" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:20 +msgid "Niigata" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:435 +msgid "No" +msgstr "" + +#: contrib/admin/options.py:754 +msgid "No action selected." +msgstr "" + +#: contrib/admin/options.py:574 +msgid "No fields changed." +msgstr "" + +#: forms/fields.py:422 +msgid "No file was submitted." +msgstr "Der is gjin bestân yntsjinne." + +#: forms/fields.py:421 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Der is gjin bestân yntsjinne. Kontrolearje it kodearringstype op it " +"formulier." + +#: contrib/gis/forms/fields.py:17 +msgid "No geometry value provided." +msgstr "" + +#: contrib/admin/options.py:137 contrib/admin/options.py:152 +msgid "None" +msgstr "" + +#: contrib/admin/templates/admin/index.html:58 +msgid "None available" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/de/de_states.py:14 +msgid "North Rhine-Westphalia" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: conf/global_settings.py:78 +msgid "Norwegian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: utils/dates.py:32 +msgid "Nov." +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "" + +#: utils/dates.py:19 +msgid "November" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:19 +msgid "Obwalden" +msgstr "" + +#: utils/dates.py:32 +msgid "Oct." +msgstr "" + +#: utils/dates.py:19 +msgid "October" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:47 +msgid "Oita" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:36 +msgid "Okayama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:50 +msgid "Okinawa" +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "" + +#: contrib/admin/util.py:175 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "" + +#: contrib/admin/util.py:170 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "" + +#: db/models/fields/related.py:879 +msgid "One-to-one relationship" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "" + +#: forms/formsets.py:287 forms/formsets.py:289 +msgid "Order" +msgstr "Oarder" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:30 +msgid "Osaka" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: utils/dateformat.py:48 +msgid "PM" +msgstr "" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:16 +msgid "Pardubice Region" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "" + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 +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/auth/admin.py:111 +msgid "Password changed successfully." +msgstr "" + +#: contrib/auth/forms.py:18 +msgid "Password confirmation" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:6 +#: 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_complete.html:6 +#: contrib/admin/templates/registration/password_reset_complete.html:10 +msgid "Password reset complete" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +msgid "Password reset confirmation" +msgstr "" + +#: contrib/auth/forms.py:136 +#, python-format +msgid "Password reset on %s" +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_confirm.html:26 +msgid "Password reset unsuccessful" +msgstr "" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Password:" +msgstr "" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/auth/admin.py:27 +msgid "Permissions" +msgstr "" + +#: conf/global_settings.py:58 +msgid "Persian" +msgstr "" + +#: contrib/auth/admin.py:26 +msgid "Personal info" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "" + +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "" + +#: contrib/localflavor/br/forms.py:31 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "" + +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "" + +#: contrib/localflavor/ro/forms.py:171 +msgid "Phone numbers must be in XXXX-XXXXXX format." +msgstr "" + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:11 +msgid "Pilsen Region" +msgstr "" + +#: forms/models.py:542 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#: forms/models.py:538 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#: forms/models.py:548 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +#: forms/models.py:556 +msgid "Please correct the duplicate values below." +msgstr "" + +#: contrib/comments/templates/comments/preview.html:11 +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/sites.py:22 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" + +#: contrib/localflavor/es/forms.py:68 +msgid "Please enter a valid NIF or NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" + +#: db/models/fields/related.py:1020 +#, 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] "" +"Jou asjobleaft falide %(self)s IDs. De wearde %(value)r is net goed." +msgstr[1] "" +"Jou asjobleaft falide %(self)s IDs. De wearden %(value)r binne net goed." + +#: contrib/admin/templates/registration/password_reset_confirm.html:14 +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:21 +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_reset_email.html:5 +msgid "Please go to the following page and choose a new password:" +msgstr "" + +#: contrib/admin/sites.py:306 contrib/admin/views/decorators.py:40 +msgid "Please log in again, because your session has expired." +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "" + +#: contrib/gis/db/models/fields.py:269 +msgid "Point" +msgstr "" + +#: conf/global_settings.py:79 +msgid "Polish" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "" + +#: contrib/gis/db/models/fields.py:277 +msgid "Polygon" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "" + +#: conf/global_settings.py:80 +msgid "Portuguese" +msgstr "" + +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +msgid "Post" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "" + +#: contrib/comments/models.py:153 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "" + +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +msgid "Preview" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "" + +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "" + +#: contrib/admin/templates/admin/index.html:53 +msgid "Recent Actions" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:36 +#: contrib/admin/templates/admin/edit_inline/tabular.html:81 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "" + +#: contrib/comments/templates/comments/delete.html:4 +msgid "Remove a comment" +msgstr "" + +#: contrib/comments/admin.py:48 +msgid "Remove selected comments" +msgstr "" + +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +#: contrib/auth/models.py:137 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "" + +#: conf/global_settings.py:82 +msgid "Romanian" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "" + +#: conf/global_settings.py:83 +msgid "Russian" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:44 +msgid "Saga" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:14 +msgid "Saitama" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "" + +#: contrib/localflavor/at/at_states.py:9 +msgid "Salzburg" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "" + +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and add another" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save and continue editing" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save as new" +msgstr "" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:20 +msgid "Schaffhausen" +msgstr "" + +#: contrib/localflavor/de/de_states.py:19 +msgid "Schleswig-Holstein" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:21 +msgid "Schwyz" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Search" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "" + +#: contrib/admin/views/main.py:70 +#, python-format +msgid "Select %s" +msgstr "" + +#: contrib/admin/views/main.py:70 +#, python-format +msgid "Select %s to change" +msgstr "" + +#: contrib/localflavor/br/forms.py:59 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" + +#: forms/fields.py:577 forms/fields.py:652 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Selektearje in falide kar. %(value)s is net ien fan de beskikbere karren." + +#: forms/models.py:962 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Selektearje in falide kar. %s is net ien fan de beskikbere karren." + +#: forms/models.py:886 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Selektearje in falide kar. Dizze kar is net ien fan de beskikbere karren." + +#: contrib/admin/templates/admin/actions.html:14 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "" + +#: utils/dates.py:32 +msgid "Sept." +msgstr "" + +#: utils/dates.py:19 +msgid "September" +msgstr "" + +#: conf/global_settings.py:86 +msgid "Serbian" +msgstr "" + +#: conf/global_settings.py:87 +msgid "Serbian Latin" +msgstr "" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +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/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:28 +msgid "Shiga" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:35 +msgid "Shimane" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:25 +msgid "Shizuoka" +msgstr "" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "" + +#: conf/global_settings.py:94 +msgid "Simplified Chinese" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "" + +#: contrib/admin/sites.py:388 +msgid "Site administration" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: conf/global_settings.py:84 +msgid "Slovak" +msgstr "" + +#: conf/global_settings.py:85 +msgid "Slovenian" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:22 +msgid "Solothurn" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: 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 "" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: conf/global_settings.py:54 +msgid "Spanish" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:23 +msgid "St. Gallen" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: db/models/fields/__init__.py:554 db/models/fields/__init__.py:984 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "" + +#: contrib/localflavor/at/at_states.py:10 +msgid "Styria" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "" + +#: contrib/admin/actions.py:60 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "" + +#: conf/global_settings.py:88 +msgid "Swedish" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: utils/translation/trans_real.py:532 +msgid "TIME_FORMAT" +msgstr "P" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "" + +#: conf/global_settings.py:89 +msgid "Tamil" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: conf/global_settings.py:90 +msgid "Telugu" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "" + +#: db/models/fields/__init__.py:1007 +msgid "Text" +msgstr "" + +#: conf/global_settings.py:91 +msgid "Thai" +msgstr "" + +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "" + +#: contrib/comments/templates/comments/approved.html:4 +msgid "Thanks for approving" +msgstr "" + +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "" + +#: contrib/comments/templates/comments/flagged.html:4 +msgid "Thanks for flagging" +msgstr "" + +#: contrib/comments/templates/comments/deleted.html:4 +msgid "Thanks for removing" +msgstr "" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Thanks for using our site!" +msgstr "" + +#: contrib/auth/forms.py:110 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" + +#: contrib/admin/options.py:640 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "" + +#: contrib/admin/options.py:683 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" + +#: contrib/admin/options.py:675 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "" + +#: contrib/admin/options.py:1087 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +#: views/generic/create_update.py:115 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "De %(verbose_name)s is súksesfol oanmakke." + +#: views/generic/create_update.py:201 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "De %(verbose_name)s is fuortsmiten." + +#: views/generic/create_update.py:158 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "De %(verbose_name)s is súksesfol fernijd." + +#: contrib/localflavor/cl/forms.py:32 +msgid "The Chilean RUT is not valid." +msgstr "" + +#: contrib/localflavor/is_/forms.py:19 +msgid "The Icelandic identification number is not valid." +msgstr "" + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: forms/models.py:820 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:28 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +#: forms/fields.py:423 +msgid "The submitted file is empty." +msgstr "It yntsjinne bestân is leech." + +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 +msgid "The two password fields didn't match." +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 "" + +#: core/validators.py:71 forms/fields.py:511 +msgid "This URL appears to be a broken link." +msgstr "Dit URL liket in ferbrutsen keppeling." + +#: contrib/auth/forms.py:83 +msgid "This account is inactive." +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/comments/models.py:128 +msgid "" +"This comment was posted by an authenticated user and thus the email is read-" +"only." +msgstr "" + +#: contrib/comments/models.py:119 +msgid "" +"This comment was posted by an authenticated user and thus the name is read-" +"only." +msgstr "" + +#: db/models/fields/__init__.py:67 +msgid "This field cannot be blank." +msgstr "" + +#: db/models/fields/__init__.py:66 +msgid "This field cannot be null." +msgstr "Dit fjild kin net leech wêze." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Dit fjild is fereaske." + +#: contrib/localflavor/pe/forms.py:53 +msgid "This field requires 11 digits." +msgstr "" + +#: contrib/localflavor/ar/forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "" + +#: contrib/localflavor/pe/forms.py:25 +msgid "This field requires 8 digits." +msgstr "" + +#: contrib/localflavor/br/forms.py:137 +msgid "This field requires at least 14 digits" +msgstr "" + +#: contrib/localflavor/br/forms.py:96 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "" + +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:97 +#: contrib/localflavor/br/forms.py:136 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires only numbers." +msgstr "" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:38 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" + +#: db/models/fields/__init__.py:750 +msgid "This value must be a decimal number." +msgstr "Dizze wearde moat in desimaal nûmer wêze." + +#: db/models/fields/__init__.py:837 db/models/fields/__init__.py:865 +msgid "This value must be a float." +msgstr "" + +#: db/models/fields/__init__.py:475 +msgid "This value must be an integer." +msgstr "Dizze wearde moat in integer wêze." + +#: db/models/fields/__init__.py:921 +msgid "This value must be either None, True or False." +msgstr "Dizze wearde moat of Gjin, of Wier of Net wier wêze." + +#: db/models/fields/__init__.py:510 +msgid "This value must be either True or False." +msgstr "Dizze wearde moat of Wier of Net wier wêze." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value must contain only letters, numbers and underscores." +msgstr "" + +#: contrib/flatpages/admin.py:11 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:24 +msgid "Thurgau" +msgstr "" + +#: contrib/localflavor/de/de_states.py:20 +msgid "Thuringia" +msgstr "" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:25 +msgid "Ticino" +msgstr "" + +#: db/models/fields/__init__.py:1023 +msgid "Time" +msgstr "" + +#: contrib/admin/widgets.py:72 +msgid "Time:" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:12 +msgid "Tochigi" +msgstr "" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:39 +msgid "Tokushima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:16 +msgid "Tokyo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:34 +msgid "Tottori" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:21 +msgid "Toyama" +msgstr "" + +#: conf/global_settings.py:95 +msgid "Traditional Chinese" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "" + +#: conf/global_settings.py:92 +msgid "Turkish" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/at/at_states.py:11 +msgid "Tyrol" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "" + +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1103 +msgid "URL" +msgstr "" + +#: conf/global_settings.py:93 +msgid "Ukrainian" +msgstr "" + +#: contrib/comments/models.py:62 +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." +msgstr "" + +#: contrib/admin/filterspecs.py:154 forms/widgets.py:435 +msgid "Unknown" +msgstr "" + +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "" + +#: forms/fields.py:459 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Laad in falide ôfbylding op. It bestân dy't jo opladen hawwe wie net in " +"ôfbylding of in skansearre ôfbylding." + +#: contrib/localflavor/at/at_states.py:8 +msgid "Upper Austria" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:26 +msgid "Uri" +msgstr "" + +#: contrib/auth/models.py:141 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:23 +msgid "User" +msgstr "" + +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "" + +#: contrib/admin/templates/admin/login.html:19 +msgid "Username:" +msgstr "" + +#: contrib/admin/sites.py:329 contrib/admin/sites.py:335 +#: contrib/admin/views/decorators.py:66 +msgid "Usernames cannot contain the '@' character." +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:13 +msgid "Usti Region" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:27 +msgid "Valais" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "" + +#: db/models/fields/__init__.py:65 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:28 +msgid "Vaud" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "" + +#: contrib/localflavor/at/at_states.py:13 +msgid "Vienna" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 +msgid "View on site" +msgstr "" + +#: contrib/localflavor/at/at_states.py:12 +msgid "Vorarlberg" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:17 +msgid "Vysocina Region" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:33 +msgid "Wakayama" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/comments/forms.py:175 +#, 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] "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/formtools/wizard.py:132 +msgid "" +"We apologize, but your form has expired. Please continue filling out the " +"form from this page." +msgstr "" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed you instructions for setting your password to the e-mail " +"address you submitted. You should be receiving it shortly." +msgstr "" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "" + +#: contrib/admin/templates/admin/base.html:27 +msgid "Welcome," +msgstr "" + +#: conf/global_settings.py:49 +msgid "Welsh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/pl/forms.py:110 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:39 +msgid "Wrong checksum for the National Identification Number." +msgstr "" + +#: contrib/localflavor/pl/forms.py:72 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "" + +#: db/models/fields/__init__.py:1111 +msgid "XML text" +msgstr "" + +#: utils/translation/trans_real.py:553 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: contrib/localflavor/jp/jp_prefectures.py:9 +msgid "Yamagata" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:38 +msgid "Yamaguchi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:18 +msgid "Yamanashi" +msgstr "" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:435 +msgid "Yes" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 +msgid "Yes, I'm sure" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/admin/templates/admin/index.html:45 +msgid "You don't have permission to edit anything." +msgstr "" + +#: contrib/admin/options.py:654 contrib/admin/options.py:687 +#, python-format +msgid "You may add another %s below." +msgstr "" + +#: contrib/admin/options.py:644 contrib/admin/options.py:677 +msgid "You may edit it again below." +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/auth/forms.py:88 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" + +#: contrib/admin/sites.py:332 contrib/admin/views/decorators.py:62 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" + +#: contrib/auth/forms.py:178 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_complete.html:12 +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:9 +msgid "Your username, in case you've forgotten:" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:20 +msgid "Zlin Region" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:29 +msgid "Zug" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:30 +msgid "Zurich" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "" + +#: utils/dateformat.py:43 +msgid "a.m." +msgstr "" + +#: contrib/admin/models.py:24 +msgid "action flag" +msgstr "" + +#: contrib/admin/models.py:19 +msgid "action time" +msgstr "" + +#: contrib/auth/models.py:143 +msgid "active" +msgstr "" + +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 +#, python-format +msgid "all %s" +msgstr "" + +#: contrib/admin/options.py:556 contrib/admin/options.py:566 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:797 +#: forms/models.py:544 +msgid "and" +msgstr "" + +#: contrib/comments/admin.py:43 +msgid "approved" +msgstr "" + +#: utils/dates.py:23 +msgid "apr" +msgstr "" + +#: utils/dates.py:24 +msgid "aug" +msgstr "" + +#: contrib/admin/models.py:25 +msgid "change message" +msgstr "" + +#: contrib/auth/models.py:68 +msgid "codename" +msgstr "" + +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 +msgid "comment" +msgstr "" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "" + +#: contrib/comments/models.py:77 +msgid "comments" +msgstr "" + +#: contrib/flatpages/models.py:9 +msgid "content" +msgstr "" + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "" + +#: contrib/contenttypes/models.py:82 +msgid "content types" +msgstr "" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "" + +#: contrib/auth/models.py:146 +msgid "date joined" +msgstr "" + +#: contrib/comments/models.py:59 +msgid "date/time submitted" +msgstr "" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: utils/dates.py:24 +msgid "dec" +msgstr "" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "" + +#: contrib/auth/models.py:140 +msgid "e-mail address" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "eight" +msgstr "" + +#: contrib/flatpages/models.py:10 +msgid "enable comments" +msgstr "" + +#: contrib/sessions/models.py:48 +msgid "expire date" +msgstr "" + +#: utils/dates.py:23 +msgid "feb" +msgstr "" + +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 +msgid "filter:" +msgstr "" + +#: contrib/auth/models.py:138 +msgid "first name" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "five" +msgstr "" + +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "" + +#: contrib/comments/admin.py:39 +msgid "flagged" +msgstr "" + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "four" +msgstr "" + +#: contrib/auth/models.py:98 +msgid "group" +msgstr "" + +#: contrib/auth/models.py:99 contrib/auth/models.py:147 +msgid "groups" +msgstr "" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/models.py:61 +msgid "is public" +msgstr "" + +#: contrib/comments/models.py:64 +msgid "is removed" +msgstr "" + +#: utils/dates.py:23 +msgid "jan" +msgstr "" + +#: utils/dates.py:24 +msgid "jul" +msgstr "" + +#: utils/dates.py:23 +msgid "jun" +msgstr "" + +#: contrib/auth/models.py:145 +msgid "last login" +msgstr "" + +#: contrib/auth/models.py:139 +msgid "last name" +msgstr "" + +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "" + +#: contrib/admin/models.py:29 +msgid "log entries" +msgstr "" + +#: contrib/admin/models.py:28 +msgid "log entry" +msgstr "" + +#: utils/dates.py:23 +msgid "mar" +msgstr "" + +#: utils/dates.py:23 +msgid "may" +msgstr "" + +#: contrib/auth/models.py:347 +msgid "message" +msgstr "" + +#: utils/dateformat.py:98 +msgid "midnight" +msgstr "" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:45 +msgid "minutes" +msgstr "" + +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 +msgid "model:" +msgstr "" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "" +msgstr[1] "" + +#: contrib/auth/models.py:66 contrib/auth/models.py:94 +msgid "name" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "nd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "nine" +msgstr "" + +#: utils/dateformat.py:100 +msgid "noon" +msgstr "" + +#: utils/dates.py:24 +msgid "nov" +msgstr "" + +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 +#, python-format +msgid "number of %s" +msgstr "" + +#: contrib/comments/models.py:24 +msgid "object ID" +msgstr "" + +#: contrib/admin/models.py:22 +msgid "object id" +msgstr "" + +#: contrib/admin/models.py:23 +msgid "object repr" +msgstr "" + +#: utils/dates.py:24 +msgid "oct" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "one" +msgstr "" + +#: utils/text.py:128 +msgid "or" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "or make changes" +msgstr "" + +#: utils/dateformat.py:42 +msgid "p.m." +msgstr "" + +#: contrib/auth/models.py:141 +msgid "password" +msgstr "" + +#: contrib/auth/models.py:72 +msgid "permission" +msgstr "" + +#: contrib/auth/models.py:73 contrib/auth/models.py:95 +msgid "permissions" +msgstr "" + +#: contrib/contenttypes/models.py:77 +msgid "python model class name" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "rd" +msgstr "" + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "" + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "" + +#: contrib/flatpages/models.py:13 +msgid "registration required" +msgstr "" + +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "" + +#: contrib/comments/admin.py:47 +msgid "removed" +msgstr "" + +#: utils/dates.py:24 +msgid "sep" +msgstr "" + +#: contrib/sessions/models.py:53 +msgid "session" +msgstr "" + +#: contrib/sessions/models.py:47 +msgid "session data" +msgstr "" + +#: contrib/sessions/models.py:45 +msgid "session key" +msgstr "" + +#: contrib/sessions/models.py:54 +msgid "sessions" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "seven" +msgstr "" + +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 +msgid "site" +msgstr "" + +#: contrib/sites/models.py:39 +msgid "sites" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "six" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "st" +msgstr "" + +#: contrib/auth/models.py:142 +msgid "staff status" +msgstr "" + +#: contrib/auth/models.py:144 +msgid "superuser status" +msgstr "" + +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 +msgid "tag:" +msgstr "" + +#: contrib/admin/views/template.py:40 +msgid "template" +msgstr "" + +#: contrib/flatpages/models.py:11 +msgid "template name" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "th" +msgstr "" + +#: contrib/admindocs/views.py:209 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "three" +msgstr "" + +#: contrib/flatpages/models.py:8 +msgid "title" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:93 +msgid "today" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:95 +msgid "tomorrow" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "two" +msgstr "" + +#: contrib/auth/models.py:153 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 +msgid "user" +msgstr "" + +#: contrib/auth/models.py:149 +msgid "user permissions" +msgstr "" + +#: contrib/comments/models.py:54 +msgid "user's URL" +msgstr "" + +#: contrib/comments/models.py:53 +msgid "user's email address" +msgstr "" + +#: contrib/comments/models.py:52 +msgid "user's name" +msgstr "" + +#: contrib/auth/models.py:137 +msgid "username" +msgstr "" + +#: contrib/auth/models.py:154 +msgid "users" +msgstr "" + +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 +msgid "view:" +msgstr "" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "" +msgstr[1] "" + +#: template/defaultfilters.py:775 +msgid "yes,no,maybe" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:97 +msgid "yesterday" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#~ msgid "" +#~ "Ensure this value has at least %(min)d characters (it has %(length)d)." +#~ msgstr "" +#~ "Wês wis dat dizze wearde minstens %(min)d karakters hat (it hat %(length)" +#~ "d)." + +#~ msgid "" +#~ "Ensure this value has at most %(max)d characters (it has %(length)d)." +#~ msgstr "" +#~ "Wês wis dat dizze wearde maksimaal %(max)d karakters hat (it hat %(length)" +#~ "d)." + +#~ msgid "Ensure this value is greater than or equal to %s." +#~ msgstr "Wês wis dat dizze wearde grutter of lyk is oan %s." + +#~ msgid "Ensure this value is less than or equal to %s." +#~ msgstr "Wês wis dat dizze wearde minder of lyk is oan %s." diff --git a/django/conf/locale/fy_NL/LC_MESSAGES/djangojs.mo b/django/conf/locale/fy_NL/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..28a97655b5853ebb8657976f262211dbf902da0c GIT binary patch literal 367 zcmYL^K~KUk7=|%=+R?Lz9=z#?g@iaN5-KaW*luJD61`QZvj*FxD@K2af6w1yml%1I zCq4A}+V}f8J^Aj090kq-=YiwEWuQ$Q7=+7VI9umG3uoWd#zVS=wQ`NNhM)zVKF~Qs zYgR1NJc|ldTjxPEmEOYLzG|Sf1VxLygsD@~hapI$R|NHO4+HK&{~F;T84Ll(7zYsw z^`YCx|GY;=3lKRZ6y4`Uq!&+l#v(2o52cf)*-395L9-R-D5HX*5fe1!6PhFiTQ0{z zHPv2L3Q8s43F0)HuiDBZ&L=zFwXPaRA{FegRIiJpsWo1i@W)pj%6j$buj-xD<_2wE erE8SGU6nJ44_@2lMLA$*W4GE=1jWzVN1a~_FJis` literal 0 HcmV?d00001 diff --git a/django/conf/locale/fy_NL/LC_MESSAGES/djangojs.po b/django/conf/locale/fy_NL/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..f75ffaa26 --- /dev/null +++ b/django/conf/locale/fy_NL/LC_MESSAGES/djangojs.po @@ -0,0 +1,119 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-27 09:59-0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \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 "" + +#: 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 "" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "" + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "" + +#: contrib/admin/media/js/calendar.js:24 +#: contrib/admin/media/js/dateparse.js:32 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "" + +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +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:83 +msgid "Midnight" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "6 a.m." +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 +msgid "Noon" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:89 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 +msgid "Cancel" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:129 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:178 +msgid "Today" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +msgid "Calendar" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:176 +msgid "Yesterday" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 +msgid "Tomorrow" +msgstr "" diff --git a/django/conf/locale/fy_NL/__init__.py b/django/conf/locale/fy_NL/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/fy_NL/formats.py b/django/conf/locale/fy_NL/formats.py new file mode 100644 index 000000000..6d7178641 --- /dev/null +++ b/django/conf/locale/fy_NL/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +# DATE_FORMAT = +# TIME_FORMAT = +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +# MONTH_DAY_FORMAT = +# SHORT_DATE_FORMAT = +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +# DECIMAL_SEPARATOR = +# THOUSAND_SEPARATOR = +# NUMBER_GROUPING = diff --git a/django/conf/locale/ga/LC_MESSAGES/django.mo b/django/conf/locale/ga/LC_MESSAGES/django.mo index 6a289619db09b4155a939b47b90623f1c3705732..91a19f784edbbd41be8b5007dc4589ccd2f25d65 100644 GIT binary patch literal 78738 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

              `d-~JC^3iFjT`$; zZ?8+p^NqLnP-76uq+s)FXRPKxh1RgR&W#**IqS7A9Fh%)PpxCMpySyenXkhRH}fMI z6Bf>4st$WwSiG2+3CB9(YdWrmvZVULC$T7@`&dQ)O^2i)MDwdj&NL%458(ss0DY8G z;9E{f(vb?^x8f18(^~tkMV6p6VY888WJv%NzHPCYlBbrsXvg+{xvZWdrPaLK`+Jk7 z_%VppLszG~*G-DPL6%Bb_-f{VQiEHcA_fYdvEg23!PtjxY>=%laB8k+CUL1;Vi9BKeeGo1R@o+aTZC>wYBNLnbDl@xoE+4fgL8LY%G%0yx??v?ynX=UN4B; zVs5WgH7Y$}H>~hBp|Xr{xk;rtHa$s4a~2ot!y#}|n<>#?7@#O&SD$?A@`6=u1zTMb z-tAJ}aFmj28wJujAt&4@r0#KdGqRnO>*Qh-{+0@4app%qyM0Q-f1!si$B=Vep(6@$ z#gr2*{HD%@MCUoK$lv+ztlHfCEhh>pN?5es>%DU63b5@#YwsoO9FZQiXySK8JslsNdZ7%9)>=G!fGZp$` zdv$j^(Nh$vER}PTb)*>PoT-2jF0G(yjrXxl;S89&=m&t~-I)Y|#^tms6?D!fcXPYY#jht*pJNJA7+o0n!kTeg(pVp|^Nv1<3UBrX| z`>>$O$0W>@l=YLR)VRA@c}K9g74XJXMSM-z<@JVYy}eHfje@0Tl+E(euHB)sMu%D;sce zI~nt1Vrr6Rz=|z(q+VB2#{6pAC3w@>i8T(!)pYlkib=Db6vk7RQzGLgfXnMLA#to} zO8M5vPV_yPpphbu18u0?pPV4cc)))GIKpFpn8t7tyqwIBNfJh=XJWFXmGFsBLOB#@ zXdfQAc;plL8sMNJb-a*O(c-kr6OL}&RS(?}jJk4gpi!v#V6E=7=?q}@Iux{u>j6~-j2&st8fsgpIJS^C zd6F-5#yb~a0!AJn{#AkdIH{ndYz4YyXiF*>r*5tbVaS^O37aJ){pZ}Ua?qx~K1j;v z;u&Wa;(V0U&gZkFcAO8B+HpQjYRCCFsU2Uak(v@f-V#Z5D?_#i-7ch%l=6tTvyfOp zNe&NxORDQ^ZJoc*3Pb7^rX0ahct!DWclYm>SW2*xUpOv~Rl;J$UBb3E@OM2{bw~Y z72Jxa8+jI&o2YD{;AeP(f#Y0nf9NDRx>GeH;i~})1miYB>f6~on;xp|bYm&|-*8F> zo6|y08V~F*ViZ!@O&%^L$PdEa5J!mm3@QIF DLpCP+ diff --git a/django/conf/locale/ga/LC_MESSAGES/django.po b/django/conf/locale/ga/LC_MESSAGES/django.po index d05c3876a..ac3631c0f 100644 --- a/django/conf/locale/ga/LC_MESSAGES/django.po +++ b/django/conf/locale/ga/LC_MESSAGES/django.po @@ -1,213 +1,273 @@ -# +# This file is distributed under the same license as the Django package. +# msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-14 10:20+0100\n" -"PO-Revision-Date: 2008-08-14 14:46+0100\n" +"POT-Creation-Date: 2010-05-07 17:14+0100\n" +"PO-Revision-Date: 2010-05-07 17:33+0100\n" "Last-Translator: Michael Thornhill \n" -"Language-Team: Gaeilge \n" +"Language-Team: Irish \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 ? 0 : 1;" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? 3 : 4\n" #: conf/global_settings.py:44 msgid "Arabic" msgstr "Arabach" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "Beangáilis" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "Bulgárach" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Beangáilis" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Bosnian" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "Catalóinis" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "Seiceach" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "Breatnach" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "Dainmhairgis" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "Gearmánach" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "Gréigis" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "Béarla" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "Béarla na Breataine" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "Spáinneach" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "Eastóinis" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "Spáinnis Airgintín" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "Eastóinis" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "Bascais" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "Peirsis" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "Fionlainnis" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "Francach" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Frisian" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "Gaeilge" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "Gailísis" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "Ungáiris" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "Eabhrach" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 +msgid "Hindi" +msgstr "Hiondúis" + +#: conf/global_settings.py:68 msgid "Croatian" msgstr "Cróitis" -#: conf/global_settings.py:66 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Ungáiris" + +#: conf/global_settings.py:70 msgid "Icelandic" msgstr "Mórlainnis" -#: conf/global_settings.py:67 +#: conf/global_settings.py:71 msgid "Italian" msgstr "Iodáilis" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Japanese" msgstr "Seapáinis" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Georgian" msgstr "Seoirseach" -#: conf/global_settings.py:70 -msgid "Korean" -msgstr "Cóiréis" - -#: conf/global_settings.py:71 +#: conf/global_settings.py:74 msgid "Khmer" msgstr "Ciméiris" -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Kannada" msgstr "Cannadais" -#: conf/global_settings.py:73 -msgid "Latvian" -msgstr "Laitvis" +#: conf/global_settings.py:76 +msgid "Korean" +msgstr "Cóiréis" -#: conf/global_settings.py:74 +#: conf/global_settings.py:77 msgid "Lithuanian" msgstr "Liotuáinis" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 +msgid "Latvian" +msgstr "Laitvis" + +#: conf/global_settings.py:79 msgid "Macedonian" msgstr "Macadóinis" -#: conf/global_settings.py:76 +#: conf/global_settings.py:80 +msgid "Mongolian" +msgstr "Mongóilis" + +#: conf/global_settings.py:81 msgid "Dutch" msgstr "Ollannach" -#: conf/global_settings.py:77 +#: conf/global_settings.py:82 msgid "Norwegian" msgstr "Ioruais" -#: conf/global_settings.py:78 +#: conf/global_settings.py:83 +msgid "Norwegian Bokmal" +msgstr "Bokmal Ioruais" + +#: conf/global_settings.py:84 +msgid "Norwegian Nynorsk" +msgstr "Nynorsk Ioruais" + +#: conf/global_settings.py:85 msgid "Polish" -msgstr "snas" +msgstr "Polainnis" -#: conf/global_settings.py:79 -msgid "Portugese" -msgstr "Portaingéileach" +#: conf/global_settings.py:86 +msgid "Portuguese" +msgstr "Portaingéilis" -#: conf/global_settings.py:80 +#: conf/global_settings.py:87 msgid "Brazilian Portuguese" -msgstr "Brasaíleach" +msgstr "Portaingéilis Bhrasaíleach" -#: conf/global_settings.py:81 +#: conf/global_settings.py:88 msgid "Romanian" msgstr "Rómáinis" -#: conf/global_settings.py:82 +#: conf/global_settings.py:89 msgid "Russian" msgstr "Rúiseach" -#: conf/global_settings.py:83 +#: conf/global_settings.py:90 msgid "Slovak" msgstr "Slóvaicis" -#: conf/global_settings.py:84 +#: conf/global_settings.py:91 msgid "Slovenian" msgstr "Slóivéinis" -#: conf/global_settings.py:85 +#: conf/global_settings.py:92 +msgid "Albanian" +msgstr "Albanian" + +#: conf/global_settings.py:93 msgid "Serbian" msgstr "Seirbiach" -#: conf/global_settings.py:86 +#: conf/global_settings.py:94 +msgid "Serbian Latin" +msgstr "Laidin Seirbiach" + +#: conf/global_settings.py:95 msgid "Swedish" msgstr "Sualainnis" -#: conf/global_settings.py:87 +#: conf/global_settings.py:96 msgid "Tamil" msgstr "Tamailis" -#: conf/global_settings.py:88 +#: conf/global_settings.py:97 msgid "Telugu" msgstr "Teileagúis" -#: conf/global_settings.py:89 +#: conf/global_settings.py:98 +msgid "Thai" +msgstr "Tamailis" + +#: conf/global_settings.py:99 msgid "Turkish" msgstr "Tuircis" -#: conf/global_settings.py:90 +#: conf/global_settings.py:100 msgid "Ukrainian" msgstr "Úcráinis" -#: conf/global_settings.py:91 +#: conf/global_settings.py:101 +msgid "Vietnamese" +msgstr "Vitneaimis" + +#: conf/global_settings.py:102 msgid "Simplified Chinese" msgstr "Sínis" -#: conf/global_settings.py:92 +#: conf/global_settings.py:103 msgid "Traditional Chinese" msgstr "Sínis Tradisúinta" +#: contrib/admin/actions.py:48 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "D'éirigh le scriosadh %(count)d %(items)s." + +#: contrib/admin/actions.py:55 +#: contrib/admin/options.py:1125 +msgid "Are you sure?" +msgstr "An bhfuil tú cinnte?" + +#: contrib/admin/actions.py:73 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Scrios %(verbose_name_plural) roghnaithe" + #: contrib/admin/filterspecs.py:44 #, python-format msgid "" @@ -217,8 +277,10 @@ msgstr "" "

              Trí %s:

              \n" "
                \n" -#: contrib/admin/filterspecs.py:74 contrib/admin/filterspecs.py:92 -#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +#: contrib/admin/filterspecs.py:75 +#: contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 +#: contrib/admin/filterspecs.py:173 msgid "All" msgstr "Gach" @@ -242,21 +304,25 @@ msgstr "Táim cinnte" msgid "This year" msgstr "An blian seo" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:379 -#: oldforms/__init__.py:588 +#: contrib/admin/filterspecs.py:147 +#: forms/widgets.py:469 msgid "Yes" msgstr "Tá" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:379 -#: oldforms/__init__.py:588 +#: contrib/admin/filterspecs.py:147 +#: forms/widgets.py:469 msgid "No" msgstr "Níl" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:379 -#: oldforms/__init__.py:588 +#: contrib/admin/filterspecs.py:154 +#: forms/widgets.py:469 msgid "Unknown" msgstr "Gan aithne" +#: contrib/admin/helpers.py:20 +msgid "Action:" +msgstr "Aicsean:" + #: contrib/admin/models.py:19 msgid "action time" msgstr "am aicsean" @@ -285,166 +351,201 @@ msgstr "loga iontráil" msgid "log entries" msgstr "loga iontrálacha" -#: contrib/admin/options.py:143 contrib/admin/options.py:202 +#: contrib/admin/options.py:138 +#: contrib/admin/options.py:153 msgid "None" msgstr "Dada" -#: contrib/admin/options.py:407 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "Athraithe %s" -#: contrib/admin/options.py:407 contrib/admin/options.py:417 -#: core/validators.py:279 db/models/manipulators.py:305 +#: contrib/admin/options.py:559 +#: contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 +#: db/models/base.py:844 +#: forms/models.py:568 msgid "and" msgstr "agus" -#: contrib/admin/options.py:412 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Suimithe %(name)s \"%(object)s\"." -#: contrib/admin/options.py:416 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Athraithe %(list)s le %(name)s \"%(object)s\"." -#: contrib/admin/options.py:421 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Scriosaithe %(name)s \"%(object)s\"." -#: contrib/admin/options.py:425 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Dada réimse aithraithe" -#: contrib/admin/options.py:486 contrib/auth/admin.py:50 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "Bhí %(name)s \"%(obj)s\" breisithe go rathúil" -#: contrib/admin/options.py:490 contrib/admin/options.py:523 -#: contrib/auth/admin.py:55 +#: contrib/admin/options.py:647 +#: contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "Is féidir leat é a cuir in eagar thíos." -#: contrib/admin/options.py:500 contrib/admin/options.py:533 +#: contrib/admin/options.py:657 +#: contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "Is féidir le ceann eile %s a cuir le thíos." -#: contrib/admin/options.py:521 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "Bhí an %(name)s \"%(obj)s\" aithraithe to rathúil" -#: contrib/admin/options.py:529 +#: contrib/admin/options.py:686 #, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" -"Chuir an %(name)s·\"%(obj)s\"·go rathúil.·Is féidir leat é a cuir in eagar " -"thíos." +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "Chuir an %(name)s·\"%(obj)s\"·go rathúil.·Is féidir leat é a cuir in eagar thíos." -#: contrib/admin/options.py:596 +#: contrib/admin/options.py:740 +#: contrib/admin/options.py:997 +msgid "Items must be selected in order to perform actions on them. No items have been changed." +msgstr "Ní mór Míreanna a roghnú chun caingne a dhéanamh orthu. Níl aon mhíreanna a athrú." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Uimh gníomh roghnaithe." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Cuir %s le" -#: contrib/admin/options.py:673 +#: contrib/admin/options.py:866 +#: contrib/admin/options.py:1105 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "Níl réad le hainm %(name)s agus eochair %(key)r ann." + +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "Aithrigh %s" -#: contrib/admin/options.py:704 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Botún bunachar sonraí" -#: contrib/admin/options.py:753 +#: contrib/admin/options.py:1039 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "Bhí %(count)s %(name)s aithraithe go rathúil." +msgstr[1] "Bhí %(count)s %(name)s aithraithe to rathúil" +msgstr[2] "Bhí %(count)s %(name)s aithraithe to rathúil" +msgstr[3] "Bhí %(count)s %(name)s aithraithe to rathúil" +msgstr[4] "Bhí %(count)s %(name)s aithraithe to rathúil" + +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Gach %(total_count)s roghnaithe" +msgstr[1] "Gach %(total_count)s roghnaithe" +msgstr[2] "Gach %(total_count)s roghnaithe" +msgstr[3] "Gach %(total_count)s roghnaithe" +msgstr[4] "Gach %(total_count)s roghnaithe" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 as %(cnt)s roghnaithe." + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "Bhí %(name)s \"%(obj)s\" scrioste go rathúil." -#: contrib/admin/options.py:760 -msgid "Are you sure?" -msgstr "An bhfuil tú cinnte?" - -#: contrib/admin/options.py:787 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Athraigh stáir %s" -#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:16 -#: contrib/auth/forms.py:72 contrib/comments/views/comments.py:56 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" -"Le do thoil, iontráil aihm úsaideora agus focal faire ceart. Bí cúramach go " -"bhfuil an beirt acu cásíogair." +#: contrib/admin/sites.py:18 +#: contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "Please enter a correct username and password. Note that both fields are case-sensitive." +msgstr "Le do thoil, iontráil aihm úsaideora agus focal faire ceart. Bí cúramach go bhfuil an beirt acu cásíogair." -#: contrib/admin/sites.py:238 contrib/admin/views/decorators.py:68 -msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." -msgstr "" -"Le do thoil, logáil isteach arís cé go bhfuil to seisúin críochnaithe. Ná " -"bí imní ort, tá do iarratas sabháilte." +#: contrib/admin/sites.py:307 +#: contrib/admin/views/decorators.py:40 +msgid "Please log in again, because your session has expired." +msgstr "Le do thoil, logáil isteach arís cé go bhfuil to seisúin críochnaithe." -#: contrib/admin/sites.py:245 contrib/admin/views/decorators.py:75 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "" -"Feictear nach bhfuil do brabhsálaí réidh le cuaiche a glacadh. Le do thoil, " -"cumasaigh cuaiche, athlódáil an leathanach seo, agus déan iarracht arís." +#: contrib/admin/sites.py:314 +#: contrib/admin/views/decorators.py:47 +msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." +msgstr "Feictear nach bhfuil do brabhsálaí réidh le cuaiche a glacadh. Le do thoil, cumasaigh cuaiche, athlódáil an leathanach seo, agus déan iarracht arís." -#: contrib/admin/sites.py:259 contrib/admin/sites.py:265 -#: contrib/admin/views/decorators.py:92 +#: contrib/admin/sites.py:330 +#: contrib/admin/sites.py:336 +#: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Níl an carachtar '@' ceadaithe in ainmeacha úsaideora." -#: contrib/admin/sites.py:262 contrib/admin/views/decorators.py:88 +#: contrib/admin/sites.py:333 +#: contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Níl do ríomhseoladh do ainm úsaideora. Bain trial as '%s'." -#: contrib/admin/sites.py:330 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Riaracháin an suíomh" -#: contrib/admin/sites.py:352 contrib/admin/templates/admin/login.html:27 +#: contrib/admin/sites.py:403 +#: contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 -#: contrib/admin/views/decorators.py:30 +#: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Logáil isteach" -#: contrib/admin/util.py:126 +#: contrib/admin/sites.py:448 #, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Ceann amhain nó níos mó %(fieldname)s in %(name)s: %(obj)s" +msgid "%s administration" +msgstr "%s riaracháin" -#: contrib/admin/util.py:131 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Ceann amhain nó níos mó %(fieldname)s in %(name)s:" - -#: contrib/admin/widgets.py:65 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Dáta:" -#: contrib/admin/widgets.py:65 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Am:" -#: contrib/admin/widgets.py:89 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Ag an am seo." -#: contrib/admin/widgets.py:89 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Athraigh:" +#: contrib/admin/widgets.py:129 +msgid "Lookup" +msgstr "Cuardach" + +#: contrib/admin/widgets.py:244 +msgid "Add Another" +msgstr "Cuir le" + #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 msgid "Page not found" @@ -455,16 +556,18 @@ msgid "We're sorry, but the requested page could not be found." msgstr "Tá brón orainn, ach ní bhfuarthas an leathanach iarraite." #: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/base.html:30 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:8 +#: contrib/admin/templates/admin/app_index.html:8 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_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:10 +#: contrib/admin/templates/admin/object_history.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -486,36 +589,58 @@ msgid "Server Error (500)" msgstr "Botún Freastalaí (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 "" -"Bhí botún. Seolah é go dtí riarthóirí an suíomh agus beidh sé ceartaithe i " -"gceann tamallín. Go raibh maith agat le hadhaigh do foighne." +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 "Bhí botún. Seolah é go dtí riarthóirí an suíomh agus beidh sé ceartaithe i gceann tamallín. Go raibh maith agat le hadhaigh do foighne." -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "Rith an gníomh roghnaithe" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "Té" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Cliceáil anseo chun na hobiacht go léir a roghnú ar fud gach leathanach" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Roghnaigh gach %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Scroiseadh modhnóir" + +#: contrib/admin/templates/admin/app_index.html:10 +#: contrib/admin/templates/admin/index.html:19 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Fáilte" -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Doiciméadúchán" -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/auth/user/change_password.html:13 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Athraigh focal faire" -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/comments/templates/comments/form.html:6 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Logáil amach" @@ -527,65 +652,78 @@ msgstr "Riarthóir suíomh Django" msgid "Django administration" msgstr "Riarachán Django" -#: contrib/admin/templates/admin/change_form.html:19 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Cuir le" -#: contrib/admin/templates/admin/change_form.html:26 -#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:28 +#: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Stair" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Breath ar suíomh" -#: contrib/admin/templates/admin/change_form.html:37 -#: contrib/admin/templates/admin/auth/user/change_password.html:22 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Le do thoil ceartaigh an botún thíos." msgstr[1] "Le do thoil ceartaigh na botúin thíos." +msgstr[2] "Le do thoil ceartaigh na botúin thíos." +msgstr[3] "Le do thoil ceartaigh na botúin thíos." +msgstr[4] "Le do thoil ceartaigh na botúin thíos." -#: contrib/admin/templates/admin/change_list.html:16 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Cuir %(name)s le" -#: contrib/admin/templates/admin/change_list.html:26 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Scagaire" -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -#: contrib/admin/templates/admin/edit_inline/tabular.html:15 +#: contrib/admin/templates/admin/delete_confirmation.html:10 +#: contrib/admin/templates/admin/submit_line.html:4 +#: forms/formsets.py:302 msgid "Delete" msgstr "Cealaigh" -#: contrib/admin/templates/admin/delete_confirmation.html:15 +#: contrib/admin/templates/admin/delete_confirmation.html:16 #, 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 "" -"Má scriossan tú %(object_name)s '%(escaped_object)s' scriosfaidh oibiachtí " -"gaolta. Ach níl cead ag do cuntas na oibiacht a leanúint a scriosadh:" +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 "Má scriossan tú %(object_name)s '%(escaped_object)s' scriosfaidh oibiachtí gaolta. Ach níl cead ag do cuntas na oibiacht a leanúint a scriosadh:" -#: contrib/admin/templates/admin/delete_confirmation.html:22 +#: contrib/admin/templates/admin/delete_confirmation.html:23 #, 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 "" -"An bhfuil tú cinnte na %(object_name)s \"%(escaped_object)s\" a scroiseadh?" -"Beidh gach oibiacht a leanúint scroiste freisin:" +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 "An bhfuil tú cinnte na %(object_name)s \"%(escaped_object)s\" a scroiseadh?Beidh gach oibiacht a leanúint scroiste freisin:" -#: contrib/admin/templates/admin/delete_confirmation.html:27 +#: contrib/admin/templates/admin/delete_confirmation.html:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 msgid "Yes, I'm sure" msgstr "Táim cinnte" +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "Scrios na réadanna" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format +msgid "Deleting the %(object_name)s would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" +msgstr "Má scriossan tú %(object_name)s scriosfaidh oibiachtí gaolta. Ach níl cead ag do cuntas na oibiacht a leanúint a scriosadh:" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:22 +#, python-format +msgid "Are you sure you want to delete the selected %(object_name)s objects? All of the following objects and their related items will be deleted:" +msgstr "An bhfuil tú cinnte na %(object_name)s a scroiseadh? Beidh gach oibiacht a leanúint agus na oibiachta gaolta scroiste freisin:" + #: contrib/admin/templates/admin/filter.html:2 #, python-format msgid " By %(filter_title)s " @@ -596,11 +734,6 @@ msgstr " Trí %(filter_title)s " msgid "Models available in the %(name)s application." msgstr "Samhla ar fáil ins an feidhmchlár %(name)s." -#: contrib/admin/templates/admin/index.html:19 -#, python-format -msgid "%(name)s" -msgstr "%(name)s" - #: contrib/admin/templates/admin/index.html:35 msgid "Change" msgstr "Athraigh" @@ -621,123 +754,120 @@ msgstr "Mo Aicseain" msgid "None available" msgstr "Dada ar fáil" +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "Inneachair anaithnid" + #: 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 "" -"Tá rud éigin mícheart le suitéail do bunachar sonraí. Déan cinnte go bhfuil " -"boird an bunachar sonraI cruthaithe cheana, agus déan cinnte go bhfuil do " -"úsaideoir in ann an bunacchar sonraí a léamh." +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 "Tá rud éigin mícheart le suitéail do bunachar sonraí. Déan cinnte go bhfuil boird an bunachar sonraI cruthaithe cheana, agus déan cinnte go bhfuil do úsaideoir in ann an bunacchar sonraí a léamh." #: contrib/admin/templates/admin/login.html:19 -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 msgid "Username:" msgstr "Ainm úsaideor:" #: contrib/admin/templates/admin/login.html:22 -#: contrib/comments/templates/comments/form.html:8 msgid "Password:" msgstr "Focal faire:" -#: contrib/admin/templates/admin/object_history.html:16 +#: contrib/admin/templates/admin/object_history.html:22 msgid "Date/time" msgstr "Dáta/am" -#: contrib/admin/templates/admin/object_history.html:17 +#: contrib/admin/templates/admin/object_history.html:23 msgid "User" msgstr "Úsaideoir" -#: contrib/admin/templates/admin/object_history.html:18 +#: contrib/admin/templates/admin/object_history.html:24 msgid "Action" msgstr "Aicsean" -#: contrib/admin/templates/admin/object_history.html:24 -msgid "DATE_WITH_TIME_FULL" -msgstr "DATE_WITH_TIME_FULL" - -#: contrib/admin/templates/admin/object_history.html:32 -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Níl stáir aitraithe ag an oibiacht seo agús is dócha ná cuir le tríd an an " -"suíomh riarachán." +#: contrib/admin/templates/admin/object_history.html:38 +msgid "This object doesn't have a change history. It probably wasn't added via this admin site." +msgstr "Níl stáir aitraithe ag an oibiacht seo agús is dócha ná cuir le tríd an an suíomh riarachán." #: contrib/admin/templates/admin/pagination.html:10 msgid "Show all" msgstr "Taispéan gach rud" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Sábháil" + #: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Té" +msgid "Search" +msgstr "Cuardach" #: contrib/admin/templates/admin/search_form.html:10 #, python-format msgid "1 result" msgid_plural "%(counter)s results" msgstr[0] "toradh 1" -msgstr[1] "1 toradh" +msgstr[1] "%(counter)s torthaí" +msgstr[2] "%(counter)s torthaí" +msgstr[3] "%(counter)s torthaí" +msgstr[4] "%(counter)s torthaí" #: contrib/admin/templates/admin/search_form.html:10 #, python-format msgid "%(full_result_count)s total" msgstr "%(full_result_count)s iomlán" -#: contrib/admin/templates/admin/submit_line.html:4 +#: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "Sabháil mar nua" -#: contrib/admin/templates/admin/submit_line.html:5 +#: contrib/admin/templates/admin/submit_line.html:6 msgid "Save and add another" msgstr "Sabháil agus cuir le ceann eile" -#: contrib/admin/templates/admin/submit_line.html:6 +#: contrib/admin/templates/admin/submit_line.html:7 msgid "Save and continue editing" msgstr "Sábhail agus lean ag cuir in eagar" -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "Sábháil" +#: contrib/admin/templates/admin/auth/user/add_form.html:5 +msgid "First, enter a username and password. Then, you'll be able to edit more user options." +msgstr "Ar dtús, iontráil ainm úsaideoir agus focal faire. Ansin, beidh tú in ann cuir in eagar níos mó roghaí úsaideoira." -#: 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 "" -"Ar dtús, iontráil ainm úsaideoir agus focal faire. Ansin, beidh tú in ann " -"cuir in eagar níos mó roghaí úsaideoira." +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Iontráil focal faire nua le hadhaigh an úsaideor %(username)s." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:51 -msgid "Username" -msgstr "Ainm úsaideoir" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:33 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:52 contrib/auth/forms.py:176 +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 +#: contrib/auth/forms.py:61 +#: contrib/auth/forms.py:186 msgid "Password" msgstr "Focal faire" -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:39 -#: contrib/auth/forms.py:177 +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 msgid "Password (again)" msgstr "Focal faire (arís)" -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 msgid "Enter the same password as above, for verification." msgstr "Iontráíl an focal faire céanna mar thuas, le fíorúchán." -#: contrib/admin/templates/admin/auth/user/change_password.html:26 +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 #, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Iontráil focal faire nua le hadhaigh an úsaideor %(username)s." +msgid "Add another %(verbose_name)s" +msgstr "Cuir eile %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Tóg amach" + +#: contrib/admin/templates/admin/edit_inline/tabular.html:15 +msgid "Delete?" +msgstr "Cealaigh?" #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." @@ -748,9 +878,9 @@ msgid "Log in again" msgstr "Logáil isteacj arí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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Athrú focal faire" @@ -763,30 +893,21 @@ msgstr "Athrú an focal faire rathúil" msgid "Your password was changed." msgstr "Bhí do focal faire aithraithe." -#: 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 "" -"Le do thoil, iontráil do sean-focal faire, ar son slándáil, agus ansin " -"iontráil do focal faire dhá uaire cé go mbeimid in ann a seiceal go bhfuil " -"sé scríobhte isteach i gceart." - -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Sean-focal faire" - -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Focal faire nua:" - #: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Deimhnigh focal faire:" +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 "Le do thoil, iontráil do sean-focal faire, ar son slándáil, agus ansin iontráil do focal faire dhá uaire cé go mbeimid in ann a seiceal go bhfuil sé scríobhte isteach i gceart." -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Sean-focal faire " + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Focal faire nua" + +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Athraigh mo focal faire" @@ -818,24 +939,24 @@ msgid "Enter new password" msgstr "Cuir isteach focal faire nua" #: contrib/admin/templates/registration/password_reset_confirm.html:14 -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Le do thoil, iontráil do focal faire dhá uaire cé go mbeimid in ann a " -"seiceal go bhfuil sé scríobhte isteach i gceart." +msgid "Please enter your new password twice so we can verify you typed it in correctly." +msgstr "Le do thoil, iontráil do focal faire dhá uaire cé go mbeimid in ann a seiceal go bhfuil sé scríobhte isteach i gceart." + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Focal faire nua:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Deimhnigh focal faire:" #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Athshocraigh focal faire mí-rathúil" #: contrib/admin/templates/registration/password_reset_confirm.html:28 -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Bhí nasc athshocraigh an focal faire mícheart, b'fheidir mar go raibh sé " -"úsaidte cheana. Le do thoil, iarr ar athsocraigh focal faire nua." +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "Bhí nasc athshocraigh an focal faire mícheart, b'fheidir mar go raibh sé úsaidte cheana. Le do thoil, iarr ar athsocraigh focal faire nua." #: contrib/admin/templates/registration/password_reset_done.html:6 #: contrib/admin/templates/registration/password_reset_done.html:10 @@ -843,17 +964,12 @@ msgid "Password reset successful" msgstr "Athshocraigh focal faire mí-rathúil" #: contrib/admin/templates/registration/password_reset_done.html:12 -msgid "" -"We've e-mailed you instructions for setting your password to the e-mail " -"address you submitted. You should be receiving it shortly." -msgstr "" -"Seolamar teagasca chugat le hadhaigh do r-phost a úsaid mar to focal faire. " -"Gheobaidh tú an r-phost i gceann tamallín." +msgid "We've e-mailed you instructions for setting your password to the e-mail address you submitted. You should be receiving it shortly." +msgstr "Seolamar teagasca chugat le hadhaigh do r-phost a úsaid mar to focal faire. Gheobaidh tú an r-phost i gceann tamallín." #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" -msgstr "" -"Tá tú ag fáil an r-phost seo mar iarr tú ar athshocraigh an focal faire." +msgstr "Tá tú ag fáil an r-phost seo mar iarr tú ar athshocraigh an focal faire." #: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format @@ -862,9 +978,7 @@ msgstr "Le do cuntas úsaideor ar %(site_name)s" #: contrib/admin/templates/registration/password_reset_email.html:5 msgid "Please go to the following page and choose a new password:" -msgstr "" -"Le do thoil té go dtí an leathanach a leanúint agus roghmaigh focal faire " -"nua:" +msgstr "Le do thoil té go dtí an leathanach a leanúint agus roghmaigh focal faire nua:" #: contrib/admin/templates/registration/password_reset_email.html:9 msgid "Your username, in case you've forgotten:" @@ -880,12 +994,8 @@ msgid "The %(site_name)s team" msgstr "Foireann an %(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 e-mail " -"instructions for setting a new one." -msgstr "" -"Dearmad déanta ar do focal faire? Iontráil do r-phost thíos agus seolfaimid " -"teagasca chun ceann nua a fháil." +msgid "Forgotten your password? Enter your e-mail address below, and we'll e-mail instructions for setting a new one." +msgstr "Dearmad déanta ar do focal faire? Iontráil do r-phost thíos agus seolfaimid teagasca chun ceann nua a fháil." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -895,7 +1005,7 @@ msgstr "R-phost:" msgid "Reset my password" msgstr "Athsocraigh mo focal faire" -#: contrib/admin/templatetags/admin_list.py:257 +#: contrib/admin/templatetags/admin_list.py:239 msgid "All dates" msgstr "Gach dáta" @@ -909,151 +1019,81 @@ msgstr "Roghnaigh %s" msgid "Select %s to change" msgstr "Roghnaigh %s a athrú" -#: contrib/admin/views/template.py:36 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 +#: contrib/sites/models.py:38 msgid "site" msgstr "suíomh" -#: contrib/admin/views/template.py:38 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "teimpléad" -#: contrib/admindocs/views.py:53 contrib/admindocs/views.py:55 -#: contrib/admindocs/views.py:57 +#: contrib/admindocs/views.py:61 +#: contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "clib:" -#: contrib/admindocs/views.py:87 contrib/admindocs/views.py:89 -#: contrib/admindocs/views.py:91 +#: contrib/admindocs/views.py:94 +#: contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "scag:" -#: contrib/admindocs/views.py:153 contrib/admindocs/views.py:155 -#: contrib/admindocs/views.py:157 +#: contrib/admindocs/views.py:158 +#: contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "radharc:" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "Ní bhfuarthas feidhmchlár %r " -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "Ní bhfuarthas samhail %(model_name)r i bhfeidhmclár %(app_label)r" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "An oibiacht gaolmhara `%(app_label)s.%(data_type)s`" -#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:228 -#: contrib/admindocs/views.py:242 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:209 +#: contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 +#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 +#: contrib/admindocs/views.py:266 msgid "model:" msgstr "samhail:" -#: contrib/admindocs/views.py:237 +#: contrib/admindocs/views.py:224 +#: contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "Oibiachtí gaolmhara `%(app_label)s.%(object_name)s`" -#: contrib/admindocs/views.py:242 +#: contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "gach %s" -#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:233 +#: contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "líon %s" -#: contrib/admindocs/views.py:253 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "Réimse ar oibiachtí %s" -#: contrib/admindocs/views.py:317 contrib/admindocs/views.py:328 -#: contrib/admindocs/views.py:330 contrib/admindocs/views.py:336 -#: contrib/admindocs/views.py:337 contrib/admindocs/views.py:339 -msgid "Integer" -msgstr "Slánuimhir" - -#: contrib/admindocs/views.py:318 -msgid "Boolean (Either True or False)" -msgstr "Boole" - -#: contrib/admindocs/views.py:319 contrib/admindocs/views.py:338 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Teaghrán (suas go %(max_length)s)" - -#: contrib/admindocs/views.py:320 -msgid "Comma-separated integers" -msgstr "Slánuimhireacha camóg-scartha" - -#: contrib/admindocs/views.py:321 -msgid "Date (without time)" -msgstr "Dáta (gan am)" - -#: contrib/admindocs/views.py:322 -msgid "Date (with time)" -msgstr "Dáta (le am)" - -#: contrib/admindocs/views.py:323 -msgid "Decimal number" -msgstr "Uimhir deachúlach" - -#: contrib/admindocs/views.py:324 -msgid "E-mail address" -msgstr "R-phost" - -#: contrib/admindocs/views.py:325 contrib/admindocs/views.py:326 -#: contrib/admindocs/views.py:329 -msgid "File path" -msgstr "Conair comhaid" - -#: contrib/admindocs/views.py:327 -msgid "Floating point number" -msgstr "Snámhphointe" - -#: contrib/admindocs/views.py:331 contrib/comments/models.py:89 -msgid "IP address" -msgstr "Seol IP" - -#: contrib/admindocs/views.py:333 -msgid "Boolean (Either True, False or None)" -msgstr "Boole (Fíor, Bréagach nó Dada)" - -#: contrib/admindocs/views.py:334 -msgid "Relation to parent model" -msgstr "Cine do samhail máthair" - -#: contrib/admindocs/views.py:335 -msgid "Phone number" -msgstr "Uimhir telefón" - -#: contrib/admindocs/views.py:340 -msgid "Text" -msgstr "téacs" - -#: contrib/admindocs/views.py:341 -msgid "Time" -msgstr "am" - -#: contrib/admindocs/views.py:342 contrib/flatpages/admin.py:8 -#: contrib/flatpages/models.py:8 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:343 -msgid "U.S. state (two uppercase letters)" -msgstr "U.S. stát (dhá litreacha móra)" - -#: contrib/admindocs/views.py:344 -msgid "XML text" -msgstr "Téacs XML" - -#: contrib/admindocs/views.py:370 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "Feiceann sé nach bhfuil %s oibiacht urlpattern" @@ -1077,32 +1117,26 @@ msgid "" "your computer is \"internal\").

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

                Chun leabharmarcín a suitéal, Tarraing an nasc go dtí do barra uirlisí leabhairmairc\n, nó deaschliceáil and nasc agus cuir leis do leabharmairc. Anois is féidir\n" -"leat an leabharmarcín a roghnaigh ón aon leathanach ar an suíomh. Bí cúramach go dteastaíonn cuid de na leabharmarcín go bhfuil tú ag féachaint ar an suíomh ó ríomhaire inmheánach\n(leabhar le do riarthóir córais muna bhfuil tú cinnte).

                \n" +"

                Chun leabharmarcín a suitéal, Tarraing an nasc go dtí do barra uirlisí leabhairmairc\n" +", nó deaschliceáil and nasc agus cuir leis do leabharmairc. Anois is féidir\n" +"leat an leabharmarcín a roghnaigh ón aon leathanach ar an suíomh. Bí cúramach go dteastaíonn cuid de na leabharmarcín go bhfuil tú ag féachaint ar an suíomh ó ríomhaire inmheánach\n" +"(leabhar le do riarthóir córais muna bhfuil tú cinnte).

                \n" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 msgid "Documentation for this page" msgstr "Doiciméadúchán le hadhaigh an leathanach seo" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 -msgid "" -"Jumps you from any page to the documentation for the view that generates " -"that page." -msgstr "" -"Tógann se tusa ón aon leathanach go dtí an doiciméadúchán le hadhaigh an " -"radharc a rinne an leathanach." +msgid "Jumps you from any page to the documentation for the view that generates that page." +msgstr "Tógann se tusa ón aon leathanach go dtí an doiciméadúchán le hadhaigh an radharc a rinne an leathanach." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 msgid "Show object ID" msgstr "Taispéain oibiacht ID" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "" -"Taispéain an content-type agus ID uathúil le leathanaigh le hadhaigh " -"oibiacht amháin." +msgid "Shows the content-type and unique ID for pages that represent a single object." +msgstr "Taispéain an content-type agus ID uathúil le leathanaigh le hadhaigh oibiacht amháin." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 msgid "Edit this object (current window)" @@ -1110,9 +1144,7 @@ msgstr "Cuir in eagar an oibiacht seo (fuinneog láthair)" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "" -"Léimeann go dtí an leathanach riaracháin le leathainaigh le hadhaigh " -"oibiacht amháin." +msgstr "Léimeann go dtí an leathanach riaracháin le leathainaigh le hadhaigh oibiacht amháin." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 msgid "Edit this object (new window)" @@ -1122,292 +1154,374 @@ msgstr "Cuir in eagar an oibiacht seo (fuinneog nua)" msgid "As above, but opens the admin page in a new window." msgstr "Mar thuas, ach osclaíonn sé an leathanach riarachán if fuinneog nua" -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Eolas pearsantach" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Ceada" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Dáta tábhactach" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Grúpa" -#: contrib/auth/admin.py:60 -msgid "Add user" -msgstr "Cuir úsaideoir le" - -#: contrib/auth/admin.py:85 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Focal faire aithraithe rathúil" -#: contrib/auth/admin.py:91 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Athraigh focal faire: %s" -#: contrib/auth/forms.py:15 contrib/auth/models.py:137 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "Riachtanach. 30 carachtair nó níos lú. Alfa-uimhriúil amhain (litreacha, digite agus fostríce)." +#: contrib/auth/forms.py:14 +#: contrib/auth/forms.py:48 +#: contrib/auth/forms.py:60 +msgid "Username" +msgstr "Ainm úsaideoir" -#: contrib/auth/forms.py:16 core/validators.py:72 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Cathaigh litreacha, digite agus fostríce amhain le hadhaigh an méid seo." +#: contrib/auth/forms.py:15 +#: contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Riachtanach. 30 carachtair nó níos lú. Litreacha, digite agus @/./+/-/_ amháin." + +#: contrib/auth/forms.py:16 +#: contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Cathaigh litreacha, digite agus na carachtair @/./+/-/_ amhain le hadhaigh an méid seo." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Focal faire deimhniú" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "In ann do úsáideoir leis an ainm úsáideora." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:146 -#: contrib/auth/forms.py:188 +#: contrib/auth/forms.py:37 +#: contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Níl an dá focla faire comhoiriúnigh" -#: contrib/auth/forms.py:74 contrib/comments/views/comments.py:58 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Tá an cuntas seo neamhghníomhach." -#: contrib/auth/forms.py:79 contrib/comments/views/comments.py:49 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" -"" -"Feictear nach bhfuil do brabhsálaí réidh le cuaiche a glacadh. Tá cuaiche ag teastail le logáil isteach." +#: contrib/auth/forms.py:88 +msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." +msgstr "Feictear nach bhfuil do brabhsálaí réidh le cuaiche a glacadh. Tá cuaiche ag teastail le logáil isteach." -#: contrib/auth/forms.py:92 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "R-phost" -#: contrib/auth/forms.py:101 -msgid "" -"That e-mail address doesn't have an associated user account. Are you sure " -"you've registered?" -msgstr "" -"Níl cuntas in éineacht leis an r-phost sin. An bhfuil tú cinnte go bhfuil tú cláraithe?" +#: contrib/auth/forms.py:110 +msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" +msgstr "Níl cuntas in éineacht leis an r-phost sin. An bhfuil tú cinnte go bhfuil tú cláraithe?" -#: contrib/auth/forms.py:126 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Athsocraigh focal faire ar %s" -#: contrib/auth/forms.py:134 -msgid "New password" -msgstr "Focal faire nua" - -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Deimnhiú focal faire nua" -#: contrib/auth/forms.py:160 -msgid "Old password" -msgstr "Sean-focal faire " - -#: contrib/auth/forms.py:168 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Cuireadh do sean-focal faire isteach go mícheart. Iontráil isteach é arís." -#: contrib/auth/models.py:73 contrib/auth/models.py:96 +#: contrib/auth/models.py:66 +#: contrib/auth/models.py:94 msgid "name" msgstr "ainm" -#: contrib/auth/models.py:75 +#: contrib/auth/models.py:68 msgid "codename" msgstr "Ainm cód" -#: contrib/auth/models.py:78 +#: contrib/auth/models.py:72 msgid "permission" msgstr "cead" -#: contrib/auth/models.py:79 contrib/auth/models.py:97 +#: contrib/auth/models.py:73 +#: contrib/auth/models.py:95 msgid "permissions" msgstr "ceada" -#: contrib/auth/models.py:100 +#: contrib/auth/models.py:98 msgid "group" msgstr "grúpa" -#: contrib/auth/models.py:101 contrib/auth/models.py:147 +#: contrib/auth/models.py:99 +#: contrib/auth/models.py:206 msgid "groups" msgstr "grúpa" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:196 msgid "username" msgstr "Ainm úsáideoir" -#: contrib/auth/models.py:138 +#: contrib/auth/models.py:196 +msgid "Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "Riachtanach. 30 carachtair nó níos lú. Litreacha, digite agus na carachtair @/./+/-/_" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "ainm baiste" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:198 msgid "last name" msgstr "sloinne" -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "seoladh r-phost" -#: contrib/auth/models.py:141 +#: contrib/auth/models.py:200 msgid "password" msgstr "focal faire" -#: contrib/auth/models.py:141 -msgid "" -"Use '[algo]$[salt]$[hexdigest]' or use the change " -"password form." -msgstr "" -"Úsáid '[algo]$[salt]$[hexdigest]' nó athraigh focal faire foirm." +#: contrib/auth/models.py:200 +msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." +msgstr "Úsáid '[algo]$[salt]$[hexdigest]' nó athraigh focal faire foirm." -#: contrib/auth/models.py:142 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "stádas foirne" -#: contrib/auth/models.py:142 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "Sainigh an bhfuil cead ag an úsáideoir logáil isteach go dtí an suíomh riaracháin seo." -#: contrib/auth/models.py:143 +#: contrib/auth/models.py:202 msgid "active" msgstr "gníomhach" -#: contrib/auth/models.py:143 -msgid "" -"Designates whether this user should be treated as active. Unselect this " -"instead of deleting accounts." +#: contrib/auth/models.py:202 +msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts." msgstr "Sainíonn an bhfuil an úsáideoir gníomhach. Míroghnaigh seo in aineonn de scriseadh cuntasí." -#: contrib/auth/models.py:144 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "stádas forúsáideoir" -#: contrib/auth/models.py:144 -msgid "" -"Designates that this user has all permissions without explicitly assigning " -"them." +#: contrib/auth/models.py:203 +msgid "Designates that this user has all permissions without explicitly assigning them." msgstr "Sainíonn go bhfuil gach ceada ag an úsáideoir seo gan iad a cur le go díreach." -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:204 msgid "last login" msgstr "logáil deirneach" -#: contrib/auth/models.py:146 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "Dáta teacht isteach" -#: contrib/auth/models.py:148 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." +#: contrib/auth/models.py:207 +msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." msgstr "Breis leis na ceada sannta láimhe, faigheann an úsáideoir seo gach ceada sannta do na grúpaí a bhfuil sé/sí isteach in." -#: contrib/auth/models.py:149 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "ceada úsáideoira" -#: contrib/auth/models.py:153 +#: contrib/auth/models.py:212 +#: contrib/comments/models.py:50 +#: contrib/comments/models.py:168 msgid "user" msgstr "úsáideoir" -#: contrib/auth/models.py:154 +#: contrib/auth/models.py:213 msgid "users" msgstr "úsáideora" -#: contrib/auth/models.py:309 +#: contrib/auth/models.py:394 msgid "message" msgstr "teachtaireacht" -#: contrib/auth/views.py:52 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Logáilte amach" -#: contrib/comments/models.py:71 contrib/comments/models.py:164 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 +#: forms/fields.py:428 +msgid "Enter a valid e-mail address." +msgstr "Cuir isteach seoladh ríomhphoist bhailí." + +#: contrib/comments/admin.py:12 +msgid "Content" +msgstr "Inneachar" + +#: contrib/comments/admin.py:15 +msgid "Metadata" +msgstr "Meiteashonraí" + +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "bratach curtha leis" +msgstr[1] "bratach curtha leis" +msgstr[2] "bratach curtha leis" +msgstr[3] "bratach curtha leis" +msgstr[4] "bratach curtha leis" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Bratach nótaí tráchta roghnaithe" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "ceadaithe" +msgstr[1] "ceadaithe" +msgstr[2] "ceadaithe" +msgstr[3] "ceadaithe" +msgstr[4] "ceadaithe" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Cheadú nótaí tráchta roghnaithe" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "baineadh" +msgstr[1] "baineadh" +msgstr[2] "baineadh" +msgstr[3] "baineadh" +msgstr[4] "baineadh" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Bain nótaí tráchta roghnaithe" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "bhí nóta tráchta %(action)s go rathúil." +msgstr[1] "nótaí tráchta %(count)s a bhí sásúil %(action)s." +msgstr[2] "nótaí tráchta %(count)s a bhí sásúil %(action)s." +msgstr[3] "nótaí tráchta %(count)s a bhí sásúil %(action)s." +msgstr[4] "nótaí tráchta %(count)s a bhí sásúil %(action)s." + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "%(site_name)s nótaí" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "Nótaí tráchtaí is déanaí ar %(site_name)s" + +#: contrib/comments/forms.py:93 +msgid "Name" +msgstr "Ainm" + +#: contrib/comments/forms.py:94 +msgid "Email address" +msgstr "R-phost" + +#: contrib/comments/forms.py:95 +#: contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 +#: db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + +#: contrib/comments/forms.py:96 +msgid "Comment" +msgstr "Nóta tráchta" + +#: contrib/comments/forms.py:175 +#, 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] "Féach ar do bhéal! Níl an focal %s ceadaithe anseo." +msgstr[1] "Féach ar do bhéal! Níl na focail %s ceadaithe anseo." +msgstr[2] "Féach ar do bhéal! Níl na focail %s ceadaithe anseo." +msgstr[3] "Féach ar do bhéal! Níl na focail %s ceadaithe anseo." +msgstr[4] "Féach ar do bhéal! Níl na focail %s ceadaithe anseo." + +#: contrib/comments/forms.py:182 +msgid "If you enter anything in this field your comment will be treated as spam" +msgstr "Má cuireann tú aon rud sa réimse seo, beidh do nóta déileálfar mar spam" + +#: contrib/comments/models.py:22 +#: contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "tíopa inneachar " + +#: contrib/comments/models.py:24 msgid "object ID" msgstr "oibiacht ID" -#: contrib/comments/models.py:72 -msgid "headline" -msgstr "ceannlíne" +#: contrib/comments/models.py:52 +msgid "user's name" +msgstr "Ainm úsáideoir" -#: contrib/comments/models.py:73 contrib/comments/models.py:95 -#: contrib/comments/models.py:165 +#: contrib/comments/models.py:53 +msgid "user's email address" +msgstr "seoladh r-phost an t-úsáideoir" + +#: contrib/comments/models.py:54 +msgid "user's URL" +msgstr "URL an t-úsáideora" + +#: contrib/comments/models.py:56 +#: contrib/comments/models.py:76 +#: contrib/comments/models.py:169 msgid "comment" msgstr "trácht" -#: contrib/comments/models.py:74 -msgid "rating #1" -msgstr "rátáil #1" - -#: contrib/comments/models.py:75 -msgid "rating #2" -msgstr "rátáil #2" - -#: contrib/comments/models.py:76 -msgid "rating #3" -msgstr "rátáil #3" - -#: contrib/comments/models.py:77 -msgid "rating #4" -msgstr "rátáil #4" - -#: contrib/comments/models.py:78 -msgid "rating #5" -msgstr "rátáil #5" - -#: contrib/comments/models.py:79 -msgid "rating #6" -msgstr "rátáil #6" - -#: contrib/comments/models.py:80 -msgid "rating #7" -msgstr "rátáil #7" - -#: contrib/comments/models.py:81 -msgid "rating #8" -msgstr "rátáil #8" - -#: contrib/comments/models.py:86 -msgid "is valid rating" -msgstr "is rátáil bailí" - -#: contrib/comments/models.py:87 contrib/comments/models.py:167 +#: contrib/comments/models.py:59 msgid "date/time submitted" msgstr "Dáta/am curtha isteach" -#: contrib/comments/models.py:88 contrib/comments/models.py:168 +#: contrib/comments/models.py:60 +#: db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "Seol IP" + +#: contrib/comments/models.py:61 msgid "is public" msgstr "poiblí" -#: contrib/comments/models.py:90 +#: contrib/comments/models.py:62 +msgid "Uncheck this box to make the comment effectively disappear from the site." +msgstr "Díthiceáil an bosca seo chun an nóta a thógáil as an suíomh." + +#: contrib/comments/models.py:64 msgid "is removed" msgstr "Scrioste" -#: contrib/comments/models.py:90 -msgid "" -"Check this box if the comment is inappropriate. A \"This comment has been " -"removed\" message will be displayed instead." -msgstr "" -"Seic an bosca seo dá bbéadh an nóta tráchta seo míchuí. Taispeantar \"Bhí an nóta tráchta scrioste\" in áit an nóta tráchta seo." +#: contrib/comments/models.py:65 +msgid "Check this box if the comment is inappropriate. A \"This comment has been removed\" message will be displayed instead." +msgstr "Seic an bosca seo dá bbéadh an nóta tráchta seo míchuí. Taispeantar \"Bhí an nóta tráchta scrioste\" in áit an nóta tráchta seo." -#: contrib/comments/models.py:96 +#: contrib/comments/models.py:77 msgid "comments" msgstr "nótaí tráchta" -#: contrib/comments/models.py:128 contrib/comments/models.py:199 -msgid "Content object" -msgstr "Oibiacht inneachar" +#: contrib/comments/models.py:119 +msgid "This comment was posted by an authenticated user and thus the name is read-only." +msgstr "Bhí an nóta tráchta póstailte trí uaire trí úsáideoir fíordheimhnithe mar sin tá an ainm léamh-amhain." -#: contrib/comments/models.py:156 +#: contrib/comments/models.py:128 +msgid "This comment was posted by an authenticated user and thus the email is read-only." +msgstr "Bhí an nóta tráchta póstailte trí úsáideoir fíordeimhnite mar sin tá an r-phost léamh amháin." + +#: contrib/comments/models.py:153 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -1422,280 +1536,220 @@ msgstr "" "\n" "http://%(domain)s%(url)s" -#: contrib/comments/models.py:166 -msgid "person's name" -msgstr "Ainm" - -#: contrib/comments/models.py:169 -msgid "ip address" -msgstr "seoladh ip" +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "brat" #: contrib/comments/models.py:171 -msgid "approved by staff" -msgstr "ceadaithe tríd an foireann" +msgid "date" +msgstr "dáta" -#: contrib/comments/models.py:175 -msgid "free comment" -msgstr "Nóta tráchta saor" +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "brat nóta tráchta" -#: contrib/comments/models.py:176 -msgid "free comments" -msgstr "Nótaí tráchtaí saoire" +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "bratacha nótaí tráchta" -#: contrib/comments/models.py:227 -msgid "score" -msgstr "scór" +#: contrib/comments/templates/comments/approve.html:4 +msgid "Approve a comment" +msgstr "Ceadaigh nóta tráchta" -#: contrib/comments/models.py:228 -msgid "score date" -msgstr "Dáta scór" +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "Cuir an nóta seo poiblí?" -#: contrib/comments/models.py:232 -msgid "karma score" -msgstr "Scór karma" +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "Fhormheas" -#: contrib/comments/models.py:233 -msgid "karma scores" -msgstr "Scóra karma" +#: contrib/comments/templates/comments/approved.html:4 +msgid "Thanks for approving" +msgstr "Go raibh maith agait le hadhaigh to formheas" -#: contrib/comments/models.py:237 -#, python-format -msgid "%(score)d rating by %(user)s" -msgstr "%(score)d rátailte trí %(user)s" +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "Thanks for taking the time to improve the quality of discussion on our site" +msgstr "Go raibh maith agat as an am chun feabhas a chur ar chaighdeán na díospóireachta ar ár suíomh" -#: contrib/comments/models.py:254 -#, python-format -msgid "" -"This comment was flagged by %(user)s:\n" -"\n" -"%(text)s" -msgstr "" -"Bhí bratach curtha leis an nóta tráchta seo trí %(user)s:\n" -"\n" -"%(text)s" +#: contrib/comments/templates/comments/delete.html:4 +msgid "Remove a comment" +msgstr "Tóg amach nóta tráchta" -#: contrib/comments/models.py:262 -msgid "flag date" -msgstr "Dáta brait" +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "Dáiríre, cuir amach an nóta seo?" -#: contrib/comments/models.py:266 -msgid "user flag" -msgstr "Brat úsáideoir" +#: contrib/comments/templates/comments/deleted.html:4 +msgid "Thanks for removing" +msgstr "Go raibh maith agat le hadhaigh do thógail amach" -#: contrib/comments/models.py:267 -msgid "user flags" -msgstr "Brait úsáideoira" +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "Cuir brat ar an nóta tráchta seo" -#: contrib/comments/models.py:271 -#, python-format -msgid "Flag by %r" -msgstr "Cuir brat leis roimh %r" +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "Go deimhin cuir brat ar an nóta tráchta seo?" -#: contrib/comments/models.py:277 -msgid "deletion date" -msgstr "Dáta scrioseadh" +#: contrib/comments/templates/comments/flag.html:12 +msgid "Flag" +msgstr "Brat" -#: contrib/comments/models.py:280 -msgid "moderator deletion" -msgstr "Scroiseadh modhnóir" +#: contrib/comments/templates/comments/flagged.html:4 +msgid "Thanks for flagging" +msgstr "Go raibh maith agat le hadhaigh do brat" -#: contrib/comments/models.py:281 -msgid "moderator deletions" -msgstr "Scrios modhnóra" +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +msgid "Post" +msgstr "Post" -#: contrib/comments/models.py:285 -#, python-format -msgid "Moderator deletion by %r" -msgstr "Scrios modhnóir trí %r" +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +msgid "Preview" +msgstr "Réamhamharc" -#: contrib/comments/templates/comments/form.html:8 -msgid "Forgotten your password?" -msgstr "Dearmad déanta ar do focal faire?" +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "Go raibh maith agat le hadhaign do nóta tráchta" -#: contrib/comments/templates/comments/form.html:12 -msgid "Ratings" -msgstr "Rátála" +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "Go raibh maith agat le hadhaigh do nóta tráchta" -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Required" -msgstr "Riachtanach" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Optional" -msgstr "Roghnach" - -#: contrib/comments/templates/comments/form.html:23 -msgid "Post a photo" -msgstr "Post griangraf" - -#: contrib/comments/templates/comments/form.html:28 -#: contrib/comments/templates/comments/freeform.html:5 -msgid "Comment:" -msgstr "Nóta tráchta" - -#: contrib/comments/templates/comments/form.html:35 -#: contrib/comments/templates/comments/freeform.html:10 -msgid "Preview comment" +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" msgstr "Nóta tráchta réamhamharc" -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "Do chuid ainm:" +#: contrib/comments/templates/comments/preview.html:11 +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "Le do thoil ceartaigh an botún thíos." +msgstr[1] "Le do thoil ceartaigh na botúin thíos." +msgstr[2] "Le do thoil ceartaigh na botúin thíos." +msgstr[3] "Le do thoil ceartaigh na botúin thíos." +msgstr[4] "Le do thoil ceartaigh na botúin thíos." -#: contrib/comments/views/comments.py:76 -msgid "" -"This rating is required because you've entered at least one other rating." -msgstr "Tá an rátáil seo ag teastail mar cuir tú rátáil amhain eile isteach ar a laghad." +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "Seol do Nóta tráchta" -#: contrib/comments/views/comments.py:160 -#, 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 "" -"Bhí an nóta tráchta póstailte trí úsáideoir a cuir níos lú ná %(count)s nótaí tráchtaí\n" -"\n" -"%(text)s" -"Bhí an nóta tráchta póstailte trí úsáideoir a cuir níos lú ná %(count)s nótaí tráchtaí\n" -"\n" -"%(text)s" +#: contrib/comments/templates/comments/preview.html:16 +msgid "or make changes" +msgstr "nó déan aithraithe" -#: contrib/comments/views/comments.py:165 -#, python-format -msgid "" -"This comment was posted by a sketchy user:\n" -"\n" -"%(text)s" -msgstr "Bhí an nóta tráchta póstailte trí úsáideoir ait \n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:238 -#: contrib/comments/views/comments.py:331 -msgid "Only POSTs are allowed" -msgstr "POSTs amhain ceadaithe" - -#: contrib/comments/views/comments.py:242 -#: contrib/comments/views/comments.py:335 -msgid "One or more of the required fields wasn't submitted" -msgstr "Níor curtha isteach ceann amhain nó níos mó de na réimse riachtanach" - -#: contrib/comments/views/comments.py:246 -#: contrib/comments/views/comments.py:337 -msgid "Somebody tampered with the comment form (security violation)" -msgstr "Cuir duine éigin isteach leis an foirm nóta tráchta (fadbh slándála)" - -#: contrib/comments/views/comments.py:256 -#: contrib/comments/views/comments.py:343 -msgid "" -"The comment form had an invalid 'target' parameter -- the object ID was " -"invalid" -msgstr "" -"Bhí paraiméadar targaid mícheart ag an foirm nóta tráchta -- bhí ID an oibiacht neamhbhailí" - -#: contrib/comments/views/comments.py:307 -#: contrib/comments/views/comments.py:372 -msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "Níor sholáthair an foirm nóta tráchta 'réamhamharc' nó 'post'" - -#: contrib/comments/views/karma.py:21 -msgid "Anonymous users cannot vote" -msgstr "Níl cead ag úsáideoira anaithnid vótáil" - -#: contrib/comments/views/karma.py:25 -msgid "Invalid comment ID" -msgstr "Nóta tráchta ID neamhbhailí" - -#: contrib/comments/views/karma.py:27 -msgid "No voting for yourself" -msgstr "Vótáil leat féin coiscthe" - -#: contrib/contenttypes/models.py:67 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "píotón samhail aicme ainm" -#: contrib/contenttypes/models.py:71 -msgid "content type" -msgstr "tíopa inneachar " - -#: contrib/contenttypes/models.py:72 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "tíopaI inneachair" #: contrib/flatpages/admin.py:9 -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 "Sampla '/about/contact/' Déan cinnte go bhfuil príomhslaid agus cúlslais agat." -#: contrib/flatpages/admin.py:11 core/validators.py:76 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." +#: contrib/flatpages/admin.py:11 +msgid "This value must contain only letters, numbers, underscores, dashes or slashes." msgstr "Níl ach litreacha, uimhreacha, slaiseacha, fólíniú agus daiseanna ceadaithe." #: contrib/flatpages/admin.py:22 msgid "Advanced options" msgstr "Ard-rogha" -#: contrib/flatpages/models.py:9 +#: contrib/flatpages/models.py:8 msgid "title" msgstr "teideal" -#: contrib/flatpages/models.py:10 +#: contrib/flatpages/models.py:9 msgid "content" -msgstr "suaimhneach" +msgstr "inneachar" -#: contrib/flatpages/models.py:11 +#: contrib/flatpages/models.py:10 msgid "enable comments" msgstr "Cuir nótaí tráchta ar chumas" -#: contrib/flatpages/models.py:12 +#: contrib/flatpages/models.py:11 msgid "template name" msgstr "ainm an teimpléid" -#: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " -"will use 'flatpages/default.html'." -msgstr "" -"Sampla: 'flatpages/contact_page.html'. Muna bhfuil sé ar soláthair, bainfidh an córás úsáid as 'flatpages/default.html'." +#: contrib/flatpages/models.py:12 +msgid "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'." +msgstr "Sampla: 'flatpages/contact_page.html'. Muna bhfuil sé ar soláthair, bainfidh an córás úsáid as 'flatpages/default.html'." -#: contrib/flatpages/models.py:14 +#: contrib/flatpages/models.py:13 msgid "registration required" msgstr "clárúchán riachtanach" -#: contrib/flatpages/models.py:14 +#: contrib/flatpages/models.py:13 msgid "If this is checked, only logged-in users will be able to view the page." msgstr "Dá mbéadh é seo seicailte, ní beidh ach úsáideora logáilte isteach in ann an leathanach seo a fheiceail" -#: contrib/flatpages/models.py:19 +#: contrib/flatpages/models.py:18 msgid "flat page" msgstr "leacleathanach" -#: contrib/flatpages/models.py:20 +#: contrib/flatpages/models.py:19 msgid "flat pages" msgstr "leacleathanaigh" -#: contrib/gis/forms/fields.py:10 +#: contrib/formtools/wizard.py:140 +msgid "We apologize, but your form has expired. Please continue filling out the form from this page." +msgstr "Gabh ár leithscéal, ach tá do fhoirm in éag. Lean ar aghaidh le do thoil líonadh amach an fhoirm ón leathanach seo." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "GIS an bonn réimse - léarscáileanna chun an Sonraíocht OpenGIS cineál Céimseata." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Pointe" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Líne teaghrán" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Polagán" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Il-phointe" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Il-líne teaghrán" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Il polagán" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Céimseata bhailiú" + +#: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Ní soláthair méid geoiméadracht" -#: contrib/gis/forms/fields.py:11 -msgid "Invalid Geometry value." +#: contrib/gis/forms/fields.py:18 +msgid "Invalid geometry value." msgstr "Méid geoiméadracht neamhbhailí" -#: contrib/gis/forms/fields.py:12 -msgid "Invalid Geometry type." +#: contrib/gis/forms/fields.py:19 +msgid "Invalid geometry type." msgstr "Tíopa geoiméadracht neamhbhailí" +#: contrib/gis/forms/fields.py:20 +msgid "An error occurred when transforming the geometry to the SRID of the geometry form field." +msgstr "Tharla earráid ag claochlú an geoiméadracht go dtí SRID an réimse fhoirm geoiméadracht." + #: contrib/humanize/templatetags/humanize.py:19 msgid "th" msgstr "ú" @@ -1715,17 +1769,32 @@ msgstr "ú" #: contrib/humanize/templatetags/humanize.py:51 #, python-format msgid "%(value).1f million" -msgstr "%(value).1f milliún" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f milliún" +msgstr[1] "%(value).1f milliún" +msgstr[2] "%(value).1f milliún" +msgstr[3] "%(value).1f milliún" +msgstr[4] "%(value).1f milliún" #: contrib/humanize/templatetags/humanize.py:54 #, python-format msgid "%(value).1f billion" -msgstr "%(value).1f billiún" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f billiún" +msgstr[1] "%(value).1f billiún" +msgstr[2] "%(value).1f billiún" +msgstr[3] "%(value).1f billiún" +msgstr[4] "%(value).1f billiún" #: contrib/humanize/templatetags/humanize.py:57 #, python-format msgid "%(value).1f trillion" -msgstr "%(value).1f trilliún" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f trilliún" +msgstr[1] "%(value).1f trilliún" +msgstr[2] "%(value).1f trilliún" +msgstr[3] "%(value).1f trilliún" +msgstr[4] "%(value).1f trilliún" #: contrib/humanize/templatetags/humanize.py:73 msgid "one" @@ -1775,25 +1844,27 @@ msgstr "amárach" msgid "yesterday" msgstr "inné" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Cuir isteach cód póstal ins an formáid NNNN nó ANNNNAAA" -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 +#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Teastaíonn an réimse seo uimhreacha amháin." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Teastaíonn an réimse seo 7 nó 8 digite." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Cuir isteach CUIT bailí i formáid XX-XXXXXXXX-X nó XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "CUIT neamhbailí" @@ -1833,84 +1904,83 @@ msgstr "Tyrol" msgid "Vienna" msgstr "Vín" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 +#: contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Cuir isteach cód zip ins an formáid XXXX." #: contrib/localflavor/at/forms.py:48 msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." -msgstr "" +msgstr "Iontráil uimhir Ostaire Slándáil Shóisialta bailí i bhformáid XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." -msgstr "" +msgstr "Iontráil cód poist 4 dhigit." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." -msgstr "" +msgstr "Iontráil zip-cód i bhformáid XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." -msgstr "" +msgstr "Ní mór Uimhreacha teileafóin a chur i XX-XXXX-XXXX format." -#: contrib/localflavor/br/forms.py:58 -msgid "" -"Select a valid brazilian state. That state is not one of the available " -"states." -msgstr "" +#: contrib/localflavor/br/forms.py:54 +msgid "Select a valid brazilian state. That state is not one of the available states." +msgstr "Roghnaigh stát na Brasaíle bailí. Ní thugann an Stát sin ar cheann de na stáit atá ar fáil." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." -msgstr "" +msgstr "Uimhir CPF neamhbhailí." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." -msgstr "" +msgstr "Éilíonn an réimse seo ag an chuid is mó dhigit 11 nó 14 de charachtair." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." -msgstr "" +msgstr "Neamhbhailí CNPJ uimhir." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" -msgstr "" +msgstr "Éilíonn an réimse seo ar a laghad 14 digití" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." -msgstr "" +msgstr "Iontráil cód poist i bhformáid XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." -msgstr "" +msgstr "Iontráil uimhir Cheanada Árachais Shóisialaigh bailí i bhformáid XXX-XXX-XXX." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" -msgstr "" +msgstr "Aargau" #: contrib/localflavor/ch/ch_states.py:6 msgid "Appenzell Innerrhoden" -msgstr "" +msgstr "Appenzell Innerrhoden" #: contrib/localflavor/ch/ch_states.py:7 msgid "Appenzell Ausserrhoden" -msgstr "" +msgstr "Appenzell Ausserrhoden" #: contrib/localflavor/ch/ch_states.py:8 msgid "Basel-Stadt" -msgstr "" +msgstr "Basel-Stadt" #: contrib/localflavor/ch/ch_states.py:9 msgid "Basel-Land" -msgstr "" +msgstr "Basel-Talún" #: contrib/localflavor/ch/ch_states.py:10 msgid "Berne" -msgstr "" +msgstr "Berne" #: contrib/localflavor/ch/ch_states.py:11 msgid "Fribourg" -msgstr "" +msgstr "Fribourg" #: contrib/localflavor/ch/ch_states.py:12 msgid "Geneva" @@ -1918,101 +1988,176 @@ msgstr "An Ghinéiv" #: contrib/localflavor/ch/ch_states.py:13 msgid "Glarus" -msgstr "" +msgstr "Glarus" #: contrib/localflavor/ch/ch_states.py:14 msgid "Graubuenden" -msgstr "" +msgstr "Graubuenden" #: contrib/localflavor/ch/ch_states.py:15 msgid "Jura" -msgstr "" +msgstr "Jura" #: contrib/localflavor/ch/ch_states.py:16 msgid "Lucerne" -msgstr "" +msgstr "Lucerne" #: contrib/localflavor/ch/ch_states.py:17 msgid "Neuchatel" -msgstr "" +msgstr "Neuchatel" #: contrib/localflavor/ch/ch_states.py:18 msgid "Nidwalden" -msgstr "" +msgstr "Nidwalden" #: contrib/localflavor/ch/ch_states.py:19 msgid "Obwalden" -msgstr "" +msgstr "Obwalden" #: contrib/localflavor/ch/ch_states.py:20 msgid "Schaffhausen" -msgstr "" +msgstr "Schaffhausen" #: contrib/localflavor/ch/ch_states.py:21 msgid "Schwyz" -msgstr "" +msgstr "Schwyz" #: contrib/localflavor/ch/ch_states.py:22 msgid "Solothurn" -msgstr "" +msgstr "Solothurn" #: contrib/localflavor/ch/ch_states.py:23 msgid "St. Gallen" -msgstr "" +msgstr "St Gallen" #: contrib/localflavor/ch/ch_states.py:24 msgid "Thurgau" -msgstr "" +msgstr "Thurgau" #: contrib/localflavor/ch/ch_states.py:25 msgid "Ticino" -msgstr "" +msgstr "Ticino" #: contrib/localflavor/ch/ch_states.py:26 msgid "Uri" -msgstr "" +msgstr "Uri" #: contrib/localflavor/ch/ch_states.py:27 msgid "Valais" -msgstr "" +msgstr "Valais" #: contrib/localflavor/ch/ch_states.py:28 msgid "Vaud" -msgstr "" +msgstr "Vaud" #: contrib/localflavor/ch/ch_states.py:29 msgid "Zug" -msgstr "" +msgstr "Zug" #: contrib/localflavor/ch/ch_states.py:30 msgid "Zurich" -msgstr "" +msgstr "Zürich" -#: contrib/localflavor/ch/forms.py:64 -msgid "" -"Enter a valid Swiss identity or passport card number in X1234567<0 or " -"1234567890 format." -msgstr "" - -#: contrib/localflavor/cl/forms.py:29 -msgid "Enter a valid Chilean RUT." -msgstr "" +#: contrib/localflavor/ch/forms.py:65 +msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." +msgstr "Iontráil aitheantais hEilvéise bailí nó uimhir pas cárta i bhformáid X1234567<0 nó 1234567890." #: contrib/localflavor/cl/forms.py:30 -msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." -msgstr "" +msgid "Enter a valid Chilean RUT." +msgstr "Iontráil RUT Chilean bailí." #: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Iontráil RUT bailí Chilean. Is é an fhormáid XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." -msgstr "" +msgstr "Níl an RUT Chilean bailí." + +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "Prague" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "Réigiún Central Bohemian" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "Réigiún Bohemian Theas" + +#: contrib/localflavor/cz/cz_regions.py:11 +msgid "Pilsen Region" +msgstr "Pilsen Réigiún" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "Carlsbad Réigiún" + +#: contrib/localflavor/cz/cz_regions.py:13 +msgid "Usti Region" +msgstr "Usti Réigiún" + +#: contrib/localflavor/cz/cz_regions.py:14 +msgid "Liberec Region" +msgstr "Liberec Réigiún" + +#: contrib/localflavor/cz/cz_regions.py:15 +msgid "Hradec Region" +msgstr "Hradec Réigiún" + +#: contrib/localflavor/cz/cz_regions.py:16 +msgid "Pardubice Region" +msgstr "Pardubice Réigiún" + +#: contrib/localflavor/cz/cz_regions.py:17 +msgid "Vysocina Region" +msgstr "Vysocina Réigiún" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "Réigiún Moravian Theas" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "Réigiún Olomouc" + +#: contrib/localflavor/cz/cz_regions.py:20 +msgid "Zlin Region" +msgstr "Réigiún Zlin" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "Réigiún Moravian-Silesian" + +#: contrib/localflavor/cz/forms.py:28 +#: contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "Iontráil cód poist i bhformáid XXXXX nó XXX XX." + +#: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "Iontráil uimhir breithe i bhformáid XXXXXX/XXXX nó XXXXXXXXXX." + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "Paraiméadar inscne roghnach neamhbhailí, is iad 'f' agus 'm' na luachanna bailí" + +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "Cuir isteach uimhir breithe bailí." + +#: contrib/localflavor/cz/forms.py:107 +msgid "Enter a valid IC number." +msgstr "Cuir isteach uimhir IC bailí." #: contrib/localflavor/de/de_states.py:5 msgid "Baden-Wuerttemberg" -msgstr "" +msgstr "Baden-Wuerttemberg" #: contrib/localflavor/de/de_states.py:6 msgid "Bavaria" -msgstr "" +msgstr "An Bhaváir" #: contrib/localflavor/de/de_states.py:7 msgid "Berlin" @@ -2020,1526 +2165,2057 @@ msgstr "Beirlín" #: contrib/localflavor/de/de_states.py:8 msgid "Brandenburg" -msgstr "" +msgstr "Brandenburg" #: contrib/localflavor/de/de_states.py:9 msgid "Bremen" -msgstr "" +msgstr "Bremen" #: contrib/localflavor/de/de_states.py:10 msgid "Hamburg" -msgstr "" +msgstr "Hamburg" #: contrib/localflavor/de/de_states.py:11 msgid "Hessen" -msgstr "" +msgstr "Hessen" #: contrib/localflavor/de/de_states.py:12 msgid "Mecklenburg-Western Pomerania" -msgstr "" +msgstr "Mecklenburg-Pomerania Thiar" #: contrib/localflavor/de/de_states.py:13 msgid "Lower Saxony" -msgstr "" +msgstr "An tSacsain Íochtair" #: contrib/localflavor/de/de_states.py:14 msgid "North Rhine-Westphalia" -msgstr "" +msgstr "Réin Thuaidh-Westphalia" #: contrib/localflavor/de/de_states.py:15 msgid "Rhineland-Palatinate" -msgstr "" +msgstr "Dúiche na Réine-Palatinate" #: contrib/localflavor/de/de_states.py:16 msgid "Saarland" -msgstr "" +msgstr "Saarland" #: contrib/localflavor/de/de_states.py:17 msgid "Saxony" -msgstr "" +msgstr "An tSacsain" #: contrib/localflavor/de/de_states.py:18 msgid "Saxony-Anhalt" -msgstr "" +msgstr "An tSacsain-Anhalt" #: contrib/localflavor/de/de_states.py:19 msgid "Schleswig-Holstein" -msgstr "" +msgstr "Schleswig-Holstein" #: contrib/localflavor/de/de_states.py:20 msgid "Thuringia" -msgstr "" +msgstr "Thuringia" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 +#: contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." -msgstr "" +msgstr "Iontráil zip-cód i bhformáid XXXXX." -#: contrib/localflavor/de/forms.py:41 -msgid "" -"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " -"format." -msgstr "" +#: contrib/localflavor/de/forms.py:42 +msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." +msgstr "Iontráil uimhir cárta aitheantais na Gearmáine bailí i bhformáid XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." #: contrib/localflavor/es/es_provinces.py:5 msgid "Arava" -msgstr "" +msgstr "Arava" #: contrib/localflavor/es/es_provinces.py:6 msgid "Albacete" -msgstr "" +msgstr "Albacete" #: contrib/localflavor/es/es_provinces.py:7 msgid "Alacant" -msgstr "" +msgstr "Alacant" #: contrib/localflavor/es/es_provinces.py:8 msgid "Almeria" -msgstr "" +msgstr "Almeria" #: contrib/localflavor/es/es_provinces.py:9 msgid "Avila" -msgstr "" +msgstr "Ávila" #: contrib/localflavor/es/es_provinces.py:10 msgid "Badajoz" -msgstr "" +msgstr "Badajoz" #: contrib/localflavor/es/es_provinces.py:11 msgid "Illes Balears" -msgstr "" +msgstr "Illes Balears" #: contrib/localflavor/es/es_provinces.py:12 msgid "Barcelona" -msgstr "" +msgstr "Barcelona" #: contrib/localflavor/es/es_provinces.py:13 msgid "Burgos" -msgstr "" +msgstr "Burgos" #: contrib/localflavor/es/es_provinces.py:14 msgid "Caceres" -msgstr "" +msgstr "Cáceres" #: contrib/localflavor/es/es_provinces.py:15 msgid "Cadiz" -msgstr "" +msgstr "Cádiz" #: contrib/localflavor/es/es_provinces.py:16 msgid "Castello" -msgstr "" +msgstr "Castello" #: contrib/localflavor/es/es_provinces.py:17 msgid "Ciudad Real" -msgstr "" +msgstr "Ciudad Real" #: contrib/localflavor/es/es_provinces.py:18 msgid "Cordoba" -msgstr "" +msgstr "Cordoba" #: contrib/localflavor/es/es_provinces.py:19 msgid "A Coruna" -msgstr "" +msgstr "A Coruña" #: contrib/localflavor/es/es_provinces.py:20 msgid "Cuenca" -msgstr "" +msgstr "Cuenca" #: contrib/localflavor/es/es_provinces.py:21 msgid "Girona" -msgstr "" +msgstr "Girona" #: contrib/localflavor/es/es_provinces.py:22 msgid "Granada" -msgstr "" +msgstr "Granada" #: contrib/localflavor/es/es_provinces.py:23 msgid "Guadalajara" -msgstr "" +msgstr "Guadalajara" #: contrib/localflavor/es/es_provinces.py:24 msgid "Guipuzkoa" -msgstr "" +msgstr "Guipuzkoa" #: contrib/localflavor/es/es_provinces.py:25 msgid "Huelva" -msgstr "" +msgstr "Huelva" #: contrib/localflavor/es/es_provinces.py:26 msgid "Huesca" -msgstr "" +msgstr "Huesca" #: contrib/localflavor/es/es_provinces.py:27 msgid "Jaen" -msgstr "" +msgstr "Jaen" #: contrib/localflavor/es/es_provinces.py:28 msgid "Leon" -msgstr "" +msgstr "Leon" #: contrib/localflavor/es/es_provinces.py:29 msgid "Lleida" -msgstr "" +msgstr "Lleida" #: contrib/localflavor/es/es_provinces.py:30 #: contrib/localflavor/es/es_regions.py:17 msgid "La Rioja" -msgstr "" +msgstr "La Rioja" #: contrib/localflavor/es/es_provinces.py:31 msgid "Lugo" -msgstr "" +msgstr "Lugo" #: contrib/localflavor/es/es_provinces.py:32 #: contrib/localflavor/es/es_regions.py:18 msgid "Madrid" -msgstr "" +msgstr "Maidrid" #: contrib/localflavor/es/es_provinces.py:33 msgid "Malaga" -msgstr "" +msgstr "Málaga" #: contrib/localflavor/es/es_provinces.py:34 msgid "Murcia" -msgstr "" +msgstr "Murcia" #: contrib/localflavor/es/es_provinces.py:35 msgid "Navarre" -msgstr "" +msgstr "Navarre" #: contrib/localflavor/es/es_provinces.py:36 msgid "Ourense" -msgstr "" +msgstr "Ourense" #: contrib/localflavor/es/es_provinces.py:37 msgid "Asturias" -msgstr "" +msgstr "Asturias" #: contrib/localflavor/es/es_provinces.py:38 msgid "Palencia" -msgstr "" +msgstr "Palencia" #: contrib/localflavor/es/es_provinces.py:39 msgid "Las Palmas" -msgstr "" +msgstr "Las Palmas" #: contrib/localflavor/es/es_provinces.py:40 msgid "Pontevedra" -msgstr "" +msgstr "Pontevedra" #: contrib/localflavor/es/es_provinces.py:41 msgid "Salamanca" -msgstr "" +msgstr "Salamanca" #: contrib/localflavor/es/es_provinces.py:42 msgid "Santa Cruz de Tenerife" -msgstr "" +msgstr "Santa Cruz de Tenerife" #: contrib/localflavor/es/es_provinces.py:43 #: contrib/localflavor/es/es_regions.py:11 msgid "Cantabria" -msgstr "" +msgstr "Cantabria" #: contrib/localflavor/es/es_provinces.py:44 msgid "Segovia" -msgstr "" +msgstr "Segovia" #: contrib/localflavor/es/es_provinces.py:45 msgid "Seville" -msgstr "" +msgstr "Sevilla" #: contrib/localflavor/es/es_provinces.py:46 msgid "Soria" -msgstr "" +msgstr "Soria" #: contrib/localflavor/es/es_provinces.py:47 msgid "Tarragona" -msgstr "" +msgstr "Tarragona" #: contrib/localflavor/es/es_provinces.py:48 msgid "Teruel" -msgstr "" +msgstr "Teruel" #: contrib/localflavor/es/es_provinces.py:49 msgid "Toledo" -msgstr "" +msgstr "Toledo" #: contrib/localflavor/es/es_provinces.py:50 msgid "Valencia" -msgstr "" +msgstr "Valencia" #: contrib/localflavor/es/es_provinces.py:51 msgid "Valladolid" -msgstr "" +msgstr "Valladolid" #: contrib/localflavor/es/es_provinces.py:52 msgid "Bizkaia" -msgstr "" +msgstr "Bizkaia" #: contrib/localflavor/es/es_provinces.py:53 msgid "Zamora" -msgstr "" +msgstr "Zamora" #: contrib/localflavor/es/es_provinces.py:54 msgid "Zaragoza" -msgstr "" +msgstr "Zaragoza" #: contrib/localflavor/es/es_provinces.py:55 msgid "Ceuta" -msgstr "" +msgstr "Ceuta" #: contrib/localflavor/es/es_provinces.py:56 msgid "Melilla" -msgstr "" +msgstr "Melilla" #: contrib/localflavor/es/es_regions.py:5 msgid "Andalusia" -msgstr "" +msgstr "Andalusia" #: contrib/localflavor/es/es_regions.py:6 msgid "Aragon" -msgstr "" +msgstr "Aragon" #: contrib/localflavor/es/es_regions.py:7 msgid "Principality of Asturias" -msgstr "" +msgstr "Phrionsacht Asturias" #: contrib/localflavor/es/es_regions.py:8 msgid "Balearic Islands" -msgstr "" +msgstr "Na hOileáin Bhailéaracha" #: contrib/localflavor/es/es_regions.py:9 msgid "Basque Country" -msgstr "" +msgstr "Tír na mBascach" #: contrib/localflavor/es/es_regions.py:10 msgid "Canary Islands" -msgstr "" +msgstr "Na hOileáin Chanáracha" #: contrib/localflavor/es/es_regions.py:12 msgid "Castile-La Mancha" -msgstr "" +msgstr "Castilla-La Mancha" #: contrib/localflavor/es/es_regions.py:13 msgid "Castile and Leon" -msgstr "" +msgstr "Castilla agus Leon" #: contrib/localflavor/es/es_regions.py:14 msgid "Catalonia" -msgstr "" +msgstr "An Chatalóin" #: contrib/localflavor/es/es_regions.py:15 msgid "Extremadura" -msgstr "" +msgstr "Extremadura" #: contrib/localflavor/es/es_regions.py:16 msgid "Galicia" -msgstr "" +msgstr "Galicia" #: contrib/localflavor/es/es_regions.py:19 msgid "Region of Murcia" -msgstr "" +msgstr "Réigiún de Murcia" #: contrib/localflavor/es/es_regions.py:20 msgid "Foral Community of Navarre" -msgstr "" +msgstr "Chomhphobail Foral de Navarre" #: contrib/localflavor/es/es_regions.py:21 msgid "Valencian Community" -msgstr "" +msgstr "Valencian Community" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." -msgstr "" +msgstr "Iontráil cód poist bailí i raon agus formáid 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 -msgid "" -"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " -"9XXXXXXXX." -msgstr "" - -#: contrib/localflavor/es/forms.py:66 -msgid "Please enter a valid NIF, NIE, or CIF." -msgstr "" +#: contrib/localflavor/es/forms.py:40 +msgid "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX." +msgstr "Iontráil uimhir theileafóin bailí i gceann de na formáidí 6XXXXXXXX, 8XXXXXXXX nó 9XXXXXXXX." #: contrib/localflavor/es/forms.py:67 -msgid "Please enter a valid NIF or NIE." -msgstr "" +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Cuir isteach NIF bailí, NIE, nó CIF." #: contrib/localflavor/es/forms.py:68 -msgid "Invalid checksum for NIF." -msgstr "" +msgid "Please enter a valid NIF or NIE." +msgstr "Cuir isteach NIF bailí nó NIE." #: contrib/localflavor/es/forms.py:69 -msgid "Invalid checksum for NIE." -msgstr "" +msgid "Invalid checksum for NIF." +msgstr "Sheiceála neamhbhailí do NIF." #: contrib/localflavor/es/forms.py:70 -msgid "Invalid checksum for CIF." -msgstr "" +msgid "Invalid checksum for NIE." +msgstr "Sheiceála neamhbhailí do NIE." -#: contrib/localflavor/es/forms.py:142 -msgid "" -"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." -msgstr "" +#: contrib/localflavor/es/forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "Sheiceála neamhbhailí do CIF." #: contrib/localflavor/es/forms.py:143 +msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Cuir isteach uimhir chuntais bainc bailí i bhformáid XXXX-XXXX-XX-XXXXXXXXXX." + +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." -msgstr "" +msgstr "Sheiceála neamhbhailí do uimhir cuntas bainc." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." -msgstr "" +msgstr "Cuir isteach uimhir Fionlainne slándála sóisialta bailí." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Ní mór Uimhreacha teileafóin a chur i bhformáid 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Iontráil cód poist bailí" + +#: contrib/localflavor/id/forms.py:68 +#: contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Iontráil uimhir theileafóin bailí" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Cuir isteach uimhir feithicle bailí pláta cheadúnas" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Cuir isteach uimhir NIK/KTP bailí" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Jawa Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Jawa Tengah" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Jawa Timur" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Barat" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Selatan" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Tengah" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Timur" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Kepulauan Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Maluku" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Maluku Utara" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara Barat" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara Timur" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Barat" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Sulawesi Barat" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi Selatan" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi Tengah" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi Tenggara" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi Utara" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatera Barat" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera Selatan" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera Utara" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Cór gconsalacht" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Cór Taidhleoireachta" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Rialtas Feidearálach" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Aontroim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Ard Mhacha" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Ceatharlach" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "An Cabhan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "An Clar" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Corcaigh" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Doire" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Dún na nGall" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "an Dún" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Baile Atha Cliath" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fear Manach" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Gaillimh" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Chiarrai" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Cill Dara" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Cill Chainnigh" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laoise" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Liatroim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Luimneach" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "An Longfort" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Lú" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mhaigh Eo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "an Mhí" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Muineachán" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Uíbh Fhailí" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Ros Comain" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligeach" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tiobraid Arann" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tír Eoghain" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Port Láirge" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Na hIarmhí" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Loch Garman" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Cill Mhantáin" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." -msgstr "" - -#: contrib/localflavor/is_/forms.py:17 -msgid "" -"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." -msgstr "" +msgstr "Iontráil zip-cód i bhformáid XXXXXXX." #: contrib/localflavor/is_/forms.py:18 +msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Cuir isteach uimhir aitheantais bailí hÍoslainne. Is é an fhormáid XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." -msgstr "" +msgstr "Níl an uimhir aitheantais hÍoslainne bailí." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." -msgstr "" +msgstr "Iontráil zip-cód bailí." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." -msgstr "" +msgstr "Iontráil uimhir Slándáil Shóisialta bailí." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." -msgstr "" +msgstr "Iontráil uimhir CBL bailí." -#: contrib/localflavor/jp/forms.py:17 +#: contrib/localflavor/jp/forms.py:16 msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." -msgstr "" +msgstr "Iontráil cód poist i bhformáid XXXXXXX nó XXX-XXXX." #: contrib/localflavor/jp/jp_prefectures.py:4 msgid "Hokkaido" -msgstr "" +msgstr "Hokkaido" #: contrib/localflavor/jp/jp_prefectures.py:5 msgid "Aomori" -msgstr "" +msgstr "Aomori" #: contrib/localflavor/jp/jp_prefectures.py:6 msgid "Iwate" -msgstr "" +msgstr "Iwate" #: contrib/localflavor/jp/jp_prefectures.py:7 msgid "Miyagi" -msgstr "" +msgstr "Miyagi" #: contrib/localflavor/jp/jp_prefectures.py:8 msgid "Akita" -msgstr "" +msgstr "Akita" #: contrib/localflavor/jp/jp_prefectures.py:9 msgid "Yamagata" -msgstr "" +msgstr "Yamagata" #: contrib/localflavor/jp/jp_prefectures.py:10 msgid "Fukushima" -msgstr "" +msgstr "Fukushima" #: contrib/localflavor/jp/jp_prefectures.py:11 msgid "Ibaraki" -msgstr "" +msgstr "Ibaraki" #: contrib/localflavor/jp/jp_prefectures.py:12 msgid "Tochigi" -msgstr "" +msgstr "Tochigi" #: contrib/localflavor/jp/jp_prefectures.py:13 msgid "Gunma" -msgstr "" +msgstr "Gunma" #: contrib/localflavor/jp/jp_prefectures.py:14 msgid "Saitama" -msgstr "" +msgstr "Saitama" #: contrib/localflavor/jp/jp_prefectures.py:15 msgid "Chiba" -msgstr "" +msgstr "Chiba" #: contrib/localflavor/jp/jp_prefectures.py:16 msgid "Tokyo" -msgstr "" +msgstr "Tóiceo" #: contrib/localflavor/jp/jp_prefectures.py:17 msgid "Kanagawa" -msgstr "" +msgstr "Kanagawa" #: contrib/localflavor/jp/jp_prefectures.py:18 msgid "Yamanashi" -msgstr "" +msgstr "Yamanashi" #: contrib/localflavor/jp/jp_prefectures.py:19 msgid "Nagano" -msgstr "" +msgstr "Nagano" #: contrib/localflavor/jp/jp_prefectures.py:20 msgid "Niigata" -msgstr "" +msgstr "Niigata" #: contrib/localflavor/jp/jp_prefectures.py:21 msgid "Toyama" -msgstr "" +msgstr "Toyama" #: contrib/localflavor/jp/jp_prefectures.py:22 msgid "Ishikawa" -msgstr "" +msgstr "Ishikawa" #: contrib/localflavor/jp/jp_prefectures.py:23 msgid "Fukui" -msgstr "" +msgstr "Fukui" #: contrib/localflavor/jp/jp_prefectures.py:24 msgid "Gifu" -msgstr "" +msgstr "Gifu" #: contrib/localflavor/jp/jp_prefectures.py:25 msgid "Shizuoka" -msgstr "" +msgstr "Shizuoka" #: contrib/localflavor/jp/jp_prefectures.py:26 msgid "Aichi" -msgstr "" +msgstr "Aichi" #: contrib/localflavor/jp/jp_prefectures.py:27 msgid "Mie" -msgstr "" +msgstr "Mie" #: contrib/localflavor/jp/jp_prefectures.py:28 msgid "Shiga" -msgstr "" +msgstr "Shiga" #: contrib/localflavor/jp/jp_prefectures.py:29 msgid "Kyoto" -msgstr "" +msgstr "Kyoto" #: contrib/localflavor/jp/jp_prefectures.py:30 msgid "Osaka" -msgstr "" +msgstr "Osaka" #: contrib/localflavor/jp/jp_prefectures.py:31 msgid "Hyogo" -msgstr "" +msgstr "Hyogo" #: contrib/localflavor/jp/jp_prefectures.py:32 msgid "Nara" -msgstr "" +msgstr "Nara" #: contrib/localflavor/jp/jp_prefectures.py:33 msgid "Wakayama" -msgstr "" +msgstr "Wakayama" #: contrib/localflavor/jp/jp_prefectures.py:34 msgid "Tottori" -msgstr "" +msgstr "Tottori" #: contrib/localflavor/jp/jp_prefectures.py:35 msgid "Shimane" -msgstr "" +msgstr "Shimane" #: contrib/localflavor/jp/jp_prefectures.py:36 msgid "Okayama" -msgstr "" +msgstr "Okayama" #: contrib/localflavor/jp/jp_prefectures.py:37 msgid "Hiroshima" -msgstr "" +msgstr "Hiroshima" #: contrib/localflavor/jp/jp_prefectures.py:38 msgid "Yamaguchi" -msgstr "" +msgstr "Yamaguchi" #: contrib/localflavor/jp/jp_prefectures.py:39 msgid "Tokushima" -msgstr "" +msgstr "Tokushima" #: contrib/localflavor/jp/jp_prefectures.py:40 msgid "Kagawa" -msgstr "" +msgstr "Kagawa" #: contrib/localflavor/jp/jp_prefectures.py:41 msgid "Ehime" -msgstr "" +msgstr "Ehime" #: contrib/localflavor/jp/jp_prefectures.py:42 msgid "Kochi" -msgstr "" +msgstr "Kochi" #: contrib/localflavor/jp/jp_prefectures.py:43 msgid "Fukuoka" -msgstr "" +msgstr "Fukuoka" #: contrib/localflavor/jp/jp_prefectures.py:44 msgid "Saga" -msgstr "" +msgstr "Saga" #: contrib/localflavor/jp/jp_prefectures.py:45 msgid "Nagasaki" -msgstr "" +msgstr "Nagasaki" #: contrib/localflavor/jp/jp_prefectures.py:46 msgid "Kumamoto" -msgstr "" +msgstr "Kumamoto" #: contrib/localflavor/jp/jp_prefectures.py:47 msgid "Oita" -msgstr "" +msgstr "Oita" #: contrib/localflavor/jp/jp_prefectures.py:48 msgid "Miyazaki" -msgstr "" +msgstr "Miyazaki" #: contrib/localflavor/jp/jp_prefectures.py:49 msgid "Kagoshima" -msgstr "" +msgstr "Kagoshima" #: contrib/localflavor/jp/jp_prefectures.py:50 msgid "Okinawa" -msgstr "" +msgstr "Okinawa" + +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Iontráil uimhir ID Sibhialta Kuwati bailí" #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" -msgstr "" +msgstr "Aguascalientes" #: contrib/localflavor/mx/mx_states.py:13 msgid "Baja California" -msgstr "" +msgstr "Baja California" #: contrib/localflavor/mx/mx_states.py:14 msgid "Baja California Sur" -msgstr "" +msgstr "Baja California an Ridire" #: contrib/localflavor/mx/mx_states.py:15 msgid "Campeche" -msgstr "" +msgstr "Campeche" #: contrib/localflavor/mx/mx_states.py:16 msgid "Chihuahua" -msgstr "" +msgstr "Chihuahua" #: contrib/localflavor/mx/mx_states.py:17 msgid "Chiapas" -msgstr "" +msgstr "Chiapas" #: contrib/localflavor/mx/mx_states.py:18 msgid "Coahuila" -msgstr "" +msgstr "Coahuila" #: contrib/localflavor/mx/mx_states.py:19 msgid "Colima" -msgstr "" +msgstr "Colima" #: contrib/localflavor/mx/mx_states.py:20 msgid "Distrito Federal" -msgstr "" +msgstr "Distrito Feidearálach" #: contrib/localflavor/mx/mx_states.py:21 msgid "Durango" -msgstr "" +msgstr "Durango" #: contrib/localflavor/mx/mx_states.py:22 msgid "Guerrero" -msgstr "" +msgstr "Guerrero" #: contrib/localflavor/mx/mx_states.py:23 msgid "Guanajuato" -msgstr "" +msgstr "Guanajuato" #: contrib/localflavor/mx/mx_states.py:24 msgid "Hidalgo" -msgstr "" +msgstr "Hidalgo" #: contrib/localflavor/mx/mx_states.py:25 msgid "Jalisco" -msgstr "" +msgstr "Jalisco" #: contrib/localflavor/mx/mx_states.py:26 msgid "Estado de México" -msgstr "" +msgstr "Estado de México" #: contrib/localflavor/mx/mx_states.py:27 msgid "Michoacán" -msgstr "" +msgstr "Michoacán" #: contrib/localflavor/mx/mx_states.py:28 msgid "Morelos" -msgstr "" +msgstr "Morelos" #: contrib/localflavor/mx/mx_states.py:29 msgid "Nayarit" -msgstr "" +msgstr "Nayarit" #: contrib/localflavor/mx/mx_states.py:30 msgid "Nuevo León" -msgstr "" +msgstr "Nuevo León" #: contrib/localflavor/mx/mx_states.py:31 msgid "Oaxaca" -msgstr "" +msgstr "Oaxaca" #: contrib/localflavor/mx/mx_states.py:32 msgid "Puebla" -msgstr "" +msgstr "Puebla" #: contrib/localflavor/mx/mx_states.py:33 msgid "Querétaro" -msgstr "" +msgstr "Querétaro" #: contrib/localflavor/mx/mx_states.py:34 msgid "Quintana Roo" -msgstr "" +msgstr "Quintana Rubha" #: contrib/localflavor/mx/mx_states.py:35 msgid "Sinaloa" -msgstr "" +msgstr "Sinaloa" #: contrib/localflavor/mx/mx_states.py:36 msgid "San Luis Potosí" -msgstr "" +msgstr "San Luis Potosí" #: contrib/localflavor/mx/mx_states.py:37 msgid "Sonora" -msgstr "" +msgstr "Sonora" #: contrib/localflavor/mx/mx_states.py:38 msgid "Tabasco" -msgstr "" +msgstr "Tabasco" #: contrib/localflavor/mx/mx_states.py:39 msgid "Tamaulipas" -msgstr "" +msgstr "Tamaulipas" #: contrib/localflavor/mx/mx_states.py:40 msgid "Tlaxcala" -msgstr "" +msgstr "Tlaxcala" #: contrib/localflavor/mx/mx_states.py:41 msgid "Veracruz" -msgstr "" +msgstr "Veracruz" #: contrib/localflavor/mx/mx_states.py:42 msgid "Yucatán" -msgstr "" +msgstr "Yucatán" #: contrib/localflavor/mx/mx_states.py:43 msgid "Zacatecas" -msgstr "" +msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" -msgstr "" +msgstr "Iontráil cód poist bailí" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" -msgstr "" +msgstr "Iontráil uimhir SoFi bailí" #: contrib/localflavor/nl/nl_provinces.py:4 -msgid "Drente" -msgstr "" +msgid "Drenthe" +msgstr "Drenthe" #: contrib/localflavor/nl/nl_provinces.py:5 msgid "Flevoland" -msgstr "" +msgstr "Flevoland" #: contrib/localflavor/nl/nl_provinces.py:6 msgid "Friesland" -msgstr "" +msgstr "Friesland" #: contrib/localflavor/nl/nl_provinces.py:7 msgid "Gelderland" -msgstr "" +msgstr "Gelderland" #: contrib/localflavor/nl/nl_provinces.py:8 msgid "Groningen" -msgstr "" +msgstr "Groningen" #: contrib/localflavor/nl/nl_provinces.py:9 msgid "Limburg" -msgstr "" +msgstr "Limburg" #: contrib/localflavor/nl/nl_provinces.py:10 msgid "Noord-Brabant" -msgstr "" +msgstr "Noord-Brabant" #: contrib/localflavor/nl/nl_provinces.py:11 msgid "Noord-Holland" -msgstr "" +msgstr "Noord-Holland" #: contrib/localflavor/nl/nl_provinces.py:12 msgid "Overijssel" -msgstr "" +msgstr "Overijssel" #: contrib/localflavor/nl/nl_provinces.py:13 msgid "Utrecht" -msgstr "" +msgstr "Utrecht" #: contrib/localflavor/nl/nl_provinces.py:14 msgid "Zeeland" -msgstr "" +msgstr "Zeeland" #: contrib/localflavor/nl/nl_provinces.py:15 msgid "Zuid-Holland" -msgstr "" +msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." -msgstr "" +msgstr "Cuir isteach uimhir leasa na hIorua sóisialta bailí." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." -msgstr "" +msgstr "Éilíonn an réimse 8 digití." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." -msgstr "" +msgstr "Éilíonn an réimse seo 11 digití." #: contrib/localflavor/pl/forms.py:38 msgid "National Identification Number consists of 11 digits." -msgstr "" +msgstr "Náisiúnta Uimhir Aitheantais comhdhéanta de 11 digití." #: contrib/localflavor/pl/forms.py:39 msgid "Wrong checksum for the National Identification Number." -msgstr "" +msgstr "Sheiceála mícheart ar an Uimhir Aitheantais Náisiúnta." #: contrib/localflavor/pl/forms.py:71 -msgid "" -"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." -msgstr "" +msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "Iontráil réimse uimhir chánach (NIP) i bhformáid XXX-XXX-XX XX-nó-XX XX-XXX-XXX." #: contrib/localflavor/pl/forms.py:72 msgid "Wrong checksum for the Tax Number (NIP)." -msgstr "" +msgstr "Sheiceála mícheart ar an Uimhir Cánach (NIP)." -#: contrib/localflavor/pl/forms.py:111 -msgid "National Business Register Number (REGON) consists of 7 or 9 digits." -msgstr "" +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." +msgstr "Uimhir Náisiúnta Clár Gnó (REGON) comhdhéanta de 9 nó 14 digití." -#: contrib/localflavor/pl/forms.py:112 +#: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." -msgstr "" +msgstr "Sheiceála Mícheart do Uimhir Ghnó Clár Náisiúnta (REGON)." -#: contrib/localflavor/pl/forms.py:155 +#: contrib/localflavor/pl/forms.py:148 msgid "Enter a postal code in the format XX-XXX." -msgstr "" +msgstr "Iontráil cód poist i bhformáid XX-XXX." #: contrib/localflavor/pl/pl_voivodeships.py:8 msgid "Lower Silesia" -msgstr "" +msgstr "Silesia Íochtarach" #: contrib/localflavor/pl/pl_voivodeships.py:9 msgid "Kuyavia-Pomerania" -msgstr "" +msgstr "Kuyavia-Pomerania" #: contrib/localflavor/pl/pl_voivodeships.py:10 msgid "Lublin" -msgstr "" +msgstr "Lublin" #: contrib/localflavor/pl/pl_voivodeships.py:11 msgid "Lubusz" -msgstr "" +msgstr "Lubusz" #: contrib/localflavor/pl/pl_voivodeships.py:12 msgid "Lodz" -msgstr "" +msgstr "Lodz" #: contrib/localflavor/pl/pl_voivodeships.py:13 msgid "Lesser Poland" -msgstr "" +msgstr "An Pholainn lú " #: contrib/localflavor/pl/pl_voivodeships.py:14 msgid "Masovia" -msgstr "" +msgstr "Masovia" #: contrib/localflavor/pl/pl_voivodeships.py:15 msgid "Opole" -msgstr "" +msgstr "Opole" #: contrib/localflavor/pl/pl_voivodeships.py:16 msgid "Subcarpatia" -msgstr "" +msgstr "Subcarpatia" #: contrib/localflavor/pl/pl_voivodeships.py:17 msgid "Podlasie" -msgstr "" +msgstr "Podlasie" #: contrib/localflavor/pl/pl_voivodeships.py:18 msgid "Pomerania" -msgstr "" +msgstr "Pomerania" #: contrib/localflavor/pl/pl_voivodeships.py:19 msgid "Silesia" -msgstr "" +msgstr "Silesia" #: contrib/localflavor/pl/pl_voivodeships.py:20 msgid "Swietokrzyskie" -msgstr "" +msgstr "Swietokrzyskie" #: contrib/localflavor/pl/pl_voivodeships.py:21 msgid "Warmia-Masuria" -msgstr "" +msgstr "Warmia-Masuria" #: contrib/localflavor/pl/pl_voivodeships.py:22 msgid "Greater Poland" -msgstr "" +msgstr "An Pholainn Mór" #: contrib/localflavor/pl/pl_voivodeships.py:23 msgid "West Pomerania" -msgstr "" +msgstr "Pomerania Thiar" + +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Iontráil zip-cód i bhformáid XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Ní mór líon Fón tá 9 dhigit, nó tús le + nó 00." #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." -msgstr "" +msgstr "Iontráil CIF bailí." #: contrib/localflavor/ro/forms.py:56 msgid "Enter a valid CNP." -msgstr "" +msgstr "Iontráil CNP bailí." #: contrib/localflavor/ro/forms.py:141 msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" -msgstr "" +msgstr "Iontráil IBAN bailí i bhformáid ROXX-XXXX-XXXX-XXXX-XXXX-XXXX" #: contrib/localflavor/ro/forms.py:171 msgid "Phone numbers must be in XXXX-XXXXXX format." -msgstr "" +msgstr "Ní mór uimhreacha teileafóin a chur i bhformáid XXXX-XXXXXX." #: contrib/localflavor/ro/forms.py:194 msgid "Enter a valid postal code in the format XXXXXX" -msgstr "" +msgstr "Iontráil cód poist bailí i bhformáid XXXXXX" -#: contrib/localflavor/sk/forms.py:30 -msgid "Enter a postal code in the format XXXXX or XXX XX." -msgstr "" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Cuir isteach uimhir eagraíochta bailí Sualainnis." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Iontráil uimhir aitheantais bailí Sualainnis pearsanta." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Ní líon Comhordaithe Co-cheadaítear." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Iontráil cód poist na Sualainne i bhformáid XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stócólm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" -msgstr "" +msgstr "Banska Bystrica" #: contrib/localflavor/sk/sk_districts.py:9 msgid "Banska Stiavnica" -msgstr "" +msgstr "Banska Stiavnica" #: contrib/localflavor/sk/sk_districts.py:10 msgid "Bardejov" -msgstr "" +msgstr "Bardejov" #: contrib/localflavor/sk/sk_districts.py:11 msgid "Banovce nad Bebravou" -msgstr "" +msgstr "Banovce nad Bebravou" #: contrib/localflavor/sk/sk_districts.py:12 msgid "Brezno" -msgstr "" +msgstr "Brezno" #: contrib/localflavor/sk/sk_districts.py:13 msgid "Bratislava I" -msgstr "" +msgstr "An Bhratasláiv I" #: contrib/localflavor/sk/sk_districts.py:14 msgid "Bratislava II" -msgstr "" +msgstr "An Bhratasláiv II" #: contrib/localflavor/sk/sk_districts.py:15 msgid "Bratislava III" -msgstr "" +msgstr "An Bhratasláiv III" #: contrib/localflavor/sk/sk_districts.py:16 msgid "Bratislava IV" -msgstr "" +msgstr "An Bhratasláiv IV" #: contrib/localflavor/sk/sk_districts.py:17 msgid "Bratislava V" -msgstr "" +msgstr "An Bhratasláiv V" #: contrib/localflavor/sk/sk_districts.py:18 msgid "Bytca" -msgstr "" +msgstr "Bytca" #: contrib/localflavor/sk/sk_districts.py:19 msgid "Cadca" -msgstr "" +msgstr "Cadca" #: contrib/localflavor/sk/sk_districts.py:20 msgid "Detva" -msgstr "" +msgstr "Detva" #: contrib/localflavor/sk/sk_districts.py:21 msgid "Dolny Kubin" -msgstr "" +msgstr "Dolny Kubin" #: contrib/localflavor/sk/sk_districts.py:22 msgid "Dunajska Streda" -msgstr "" +msgstr "Dunajska Streda" #: contrib/localflavor/sk/sk_districts.py:23 msgid "Galanta" -msgstr "" +msgstr "Galanta" #: contrib/localflavor/sk/sk_districts.py:24 msgid "Gelnica" -msgstr "" +msgstr "Gelnica" #: contrib/localflavor/sk/sk_districts.py:25 msgid "Hlohovec" -msgstr "" +msgstr "Hlohovec" #: contrib/localflavor/sk/sk_districts.py:26 msgid "Humenne" -msgstr "" +msgstr "Humenne" #: contrib/localflavor/sk/sk_districts.py:27 msgid "Ilava" -msgstr "" +msgstr "Ilava" #: contrib/localflavor/sk/sk_districts.py:28 msgid "Kezmarok" -msgstr "" +msgstr "Kezmarok" #: contrib/localflavor/sk/sk_districts.py:29 msgid "Komarno" -msgstr "" +msgstr "Komarno" #: contrib/localflavor/sk/sk_districts.py:30 msgid "Kosice I" -msgstr "" +msgstr "Kosice I" #: contrib/localflavor/sk/sk_districts.py:31 msgid "Kosice II" -msgstr "" +msgstr "Kosice II" #: contrib/localflavor/sk/sk_districts.py:32 msgid "Kosice III" -msgstr "" +msgstr "Kosice III" #: contrib/localflavor/sk/sk_districts.py:33 msgid "Kosice IV" -msgstr "" +msgstr "Kosice IV" #: contrib/localflavor/sk/sk_districts.py:34 msgid "Kosice - okolie" -msgstr "" +msgstr "Kosice - okolie" #: contrib/localflavor/sk/sk_districts.py:35 msgid "Krupina" -msgstr "" +msgstr "Krupina" #: contrib/localflavor/sk/sk_districts.py:36 msgid "Kysucke Nove Mesto" -msgstr "" +msgstr "Kysucke Nove mesto" #: contrib/localflavor/sk/sk_districts.py:37 msgid "Levice" -msgstr "" +msgstr "Levice" #: contrib/localflavor/sk/sk_districts.py:38 msgid "Levoca" -msgstr "" +msgstr "Levoca" #: contrib/localflavor/sk/sk_districts.py:39 msgid "Liptovsky Mikulas" -msgstr "" +msgstr "Liptovsky Mikulas" #: contrib/localflavor/sk/sk_districts.py:40 msgid "Lucenec" -msgstr "" +msgstr "Lucenec" #: contrib/localflavor/sk/sk_districts.py:41 msgid "Malacky" -msgstr "" +msgstr "Malacky" #: contrib/localflavor/sk/sk_districts.py:42 msgid "Martin" -msgstr "" +msgstr "Martin" #: contrib/localflavor/sk/sk_districts.py:43 msgid "Medzilaborce" -msgstr "" +msgstr "Medzilaborce" #: contrib/localflavor/sk/sk_districts.py:44 msgid "Michalovce" -msgstr "" +msgstr "Michalovce" #: contrib/localflavor/sk/sk_districts.py:45 msgid "Myjava" -msgstr "" +msgstr "Myjava" #: contrib/localflavor/sk/sk_districts.py:46 msgid "Namestovo" -msgstr "" +msgstr "Namestovo" #: contrib/localflavor/sk/sk_districts.py:47 msgid "Nitra" -msgstr "" +msgstr "Nitra" #: contrib/localflavor/sk/sk_districts.py:48 msgid "Nove Mesto nad Vahom" -msgstr "" +msgstr "Nove mesto nad Vahom" #: contrib/localflavor/sk/sk_districts.py:49 msgid "Nove Zamky" -msgstr "" +msgstr "Nove Zamky" #: contrib/localflavor/sk/sk_districts.py:50 msgid "Partizanske" -msgstr "" +msgstr "Partizanske" #: contrib/localflavor/sk/sk_districts.py:51 msgid "Pezinok" -msgstr "" +msgstr "Pezinok" #: contrib/localflavor/sk/sk_districts.py:52 msgid "Piestany" -msgstr "" +msgstr "Piestany" #: contrib/localflavor/sk/sk_districts.py:53 msgid "Poltar" -msgstr "" +msgstr "Poltar" #: contrib/localflavor/sk/sk_districts.py:54 msgid "Poprad" -msgstr "" +msgstr "Poprad" #: contrib/localflavor/sk/sk_districts.py:55 msgid "Povazska Bystrica" -msgstr "" +msgstr "Povazska Bystrica" #: contrib/localflavor/sk/sk_districts.py:56 msgid "Presov" -msgstr "" +msgstr "Presov" #: contrib/localflavor/sk/sk_districts.py:57 msgid "Prievidza" -msgstr "" +msgstr "Prievidza" #: contrib/localflavor/sk/sk_districts.py:58 msgid "Puchov" -msgstr "" +msgstr "Puchov" #: contrib/localflavor/sk/sk_districts.py:59 msgid "Revuca" -msgstr "" +msgstr "Revuca" #: contrib/localflavor/sk/sk_districts.py:60 msgid "Rimavska Sobota" -msgstr "" +msgstr "Rimavska Sobota" #: contrib/localflavor/sk/sk_districts.py:61 msgid "Roznava" -msgstr "" +msgstr "Roznava" #: contrib/localflavor/sk/sk_districts.py:62 msgid "Ruzomberok" -msgstr "" +msgstr "Ruzomberok" #: contrib/localflavor/sk/sk_districts.py:63 msgid "Sabinov" -msgstr "" +msgstr "Sabinov" #: contrib/localflavor/sk/sk_districts.py:64 msgid "Senec" -msgstr "" +msgstr "Senec" #: contrib/localflavor/sk/sk_districts.py:65 msgid "Senica" -msgstr "" +msgstr "Senica" #: contrib/localflavor/sk/sk_districts.py:66 msgid "Skalica" -msgstr "" +msgstr "Skalica" #: contrib/localflavor/sk/sk_districts.py:67 msgid "Snina" -msgstr "" +msgstr "Snina" #: contrib/localflavor/sk/sk_districts.py:68 msgid "Sobrance" -msgstr "" +msgstr "Sobrance" #: contrib/localflavor/sk/sk_districts.py:69 msgid "Spisska Nova Ves" -msgstr "" +msgstr "Spisska Nova Ves" #: contrib/localflavor/sk/sk_districts.py:70 msgid "Stara Lubovna" -msgstr "" +msgstr "Stara Lubovna" #: contrib/localflavor/sk/sk_districts.py:71 msgid "Stropkov" -msgstr "" +msgstr "Stropkov" #: contrib/localflavor/sk/sk_districts.py:72 msgid "Svidnik" -msgstr "" +msgstr "Svidnik" #: contrib/localflavor/sk/sk_districts.py:73 msgid "Sala" -msgstr "" +msgstr "Sala" #: contrib/localflavor/sk/sk_districts.py:74 msgid "Topolcany" -msgstr "" +msgstr "Topolcany" #: contrib/localflavor/sk/sk_districts.py:75 msgid "Trebisov" -msgstr "" +msgstr "Trebisov" #: contrib/localflavor/sk/sk_districts.py:76 msgid "Trencin" -msgstr "" +msgstr "Trencin" #: contrib/localflavor/sk/sk_districts.py:77 msgid "Trnava" -msgstr "" +msgstr "Trnava" #: contrib/localflavor/sk/sk_districts.py:78 msgid "Turcianske Teplice" -msgstr "" +msgstr "Turcianske Teplice" #: contrib/localflavor/sk/sk_districts.py:79 msgid "Tvrdosin" -msgstr "" +msgstr "Tvrdosin" #: contrib/localflavor/sk/sk_districts.py:80 msgid "Velky Krtis" -msgstr "" +msgstr "Velky Krtis" #: contrib/localflavor/sk/sk_districts.py:81 msgid "Vranov nad Toplou" -msgstr "" +msgstr "Vranov nad Toplou" #: contrib/localflavor/sk/sk_districts.py:82 msgid "Zlate Moravce" -msgstr "" +msgstr "Zlate Moravce" #: contrib/localflavor/sk/sk_districts.py:83 msgid "Zvolen" -msgstr "" +msgstr "Zvolen" #: contrib/localflavor/sk/sk_districts.py:84 msgid "Zarnovica" -msgstr "" +msgstr "Zarnovica" #: contrib/localflavor/sk/sk_districts.py:85 msgid "Ziar nad Hronom" -msgstr "" +msgstr "Ziar nad Hronom" #: contrib/localflavor/sk/sk_districts.py:86 msgid "Zilina" -msgstr "" +msgstr "Zilina" #: contrib/localflavor/sk/sk_regions.py:8 msgid "Banska Bystrica region" -msgstr "" +msgstr "Banska Bystrica réigiún" #: contrib/localflavor/sk/sk_regions.py:9 msgid "Bratislava region" -msgstr "" +msgstr "An Bhratasláiv réigiún" #: contrib/localflavor/sk/sk_regions.py:10 msgid "Kosice region" -msgstr "" +msgstr "Kosice réigiún" #: contrib/localflavor/sk/sk_regions.py:11 msgid "Nitra region" -msgstr "" +msgstr "Nitra réigiún" #: contrib/localflavor/sk/sk_regions.py:12 msgid "Presov region" -msgstr "" +msgstr "Presov réigiún" #: contrib/localflavor/sk/sk_regions.py:13 msgid "Trencin region" -msgstr "" +msgstr "Trencin réigiún" #: contrib/localflavor/sk/sk_regions.py:14 msgid "Trnava region" -msgstr "" +msgstr "Trnava réigiún" #: contrib/localflavor/sk/sk_regions.py:15 msgid "Zilina region" -msgstr "" +msgstr "Zilina réigiún" #: contrib/localflavor/uk/forms.py:21 msgid "Enter a valid postcode." -msgstr "" +msgstr "Iontráil postchód bailí." #: contrib/localflavor/uk/uk_regions.py:11 msgid "Bedfordshire" -msgstr "" +msgstr "Bedfordshire" #: contrib/localflavor/uk/uk_regions.py:12 msgid "Buckinghamshire" -msgstr "" +msgstr "Buckinghamshire" #: contrib/localflavor/uk/uk_regions.py:14 msgid "Cheshire" -msgstr "" +msgstr "Cheshire" #: contrib/localflavor/uk/uk_regions.py:15 msgid "Cornwall and Isles of Scilly" -msgstr "" +msgstr "Corn na Breataine agus na Oileáin Scilly" #: contrib/localflavor/uk/uk_regions.py:16 msgid "Cumbria" -msgstr "" +msgstr "Cumbria" #: contrib/localflavor/uk/uk_regions.py:17 msgid "Derbyshire" -msgstr "" +msgstr "Derbyshire" #: contrib/localflavor/uk/uk_regions.py:18 msgid "Devon" -msgstr "" +msgstr "Devon" #: contrib/localflavor/uk/uk_regions.py:19 msgid "Dorset" -msgstr "" +msgstr "Dorset" #: contrib/localflavor/uk/uk_regions.py:20 msgid "Durham" -msgstr "" +msgstr "Durham" #: contrib/localflavor/uk/uk_regions.py:21 msgid "East Sussex" -msgstr "" +msgstr "East Sussex" #: contrib/localflavor/uk/uk_regions.py:22 msgid "Essex" -msgstr "" +msgstr "Essex" #: contrib/localflavor/uk/uk_regions.py:23 msgid "Gloucestershire" -msgstr "" +msgstr "Gloucestershire" #: contrib/localflavor/uk/uk_regions.py:24 msgid "Greater London" -msgstr "" +msgstr "Greater London" #: contrib/localflavor/uk/uk_regions.py:25 msgid "Greater Manchester" -msgstr "" +msgstr "Greater Manchester" #: contrib/localflavor/uk/uk_regions.py:26 msgid "Hampshire" -msgstr "" +msgstr "Hampshire" #: contrib/localflavor/uk/uk_regions.py:27 msgid "Hertfordshire" -msgstr "" +msgstr "Hertfordshire" #: contrib/localflavor/uk/uk_regions.py:28 msgid "Kent" -msgstr "" +msgstr "Kent" #: contrib/localflavor/uk/uk_regions.py:29 msgid "Lancashire" -msgstr "" +msgstr "Lancashire" #: contrib/localflavor/uk/uk_regions.py:30 msgid "Leicestershire" -msgstr "" +msgstr "Leicestershire" #: contrib/localflavor/uk/uk_regions.py:31 msgid "Lincolnshire" -msgstr "" +msgstr "Lincolnshire" #: contrib/localflavor/uk/uk_regions.py:32 msgid "Merseyside" -msgstr "" +msgstr "Merseyside" #: contrib/localflavor/uk/uk_regions.py:33 msgid "Norfolk" -msgstr "" +msgstr "Norfolk" #: contrib/localflavor/uk/uk_regions.py:34 msgid "North Yorkshire" -msgstr "" +msgstr "North Yorkshire" #: contrib/localflavor/uk/uk_regions.py:35 msgid "Northamptonshire" -msgstr "" +msgstr "Northamptonshire" #: contrib/localflavor/uk/uk_regions.py:36 msgid "Northumberland" -msgstr "" +msgstr "Northumberland" #: contrib/localflavor/uk/uk_regions.py:37 msgid "Nottinghamshire" -msgstr "" +msgstr "Nottinghamshire" #: contrib/localflavor/uk/uk_regions.py:38 msgid "Oxfordshire" -msgstr "" +msgstr "Oxfordshire" #: contrib/localflavor/uk/uk_regions.py:39 msgid "Shropshire" -msgstr "" +msgstr "Shropshire" #: contrib/localflavor/uk/uk_regions.py:40 msgid "Somerset" -msgstr "" +msgstr "Somerset" #: contrib/localflavor/uk/uk_regions.py:41 msgid "South Yorkshire" -msgstr "" +msgstr "South Yorkshire" #: contrib/localflavor/uk/uk_regions.py:42 msgid "Staffordshire" -msgstr "" +msgstr "Staffordshire" #: contrib/localflavor/uk/uk_regions.py:43 msgid "Suffolk" -msgstr "" +msgstr "Suffolk" #: contrib/localflavor/uk/uk_regions.py:44 msgid "Surrey" -msgstr "" +msgstr "Surrey" #: contrib/localflavor/uk/uk_regions.py:45 msgid "Tyne and Wear" -msgstr "" +msgstr "Tyne and Wear" #: contrib/localflavor/uk/uk_regions.py:46 msgid "Warwickshire" -msgstr "" +msgstr "Warwickshire" #: contrib/localflavor/uk/uk_regions.py:47 msgid "West Midlands" -msgstr "" +msgstr "West Midlands" #: contrib/localflavor/uk/uk_regions.py:48 msgid "West Sussex" -msgstr "" +msgstr "West Sussex" #: contrib/localflavor/uk/uk_regions.py:49 msgid "West Yorkshire" -msgstr "" +msgstr "West Yorkshire" #: contrib/localflavor/uk/uk_regions.py:50 msgid "Wiltshire" -msgstr "" +msgstr "Wiltshire" #: contrib/localflavor/uk/uk_regions.py:51 msgid "Worcestershire" -msgstr "" +msgstr "Worcestershire" #: contrib/localflavor/uk/uk_regions.py:55 msgid "County Antrim" -msgstr "" +msgstr "Contae Aontroma" #: contrib/localflavor/uk/uk_regions.py:56 msgid "County Armagh" -msgstr "" +msgstr "Contae Ard Mhacha" #: contrib/localflavor/uk/uk_regions.py:57 msgid "County Down" -msgstr "" +msgstr "Contae an Dúin" #: contrib/localflavor/uk/uk_regions.py:58 msgid "County Fermanagh" -msgstr "" +msgstr "Contae Fhear Manach" #: contrib/localflavor/uk/uk_regions.py:59 msgid "County Londonderry" -msgstr "" +msgstr "Contae Dhoire" #: contrib/localflavor/uk/uk_regions.py:60 msgid "County Tyrone" -msgstr "" +msgstr "Contae Thír Eoghain" #: contrib/localflavor/uk/uk_regions.py:64 msgid "Clwyd" -msgstr "" +msgstr "Clwyd" #: contrib/localflavor/uk/uk_regions.py:65 msgid "Dyfed" -msgstr "" +msgstr "Dyfed" #: contrib/localflavor/uk/uk_regions.py:66 msgid "Gwent" -msgstr "" +msgstr "Gwent" #: contrib/localflavor/uk/uk_regions.py:67 msgid "Gwynedd" -msgstr "" +msgstr "Gwynedd" #: contrib/localflavor/uk/uk_regions.py:68 msgid "Mid Glamorgan" -msgstr "" +msgstr "Mid Glamorgan" #: contrib/localflavor/uk/uk_regions.py:69 msgid "Powys" -msgstr "" +msgstr "Powys" #: contrib/localflavor/uk/uk_regions.py:70 msgid "South Glamorgan" -msgstr "" +msgstr "South Glamorgan" #: contrib/localflavor/uk/uk_regions.py:71 msgid "West Glamorgan" -msgstr "" +msgstr "West Glamorgan" #: contrib/localflavor/uk/uk_regions.py:75 msgid "Borders" -msgstr "" +msgstr "Borders" #: contrib/localflavor/uk/uk_regions.py:76 msgid "Central Scotland" -msgstr "" +msgstr "Central Albain" #: contrib/localflavor/uk/uk_regions.py:77 msgid "Dumfries and Galloway" -msgstr "" +msgstr "Dumfries agus Galloway" #: contrib/localflavor/uk/uk_regions.py:78 msgid "Fife" -msgstr "" +msgstr "Fife" #: contrib/localflavor/uk/uk_regions.py:79 msgid "Grampian" -msgstr "" +msgstr "Grampian" #: contrib/localflavor/uk/uk_regions.py:80 msgid "Highland" -msgstr "" +msgstr "Highland" #: contrib/localflavor/uk/uk_regions.py:81 msgid "Lothian" -msgstr "" +msgstr "Lothian" #: contrib/localflavor/uk/uk_regions.py:82 msgid "Orkney Islands" -msgstr "" +msgstr "na hOiléain Orkney" #: contrib/localflavor/uk/uk_regions.py:83 msgid "Shetland Islands" -msgstr "" +msgstr "na hOiléain Shetland" #: contrib/localflavor/uk/uk_regions.py:84 msgid "Strathclyde" -msgstr "" +msgstr "Strathclyde" #: contrib/localflavor/uk/uk_regions.py:85 msgid "Tayside" -msgstr "" +msgstr "Tayside" #: contrib/localflavor/uk/uk_regions.py:86 msgid "Western Isles" -msgstr "" +msgstr "Oileáin Iarthair" #: contrib/localflavor/uk/uk_regions.py:90 msgid "England" @@ -3557,25 +4233,49 @@ msgstr "Albain" msgid "Wales" msgstr "An Bhreatain Bheag" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." -msgstr "" +msgstr "Iontráil zip-cód i bhformáid XXXXX nó XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Ní mór uimhreacha teileafóin a chur i format XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." -msgstr "" +msgstr "Iontráil uimhir Slándáil Shóisialta US bailí i bhformáid XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Iontráil US stát nó i gcríoch." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "U.S. stát (dhá litreacha móra)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Uimhir telefón" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Iontráil CI bailí a roinnt i X.XXX.XXX-X, XXXXXXX-X nó XXXXXXXX formáid." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Cuir isteach uimhir IC bailí." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" -msgstr "" +msgstr "Iontráil uimhir ID hAfraice Theas bailí" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" -msgstr "" +msgstr "Iontráil cód poist na hAfraice Theas bailí" #: contrib/localflavor/za/za_provinces.py:4 msgid "Eastern Cape" -msgstr "" +msgstr "Eastern Cape" #: contrib/localflavor/za/za_provinces.py:5 msgid "Free State" @@ -3583,23 +4283,23 @@ msgstr "Saorstát" #: contrib/localflavor/za/za_provinces.py:6 msgid "Gauteng" -msgstr "" +msgstr "Gauteng" #: contrib/localflavor/za/za_provinces.py:7 msgid "KwaZulu-Natal" -msgstr "" +msgstr "KwaZulu-Natal" #: contrib/localflavor/za/za_provinces.py:8 msgid "Limpopo" -msgstr "" +msgstr "Limpopo" #: contrib/localflavor/za/za_provinces.py:9 msgid "Mpumalanga" -msgstr "" +msgstr "Mpumalanga" #: contrib/localflavor/za/za_provinces.py:10 msgid "Northern Cape" -msgstr "" +msgstr "Northern Cape" #: contrib/localflavor/za/za_provinces.py:11 msgid "North West" @@ -3607,27 +4307,26 @@ msgstr "Iarthuaisceart" #: contrib/localflavor/za/za_provinces.py:12 msgid "Western Cape" -msgstr "" +msgstr "Western Cape" + +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "teachtaireacht leisciúil" #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "atreoraigh ó" #: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." -msgstr "" -"Teastaíonn dearbhchosán gan ainm fearainn. Sampla '/events/search/'." +msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." +msgstr "Teastaíonn dearbhchosán gan ainm fearainn. Sampla '/events/search/'." #: contrib/redirects/models.py:9 msgid "redirect to" msgstr "atreoraigh go dtí" #: contrib/redirects/models.py:10 -msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." +msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." msgstr "Is féidir dearbhchosán nó URL lán ag tosnú le 'http://'." #: contrib/redirects/models.py:13 @@ -3670,504 +4369,398 @@ msgstr "ainm taispeáinta" msgid "sites" msgstr "suíomhanna" -#: core/validators.py:80 -msgid "This value must contain only letters, numbers, underscores or hyphens." -msgstr "Níl ach litreacha, uimhreacha, fílínta agus daiseanna ceadaithe." +#: core/validators.py:20 +#: forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Cuir luach bailí isteach." -#: core/validators.py:84 -msgid "Uppercase letters are not allowed here." -msgstr "Níl cás uachtair ceadaithe anseo." +#: core/validators.py:87 +#: forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Cuir URL bailí isteach." -#: core/validators.py:88 -msgid "Lowercase letters are not allowed here." -msgstr "Nil cás íochtair ceadaithe anseo." - -#: core/validators.py:95 -msgid "Enter only digits separated by commas." -msgstr "Cuir isteach digite amháin anseo scartha le camóg." - -#: core/validators.py:107 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Cuir isteach r-phostanna bailí scartha le camóige." - -#: core/validators.py:111 -msgid "Please enter a valid IP address." -msgstr "Le do thoil cuir isteach seoladh IP bailí." - -#: core/validators.py:115 -msgid "Empty values are not allowed here." -msgstr "Níl méideanna folmh ceadaithe anseo." - -#: core/validators.py:119 -msgid "Non-numeric characters aren't allowed here." -msgstr "Níl ach uimhreacha ceadaithe anseo." +#: core/validators.py:89 +#: forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Dealraíonn sé gur nasc briste é an URL seo." #: core/validators.py:123 -msgid "This value can't be comprised solely of digits." -msgstr "Cathaigh níos mó ná digite amháin sa méid seo." +#: forms/fields.py:873 +msgid "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "Cuir 'slug' bailí isteach atá déanta as litreacha, uimhreacha, fostríoca nó fleiscíní." -#: core/validators.py:128 forms/fields.py:161 -msgid "Enter a whole number." -msgstr "Cuir isteach uimhir lán." +#: core/validators.py:126 +#: forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Cuir seoladh bailí IPv4 isteach." -#: core/validators.py:132 -msgid "Only alphabetical characters are allowed here." -msgstr "" +#: core/validators.py:129 +#: db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "Ná cuir isteach ach digití scartha ag camóga." -#: core/validators.py:147 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Bí cinnte nach bhfuil níos lú ná %(limit_value)s (it is %(show_value)s)." + +#: core/validators.py:153 +#: forms/fields.py:205 +#: forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Bí cinnte go bhfuil an luach seo cothrom le nó níos lú ná %(limit_value)s." + +#: core/validators.py:158 +#: forms/fields.py:206 +#: forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Bí cinnte go bhfuil an luach seo cothrom le nó níos mó ná %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "Ensure this value has at least %(limit_value)d characters (it has %(show_value)d)." +msgstr "Bí cinnte nach bhfuil níos lú ná %(limit_value)d carachtar sa luach seo (it has %(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "Ensure this value has at most %(limit_value)d characters (it has %(show_value)d)." +msgstr "Bí cinnte nach bhfuil níos mó ná %(limit_value)d carachtar sa luach seo %(show_value)d)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "Ní mór a bheith %(field_name)s uathúil don %(date_field)s %(lookup)s." + +#: db/models/base.py:837 +#: db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Tá %(model_name)s leis an %(field_label)s seo ann cheana." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Níl %r luach rogha bailí." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Ní cheadaítear luach nialasach sa réimse seo." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Ní cheadaítear luach nialasach sa réimse seo." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Réimse de Cineál: %(field_type)s" + +#: db/models/fields/__init__.py:451 +#: db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 +#: db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Slánuimhir" + +#: db/models/fields/__init__.py:455 +#: db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Ní mór don luach seo a bheith ina shlánuimhir." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Ní mór don luach seo a bheith Fíor nó Bréagach." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Boole" + +#: db/models/fields/__init__.py:539 +#: db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Teaghrán (suas go %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Slánuimhireacha camóg-scartha" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Dáta (gan am)" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Cuir dáta bailí isteach, san fhormáid BBBB-MM-LL." + +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" -msgstr "" +msgstr "Dáta neamhbhailí: %s" -#: core/validators.py:152 db/models/fields/__init__.py:569 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "" - -#: core/validators.py:157 -msgid "Enter a valid time in HH:MM format." -msgstr "" - -#: core/validators.py:161 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "" - -#: core/validators.py:166 forms/fields.py:412 -msgid "Enter a valid e-mail address." -msgstr "" - -#: core/validators.py:178 core/validators.py:470 forms/fields.py:430 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" - -#: core/validators.py:189 forms/fields.py:461 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" - -#: core/validators.py:196 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "" - -#: core/validators.py:200 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" - -#: core/validators.py:208 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "" - -#: core/validators.py:212 -msgid "A valid URL is required." -msgstr "" - -#: core/validators.py:226 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" - -#: core/validators.py:233 -#, python-format -msgid "Badly formed XML: %s" -msgstr "" - -#: core/validators.py:250 -#, python-format -msgid "Invalid URL: %s" -msgstr "" - -#: core/validators.py:255 core/validators.py:257 -#, python-format -msgid "The URL %s is a broken link." -msgstr "" - -#: core/validators.py:263 -msgid "Enter a valid U.S. state abbreviation." -msgstr "" - -#: core/validators.py:277 -#, python-format -msgid "Watch your mouth! The word %s is not allowed here." -msgstr "" - -#: core/validators.py:284 -#, python-format -msgid "This field must match the '%s' field." -msgstr "" - -#: core/validators.py:303 -msgid "Please enter something for at least one field." -msgstr "" - -#: core/validators.py:312 core/validators.py:323 -msgid "Please enter both fields or leave them both empty." -msgstr "" - -#: core/validators.py:331 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "" - -#: core/validators.py:344 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "" - -#: core/validators.py:363 -msgid "Duplicate values are not allowed." -msgstr "" - -#: core/validators.py:378 -#, python-format -msgid "This value must be between %(lower)s and %(upper)s." -msgstr "" - -#: core/validators.py:380 -#, python-format -msgid "This value must be at least %s." -msgstr "" - -#: core/validators.py:382 -#, python-format -msgid "This value must be no more than %s." -msgstr "" - -#: core/validators.py:423 -#, python-format -msgid "This value must be a power of %s." -msgstr "" - -#: core/validators.py:433 -msgid "Please enter a valid decimal number." -msgstr "" - -#: core/validators.py:440 -#, 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 "" - -#: core/validators.py:443 -#, 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 "" - -#: core/validators.py:446 -#, 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 "" - -#: core/validators.py:454 -msgid "Please enter a valid floating point number." -msgstr "" - -#: core/validators.py:463 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "" - -#: core/validators.py:464 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "" - -#: core/validators.py:481 -msgid "The format for this field is wrong." -msgstr "" - -#: core/validators.py:496 -msgid "This field is invalid." -msgstr "" - -#: core/validators.py:532 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "" - -#: core/validators.py:535 -#, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" - -#: core/validators.py:568 -#, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" - -#: core/validators.py:572 -#, 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:577 -#, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" - -#: core/validators.py:582 -#, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" - -#: core/validators.py:586 -#, 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:591 -#, 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:304 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "" - -#: db/models/fields/__init__.py:46 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "" - -#: db/models/fields/__init__.py:170 db/models/fields/__init__.py:343 -#: db/models/fields/files.py:168 db/models/fields/files.py:179 -#: forms/fields.py:52 oldforms/__init__.py:370 -msgid "This field is required." -msgstr "" - -#: db/models/fields/__init__.py:457 -msgid "This value must be an integer." -msgstr "" - -#: db/models/fields/__init__.py:503 -msgid "This value must be either True or False." -msgstr "" - -#: db/models/fields/__init__.py:532 -msgid "This field cannot be null." -msgstr "" - -#: db/models/fields/__init__.py:634 db/models/fields/__init__.py:651 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." -msgstr "" +msgstr "Cuir dáta/am bailí isteach, san fhormáid BBBB-MM-LL UU:NN[:ss[.uuuuuu]]." -#: db/models/fields/__init__.py:707 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Dáta (le am)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." -msgstr "" +msgstr "Ní mór don luach seo a bheith ina uimhir dheachúlach." -#: db/models/fields/__init__.py:854 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Uimhir deachúlach" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "R-phost" + +#: db/models/fields/__init__.py:799 +#: db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Conair comhaid" + +#: db/models/fields/__init__.py:822 +msgid "This value must be a float." +msgstr "Ní mór go mbeadh an luach snámhpointe." + +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Snámhphointe" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Mór (8 byte) slánuimhi" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." -msgstr "" +msgstr "Ní mór don luach seo a bheith Faic, Fíor nó Bréagach." -#: db/models/fields/__init__.py:969 db/models/fields/__init__.py:982 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Boole (Fíor, Bréagach nó Dada)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "téacs" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "am" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." -msgstr "" +msgstr "Cuir am bailí isteach san fhormáid UU:NN[:ss[.uuuuuu]]." -#: db/models/fields/files.py:188 -msgid "Enter a valid filename." -msgstr "" +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "Téacs XML" -#: db/models/fields/related.py:92 +#: db/models/fields/related.py:799 #, python-format -msgid "Please enter a valid %s." -msgstr "" +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Níl %(model)s le eochair %(pk)r ann." -#: db/models/fields/related.py:759 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Eochair Eachtracha (cineál a chinnfear de réir réimse a bhaineann)" -#: db/models/fields/related.py:839 +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Duine-le-duine caidreamh" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Go leor le go leor caidreamh" + +#: db/models/fields/related.py:1000 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Ar ríomhaire Mac, coinnigh an eochair \"Control\" nó \"Command\" síos chun níos mó ná rud amháin a roghnú." + +#: db/models/fields/related.py:1061 #, 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 "" +msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "Cuir aitheantas bailí %(self)s isteach. Tá an luach %(value)r neamhbhailí." +msgstr[1] "Cuir aitheantas bailí %(self)s isteach. Tá na luachanna %(value)r neamhbhailí." +msgstr[2] "Cuir aitheantas bailí %(self)s isteach. Tá na luachanna %(value)r neamhbhailí." +msgstr[3] "Cuir aitheantas bailí %(self)s isteach. Tá na luachanna %(value)r neamhbhailí." +msgstr[4] "Cuir aitheantas bailí %(self)s isteach. Tá na luachanna %(value)r neamhbhailí." -#: forms/fields.py:53 -msgid "Enter a valid value." -msgstr "" +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Tá an réimse seo riachtanach." -#: forms/fields.py:133 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" +#: forms/fields.py:204 +msgid "Enter a whole number." +msgstr "Cuir slánuimhir isteach." -#: forms/fields.py:134 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" - -#: forms/fields.py:162 forms/fields.py:191 forms/fields.py:220 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "" - -#: forms/fields.py:163 forms/fields.py:192 forms/fields.py:221 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "" - -#: forms/fields.py:190 forms/fields.py:219 +#: forms/fields.py:235 +#: forms/fields.py:256 msgid "Enter a number." -msgstr "" +msgstr "Cuir uimhir isteach." -#: forms/fields.py:222 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." -msgstr "" +msgstr "Bí cinnte nach bhfuil níos mó ná %s digit ann." -#: forms/fields.py:223 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." -msgstr "" +msgstr "Bí cinnte nach bhfuil níos mó ná %s ionad deachúlach ann." -#: forms/fields.py:224 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "" +msgstr "Bí cinnte nach bhfuil níos mó ná %s digit roimh an bpointe deachúlach." -#: forms/fields.py:272 forms/fields.py:793 +#: forms/fields.py:323 +#: forms/fields.py:838 msgid "Enter a valid date." -msgstr "" +msgstr "Cuir dáta bailí isteach." -#: forms/fields.py:305 forms/fields.py:794 +#: forms/fields.py:351 +#: forms/fields.py:839 msgid "Enter a valid time." -msgstr "" +msgstr "Cuir am bailí isteach." -#: forms/fields.py:344 +#: forms/fields.py:377 msgid "Enter a valid date/time." -msgstr "" +msgstr "Cuir dáta/am bailí isteach." -#: forms/fields.py:431 +#: forms/fields.py:435 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Níor seoladh comhad. Deimhnigh cineál an ionchódaithe ar an bhfoirm." + +#: forms/fields.py:436 msgid "No file was submitted." -msgstr "" +msgstr "Níor seoladh aon chomhad." -#: forms/fields.py:432 oldforms/__init__.py:689 +#: forms/fields.py:437 msgid "The submitted file is empty." -msgstr "" +msgstr "Tá an comhad a seoladh folamh." -#: forms/fields.py:522 -msgid "Enter a valid URL." -msgstr "" +#: forms/fields.py:438 +#, python-format +msgid "Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "Cinntiú go bhfuil níos lú ná %(max)d carachtair (tá sé %(length)d) ag ainm an chomhaid seo." -#: forms/fields.py:523 -msgid "This URL appears to be a broken link." -msgstr "" +#: forms/fields.py:473 +msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." +msgstr "Uasluchtaigh íomhá bhailí. Níorbh íomhá é an comhad a d'uasluchtaigh tú, nó b'íomhá thruaillithe é." -#: forms/fields.py:591 forms/fields.py:642 +#: forms/fields.py:596 +#: forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" +msgstr "Déan rogha bhailí. Ní ceann de na roghanna é %(value)s." -#: forms/fields.py:643 forms/fields.py:704 forms/models.py:528 +#: forms/fields.py:672 +#: forms/fields.py:734 +#: forms/models.py:1002 msgid "Enter a list of values." -msgstr "" +msgstr "Cuir liosta de luachanna isteach." -#: forms/fields.py:822 -msgid "Enter a valid IPv4 address." -msgstr "" +#: forms/formsets.py:298 +#: forms/formsets.py:300 +msgid "Order" +msgstr "Ord" -#: forms/models.py:461 +#: forms/models.py:562 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Le do thoil ceartaigh an sonra dúbail le %(field)s." + +#: forms/models.py:566 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Ceart le do thoil na sonraí a dhúbailt le haghaidh %(field)s, chaithfidh a bheith uathúil." + +#: forms/models.py:572 +#, python-format +msgid "Please correct the duplicate data for %(field_name)s which must be unique for the %(lookup)s in %(date_field)s." +msgstr "Ceart le do thoil na sonraí a dhúbailt le haghaidh %(field_name)s ní mór a bheith uaithúil le haghaidh an %(lookup)s i %(date_field)s." + +#: forms/models.py:580 +msgid "Please correct the duplicate values below." +msgstr "Le do thoil ceartaigh na luachanna dúbail thíos." + +#: forms/models.py:855 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "Ní raibh an eochair eachtrach comhoiriúnach leis an tuismitheoir ásc príomh-eochair." + +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" +msgstr "Déan rogha bhailí. Ní ceann de na roghanna é do roghasa." -#: forms/models.py:529 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." -msgstr "" +msgstr "Déan rogha bhailí. Ní ceann de na roghanna é %s." -#: oldforms/__init__.py:405 +#: forms/models.py:1005 #, python-format -msgid "Ensure your text is less than %s character." -msgstr "" +msgid "\"%s\" is not a valid value for a primary key." +msgstr "Níl \"%s\" luach bailí le príomh-eochair." -#: oldforms/__init__.py:410 -msgid "Line breaks are not allowed here." -msgstr "" - -#: oldforms/__init__.py:508 oldforms/__init__.py:582 oldforms/__init__.py:621 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "" - -#: oldforms/__init__.py:750 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "" - -#: oldforms/__init__.py:760 -msgid "Enter a positive number." -msgstr "" - -#: oldforms/__init__.py:770 -msgid "Enter a whole number between 0 and 32,767." -msgstr "" - -#: template/defaultfilters.py:698 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "tá, níl, b'fhéidir" -#: template/defaultfilters.py:729 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" -msgstr "" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d beart" +msgstr[1] "%(size)d bearta" +msgstr[2] "%(size)d bearta" +msgstr[3] "%(size)d bearta" +msgstr[4] "%(size)d bearta" -#: template/defaultfilters.py:731 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:733 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:734 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" -#: utils/dateformat.py:41 +#: utils/dateformat.py:42 msgid "p.m." msgstr "p.m." -#: utils/dateformat.py:42 +#: utils/dateformat.py:43 msgid "a.m." msgstr "a.m." -#: utils/dateformat.py:47 +#: utils/dateformat.py:48 msgid "PM" msgstr "PM" -#: utils/dateformat.py:48 +#: utils/dateformat.py:49 msgid "AM" msgstr "AM" -#: utils/dateformat.py:97 +#: utils/dateformat.py:98 msgid "midnight" msgstr "meán oíche" -#: utils/dateformat.py:99 +#: utils/dateformat.py:100 msgid "noon" msgstr "nóin" @@ -4235,23 +4828,28 @@ msgstr "Mí Eanair" msgid "February" msgstr "Mí Feabhra" -#: utils/dates.py:18 utils/dates.py:31 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "March" msgstr "Mí Márta" -#: utils/dates.py:18 utils/dates.py:31 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "April" msgstr "Aibreán" -#: utils/dates.py:18 utils/dates.py:31 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "May" msgstr "Bealtaine" -#: utils/dates.py:18 utils/dates.py:31 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "June" msgstr "Mí an Mheithimh" -#: utils/dates.py:19 utils/dates.py:31 +#: utils/dates.py:19 +#: utils/dates.py:31 msgid "July" msgstr "Mí Iúil" @@ -4351,7 +4949,7 @@ msgstr "Sam" msgid "Dec." msgstr "Nol" -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "nó" @@ -4360,85 +4958,266 @@ msgid "year" msgid_plural "years" msgstr[0] "blian" msgstr[1] "blianta" +msgstr[2] "blianta" +msgstr[3] "blianta" +msgstr[4] "blianta" #: utils/timesince.py:22 msgid "month" msgid_plural "months" msgstr[0] "mí" msgstr[1] "mhí" +msgstr[2] "mhí" +msgstr[3] "mhí" +msgstr[4] "mhí" #: utils/timesince.py:23 msgid "week" msgid_plural "weeks" msgstr[0] "seachtain" msgstr[1] "seachtain" +msgstr[2] "seachtain" +msgstr[3] "seachtain" +msgstr[4] "seachtain" #: utils/timesince.py:24 msgid "day" msgid_plural "days" msgstr[0] "lá" msgstr[1] "laethanta" +msgstr[2] "laethanta" +msgstr[3] "laethanta" +msgstr[4] "laethanta" #: utils/timesince.py:25 msgid "hour" msgid_plural "hours" msgstr[0] "uair" msgstr[1] "uair" +msgstr[2] "uair" +msgstr[3] "uair" +msgstr[4] "uair" #: utils/timesince.py:26 msgid "minute" msgid_plural "minutes" msgstr[0] "nóiméad" msgstr[1] "nóiméad" +msgstr[2] "nóiméad" +msgstr[3] "nóiméad" +msgstr[4] "nóiméad" -#: utils/timesince.py:46 +#: utils/timesince.py:45 msgid "minutes" msgstr "nóiméad" -#: utils/timesince.py:51 +#: utils/timesince.py:50 #, python-format msgid "%(number)d %(type)s" -msgstr "" +msgstr "%(number)d %(type)s" -#: utils/timesince.py:57 +#: utils/timesince.py:56 #, python-format msgid ", %(number)d %(type)s" -msgstr "" +msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:518 msgid "DATE_FORMAT" -msgstr "DATE_FORMAT" +msgstr "N j, Y" -#: utils/translation/trans_real.py:402 +#: utils/translation/trans_real.py:519 msgid "DATETIME_FORMAT" msgstr "DATETIME_FORMAT" -#: utils/translation/trans_real.py:403 +#: utils/translation/trans_real.py:520 msgid "TIME_FORMAT" -msgstr "TIME_FORMAT" +msgstr "P" -#: utils/translation/trans_real.py:419 +#: utils/translation/trans_real.py:541 msgid "YEAR_MONTH_FORMAT" -msgstr "YEAR_MONTH_FORMAT" +msgstr "F Y" -#: utils/translation/trans_real.py:420 +#: utils/translation/trans_real.py:542 msgid "MONTH_DAY_FORMAT" -msgstr "MONTH_DAY_FORMAT" +msgstr "F j" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." -msgstr "" +msgstr "D'éirigh le cruthú %(verbose_name)s." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." -msgstr "" +msgstr "D'éirigh le nuashonrú %(verbose_name)s." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." -msgstr "" +msgstr "Scriosadh %(verbose_name)s." +#~ msgid "" +#~ "0 of %(total_count)s %(module_name)s selected" +#~ msgstr "" +#~ "0 de%(total_count)s %(module_name)s " +#~ "roghnaithe" +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "Ceann amhain nó níos mó %(fieldname)s in %(name)s: %(obj)s" +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "Ceann amhain nó níos mó %(fieldname)s in %(name)s:" +#~ msgid "Old password:" +#~ msgstr "Sean-focal faire" +#~ msgid "Add user" +#~ msgstr "Cuir úsaideoir le" +#~ msgid "Relation to parent model" +#~ msgstr "Cine do samhail máthair" +#~ msgid "Comment moderation queue" +#~ msgstr "Ciú modhnóireacht nótaí tráchta" +#~ msgid "No comments to moderate" +#~ msgstr "Dada nótaí tráchta le modhnóireacht" +#~ msgid "Email" +#~ msgstr "R-phost" +#~ msgid "Authenticated?" +#~ msgstr "Fhíordheimhniú?" +#~ msgid "IP Address" +#~ msgstr "Seol IP" +#~ msgid "Date posted" +#~ msgstr "Dáta teacht isteach" +#~ msgid "yes" +#~ msgstr "tá" +#~ msgid "no" +#~ msgstr "níl" +#~ msgid "DATE_WITH_TIME_FULL" +#~ msgstr "DATE_WITH_TIME_FULL" +#~ msgid "headline" +#~ msgstr "ceannlíne" +#~ msgid "rating #1" +#~ msgstr "rátáil #1" +#~ msgid "rating #2" +#~ msgstr "rátáil #2" +#~ msgid "rating #3" +#~ msgstr "rátáil #3" +#~ msgid "rating #4" +#~ msgstr "rátáil #4" +#~ msgid "rating #5" +#~ msgstr "rátáil #5" +#~ msgid "rating #6" +#~ msgstr "rátáil #6" +#~ msgid "rating #7" +#~ msgstr "rátáil #7" +#~ msgid "rating #8" +#~ msgstr "rátáil #8" +#~ msgid "is valid rating" +#~ msgstr "is rátáil bailí" +#~ msgid "Content object" +#~ msgstr "Oibiacht inneachar" +#~ msgid "person's name" +#~ msgstr "Ainm" +#~ msgid "ip address" +#~ msgstr "seoladh ip" +#~ msgid "approved by staff" +#~ msgstr "ceadaithe tríd an foireann" +#~ msgid "free comments" +#~ msgstr "Nótaí tráchtaí saoire" +#~ msgid "score" +#~ msgstr "scór" +#~ msgid "score date" +#~ msgstr "Dáta scór" +#~ msgid "karma score" +#~ msgstr "Scór karma" +#~ msgid "karma scores" +#~ msgstr "Scóra karma" +#~ msgid "%(score)d rating by %(user)s" +#~ msgstr "%(score)d rátailte trí %(user)s" +#~ msgid "" +#~ "This comment was flagged by %(user)s:\n" +#~ "\n" +#~ "%(text)s" +#~ msgstr "" +#~ "Bhí bratach curtha leis an nóta tráchta seo trí %(user)s:\n" +#~ "\n" +#~ "%(text)s" +#~ msgid "flag date" +#~ msgstr "Dáta brait" +#~ msgid "user flag" +#~ msgstr "Brat úsáideoir" +#~ msgid "user flags" +#~ msgstr "Brait úsáideoira" +#~ msgid "Flag by %r" +#~ msgstr "Cuir brat leis roimh %r" +#~ msgid "deletion date" +#~ msgstr "Dáta scrioseadh" +#~ msgid "moderator deletions" +#~ msgstr "Scrios modhnóra" +#~ msgid "Moderator deletion by %r" +#~ msgstr "Scrios modhnóir trí %r" +#~ msgid "Forgotten your password?" +#~ msgstr "Dearmad déanta ar do focal faire?" +#~ msgid "Ratings" +#~ msgstr "Rátála" +#~ msgid "Required" +#~ msgstr "Riachtanach" +#~ msgid "Optional" +#~ msgstr "Roghnach" +#~ msgid "Post a photo" +#~ msgstr "Post griangraf" +#~ msgid "Your name:" +#~ msgstr "Do chuid ainm:" +#~ msgid "" +#~ "This rating is required because you've entered at least one other rating." +#~ msgstr "" +#~ "Tá an rátáil seo ag teastail mar cuir tú rátáil amhain eile isteach ar a " +#~ "laghad." +#~ msgid "" +#~ "This comment was posted by a user who has posted fewer than %(count)s " +#~ "comment:\n" +#~ "\n" +#~ "%(text)sThis comment was posted by a user who has posted fewer than %" +#~ "(count)s comments:\n" +#~ "\n" +#~ "%(text)s" +#~ msgstr "" +#~ "Bhí an nóta tráchta póstailte trí úsáideoir a cuir níos lú ná %(count)s " +#~ "nótaí tráchtaí\n" +#~ "\n" +#~ "%(text)sBhí an nóta tráchta póstailte trí úsáideoir a cuir níos lú ná %" +#~ "(count)s nótaí tráchtaí\n" +#~ "\n" +#~ "%(text)s" +#~ msgid "Only POSTs are allowed" +#~ msgstr "POSTs amhain ceadaithe" +#~ msgid "One or more of the required fields wasn't submitted" +#~ msgstr "" +#~ "Níor curtha isteach ceann amhain nó níos mó de na réimse riachtanach" +#~ msgid "Somebody tampered with the comment form (security violation)" +#~ msgstr "" +#~ "Cuir duine éigin isteach leis an foirm nóta tráchta (fadbh slándála)" +#~ msgid "" +#~ "The comment form had an invalid 'target' parameter -- the object ID was " +#~ "invalid" +#~ msgstr "" +#~ "Bhí paraiméadar targaid mícheart ag an foirm nóta tráchta -- bhí ID an " +#~ "oibiacht neamhbhailí" +#~ msgid "The comment form didn't provide either 'preview' or 'post'" +#~ msgstr "Níor sholáthair an foirm nóta tráchta 'réamhamharc' nó 'post'" +#~ msgid "Anonymous users cannot vote" +#~ msgstr "Níl cead ag úsáideoira anaithnid vótáil" +#~ msgid "Invalid comment ID" +#~ msgstr "Nóta tráchta ID neamhbhailí" +#~ msgid "No voting for yourself" +#~ msgstr "Vótáil leat féin coiscthe" +#~ msgid "Uppercase letters are not allowed here." +#~ msgstr "Níl cás uachtair ceadaithe anseo." +#~ msgid "Enter valid e-mail addresses separated by commas." +#~ msgstr "Cuir isteach r-phostanna bailí scartha le camóige." +#~ msgid "Please enter a valid IP address." +#~ msgstr "Le do thoil cuir isteach seoladh IP bailí." +#~ msgid "Empty values are not allowed here." +#~ msgstr "Níl méideanna folmh ceadaithe anseo." +#~ msgid "Non-numeric characters aren't allowed here." +#~ msgstr "Níl ach uimhreacha ceadaithe anseo." +#~ msgid "This value can't be comprised solely of digits." +#~ msgstr "Cathaigh níos mó ná digite amháin sa méid seo." #~ msgid "Gaeilge" #~ msgstr "Gaeilge" + diff --git a/django/conf/locale/ga/LC_MESSAGES/djangojs.mo b/django/conf/locale/ga/LC_MESSAGES/djangojs.mo index ba93d354d12280f5f17ae831ca9c43206d3418d3..17cb0ee0deb8357115ed9d7bbccc15fb21b237ff 100644 GIT binary patch literal 2639 zcmcJQO^g&p6vs$8u%FaHTVqp4fquJ?Rfq>@LBY~2dBYbz-{1f zW8MQFNB=%J1x`WPyWlpE^}G-AcnsnvQZ#J$8pwKYfCSzIdEJ-b9QYN;dVd93&+j1H zy$5~{-UmMgKf|U0SjFNw#CRJ#j{c7@!gh8%DFl9E7n-NR-5~2bIOZJ4aW}vh!6lIW z`d~b6K=$iH5I^w|ni%{T)?5i_uT~X6Q7Lx zx4_%ze*tow$Fb=K_yfpC$T6{Aes)4Qrq>|PLEu7Z0}#(cUV*UgU68F0j!L`^;dpn9 zC)k%)Asp*Vke4Ayv3LQp9l{UC#W8O@e8FNWCbiuVx4jrHK@d(2zEvUeRGL6Y6V~gjtoKbB|LraJGjt z8d75IRc#{bTSq=tbkRq;KS$w+}i; zL*=V<5yy`kGRo|Q^MsYWf8=?RkWtWuL8mG%A9*%P$rh(_Gcx(_sZgQz<^9~q$wI$$ zm(^`aFd}gDPfgb~T<9sJE%Q}z(b+5bHYy8YCHV|1E$LOA4%KFBmD-WYY>f^bt{*wJzjmlr!@|n4TG6cY!F97o z>xbXkkA1c2MVa|Z*GZEl(py)jwno${p>AxQiP_x~>1gOwDz%UEYGBio*k__#Myk?P zGOg2DsdN%4IuXfJiLP1~ot$njw9jnDHCwGsH?8r?z}|2G$Gy7Y4-OKk&2heTE>r&P zcf0eIxy^O#S6{ix857tL*Q`!+J?*C_r9@_vGUIF%8+K6r$LzS&G;{4J!QzZiF8al) zPQ-k%rW5T@Sd@fcQ7o26TBDd`x}~FSniQ*MG*aB@Lj#J{*#yVGF@@q2iFrFxb4J27 zhw3AHv6Iv;R-KpB&^@Q1hEBtrM;;Wl6-OY`m==n=C{2sST_ZE>P*6Qz+(~2B(^7C! zhVkael1XqWnIu^u1~OT`^+M8jB}iPKPz7-SHO7A>MYHK|1n6sOGyLwpnnSCT{l zq`+td(3LtHuujpkDd!iNSj<@$V$jZ0vsja%v>0gN4P}R48)*20$G5MY5evrXTr^Td z&GykP)rZC zVm;09jW1*r7I$!&C_){I`#DnRi@VTDS~@2+a)v|(Fg8%sE!JRVb<0SnSnb7p6{`P_ ze@)bTLQx80)Cw&_{E=l7lSEC9wa-qLPMb-B5F=&~cCns~T-(fw;be_t{d3+>8(500qcxGO>=#!%O6NVyPIC?IYer6|6?#5=)-}qt-}sgyxTXok<$K^`-VBcNZJ}L!H-rAyTJvZ+=o)_5qSp2S;OPof2 E0NwI800000 diff --git a/django/conf/locale/ga/LC_MESSAGES/djangojs.po b/django/conf/locale/ga/LC_MESSAGES/djangojs.po index 0b935f1ea..5838e85d0 100644 --- a/django/conf/locale/ga/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/ga/LC_MESSAGES/djangojs.po @@ -7,110 +7,150 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-09-14 12:33+0100\n" -"PO-Revision-Date: 2008-01-23 11:04+0100\n" +"POT-Creation-Date: 2010-05-10 23:57+0200\n" +"PO-Revision-Date: 2010-05-10 16:34+0100\n" "Last-Translator: Michael Thornhill \n" "Language-Team: Gaeilge \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:37 +#, perl-format +msgid "Available %s" +msgstr "%s ar fáil" + +#: contrib/admin/media/js/SelectFilter2.js:45 +msgid "Choose all" +msgstr "Roghnaigh iomlán" + +#: contrib/admin/media/js/SelectFilter2.js:50 +msgid "Add" +msgstr "Cuir le" + +#: contrib/admin/media/js/SelectFilter2.js:52 +msgid "Remove" +msgstr "Bain amach" + +#: contrib/admin/media/js/SelectFilter2.js:57 +#, perl-format +msgid "Chosen %s" +msgstr "Roghnófar %s" + +#: contrib/admin/media/js/SelectFilter2.js:58 +msgid "Select your choice(s) and click " +msgstr "Roghnaigh do rogha agus cniog" + +#: contrib/admin/media/js/SelectFilter2.js:63 +msgid "Clear all" +msgstr "Glan iomlán" + +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s as %(cnt)s roghnaithe" +msgstr[1] "%(sel)s as %(cnt)s roghnaithe" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Tá aithrithe nach bhfuil sabhailte ar chuid do na réimse. Má ritheann tú " +"gníomh, caillfidh tú do chuid aithrithe." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Tá gníomh roghnaithe agat, ach níl do aithrithe sabhailte ar cuid de na " +"réímse. Clic OK chun iad a sábháil. Caithfidh tú an gníomh a rith arís." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Tá gníomh roghnaithe agat, ach níl do aithrithe sabhailte ar cuid de na " +"réímse. Is dócha go bhfuil tú ag iarraidh an cnaipe Té ná an cnaipe Sábháil." + #: 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 "Eanair Feabhra Márta Aibreán Bealtaine Meitheamh Iúil Lúnasa Mean Fómhair Deireadh Fómhair Nollaig" +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" +"Eanair Feabhra Márta Aibreán Bealtaine Meitheamh Iúil Lúnasa Mean Fómhair " +"Deireadh Fómhair Nollaig" #: contrib/admin/media/js/calendar.js:25 msgid "S M T W T F S" msgstr "D L M C D A S" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Taispeán" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Folaigh" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "Domhnaigh Luain Máirt Céadaoin Déardaoin Aoine Sathairn" -#: contrib/admin/media/js/SelectFilter2.js:33 -#, perl-format -msgid "Available %s" -msgstr "%s ar fáil" - -#: contrib/admin/media/js/SelectFilter2.js:41 -msgid "Choose all" -msgstr "Roghnaigh iomlán" - -#: contrib/admin/media/js/SelectFilter2.js:46 -msgid "Add" -msgstr "Cuir le" - -#: contrib/admin/media/js/SelectFilter2.js:48 -msgid "Remove" -msgstr "Bain amach" - -#: contrib/admin/media/js/SelectFilter2.js:53 -#, perl-format -msgid "Chosen %s" -msgstr "Roghnófar %s" - -#: contrib/admin/media/js/SelectFilter2.js:54 -msgid "Select your choice(s) and click " -msgstr "Roghnaigh do rogha agus cniog" - -#: contrib/admin/media/js/SelectFilter2.js:59 -msgid "Clear all" -msgstr "Glan iomlán" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Anois" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "Clog" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Roghnaigh am" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "Meán oíche" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "6 a.m." -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "Nóin" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Cealaigh" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "Inniu" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Féilire" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "Inné" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "Amárach" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "Taispeán" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "Folaigh" - diff --git a/django/conf/locale/ga/__init__.py b/django/conf/locale/ga/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/ga/formats.py b/django/conf/locale/ga/formats.py new file mode 100644 index 000000000..f177bb28d --- /dev/null +++ b/django/conf/locale/ga/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F Y' +TIME_FORMAT = 'H:i:s' +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'j M Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = '.' +THOUSAND_SEPARATOR = ',' +# NUMBER_GROUPING = diff --git a/django/conf/locale/gl/LC_MESSAGES/django.mo b/django/conf/locale/gl/LC_MESSAGES/django.mo index 491d161b5f3f146fe1752b228911983a6cf2cec1..000caf0de559e5c0a560ccc63b7f7decc798aea4 100644 GIT binary patch delta 10316 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 delta 10315 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 L@qeLZIq?4nev8 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%0A~cN?9$Q1Rli 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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 ed048c76f..176c5ba92 100644 --- a/django/conf/locale/he/LC_MESSAGES/django.po +++ b/django/conf/locale/he/LC_MESSAGES/django.po @@ -1,12 +1,13 @@ # translation of Django. # Copyright (C) 2008 The Django Project # This file is distributed under the same license as the Django package. +# msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-05-08 08:21-0500\n" -"PO-Revision-Date: 2009-05-08 15:31+0100\n" +"POT-Creation-Date: 2010-05-10 12:15+0200\n" +"PO-Revision-Date: 2010-05-09 15:10-0500\n" "Last-Translator: Alex \n" "Language-Team: Django-i18n \n" "MIME-Version: 1.0\n" @@ -14,225 +15,266 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Bookmarks: -1,988,-1,-1,-1,-1,-1,-1,-1,-1\n" +"X-Generator: Lokalize 1.0\n" #: conf/global_settings.py:44 msgid "Arabic" msgstr "ערבית" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "בנגאלית" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "בולגרית" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "בנגאלית" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "בוסנית" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "קאטלונית" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "צ'כית" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "וולשית" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "דנית" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "גרמנית" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "יוונית" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "אנגלית" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "אנגלית בריטית" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "ספרדית" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "אסטונית" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "ספרדית ארגנטינאית" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "אסטונית" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "בסקית" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "פרסית" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "פינית" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "צרפתית" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "פריזית" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "אירית" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" -msgstr "גאליצית" +msgstr "גאליציאנית" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "הונגרית" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "עברית" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "הינדי" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "קרואטית" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "הונגרית" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "אינדונזית" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "איסלנדית" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "איטלקית" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "יפנית" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "גיאורגית" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "קוריאנית" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "חמר" -#: conf/global_settings.py:73 +# זו שפה הודית, אין קשר לקנדה המדינה +#: conf/global_settings.py:76 msgid "Kannada" -msgstr "קנדית" +msgstr "קאנאדה" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "לטבית" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "קוריאנית" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "ליטאית" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "לטבית" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "מקדונית" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Mongolian" +msgstr "מונגולי" + +#: conf/global_settings.py:82 msgid "Dutch" msgstr "הולנדית" -#: conf/global_settings.py:78 +#: conf/global_settings.py:83 msgid "Norwegian" msgstr "נורווגית" -#: conf/global_settings.py:79 +#: conf/global_settings.py:84 +msgid "Norwegian Bokmal" +msgstr "נורבגית ספרותית" + +#: conf/global_settings.py:85 +msgid "Norwegian Nynorsk" +msgstr "נורבגית חדשה" + +#: conf/global_settings.py:86 msgid "Polish" msgstr "פולנית" -#: conf/global_settings.py:80 +#: conf/global_settings.py:87 msgid "Portuguese" msgstr "פורטוגזית" -#: conf/global_settings.py:81 +#: conf/global_settings.py:88 msgid "Brazilian Portuguese" msgstr "פורטוגזית ברזילאית" -#: conf/global_settings.py:82 +#: conf/global_settings.py:89 msgid "Romanian" msgstr "רומנית" -#: conf/global_settings.py:83 +#: conf/global_settings.py:90 msgid "Russian" msgstr "רוסית" -#: conf/global_settings.py:84 +#: conf/global_settings.py:91 msgid "Slovak" msgstr "סלובקית" -#: conf/global_settings.py:85 +#: conf/global_settings.py:92 msgid "Slovenian" msgstr "סלובנית" -#: conf/global_settings.py:86 +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "אלבנית" + +#: conf/global_settings.py:94 msgid "Serbian" msgstr "סרבית" -#: conf/global_settings.py:87 +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "סרבית לטינית" + +#: conf/global_settings.py:96 msgid "Swedish" msgstr "שוודית" -#: conf/global_settings.py:88 +#: conf/global_settings.py:97 msgid "Tamil" msgstr "טמילית" -#: conf/global_settings.py:89 +#: conf/global_settings.py:98 msgid "Telugu" msgstr "טלגו" -#: conf/global_settings.py:90 +#: conf/global_settings.py:99 msgid "Thai" msgstr "תאילנדית" -#: conf/global_settings.py:91 +#: conf/global_settings.py:100 msgid "Turkish" msgstr "טורקית" -#: conf/global_settings.py:92 +#: conf/global_settings.py:101 msgid "Ukrainian" msgstr "אוקראינית" -#: conf/global_settings.py:93 +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "וייטנאמית" + +#: conf/global_settings.py:103 msgid "Simplified Chinese" msgstr "סינית פשוטה" -#: conf/global_settings.py:94 +#: conf/global_settings.py:104 msgid "Traditional Chinese" msgstr "סינית מסורתית" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s היו נמחקו בהצלחה." +msgstr "%(count)d %(items)s נמחקו בהצלחה." -#: contrib/admin/actions.py:67 -#: contrib/admin/options.py:1025 +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "האם את/ה בטוח/ה ?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" -msgstr "מחק את %(verbose_name_plural)s שבחרת בו" +msgstr "מחק %(verbose_name_plural)s שנבחרו" #: contrib/admin/filterspecs.py:44 #, python-format @@ -243,10 +285,8 @@ msgstr "" "

                ע\"י %s:

                \n" "
                  \n" -#: contrib/admin/filterspecs.py:75 -#: contrib/admin/filterspecs.py:92 -#: contrib/admin/filterspecs.py:147 -#: contrib/admin/filterspecs.py:173 +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 msgid "All" msgstr "הכל" @@ -270,22 +310,19 @@ msgstr "החודש" msgid "This year" msgstr "השנה" -#: contrib/admin/filterspecs.py:147 -#: forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "כן" -#: contrib/admin/filterspecs.py:147 -#: forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "לא" -#: contrib/admin/filterspecs.py:154 -#: forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "לא ידוע" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "פעולה" @@ -317,183 +354,189 @@ msgstr "רישום יומן" msgid "log entries" msgstr "רישומי יומן" -#: contrib/admin/options.py:133 -#: contrib/admin/options.py:147 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "ללא" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "%s שונה." -#: contrib/admin/options.py:519 -#: contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 -#: forms/models.py:388 -#: forms/models.py:587 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:568 msgid "and" msgstr "ו" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "התווסף %(name)s \"%(object)s\"." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "שונה %(list)s עבור %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "נמחק %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "אף שדה לא השתנה." -#: contrib/admin/options.py:598 -#: contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "הוספת %(name)s \"%(obj)s\" בוצעה בהצלחה." -#: contrib/admin/options.py:602 -#: contrib/admin/options.py:635 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "ניתן לערוך שוב מתחת" -#: contrib/admin/options.py:612 -#: contrib/admin/options.py:645 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "ניתן להוסיף %s נוסף מתחת." -#: contrib/admin/options.py:633 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "שינוי %(name)s \"%(obj)s\" בוצע בהצלחה." -#: contrib/admin/options.py:641 +#: contrib/admin/options.py:686 #, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "הוספת %(name)s \"%(obj)s\" בוצעה בהצלחה. ניתן לערוך אותו שוב מתחת." -#: contrib/admin/options.py:772 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "יש לסמן פריטים כדי לבצע עליהם פעולות. לא שונו פריטים." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "לא נבחרה פעולה." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "הוספת %s" -#: contrib/admin/options.py:803 -#: contrib/admin/options.py:1003 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "הפריט %(name)s עם המפתח הראשי %(key)r אינו קיים." -#: contrib/admin/options.py:860 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "שינוי %s" -#: contrib/admin/options.py:904 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "שגיאת בסיס נתונים" -#: contrib/admin/options.py:940 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "שינוי %(count)s %(name)s בהצלחה." msgstr[1] "שינוי %(count)s %(name)s בהצלחה." -#: contrib/admin/options.py:1018 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s נבחר" +msgstr[1] "כל ה־%(total_count)s נבחרו" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 מ %(cnt)s נבחרות" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "מחיקת %(name)s \"%(obj)s\" בוצעה בהצלחה." -#: contrib/admin/options.py:1054 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "היסטוריית שינוי: %s" -#: contrib/admin/sites.py:20 -#: contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 -msgid "Please enter a correct username and password. Note that both fields are case-sensitive." -msgstr "נא להזין שם משתמש וסיסמה נכונים. בשני השדות גודל האותיות האנגליות משנה." +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"נא להזין שם משתמש וסיסמה נכונים. בשני השדות גודל האותיות האנגליות משנה." -#: contrib/admin/sites.py:278 -#: contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "עליך להתחבר שנית כי פג הזמן המוקצב לך." -#: contrib/admin/sites.py:285 -#: contrib/admin/views/decorators.py:47 -msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." -msgstr "נראה שהדפדפן שלך אינו מוגדר לקבל עוגיות. נא לאפשר עוגיות, לטעון מחדש את הדף ולנסות שוב." +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"נראה שהדפדפן שלך אינו מוגדר לקבל עוגיות. נא לאפשר עוגיות, לטעון מחדש את הדף " +"ולנסות שוב." -#: contrib/admin/sites.py:301 -#: contrib/admin/sites.py:307 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "שם משתמש אינו יכול להכיל את התו '@'." -#: contrib/admin/sites.py:304 -#: contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "כתובת הדוא\"ל שלך אינה שם המשתמש שלך. נסה/י '%s' במקום." -#: contrib/admin/sites.py:360 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "ניהול אתר" -#: contrib/admin/sites.py:373 -#: contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "כניסה" -#: contrib/admin/sites.py:417 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "ניהול %s" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "אחד או יותר %(fieldname)s ב%(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "אחד או יותר %(fieldname)s ב%(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "תאריך:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "שעה:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "הנוכחי:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "שינוי:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "חפש" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "הוסף עוד אחת" @@ -508,17 +551,17 @@ msgstr "אנו מצטערים, לא ניתן למצוא את הדף המבוקש #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:31 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -540,8 +583,11 @@ 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/actions.html:4 msgid "Run the selected action" @@ -551,34 +597,47 @@ msgstr "הפעל את הפעולה שבחרת בה." msgid "Go" msgstr "בצע" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "לחיצה כאן תבחר את האובייקטים בכל העמודים" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "בחירת כל %(total_count)s ה־%(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "איפוס בחירה" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "שלום," -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "תיעוד" -#: contrib/admin/templates/admin/base.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "שינוי סיסמה" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "יציאה" @@ -590,54 +649,63 @@ msgstr "ניהול אתר Django" msgid "Django administration" msgstr "ניהול Django" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "הוספה" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "היסטוריה" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "צפיה באתר" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "נא לתקן את השגיאה המופיעה מתחת." msgstr[1] "נא לתקן את השגיאות המופיעות מתחת." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "הוספת %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "סינון" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 -#: forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "מחיקה" #: contrib/admin/templates/admin/delete_confirmation.html:16 #, 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' מצריכה מחיקת אובייקטים מקושרים, אך לחשבון שלך אין הרשאות למחיקת סוגי האובייקטים הבאים:" +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:23 #, 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\"? כל הפריטים הקשורים הבאים יימחקו:" +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:28 #: contrib/admin/templates/admin/delete_selected_confirmation.html:33 @@ -650,13 +718,22 @@ msgstr "מחק כמה פריטים" #: contrib/admin/templates/admin/delete_selected_confirmation.html:15 #, python-format -msgid "Deleting the %(object_name)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 מצריכה מחיקת אובייקטים מקושרים, אך לחשבון שלך אין הרשאות למחיקת סוגי האובייקטים הבאים:" +msgid "" +"Deleting the %(object_name)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 מצריכה מחיקת אובייקטים מקושרים, אך לחשבון שלך אין " +"הרשאות למחיקת סוגי האובייקטים הבאים:" #: contrib/admin/templates/admin/delete_selected_confirmation.html:22 #, python-format -msgid "Are you sure you want to delete the selected %(object_name)s objects? All of the following objects and it's related items will be deleted:" -msgstr "האם אתה בטוח שאתה רוצה למחוק את פריטי ה %(object_name)s שנבחרו. כל הפריטים הבאים והחומר הנלווה אליהם יימחקו." +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" +"האם אתה בטוח שאתה רוצה למחוק את פריטי ה %(object_name)s שנבחרו. כל הפריטים " +"הבאים והחומר הנלווה אליהם יימחקו." #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -693,8 +770,13 @@ msgid "Unknown content" msgstr "תוכן לא ידוע" #: 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 "משהו שגוי בהתקנת בסיס הנתונים שלך. נא לוודא שנוצרו טבלאות בסיס הנתונים המתאימות, ובסיס הנתונים ניתן לקריאה על ידי המשתמש המתאים." +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"משהו שגוי בהתקנת בסיס הנתונים שלך. נא לוודא שנוצרו טבלאות בסיס הנתונים " +"המתאימות, ובסיס הנתונים ניתן לקריאה על ידי המשתמש המתאים." #: contrib/admin/templates/admin/login.html:19 msgid "Username:" @@ -713,23 +795,25 @@ msgid "User" msgstr "משתמש" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "פעולה" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "d.m.‏Y H:i:s" - #: contrib/admin/templates/admin/object_history.html:38 -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/pagination.html:10 msgid "Show all" msgstr "הצג הכל" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "שמירה" + #: contrib/admin/templates/admin/search_form.html:8 msgid "Search" msgstr "חיפוש" @@ -746,10 +830,6 @@ msgstr[1] "%(counter)s תוצאות" msgid "%(full_result_count)s total" msgstr "%(full_result_count)s סה\"כ" -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "שמירה" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "שמירה כחדש" @@ -762,41 +842,47 @@ msgstr "שמירה והוספת אחר" msgid "Save and continue editing" 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:5 +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:13 -#: contrib/auth/forms.py:14 -#: contrib/auth/forms.py:47 -#: contrib/auth/forms.py:59 -msgid "Username" -msgstr "שם משתמש" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 -#: contrib/auth/forms.py:60 -#: contrib/auth/forms.py:185 -msgid "Password" -msgstr "סיסמה" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "סיסמה (שוב)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "יש להזין את אותה סיסמה שוב,לאימות." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: 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:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "סיסמה" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "סיסמה (שוב)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "יש להזין את אותה סיסמה שוב,לאימות." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "הוספת %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "להסיר" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "מחיקה ?" @@ -810,9 +896,9 @@ msgid "Log in again" 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 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "שינוי סיסמה" @@ -825,25 +911,25 @@ msgstr "הסיסמה שונתה בהצלחה" 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 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 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "סיסמה חדשה:" - #: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -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:23 +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "סיסמה ישנה" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "סיסמה חדשה" + +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "שנה את סיסמתי" @@ -875,16 +961,30 @@ msgid "Enter new password" msgstr "הזנת סיסמה חדשה" #: contrib/admin/templates/registration/password_reset_confirm.html:14 -msgid "Please enter your new password twice so we can verify you typed it in correctly." +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." msgstr "נא להזין את סיסמתך החדשה פעמיים כדי שנוכל לוודא שהקלדת אותה כראוי." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "סיסמה חדשה:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "אימות סיסמה:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "איפוס הסיסמה נכשל" #: contrib/admin/templates/registration/password_reset_confirm.html:28 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "הקישור לאיפוס הסיסמה אינו חוקי. ייתכן והשתמשו בו כבר. נא לבקש איפוס סיסמה חדש." +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"הקישור לאיפוס הסיסמה אינו חוקי. ייתכן והשתמשו בו כבר. נא לבקש איפוס סיסמה " +"חדש." #: contrib/admin/templates/registration/password_reset_done.html:6 #: contrib/admin/templates/registration/password_reset_done.html:10 @@ -892,8 +992,11 @@ msgid "Password reset successful" msgstr "הסיסמה אופסה בהצלחה" #: contrib/admin/templates/registration/password_reset_done.html:12 -msgid "We've e-mailed you instructions for setting your password to the e-mail address you submitted. You should be receiving it shortly." -msgstr "שלחנו הוראות לקביעת הסיסמה אל כתובת הדוא\"ל שהזנת. ההודעה אמורה להתקבל בקרוב." +msgid "" +"We've e-mailed you instructions for setting your 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" @@ -922,8 +1025,12 @@ msgid "The %(site_name)s team" msgstr "צוות %(site_name)s" #: contrib/admin/templates/registration/password_reset_form.html:12 -msgid "Forgotten your password? Enter your e-mail address below, and we'll e-mail instructions for setting a new one." -msgstr "שכחת את סיסמתך ? נא להזין את כתובת הדוא\"ל מתחת, ואנו נשלח הוראות לקביעת סיסמה חדשה." +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll e-mail " +"instructions for setting a new one." +msgstr "" +"שכחת את סיסמתך ? נא להזין את כתובת הדוא\"ל מתחת, ואנו נשלח הוראות לקביעת " +"סיסמה חדשה." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -933,180 +1040,85 @@ msgstr "כתובת דוא\"ל:" msgid "Reset my password" msgstr "אפס את סיסמתי" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "כל התאריכים" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "בחירת %s" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "בחירת %s לשינוי" -#: contrib/admin/views/template.py:37 -#: contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "אתר" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "תבנית" -#: contrib/admindocs/views.py:58 -#: contrib/admindocs/views.py:60 -#: contrib/admindocs/views.py:62 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "תג:" -#: contrib/admindocs/views.py:91 -#: contrib/admindocs/views.py:93 -#: contrib/admindocs/views.py:95 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "סינון:" -#: contrib/admindocs/views.py:155 -#: contrib/admindocs/views.py:157 -#: contrib/admindocs/views.py:159 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" -msgstr "ה-view:" +msgstr "ה־view:" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "יישום %r לא נמצא" -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "מודל %(model_name)r לא נמצא ביישום %(app_label)r" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "אוביקטי `%(app_label)s.%(data_type)s` קשורים" -#: contrib/admindocs/views.py:206 -#: contrib/admindocs/views.py:228 -#: contrib/admindocs/views.py:242 -#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "מודל:" -#: contrib/admindocs/views.py:237 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "אובייקטי `%(app_label)s.%(object_name)s` קשורים" -#: contrib/admindocs/views.py:242 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "כל %s" -#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "מספר %s" -#: contrib/admindocs/views.py:252 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" -msgstr "Fields on %s objects" +msgstr "שדות באובייקטי %s" -#: contrib/admindocs/views.py:315 -#: contrib/admindocs/views.py:326 -#: contrib/admindocs/views.py:328 -#: contrib/admindocs/views.py:334 -#: contrib/admindocs/views.py:335 -#: contrib/admindocs/views.py:337 -msgid "Integer" -msgstr "מספר שלם" - -#: contrib/admindocs/views.py:316 -msgid "Boolean (Either True or False)" -msgstr "בוליאני (אמת או שקר)" - -#: contrib/admindocs/views.py:317 -#: contrib/admindocs/views.py:336 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "מחרוזת (עד %(max_length)s תווים)" - -#: contrib/admindocs/views.py:318 -msgid "Comma-separated integers" -msgstr "מספרים שלמים מופרדים בפסיקים" - -#: contrib/admindocs/views.py:319 -msgid "Date (without time)" -msgstr "תאריך (ללא שעה)" - -#: contrib/admindocs/views.py:320 -msgid "Date (with time)" -msgstr "תאריך (כולל שעה)" - -#: contrib/admindocs/views.py:321 -msgid "Decimal number" -msgstr "מספר עשרוני" - -#: contrib/admindocs/views.py:322 -msgid "E-mail address" -msgstr "כתובת דוא\"ל" - -#: contrib/admindocs/views.py:323 -#: contrib/admindocs/views.py:324 -#: contrib/admindocs/views.py:327 -msgid "File path" -msgstr "נתיב קובץ" - -#: contrib/admindocs/views.py:325 -msgid "Floating point number" -msgstr "מספר עשרוני" - -#: contrib/admindocs/views.py:329 -#: contrib/comments/models.py:60 -msgid "IP address" -msgstr "כתובת IP" - -#: contrib/admindocs/views.py:331 -msgid "Boolean (Either True, False or None)" -msgstr "בוליאני (אמת, שקר או כלום)" - -#: contrib/admindocs/views.py:332 -msgid "Relation to parent model" -msgstr "יחס למודל אב" - -#: contrib/admindocs/views.py:333 -msgid "Phone number" -msgstr "מספר טלפון" - -#: contrib/admindocs/views.py:338 -msgid "Text" -msgstr "טקסט" - -#: contrib/admindocs/views.py:339 -msgid "Time" -msgstr "זמן" - -#: contrib/admindocs/views.py:340 -#: contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 -#: contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:341 -msgid "U.S. state (two uppercase letters)" -msgstr "מדינה בארה\"ב (שתי אותיות גדולות)" - -#: contrib/admindocs/views.py:342 -msgid "XML text" -msgstr "טקסט XML" - -#: contrib/admindocs/views.py:368 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "לא נראה ש-%s הוא אובייקט urlpattern" @@ -1142,7 +1154,9 @@ msgid "Documentation for this page" msgstr "תיעוד לדף זה" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 -msgid "Jumps you from any page to the documentation for the view that generates that page." +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." msgstr "מקפיץ אותך מכל עמוד לתיעוד התצוגה שייצרה אותו." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 @@ -1150,7 +1164,9 @@ msgid "Show object ID" msgstr "הצג מזהה אובייקט" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 -msgid "Shows the content-type and unique ID for pages that represent a single object." +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." msgstr "מציג את סוג התוכן והמזהה הייחודי לעמודים המייצגים אובייקט בודד." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 @@ -1169,231 +1185,274 @@ msgstr "עריכת אובייקט זה (בחלון חדש)" msgid "As above, but opens the admin page in a new window." msgstr "כנ\"ל, אך דף הניהול ייפתח בחלון חדש." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "מידע אישי" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "הרשאות" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "תאריכים חשובים" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "קבוצות" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "הוספת משתמש" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "הסיסמה שונתה בהצלחה." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "שינוי סיסמה: %s" -#: contrib/auth/forms.py:15 -#: contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." -msgstr "דורש 30 תווים או פחות. תווים אלפאנומריים בלבד (אותיות, ספרות וקווים תחתונים)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "שם משתמש" -#: contrib/auth/forms.py:16 -#: contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "ערך זה חייב להכיל אותיות, ספרות וקווים תחתונים בלבד." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "שדה חובה. 30 תווים או פחות. אותיות, ספרות ו-@/./+/-/_ בלבד." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "ערך זה יכול להכיל אותיות, ספרות והתווים @/./+/-/_ בלבד." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "אימות סיסמה" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "משתמש עם שם משתמש זה קיים כבר" -#: contrib/auth/forms.py:36 -#: contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "שני שדות הסיסמה אינם זהים." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "חשבון זה אינו פעיל." -#: contrib/auth/forms.py:87 -msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." +#: contrib/auth/forms.py:88 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." msgstr "נראה שעוגיות לא מאופשרות בדפדפן שלך. הן נדרשות כדי להתחבר." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "כתובת דוא\"ל" -#: contrib/auth/forms.py:109 -msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" +#: contrib/auth/forms.py:110 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" msgstr "כתובת דואר אלקטרוני זו אינה משוייכת למשתמש. בטוח שנרשמת ?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "איפוס סיסמה על %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "סיסמה חדשה" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "אימות סיסמה חדשה" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "סיסמה ישנה" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "סיסמתך הישנה הוזנה בצורה שגויה. נא להזינה שוב." -#: contrib/auth/models.py:63 -#: contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "שם" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "שם קוד" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "הרשאה" -#: contrib/auth/models.py:69 -#: contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "הרשאות" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "קבוצה" -#: contrib/auth/models.py:91 -#: contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "קבוצות" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "שם משתמש" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "שדה חובה. 30 תווים או פחות. אותיות, ספרות והתווים @/./+/-/_ בלבד." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "שם פרטי" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "שם משפחה" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "כתובת דוא\"ל" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "סיסמה" -#: contrib/auth/models.py:132 -msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." -msgstr "יש להזין '[algo]$[salt]$[hexdigest]' או להשתמש בטופס שינוי הסיסמה." +#: contrib/auth/models.py:200 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"יש להזין '[algo]$[salt]$[hexdigest]' או להשתמש בטופס " +"שינוי הסיסמה." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "סטטוס איש צוות" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "מציין האם המשתמש יכול להתחבר לאתר הניהול." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "פעיל" -#: contrib/auth/models.py:134 -msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts." -msgstr "מציין האם יש להתייחס למשתמש כפעיל. יש לבטל בחירה זו במקום למחוק חשבונות משתמשים." +#: contrib/auth/models.py:202 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" +"מציין האם יש להתייחס למשתמש כפעיל. יש לבטל בחירה זו במקום למחוק חשבונות " +"משתמשים." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "סטטוס משתמש על" -#: contrib/auth/models.py:135 -msgid "Designates that this user has all permissions without explicitly assigning them." +#: contrib/auth/models.py:203 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." msgstr "מציין שלמשתמש זה יש את כל ההרשאות ללא הצורך המפורש בהענקתן." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "כניסה אחרונה" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "תאריך הצטרפות" -#: contrib/auth/models.py:139 -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:207 +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:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "הרשאות משתמש" -#: contrib/auth/models.py:144 -#: contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "משתמש" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "משתמשים" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "הודעה" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "יצאת מהמערכת" #: contrib/auth/management/commands/createsuperuser.py:23 -#: forms/fields.py:429 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "יש להזין כתובת דוא\"ל חוקית." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "תוכן" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" -msgstr "מטא-נתונים" +msgstr "מטא־נתונים" + +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "סומנה" +msgstr[1] "סומנו" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "סמן תגובות שנבחרו" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "אושרה" +msgstr[1] "אושרו" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "אשר תגובות שנבחרו" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "הוסרה" +msgstr[1] "הוסרו" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "הסר תגובות שנבחרו" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "תגובה אחת %(action)s בהצלחה" +msgstr[1] "%(count)s תגובות %(action)s בהצלחה" #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" -msgstr "הערות ל %(site_name)s" +msgstr "תגובות עבור %(site_name)s" #: contrib/comments/feeds.py:23 #, python-format msgid "Latest comments on %(site_name)s" -msgstr "ההערות האחרונות על %(site_name)s" +msgstr "התגובות האחרונות על %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "שם" @@ -1401,24 +1460,28 @@ msgstr "שם" msgid "Email address" msgstr "כתובת דוא\"ל" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "תגובה" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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 אסורות לשימוש כאן." -#: contrib/comments/forms.py:180 -msgid "If you enter anything in this field your comment will be treated as spam" -msgstr "אם יוזן משהו בשדה היחס לתגובתך יהיה כמו לספאם" +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "אם יוזן משהו בשדה זה תגובתך תטופל כספאם" -#: contrib/comments/models.py:22 -#: contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "סוג תוכן" @@ -1438,8 +1501,7 @@ msgstr "כתובת דוא\"ל משתמש" msgid "user's URL" msgstr "אתר המשתמש" -#: contrib/comments/models.py:56 -#: contrib/comments/models.py:76 +#: contrib/comments/models.py:56 contrib/comments/models.py:76 #: contrib/comments/models.py:169 msgid "comment" msgstr "תגובה" @@ -1448,33 +1510,46 @@ msgstr "תגובה" msgid "date/time submitted" msgstr "תאריך/שעת הגשה" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "כתובת IP" + #: contrib/comments/models.py:61 msgid "is public" -msgstr "ציבורי" +msgstr "פומבי " #: contrib/comments/models.py:62 -msgid "Uncheck this box to make the comment effectively disappear from the site." -msgstr "ביטול סימון תיבה תעלים בפועל את התגובה מהאתר" +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." +msgstr "ביטול סימון התיבה יעלים בפועל את התגובה מהאתר" #: contrib/comments/models.py:64 msgid "is removed" msgstr "האם הוסר" #: contrib/comments/models.py:65 -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:77 msgid "comments" msgstr "תגובות" #: contrib/comments/models.py:119 -msgid "This comment was posted by an authenticated user and thus the name is read-only." -msgstr "הודעה זו נשלחה ע\"י משתמש מחובר לכן השם הוא לקריאה בלבד." +msgid "" +"This comment was posted by an authenticated user and thus the name is read-" +"only." +msgstr "הודעה זו נשלחה ע\"י משתמש מחובר לכן השם אינו ניתן לשינוי." #: contrib/comments/models.py:128 -msgid "This comment was posted by an authenticated user and thus the email is read-only." -msgstr "הודעה זו נשלחה ע\"י משתמש מחובר לכן כתובת הדוא\"ל לקריאה בלבד." +msgid "" +"This comment was posted by an authenticated user and thus the email is read-" +"only." +msgstr "הודעה זו נשלחה ע\"י משתמש מחובר לכן כתובת הדוא\"ל אינה ניתנת לשינוי." #: contrib/comments/models.py:153 #, python-format @@ -1513,47 +1588,42 @@ msgstr "אשר הערה" #: contrib/comments/templates/comments/approve.html:7 msgid "Really make this comment public?" -msgstr "באמת הופכים את התגובה הציבורית?" +msgstr "באמת להפוך את התגובה לפומבית?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "אשר" #: contrib/comments/templates/comments/approved.html:4 msgid "Thanks for approving" -msgstr "תודה על השימוש באתר שלנו!" +msgstr "תודה על אישור התגובה" #: contrib/comments/templates/comments/approved.html:7 #: contrib/comments/templates/comments/deleted.html:7 #: contrib/comments/templates/comments/flagged.html:7 -msgid "Thanks for taking the time to improve the quality of discussion on our site" -msgstr "תודה שהקדשת מזמנך כדי לשפר את האתר שלנו" +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "תודה על שהקדשת מזמנך כדי לשפר את איכות הדיון באתר שלנו" #: contrib/comments/templates/comments/delete.html:4 msgid "Remove a comment" -msgstr "הסר הערה" +msgstr "הסר תגובה" #: contrib/comments/templates/comments/delete.html:7 msgid "Really remove this comment?" -msgstr "באמת להסיר את הערה זו?" - -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "להסיר" +msgstr "באמת להסיר תגובה זו?" #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" -msgstr "תודה על הסרת" +msgstr "תודה על ההסרה" #: contrib/comments/templates/comments/flag.html:4 msgid "Flag this comment" -msgstr "סמן את הערה זו" +msgstr "סמן תגובה זו" #: contrib/comments/templates/comments/flag.html:7 msgid "Really flag this comment?" -msgstr "באמת, סמן את הערה זו?" +msgstr "באמת לסמן תגובה זו?" #: contrib/comments/templates/comments/flag.html:12 msgid "Flag" @@ -1561,7 +1631,7 @@ msgstr "סימן" #: contrib/comments/templates/comments/flagged.html:4 msgid "Thanks for flagging" -msgstr "תודה לציון" +msgstr "תודה על הסימון" #: contrib/comments/templates/comments/form.html:17 #: contrib/comments/templates/comments/preview.html:32 @@ -1573,39 +1643,6 @@ msgstr "פוסט" msgid "Preview" msgstr "תצוגה מקדימה" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "תור תגובה עבור מתון של תגובות" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "אין תגובות עד בינוני" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "כתובת דוא\"ל" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "מאומתים?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "כתובת IP" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "תאריך הצטרפות" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "כן" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "לא" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "תודה על התגובה" @@ -1633,20 +1670,24 @@ msgstr "פרסם את התגובה" msgid "or make changes" msgstr "או לבצע שינויים" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" -msgstr "שם ה-class של מודל פייתון" +msgstr "שם ה־class של מודל פייתון" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "סוגי תוכן" #: contrib/flatpages/admin.py:9 -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/admin.py:11 -msgid "This value must contain only letters, numbers, underscores, dashes or slashes." +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." msgstr "ערך זה חייב להכיל אותיות, ספרות, מקפים, קווים תחתונים ונטויים בלבד." #: contrib/flatpages/admin.py:22 @@ -1670,8 +1711,12 @@ msgid "template name" msgstr "שם תבנית" #: contrib/flatpages/models.py:12 -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'." +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:13 msgid "registration required" @@ -1689,9 +1734,44 @@ msgstr "דף פשוט" msgid "flat pages" msgstr "דפים פשוטים" -#: contrib/formtools/wizard.py:130 -msgid "We apologize, but your form has expired. Please continue filling out the form from this page." -msgstr "לצערנו פג תוקף הטופס שלך. עליך להמשיך למלא את הטופס מן העמוד הזה ואילך." +#: contrib/formtools/wizard.py:140 +msgid "" +"We apologize, but your form has expired. Please continue filling out the " +"form from this page." +msgstr "" +"לצערנו פג תוקף הטופס שלך. עליך להמשיך למלא את הטופס מן העמוד הזה ואילך." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "שדה ה־GIS הבסיסי -- ממופה לטיפוס OpenGIS Specification Geometry." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "נקודה" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "מחרוזת קו" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "פוליגון" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "מרובה־נקודות" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "מחרוזת קו מרובת שורות" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "פוליגון מרובה" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "אוסף גיאומטרי" #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." @@ -1706,7 +1786,9 @@ msgid "Invalid geometry type." msgstr "סוג גיאומטרי שגוי." #: contrib/gis/forms/fields.py:20 -msgid "An error occurred when transforming the geometry to the SRID of the geometry form field." +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." msgstr "הייתה בעיה עם השינוי של הצורה לסוג של השדה." #: contrib/humanize/templatetags/humanize.py:19 @@ -1794,27 +1876,25 @@ msgstr "מחר" msgid "yesterday" msgstr "אתמול" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." -msgstr "יש להזין קוד דואר בתחביר NNNN או ANNNNAAA." +msgstr "יש להזין קוד דואר בתבנית NNNN או ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 -#: contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 -#: contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "יש להזין רק ספרות בשדה זה." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "שדה זה דורש 7 או 8 ספרות." -#: contrib/localflavor/ar/forms.py:79 -msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." -msgstr "יש להזין מספר CUIT חוקי בתחביר XX-XXXXXXXX-X או XXXXXXXXXXXX." - #: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "יש להזין מספר CUIT חוקי בתבנית XX-XXXXXXXX-X או XXXXXXXXXXXX." + +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "CUIT שגוי" @@ -1854,55 +1934,56 @@ msgstr "פורארלברג" msgid "Vienna" msgstr "וינה" -#: contrib/localflavor/at/forms.py:20 -#: contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." -msgstr "יש להזין מיקוד בתחביר XXXX." +msgstr "יש להזין מיקוד בתבנית XXXX." #: contrib/localflavor/at/forms.py:48 msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." -msgstr "יש להזין מספר ביטוח לאומי אוסטרלי חוקי בתחביר XXXX XXXXXX." +msgstr "יש להזין מספר ביטוח לאומי אוסטרלי חוקי בתבנית XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "יש להזין קוד דואר בן 4 ספרות." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." -msgstr "יש להזין מיקוד בתחביר XXXXX-XXX." +msgstr "יש להזין מיקוד בתבנית XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." -msgstr "מספרי טלפון חייבים להיות בתחביר XX-XXXX-XXXX." +msgstr "מספרי טלפון חייבים להיות בתבנית XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 -msgid "Select a valid brazilian state. That state is not one of the available states." +#: contrib/localflavor/br/forms.py:54 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." msgstr "נא לבחור מדינה ברזילאית חוקית. מדינה זו אינה אחת מהמדינות האפשריות." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "מספר CPF לא חוקי" -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "שדה זה דורש 11 או 14 ספרות לכל היותר." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "מספר CNPJ לא חוקי" -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "שדה זה דורש לפחות 14 ספרות." -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." -msgstr "יש להזין מיקוד בתחביר XXX XXX." +msgstr "יש להזין מיקוד בתבנית XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." -msgstr "יש להזין מספר ביטוח לאומי קנדי חוקי בתחביר XXX-XXX-XXXX." +msgstr "יש להזין מספר ביטוח לאומי קנדי חוקי בתבנית XXX-XXX-XXXX." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -1910,19 +1991,19 @@ msgstr "ארגאו" #: contrib/localflavor/ch/ch_states.py:6 msgid "Appenzell Innerrhoden" -msgstr "אפנצל אינר-רודן" +msgstr "אפנצל אינר־רודן" #: contrib/localflavor/ch/ch_states.py:7 msgid "Appenzell Ausserrhoden" -msgstr "אפנצל אוסר-רודן" +msgstr "אפנצל אוסר־רודן" #: contrib/localflavor/ch/ch_states.py:8 msgid "Basel-Stadt" -msgstr "באזל-שטאדט" +msgstr "באזל־שטאדט" #: contrib/localflavor/ch/ch_states.py:9 msgid "Basel-Land" -msgstr "באזל-לנדשאפט" +msgstr "באזל־לנדשאפט" #: contrib/localflavor/ch/ch_states.py:10 msgid "Berne" @@ -2008,19 +2089,21 @@ msgstr "צוג" msgid "Zurich" msgstr "ציריך" -#: contrib/localflavor/ch/forms.py:64 -msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." -msgstr "יש להזין מספר זיהוי או דרכון שוויצרי בתחביר X1234567<0 או 1234567890." +#: contrib/localflavor/ch/forms.py:65 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "יש להזין מספר זיהוי או דרכון שוויצרי בתבנית X1234567<0 או 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "יש להזין RUT צ'יליאני חוקי." -#: contrib/localflavor/cl/forms.py:30 -msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." -msgstr "יש להזין RUT צ'יליאני חוקי. התחביר הוא XX.XXX.XXX-X." - #: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "יש להזין RUT צ'יליאני חוקי. התבנית היא XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "שדה RUT צ'יליאני אינו חוקי." @@ -2080,30 +2163,29 @@ msgstr "מחוז זלין" msgid "Moravian-Silesian Region" msgstr "איזור מורביה – שלזיה" -#: contrib/localflavor/cz/forms.py:27 -#: contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." -msgstr "יש להזין קוד דואר בתחביר XXXXX או XXX XX." +msgstr "יש להזין קוד דואר בתבנית XXXXX או XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "הזן מספר לידה בתבנית XXXXXX/XXXX או XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 -msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" -msgstr "המשתנה שהזנת בשדה מין שגוי. הערכים החוקיים הם 'f' ו-'m'." - #: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "המשתנה שהזנת בשדה מין שגוי. הערכים החוקיים הם 'f' ו־'m'." + +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "הזן מספר לידה חוקי." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "הזן מספר IC חוקי." #: contrib/localflavor/de/de_states.py:5 msgid "Baden-Wuerttemberg" -msgstr "באדן-וירטמברג" +msgstr "באדן־וירטמברג" #: contrib/localflavor/de/de_states.py:6 msgid "Bavaria" @@ -2139,11 +2221,11 @@ msgstr "סקסוניה התחתונה" #: contrib/localflavor/de/de_states.py:14 msgid "North Rhine-Westphalia" -msgstr "נורדריין-וסטפאליה" +msgstr "נורדריין־וסטפאליה" #: contrib/localflavor/de/de_states.py:15 msgid "Rhineland-Palatinate" -msgstr "ריינלנד-פאלץ" +msgstr "ריינלנד־פאלץ" #: contrib/localflavor/de/de_states.py:16 msgid "Saarland" @@ -2155,25 +2237,26 @@ msgstr "סקסוניה" #: contrib/localflavor/de/de_states.py:18 msgid "Saxony-Anhalt" -msgstr "סקסוניה-אנהלט" +msgstr "סקסוניה־אנהלט" #: contrib/localflavor/de/de_states.py:19 msgid "Schleswig-Holstein" -msgstr "שלזוויג-הולשטיין" +msgstr "שלזוויג־הולשטיין" #: contrib/localflavor/de/de_states.py:20 msgid "Thuringia" msgstr "תורינגיה" -#: contrib/localflavor/de/forms.py:14 -#: contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." -msgstr "יש להזין מיקוד בתחביר XXXXX." +msgstr "יש להזין מיקוד בתבנית XXXXX." -#: contrib/localflavor/de/forms.py:41 -msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." -msgstr "יש להזין מספר זיהוי גרמני חוקי בתחביר XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." +#: contrib/localflavor/de/forms.py:42 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "יש להזין מספר זיהוי גרמני חוקי בתבנית XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." #: contrib/localflavor/es/es_provinces.py:5 msgid "Arava" @@ -2442,73 +2525,510 @@ msgstr "הקהילה האוטונומית של נווארה" msgid "Valencian Community" msgstr "קהילת ולנסיה" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." -msgstr "נא להזיו מיקוד חוקי בתחום ובתחביר 01XXX - 52XXX." +msgstr "נא להזין מיקוד חוקי בתחום ובתבנית 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 -msgid "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX." -msgstr "נא להזין מספר טלפון חוקי באחד מהתחבירים 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX." +#: contrib/localflavor/es/forms.py:40 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" +"נא להזין מספר טלפון חוקי באחת מהתבניות 6XXXXXXXX, 8XXXXXXXX או 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "נא להזין NIF, NIE, או CIF חוקי." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "נא להזין NIF או NIE חוקי." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "סיכום ביקורת שגוי עבור NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "סיכום ביקורת שגוי עבור NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "סיכום ביקורת שגוי עבור CIF." -#: contrib/localflavor/es/forms.py:142 -msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." -msgstr "נא להזין חשבון בנק חוקי בתחביר XXXX-XXXX-XX-XXXXXXXXXX." - #: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "נא להזין מספר חשבון בנק חוקי בתבנית XXXX-XXXX-XX-XXXXXXXXXX." + +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "סיכום ביקורת שגוי עבור מספר חשבון בנק." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "יש להזין מספר ביטוח לאומי פיני חוקי." -#: contrib/localflavor/in_/forms.py:14 -msgid "Enter a zip code in the format XXXXXXX." -msgstr "יש להזין מיקוד בתחביר XXXXXXX." +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "מספרי טלפון חייבים להיות בתבנית 0X XX XX XX XX." -#: contrib/localflavor/is_/forms.py:17 -msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." -msgstr "יש להזין מספר זיהוי איסלנדי חוקי. התחביר הוא XXXXXX-XXXX." +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "יש להזין מיקוד חוקי." + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "יש להזין מספר טלפון חוקי" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "יש להזין מספר רישוי רכב חוקי" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "הזן מספר NIK/KTP חוקי." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "באלי" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "בנטן" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "בנגולו" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "ג'וקיירטה" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "ג'קרטה" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "גורנטלו" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "ג'מבי" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "ג'אווה מערב" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "ג'אווה מרכז" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "ג'אווה מזרח" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "בורנאו מערב" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "בורנאו דרום" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "בורנאו מרכז" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "בורנאו מזרח" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "איי בנגקה בליטונג" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "איי ריאאו" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "למפונג" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "מאלוקו" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "מאלוקו צפון" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "נגרוא אסה דרוסלם" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "איי סונדה הקטנים - מערב" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "איי סונדה הקטנים - מזרח" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "פפוא" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "פפוא מערב" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "ריאאו" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "סולבסי מערב" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "סולבסי דרום" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "סולבסי מרכז" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "סולבסי דרום־מזרח" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "סולבסי צפון" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "סומטרה מערב" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "סומטרה דרום" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "סומטרה צפון" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "מאגלנג" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "סורקרטה - סולו" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "מדיון" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "קדירי" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "טפנולי" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "בנגה-מליטנג" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "קונסוליות" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "שגרירויות" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "בנדונג" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "סולאוסי צפון" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - טימור" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "איי סולבסי צפון" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - לומבוק" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "פאפו ופאפו מערב" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "סיירבון" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - סומבאווה" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - פלורס" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - סומבה" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "בוגור" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "פקלונגאן" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "סמרנג" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "פאטי" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "סורביה" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "מדורה" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "מאלאנג" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "ג'מבר" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "בניומס" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "ממשל פדרלי" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "בוג'ונגורו" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "פורקוורטה" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "סידוארג'ו" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "גארוט" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "אנטרים" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "ארמאה" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "קארלאו" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "קאוובן" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "קלייר" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "קורק" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "דרי" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "דונגאל" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "דאון" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "דבלין" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "פרמנה" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "גולוויי" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "קרי" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "קילדאר" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "קילקני" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "ליש" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "לייטרים" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "לימריק" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "לונגפורד" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "לאות'" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "מאיו" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "מית'" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "מונהאן" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "אופלי" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "רוסקומון" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "סלייגו" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "טיפררי" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "טיירון" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "ווטפורד" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "וסטמית'" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "וקספורד" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "ויקלו" + +#: contrib/localflavor/in_/forms.py:15 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "יש להזין מיקוד בתבנית XXXXXXX." #: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "יש להזין מספר זיהוי איסלנדי חוקי. התבנית היא XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "מספר הזיהוי האיסלנדי אינו חוקי" -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "יש להזין מיקוד חוקי." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "יש להזין מספר ביטוח לאומי חוקי." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." -msgstr "יש להזין מספר מעמ חוקי" +msgstr "יש להזין מספר מע\"מ חוקי" #: contrib/localflavor/jp/forms.py:16 msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." -msgstr "יש להזין קוד דואר בתחביר XXXXXXX או XXX-XXXX." +msgstr "יש להזין קוד דואר בתבנית XXXXXXX או XXX-XXXX." #: contrib/localflavor/jp/jp_prefectures.py:4 msgid "Hokkaido" @@ -2698,6 +3218,10 @@ msgstr "קגושימה" msgid "Okinawa" msgstr "אוקינאווה" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "נא להזין מספר זיהוי כוויתי חוקי" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "אגואסקליינטס" @@ -2736,7 +3260,7 @@ msgstr "מחוז פדרלי" #: contrib/localflavor/mx/mx_states.py:21 msgid "Durango" -msgstr "צ'יוואוה" +msgstr "דוראנגו" #: contrib/localflavor/mx/mx_states.py:22 msgid "Guerrero" @@ -2826,15 +3350,11 @@ msgstr "יוקטן" msgid "Zacatecas" msgstr "זאקאטקס" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "יש להזין מיקוד חוקי." -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "יש להזין מספר טלפון חוקי" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "יש להזין מספר SoFi חוקי" @@ -2886,15 +3406,15 @@ msgstr "זילנד" msgid "Zuid-Holland" msgstr "דרום הולנד" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "יש להזין מספר ביטוח לאומי נורבגי חוקי." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "שדה זה דורש 8 ספרות." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "שדה זה דורש 11 ספרות." @@ -2904,11 +3424,12 @@ msgstr "מספר זיהוי לאומי מורכב מ-11 ספרות" #: contrib/localflavor/pl/forms.py:39 msgid "Wrong checksum for the National Identification Number." -msgstr "סכום ביקורת שגוי עבודי מספר הזיהוי הלאומי" +msgstr "סכום ביקורת שגוי עבור מספר הזיהוי הלאומי" #: contrib/localflavor/pl/forms.py:71 -msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." -msgstr "נא להזין שדה מספר מס (NIP) בתחביר XXX-XXX-XX-XX או XX-XX-XXX-XXX." +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "נא להזין שדה מספר מס (NIP) בתבנית XXX-XXX-XX-XX או XX-XX-XXX-XXX." #: contrib/localflavor/pl/forms.py:72 msgid "Wrong checksum for the Tax Number (NIP)." @@ -2916,7 +3437,7 @@ msgstr "סיכום ביקורת שגוי עבור מספר מס (NIP)." #: contrib/localflavor/pl/forms.py:109 msgid "National Business Register Number (REGON) consists of 9 or 14 digits." -msgstr "סמפר רשומת בית עסק ארצי(REGON) מכיל או תשע או ארבע עשרה ספרות." +msgstr "מספר רשומת בית עסק ארצי(REGON) מכיל או תשע או ארבע עשרה ספרות." #: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." @@ -2924,7 +3445,7 @@ msgstr "סיכום שגוי National Business Register Number (REGON)." #: contrib/localflavor/pl/forms.py:148 msgid "Enter a postal code in the format XX-XXX." -msgstr "נא להזין מיקוד בתחביר XX-XXX." +msgstr "נא להזין מיקוד בתבנית XX-XXX." #: contrib/localflavor/pl/pl_voivodeships.py:8 msgid "Lower Silesia" @@ -2990,6 +3511,14 @@ msgstr "פולין רבתי" msgid "West Pomerania" msgstr "מערב פומרניה" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "יש להזין מיקוד בתבנית XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "מספרי טלפון חייבים להכיל 9 ספרות, או להתחיל ב + או 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "יש להזין CIF חוקי." @@ -3000,15 +3529,115 @@ msgstr "יש להזין CNP חוקי." #: contrib/localflavor/ro/forms.py:141 msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" -msgstr "יש להזין מספר IBAN חוקי בתחביר ROXX-XXXX-XXXX-XXXX-XXXX-XXXX" +msgstr "יש להזין מספר IBAN חוקי בתבנית ROXX-XXXX-XXXX-XXXX-XXXX-XXXX" #: contrib/localflavor/ro/forms.py:171 msgid "Phone numbers must be in XXXX-XXXXXX format." -msgstr "תחביר מספרי טלפון חייב להיות XXXX-XXXXXX." +msgstr "מספרי טלפון חייבים להיות בתבנית XXXX-XXXXXX." #: contrib/localflavor/ro/forms.py:194 msgid "Enter a valid postal code in the format XXXXXX" -msgstr "נא להזין מיקוד חוקי בתחביר XXXXXX" +msgstr "נא להזין מיקוד חוקי בתבנית XXXXXX" + +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "הזן מספר ארגון שוודי חוקי." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "יש להזין מספר זיהוי אישי שוודי חוקי." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "מספרי שיתוף פעולה אינם מותרים בשימוש" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "נא להזין מיקוד שוודי בתבנית XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "סטוקהולם" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "וסטרבוטן" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "נורבוטן" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "אופסלה" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "סדרמאנלנד" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "אסטריֶטלנד" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "ינשפין" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "קרונוברג" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "קאלמאר" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "גוטלנד" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "בלשיניה" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "סקונה" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "הלנד" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "יטאלנד המערבית" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "ורמלנד" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "ארברו" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "וסטמנלנד" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "דלארנה" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "יבלבורג" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "וסטרנורלנד" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "ימטלנד" #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" @@ -3176,7 +3805,7 @@ msgstr "נובה מסטו ע\"נ וה" #: contrib/localflavor/sk/sk_districts.py:49 msgid "Nove Zamky" -msgstr "נווי-זאמקי" +msgstr "נווי־זאמקי" #: contrib/localflavor/sk/sk_districts.py:50 msgid "Partizanske" @@ -3496,7 +4125,7 @@ msgstr "סוריי" #: contrib/localflavor/uk/uk_regions.py:45 msgid "Tyne and Wear" -msgstr "טיין ו-וויר" +msgstr "טיין ו־וויר" #: contrib/localflavor/uk/uk_regions.py:46 msgid "Warwickshire" @@ -3642,19 +4271,43 @@ msgstr "סקוטלנד" msgid "Wales" msgstr "וויילס" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." -msgstr "יש להזין מיקוד חוקי בתחביר XXXXX או XXXXX-XXXX." +msgstr "יש להזין מיקוד חוקי בתבנית XXXXX או XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "מספרי טלפון חייבים להיות בתבנית XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." -msgstr "יש להזין מספר ביטוח לאומי אמריקאי בתחביר XXX-XX-XXXX." +msgstr "יש להזין מספר ביטוח לאומי אמריקאי בתבנית XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "יש להזין מדינה או טריטרויה בארה\"ב" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "מדינה בארה\"ב (שתי אותיות גדולות)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "מספר טלפון" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "יש להזין מספר CI חוקי בתבנית X.XXX.XXX-X,XXXXXXX-X או XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "יש להזין מספר CI חוקי." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "נא להזין מספר זיהוי דרום אפריקאי חוקי" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "נא להזין מיקוד דרום אפריקאי חוקי" @@ -3672,7 +4325,7 @@ msgstr "גאוטנג" #: contrib/localflavor/za/za_provinces.py:7 msgid "KwaZulu-Natal" -msgstr "קווזולו-נטל" +msgstr "קווזולו־נאטאל" #: contrib/localflavor/za/za_provinces.py:8 msgid "Limpopo" @@ -3694,12 +4347,18 @@ msgstr "דרום מערב" msgid "Western Cape" msgstr "כף מערבי" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +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/'." +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." msgstr "זה אמור להיות נתיב מלא, ללא שם המתחם. לדוגמא: '/‎/events/search'." #: contrib/redirects/models.py:9 @@ -3707,7 +4366,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://'." +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 @@ -3750,286 +4411,388 @@ msgstr "שם לתצוגה" msgid "sites" msgstr "אתרים" -#: db/models/fields/__init__.py:356 -#: db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "ערך זה חייב להיות מספר שלם." - -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "ערך זה חייב להיות אמת או שקר." - -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "שדה זה אינו יכול להכיל null." - -#: db/models/fields/__init__.py:443 -msgid "Enter only digits separated by commas." -msgstr "יש להזין רק ספרות מופרדות בפסיקים." - -#: db/models/fields/__init__.py:474 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "יש להזין תאריך במבנה YYYY-MM-DD." - -#: db/models/fields/__init__.py:483 -#, python-format -msgid "Invalid date: %s" -msgstr "תאריך שגוי: %s" - -#: db/models/fields/__init__.py:547 -#: db/models/fields/__init__.py:565 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." -msgstr "נא להזין תאריך/שעה חוקיים בתחביר YYYY-MM-DD HH:MM[:ss[.uuuuuu]]." - -#: db/models/fields/__init__.py:601 -msgid "This value must be a decimal number." -msgstr "ערך זה חייב להיות מספר עשרוני." - -#: db/models/fields/__init__.py:686 -msgid "This value must be a float." -msgstr "על הערך הזה להיות ערך מספר עשרוני." - -#: db/models/fields/__init__.py:746 -msgid "This value must be either None, True or False." -msgstr "ערך זה חייב להיות כלום, אמת או שקר." - -#: db/models/fields/__init__.py:849 -#: db/models/fields/__init__.py:863 -msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." -msgstr "נא להזין זמן חוקי בתחביר HH:MM[:ss[.uuuuuu]]." - -#: db/models/fields/related.py:792 -msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "יש להחזיק את \"Control\", או \"Command\" על מק, לחוץ כדי לבחור יותר מאחד." - -#: db/models/fields/related.py:870 -#, 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 אינם חוקיים." - -#: forms/fields.py:54 -msgid "This field is required." -msgstr "יש להזין תוכן בשדה זה." - -#: forms/fields.py:55 +#: core/validators.py:20 forms/fields.py:66 msgid "Enter a valid value." msgstr "יש להזין ערך חוקי." -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "נא לוודא שערך זה מכיל %(max)d תווים לכל היותר (מכיל %(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "נא לוודא שערך זה מכיל לפחות %(min)d תווים (מכיל %(length)d)." - -#: forms/fields.py:166 -msgid "Enter a whole number." -msgstr "נא להזין מספר שלם." - -#: forms/fields.py:167 -#: forms/fields.py:196 -#: forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "יש לוודא שערך זה פחות מ או שווה ל %s." - -#: forms/fields.py:168 -#: forms/fields.py:197 -#: forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "יש לוודא שהערך גדול מ או שווה ל %s." - -#: forms/fields.py:195 -#: forms/fields.py:224 -msgid "Enter a number." -msgstr "נא להזין מספר." - -#: forms/fields.py:227 -#, python-format -msgid "Ensure that there are no more than %s digits in total." -msgstr "נא לוודא שאין יותר מ-%s ספרות סה\"כ" - -#: forms/fields.py:228 -#, python-format -msgid "Ensure that there are no more than %s decimal places." -msgstr "נא לוודא שאין יותר מ-%s ספרות אחרי הנקודה" - -#: forms/fields.py:229 -#, python-format -msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "נא לוודא שאין יותר מ-%s ספרות לפני הנקודה העשרונית" - -#: forms/fields.py:288 -#: forms/fields.py:863 -msgid "Enter a valid date." -msgstr "יש להזין תאריך חוקי." - -#: forms/fields.py:322 -#: forms/fields.py:864 -msgid "Enter a valid time." -msgstr "יש להזין שעה חוקית." - -#: forms/fields.py:361 -msgid "Enter a valid date/time." -msgstr "יש להזין תאריך ושעה חוקיים." - -#: forms/fields.py:447 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "לא נשלח שום קובץ. נא לבדוק את סוג הקידוד של הטופס." - -#: forms/fields.py:448 -msgid "No file was submitted." -msgstr "לא נשלח שום קובץ" - -#: forms/fields.py:449 -msgid "The submitted file is empty." -msgstr "הקובץ שנשלח ריק." - -#: forms/fields.py:450 -#, python-format -msgid "Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr "על שם הקובץ להיות לא יותר מ %(max)d תווים (יש לו%(length)d)." - -#: forms/fields.py:483 -msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." -msgstr "נא להעלות תמונה חוקית. הקובץ שהעלת אינו תמונה או מכיל תמונה מקולקלת." - -#: forms/fields.py:544 +#: core/validators.py:87 forms/fields.py:529 msgid "Enter a valid URL." msgstr "יש להזין URL חוקי." -#: forms/fields.py:545 +#: core/validators.py:89 forms/fields.py:530 msgid "This URL appears to be a broken link." -msgstr "ה-URL הזה נראה כקישור שבור." +msgstr "ה־URL הזה נראה כקישור שבור." -#: forms/fields.py:625 -#: forms/fields.py:703 -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "יש לבחור אפשרות חוקית. %(value)s אינו בין האפשרויות הזמינות." +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "יש להזין ערך המכיל אותיות, ספרות, קווים תחתונים ומקפים בלבד." -#: forms/fields.py:704 -#: forms/fields.py:765 -#: forms/models.py:962 -msgid "Enter a list of values." -msgstr "יש להזין רשימת ערכים" - -#: forms/fields.py:892 +#: core/validators.py:126 forms/fields.py:866 msgid "Enter a valid IPv4 address." msgstr "יש להזין כתובת IPv4 חוקית." -#: forms/fields.py:902 -msgid "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "יש להזין ערך המכיל אותיות, ספרות, קווים תחתונים ומקפים בלבד." +#: core/validators.py:129 db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "יש להזין רק ספרות מופרדות בפסיקים." -#: forms/formsets.py:271 -#: forms/formsets.py:273 -msgid "Order" -msgstr "מיון" +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "יש לוודא שערך זה הינו %(limit_value)s (כרגע %(show_value)s)." -#: forms/models.py:367 +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "יש לוודא שערך זה פחות מ או שווה ל־%(limit_value)s ." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "יש לוודא שהערך גדול מ או שווה ל־%(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"יש לוודא שערך זה מכיל לפחות %(limit_value)d תווים (מכיל %(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"יש לוודא שערך זה מכיל %(limit_value)d תווים לכל היותר (מכיל %(show_value)d)." + +#: db/models/base.py:822 #, python-format msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "%(field_name)s חייב להיות ייחודי ל%(lookup)s של ה%(date_field)s" +msgstr "%(field_name)s חייב להיות ייחודי ל%(lookup)s של ה־%(date_field)s" -#: forms/models.py:381 -#: forms/models.py:389 +#: db/models/base.py:837 db/models/base.py:845 #, python-format msgid "%(model_name)s with this %(field_label)s already exists." msgstr "%(model_name)s·עם·%(field_label)s·זה קיימת כבר." -#: forms/models.py:581 +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "ערך %r אינו אפשרות חוקית." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "שדה זה אינו יכול להיות ריק." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "שדה זה אינו יכול להיות ריק." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "שדה מסוג: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "מספר שלם" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "ערך זה חייב להיות מספר שלם." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "ערך זה חייב להיות אמת או שקר." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "בוליאני (אמת או שקר)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "מחרוזת (עד %(max_length)s תווים)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "מספרים שלמים מופרדים בפסיקים" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "תאריך (ללא שעה)" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "יש להזין תאריך במבנה YYYY-MM-DD." + +#: db/models/fields/__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "תאריך שגוי: %s" + +#: db/models/fields/__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "נא להזין תאריך\\שעה חוקיים בתבנית YYYY-MM-DD HH:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "תאריך (כולל שעה)" + +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "ערך זה חייב להיות מספר עשרוני." + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "מספר עשרוני" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "כתובת דוא\"ל" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "נתיב קובץ" + +#: db/models/fields/__init__.py:822 +msgid "This value must be a float." +msgstr "על הערך הזה להיות ערך מספר עשרוני." + +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "מספר עשרוני" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "מספר שלם גדול (8 בתים)" + +#: db/models/fields/__init__.py:912 +msgid "This value must be either None, True or False." +msgstr "ערך זה חייב להיות כלום, אמת או שקר." + +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "בוליאני (אמת, שקר או כלום)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "טקסט" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "זמן" + +#: db/models/fields/__init__.py:1025 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "נא להזין זמן חוקי בתבנית HH:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "טקסט XML" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "מודל %(model)s עם מפתח ראשי %(pk)r אינו קיים." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (הסוג נקבע לפי השדה המקושר)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "יחס של אחד לאחד" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "יחס של רבים לרבים" + +#: db/models/fields/related.py:1000 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"יש להחזיק את \"Control\", או \"Command\" על מק, לחוץ כדי לבחור יותר מאחד." + +#: db/models/fields/related.py:1061 +#, 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 אינם חוקיים." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "יש להזין תוכן בשדה זה." + +#: forms/fields.py:204 +msgid "Enter a whole number." +msgstr "נא להזין מספר שלם." + +#: forms/fields.py:235 forms/fields.py:256 +msgid "Enter a number." +msgstr "נא להזין מספר." + +#: forms/fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "נא לוודא שאין יותר מ־%s ספרות סה\"כ" + +#: forms/fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "נא לוודא שאין יותר מ־%s ספרות אחרי הנקודה" + +#: forms/fields.py:261 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "נא לוודא שאין יותר מ־%s ספרות לפני הנקודה העשרונית" + +#: forms/fields.py:323 forms/fields.py:838 +msgid "Enter a valid date." +msgstr "יש להזין תאריך חוקי." + +#: forms/fields.py:351 forms/fields.py:839 +msgid "Enter a valid time." +msgstr "יש להזין שעה חוקית." + +#: forms/fields.py:377 +msgid "Enter a valid date/time." +msgstr "יש להזין תאריך ושעה חוקיים." + +#: forms/fields.py:435 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "לא נשלח שום קובץ. נא לבדוק את סוג הקידוד של הטופס." + +#: forms/fields.py:436 +msgid "No file was submitted." +msgstr "לא נשלח שום קובץ" + +#: forms/fields.py:437 +msgid "The submitted file is empty." +msgstr "הקובץ שנשלח ריק." + +#: forms/fields.py:438 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "על שם הקובץ להיות לא יותר מ־%(max)d תווים (יש לו%(length)d)." + +#: forms/fields.py:473 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "נא להעלות תמונה חוקית. הקובץ שהעלת אינו תמונה או מכיל תמונה מקולקלת." + +#: forms/fields.py:596 forms/fields.py:671 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "יש לבחור אפשרות חוקית. %(value)s אינו בין האפשרויות הזמינות." + +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 +msgid "Enter a list of values." +msgstr "יש להזין רשימת ערכים" + +#: forms/formsets.py:298 forms/formsets.py:300 +msgid "Order" +msgstr "מיון" + +#: forms/models.py:562 #, python-format msgid "Please correct the duplicate data for %(field)s." -msgstr "נא לתקן את הערכים כפולים ל%(field)s." +msgstr "נא לתקן את הערכים הכפולים ל%(field)s." -#: forms/models.py:585 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "נא לתקן את הערכים כפולים ל%(field)s, זה חייב להיות ייחודי." +msgstr "נא לתקן את הערכים הכפולים ל%(field)s, שערכים בו חייבים להיות ייחודיים." -#: forms/models.py:591 +#: forms/models.py:572 #, python-format -msgid "Please correct the duplicate data for %(field_name)s which must be unique for the %(lookup)s in %(date_field)s." -msgstr "נא לתקן את הערכים כפולים %(field_name)s, זה חייב להיות ייחודי ל%(lookup)s של %(date_field)s." +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"נא לתקן את הערכים הכפולים %(field_name)s, שחייבים להיות ייחודיים ל%(lookup)s " +"של %(date_field)s." -#: forms/models.py:599 +#: forms/models.py:580 msgid "Please correct the duplicate values below." -msgstr "נא לתקן את הערכים כפולים מתחת." +msgstr "נא לתקן את הערכים הכפולים למטה." -#: forms/models.py:837 +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." -msgstr "הרצופות מפתח זר לא תאם את האב מופע המפתח העיקרי." +msgstr "המפתח הזר ה־inline לא התאים למפתח הראשי של האב." -#: forms/models.py:892 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "יש לבחור אפשרות חוקית; '%(data)s' אינו בין %(choices)s." +msgstr "יש לבחור אפשרות חוקית; אפשרות זו אינה אחת מהזמינות." -#: forms/models.py:963 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "יש לבחור אפשרות חוקית. %s אינו בין האפשרויות הזמינות." -#: forms/models.py:965 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." -msgstr "\"%s\" איננו חוקי כמקש עיקרי." +msgstr "\"%s\" איננו חוקי כמפתח ראשי." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "כן,לא,אולי" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d בית" +msgstr[0] "בית %(size)d " msgstr[1] "%(size)d בתים" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" -#: utils/dateformat.py:41 +#: utils/dateformat.py:42 msgid "p.m." msgstr "אחר הצהריים" -#: utils/dateformat.py:42 +#: utils/dateformat.py:43 msgid "a.m." msgstr "בבוקר" -#: utils/dateformat.py:47 +#: utils/dateformat.py:48 msgid "PM" msgstr "אחר הצהריים" -#: utils/dateformat.py:48 +#: utils/dateformat.py:49 msgid "AM" msgstr "בבוקר" -#: utils/dateformat.py:97 +#: utils/dateformat.py:98 msgid "midnight" msgstr "חצות" -#: utils/dateformat.py:99 +#: utils/dateformat.py:100 msgid "noon" -msgstr "צהריים" +msgstr "12 בצהריים" #: utils/dates.py:6 msgid "Monday" @@ -4095,28 +4858,23 @@ msgstr "ינואר" msgid "February" msgstr "פברואר" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "March" msgstr "מרס" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "April" msgstr "אפריל" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "May" msgstr "מאי" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "June" msgstr "יוני" -#: utils/dates.py:19 -#: utils/dates.py:31 +#: utils/dates.py:19 utils/dates.py:31 msgid "July" msgstr "יולי" @@ -4216,7 +4974,7 @@ msgstr "נוב'" msgid "Dec." msgstr "דצמ'" -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "או" @@ -4270,34 +5028,37 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "d.m.Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "d.m.‏Y H:i:s" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "H:i:s" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" -msgstr "d.m.Y" +msgstr "m.Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" -msgstr "d.m.Y" +msgstr "d.m" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." -msgstr "ה-%(verbose_name)s נוצר בהצלחה." +msgstr "ה־%(verbose_name)s נוצר בהצלחה." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." -msgstr "ה-%(verbose_name)s עודכן בהצלחה." +msgstr "ה־%(verbose_name)s עודכן בהצלחה." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." -msgstr "ה-%(verbose_name)s נמחק." - +msgstr "ה־%(verbose_name)s נמחק." diff --git a/django/conf/locale/he/LC_MESSAGES/djangojs.mo b/django/conf/locale/he/LC_MESSAGES/djangojs.mo index 94480683a33b474ce43f6af87a0e654c9ce940a9..090d46474b7451994c3593e2ad171c489f5b2b3a 100644 GIT binary patch literal 2938 zcmah}O>7%Q6dq{#X`nz$`RDLBL`|V<>_{!aZJ_B-prvl3+NJaa8}G#4X1(Li?xrzE zkU-*;ABWUUnkG?5?7#sbt{gZaaRE+yK~zHG0w<)N5UTjztmB4)+D&G^_ujmp@4cDz zFFUu+2t3cX*WbWyte@|}3s3c4AzlGq1l|v90k;6Z1U?M>8u%da+xGtV!0pg~0(Jqf z1GfQxZ{rQ%eb8?Lw*t2!*;(K=Am@1($o4W2|Du8y*S!ejyyHLuegtH{HDDj`3n1tH z4aj-^0CL?Mz$?I;z&fyjpeis0=TFe%HQ?*eUwk0x=K_#?PptY@$u!2&fiBY^4QDInK)jt!e0 z9F=$$i+M9get6bTWAPb0j`buKMl2q~+KI&v^W!_R@$elJ-93Ty_5`FxsJo}=hY(?q z#ZWqT+}lrfs*(}|jw1%fY}d1gJxSexIAVL!cWe#8FG^1wDJvC7vMF>cvZHxsBaprc z@uaQEW}ByqqvB21k>Z5yN4Bofpd8jl$l1DBrh%$0+oDPpPrQa8wqJAabtbyQOj{PATQ%bxE9&6?lm}<)}dCum&kF@@4{5Q<0`( zS-C~o6YL?|cc|#O#ZeOZGD7na8m&=I87M?DVD+4I{6s30BW+BB+U1?R9Yz|0D5&IJ zQCcIMhg7j0%+;@fq3xF>j?gF9cib`8 ziENKXTYh7-v)?PpMJYFVTq76qY5up=dY?Lj-FZIvY`xck;|6*-ME# zQiBr@t3xe7q_Z);gj}fpOO9$XOwkaIA2%eK?CG}%o*bVr_dN0?a>1yjrK5ydGLlWC zB0nkl|D%wO8=CvMF_YsXhAyYuG+=a~>Gn*QTu>O67+Vmg#E@1O@NHPf9qVnW1Ds2i zj$S~As_TrbDjiz6pyWE%;iwc?1(l_)q0@;_WtMu=nY5MOXJyiq>CI;L zzm)Dxr{QRwkz+3Byv;BDDrNR%dwUTBzms+lS_N(UfoF$GXKBEb<8%<8-FT{G*Lk!vP;q`NV~GZ)p9d^J{@!naibh6DOK`hNvo(DB$2t}xnsAQ%%sv? zN0c8*AH{1`bP>w&@a3v!yZ!;bfjW?3|JlNz)pyH}NsdTu9rKII!JW%e->@5Yy<@#0 zeTmz~>`$su+jHNS#1)3TNZXz@sB|UBl3z7y(BFH260yI>rx*Guv*$op=f^2t==^ZS zi}7SU8#m*bc>S*X`w7mIa9xX=BCbPNidW*g=ng3UG+u}s$i{i%dB7~iE$DTDh(>%F zmU$Lup)})l-ds*LJC=Gp2OmzhnN&Q1h!un{5lXU$37v_rF@>dgow+2HC*mf-b<(tB zlm&>N5mKx`XvFgbmdHntXHcar%(E~7%M_Q1FO%u(GJKIL*;z9k7?pdR+}N9rR})d7 zvsLV@i%c(%X%*zSWFx*RzboM!sM2a?;01yjOr#y z%WyL)Gve{LxDo>4KaavQ+~hLa;~J~+lt7sYi7XBHL!3pmwiR2+ zb_?5vEe{Fo7vO~%gAv5eF`7eMK^7)a- z*qJ-oF5h9>Vab-OXb8DE1aY@f~ADQ>Mf}I%0-r delta 771 zcmZvZJ!lj`6vyY1%ZH~IW7L=;#S{q^vghQ(c$`5*5;PbwgeWB4M%HujK4ABZP2dV4 zAlS%7M2v_EavIPgjeQzhv6w~zDa1xX8VgfMes38Fh;#Sm_daI+Z)SF{_hYuc)sudz z7=2hj_8l9<)>2Fi)1p*69D=Pd50Aic*a@dxeHLbk=V1mG;UO3~F2gqB6_|#P;Z3FL z>Iser{d9$0D2;wYY5WI@up~9;f+BDh=HVz5;W8AR7)s-1IKU-Vpd5IeO>(f$@F?7b zS^BGQuCNV{QTXNf7s|qJ)FrQ>G#GZg03Q-hxcCc{Mqi;Ee9Ps3z!Stfa1ypsl=>9Y zW%{cb91(7~!Wxv5zJ>A?*p~={L`Z7#x#U$?lI#Vl3+u%?B=~2Xba6L4?tJd2Mo%&E zLaN6ldF|xZa$_0tl!p`VVA^Q5+)6cGwOy&3^PV~9nK3;yQZV^5X2h7x%nffgSPJ8? zTJa|QT2Ro#=6~y^{kZ1MMSdkN`L$|P(AR@7($}K!ZcqyKc$w%@`CeSTQ_J11=EBm& z%(P!A-uH`vHy8Njg1#E07o*@o<5Byi!oIN|6q(oLR+VjP P`#$;OJi}>hc7ECirXq1N diff --git a/django/conf/locale/he/LC_MESSAGES/djangojs.po b/django/conf/locale/he/LC_MESSAGES/djangojs.po index cc6888519..fab6cd676 100644 --- a/django/conf/locale/he/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/he/LC_MESSAGES/djangojs.po @@ -1,51 +1,90 @@ # Hebrew translation of djangojs. # Copyright (C) 2006 THE djangojs'S COPYRIGHT HOLDER # This file is distributed under the same license as the djangojs package. +# +# # Meir Kriheli , 2006. -# -# +# Shai Berger , 2010. msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-05-06 13:08+0300\n" -"PO-Revision-Date: 2007-05-06 13:08+0300\n" -"Last-Translator: Meir Kriheli \n" -"Language-Team: Hebrew\n" +"POT-Creation-Date: 2010-05-10 12:16+0200\n" +"PO-Revision-Date: 2010-05-09 15:22-0500\n" +"Last-Translator: Alex \n" +"Language-Team: Django-i18n \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: contrib/admin/media/js/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "%s זמינות" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "בחירת הכל" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "הוספה" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "הסרה" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "%s נבחרות" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "יש לסמן את ההרשאות המבוקשות וללחוץ על " -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "איפוס הכל" +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s מ %(cnt)s נבחרות" +msgstr[1] "%(sel)s מ %(cnt)s נבחרות" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"יש לך שינויים שלא נשמרו על שדות יחידות. אם אתה מפעיל פעולה, שינויים שלא " +"נשמרו יאבדו." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"בחרת פעולה, אבל עוד לא שמרת את השינויים לשדות בודדים. אנא לחץ על אישור כדי " +"לשמור. יהיה עליך להפעיל את הפעולה עוד פעם." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"בחרת פעולה, ולא עשיתה שינויימ על שדות. אתה כנראה מחפש את הכפתור ללכת במקום " +"הכפתור לשמור." + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -56,65 +95,65 @@ msgstr "" #: contrib/admin/media/js/calendar.js:25 msgid "S M T W T F S" -msgstr "ר ש ש ר ח ש ש" +msgstr "א ב ג ד ה ו ש" + +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "הצג" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "הסתר" #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "ראשון שני שלישי רביעי חמישי שישי שבת" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "הצג" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "הסתר" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "כעת" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "שעון" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "בחירת שעה" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "חצות" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "6 בבוקר" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" -msgstr "צהריים" +msgstr "12 בצהריים" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "ביטול" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "היום" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "לוח שנה" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "אתמול" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "מחר" - diff --git a/django/conf/locale/he/__init__.py b/django/conf/locale/he/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/he/formats.py b/django/conf/locale/he/formats.py new file mode 100644 index 000000000..8d7c7f2a4 --- /dev/null +++ b/django/conf/locale/he/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j בF Y' +TIME_FORMAT = 'H:i:s' +DATETIME_FORMAT = 'j בF Y H:i:s' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j בF' +SHORT_DATE_FORMAT = 'd/m/Y' +SHORT_DATETIME_FORMAT = 'd/m/Y H:i:s' +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = '.' +THOUSAND_SEPARATOR = ',' +# NUMBER_GROUPING = diff --git a/django/conf/locale/hi/LC_MESSAGES/django.mo b/django/conf/locale/hi/LC_MESSAGES/django.mo index 99f31869eec80f143b9d2c03f4a9fa4d6e043b71..4febdb9513417841b5145999e5a7f3daab875ed6 100644 GIT binary patch delta 14193 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 WpsS}oe(%(>DgWP*b^OgTGyV?>Dl8=c delta 14201 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 Az5oCK diff --git a/django/conf/locale/hi/LC_MESSAGES/django.po b/django/conf/locale/hi/LC_MESSAGES/django.po index 65877bdaf..348db7f72 100644 --- a/django/conf/locale/hi/LC_MESSAGES/django.po +++ b/django/conf/locale/hi/LC_MESSAGES/django.po @@ -3818,18 +3818,18 @@ msgstr[1] "%(size)d बाइट" #: template/defaultfilters.py:774 #, python-format -msgid "%.1f KB" -msgstr "%.1f के.बी" +msgid "%s KB" +msgstr "%s के.बी" #: template/defaultfilters.py:776 #, python-format -msgid "%.1f MB" -msgstr "%.1f एम.बी" +msgid "%s MB" +msgstr "%s एम.बी" #: template/defaultfilters.py:777 #, python-format -msgid "%.1f GB" -msgstr "%.1f जी.बी" +msgid "%s GB" +msgstr "%s जी.बी" #: utils/dateformat.py:41 msgid "p.m." diff --git a/django/conf/locale/hi/__init__.py b/django/conf/locale/hi/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/hi/formats.py b/django/conf/locale/hi/formats.py new file mode 100644 index 000000000..6afa2581b --- /dev/null +++ b/django/conf/locale/hi/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F Y' +TIME_FORMAT = 'g:i:s A' +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'd-m-Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = '.' +THOUSAND_SEPARATOR = ',' +# NUMBER_GROUPING = diff --git a/django/conf/locale/hr/LC_MESSAGES/django.mo b/django/conf/locale/hr/LC_MESSAGES/django.mo index 7c702db7c7f9853b79d61caf4bbf3257b1d6ae79..c737a39df5995d1365660f81dac37d7a1a3a8026 100644 GIT binary patch literal 75842 zcmc${2Y6If{>Ob$6hssh?Cpvopd^6Zh)9P}LL{MDaFX04LnbqE3L)6L?%Lbh+h1L~ zyS7!=x>(oV*0Pqhth&~<>)PJW_nhCIOd`1M^S;mX-iMpdIlt3;y~Atk_B=D-IksmI zYzk|)4uZ8-4}ue>N*V1<;JwBNjgP@~kUs+zpSPjnw@&0a z1kOXh2UIv`n*2tncs&f||I=_4_#GtK!H>q(8iSx0`o3^gI1u)Q8^YD$V7Mk64(0!@ z#yPM*`Yc=<9tl^2ry0+N^7lfhcwAw;0VgW`S1yo4{7q@kAiZ)tLeu< zg*z20e-}XIM;q(~kAcdsli)`1VyJlC0au6j8Xq$G6YyZ<&%xiq+0E1o_!?9>ehB3* zNCv?Upchnpc85LTL@4u0sBo%bFE|&j3-^Ql-~mwn9S#-$GojpH0cHOhI1t_hW&dHQ z^t}jW{}brqvDk;-3$B5@zv(xIeb8?ORbJ&#_A8*uXB<>G)llU--}DhwdRn3EFM&$O z!BFuz63X4#Q1&i1^Q&MV^fy5HcL&@YJ_NUh??Aa*v&C}&RJ=BUvOfeWpLc|c-+0sS zW#)^Z$}t5Mk3*p1ce?RhsC>G__(!PxxDWP$k3!l18&rB;g^JHxrvJeBDO9??hKfg! z^8WNQZUp7eR#4$>3uV6os$3>O#j_U5|3;{Iq@luH3O9gd?{`?Cn{+~dF`vsJ{AE5l{+vdx4033pTJE(AKpxVLS@Oromo&$#+ z;N!U*x^jWl$e)9|!NJ)eh~Oe9^9PKN!v5%=hU(|ugzLa>pz@_pE(kV;8$yjsJ3ys- z7F2xphKg@JRC*ShJY({9D1Q%u{oom9ewmqH3l*Q6jJKQo9;p0y5X#;2P~rX)_JyCq zE#Z%FGZ<1y<~Dn2}ege*ir^2!DeW-YEcZm0A z3{<%D;ZT@|1K_)LWIcP>=A_lFz9B~bZzDon$BVIMf+XzzaoTowH| zsCZ5?c@>m@bD+Xs1XqJirf-EZFPQ#NyW1;*#0VOWNHi4?&TS1lYu2Ak~ zK(+IQ#=P+)I1KrfP~+J%aDDg|RJ;BU+!L<*8y}C^us8bouoq0gc`#|__d(^yLuUS% z@i{Yp#mwI{`MXg5eFFQyZ=lM5)!%x3KdAiN7|P!*;W)SrtbxrYzteahTm$)oa839W zl>1jq{uWd^KZ2@{KSH(Vbx!c|t)T4h2oW7nFbdK!sCp`erD187O}ag0g=U zRJu-vIe0dd`@Sc8djp`-w+UPeZVBbj2-A;-vOmqZ7nJ|=jr&8zqZz6mwL*n^2$Z|y zji(rY2Nj;YP<_79`{4ltEZvj`GJ{#3g!MAsPQ8>#mA#3l)W{e#HH2qv-0xBO;Q2s81O2;8k_K$|;@FchcybG4WPoeB@ajLhs6_mT- zQ1x*KsQJepQ1O@x6_5R(!b`$+U^`T~9}ngJOelNjoBsDu>A4=t-JebW2$Z|O8Q+9* z|1ng&zl18MAEDy2>S;bcYeC7kfs^2Na3^>Gbme2b0m|Kth zQ2u;v`nAvS{l-SHKk{Kv?kh|`70TZQQ0Zzmc^0mN{z%vlo(UC?%i%zHHB@-_K;`RS zq4ND%H~_wG{2VI(d!6a+tqtYR22kFCYDEVek z`BM%x&l>|bhYO(GFNF%{B&c{_09CHHz=7~-sQUAc$%Ehda@Z6q9@{|W*Y;59*u~`I zq0(0cRi1NA-vE_gDL4Xlz%qE1@dY>>{c30Xb4#%Q@2F`;6&h_I#3)}|%32-{R2_6Z5g4OWI^OzIC=U@fg=X@WJ-$BLW38->- z0jgfSYJ3|iyπ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%0DlK6T6t&G1ieuA@-<@;YN9Eqd%6%c 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 diff --git a/django/conf/locale/hr/LC_MESSAGES/django.po b/django/conf/locale/hr/LC_MESSAGES/django.po index 36e50cb36..dac0f17d1 100644 --- a/django/conf/locale/hr/LC_MESSAGES/django.po +++ b/django/conf/locale/hr/LC_MESSAGES/django.po @@ -1,235 +1,272 @@ -# translation of django.po to Hrvatski jezik -# This file is distributed under the same license as the Django package. -# msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-05-08 18:09+0200\n" -"PO-Revision-Date: 2009-05-08 18:19+0200\n" +"POT-Creation-Date: 2010-05-10 19:06+0200\n" +"PO-Revision-Date: 2010-05-10 18:56+0200\n" "Last-Translator: Aljosa Mohorovic \n" -"Language-Team: Hrvatski Jezik >\n" +"Language-Team: Django i18n team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " "n%100==4 ? 2 : 3);\n" -"X-Generator: Vim 7.2\n" +"X-Generator: Lokalize 1.0\n" #: conf/global_settings.py:44 msgid "Arabic" msgstr "Arapski" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "Bengalski" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "Bugarski" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Bengalski" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Bošnjački" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "Katalanski" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "Češki" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "Velški" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "Danski" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "Njemački" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "Grčki" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "Engleski" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "Britanski engleski" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "Španjolski" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "Estonski" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "Argentinski španjolski" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "Estonski" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "Baskijski" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "Perzijski" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "Finski" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "Francuski" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Frizijski" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "Irski" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "Galičanski" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "Mađarski" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "Hebrejski" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "Hindi" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "Hrvatski" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Mađarski" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "Indonezijski" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "Islandski" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "Talijanski" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "Japanski" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "Gruzijski" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "Koreanski" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "Kambođanski" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "Kannada" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "Latvijski" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "Koreanski" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "Litvanski" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "Latvijski" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "Makedonski" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Mongolian" +msgstr "Mongolski" + +#: conf/global_settings.py:82 msgid "Dutch" msgstr "Nizozemski" -#: conf/global_settings.py:78 +#: conf/global_settings.py:83 msgid "Norwegian" msgstr "Norveški" -#: conf/global_settings.py:79 +#: conf/global_settings.py:84 +msgid "Norwegian Bokmal" +msgstr "Norveški Bokmal" + +#: conf/global_settings.py:85 +msgid "Norwegian Nynorsk" +msgstr "Norveški Nynorsk" + +#: conf/global_settings.py:86 msgid "Polish" msgstr "Poljski" -#: conf/global_settings.py:80 +#: conf/global_settings.py:87 msgid "Portuguese" msgstr "Portugalski" -#: conf/global_settings.py:81 +#: conf/global_settings.py:88 msgid "Brazilian Portuguese" msgstr "Brazilski portugalski" -#: conf/global_settings.py:82 +#: conf/global_settings.py:89 msgid "Romanian" msgstr "Rumunjski" -#: conf/global_settings.py:83 +#: conf/global_settings.py:90 msgid "Russian" msgstr "Ruski" -#: conf/global_settings.py:84 +#: conf/global_settings.py:91 msgid "Slovak" msgstr "Slovački" -#: conf/global_settings.py:85 +#: conf/global_settings.py:92 msgid "Slovenian" msgstr "Slovenski" -#: conf/global_settings.py:86 +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "Albanski" + +#: conf/global_settings.py:94 msgid "Serbian" msgstr "Srpski" -#: conf/global_settings.py:87 +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "Latinski srpski" + +#: conf/global_settings.py:96 msgid "Swedish" msgstr "Švedski" -#: conf/global_settings.py:88 +#: conf/global_settings.py:97 msgid "Tamil" msgstr "Tamilski" -#: conf/global_settings.py:89 +#: conf/global_settings.py:98 msgid "Telugu" msgstr "Teluški" -#: conf/global_settings.py:90 +#: conf/global_settings.py:99 msgid "Thai" msgstr "Thai (tajlandski)" -#: conf/global_settings.py:91 +#: conf/global_settings.py:100 msgid "Turkish" msgstr "Turski" -#: conf/global_settings.py:92 +#: conf/global_settings.py:101 msgid "Ukrainian" msgstr "Ukrajinski" -#: conf/global_settings.py:93 +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "Vijetnamski" + +#: conf/global_settings.py:103 msgid "Simplified Chinese" msgstr "Pojednostavljeni kineski" -#: conf/global_settings.py:94 +#: conf/global_settings.py:104 msgid "Traditional Chinese" msgstr "Tradicionalni kineski" -#: contrib/admin/actions.py:56 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Uspješno izbrisano %(count)d %(items)s." -#: contrib/admin/actions.py:63 contrib/admin/options.py:1025 +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "Jeste li sigurni?" -#: contrib/admin/actions.py:81 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Izbrišite odabrane %(verbose_name_plural)s" @@ -268,19 +305,19 @@ msgstr "Ovaj mjesec" msgid "This year" msgstr "Ova godina" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "Da" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "Ne" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "Nepoznat pojam" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Akcija:" @@ -312,86 +349,97 @@ msgstr "zapis" msgid "log entries" msgstr "zapisi" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "Nijedan" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "Promijenjeno %s." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:384 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:568 msgid "and" msgstr "i" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Dodano %(name)s \"%(object)s\"." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Promijeni %(list)s za %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Izbrisani %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Nije bilo promjena polja." -#: contrib/admin/options.py:598 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" uspješno je dodano." -#: contrib/admin/options.py:602 contrib/admin/options.py:635 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "Možete ponovo urediti unos dolje." -#: contrib/admin/options.py:612 contrib/admin/options.py:645 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "Možete dodati još jedan %s ispod." -#: contrib/admin/options.py:633 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" uspješno promijenjeno." -#: contrib/admin/options.py:641 +#: contrib/admin/options.py:686 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" -"%(name)s \"%(obj)s\" uspješno dodan. Možete ponovo urediti unos dolje." +msgstr "%(name)s \"%(obj)s\" uspješno dodan. Možete ponovo urediti unos dolje." -#: contrib/admin/options.py:772 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Unosi moraju biti odabrani da bi se nad njima mogle izvršiti akcije. Nijedan " +"unos nije promijenjen." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Nije odabrana akcija." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Novi unos (%s)" -#: contrib/admin/options.py:803 contrib/admin/options.py:1003 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Unos %(name)s sa primarnim ključem %(key)r ne postoji." -#: contrib/admin/options.py:860 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "Promijeni %s" -#: contrib/admin/options.py:904 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Pogreška u bazi" -#: contrib/admin/options.py:940 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." @@ -400,18 +448,32 @@ msgstr[1] "%(count)s %(name)s uspješno promijenjeno." msgstr[2] "%(count)s %(name)s uspješno promijenjeno." msgstr[3] "%(count)s %(name)s uspješno promijenjeno." -#: contrib/admin/options.py:1018 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s odabrano" +msgstr[1] "Svih %(total_count)s odabrano" +msgstr[2] "Svih %(total_count)s odabrano" +msgstr[3] "Svih %(total_count)s odabrano" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 od %(cnt)s odabrano" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" uspješno izbrisan." -#: contrib/admin/options.py:1054 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Promijeni povijest: %s" -#: contrib/admin/sites.py:20 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -419,11 +481,11 @@ msgstr "" "Molim unesite ispravno korisničko ime i lozinku. Uzmite u obzir da oba polja " "razlikuju velika/mala slova." -#: contrib/admin/sites.py:278 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Molim prijavite se ponovo jer je vaš session istekao." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -431,62 +493,52 @@ msgstr "" "Izgleda da vaš browser nije podešen da prihvaća kolačiće (cookies). Molimo " "promijenite postavke, ponovno učitajte stranicu i pokušajte ponovo." -#: contrib/admin/sites.py:301 contrib/admin/sites.py:307 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Korisnička imena ne mogu sadržavati '@' znak." -#: contrib/admin/sites.py:304 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Vaša e-mail adresa nije vaše korisničko ime. Pokušajte sa '%s'" -#: contrib/admin/sites.py:360 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Administracija stranica" -#: contrib/admin/sites.py:373 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Prijavi se" -#: contrib/admin/sites.py:417 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "%s administracija" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Jedan ili više %(fieldname)s u %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Jedan ili više %(fieldname)s u %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Datum:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Vrijeme:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Trenutno:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Promijeni:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Potraži" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Unesi još" @@ -501,17 +553,17 @@ msgstr "Ispričavamo se, ali tražena stranica nije pronađena." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:31 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -548,34 +600,47 @@ msgstr "Izvrši odabranu akciju" msgid "Go" msgstr "Idi" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Klikni ovdje da bi odabrao unose kroz sve stranice" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Odaberi svih %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Očisti odabir" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Dobrodošli," -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentacija" -#: contrib/admin/templates/admin/base.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Promijeni lozinku" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Odjava" @@ -587,25 +652,26 @@ msgstr "Django administracija stranica" msgid "Django administration" msgstr "Django administracija" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Novi unos" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Povijest" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Pogledaj na stranicama" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Molimo ispravite navedenu grešku." @@ -613,17 +679,17 @@ msgstr[1] "Molimo ispravite navedene greške." msgstr[2] "Molimo ispravite navedene greške." msgstr[3] "Molimo ispravite navedene greške." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Novi unos - %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filter" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Izbriši" @@ -669,10 +735,10 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" -"Jeste li sigurni da želite izbrisati %(object_name)s? Svi navedeni objekti i " -"povezani unosi biti će izbrisani:" +"Jeste li sigurni da želite izbrisati odabrane %(object_name)s? Svi navedeni " +"objekti i povezani unosi biti će izbrisani:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -734,15 +800,9 @@ msgid "User" msgstr "Korisnik" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Akcija" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "DATETIME_FORMAT" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -755,6 +815,11 @@ msgstr "" msgid "Show all" msgstr "Prikaži sve" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Spremi" + #: contrib/admin/templates/admin/search_form.html:8 msgid "Search" msgstr "Traži" @@ -765,16 +830,14 @@ msgid "1 result" msgid_plural "%(counter)s results" msgstr[0] "1 rezultat" msgstr[1] "%(counter)s rezultata" +msgstr[2] "%(counter)s rezultata" +msgstr[3] "%(counter)s rezultata" #: contrib/admin/templates/admin/search_form.html:10 #, python-format msgid "%(full_result_count)s total" msgstr "%(full_result_count)s ukupno" -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "Spremi" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "Spremi kao novi unos" @@ -787,7 +850,7 @@ msgstr "Spremi i unesi novi unos" msgid "Save and continue editing" msgstr "Spremi i nastavi uređivati" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -795,33 +858,39 @@ msgstr "" "Prvo, unesite korisničko ime i lozinku. Onda možete promijeniti više " "postavki korisnika." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Korisničko ime" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Lozinka" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Lozinka (unesi ponovo)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Unesite istu lozinku, za potvrdu." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: contrib/admin/templates/admin/auth/user/change_password.html:28 #, python-format msgid "Enter a new password for the user %(username)s." msgstr "Unesite novu lozinku za korisnika %(username)s." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Lozinka" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Lozinka (unesi ponovo)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Unesite istu lozinku, za potvrdu." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Dodaj još jedan %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Ukloni" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Izbriši?" @@ -835,9 +904,9 @@ msgid "Log in again" msgstr "Prijavite se ponovo" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Promjena lozinke" @@ -850,7 +919,7 @@ msgstr "Promjena lozinke uspješna" msgid "Your password was changed." msgstr "Vaša lozinka je promijenjena." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -858,21 +927,17 @@ msgstr "" "Molim unesite staru lozinku, zbog sigurnosti, i onda unesite novu lozinku " "dvaput da bi mogli provjeriti jeste li je ispravno unijeli." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Stara lozinka:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Stara lozinka" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Nova lozinka:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Nova lozinka" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Potvrdi lozinku:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Promijeni moju lozinku" @@ -911,6 +976,14 @@ msgstr "" "Molimo vas da unesete novu lozinku dvaput da bi mogli provjeriti jeste li je " "ispravno unijeli." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Nova lozinka:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Potvrdi lozinku:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Resetiranje lozinke neuspješno" @@ -978,166 +1051,85 @@ msgstr "E-mail adresa:" msgid "Reset my password" msgstr "Resetiraj moju lozinku" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Svi datumi" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "Odaberi %s" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "Odaberi za promjenu - %s" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "stranica" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "template" -#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60 -#: contrib/admindocs/views.py:62 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "tag:" -#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93 -#: contrib/admindocs/views.py:95 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "filter:" -#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157 -#: contrib/admindocs/views.py:159 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "prikaz:" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "Aplikacija %r nije pronađena" -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "Model %(model_name)r nije pronađen u aplikaciji %(app_label)r" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "povezani `%(app_label)s.%(data_type)s` objekt" -#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:228 -#: contrib/admindocs/views.py:242 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "model:" -#: contrib/admindocs/views.py:237 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "povezani `%(app_label)s.%(object_name)s` objekti" -#: contrib/admindocs/views.py:242 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "svi %s" -#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "broj %s" -#: contrib/admindocs/views.py:252 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "Polja na %s objektima" -#: contrib/admindocs/views.py:315 contrib/admindocs/views.py:326 -#: contrib/admindocs/views.py:328 contrib/admindocs/views.py:334 -#: contrib/admindocs/views.py:335 contrib/admindocs/views.py:337 -msgid "Integer" -msgstr "Cijeli broj" - -#: contrib/admindocs/views.py:316 -msgid "Boolean (Either True or False)" -msgstr "Boolean (True ili False)" - -#: contrib/admindocs/views.py:317 contrib/admindocs/views.py:336 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Slova (do %(max_length)s)" - -#: contrib/admindocs/views.py:318 -msgid "Comma-separated integers" -msgstr "Cijeli brojevi odvojeni zarezom" - -#: contrib/admindocs/views.py:319 -msgid "Date (without time)" -msgstr "Datum (bez vremena/sati)" - -#: contrib/admindocs/views.py:320 -msgid "Date (with time)" -msgstr "Datum (sa vremenom/satima)" - -#: contrib/admindocs/views.py:321 -msgid "Decimal number" -msgstr "Decimalni broj" - -#: contrib/admindocs/views.py:322 -msgid "E-mail address" -msgstr "E-mail adresa" - -#: contrib/admindocs/views.py:323 contrib/admindocs/views.py:324 -#: contrib/admindocs/views.py:327 -msgid "File path" -msgstr "Put do datoteke" - -#: contrib/admindocs/views.py:325 -msgid "Floating point number" -msgstr "Broj s pomičnim zarezom (floating point number)" - -#: contrib/admindocs/views.py:329 contrib/comments/models.py:60 -msgid "IP address" -msgstr "IP adresa" - -#: contrib/admindocs/views.py:331 -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (True, False ili None)" - -#: contrib/admindocs/views.py:332 -msgid "Relation to parent model" -msgstr "Relacija na roditeljski model (parent model)" - -#: contrib/admindocs/views.py:333 -msgid "Phone number" -msgstr "Telefonski broj" - -#: contrib/admindocs/views.py:338 -msgid "Text" -msgstr "Tekst" - -#: contrib/admindocs/views.py:339 -msgid "Time" -msgstr "Vrijeme" - -#: contrib/admindocs/views.py:340 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:341 -msgid "U.S. state (two uppercase letters)" -msgstr "Država S.A.D.-a (dva velika slova)" - -#: contrib/admindocs/views.py:342 -msgid "XML text" -msgstr "XML tekst" - -#: contrib/admindocs/views.py:368 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "izgleda da %s nije urlpattern objekt" @@ -1213,65 +1205,64 @@ msgstr "Uredi objekt (u novom prozoru)" msgid "As above, but opens the admin page in a new window." msgstr "Isto kao prethodno, ali otvara admin stranicu u novom prozoru." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Osobni podaci" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Privilegije" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Važni datumi" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Grupe" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Unos novog korisnika" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Lozinka uspješno promijenjena." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Promijeni lozinku: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Obavezno 30 alfanumeričkih znakova ili manje (slova, brojevi i povlaka)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Korisničko ime" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Ova vrijednost može sadržavati samo slova, brojeve i povlaku." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Obavezan unos. 30 alfanumeričkih znakova ili manje. Samo slova, brojevi i " +"@/./+/-/_ znakovi." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Ova vrijednost može sadržavati samo slova, brojeve i @/./+/-/_ znakove." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Potvrda lozinke" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Korisnik sa navedenim imenom već postoji." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Dva polja za lozinku nisu jednaka." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Ovaj korisnički račun nije aktivan." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1279,11 +1270,11 @@ msgstr "" "Izgleda da Vaš browser ne podržava kolačiće (cookies). Kolačići su potrebni " "da bi se prijavili." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-mail" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1291,72 +1282,71 @@ msgstr "" "Za navedenu e-mail adresu ne postoji korisnički račun. Jeste li sigurni da " "ste registrirani?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Lozinka resetirana na %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Nova lozinka" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Potvrda nove lozinke" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Stara lozinka" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Vaša stara lozinka je pogrešno unesena. Molim unesite ponovo." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "ime" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "kodno ime" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "privilegija" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "privilegije" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "grupa" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "grupe" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "korisničko ime" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Obavezan unos. 30 alfanumeričkih znakova ili manje. Samo slova, brojevi i " +"@/./+/-/_ dozvoljeni." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "ime" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "prezime" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "e-mail adresa" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "lozinka" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1364,19 +1354,19 @@ msgstr "" "Koristite '[algo]$[salt]$[hexdigest]' ili formu za " "promjenu lozinke." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "status osoblja" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "Određuje može li se korisnik prijaviti na ove stranice administracije." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "aktivan" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1384,11 +1374,11 @@ msgstr "" "Određuje treba li se ovaj korisnik tretirati kao aktivan korisnik. Koristite " "ovu opciju umjesto brisanja korisničkih računa." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "superuser status" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -1396,15 +1386,15 @@ msgstr "" "Određuje da ovaj korisnik ima sve privilegije te uklanja potrebu da se " "privilegije unose eksplicitno/ručno." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "posljednja prijava" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "datum učlanjenja" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1412,39 +1402,85 @@ msgstr "" "Uz ručno dodane privilegije korisnik će također dobiti sve privilegije " "odobrene grupama kojima korisnik pripada." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "privilegije korisnika" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "korisnik" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "korisnici" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "poruka" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Niste logirani" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Unesite ispravnu e-mail adresu." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Sadržaj" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metadata" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "oznaka" +msgstr[1] "oznake" +msgstr[2] "oznake" +msgstr[3] "oznake" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Označi ovaj komentar" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "odobreno" +msgstr[1] "odobrene" +msgstr[2] "odobrene" +msgstr[3] "odobrene" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Odobri odabrane komentare" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "uklonjeno" +msgstr[1] "uklonjena" +msgstr[2] "uklonjena" +msgstr[3] "uklonjena" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Ukloni odabrane komentare" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 komentar je uspješno %(action)s." +msgstr[1] "%(count)s komentara su uspješno %(action)s." +msgstr[2] "%(count)s komentara su uspješno %(action)s." +msgstr[3] "%(count)s komentara su uspješno %(action)s." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1456,7 +1492,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Najnoviji komentari na %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Ime" @@ -1464,24 +1499,30 @@ msgstr "Ime" msgid "Email address" msgstr "E-mail adresa" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Komentar" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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] "Pazite na izražavanje! Riječ %s nije dopuštena." msgstr[1] "Pazite na izražavanje! Riječi %s nisu dopuštene." +msgstr[2] "Pazite na izražavanje! Riječi %s nisu dopuštene." +msgstr[3] "Pazite na izražavanje! Riječi %s nisu dopuštene." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "Ako unesete nešto u ovo polje vaš komentar biti će tretiran kao spam" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "tip sadržaja" @@ -1510,6 +1551,10 @@ msgstr "komentar" msgid "date/time submitted" msgstr "datum/vrijeme unosa" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP adresa" + #: contrib/comments/models.py:61 msgid "is public" msgstr "javno dostupno" @@ -1594,7 +1639,6 @@ msgid "Really make this comment public?" msgstr "Učini komentar javno dostupnim?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Odobri" @@ -1619,11 +1663,6 @@ msgstr "Ukloni komentar" msgid "Really remove this comment?" msgstr "Stvarno ukloni ovaj komentar?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Ukloni" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Hvala na brisanju" @@ -1654,39 +1693,6 @@ msgstr "Unos" msgid "Preview" msgstr "Prikaz" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Komentari koji zahtjevaju moderiranje" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Nema komentara koji zahtjevaju moderiranje" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Email" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Ovjeren (authenticated)?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "IP adresa" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Datum unosa" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "da" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "ne" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Hvala što ste komentirali" @@ -1706,6 +1712,7 @@ msgid_plural "Please correct the errors below" msgstr[0] "Molimo ispravite navedenu grešku." msgstr[1] "Molimo ispravite navedene greške." msgstr[2] "Molimo ispravite navedene greške." +msgstr[3] "Molimo ispravite navedene greške." #: contrib/comments/templates/comments/preview.html:16 msgid "Post your comment" @@ -1715,11 +1722,11 @@ msgstr "Objava komentara" msgid "or make changes" msgstr "ili unesite promjene" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "ime klase (class) python modela" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "tipovi sadržaja" @@ -1783,7 +1790,7 @@ msgstr "statična stranica" msgid "flat pages" msgstr "statične stranice" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1791,6 +1798,38 @@ msgstr "" "Ispričavamo se, ali vaš obrazac je istekao. Molimo nastavite ispunjavati " "obrazac od ove stranice." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "Osnovno GIS polje -- mapira OpenGIS Specification Geometry tip." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Točka" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Linija (Line string)" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Poligon" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Više točaka" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Više linija (Line string)" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Više poligona" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Geometrijska kolekcija" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Geometrijska vrijednost nije priložena." @@ -1808,7 +1847,8 @@ msgid "" "An error occurred when transforming the geometry to the SRID of the geometry " "form field." msgstr "" -"Došlo je do greške pri transformaciji geometrije na SRID geometrijskog polja forme." +"Došlo je do greške pri transformaciji geometrije na SRID geometrijskog polja " +"forme." #: contrib/humanize/templatetags/humanize.py:19 msgid "th" @@ -1832,6 +1872,8 @@ msgid "%(value).1f million" msgid_plural "%(value).1f million" msgstr[0] "%(value).1f milijun" msgstr[1] "%(value).1f milijuna" +msgstr[2] "%(value).1f milijuna" +msgstr[3] "%(value).1f milijuna" #: contrib/humanize/templatetags/humanize.py:54 #, python-format @@ -1839,13 +1881,17 @@ msgid "%(value).1f billion" msgid_plural "%(value).1f billion" msgstr[0] "%(value).1f milijarda" msgstr[1] "%(value).1f milijarde" +msgstr[2] "%(value).1f milijarde" +msgstr[3] "%(value).1f milijarde" #: contrib/humanize/templatetags/humanize.py:57 #, python-format msgid "%(value).1f trillion" msgid_plural "%(value).1f trillion" -msgstr[0] "%(value).1f bilijun" -msgstr[1] "%(value).1f bilijuna" +msgstr[0] "%(value).1f bilion" +msgstr[1] "%(value).1f biliona" +msgstr[2] "%(value).1f bilion" +msgstr[3] "%(value).1f bilion" #: contrib/humanize/templatetags/humanize.py:73 msgid "one" @@ -1895,25 +1941,25 @@ msgstr "sutra" msgid "yesterday" msgstr "jučer" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Unesite ispravan poštanski broj formata NNNN ili ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Ovo polje zahtjeva samo brojeve." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Ovo polje zahtjeva 7 ili 8 numeričkih znakova." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Unesite ispravan CUIT formata XX-XXXXXXXX-X ili XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Neispravan CUIT." @@ -1953,8 +1999,8 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Beč" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Unesite zip kod formata XXXX." @@ -1963,46 +2009,46 @@ msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." msgstr "" "Unesite ispravan broj socijalnog osiguranja Austrije formata XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Unesite poštanski kod sa 4 numerička znaka." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Unesite zip kod formata XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Telefonski brojevi moraju biti formata XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "" "Izaberite ispravnu brazilsku državu. Država nije jedna od dostupnih država." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Neispravan CPF broj." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "Ovo polje zahtjeva najviše 11 numeričkih znakova ili 14 slova." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "Neispravan CNPJ broj." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "Ovo polje zahtjeva bar 14 numeričkih znakova" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Unesite poštanski broj formata XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" "Unesite valjani kanadski broj socijalnog osiguranja formata XXX-XXX-XXX." @@ -2111,7 +2157,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2119,15 +2165,15 @@ msgstr "" "Unesite ispravan švicarski identifikacijski broj ili broj putovnice formata " "X1234567<0 ili 1234567890" -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Unesite ispravan čileanski RUT" -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Unesite ispravan čileanski RUT formata XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Čileanski RUT nije ispravan." @@ -2187,24 +2233,24 @@ msgstr "Zlínski kraj" msgid "Moravian-Silesian Region" msgstr "Moravsko-šleski kraj" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Unesi ispravan poštanski broj formata XXXXX ili XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "Unesite datum rođenja formata XXXXXX/XXXX ili XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "" "Neispravnan opcijonalni parametar spol, ispravne vrijednosti su 'f' i 'm'" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Unesite ispravan datum rodenja." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Unesite ispravan IC broj." @@ -2272,12 +2318,12 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringia" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Unesite zip kod formata XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2552,11 +2598,11 @@ msgstr "Foral Community of Navarre" msgid "Valencian Community" msgstr "Valencian Community" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Unesite ispravan poštanski broj u rasponu i formatu od 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." @@ -2564,62 +2610,494 @@ msgstr "" "Unesite ispravan broj telefona u jednom od formata 6XXXXXXXX, 8XXXXXXXX ili " "9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Unesite ispravan NIF, NIE ili CIF." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Molim unesite ispravan NIF ili NIE." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Neispravan checksum za NIF" -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Neispravan checksum za NIF" -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Neispravan checksum za CIF." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" "Molim unesite ispravan broj bankovnog računa formata XXXX-XXXX-XX-XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Neispravan checksum za broj bankovnog računa." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Unesite ispravan broj finskog socijalnog osiguranja." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Telefonski brojevi moraju biti formata 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Unesite ispravan poštanski broj" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Unesite ispravan telefonski broj" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Unesite ispravanu registraciju za vozilo" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Unesite ispravan NIK/KTP broj." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Džakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Jawa Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Jawa Tengah" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Jawa Timur" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Barat" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Selatan" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Tengah" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Timur" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Kepulauan Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Maluku" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Maluku Utara" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara Barat" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara Timur" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Barat" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Sulawesi Barat" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi Selatan" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi Tengah" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi Tenggara" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi Utara" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatera Barat" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera Selatan" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera Utara" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps Consulate" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Federalna vlada" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wexford" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Unesi ispravan zip kod formata XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "Unesite ispravan islandski identifikacijski broj formata XXXXXX-XXXX." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Islandski identifikacijski broj nije ispravan." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Unesite ispravan zip kod." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Unesite ispravan broj socijalnog osiguranja." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Unesite ispravan VAT broj." @@ -2815,6 +3293,10 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Unesi ispravan kuvajtski Civil ID broj." + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2943,15 +3425,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Unesite ispravan poštanski broj" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Unesite ispravan telefonski broj" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Unesite ispravan SoFi broj" @@ -3003,15 +3481,15 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Unesite ispravan broj norveškog socijalnog osiguranja." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Ovo polje zahtjeva 8 numeričkih znakova." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Ovo polje zahtjeva 11 numeričkih znakova." @@ -3111,6 +3589,14 @@ msgstr "Greater Poland" msgid "West Pomerania" msgstr "West Pomerania" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Unesite poštanski broj u formatu XXX-XXXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Telefonski brojevi moraju imati 9 brojeva, ili početi sa + ili 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Unesite ispravan CIF." @@ -3131,6 +3617,106 @@ msgstr "Telefonski brojevi moraju biti formata XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Unesite ispravan poštanski broj formata XXXXXX" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Unesite valjani broj švedske organizacije." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Unesite ispravan švedski osobni identifikacijski broj." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Koordinacijski brojevi nisu dozvoljeni." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Unesite švedski poštanski broj formata XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stockholm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banska Bystrica" @@ -3763,20 +4349,44 @@ msgstr "Škotska" msgid "Wales" msgstr "Wales" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Unesite zip kod formata XXXXX or XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Telefonski brojevi moraju biti u XXX-XXX-XXXX formatu." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" "Unesi ispravan broj socijalnog osiguranja S.A.D.-a formata XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Unesite državu ili teritorij u SAD-u." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Država S.A.D.-a (dva velika slova)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Telefonski broj" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Unesite valjani CI broj u X.XXX.XXX-X, XXXXXXX-X ili XXXXXXXX formatu." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Unesite ispravan CI broj." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Unesi ispravan južnoafrički ID broj." -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Unesite ispravan južnoafrički poštanski broj." @@ -3816,6 +4426,10 @@ msgstr "North West" msgid "Western Cape" msgstr "Western Cape" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "lijena poruka (\"lazy message\")" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "preusmjeri od" @@ -3880,149 +4494,291 @@ msgstr "ime za prikaz" msgid "sites" msgstr "stranice" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Vrijednost mora biti cijeli broj." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Unesite ispravnu vrijednost." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Vrijednost mora biti True ili False." +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Unesite ispravan URL." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Ovo polje ne može biti null." +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Izgleda da je URL neispravan." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Unesite ispravan 'slug' koji se sastoji samo od slova, brojeva, povlaka ili " +"crtica." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Unesite ispravnu IPv4 adresu." + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "Unesite samo brojeve razdvojene zarezom." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Osigurajte da ova vrijednost ima %(limit_value)s (trenutno je %(show_value)" +"s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Osigurajte da je ova vrijednost manja ili jednaka %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Osigurajte da je ova vrijednost veća ili jednaka %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Osigurajte da ova vrijednost ima najmanje %(limit_value)d znakova (ima %" +"(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Osigurajte da ova vrijednost ima najviše %(limit_value)d znakova (ima %" +"(show_value)d)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" +"%(field_name)s mora biti jedinstven pojam za %(date_field)s %(lookup)s." + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s sa navedenim %(field_label)s već postoji." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Vrijednost %r nije ispravan izbor." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Ovo polje ne može biti null." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Ovo polje ne može biti prazno." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Polje tipa: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Cijeli broj" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Vrijednost mora biti cijeli broj." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Vrijednost mora biti True ili False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Boolean (True ili False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Slova (do %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Cijeli brojevi odvojeni zarezom" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Datum (bez vremena/sati)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Unesite ispravan datum u formatu YYYY-MM-DD." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Neispravan datum: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "" "Unesite ispravan datum/vrijeme u formatu YYYY-MM-DD HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Datum (sa vremenom/satima)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "Vrijednost mora biti decimalan broj." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Decimalni broj" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "E-mail adresa" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Put do datoteke" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "Vrijednost mora biti float." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Broj s pomičnim zarezom (floating point number)" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Big (8 byte) integer" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "Vrijednost mora biti None, True ili False." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (True, False ili None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Tekst" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Vrijeme" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Unesite ispravno vrijeme formata HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:792 +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML tekst" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Model %(model)s sa pk %(pk)r ne postoji." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (type determined by related field)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "One-to-one relationship" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Many-to-many relationship" + +#: db/models/fields/related.py:1000 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Držite \"Control\", ili \"Command\" na Mac-u, da bi odabrali više od jednog " "objekta." -#: db/models/fields/related.py:870 +#: db/models/fields/related.py:1061 #, 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] "" -"Molim unesite ispravan %(self)s ID-eve. Vrijednost %(value)r je neispravna." +"Molimo unesite ispravne %(self)s ID-eve. Vrijednost %(value)r je neispravna." msgstr[1] "" -"Molim unesite ispravan %(self)s ID-eve. Vrijednosti %(value)r su neispravne." +"Molimo unesite ispravne %(self)s ID-eve. Vrijednosti %(value)r su neispravne." +msgstr[2] "" +"Molimo unesite ispravne %(self)s ID-eve. Vrijednosti %(value)r su neispravne." +msgstr[3] "" +"Molimo unesite ispravne %(self)s ID-eve. Vrijednosti %(value)r su neispravne." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Unos za ovo polje je obavezan." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Unesite ispravnu vrijednost." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Osigurajte da ova vrijednost ima najviše %(max)d znakova (ima %(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Osigurajte da ova vrijednost ima najmanje %(min)d znakova (ima %(length)d)." - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "Unesite cijeli broj." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Osigurajte da je ova vrijednost manja ili jednaka %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Osigurajte da je ova vrijednost veća ili jednaka %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "Unesite broj." -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Osigurajte da ukupno nema više od %s numeričkih znakova." -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Osigurajte da ukupno nema više od %s decimalnih mjesta." -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "" "Osigurajte da ukupno nema više od %s numeričkih znakova prije decimalne " "točke." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "Unesite ispravan datum." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "Unesite ispravno vrijeme." -#: forms/fields.py:361 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "Unesite ispravan datum/vrijeme." -#: forms/fields.py:447 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "Datoteka nije poslana. Provjerite 'encoding type' forme." -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "Datoteka nije poslana." -#: forms/fields.py:449 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "Poslana datoteka je prazna." -#: forms/fields.py:450 +#: forms/fields.py:438 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." @@ -4030,7 +4786,7 @@ msgstr "" "Osigurajte da ova datoteka ima najviše %(max)d znakova (trenutno ima %" "(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -4038,113 +4794,111 @@ msgstr "" "Upload-ajte ispravnu sliku. Datoteka koju ste upload-ali ili nije slika ili " "je oštečena." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Unesite ispravan URL." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "Izgleda da je URL neispravan." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Odaberite iz ponuđenog. %(value)s nije ponuđen kao opcija." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:863 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 msgid "Enter a list of values." msgstr "Unesite listu vrijednosti." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Unesite ispravnu IPv4 adresu." - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Unesite ispravan 'slug' koji se sastoji samo od slova, brojeva, povlaka ili " -"crtica." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "Redoslijed:" -#: forms/models.py:363 +#: forms/models.py:562 #, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "%(field_name)s mora biti jedinstven pojam za %(date_field)s %(lookup)s." +msgid "Please correct the duplicate data for %(field)s." +msgstr "Ispravite duplicirane podatke za %(field)s." -#: forms/models.py:377 forms/models.py:385 +#: forms/models.py:566 #, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s sa navedenim %(field_label)s već postoji." +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Molimo ispravite duplicirane podatke za %(field)s, koji moraju biti " +"jedinstveni." -#: forms/models.py:738 +#: forms/models.py:572 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Molimo ispravite duplicirane podatke za %(field_name)s koji moraju biti " +"jedinstveni za %(lookup)s u %(date_field)s." + +#: forms/models.py:580 +msgid "Please correct the duplicate values below." +msgstr "Molimo ispravite duplicirane vrijednosti ispod." + +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "The inline foreign key did not match the parent instance primary key." -#: forms/models.py:793 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Izaberite ispravnu opciju. Ta opcija nije jedna od dostupnih opcija." -#: forms/models.py:864 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Odaberite iz ponuđenog. %s nije ponuđen kao opcija." -#: forms/models.py:866 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" nije ispravna vrijednost za primarni kluč." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "da,ne,možda" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bajt" -msgstr[1] "%(size)d bajta" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d byte-a" +msgstr[2] "%(size)d byte-a" +msgstr[3] "%(size)d byte-a" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" -#: utils/dateformat.py:41 +#: utils/dateformat.py:42 msgid "p.m." msgstr "popodne" -#: utils/dateformat.py:42 +#: utils/dateformat.py:43 msgid "a.m." msgstr "ujutro" -#: utils/dateformat.py:47 +#: utils/dateformat.py:48 msgid "PM" msgstr "popodne" -#: utils/dateformat.py:48 +#: utils/dateformat.py:49 msgid "AM" msgstr "ujutro" -#: utils/dateformat.py:97 +#: utils/dateformat.py:98 msgid "midnight" msgstr "ponoć" -#: utils/dateformat.py:99 +#: utils/dateformat.py:100 msgid "noon" msgstr "podne" @@ -4328,7 +5082,7 @@ msgstr "Stu." msgid "Dec." msgstr "Pro." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "ili" @@ -4337,36 +5091,48 @@ msgid "year" msgid_plural "years" msgstr[0] "godina" msgstr[1] "godine" +msgstr[2] "godine" +msgstr[3] "godine" #: utils/timesince.py:22 msgid "month" msgid_plural "months" msgstr[0] "mjesec" msgstr[1] "mjeseci" +msgstr[2] "mjeseci" +msgstr[3] "mjeseci" #: utils/timesince.py:23 msgid "week" msgid_plural "weeks" msgstr[0] "tjedan" -msgstr[1] "tjedani" +msgstr[1] "tjedna" +msgstr[2] "tjedna" +msgstr[3] "tjedna" #: utils/timesince.py:24 msgid "day" msgid_plural "days" msgstr[0] "dan" msgstr[1] "dani" +msgstr[2] "dana" +msgstr[3] "dana" #: utils/timesince.py:25 msgid "hour" msgid_plural "hours" msgstr[0] "sat" msgstr[1] "sati" +msgstr[2] "sata" +msgstr[3] "sata" #: utils/timesince.py:26 msgid "minute" msgid_plural "minutes" msgstr[0] "minuta" msgstr[1] "minute" +msgstr[2] "minute" +msgstr[3] "minute" #: utils/timesince.py:45 msgid "minutes" @@ -4382,436 +5148,52 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" -msgstr "DATE_FORMAT" +msgstr "j. N Y." -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j. N Y. G:i T" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" -msgstr "TIME_FORMAT" +msgstr "G:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" -msgstr "YEAR_MONTH_FORMAT" +msgstr "F Y." -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" -msgstr "MONTH_DAY_FORMAT" +msgstr "j. F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s je uspješno kreirano." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s je uspješno promijenjeno." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s je izbrisano." -#~ msgid "Gaeilge" -#~ msgstr "Gaeilge" +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "Jedan ili više %(fieldname)s u %(name)s: %(obj)s" -#~ msgid "Brazilian" -#~ msgstr "Brazilski" +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "Jedan ili više %(fieldname)s u %(name)s:" -#~ msgid "Ordering" -#~ msgstr "Redoslijed" +#~ msgid "Old password:" +#~ msgstr "Stara lozinka:" -#~ msgid "DATE_WITH_TIME_FULL" -#~ msgstr "DATE_WITH_TIME_FULL" +#~ msgid "Relation to parent model" +#~ msgstr "Relacija na roditeljski model (parent model)" -#~ msgid "Your new password is: %(new_password)s" -#~ msgstr "Vaša nova lozinka je: %(new_password)s" - -#~ msgid "Feel free to change this password by going to this page:" -#~ msgstr "Slobodno promijenite lozinku odlaskom na ovu stranicu:" - -#~ msgid "Added %s." -#~ msgstr "Dodano %s" - -#~ msgid "Deleted %s." -#~ msgstr "Izbrisano %s." - -#~ msgid "The two 'new password' fields didn't match." -#~ msgstr "Dva polja 'nova lozinka' nisu jednaka." - -#~ msgid "headline" -#~ msgstr "naslov" - -#~ msgid "rating #1" -#~ msgstr "ocjena #1" - -#~ msgid "rating #2" -#~ msgstr "ocjena #2" - -#~ msgid "rating #3" -#~ msgstr "ocjena #3" - -#~ msgid "rating #4" -#~ msgstr "ocjena #4" - -#~ msgid "rating #5" -#~ msgstr "ocjena #5" - -#~ msgid "rating #6" -#~ msgstr "ocjena #6" - -#~ msgid "rating #7" -#~ msgstr "ocjena #7" - -#~ msgid "rating #8" -#~ msgstr "ocjena #8" - -#~ msgid "is valid rating" -#~ msgstr "ocjena je ispravana" - -#~ msgid "Content object" -#~ msgstr "Objekt sadržaja" - -#~ msgid "person's name" -#~ msgstr "ime osobe" - -#~ msgid "ip address" -#~ msgstr "ip adresa" - -#~ msgid "approved by staff" -#~ msgstr "odobreno od strane osoblja" - -#~ msgid "free comments" -#~ msgstr "slobodni komentari" - -#~ msgid "score" -#~ msgstr "rezultat" - -#~ msgid "score date" -#~ msgstr "datum rezultata" - -#~ msgid "karma score" -#~ msgstr "karma rezultat" - -#~ msgid "karma scores" -#~ msgstr "karma rezultati" - -#~ msgid "%(score)d rating by %(user)s" -#~ msgstr "%(score)d ocjena po %(user)s" - -#~ msgid "" -#~ "This comment was flagged by %(user)s:\n" -#~ "\n" -#~ "%(text)s" -#~ msgstr "" -#~ "Ovaj komentar je označio %(user)s:\n" -#~ "\n" -#~ "%(text)s" - -#~ msgid "flag date" -#~ msgstr "označeno datuma" - -#~ msgid "user flag" -#~ msgstr "korisnička oznaka" - -#~ msgid "user flags" -#~ msgstr "korisničke oznake" - -#~ msgid "Flag by %r" -#~ msgstr "Oznaka po %r" - -#~ msgid "deletion date" -#~ msgstr "datum brisanja" - -#~ msgid "moderator deletion" -#~ msgstr "brisanje moderatora" - -#~ msgid "moderator deletions" -#~ msgstr "brisanja moderatora" - -#~ msgid "Moderator deletion by %r" -#~ msgstr "Brisanje moderatora po %r" - -#~ msgid "Forgotten your password?" -#~ msgstr "Zaboravili ste lozinku?" - -#~ msgid "Ratings" -#~ msgstr "Ocjene" - -#~ msgid "Required" -#~ msgstr "Obavezno" - -#~ msgid "Optional" -#~ msgstr "Izborno, nije obavezno" - -#~ msgid "Post a photo" -#~ msgstr "Pošalji sliku" - -#~ msgid "Your name:" -#~ msgstr "Vaše ime:" - -#~ msgid "" -#~ "This rating is required because you've entered at least one other rating." -#~ msgstr "Ova ocjena je obavezna jer ste bar jednom već ocjenjivali" - -#~ 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] "" -#~ "Ovaj komentar je napisao korisnik koji je napisao manje od %(count)s " -#~ "komentara:\n" -#~ "\n" -#~ "%(text)s" -#~ msgstr[1] "" -#~ "Ovaj komentar je napisao korisnik koji je napisao manje od %(count)s " -#~ "komentara:\n" -#~ "\n" -#~ "%(text)s" - -#~ msgid "Only POSTs are allowed" -#~ msgstr "Samo POST dopušten." - -#~ msgid "One or more of the required fields wasn't submitted" -#~ msgstr "Jedno ili više obaveznih polja nisu poslana" - -#~ msgid "Somebody tampered with the comment form (security violation)" -#~ msgstr "Netko je mijenjao formu komentara (sigurnosni propust)" - -#~ msgid "" -#~ "The comment form had an invalid 'target' parameter -- the object ID was " -#~ "invalid" -#~ msgstr "" -#~ "Forma komentara ima nepravilni 'target' parametar -- ID objekta je bio " -#~ "nepravilan" - -#~ msgid "The comment form didn't provide either 'preview' or 'post'" -#~ msgstr "Forma komentara nije imala ni 'preview' ni 'post'" - -#~ msgid "Anonymous users cannot vote" -#~ msgstr "Anonimni korisnici ne mogu glasati" - -#~ msgid "No voting for yourself" -#~ msgstr "Ne možete glasati za sebe" - -#~ msgid "Uppercase letters are not allowed here." -#~ msgstr "Velika slova ovdje nisu dopuštena." - -#~ msgid "Lowercase letters are not allowed here." -#~ msgstr "Mala slova ovdje nisu dopuštena" - -#~ msgid "Enter valid e-mail addresses separated by commas." -#~ msgstr "Unesite ispravne e-mail adrese odvojene zarezom." - -#~ msgid "Please enter a valid IP address." -#~ msgstr "Unesite ispravnu IP adresu." - -#~ msgid "Empty values are not allowed here." -#~ msgstr "Prazne vrijednosti nisu dopuštene ovdje." - -#~ msgid "Non-numeric characters aren't allowed here." -#~ msgstr "Dozvoljeni su samo numerički znakovi." - -#~ msgid "This value can't be comprised solely of digits." -#~ msgstr "Ova vrijednost ne može sadržavati samo brojeve." - -#~ msgid "Only alphabetical characters are allowed here." -#~ msgstr "Dozvoljena su samo slova abecede." - -#~ msgid "Year must be 1900 or later." -#~ msgstr "Godina mora biti 1900 ili poslije." - -#~ msgid "The URL %s does not point to a valid image." -#~ msgstr "URL %s ne vodi na ispravnu sliku." - -#~ msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -#~ msgstr "" -#~ "Telefonski brojevi moraju biti u formatu XXX-XXX-XXXX. \"%s\" nije " -#~ "ispravan format." - -#~ msgid "The URL %s does not point to a valid QuickTime video." -#~ msgstr "URL %s ne vodi na ispravan QuickTime video." - -#~ msgid "A valid URL is required." -#~ msgstr "Ispravan URL je obavezan." - -#~ msgid "" -#~ "Valid HTML is required. Specific errors are:\n" -#~ "%s" -#~ msgstr "Ispravan HTML je obavezan. Pogreške:
                  %s" - -#~ msgid "Badly formed XML: %s" -#~ msgstr "Loše formatiran XML: %s" - -#~ msgid "Invalid URL: %s" -#~ msgstr "Neispravan URL: %s" - -#~ msgid "The URL %s is a broken link." -#~ msgstr "URL %s je neispravan (broken) link." - -#~ msgid "Enter a valid U.S. state abbreviation." -#~ msgstr "Unesite ispravanu kraticu za državu S.A.D.-a." - -#~ msgid "This field must match the '%s' field." -#~ msgstr "Ovo polje mora biti jednako %s polju." - -#~ msgid "Please enter something for at least one field." -#~ msgstr "Molim unesite nešto bar za jedno polje." - -#~ msgid "Please enter both fields or leave them both empty." -#~ msgstr "" -#~ "Molim unesite vrijednosti za oba polja ili ostavite oba polja prazna." - -#~ msgid "This field must be given if %(field)s is not %(value)s" -#~ msgstr "Ovo polje je obavezno ako je %(field)s različito od %(value)s" - -#~ msgid "Duplicate values are not allowed." -#~ msgstr "Duplicirane vrijednosti nisu dopuštene." - -#~ msgid "This value must be between %(lower)s and %(upper)s." -#~ msgstr "Vrijednost mora biti između %(lower)s i %(upper)s." - -#~ msgid "This value must be no more than %s." -#~ msgstr "Vrijednost ne može biti veća od %s." - -#~ msgid "This value must be a power of %s." -#~ msgstr "Ova vrijednost mora biti %s na kvadrat." - -#~ msgid "Please enter a valid decimal number." -#~ msgstr "Molim unesite ispravan decimalni broj." - -#~ 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] "" -#~ "Molim unesite ispravan decimalni broj sa najviše %s numerička znaka." -#~ msgstr[1] "" -#~ "Molim unesite ispravan decimalni broj sa najviše %s numeričkih znakova." - -#~ 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] "" -#~ "Molim unesite ispravan decimalni broj sa najviše %s numerička znaka u " -#~ "cijelom dijelu." -#~ msgstr[1] "" -#~ "Molim unesite ispravan decimalni broj sa najviše %s numeričkih znakova u " -#~ "cijelom dijelu." - -#~ 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] "" -#~ "Molim unesite ispravan decimalni broj sa najviše %s decimalna mjesta." -#~ msgstr[1] "" -#~ "Molim unesite ispravan decimalni broj sa najviše %s decimalnih mjesta." - -#~ msgid "Please enter a valid floating point number." -#~ msgstr "" -#~ "Molim unesite ispravan broj sa pomičnim zarezom (floating point number)." - -#~ msgid "Make sure your uploaded file is at least %s bytes big." -#~ msgstr "Provjerite je li Vaša upload-ana datoteka bar %s byte-ova velika." - -#~ msgid "Make sure your uploaded file is at most %s bytes big." -#~ msgstr "" -#~ "Provjerite je li Vaša upload-ana datoteka najviše %s byte-ova velika." - -#~ msgid "The format for this field is wrong." -#~ msgstr "Format za ovo polje je pogrešno." - -#~ msgid "This field is invalid." -#~ msgstr "Ovo polje je neispravno." - -#~ msgid "Could not retrieve anything from %s." -#~ msgstr "Ništa nije izvučeno iz %s." - -#~ msgid "" -#~ "The URL %(url)s returned the invalid Content-Type header '%(contenttype)" -#~ "s'." -#~ msgstr "" -#~ "URL %(url)s je vratio neispravan Content-Type header '%(contenttype)s'." - -#~ msgid "" -#~ "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts " -#~ "with \"%(start)s\".)" -#~ msgstr "" -#~ "Molim zatvorite %(tag)s na liniji %(line)s. (Linija 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 "" -#~ "Neki tekst koji počinje na liniji %(line)s nije dopušten u tom kontekstu. " -#~ "(Linija počinje sa \"%(start)s\".)" - -#~ msgid "" -#~ "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with " -#~ "\"%(start)s\".)" -#~ msgstr "" -#~ "\"%(attr)s\" na liniji %(line)s je neispravan atribut. (Linija počinje sa " -#~ "\"%(start)s\".)" - -#~ msgid "" -#~ "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -#~ "(start)s\".)" -#~ msgstr "" -#~ "\"<%(tag)s>\" na liniji %(line)s je neispravan tag. (Linija 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 "" -#~ "Tagu na liniji %(line)s nedostaje jedan ili više obaveznih atributa. " -#~ "(Linija počinje sa \"%(start)s\".)" - -#~ msgid "" -#~ "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -#~ "starts with \"%(start)s\".)" -#~ msgstr "" -#~ "\"%(attr)s\" atribut na liniji %(line)s ima neispravnu vrijednost. " -#~ "(Linija počinje sa \"%(start)s\".)" - -#~ msgid "" -#~ "%(object)s with this %(type)s already exists for the given %(field)s." -#~ msgstr "%(object)s sa %(type)s već postoji za navedeno %(field)s." - -#~ msgid "Enter a valid filename." -#~ msgstr "Unesite ime datoteke koja postoji." - -#~ msgid "Please enter a valid %s." -#~ msgstr "Molim unesite ispravan %s." - -#~ msgid "Separate multiple IDs with commas." -#~ msgstr "Odvojite više ID-a zarezom." - -#~ msgid "Ensure your text is less than %s character." -#~ msgid_plural "Ensure your text is less than %s characters." -#~ msgstr[0] "Osigurajte da tekst sadrži manje od %s znaka." -#~ msgstr[1] "Osigurajte da tekst sadrži manje od %s znakova." - -#~ msgid "Line breaks are not allowed here." -#~ msgstr "Novi redovi ovdje nisu dozvoljeni." - -#~ msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -#~ msgstr "Odaberite iz ponuđenog; '%(data)s' nije u %(choices)s." - -#~ msgid "Enter a whole number between -32,768 and 32,767." -#~ msgstr "Unesite cijeli broj između -32,768 i 32,767." - -#~ msgid "Enter a positive number." -#~ msgstr "Unesite pozitivan broj." - -#~ msgid "Enter a whole number between 0 and 32,767." -#~ msgstr "Unesite cijeli broj između 0 i 32,767." +#~ msgid "Add user" +#~ msgstr "Unos novog korisnika" diff --git a/django/conf/locale/hr/__init__.py b/django/conf/locale/hr/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/hr/formats.py b/django/conf/locale/hr/formats.py new file mode 100644 index 000000000..2f533a74c --- /dev/null +++ b/django/conf/locale/hr/formats.py @@ -0,0 +1,42 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j. F Y.' +TIME_FORMAT = 'H:i:s' +DATETIME_FORMAT = 'j. F Y. H:i' +YEAR_MONTH_FORMAT = 'F Y.' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'j.m.Y.' +SHORT_DATETIME_FORMAT = 'j.m.Y. H:i' +FIRST_DAY_OF_WEEK = 1 +DATE_INPUT_FORMATS = ( + '%Y-%m-%d', # '2006-10-25' + '%d.%m.%Y.', '%d.%m.%y.', # '25.10.2006.', '25.10.06.' + '%d. %m. %Y.', '%d. %m. %y.', # '25. 10. 2006.', '25. 10. 06.' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%d.%m.%Y. %H:%M:%S', # '25.10.2006. 14:30:59' + '%d.%m.%Y. %H:%M', # '25.10.2006. 14:30' + '%d.%m.%Y.', # '25.10.2006.' + '%d.%m.%y. %H:%M:%S', # '25.10.06. 14:30:59' + '%d.%m.%y. %H:%M', # '25.10.06. 14:30' + '%d.%m.%y.', # '25.10.06.' + '%d. %m. %Y. %H:%M:%S', # '25. 10. 2006. 14:30:59' + '%d. %m. %Y. %H:%M', # '25. 10. 2006. 14:30' + '%d. %m. %Y.', # '25. 10. 2006.' + '%d. %m. %y. %H:%M:%S', # '25. 10. 06. 14:30:59' + '%d. %m. %y. %H:%M', # '25. 10. 06. 14:30' + '%d. %m. %y.', # '25. 10. 06.' +) + +DECIMAL_SEPARATOR = '.' +THOUSAND_SEPARATOR = ',' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/hu/LC_MESSAGES/django.mo b/django/conf/locale/hu/LC_MESSAGES/django.mo index 2d351ee7601f7cd4860f6a2cba862efe8358f784..3ed2641ed94463e34a7f1b32c5d1cb42bcbca64a 100644 GIT binary patch delta 15864 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 Hl<)q32c}nu delta 15876 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 Jbxlmy{{x*YUYGy? diff --git a/django/conf/locale/hu/LC_MESSAGES/django.po b/django/conf/locale/hu/LC_MESSAGES/django.po index c4cb1a062..c7513a7e9 100644 --- a/django/conf/locale/hu/LC_MESSAGES/django.po +++ b/django/conf/locale/hu/LC_MESSAGES/django.po @@ -4119,18 +4119,18 @@ msgstr[1] "%(size)d bájt" #: template/defaultfilters.py:739 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" #: template/defaultfilters.py:741 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" #: template/defaultfilters.py:742 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:41 msgid "p.m." diff --git a/django/conf/locale/hu/__init__.py b/django/conf/locale/hu/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/hu/formats.py b/django/conf/locale/hu/formats.py new file mode 100644 index 000000000..cb93e2f91 --- /dev/null +++ b/django/conf/locale/hu/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'Y. F j.' +TIME_FORMAT = 'G:i:s' +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = 'F j.' +SHORT_DATE_FORMAT = 'Y.m.d.' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = u' ' # Non-breaking space +# NUMBER_GROUPING = diff --git a/django/conf/locale/id/LC_MESSAGES/django.mo b/django/conf/locale/id/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..49d65f87c74f5a43f4054ca5e0c59fef43fda6ec GIT binary patch literal 74742 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 Dodq37 literal 0 HcmV?d00001 diff --git a/django/conf/locale/id/LC_MESSAGES/django.po b/django/conf/locale/id/LC_MESSAGES/django.po new file mode 100644 index 000000000..6ea48118f --- /dev/null +++ b/django/conf/locale/id/LC_MESSAGES/django.po @@ -0,0 +1,5127 @@ +# Translation of django.po to Indonesian +# This file is distributed under the same license as the Django package. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-05-09 20:22+0200\n" +"PO-Revision-Date: 2010-05-08 18:39+0700\n" +"Last-Translator: Selwin Ong \n" +"Language-Team: Indonesian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" + +#: conf/global_settings.py:44 +msgid "Arabic" +msgstr "Bahasa Arab" + +#: conf/global_settings.py:45 +msgid "Bulgarian" +msgstr "Bahasa Bulgaria" + +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Bahasa Bengali" + +#: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Bahasa Bosnia" + +#: conf/global_settings.py:48 +msgid "Catalan" +msgstr "Bahasa Catalan" + +#: conf/global_settings.py:49 +msgid "Czech" +msgstr "Bahasa Ceko" + +#: conf/global_settings.py:50 +msgid "Welsh" +msgstr "Bahasa Wales" + +#: conf/global_settings.py:51 +msgid "Danish" +msgstr "Bahasa Denmark" + +#: conf/global_settings.py:52 +msgid "German" +msgstr "Bahasa Jerman" + +#: conf/global_settings.py:53 +msgid "Greek" +msgstr "Bahasa Yunani" + +#: conf/global_settings.py:54 +msgid "English" +msgstr "Bahasa Inggris" + +#: conf/global_settings.py:55 +msgid "British English" +msgstr "Bahasa Inggris Britania" + +#: conf/global_settings.py:56 +msgid "Spanish" +msgstr "Bahasa Spanyol" + +#: conf/global_settings.py:57 +msgid "Argentinean Spanish" +msgstr "Bahasa Spanyol" + +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "Bahasa Estonia" + +#: conf/global_settings.py:59 +msgid "Basque" +msgstr "Bahasa Basque" + +#: conf/global_settings.py:60 +msgid "Persian" +msgstr "Bahasa Persia" + +#: conf/global_settings.py:61 +msgid "Finnish" +msgstr "Bahasa Finlandia" + +#: conf/global_settings.py:62 +msgid "French" +msgstr "Bahasa Perancis" + +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Bahasa Frisia" + +#: conf/global_settings.py:64 +msgid "Irish" +msgstr "Bahasa Irlandia" + +#: conf/global_settings.py:65 +msgid "Galician" +msgstr "Bahasa Gali" + +#: conf/global_settings.py:66 +msgid "Hebrew" +msgstr "Bahasa Hebrew" + +#: conf/global_settings.py:67 +msgid "Hindi" +msgstr "Bahasa Hindi" + +#: conf/global_settings.py:68 +msgid "Croatian" +msgstr "Bahasa Croasia" + +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Bahasa Hungaria" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "Bahasa Indonesia" + +#: conf/global_settings.py:71 +msgid "Icelandic" +msgstr "Bahasa Iceland" + +#: conf/global_settings.py:72 +msgid "Italian" +msgstr "Bahasa Italia" + +#: conf/global_settings.py:73 +msgid "Japanese" +msgstr "Bahasa Jepang" + +#: conf/global_settings.py:74 +msgid "Georgian" +msgstr "Bahasa Georgia" + +#: conf/global_settings.py:75 +msgid "Khmer" +msgstr "Bahasa Khmer" + +#: conf/global_settings.py:76 +msgid "Kannada" +msgstr "Bahasa Kannada" + +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "Bahasa Korea" + +#: conf/global_settings.py:78 +msgid "Lithuanian" +msgstr "Bahasa Lithuania" + +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "Bahasa Latvia" + +#: conf/global_settings.py:80 +msgid "Macedonian" +msgstr "Bahasa Macedonia" + +#: conf/global_settings.py:81 +msgid "Mongolian" +msgstr "Bahasa Mongolia" + +#: conf/global_settings.py:82 +msgid "Dutch" +msgstr "Bahasa Belanda" + +#: conf/global_settings.py:83 +msgid "Norwegian" +msgstr "Bahasa Norwegia" + +#: conf/global_settings.py:84 +msgid "Norwegian Bokmal" +msgstr "Bahasa Norwegia Bokmal" + +#: conf/global_settings.py:85 +msgid "Norwegian Nynorsk" +msgstr "Bahasa Norwegia Nynorsk" + +#: conf/global_settings.py:86 +msgid "Polish" +msgstr "Bahasa Polandia" + +#: conf/global_settings.py:87 +msgid "Portuguese" +msgstr "Bahasa Portugal" + +#: conf/global_settings.py:88 +msgid "Brazilian Portuguese" +msgstr "Bahasa Portugal Brazil" + +#: conf/global_settings.py:89 +msgid "Romanian" +msgstr "Bahasa Romania" + +#: conf/global_settings.py:90 +msgid "Russian" +msgstr "Bahasa Russia" + +#: conf/global_settings.py:91 +msgid "Slovak" +msgstr "Bahasa Slovakia" + +#: conf/global_settings.py:92 +msgid "Slovenian" +msgstr "Bahasa Slovenia" + +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "Bahasa Albania" + +#: conf/global_settings.py:94 +msgid "Serbian" +msgstr "Bahasa Serbia" + +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "Bahasa Serbia Latin" + +#: conf/global_settings.py:96 +msgid "Swedish" +msgstr "Bahasa Swedia" + +#: conf/global_settings.py:97 +msgid "Tamil" +msgstr "Bahasa Tamil" + +#: conf/global_settings.py:98 +msgid "Telugu" +msgstr "Bahasa Telugu" + +#: conf/global_settings.py:99 +msgid "Thai" +msgstr "Bahasa Thailand" + +#: conf/global_settings.py:100 +msgid "Turkish" +msgstr "Bahasa Turki" + +#: conf/global_settings.py:101 +msgid "Ukrainian" +msgstr "Bahasa Ukrainia" + +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "Bahasa Vietnam" + +#: conf/global_settings.py:103 +msgid "Simplified Chinese" +msgstr "Bahasa Cina Sederhana" + +#: conf/global_settings.py:104 +msgid "Traditional Chinese" +msgstr "Bahasa Cina Tradisional" + +#: contrib/admin/actions.py:48 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Berhasil menghapus %(count)d %(items)s." + +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 +msgid "Are you sure?" +msgstr "Apakah Anda yakin?" + +#: contrib/admin/actions.py:73 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Hapus %(verbose_name_plural)s yang terpilih" + +#: contrib/admin/filterspecs.py:44 +#, python-format +msgid "" +"

                  By %s:

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

                    Oleh %s:

                    \n" +"
                      \n" + +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "Semua" + +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "Kapanpun" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "Hari ini" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "Tujuh hari terakhir" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "Bulan ini" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "Tahun ini" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 +msgid "Yes" +msgstr "Ya" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 +msgid "No" +msgstr "Tidak" + +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 +msgid "Unknown" +msgstr "Tidak diketahui" + +#: contrib/admin/helpers.py:20 +msgid "Action:" +msgstr "Aksi:" + +#: contrib/admin/models.py:19 +msgid "action time" +msgstr "waktu aksi" + +#: contrib/admin/models.py:22 +msgid "object id" +msgstr "id obyek" + +#: contrib/admin/models.py:23 +msgid "object repr" +msgstr "representasi obyek" + +#: contrib/admin/models.py:24 +msgid "action flag" +msgstr "jenis aksi" + +#: contrib/admin/models.py:25 +msgid "change message" +msgstr "ganti pesan" + +#: contrib/admin/models.py:28 +msgid "log entry" +msgstr "pencatatan log" + +#: contrib/admin/models.py:29 +msgid "log entries" +msgstr "pencatatan log" + +#: contrib/admin/options.py:138 contrib/admin/options.py:153 +msgid "None" +msgstr "None" + +#: contrib/admin/options.py:559 +#, python-format +msgid "Changed %s." +msgstr "%s telah diubah" + +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:568 +msgid "and" +msgstr "dan" + +#: contrib/admin/options.py:564 +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "%(name)s \"%(object)s\" telah ditambahkan." + +#: contrib/admin/options.py:568 +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "%(list)s untuk %(name)s \"%(object)s\" telah diubah." + +#: contrib/admin/options.py:573 +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "%(name)s \"%(object)s\" telah dihapus." + +#: contrib/admin/options.py:577 +msgid "No fields changed." +msgstr "Tidak ada field yang berubah." + +#: contrib/admin/options.py:643 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" berhasil ditambahkan." + +#: contrib/admin/options.py:647 contrib/admin/options.py:680 +msgid "You may edit it again below." +msgstr "Anda boleh mengubahnya kembali di bawah." + +#: contrib/admin/options.py:657 contrib/admin/options.py:690 +#, python-format +msgid "You may add another %s below." +msgstr "Anda boleh menambahkan %s lagi di bawah." + +#: contrib/admin/options.py:678 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" berhasil diubah." + +#: contrib/admin/options.py:686 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"%(name)s \"%(obj)s\" berhasil ditambahkan. Anda boleh mengubahnya di bawah." + +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "Obyek harus dipilih sebelum dimanipulasi. Tidak ada obyek yang diubah." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Tidak ada aksi yang terpilih." + +#: contrib/admin/options.py:840 +#, python-format +msgid "Add %s" +msgstr "Tambahkan %s" + +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "Obyek %(name)s dengan primary key %(key)r tidak ada." + +#: contrib/admin/options.py:931 +#, python-format +msgid "Change %s" +msgstr "Ubah %s" + +#: contrib/admin/options.py:977 +msgid "Database error" +msgstr "Database error" + +#: contrib/admin/options.py:1039 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s berhasil diubah." +msgstr[1] "%(count)s %(name)s berhasil diubah." + +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s terpilih" +msgstr[1] "Semua %(total_count)s terpilih" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 dari %(cnt)s terpilih" + +#: contrib/admin/options.py:1118 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" berhasil dihapus." + +#: contrib/admin/options.py:1155 +#, python-format +msgid "Change history: %s" +msgstr "Ubah riwayat: %s" + +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"Mohon masukkan nama dan sandi yang benar. Kedua field ini case-sensitive." + +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 +msgid "Please log in again, because your session has expired." +msgstr "Mohon log in kembali karena sesi Anda telah habis." + +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Tampaknya peramban Anda tidak menerima cookies. Mohon ubah konfigurasi Anda, " +"reload halaman ini dan coba lagi." + +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 +#: contrib/admin/views/decorators.py:66 +msgid "Usernames cannot contain the '@' character." +msgstr "Nama tidak boleh memiliki karakter '@'." + +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "Nama akun Anda bukan alamat email. Cobalah dengan '%s'." + +#: contrib/admin/sites.py:389 +msgid "Site administration" +msgstr "Administrasi situs" + +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/templates/registration/password_reset_complete.html:14 +#: contrib/admin/views/decorators.py:20 +msgid "Log in" +msgstr "Log in" + +#: contrib/admin/sites.py:448 +#, python-format +msgid "%s administration" +msgstr "administrasi %s" + +#: contrib/admin/widgets.py:75 +msgid "Date:" +msgstr "Tanggal:" + +#: contrib/admin/widgets.py:75 +msgid "Time:" +msgstr "Waktu:" + +#: contrib/admin/widgets.py:99 +msgid "Currently:" +msgstr "Saat ini:" + +#: contrib/admin/widgets.py:99 +msgid "Change:" +msgstr "Ubah:" + +#: contrib/admin/widgets.py:129 +msgid "Lookup" +msgstr "Cari" + +#: contrib/admin/widgets.py:244 +msgid "Add Another" +msgstr "Tambah Satu Lagi" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Halaman tidak ditemukan" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Maaf, halaman yang Anda cari tidak ditemukan." + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/app_index.html:8 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: 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:5 +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "Halaman Utama" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Server error" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Server error (500)" + +#: 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 "" +"Error telah ditemukan dan dilaporkan kepada administrator situs melalui e-" +"mail dan akan diperbaiki secepatnya. Terima kasih atas pengertian Anda." + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "Jalankan aksi terpilih" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "Go" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Klik di sini untuk memilih semua obyek di semua halaman" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Pilih seluruh %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Hilangkan pilihan" + +#: contrib/admin/templates/admin/app_index.html:10 +#: contrib/admin/templates/admin/index.html:19 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/base.html:28 +msgid "Welcome," +msgstr "Selamat datang," + +#: contrib/admin/templates/admin/base.html:33 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Dokumentasi" + +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Change password" +msgstr "Ganti sandi" + +#: contrib/admin/templates/admin/base.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Log out" +msgstr "Log out" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Admin situs Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Administrasi Django" + +#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/index.html:29 +msgid "Add" +msgstr "Tambah" + +#: contrib/admin/templates/admin/change_form.html:28 +#: contrib/admin/templates/admin/object_history.html:10 +msgid "History" +msgstr "Riwayat" + +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 +msgid "View on site" +msgstr "Lihat di situs" + +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Mohon perbaiki error di bawah ini." +msgstr[1] "Mohon perbaiki error-error di bawah ini." + +#: contrib/admin/templates/admin/change_list.html:63 +#, python-format +msgid "Add %(name)s" +msgstr "Tambahkan %(name)s" + +#: contrib/admin/templates/admin/change_list.html:82 +msgid "Filter" +msgstr "Filter" + +#: contrib/admin/templates/admin/delete_confirmation.html:10 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 +msgid "Delete" +msgstr "Hapus" + +#: contrib/admin/templates/admin/delete_confirmation.html:16 +#, 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 "" +"Menghapus %(object_name)s '%(escaped_object)s' akan menghapus obyek-obyek " +"lain yang terhubung, akan tetapi akun Anda tidak memiliki ijin untuk " +"menghapus obyek-obyek dengan tipe:" + +#: contrib/admin/templates/admin/delete_confirmation.html:23 +#, 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 "" +"Apakah Anda yakin ingin menghapus %(object_name)s \"%(escaped_object)s\"? " +"Semua obyek-obyek lain yang berhubungan juga akan dihapus:" + +#: contrib/admin/templates/admin/delete_confirmation.html:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 +msgid "Yes, I'm sure" +msgstr "Ya, saya yakin" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "Hapus beberapa obyek" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)s would result in deleting related objects, but " +"your account doesn't have permission to delete the following types of " +"objects:" +msgstr "" +"Menghapus %(object_name)s akan menghapus obyek-obyek lain yang berhubungan, " +"tetapi akun Anda tidak memiliki ijin untuk menghapus tipe-tipe obyek:" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" +"Apakah Anda yakin ingin menghapus obyek %(object_name)s yang terpilih? Semua " +"obyek di bawah ini dan obyek-obyek lain yang berhubungan akan dihapus:" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Berdasarkan %(filter_title)s " + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Model-model yang tersedia di aplikasi %(name)s." + +#: contrib/admin/templates/admin/index.html:35 +msgid "Change" +msgstr "Ubah" + +#: contrib/admin/templates/admin/index.html:45 +msgid "You don't have permission to edit anything." +msgstr "Anda tidak memiliki ijin untuk mengubah apapun." + +#: contrib/admin/templates/admin/index.html:53 +msgid "Recent Actions" +msgstr "Aktivitas Sebelumnya" + +#: contrib/admin/templates/admin/index.html:54 +msgid "My Actions" +msgstr "Aktivitas Saya" + +#: contrib/admin/templates/admin/index.html:58 +msgid "None available" +msgstr "Tidak ada yang tersedia" + +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "Konten tidak diketahui" + +#: 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 "" +"Ada yang salah dengan instalasi database Anda. Pastikan tabel-tabel database " +"yang benar telah dibuat dan database dapat dibaca oleh user yang benar." + +#: contrib/admin/templates/admin/login.html:19 +msgid "Username:" +msgstr "Username:" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Password:" +msgstr "Sandi:" + +#: contrib/admin/templates/admin/object_history.html:22 +msgid "Date/time" +msgstr "Tanggal/waktu" + +#: contrib/admin/templates/admin/object_history.html:23 +msgid "User" +msgstr "Pengguna" + +#: contrib/admin/templates/admin/object_history.html:24 +msgid "Action" +msgstr "Aksi" + +#: contrib/admin/templates/admin/object_history.html:38 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Obyek ini tidak memiliki riwayat perubahan. Kemungkinan obyek ini tidak " +"ditambahkan melalui situs administrasi ini." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Perlihatkan semua" + +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Simpan" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Search" +msgstr "Cari" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 hasil" +msgstr[1] "%(counter)s hasil" + +#: 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/submit_line.html:5 +msgid "Save as new" +msgstr "Simpan sebagai baru" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and add another" +msgstr "Simpan dan tambahkan satu lagi" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save and continue editing" +msgstr "Simpan dan terus mengubah" + +#: contrib/admin/templates/admin/auth/user/add_form.html:5 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Pertama, masukkan username dan sandi. Kemudian Anda akan dapat mengubah opsi-" +"opsi lain." + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Masukkan sandi baru untuk %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Sandi" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Sandi (ulangi)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Masukkan sandi yang sama dengan di atas, untuk verifikasi." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Tambahkan satu %(verbose_name)s lagi" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Hapus" + +#: contrib/admin/templates/admin/edit_inline/tabular.html:15 +msgid "Delete?" +msgstr "Hapus?" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Terima kasih telah menggunakan situs ini hari ini." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Log in kembali" + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "Password change" +msgstr "Ubah sandi" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Sandi telah berhasil diubah" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Sandi Anda telah diubah." + +#: contrib/admin/templates/registration/password_change_form.html:21 +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 "" +"Mohon masukkan sandi lama Anda untuk keperluan sekuriti dan masukkan sandi " +"baru dua kali untuk memastikan Anda tidak melakukan kesalahan ketik." + +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Sandi lama" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Sandi baru" + +#: contrib/admin/templates/registration/password_change_form.html:43 +#: contrib/admin/templates/registration/password_reset_confirm.html:21 +msgid "Change my password" +msgstr "Ubah sandi saya" + +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:6 +#: 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 "Reset sandi" + +#: contrib/admin/templates/registration/password_reset_complete.html:6 +#: contrib/admin/templates/registration/password_reset_complete.html:10 +msgid "Password reset complete" +msgstr "Sandi telah di-reset" + +#: contrib/admin/templates/registration/password_reset_complete.html:12 +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Sandi Anda telah diperbaharui. Anda boleh log in kembali sekarang." + +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +msgid "Password reset confirmation" +msgstr "Konfirmasi reset sandi" + +#: contrib/admin/templates/registration/password_reset_confirm.html:12 +msgid "Enter new password" +msgstr "Masukkan sandi baru" + +#: contrib/admin/templates/registration/password_reset_confirm.html:14 +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Masukkan sandi baru Anda dua kali untuk memastikan tidak terjadinya " +"kesalahanketik." + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Sandi baru:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Konfirmasi sandi:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:26 +msgid "Password reset unsuccessful" +msgstr "Reset sandi tidak berhasil" + +#: contrib/admin/templates/registration/password_reset_confirm.html:28 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Link reset sandi tidak benar, kemungkinan karena link itu sudah dipakai " +"sebelumnya. Mohon ajukan sebuah permintaan reset sandi lagi." + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Reset sandi berhasil" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed you instructions for setting your password to the e-mail " +"address you submitted. You should be receiving it shortly." +msgstr "" +"Kami telah mengirimkan instruksi untuk me-reset sandi Anda melalui alamat e-" +"mail yang Anda masukkan. Anda akan menerima e-mail tersebut sebentar lagi." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Anda menerima e-mail ini karena Anda mengajukan permintaan reset sandi" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "untuk akun Anda di %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +msgid "Please go to the following page and choose a new password:" +msgstr "Mohon kunjungi halaman di bawah ini dan pilih sandi baru:" + +#: contrib/admin/templates/registration/password_reset_email.html:9 +msgid "Your username, in case you've forgotten:" +msgstr "Username Anda, apabila Anda lupa:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Thanks for using our site!" +msgstr "Terima kasih telah menggunakan situs kami!" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +#, python-format +msgid "The %(site_name)s team" +msgstr "Tim %(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 e-mail " +"instructions for setting a new one." +msgstr "" +"Lupa sandi Anda? Masukkan alamat e-mail Anda di bawah dan kami akan " +"mengirimkan instruksi untuk mendapatkan sandi baru." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Alamat e-mail:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Reset sandi saya" + +#: contrib/admin/templatetags/admin_list.py:257 +msgid "All dates" +msgstr "Semua tanggal" + +#: contrib/admin/views/main.py:65 +#, python-format +msgid "Select %s" +msgstr "Pilih %s" + +#: contrib/admin/views/main.py:65 +#, python-format +msgid "Select %s to change" +msgstr "Pilih %s untuk diubah" + +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 +msgid "site" +msgstr "situs" + +#: contrib/admin/views/template.py:40 +msgid "template" +msgstr "template" + +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 +msgid "tag:" +msgstr "tag:" + +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 +msgid "filter:" +msgstr "filter:" + +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 +msgid "view:" +msgstr "view:" + +#: contrib/admindocs/views.py:190 +#, python-format +msgid "App %r not found" +msgstr "Aplikasi %r tidak ditemukan" + +#: contrib/admindocs/views.py:197 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr "Model %(model_name)r tidak ada di aplikasi %(app_label)r" + +#: contrib/admindocs/views.py:209 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "obyek `%(app_label)s.%(data_type)s` yang berhubungan" + +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 +msgid "model:" +msgstr "model:" + +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "obyek-obyek `%(app_label)s.%(object_name)s` yang berhubungan" + +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 +#, python-format +msgid "all %s" +msgstr "semua %s" + +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 +#, python-format +msgid "number of %s" +msgstr "jumlah %s" + +#: contrib/admindocs/views.py:271 +#, python-format +msgid "Fields on %s objects" +msgstr "Field-field dalam %s obyek" + +#: contrib/admindocs/views.py:361 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s bukan berupa obyek urlpattern" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Bookmarklets" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "Bookmarklet dokumentasi" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

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

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

                      Untuk menginstal bookmarklet, drag tautan ini ke toolbar\n" +"bookmark Anda atau klik kanan di pautan tersebut dan tambahkan ke bookmark " +"Anda. Kini Anda dapat\n" +"memilih bookmarklet dari halaman apapun di situs. Jangan lupa beberapa\n" +"bookmarklet ini hanya bisa digunakan dari komputer yang terdaftar \n" +"sebagai \"internal\" (hubungi administrator sistem Anda apabila tidak yakin " +"apakah\n" +"komputer Anda termasuk \"internal\").

                      \n" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "Dokumentasi untuk halaman ini" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"Membawa Anda ke halaman dokumentasi untuk view yang menghasilkan halaman " +"tersebut." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "Perlihatkan ID obyek" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Perlihatkan content-type dan ID unik untuk halaman-halaman yang mewakili " +"sebuah obyek tunggal." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "Ubah obyek ini (di jendela ini)" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"Loncat ke halaman admin untuk halaman-halaman yang mewakili sebuah obyek " +"tunggal." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "Ubah obyek ini (di jendela baru)" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "Seperti di atas, tetapi membuka halaman admin di jendela baru." + +#: contrib/auth/admin.py:29 +msgid "Personal info" +msgstr "Informasi pribadi" + +#: contrib/auth/admin.py:30 +msgid "Permissions" +msgstr "Ijin akses" + +#: contrib/auth/admin.py:31 +msgid "Important dates" +msgstr "Tanggal-tanggal penting" + +#: contrib/auth/admin.py:32 +msgid "Groups" +msgstr "Grup" + +#: contrib/auth/admin.py:114 +msgid "Password changed successfully." +msgstr "Sandi berhasil diubah." + +#: contrib/auth/admin.py:124 +#, python-format +msgid "Change password: %s" +msgstr "Ganti sandi: %s" + +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Username" + +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Wajib. 30 karakter atau kurang dalam kombinasi huruf, angka dan @/./+/-/_ ." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Nilai ini hanya boleh berisi huruf, angka dan karakter-karakter @/./+/-/_ ." + +#: contrib/auth/forms.py:18 +msgid "Password confirmation" +msgstr "Konfirmasi sandi" + +#: contrib/auth/forms.py:31 +msgid "A user with that username already exists." +msgstr "Pengguna dengan username tersebut sudah ada." + +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 +msgid "The two password fields didn't match." +msgstr "Dua field sandi tidak sama." + +#: contrib/auth/forms.py:83 +msgid "This account is inactive." +msgstr "Akun ini tidak aktif." + +#: contrib/auth/forms.py:88 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Tampaknya peramban Anda tidak menerima cookies. Cookies diperlukan untuk log " +"in." + +#: contrib/auth/forms.py:101 +msgid "E-mail" +msgstr "E-mail" + +#: contrib/auth/forms.py:110 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Alamat e-mail tersebut tidak terhubung dengan akun apapun. Apakah Anda yakin " +"telah terdaftar?" + +#: contrib/auth/forms.py:136 +#, python-format +msgid "Password reset on %s" +msgstr "Reset sandi di %s" + +#: contrib/auth/forms.py:145 +msgid "New password confirmation" +msgstr "Konfirmasi sandi baru" + +#: contrib/auth/forms.py:178 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Sandi lama Anda tidak benar. Mohon masukkan sekali lagi." + +#: contrib/auth/models.py:66 contrib/auth/models.py:94 +msgid "name" +msgstr "nama" + +#: contrib/auth/models.py:68 +msgid "codename" +msgstr "namasandi" + +#: contrib/auth/models.py:72 +msgid "permission" +msgstr "ijin" + +#: contrib/auth/models.py:73 contrib/auth/models.py:95 +msgid "permissions" +msgstr "ijin" + +#: contrib/auth/models.py:98 +msgid "group" +msgstr "grup" + +#: contrib/auth/models.py:99 contrib/auth/models.py:206 +msgid "groups" +msgstr "grup" + +#: contrib/auth/models.py:196 +msgid "username" +msgstr "username" + +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Wajib. 30 karakter atau kurang dalam kombinasi huruf, angka dan karakter @/./" +"+/-/_ " + +#: contrib/auth/models.py:197 +msgid "first name" +msgstr "nama depan" + +#: contrib/auth/models.py:198 +msgid "last name" +msgstr "nama belakang" + +#: contrib/auth/models.py:199 +msgid "e-mail address" +msgstr "alamat e-mail" + +#: contrib/auth/models.py:200 +msgid "password" +msgstr "sandi" + +#: contrib/auth/models.py:200 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Gunakan '[algo]$[salt]$[hexdigest]' atau formulir " +"ganti sandi." + +#: contrib/auth/models.py:201 +msgid "staff status" +msgstr "status staff" + +#: contrib/auth/models.py:201 +msgid "Designates whether the user can log into this admin site." +msgstr "Menentukan apakah pengguna berhak masuk ke situs administrasi ini." + +#: contrib/auth/models.py:202 +msgid "active" +msgstr "aktif" + +#: contrib/auth/models.py:202 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" +"Menentukan apakah pengguna dianggap aktif. Hapus pilihan ini tanpa perlu " +"menghapus akun apapun." + +#: contrib/auth/models.py:203 +msgid "superuser status" +msgstr "status superuser" + +#: contrib/auth/models.py:203 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Menentukan apakah pengguna memiliki semua ijin tanpa perlu diberikan secara " +"manual." + +#: contrib/auth/models.py:204 +msgid "last login" +msgstr "login terakhir" + +#: contrib/auth/models.py:205 +msgid "date joined" +msgstr "tanggal daftar" + +#: contrib/auth/models.py:207 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"Selain ijin-ijin yang diberikan secara manual, pengguna ini juga akan " +"mendapatkan ijin yang diberikan kepada semua grup di mana ia berada." + +#: contrib/auth/models.py:208 +msgid "user permissions" +msgstr "ijin pengguna" + +#: contrib/auth/models.py:212 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 +msgid "user" +msgstr "pengguna" + +#: contrib/auth/models.py:213 +msgid "users" +msgstr "pengguna-pengguna" + +#: contrib/auth/models.py:394 +msgid "message" +msgstr "pesan" + +#: contrib/auth/views.py:79 +msgid "Logged out" +msgstr "Logged out" + +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 +msgid "Enter a valid e-mail address." +msgstr "Masukkan alamat e-mail yang benar." + +#: contrib/comments/admin.py:12 +msgid "Content" +msgstr "Konten" + +#: contrib/comments/admin.py:15 +msgid "Metadata" +msgstr "Metadata" + +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "ditandai" +msgstr[1] "ditandai" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Tandai komentar-komentar terpilih" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "disetujui" +msgstr[1] "disetujui" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Setujui komentar-komentar terpilih" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "dihapus" +msgstr[1] "dihapus" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Hapus komentar-komentar terpilih" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "Satu komentar berhasil di-%(action)s." +msgstr[1] "%(count)s komentar berhasil di-%(action)s." + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "komentar-komentar di %(site_name)s" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "Komentar-komentar terakhir di %(site_name)s" + +#: contrib/comments/forms.py:93 +msgid "Name" +msgstr "Nama" + +#: contrib/comments/forms.py:94 +msgid "Email address" +msgstr "Alamat email" + +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + +#: contrib/comments/forms.py:96 +msgid "Comment" +msgstr "Komentar" + +#: contrib/comments/forms.py:175 +#, 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] "Awas! Kata %s tidak di-ijinkan di sini." +msgstr[1] "Awas! Kata-kata %s tidak di-ijinkan di sini." + +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "" +"Apabila Anda mengisi field ini komentar Anda akan dianggap sebagai spam" + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "tipe konten" + +#: contrib/comments/models.py:24 +msgid "object ID" +msgstr "ID obyek" + +#: contrib/comments/models.py:52 +msgid "user's name" +msgstr "nama pengguna" + +#: contrib/comments/models.py:53 +msgid "user's email address" +msgstr "alamat email pengguna" + +#: contrib/comments/models.py:54 +msgid "user's URL" +msgstr "URL pengguna" + +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 +msgid "comment" +msgstr "komentar" + +#: contrib/comments/models.py:59 +msgid "date/time submitted" +msgstr "tanggal/waktu disimpan" + +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "alamat IP" + +#: contrib/comments/models.py:61 +msgid "is public" +msgstr "untuk umum" + +#: contrib/comments/models.py:62 +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." +msgstr "Jangan centang box ini untuk membuat komentar hilang dari situs." + +#: contrib/comments/models.py:64 +msgid "is removed" +msgstr "telah dihapus" + +#: contrib/comments/models.py:65 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"Centang box ini apabila komentar tidak pantas. Sebuah pesan \"Komentar ini " +"telah dihapus\" akan ditampilkan sebagai penggantinya." + +#: contrib/comments/models.py:77 +msgid "comments" +msgstr "komentar-komentar" + +#: contrib/comments/models.py:119 +msgid "" +"This comment was posted by an authenticated user and thus the name is read-" +"only." +msgstr "" +"Komentar ini dikirim oleh seorang pengguna yang ter-otentikasi sehingga nama " +"pengguna tidak dapat diubah." + +#: contrib/comments/models.py:128 +msgid "" +"This comment was posted by an authenticated user and thus the email is read-" +"only." +msgstr "" +"Komentar ini dikirim oleh seorang pengguna yang ter-otentikasi sehingga " +"alamat email tidak dapat diubah." + +#: contrib/comments/models.py:153 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"Dikirim oleh %(user)s pada tanggal %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "tanda" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "tanggal" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "tanda komentar" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "tanda-tanda komentar" + +#: contrib/comments/templates/comments/approve.html:4 +msgid "Approve a comment" +msgstr "Perbolehkan sebuah komentar" + +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "Yakin ingin membuka komentar ini untuk umum?" + +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "Perbolehkan" + +#: contrib/comments/templates/comments/approved.html:4 +msgid "Thanks for approving" +msgstr "Terima kasih telah memperbolehkan" + +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "" +"Terima kasih telah membantu meningkatkan kualitas diskusi di situs kami" + +#: contrib/comments/templates/comments/delete.html:4 +msgid "Remove a comment" +msgstr "Hapus sebuah komentar" + +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "Yakin ingin menghapus komentar ini?" + +#: contrib/comments/templates/comments/deleted.html:4 +msgid "Thanks for removing" +msgstr "Terima kasih telah menghapus" + +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "Tandai komentar ini" + +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "Yakin ingin menandai komentar ini?" + +#: contrib/comments/templates/comments/flag.html:12 +msgid "Flag" +msgstr "Tandai" + +#: contrib/comments/templates/comments/flagged.html:4 +msgid "Thanks for flagging" +msgstr "Terima kasih telah menandai" + +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +msgid "Post" +msgstr "Kirim" + +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +msgid "Preview" +msgstr "Preview" + +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "Terima kasih telah meninggalkan komentar" + +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "Terima kasih atas komentar Anda" + +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" +msgstr "Preview komentar Anda" + +#: contrib/comments/templates/comments/preview.html:11 +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "Mohon perbaiki kesalahan di bawah ini" +msgstr[1] "Mohon perbaiki kesalahan-kesalahan di bawah ini" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "Kirim komentar Anda" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "or make changes" +msgstr "atau lakukan perubahan" + +#: contrib/contenttypes/models.py:77 +msgid "python model class name" +msgstr "nama class model python" + +#: contrib/contenttypes/models.py:82 +msgid "content types" +msgstr "tipe-tipe konten" + +#: contrib/flatpages/admin.py:9 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Contoh: '/about/contact/'. Pastikan dimulai dan diakhiri dengan garis miring " +"(/)." + +#: contrib/flatpages/admin.py:11 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Nilai ini hanya boleh terdiri dari huruf, angka, garis bawah, garis tengah " +"atau garis miring (/)." + +#: contrib/flatpages/admin.py:22 +msgid "Advanced options" +msgstr "Opsi advanced" + +#: contrib/flatpages/models.py:8 +msgid "title" +msgstr "judul" + +#: contrib/flatpages/models.py:9 +msgid "content" +msgstr "konten" + +#: contrib/flatpages/models.py:10 +msgid "enable comments" +msgstr "perbolehkan komentar" + +#: contrib/flatpages/models.py:11 +msgid "template name" +msgstr "nama template" + +#: contrib/flatpages/models.py:12 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Contoh: 'flatpages/contact_page.html'. Apabila tidak tersedia, sistem akan " +"menggunakan 'flatpages/default.html'." + +#: contrib/flatpages/models.py:13 +msgid "registration required" +msgstr "pendaftaran dibutuhkan" + +#: contrib/flatpages/models.py:13 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "" +"Apabila dipilih, hanya pengguna ter-otentikasi yang bisa mengunjungi halaman " +"ini." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "flat page" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "flat pages" + +#: contrib/formtools/wizard.py:140 +msgid "" +"We apologize, but your form has expired. Please continue filling out the " +"form from this page." +msgstr "" +"Maaf, formulir Anda sudah tidak berlaku lagi. Mohon lanjutkan mengisi " +"formulir dari halaman ini." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "Field GIS dasar dibuat berdasarkan OpenGIS Specification Geometry." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Point" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Line string" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Polygon" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Multi-point" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Multi-line string" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Multi polygon" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Geometry collection" + +#: contrib/gis/forms/fields.py:17 +msgid "No geometry value provided." +msgstr "Nilai geometri tidak tersedia." + +#: contrib/gis/forms/fields.py:18 +msgid "Invalid geometry value." +msgstr "Nilai geometri salah" + +#: contrib/gis/forms/fields.py:19 +msgid "Invalid geometry type." +msgstr "Tipe geometri salah" + +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" +"Telah terjadi kesalahan ketika merubah geometri ke SRID dari field formulir" +"geometri." + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "th" +msgstr "th" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "st" +msgstr "st" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "nd" +msgstr "nd" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "rd" +msgstr "rd" + +#: contrib/humanize/templatetags/humanize.py:51 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f juta" +msgstr[1] "%(value).1f juta" + +#: contrib/humanize/templatetags/humanize.py:54 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f milyar" +msgstr[1] "%(value).1f milyar" + +#: contrib/humanize/templatetags/humanize.py:57 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f trilyun" +msgstr[1] "%(value).1f trilyun" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "one" +msgstr "satu" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "two" +msgstr "dua" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "three" +msgstr "tiga" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "four" +msgstr "empat" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "five" +msgstr "lima" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "six" +msgstr "enam" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "seven" +msgstr "tujuh" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "eight" +msgstr "delapan" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "nine" +msgstr "sembilan" + +#: contrib/humanize/templatetags/humanize.py:93 +msgid "today" +msgstr "hari ini" + +#: contrib/humanize/templatetags/humanize.py:95 +msgid "tomorrow" +msgstr "besok" + +#: contrib/humanize/templatetags/humanize.py:97 +msgid "yesterday" +msgstr "kemarin" + +#: contrib/localflavor/ar/forms.py:28 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "Masukkan kode pos dalam format NNNN atau ANNNNAAA." + +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires only numbers." +msgstr "Field ini hanya terdiri dari angka." + +#: contrib/localflavor/ar/forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "Field ini membutuhkan 7 atau 8 angka." + +#: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "Masukkan CUIT yang benar dalam format XX-XXXXXXXX-X atau XXXXXXXXXXXX." + +#: contrib/localflavor/ar/forms.py:81 +msgid "Invalid CUIT." +msgstr "CUIT salah." + +#: contrib/localflavor/at/at_states.py:5 +msgid "Burgenland" +msgstr "Burgenland" + +#: contrib/localflavor/at/at_states.py:6 +msgid "Carinthia" +msgstr "Carinthia" + +#: contrib/localflavor/at/at_states.py:7 +msgid "Lower Austria" +msgstr "Lower Austria" + +#: contrib/localflavor/at/at_states.py:8 +msgid "Upper Austria" +msgstr "Upper Austria" + +#: contrib/localflavor/at/at_states.py:9 +msgid "Salzburg" +msgstr "Salzburg" + +#: contrib/localflavor/at/at_states.py:10 +msgid "Styria" +msgstr "Styria" + +#: contrib/localflavor/at/at_states.py:11 +msgid "Tyrol" +msgstr "Tyrol" + +#: contrib/localflavor/at/at_states.py:12 +msgid "Vorarlberg" +msgstr "Vorarlberg" + +#: contrib/localflavor/at/at_states.py:13 +msgid "Vienna" +msgstr "Vienna" + +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 +msgid "Enter a zip code in the format XXXX." +msgstr "Masukkan kode pos dalam format XXXX." + +#: contrib/localflavor/at/forms.py:48 +msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." +msgstr "" +"Masukkan nomor identifikasi Austria yang benar dalam format XXXX XXXXXX." + +#: contrib/localflavor/au/forms.py:17 +msgid "Enter a 4 digit post code." +msgstr "Masukkan kode pos 4 angka." + +#: contrib/localflavor/br/forms.py:17 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Masukkan kode pos dalam format XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:26 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Nomor telepon harus dalam format XX-XXXX-XXXX." + +#: contrib/localflavor/br/forms.py:54 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" +"Pilih propinsi Brazil yang benar. Propinsi ini tidak termasuk dalam daftar " +"propinsi." + +#: contrib/localflavor/br/forms.py:90 +msgid "Invalid CPF number." +msgstr "Nomor CPF salah." + +#: contrib/localflavor/br/forms.py:91 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Field ini membutuhkan paling banyak 11 angka atau 14 huruf." + +#: contrib/localflavor/br/forms.py:130 +msgid "Invalid CNPJ number." +msgstr "Nomor CNPJ salah." + +#: contrib/localflavor/br/forms.py:132 +msgid "This field requires at least 14 digits" +msgstr "Field ini membutuhkan sedikitnya 14 angka" + +#: contrib/localflavor/ca/forms.py:25 +msgid "Enter a postal code in the format XXX XXX." +msgstr "Masukkan kode pos dalam format XXX XXX." + +#: contrib/localflavor/ca/forms.py:96 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "Masukkan nomor asuransi Kanada yang benar dalam format XXX-XXX-XXX." + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "Aargau" + +#: 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:65 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" +"Masukkan identitas atau nomor paspor Swiss yang benar dalam bentuk " +"X1234567<0 atau 1234567890." + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT." +msgstr "Masukkan RUT Chile yang benar." + +#: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Masukkan RUT Chile yang benar. Formatnya adalah XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:32 +msgid "The Chilean RUT is not valid." +msgstr "RUT Chile tidak valid." + +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "Praha" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "Daerah Bohemia Tengah" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "Daerah Bohemia Selatan" + +#: contrib/localflavor/cz/cz_regions.py:11 +msgid "Pilsen Region" +msgstr "Daerah Pilsen" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "Daerah Carlsbad" + +#: contrib/localflavor/cz/cz_regions.py:13 +msgid "Usti Region" +msgstr "Daerah Usti" + +#: contrib/localflavor/cz/cz_regions.py:14 +msgid "Liberec Region" +msgstr "Daerah Liberec" + +#: contrib/localflavor/cz/cz_regions.py:15 +msgid "Hradec Region" +msgstr "Daerah Hradec" + +#: contrib/localflavor/cz/cz_regions.py:16 +msgid "Pardubice Region" +msgstr "Daerah Pardubice" + +#: contrib/localflavor/cz/cz_regions.py:17 +msgid "Vysocina Region" +msgstr "Daerah Vysocina" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "Daerah Moravia Selatan" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "Daerah Olomouc" + +#: contrib/localflavor/cz/cz_regions.py:20 +msgid "Zlin Region" +msgstr "Daerah Zlin" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "Daerah Moravia-Silesian" + +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "Masukkan kode pos dalam format XXXXX atau XXX XX." + +#: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "Masukkan tanggal lahir dalam format XXXXXX/XXXX atau XXXXXXXXXX." + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "Parameter opsional jenis kelamin tidak benar, pilih 'f' atau 'm'" + +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "Masukkan tanggal lahir yang benar." + +#: contrib/localflavor/cz/forms.py:107 +msgid "Enter a valid IC number." +msgstr "Masukkan nomor pengenal yang benar." + +#: 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 "Rhine-Westphalia Utara" + +#: 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:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "Masukkan kode pos dalam format XXXXX." + +#: contrib/localflavor/de/forms.py:42 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"Masukkan nomor kartu identitas Jerman yang benar dalam format XXXXXXXXXXX-" +"XXXXXXX-XXXXXXX-X." + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "Arava" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "Albacete" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "Alacant" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "Almeria" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "Avila" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "Badajoz" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "Illes Balears" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "Barcelona" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "Burgos" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "Caceres" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "Cadiz" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "Castello" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "Ciudad Real" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "Cordoba" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "A Coruna" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "Cuenca" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "Girona" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "Granada" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "Guadalajara" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "Guipuzkoa" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "Huelva" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "Huesca" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "Jaen" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "Leon" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "Lleida" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "La Rioja" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "Lugo" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "Madrid" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "Malaga" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "Murcia" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "Navarre" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "Ourense" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "Asturias" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "Palencia" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "Las Palmas" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "Pontevedra" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "Salamanca" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "Santa Cruz de Tenerife" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "Cantabria" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "Segovia" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "Seville" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "Soria" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "Tarragona" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "Teruel" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "Toledo" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "Valencia" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "Valladolid" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "Bizkaia" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "Zamora" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "Zaragoza" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "Ceuta" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "Melilla" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "Andalusia" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "Aragon" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "Principality of Asturias" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "Balearic Islands" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "Basque Country" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "Canary Islands" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "Castile-La Mancha" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "Castile and Leon" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "Catalonia" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "Extremadura" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "Galicia" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "Region of Murcia" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "Foral Community of Navarre" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "Valencian Community" + +#: contrib/localflavor/es/forms.py:20 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "Masukkan kode pos yang benar dalam format 01XXX - 52XXX" + +#: contrib/localflavor/es/forms.py:40 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" +"Masukkan nomor telepon yang benar dalam format 6XXXXXXXX, 8XXXXXXXX atau " +"9XXXXXXXX." + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Mohon masukkan NIF, NIE atau CIF yang benar." + +#: contrib/localflavor/es/forms.py:68 +msgid "Please enter a valid NIF or NIE." +msgstr "Mohon masukkan NIF atau NIE yang benar." + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIF." +msgstr "Checksum untuk NIF salah." + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for NIE." +msgstr "Checksum untuk NIE salah." + +#: contrib/localflavor/es/forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "Checksum untuk CIF salah." + +#: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" +"Masukkan nomor akun bank yang benar dalam format XXXX-XXXX-XX-XXXXXXXXXX." + +#: contrib/localflavor/es/forms.py:144 +msgid "Invalid checksum for bank account number." +msgstr "Checksum untuk nomor akun bank salah." + +#: contrib/localflavor/fi/forms.py:29 +msgid "Enter a valid Finnish social security number." +msgstr "Masukkan nomor identitas Finlandia yang benar." + +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Nomor telepon harus dalam format 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Masukkan kode pos yang benar" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Masukkan nomor telepon yang benar" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Masukkan nomor polisi kendaraan yang benar" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Masukkan nomor NIK/KTP yang benar" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Jawa Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Jawa Tengah" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Jawa Timur" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Barat" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Selatan" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Tengah" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Timur" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Kepulauan Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Maluku" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Maluku Utara" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara Barat" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara Timur" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Barat" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Sulawesi Barat" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi Selatan" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi Tengah" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi Tenggara" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi Utara" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatera Barat" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera Selatan" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera Utara" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps Consulate" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Federal Government" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wicklow" + +#: contrib/localflavor/in_/forms.py:15 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "Masukkan kode pos dalam format XXXXXXX." + +#: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" +"Masukkan nomor identifikasi Iceland yang benar. Formatnya adalah XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:19 +msgid "The Icelandic identification number is not valid." +msgstr "Nomor identifikasi Iceland tidak benar." + +#: contrib/localflavor/it/forms.py:15 +msgid "Enter a valid zip code." +msgstr "Masukkan kode pos yang benar." + +#: contrib/localflavor/it/forms.py:44 +msgid "Enter a valid Social Security number." +msgstr "Masukkan nomor identifikasi yang benar." + +#: contrib/localflavor/it/forms.py:69 +msgid "Enter a valid VAT number." +msgstr "Masukkan nomor VAT yang benar." + +#: contrib/localflavor/jp/forms.py:16 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Masukkan kode pos dalam format XXXXXXX atau XXX-XXXX." + +#: 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/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Masukkan nomor ID Kuwait yang benar" + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "Aguascalientes" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "Baja California" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "Baja California Sur" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "Campeche" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "Chihuahua" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "Chiapas" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "Coahuila" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "Colima" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "Distrito Federal" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "Durango" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "Guerrero" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "Guanajuato" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "Hidalgo" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "Jalisco" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "Estado de México" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "Michoacán" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "Morelos" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "Nayarit" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "Nuevo León" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "Oaxaca" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "Puebla" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "Querétaro" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "Quintana Roo" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "Sinaloa" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "San Luis Potosí" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "Sonora" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "Tabasco" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "Tamaulipas" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "Tlaxcala" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "Veracruz" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "Yucatán" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "Zacatecas" + +#: contrib/localflavor/nl/forms.py:22 +msgid "Enter a valid postal code" +msgstr "Masukkan kode pos yang benar" + +#: contrib/localflavor/nl/forms.py:79 +msgid "Enter a valid SoFi number" +msgstr "Masukkan nomor SoFi yang benar" + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drenthe" +msgstr "Drenthe" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "Flevoland" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "Friesland" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "Gelderland" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "Groningen" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "Limburg" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "Noord-Brabant" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "Noord-Holland" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "Overijssel" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "Utrecht" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "Zeeland" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "Zuid-Holland" + +#: contrib/localflavor/no/forms.py:34 +msgid "Enter a valid Norwegian social security number." +msgstr "Masukkan nomor identifikasi Norwegia yang benar." + +#: contrib/localflavor/pe/forms.py:25 +msgid "This field requires 8 digits." +msgstr "Field ini membutuhkan 8 angka." + +#: contrib/localflavor/pe/forms.py:53 +msgid "This field requires 11 digits." +msgstr "Field ini membutuhkan 11 angka." + +#: contrib/localflavor/pl/forms.py:38 +msgid "National Identification Number consists of 11 digits." +msgstr "Nomor identifikasi nasional terdiri dari 11 angka." + +#: contrib/localflavor/pl/forms.py:39 +msgid "Wrong checksum for the National Identification Number." +msgstr "Checksum untuk nomor identifikasi nasional salah." + +#: contrib/localflavor/pl/forms.py:71 +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "" +"Masukkan nomor pajak (NIP) dalam format XXX-XXX-XX-XX atau XX-XX-XXX-XXX." + +#: contrib/localflavor/pl/forms.py:72 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "Checksum untuk nomor pajak (NIP) salah." + +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." +msgstr "Nomor Registrasi Bisnis Nasional (REGON) terdiri dari 9 atau 14 angka." + +#: contrib/localflavor/pl/forms.py:110 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "Checksum untuk Nomor Registrasi Bisnis Nasional (REGON) salah." + +#: contrib/localflavor/pl/forms.py:148 +msgid "Enter a postal code in the format XX-XXX." +msgstr "Masukkan kode pos dalam format XX-XXX." + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "Lower Silesia" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "Kuyavia-Pomerania" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "Lublin" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "Lubusz" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "Lodz" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "Lesser Poland" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "Masovia" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "Opole" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "Subcarpatia" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "Podlasie" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "Pomerania" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "Silesia" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "Swietokrzyskie" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "Warmia-Masuria" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "Greater Poland" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "West Pomerania" + +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Masukkan kode pos dalam format XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Nomor telepon harus memiliki 9 angka, atau dimulai dari + atau 00." + +#: contrib/localflavor/ro/forms.py:19 +msgid "Enter a valid CIF." +msgstr "Masukkan CIF yang benar." + +#: contrib/localflavor/ro/forms.py:56 +msgid "Enter a valid CNP." +msgstr "Masukkan CNP yang benar." + +#: contrib/localflavor/ro/forms.py:141 +msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" +msgstr "Masukkan IBAN yang benar dalam format ROXX-XXXX-XXXX-XXXX-XXXX-XXXX" + +#: contrib/localflavor/ro/forms.py:171 +msgid "Phone numbers must be in XXXX-XXXXXX format." +msgstr "Nomor telepon harus dalam format XXXX-XXXXXX." + +#: contrib/localflavor/ro/forms.py:194 +msgid "Enter a valid postal code in the format XXXXXX" +msgstr "Masukkan kode pos yang benar dalam format XXXXXX" + +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Masukkan nomor organisasi Swedia yang benar." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Masukkan nomor identifikasi pribadi Swedia yang benar." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Nomor koordinasi tidak diperbolehkan." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Masukkan kode pos Swedia dalam format XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stockholm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "Banska Bystrica" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "Banska Stiavnica" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "Bardejov" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "Banovce nad Bebravou" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "Brezno" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "Bratislava I" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "Bratislava II" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "Bratislava III" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "Bratislava IV" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "Bratislava V" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "Bytca" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "Cadca" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "Detva" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "Dolny Kubin" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "Dunajska Streda" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "Galanta" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "Gelnica" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "Hlohovec" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "Humenne" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "Ilava" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "Kezmarok" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "Komarno" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "Kosice I" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "Kosice II" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "Kosice III" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "Kosice IV" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "Kosice - okolie" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "Krupina" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "Kysucke Nove Mesto" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "Levice" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "Levoca" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "Liptovsky Mikulas" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "Lucenec" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "Malacky" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "Martin" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "Medzilaborce" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "Michalovce" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "Myjava" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "Namestovo" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "Nitra" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "Nove Mesto nad Vahom" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "Nove Zamky" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "Partizanske" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "Pezinok" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "Piestany" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "Poltar" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "Poprad" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "Povazska Bystrica" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "Presov" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "Prievidza" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "Puchov" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "Revuca" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "Rimavska Sobota" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "Roznava" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "Ruzomberok" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "Sabinov" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "Senec" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "Senica" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "Skalica" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "Snina" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "Sobrance" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "Spisska Nova Ves" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "Stara Lubovna" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "Stropkov" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "Svidnik" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "Sala" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "Topolcany" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "Trebisov" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "Trencin" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "Trnava" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "Turcianske Teplice" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "Tvrdosin" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "Velky Krtis" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "Vranov nad Toplou" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "Zlate Moravce" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "Zvolen" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "Zarnovica" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "Ziar nad Hronom" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "Zilina" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "Daerah Banska Bystrica" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "Daerah Brastilava" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "Daerah Kosice" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "Daerah Nitra" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "Daerah Presov" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "Daerah Trencin" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "Daerah Trnava" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "Daerah Zilina" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "Masukkan kode pos yang benar." + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "Bedfordshire" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "Buckinghamshire" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "Cheshire" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "Cornwall dan Kepulauan Scilly" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "Cumbria" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "Derbyshire" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "Devon" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "Dorset" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "Durham" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "East Sussex" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "Essex" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "Gloucestershire" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "Greater London" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "Greater Manchester" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "Hampshire" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "Hertfordshire" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "Kent" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "Lancashire" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "Leicestershire" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "Lincolnshire" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "Merseyside" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "Norfolk" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "North Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "Northamptonshire" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "Northumberland" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "Nottinghamshire" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "Oxfordshire" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "Shropshire" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "Somerset" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "South Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "Staffordshire" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "Suffolk" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "Surrey" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "Tyne and Wear" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "Warwickshire" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "West Midlands" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "West Sussex" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "West Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "Wiltshire" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "Worcestershire" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "County Antrim" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "County Armagh" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "County Down" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "County Fermanagh" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "County Londonderry" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "County Tyrone" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "Clwyd" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "Dyfed" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "Gwent" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "Gwynedd" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "Mid Glamorgan" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "Powys" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "South Glamorgan" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "West Glamorgan" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "Borders" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "Central Scotland" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "Dumfries dan Galloway" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "Fife" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "Grampian" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "Highland" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "Lothian" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "Kepulauan Orkney" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "Kepulauan Shetland" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "Strathclyde" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "Tayside" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "Western Isles" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "Inggris" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "Irlandia Utara" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "Scotlandia" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "Wales" + +#: contrib/localflavor/us/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Masukkan kode pos dalam format XXXXX atau XXXXX-XXXX." + +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Nomor telepon harus dalam format XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Masukkan nomor identifikasi A.S. yang benar dalam format XXX-XX-XXXX." + +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Masukkan sebuah propinsi atau teritori A.S." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Propinsi A.S (dua huruf besar)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Nomor telepon" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" +"Masukkan nomor CI yang benar dalam format X.XXX.XXX-X,XXXXXXX-X atau " +"XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Masukkan nomor CI yang benar." + +#: contrib/localflavor/za/forms.py:21 +msgid "Enter a valid South African ID number" +msgstr "Masukkan nomor ID Afrika Selatan yang benar" + +#: contrib/localflavor/za/forms.py:55 +msgid "Enter a valid South African postal code" +msgstr "Masukkan kode pos Afrika Selatan yang benar" + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "Eastern Cape" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "Free State" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "Gauteng" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "KwaZulu-Natal" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "Limpopo" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "Mpumalanga" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "Northern Cape" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "North West" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "Western Cape" + +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "pesan malas" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "alihkan dari" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Harus berupa path absolut, tanpa nama domain. Contoh: '/kejadian/cari/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "alihkan ke" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Dapat berupa path absolut (seperti di atas) atau URL penuh dimulai dengan " +"'http://'." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "alihkan" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "dialihkan" + +#: contrib/sessions/models.py:45 +msgid "session key" +msgstr "kunci sesi" + +#: contrib/sessions/models.py:47 +msgid "session data" +msgstr "data sesi" + +#: contrib/sessions/models.py:48 +msgid "expire date" +msgstr "tanggal kadaluarsa" + +#: contrib/sessions/models.py:53 +msgid "session" +msgstr "sesi" + +#: contrib/sessions/models.py:54 +msgid "sessions" +msgstr "sesi" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "nama domain" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "nama yang ditampilkan" + +#: contrib/sites/models.py:39 +msgid "sites" +msgstr "situs" + +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Masukkan nilai yang benar." + +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Masukkan URL yang benar." + +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "URL ini tampaknya tidak ada." + +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Masukkan 'slug' yang terdiri dari huruf, bilangan, garis bawah atau garis " +"tengah." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Masukkan alamat IPv4 yang benar." + +#: core/validators.py:129 db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "Masukkan bilangan yang dipisahkan dengan koma." + +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Pastikan nilai ini %(limit_value)s (saat ini %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Pastikan nilai ini lebih kecil dari atau sama dengan %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Pastikan nilai ini lebih besar dari atau sama dengan %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Pastikan nilai ini memiliki sedikitnya %(limit_value)d karakter (saat ini %" +"(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Pastikan nilai ini tidak memiliki lebih dari %(limit_value)d karakter (saat " +"ini %(show_value)d)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s harus unik untuk %(date_field)s %(lookup)s." + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s dengan %(field_label)s telah ada." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Nilai %r bukan pilihan yang benar." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Field ini tidak boleh null." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Field ini tidak boleh kosong." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Field dengan tipe: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Integer" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Nilai ini harus berupa integer." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Nilai ini harus berupa True atau False" + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Nilai Boolean (True atau False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (maximum %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Integer yang dipisahkan dengan koma" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Tanggal (tanpa waktu)" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Masukkan tanggal valid dalam format YYYY-MM-DD" + +#: db/models/fields/__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "Tanggal salah: %s" + +#: db/models/fields/__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "" +"Masukkan tanggal/waktu yang benar dalam format YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" + +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Tanggal (dengan waktu)" + +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "Nilai ini harus berupa bilangan desimal." + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Bilangan decimal" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "Alamat e-mail" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Path berkas" + +#: db/models/fields/__init__.py:822 +msgid "This value must be a float." +msgstr "Nilai ini harus berupa float." + +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Bilangan floating point" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Integer besar (8 byte)" + +#: db/models/fields/__init__.py:912 +msgid "This value must be either None, True or False." +msgstr "Nilai harus berupa None, True atau False." + +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (True, False atau None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Teks" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Waktu" + +#: db/models/fields/__init__.py:1025 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "Masukkan waktu yang benar dalam bentuk HH:MM[:ss[.uuuuuu]]" + +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "Teks XML" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Model %(model)s dengan pk %(pk)r tidak ada." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (tipe tergantung dari field yang berhubungan)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Hubungan one-to-one" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Hubungan many-to-many" + +#: db/models/fields/related.py:1000 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Tekan \"Control\", ata \"Command\" di Mac untuk memilih lebih dari satu." + +#: db/models/fields/related.py:1061 +#, 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] "Mohon masukkan ID %(self)s yang benar. Nilai %(value)r salah." +msgstr[1] "Mohon masukkan ID %(self)s yang benar. Nilai-nilai %(value)r salah." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Field ini tidak boleh kosong." + +#: forms/fields.py:204 +msgid "Enter a whole number." +msgstr "Masukkan bilangan penuh." + +#: forms/fields.py:235 forms/fields.py:256 +msgid "Enter a number." +msgstr "Masukkan sebuah bilangan." + +#: forms/fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Pastikan total bilangan tidak melebihi %s angka." + +#: forms/fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Pastikan bilangan tidak memiliki lebih dari %s angka desimal." + +#: forms/fields.py:261 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Pastikan bilangan tidak memiliki lebih dari %s angka sebelum desimal." + +#: forms/fields.py:323 forms/fields.py:838 +msgid "Enter a valid date." +msgstr "Masukkan tanggal yang benar." + +#: forms/fields.py:351 forms/fields.py:839 +msgid "Enter a valid time." +msgstr "Masukkan waktu yang benar." + +#: forms/fields.py:377 +msgid "Enter a valid date/time." +msgstr "Masukkan tanggal/waktu yang benar." + +#: forms/fields.py:435 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Tidak ada berkas yang dikirimkan. Periksa tipe encoding form." + +#: forms/fields.py:436 +msgid "No file was submitted." +msgstr "Tidak ada berkas yang dikirimkan." + +#: forms/fields.py:437 +msgid "The submitted file is empty." +msgstr "Berkas yang dikirimkan kosong." + +#: forms/fields.py:438 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" +"Pastikan nama berkas tidak melebihi %(max)d angka (saat ini %(length)d)." + +#: forms/fields.py:473 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Unggah gambar yang benar. Berkas yang anda unggah bukan gambar atau gambar " +"itu rusak." + +#: forms/fields.py:596 forms/fields.py:671 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Masukkan pilihan yang benar. %(value)s bukan pilihan yang valid." + +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 +msgid "Enter a list of values." +msgstr "Masukkan daftar nilai." + +#: forms/formsets.py:298 forms/formsets.py:300 +msgid "Order" +msgstr "Urutan" + +#: forms/models.py:562 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Mohon perbaiki data duplikat untuk %(field)s." + +#: forms/models.py:566 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Mohon perbaiki data duplikat untuk %(field)s yang harus memiliki nilai unik." + +#: forms/models.py:572 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Mohon perbaiki data duplikat untuk %(field_name)s yang harus memiliki nilai " +"unik untuk pencarian %(lookup)s di %(date_field)s." + +#: forms/models.py:580 +msgid "Please correct the duplicate values below." +msgstr "Mohon perbaiki nilai duplikat di bawah ini." + +#: forms/models.py:855 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "Foreign key inline tidak cocok dengan primary key milik parent." + +#: forms/models.py:921 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Masukkan pilihan yang benar. Pilihan anda bukan salah satu dari pilihan yang " +"ada." + +#: forms/models.py:1003 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Masukkan pilihan yang benar. %s bukan salah satu pilihan yang ada." + +#: forms/models.py:1005 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "\"%s\" bukan pilihan yang benar untuk sebuah primary key." + +#: template/defaultfilters.py:776 +msgid "yes,no,maybe" +msgstr "ya,tidak,mungkin" + +#: template/defaultfilters.py:807 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#: template/defaultfilters.py:809 +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#: template/defaultfilters.py:811 +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#: template/defaultfilters.py:812 +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#: utils/dateformat.py:42 +msgid "p.m." +msgstr "p.m" + +#: utils/dateformat.py:43 +msgid "a.m." +msgstr "a.m" + +#: utils/dateformat.py:48 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:49 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:98 +msgid "midnight" +msgstr "tengah malam" + +#: utils/dateformat.py:100 +msgid "noon" +msgstr "siang" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "Senin" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Selasa" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Rabu" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Kamis" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "Jumat" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Sabtu" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Minggu" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "Senin" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "Selasa" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "Rabu" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "Kamis" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "Jumat" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "Sabtu" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "Minggu" + +#: utils/dates.py:18 +msgid "January" +msgstr "Januari" + +#: utils/dates.py:18 +msgid "February" +msgstr "Februari" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "Maret" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "April" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "Mei" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "Juni" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "Juli" + +#: utils/dates.py:19 +msgid "August" +msgstr "Agustus" + +#: utils/dates.py:19 +msgid "September" +msgstr "September" + +#: utils/dates.py:19 +msgid "October" +msgstr "Oktober" + +#: utils/dates.py:19 +msgid "November" +msgstr "November" + +#: utils/dates.py:20 +msgid "December" +msgstr "Desember" + +#: utils/dates.py:23 +msgid "jan" +msgstr "Januari" + +#: utils/dates.py:23 +msgid "feb" +msgstr "Februari" + +#: utils/dates.py:23 +msgid "mar" +msgstr "Maret" + +#: utils/dates.py:23 +msgid "apr" +msgstr "April" + +#: utils/dates.py:23 +msgid "may" +msgstr "Mei" + +#: utils/dates.py:23 +msgid "jun" +msgstr "Juni" + +#: utils/dates.py:24 +msgid "jul" +msgstr "Juli" + +#: utils/dates.py:24 +msgid "aug" +msgstr "Agustus" + +#: utils/dates.py:24 +msgid "sep" +msgstr "September" + +#: utils/dates.py:24 +msgid "oct" +msgstr "Oktober" + +#: utils/dates.py:24 +msgid "nov" +msgstr "November" + +#: utils/dates.py:24 +msgid "dec" +msgstr "Desember" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "Jan." + +#: utils/dates.py:31 +msgid "Feb." +msgstr "Feb." + +#: utils/dates.py:32 +msgid "Aug." +msgstr "Agus." + +#: utils/dates.py:32 +msgid "Sept." +msgstr "Sept." + +#: utils/dates.py:32 +msgid "Oct." +msgstr "Okt." + +#: utils/dates.py:32 +msgid "Nov." +msgstr "Nov." + +#: utils/dates.py:32 +msgid "Dec." +msgstr "Dec." + +#: utils/text.py:130 +msgid "or" +msgstr "atau" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "tahun" +msgstr[1] "tahun" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "bulan" +msgstr[1] "bulan" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "minggu" +msgstr[1] "minggu" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "hari" +msgstr[1] "hari" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "jam" +msgstr[1] "jam" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "menit" +msgstr[1] "menit" + +#: utils/timesince.py:45 +msgid "minutes" +msgstr "menit" + +#: utils/timesince.py:50 +#, python-format +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" + +#: utils/timesince.py:56 +#, python-format +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" + +#: utils/translation/trans_real.py:519 +msgid "DATE_FORMAT" +msgstr "j N Y" + +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j N Y, G:i:s" + +#: utils/translation/trans_real.py:521 +msgid "TIME_FORMAT" +msgstr "G:i:s" + +#: utils/translation/trans_real.py:542 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:543 +msgid "MONTH_DAY_FORMAT" +msgstr "j F" + +#: views/generic/create_update.py:115 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s telah berhasil dibuat." + +#: views/generic/create_update.py:158 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s telah berhasil diubah." + +#: views/generic/create_update.py:201 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s telah dihapus." diff --git a/django/conf/locale/id/LC_MESSAGES/djangojs.mo b/django/conf/locale/id/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..b4e52ddc088af610d09cb24654ad387c46f96547 GIT binary patch literal 2579 zcma)-$!{D*6vhh@mJDGF`y%u%RuYmPCYDITWFd}YDAow-72mBV?4}J$e41PZu{{egy?H|Dg_zSoX{B6Qp z-~(vi2KRz{VeAsP4`e&_z8Fuiwdxb$vy1x3-A=rgA?}CdZ^|J@Da4nf^2UIWc%Go|N4Y#!fO-W0O3k} zIB9Ya*#XP?+SX=p<$la@__&4XT1;awkRG$!NR zNZX7yoTo5U^p>N33;~P1M4LO|lt;R(q#kREdrHG34%Uve5-Zc~@YUjiyIUNMRcO*G zjvqIqj_k@ZVJ5Gyl^a7=!4^8bN_?!9)gjp>D%#rRzlTDlI#l;_J0^=8m0UKrE5O)+ zr+-@7(vZ+s2wNGNV%58=_%@QoG`XyNiF0Ywg{#=1Ypkil`H*zVOsC2Dn3YM-wW+bX z(o1H&l6;2A1sPPErd!8aN$d5b^#-c#>FFb_=~fF9lQp%e+2&;4`rOP~(pgC^%+SJ0 zyR&%Yot2AojkjePlAf2gG%`5f#=SRN+R_Tn^fW$Q)XzoT9Jr=V&tkUCqRdp%Q!;PU zqD>ucr^c>N>-3z_P3N<-jm~0c?#_meHCv5YXM?hEG%lbxsO#ai!bojT@on>^3TH0$ z=980m=CPm+<&!x(a4GIrn@;w1Xsnv(rAg+U&&xL1qH30Bj-8^qdZyLbNi)bAdM63t zizu|w!~YmPPKC_0=*hewK^n2j#%N29LY&k~l}9P2O6+dp zYC#r}(;xRQ$sB1Q??*e~vb3Wpi(KN&92!?hgq|sdo30{z* zpx9<|h;P}jKb%VjuOo?QW}=cKI@HDA8ZFZjGE+yEaRfb71&1#$k`JY*jEo+MWo3{o zS#JktkVR;)xEr`4vXrzY`;nGqu1g5bB~qsBBOD7HcWt#euS&-@a&%ZR!&k9f*sfmm+!bmce5Q69sl1sE9j#%woix7Zjtx;C- zRo+BQG;&ml<2{oOkqquz6QRQCVVAqSR>_4bmzDPIm34q{$;wJ665fu`YH}T7$=lst NQYjeXN7ZIc@i)Xm%L4!a literal 0 HcmV?d00001 diff --git a/django/conf/locale/id/LC_MESSAGES/djangojs.po b/django/conf/locale/id/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..75d187ca5 --- /dev/null +++ b/django/conf/locale/id/LC_MESSAGES/djangojs.po @@ -0,0 +1,157 @@ +# Translation of django.po to Indonesian +# This file is distributed under the same license as the Django package. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-05-09 20:22+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Selwin Ong \n" +"Language-Team: Indonesian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" + +#: contrib/admin/media/js/SelectFilter2.js:37 +#, perl-format +msgid "Available %s" +msgstr "Tersedia %s" + +#: contrib/admin/media/js/SelectFilter2.js:45 +msgid "Choose all" +msgstr "Pilih semua" + +#: contrib/admin/media/js/SelectFilter2.js:50 +msgid "Add" +msgstr "Tambah" + +#: contrib/admin/media/js/SelectFilter2.js:52 +msgid "Remove" +msgstr "Hapus" + +#: contrib/admin/media/js/SelectFilter2.js:57 +#, perl-format +msgid "Chosen %s" +msgstr "%s terpilih" + +#: contrib/admin/media/js/SelectFilter2.js:58 +msgid "Select your choice(s) and click " +msgstr "Masukkan pilihan anda dan klik" + +#: contrib/admin/media/js/SelectFilter2.js:63 +msgid "Clear all" +msgstr "Hapus semua" + +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s dari %(cnt)s terpilih" +msgstr[1] "%(sel)s dari %(cnt)s terpilih" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Beberapa perubahan field yang Anda lakukan belum tersimpan. Perubahan yang " +"telah anda lakukan akan hilang." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Anda memilih sebuah aksi, tetapi belum menyimpan perubahan ke field yang " +"ada. Klik OK untuk menyimpan perubahan ini. Anda akan perlu melakukan aksi " +"itu lagi." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Anda telah memilih sebuah aksi, tetapi belum mengubah field apapun. " +"Kemungkinan Anda mencari tombol Go dan bukan tombol Save ." + +#: contrib/admin/media/js/calendar.js:24 +#: contrib/admin/media/js/dateparse.js:32 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" +"Januari Februari Maret April Mei Juni Juli Agustus September Oktober " +"November Desember" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "M S S R K J S" + +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Keluarkan" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Sembunyikan" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Minggu Senin Selasa Rabu Kamis Jumat Sabtu" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "Now" +msgstr "Sekarang" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 +msgid "Clock" +msgstr "Jam" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Choose a time" +msgstr "Pilih waktu" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 +msgid "Midnight" +msgstr "Tengah malam" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 +msgid "6 a.m." +msgstr "6 pagi" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +msgid "Noon" +msgstr "Siang" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 +msgid "Cancel" +msgstr "Batal" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 +msgid "Today" +msgstr "Hari ini" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 +msgid "Calendar" +msgstr "Kalender" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 +msgid "Yesterday" +msgstr "Kemarin" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 +msgid "Tomorrow" +msgstr "Besok" diff --git a/django/conf/locale/id/__init__.py b/django/conf/locale/id/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/id/formats.py b/django/conf/locale/id/formats.py new file mode 100644 index 000000000..46b74866c --- /dev/null +++ b/django/conf/locale/id/formats.py @@ -0,0 +1,43 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j N Y' +DATETIME_FORMAT = "j N Y, G:i:s" +TIME_FORMAT = 'G:i:s' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'd-m-Y' +SHORT_DATETIME_FORMAT = 'd-m-Y G:i:s' +FIRST_DAY_OF_WEEK = 1 #Monday + +DATE_INPUT_FORMATS = ( + '%d-%m-%y', '%d/%m/%y', # '25-10-09' , 25/10/09' + '%d-%m-%Y', '%d/%m/%Y', # '25-10-2009' , 25/10/2009' + # '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' + # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' +) + +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) + +DATETIME_INPUT_FORMATS = ( + '%d-%m-%Y %H:%M:%S', # '25-10-2009 14:30:59' + '%d-%m-%Y %H:%M', # '25-10-2009 14:30' + '%d-%m-%Y', # '25-10-2009' + '%d-%m-%y %H:%M:%S', # '25-10-09' 14:30:59' + '%d-%m-%y %H:%M', # '25-10-09' 14:30' + '%d-%m-%y', # '25-10-09'' + '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' + '%m/%d/%y %H:%M', # '10/25/06 14:30' + '%m/%d/%y', # '10/25/06' + '%m/%d/%Y %H:%M:%S', # '25/10/2009 14:30:59' + '%m/%d/%Y %H:%M', # '25/10/2009 14:30' + '%m/%d/%Y', # '10/25/2009' +) + +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/is/LC_MESSAGES/django.mo b/django/conf/locale/is/LC_MESSAGES/django.mo index 18e701093c3cec3beadab2c84bc1cb2f665c7693..8b7f802f82001b8c5599a7425286a788e13082f1 100644 GIT binary patch delta 7563 zcmZA5d3?`D9>?)-E(A%)Ar%q{k{}6@G!jRaL?lRD5l4s;p@^&QBjigdb;Qx1v}IL` zDi2k(QKfW|t#(xx?RK~BC6ujdX|+_f^!3hn{@Q(X`<$8YcV<5GnVD~rE_lQJ=hxlW zOt-x(%bMTPvg9J;GOSO1HOAs*48l{`7_XbUTPw?=Xa%D?reO`tKo88uy4c6G7hoOg zMOX_bx3cW&0cX=tkA`wo$G6ZMcbXUXndcv&0zHMA=qsF$7tjauV=OBG$6z9speOD@ zy}u7@;vrOEe~+;(D~!S!8k*xB48%Z|tpHl0IwqQW2lS_&VH|{h)QeFQ&qYnJ3K`0J z8S7vrPRCRD6n2es-Yc*vDAl7(!%VDAy%e?5WvB^OqXv2%70}!0i|?T_cMKK4m#DyR zp!(lMW#B$4<&RMPJX<^C*Z~w2aR@3CO>sA-VPCw9?Nx7MS);K8br!Co0)K!$=pD}( z7>tcD0Tn=RRKR)Yi$l>5i!s7t|L0N&rC}p#pbt?2{R5Nm3}#}DwwBcnd!g!!u^XO5 z{;}#OSQfEbT~UEd#b7MMF1QUf@eS13xQ{u^Z?&SYIMh9V8nw5{raje|ftn~AGq67@z*kWLy@op6+fDtw6!M=%!(ke_qbDa#d(;bc zuZN)qynssGHPjh-fc4O;gJm_q1{jQSsQ0^}ChleGxu}H!>L zTDb=YqAu1(4H%4yya`UjR;c$jp#s^4%E*4y2kbCv!lS4yJb`iehj|{;$?4z5rl5h_ zp(0L0O`M4hu|I0X6H%!zL7kCO)XLW)V_G|~5ne})W2HLR%?p+KKva7eDzIjzZpTv4 z3frP4ZjYKU6QeK>b*)NJE8K|+WH0JISD*&0L}lV6Y6~x72;N40S8D#nIdoB|ew~ml zv#o3jio6JQEo{`v*O~U+s1Lw{?Wjn<$EWajEX1I6=gT(>wen@C48DZg`wgaj6DsA~ zQ48CJTG%nvLN1^;^IJD5=yd;xz0s?y6F?raC~E^|;W^Y6L}WODMq~BXp)%MWm5BkU zGcpnt;0)A4N>SsNndcYL*2H%xRG)g5y@z^j)W9ENC|05eUO~Ng-8}yewUT@2iBC`g zduBR&-xUj}KZC9D5b6VV3*)g}7Wr3U49nALeiilN9*n@trml}e^(Pc(&|Zj*@oS94 zpK%F>^l<8%QK|kE^~Jl2{V=(wa|V{74(Iuv3n}SmN7S_U@s8m*<7alPF z4YgGtquxJ@HSr=U;OnNnCL7FRtvaaZ127+lp#uH@HGaK5&U|(d1w|5uG1vm@Vjhmc zLL7!CFd3t{L(k)IR3KHT{x?tyxQhz>p{YN?`qXQYf4v`qJ{X3~XIrrplUSD7!CBP%7g6thiyHqIRE9kB_)_Zr*QTHs zLQox}P!qR89kvA2o~5Evoo?E5P=|And0vVdcoAyF%TWE-p!)sQ)VHDL*^9Oc`%J?D z^TJ_Nhfh&~ePQaCQ19O~euoP54r=8OP%G4(Q@bB3kYH3M!cYr|L3fNF!2YWt(L6{& zO^}M}kcJARw{b8kppmHeCK;!q2Aqi+Zw@M;Qd9<(qWZmry6&4$@9!T#{`KNP8nmaC z=EXCpi7#Rh-oQ5aJ8I(CfzAr!QGuqQCg_G5uODhFhM)o(Vd|q%{l}vMnB0Ye2AGQV z&_;DwgBqwD71$y5k2^CPHv{%upJJ}o$rh8w5}^PX{1J{&t! zpN<-EAL@P_MD;s{O7Tey#k1H9?_)5A40py$Kuws6>X(5E-0n?5Kko`rD=I;)pbRz9 zR*b{9QG0(5SK>F=2&ay4CRl~)w;q+bJ*f8&pceG8sh>s#a>3EIswn8NeT$0tH*A3Z zg-&}*)Ic3j8OTIUkZsIE?fEd&z(v>?i*Y+HMg16SGt&G3N1CkjSfBG}bt-aJ-WxUW z2vh*$P?=ePO4$ZfM&3j}+=UAKFh=7)F#>->*c}@@>-<(Z9FwWf#%Z`0HBs|1&RH0PnbcpvCipof;%yAW z@UiSaKO(Kp6m*@|qE_$`>M;G+_=mC4IOng;_889dBGi^GMqT5Ls4vX>sLb8KwrCYQ ze~%|%EvjQN3#Sy5f5x^B(%^|r$2%`XqYhI%>U3wKp7+O^I2id|1DSpcTOPxYIxT)95gQ;MNN1D2jMAGkK&GcQ;$LQOEUFT>`pxk zhvOPlM(*Nd^q%AdFb8$*p2xaau0Nu+(k-Y%cK~$_PopBfiVEZwYQj6F{Q+tP8eN&F ziGy(@s{Ifu&`Q)6eQxU4Q4{}wmP@BTq=bVlkQ4?-8?m#_%2X!b9U@ZP>o<~k` zp0`2;o`mY3g?^ZWI!gsu59gu>u0VdK*w$(a%D|i06F)?y&TFa@P#F4Bk2LkC(TjRV z)C$v36K10_))zHVKGw%#jKO)R)4v1N|04S6{#Q}(r{OMYKo9PcI{Fx!pjOZpb#3~f zQaTA0_!4Y_8!;LWqrQySu_@}m-bF$)R3>|%#?Qm*KjNOH5JpqFnK0d70WOKvu8PfBdtO0@kP}4;9Cs9*xAk*>w;sb4?ve@(od z2Kg?A;33q+|3Rgy3KiJTsI7W}+2~*51oRB*`ApO}3vm^$Km`^u&)K?WsD-7Y-p`!J z{_9%xGY|4nkqyJPScLi_mSX{afKeDY-}#}^5o7cm!|@mfV-@O5{DvVIQtAYdggO&> z_%hD2Dd^t&5{L$l#0{8(o$w}xV)F(3a)IeM95yw=t3vZ71)gWJJ=GxKu!1v zlQ8Ug=aA;1ZizjQ!dMDr*aPol3U*oK{E9ROyHMYPt?`XsoaSk_&#du z4x%!79Q8pui8?D^q840*p1S`JDfrOv7@J|;7o07L$8_o`s68yf(YP3g;VsnGbzkC4 z*cWx`3os7Hp~ig$`B+-pPzw!Q>SSgU?7>C;H_QrG!qMnVdu@E({y@rA&UWb}!Jt_lRQG2)BJl|*P z2aQKi0~|*Ma00cWlg7)afPO@c_bckmc&v8b55U&UZv|1%iy6jjV=ihX`KUlfqf$E_ z73ehd!}-QCREl3i_1lTczR50*@lVXKz)S!D delta 7590 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

                      Zh?dUXytclDcv!#+ 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�DIicOum(u$y~gW&pv$ZlrQ-DrU3hgoB!J0oB8a% zw?gcymowYdZr8MH{}kanc)NIjUHq3c`{^$&?V)$J+tu#Y@JTQ`afe|Kk96U{rRrF_|Lchr_WgT$3^XN zkH^~$o(#myep=^?489x#x*4yZb-G?2P|5&Yb=+^Bw;;B`Ab1pL@W71oI(F z<3m=?rLWkw!p#z5V?EJ)T;utOIX4*_tIrufno`?ja1}{ClEGE3_5i+9`ZC3YyJH8Y zf4*YUzgM10;R9j@^0D@WCnY2&C-820_%fESlA0}}t8Sh+_wb}4?(oQj{t3x$E0J$s zd_vlwjIKoisSSf&;b}vHU4gFD5m{V~()ML>z3)oxp3OBjTU0`vMe@Y+;-s$6?kbyl zExW5&TBZ=!tiZGzIbDgaw63{bU%Aq1<#j!FrG|&OvZbcvcRkMWUsjP?Fu$vM>fkWf zz|>1&u1l#q3%H)9?kMPbnfhZPSMk(rgHBVEA3e^SIxk* z<|SRNT&c@TxmKliDeW2@z_PzC?RvwNR-~*e+LhZ%+V`nGcKp0Z@>ntKj`jZlX\n" "Language-Team: Italian \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" -"X-Generator: Lokalize 0.3\n" +"X-Generator: KBabel 1.11.4\n" #: conf/global_settings.py:44 msgid "Arabic" msgstr "arabo" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "bengali" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "bulgaro" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "bengali" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "bosniaco" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "catalano" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "ceco" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "gallese" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "danese" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "tedesco" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "greco" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "inglese" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "inglese britannico" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "spagnolo" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "estone" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "spagnolo argentino" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "estone" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "basco" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "persiano" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "finlandese" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "francese" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "frisio" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "irlandese" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "galiziano" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "ungherese" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "ebraico" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "hindi" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "croato" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "ungherese" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "Indonesiano" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "islandese" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "italiano" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "giapponese" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "georgiano" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "coreano" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "khmer" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "kannada" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "lettone" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "coreano" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "lituano" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "lettone" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "macedone" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Mongolian" +msgstr "Mongolo" + +#: conf/global_settings.py:82 msgid "Dutch" msgstr "olandese" -#: conf/global_settings.py:78 +#: conf/global_settings.py:83 msgid "Norwegian" msgstr "norvegese" -#: conf/global_settings.py:79 +#: conf/global_settings.py:84 +msgid "Norwegian Bokmal" +msgstr "norvegese bokmal" + +#: conf/global_settings.py:85 +msgid "Norwegian Nynorsk" +msgstr "norvegese nynorsk" + +#: conf/global_settings.py:86 msgid "Polish" msgstr "polacco" -#: conf/global_settings.py:80 +#: conf/global_settings.py:87 msgid "Portuguese" msgstr "portoghese" -#: conf/global_settings.py:81 +#: conf/global_settings.py:88 msgid "Brazilian Portuguese" msgstr "brasiliano portoghese" -#: conf/global_settings.py:82 +#: conf/global_settings.py:89 msgid "Romanian" msgstr "rumeno" -#: conf/global_settings.py:83 +#: conf/global_settings.py:90 msgid "Russian" msgstr "russo" -#: conf/global_settings.py:84 +#: conf/global_settings.py:91 msgid "Slovak" msgstr "slovacco" -#: conf/global_settings.py:85 +#: conf/global_settings.py:92 msgid "Slovenian" msgstr "sloveno" -#: conf/global_settings.py:86 +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "albanese" + +#: conf/global_settings.py:94 msgid "Serbian" msgstr "serbo" -#: conf/global_settings.py:87 +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "serbo latino" + +#: conf/global_settings.py:96 msgid "Swedish" msgstr "svedese" -#: conf/global_settings.py:88 +#: conf/global_settings.py:97 msgid "Tamil" msgstr "tamil" -#: conf/global_settings.py:89 +#: conf/global_settings.py:98 msgid "Telugu" msgstr "telugu" -#: conf/global_settings.py:90 +#: conf/global_settings.py:99 msgid "Thai" msgstr "tailandese" -#: conf/global_settings.py:91 +#: conf/global_settings.py:100 msgid "Turkish" msgstr "turco" -#: conf/global_settings.py:92 +#: conf/global_settings.py:101 msgid "Ukrainian" msgstr "ucraino" -#: conf/global_settings.py:93 +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "vietnamita" + +#: conf/global_settings.py:103 msgid "Simplified Chinese" msgstr "cinese semplificato" -#: conf/global_settings.py:94 +#: conf/global_settings.py:104 msgid "Traditional Chinese" msgstr "cinese tradizionale" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Cancellati/e con successo %(count)d %(items)s." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "Sei sicuro?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Cancella %(verbose_name_plural)s selezionati/e" @@ -268,19 +308,19 @@ msgstr "Questo mese" msgid "This year" msgstr "Quest'anno" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "Sì" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "No" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "Sconosciuto" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Azione:" @@ -312,105 +352,128 @@ msgstr "voce di log" msgid "log entries" msgstr "voci di log" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "Nessuno" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "%s modificato/a." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:568 msgid "and" msgstr "e" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Aggiunto/a %(name)s \"%(object)s\"." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Cambiato/i %(list)s per %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Cancellato/a %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Nessun campo modificato." -#: contrib/admin/options.py:599 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" aggiunto/a correttamente." -#: contrib/admin/options.py:603 contrib/admin/options.py:636 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "È possibile modificare nuovamente qui sotto." -#: contrib/admin/options.py:613 contrib/admin/options.py:646 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "Puoi aggiungere un altro/a %s qui sotto." -#: contrib/admin/options.py:634 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" modificato/a correttamente." -#: contrib/admin/options.py:642 +#: contrib/admin/options.py:686 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "" "%(name)s \"%(obj)s\" aggiunto/a correttamente. Puoi modificare ancora qui " "sotto." -#: contrib/admin/options.py:773 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Occorre selezionare degli oggetti per potervi eseguire azioni. Nessun " +"oggetto è stato cambiato." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Nessuna azione selezionata." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Aggiungi %s" -#: contrib/admin/options.py:804 contrib/admin/options.py:1005 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "L'oggetto %(name)s con chiave primaria %(key)r non esiste." -#: contrib/admin/options.py:861 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "Modifica %s" -#: contrib/admin/options.py:905 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Errore nel database" -#: contrib/admin/options.py:941 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s %(name)s modificato/a correttamente." msgstr[1] "%(count)s %(name)s modificati/e correttamente." -#: contrib/admin/options.py:1020 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s selezionati/e" +msgstr[1] "Nessuna azione selezionata." + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 di %(cnt)s selezionati/e" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" cancellato/a correttamente." -#: contrib/admin/options.py:1057 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Tracciato delle modifiche: %s" -#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -418,11 +481,11 @@ msgstr "" "Inserisci nome utente e password corretti. In entrambi i campi le maiuscole " "sono significative." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Effettua di nuovo l'accesso, perché la tua sessione è scaduta." -#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -430,62 +493,52 @@ msgstr "" "Il browser non sembra configurato per accettare i cookie. Una volta " "abilitati, ricarica la pagina e riprova." -#: contrib/admin/sites.py:308 contrib/admin/sites.py:314 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "I nomi utente non possono contenere il carattere '@'." -#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Il nome utente non è costituito dall'indirizzo e-mail. Prova con '%s'." -#: contrib/admin/sites.py:367 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Amministrazione sito" -#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Accedi" -#: contrib/admin/sites.py:426 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "Amministrazione %s" -#: contrib/admin/util.py:168 -#, 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/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Uno o più %(fieldname)s in %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Data:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Ora:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Attualmente:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Modifica:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Recupero" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Aggiungi un Altro" @@ -500,17 +553,17 @@ msgstr "Spiacenti, ma la pagina richiesta non è stata trovata." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -537,8 +590,7 @@ msgid "" "mail and should be fixed shortly. Thanks for your patience." msgstr "" "Si è verificato un errore. Gli amministratori del sito ne sono stati " -"informati" -"via e-mail e verrà corretto a breve. Grazie per la tua pazienza." +"informati via e-mail e verrà corretto a breve. Grazie per la tua pazienza." #: contrib/admin/templates/admin/actions.html:4 msgid "Run the selected action" @@ -548,34 +600,47 @@ msgstr "Esegui l'azione selezionata" msgid "Go" msgstr "Vai" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Clicca qui per selezionare gli oggetti da tutte le pagine." + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seleziona tutti/e %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Annulla la selezione" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:27 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Benvenuto/a," -#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Documentazione" -#: contrib/admin/templates/admin/base.html:40 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Cambia la password" -#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Esci" @@ -587,41 +652,42 @@ msgstr "Amministrazione sito Django" msgid "Django administration" msgstr "Amministrazione Django" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Aggiungi" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Storia" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Vedi sul sito" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Correggi l'errore qui sotto." msgstr[1] "Correggi gli errori qui sotto." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Aggiungi %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filtro" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Cancella" @@ -669,10 +735,10 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" -"Sicuro di voler cancellare i %(object_name)s selezionati? Tutti i seguenti " -"oggetti, e i loro oggetti collegati, saranno cancellati:" +"Sicuro di voler cancellare gli oggetti %(object_name)s selezionati? Tutti i " +"seguenti oggetti, e i loro oggetti collegati, saranno cancellati:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -735,15 +801,9 @@ msgid "User" msgstr "Utente" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Azione" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j F Y, H:i" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -789,7 +849,7 @@ msgstr "Salva e aggiungi un altro" msgid "Save and continue editing" msgstr "Salva e continua le modifiche" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -797,33 +857,39 @@ msgstr "" "Inserisci innanzitutto nome utente e password. Potrai poi modificare le " "altre impostazioni dell'utente." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Nome utente" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Password" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Password (di nuovo)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Inserisci la stessa password inserita sopra, come verifica." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: contrib/admin/templates/admin/auth/user/change_password.html:28 #, python-format msgid "Enter a new password for the user %(username)s." msgstr "Inserisci una nuova password per l'utente %(username)s." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Password" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Password (di nuovo)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Inserisci la stessa password inserita sopra, come verifica." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Aggiungi un/a altro/a %(verbose_name)s." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Elimina" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Cancellare?" @@ -837,9 +903,9 @@ 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 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Cambio password" @@ -852,7 +918,7 @@ msgstr "Cambio password avvenuto correttamente" msgid "Your password was changed." msgstr "La password è stata cambiata." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -860,21 +926,17 @@ msgstr "" "Inserisci la password attuale, 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:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Password attuale" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Nuova password:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Nuova password" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Conferma la password:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Modifica la mia password" @@ -913,6 +975,14 @@ msgstr "" "Inserisci la nuova password due volte, per verificare di averla scritta " "correttamente." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Nuova password:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Conferma la password:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Password non reimpostata" @@ -980,25 +1050,25 @@ msgstr "Indirizzo e-mail:" msgid "Reset my password" msgstr "Reimposta la mia password" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Tutte le date" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "Scegli %s" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "Scegli %s da modificare" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "sito" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "modello" @@ -1058,89 +1128,7 @@ msgstr "numero di %s" msgid "Fields on %s objects" msgstr "Campi sugli oggetti %s" -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 -#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 -#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 -msgid "Integer" -msgstr "Intero" - -#: contrib/admindocs/views.py:335 -msgid "Boolean (Either True or False)" -msgstr "Booleano (True o False)" - -#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Stringa (fino a %(max_length)s)" - -#: contrib/admindocs/views.py:337 -msgid "Comma-separated integers" -msgstr "Interi separati da virgola" - -#: contrib/admindocs/views.py:338 -msgid "Date (without time)" -msgstr "Data (senza ora)" - -#: contrib/admindocs/views.py:339 -msgid "Date (with time)" -msgstr "Data (con ora)" - -#: contrib/admindocs/views.py:340 -msgid "Decimal number" -msgstr "Numero decimale" - -#: contrib/admindocs/views.py:341 -msgid "E-mail address" -msgstr "Indirizzo e-mail" - -#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 -#: contrib/admindocs/views.py:346 -msgid "File path" -msgstr "Percorso di file" - -#: contrib/admindocs/views.py:344 -msgid "Floating point number" -msgstr "Numero decimale" - -#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 -msgid "IP address" -msgstr "indirizzo IP" - -#: contrib/admindocs/views.py:350 -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (True, False o None)" - -#: contrib/admindocs/views.py:351 -msgid "Relation to parent model" -msgstr "Collegamento a modello padre" - -#: contrib/admindocs/views.py:352 -msgid "Phone number" -msgstr "Numero di telefono" - -#: contrib/admindocs/views.py:357 -msgid "Text" -msgstr "Testo" - -#: contrib/admindocs/views.py:358 -msgid "Time" -msgstr "Ora" - -#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:360 -msgid "U.S. state (two uppercase letters)" -msgstr "Stato USA (due lettere maiuscole)" - #: contrib/admindocs/views.py:361 -msgid "XML text" -msgstr "Testo XML" - -#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s non sembra essere un oggetto urlpattern" @@ -1164,10 +1152,10 @@ msgid "" "your computer is \"internal\").

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

                      Per installare i bookmarklet, trascina il link sulla barra " -"\n" -"dei bookmark, o clicca il link con il tasto destro e aggiungilo ai bookmark." -"\n" +"

                      Per installare i bookmarklet, trascina il link sulla " +"barra \n" +"dei bookmark, o clicca il link con il tasto destro e aggiungilo ai " +"bookmark.\n" "Potrai poi scegliere un bookmarklet in qualsiasi pagina del sito.\n" "Nota che alcuni di questi bookmarklet richiedono l'accesso al sito tramite " "un\n" @@ -1216,66 +1204,61 @@ msgstr "Modifica quest'oggetto (in una nuova finestra)" 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/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Informazioni personali" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Permessi" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Date importanti" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Gruppi" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Aggiungi utente" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "La password è stata cambiata correttamente." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Cambia la password: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -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 sottolineati)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Nome utente" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Questo valore può contenere solo lettere, cifre e sottolineati." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Obbligatorio. 30 caratteri o meno. Solo lettere, cifre e @/./+/-/_ ." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Questo valore può contenere solo lettere, cifre e @/./+/-/_ ." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Conferma password" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Un utente con questo nome è già presente." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "I due campi password non corrispondono." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Questo account non è attivo." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1283,11 +1266,11 @@ msgstr "" "Il browser web sembra non avere i cookie abilitati. I cookie sono necessari " "per poter accedere." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-mail" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1295,73 +1278,68 @@ msgstr "" "Questo indirizzo email non è associato ad alcun account utente. Sei sicuro " "di esserti registrato?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Password reimpostata su %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Nuova password" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Conferma nuova password" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Password attuale" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "" -"La password attuale non è stata inserita correttamente: va inserita di nuovo." +msgstr "La password attuale non è stata inserita correttamente: va inserita di nuovo." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "nome" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "nome in codice" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "permesso" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "permessi" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "gruppo" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "gruppi" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "nome utente" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "Obbligatorio. 30 caratteri o meno. Solo lettere, cifre e @/./+/-/_" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "nome" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "cognome" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "indirizzo e-mail" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "password" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1369,19 +1347,19 @@ msgstr "" "Usa '[algo]$[salt]$[hexdigest]' oppure la maschera di " "cambio password." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "privilegi di staff" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 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:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "attivo" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1389,11 +1367,11 @@ msgstr "" "Indica se l'utente debba essere considerato attivo. Deseleziona qui, " "piuttosto che cancellare gli account." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "privilegi di superutente" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -1401,15 +1379,15 @@ msgstr "" "Indica che l'utente ha tutti i privilegi, senza che siano stati assegnati " "esplicitamente." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "ultimo accesso" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "iscritto in data" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1417,39 +1395,77 @@ msgstr "" "In aggiunta ai privilegi assegnati manualmente, l'utente riceverà anche " "tutti i privilegi assegnati ad ogni gruppo cui appartiene." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "privilegi utente" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "utente" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "utenti" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "messaggio" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Accesso annullato" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:126 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Inserisci un indirizzo e-mail valido." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Contenuto" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metadati" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "segnalato" +msgstr[1] "segnalati/e" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Segnala i commenti selezionati" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "approvato" +msgstr[1] "approvati/e" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Approva i commenti selezionati" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "eliminato" +msgstr[1] "eliminati/e" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Elimina i commenti selezionati" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "Ad 1 commento è stata applicata con successo l'azione %(action)s." +msgstr[1] "A %(count)s commenti è stata applicata con successo l'azione %(action)s." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1461,7 +1477,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Commenti più recenti su %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Nome" @@ -1469,23 +1484,27 @@ msgstr "Nome" msgid "Email address" msgstr "Indirizzo email" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Commento" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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] "Modera i termini: la parola %s non è ammessa qui." msgstr[1] "Modera i termini: le parole %s non sono ammesse qui." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "If you enter anything in this field your comment will be treated as spam" msgstr "Se inserisci qualcosa in questo campo il tuo commento verrà considerato spam" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "content type" @@ -1514,6 +1533,10 @@ msgstr "commento" msgid "date/time submitted" msgstr "data/ora di inserimento" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "indirizzo IP" + #: contrib/comments/models.py:61 msgid "is public" msgstr "è pubblico" @@ -1594,7 +1617,6 @@ msgid "Really make this comment public?" msgstr "Sicuro di voler pubblicare questo commento?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Approva" @@ -1618,11 +1640,6 @@ msgstr "Elimina un commento" msgid "Really remove this comment?" msgstr "Sicuro di voler eliminare questo commento?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Elimina" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Grazie per aver eliminato" @@ -1653,39 +1670,6 @@ msgstr "Pubblica" msgid "Preview" msgstr "Anteprima" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Coda di moderazione dei commenti" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Nessun commento da moderare" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Email" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Autenticato?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "Indirizzo IP" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Pubblicato in data" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "sì" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "no" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Grazie per aver commentato" @@ -1713,11 +1697,11 @@ msgstr "Pubblica il tuo commento" msgid "or make changes" msgstr "o fai dei cambiamenti" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "nome della classe del modello Python" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "content type" @@ -1781,7 +1765,7 @@ msgstr "pagina statica" msgid "flat pages" msgstr "pagine statiche" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1789,6 +1773,38 @@ msgstr "" "Spiacenti, ma la tua form è scaduta. Puoi continuare a compilare la form da " "questa pagina." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "Il campo base GIS -- corrisponde al tipo Geometry delle specifiche OpenGIS." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Punto" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Stringa linea" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Poligono" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Multipunto" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Stringa multilinea" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Multi poligono" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Raccolta Geometry" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Nessun valore geometrico fornito." @@ -1894,25 +1910,25 @@ msgstr "domani" msgid "yesterday" msgstr "ieri" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Inserisci un codice postale nel formato NNNN o ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Questo campo può contenere solo numeri." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Questo campo richiede 7 o 8 cifre." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Inserisci un CUIT valido nel formato XX-XXXXXXXX-X o XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "CUIT non valido." @@ -1952,8 +1968,8 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Vienna" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Inserisci un codice postale nel formato XXXXX ." @@ -1963,19 +1979,19 @@ msgstr "" "Inserisci un Numero di Assistenza Sociale Austriaco valido, nel formato XXXX " "XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Inserisci un codice postale di 4 cifre." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Inserisci un codice postale nel formato XXXXX-XXX ." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "I numeri di telefono devono essere in formato XX-XXXX-XXXX ." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." @@ -1983,27 +1999,27 @@ msgstr "" "Scegliere uno stato brasiliano valido. Questo stato non è uno di quelli " "disponibili." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Numero CPF non valido." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "Questo campo richiede non più di 11 cifre, o 14 caratteri." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "Numero CNPJ non valido." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "Questo campo richiede almeno 14 cifre" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Inserisci un codice postale nel formato XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" "Inserisci un numero di assicurazione sociale canadese valido, nel formato " @@ -2113,7 +2129,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurigo" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2121,15 +2137,15 @@ msgstr "" "Inserisci un numero di carta d'identità o passaporto svizzeri validi, in " "formato X1234567<0 o 1234567890 ." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Inserisci un RUT cileno valido." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Inserisci un RUT cileno valido. Il formato è XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Il RUT cileno non è valido." @@ -2189,23 +2205,23 @@ msgstr "Regione di Zlin" msgid "Moravian-Silesian Region" msgstr "Regione della Moravia-Silesia" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Inserisci un codice postale nel formato XXXXX o XXX XX ." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "Inserisci un numero di nascita nel formato XXXXXX/XXXX o XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "Parametro opzionale 'Sesso' non valido, i valori validi sono 'f' ed 'm'" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Inserisci un numero di nascita valido." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Inserisci un numero di IC valido." @@ -2273,12 +2289,12 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Turingia" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Inserisci un codice postale nel formato XXXXX ." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2553,11 +2569,11 @@ msgstr "Comunità Forale di Navarra" msgid "Valencian Community" msgstr "Comunità di Valenza" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Inserisci un codice postale valido nell'intervallo e formato 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." @@ -2565,63 +2581,495 @@ msgstr "" "Inserisci un numero telefonico valido in uno dei formati 6XXXXXXXX, " "8XXXXXXXX o 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Inserisci un NIF, NIE, o CIF valido." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Inserisci un NIF o NIE valido." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Checksum non valido per il NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Checksum non valido per il NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Checksum non valido per il CIF." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" "Inserisci un numero di conto corrente bancario valido nel formato XXXX-XXXX-" "XX-XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Checksum non valido per il numero di conto corrente bancario." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Inserisci un numero di assistenza sociale finlandese valido." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "I numeri di telefono devono essere in formato 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Inserisci un codice postale valido" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Inserisci un numero telefonico valido" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Inserisci una targa automobilistica valida" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Inserisci un numero NIK/KTP valido" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Giacarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Jawa Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Jawa Tengah" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Jawa Timur" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Barat" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Selatan" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Tengah" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Timur" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Kepulauan Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Maluku" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Maluku Utara" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara Barat" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara Timur" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Barat" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Sulawesi Barat" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi Selatan" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi Tengah" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi Tenggara" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi Utara" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatera Barat" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera Selatan" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera Utara" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corpi Consolari" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corpi Diplomatici" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Governo Federale" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublino" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wicklow" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Inserisci un codice postale nel formato XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "" "Inserisci un numero di identificazione islandese valido. Il formato è XXXXXX-" "XXXX ." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Il numero di identificazione islandese non è valido." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Inserisci un codice postale valido." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Inserisci un numero di codice fiscale valido." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Inserisci una partita IVA valida." @@ -2817,6 +3265,10 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Inserisci un numero civile ID kuwaitiano valido" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2945,15 +3397,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Inserisci un codice postale valido" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Inserisci un numero telefonico valido" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Inserisci un numero SoFi valido" @@ -3005,15 +3453,15 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Inserisci un numero di assistenza sociale norvegese valido." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Questo campo richiede 8 cifre." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Questo campo richiede 11 cifre." @@ -3113,6 +3561,14 @@ msgstr "Polonia Maggiore" msgid "West Pomerania" msgstr "Pomerania Ovest" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Inserisci un codice postale nel formato XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "I numeri di telefono devono avere 9 cifre, o iniziare con + o 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Inserisci un codice CIF valido." @@ -3133,6 +3589,106 @@ msgstr "I numeri di telefono devono essere in formato XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Inserisci un codice postale valido nel formato XXXXXX." +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Inserisci un numero di organizzazione svedese valido." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Inserisci un numero d'identità personale svedese valido." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "I numeri di coordinamento non sono ammessi." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Inserisci un codice postale svedese nel formato XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stoccolma" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banska Bystrica" @@ -3765,21 +4321,45 @@ msgstr "Scozia" msgid "Wales" msgstr "Galles" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Inserisci un codice postale nel formato XXXXX o XXXXX-XXXX ." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "I numeri di telefono devono essere in formato XXX-XXX-XXXX ." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" -"Inserisci un numero di assistenza sociale USA valido, nel formato " -"XXX-XX-XXXX ." +"Inserisci un numero di assistenza sociale USA valido, nel formato XXX-XX-" +"XXXX ." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Inserisci uno stato o territorio USA." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Stato USA (due lettere maiuscole)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Numero di telefono" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Inserisci un numero CI valido nel formato X.XXX.XXX-X, XXXXXXX-X o XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Inserisci un numero CI valido." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Inserisci un numero ID sudafricano valido" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Inserisci un codice postale sudafricano valido" @@ -3819,6 +4399,10 @@ msgstr "Nordovest" msgid "Western Cape" msgstr "Capo Ovest" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "messaggio lazy" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "redirezione da" @@ -3883,265 +4467,367 @@ msgstr "nome visualizzato" msgid "sites" msgstr "siti" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Questo valore deve essere un intero." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Inserisci un valore valido." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Questo valore deve essere True o False." +#: core/validators.py:93 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Inserisci una URL valida." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Questo campo non può essere nullo." +#: core/validators.py:95 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Questa URL non sembra funzionare." -#: db/models/fields/__init__.py:443 +#: core/validators.py:129 forms/fields.py:873 +msgid "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Inserisci uno 'slug' valido contenente lettere, cifre, sottolineati o " +"trattini." + +#: core/validators.py:132 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Inserisci un indirizzo IPv4 valido." + +#: core/validators.py:135 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "Inserisci solo cifre separate da virgole." -#: db/models/fields/__init__.py:474 +#: core/validators.py:141 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Assicurarsi che questo valore sia %(limit_value)s (ora è %(show_value)s)." + +#: core/validators.py:159 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Assicurarsi che questo valore sia minore o uguale a %(limit_value)s." + +#: core/validators.py:164 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Assicurarsi che questo valore sia maggiore o uguale a %(limit_value)s." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Assicurarsi che questo valore contenga almeno %(limit_value)d caratteri (ne " +"ha %(show_value)d)." + +#: core/validators.py:176 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Assicurarsi che questo valore non contenga più di %(limit_value)d caratteri " +"(ne ha %(show_value)d)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s deve essere unico per %(lookup)s %(date_field)s." + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s con questo %(field_label)s esiste già." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Il valore %r non è una scelta valida." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Questo campo non può essere nullo." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Questo campo non può essere vuoto." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo di tipo: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Intero" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Questo valore deve essere un intero." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Questo valore deve essere True o False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Booleano (True o False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Stringa (fino a %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Interi separati da virgola" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Data (senza ora)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Inserisci una data valida in formato AAAA-MM-GG." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Data non valida: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "Inserisci una data/ora valida nel formato AAAA-MM-GG OO:MM[ss[.uuuuuu]]." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Data (con ora)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "Questo valore deve essere un numero decimale." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Numero decimale" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "Indirizzo e-mail" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Percorso di file" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "Questo valore deve essere un numero a virgola mobile." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Numero decimale" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Intero grande (8 byte)" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "Questo valore deve essere None, True o False." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (True, False o None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Testo" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Ora" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Inserisci un'ora valida nel formato OO:MM[ss[.uuuuuu]]." -#: db/models/fields/related.py:816 -msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Tieni premuto \"Control\", o \"Command\" su Mac, per selezionarne più di uno." +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "Testo XML" -#: db/models/fields/related.py:894 +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Il modello %(model)s con chiave primaria %(pk)r non esiste." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Foreign Key (tipo determinato dal campo collegato)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Relazione uno a uno" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Relazione molti a molti" + +#: db/models/fields/related.py:1000 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Tieni premuto \"Control\", o \"Command\" su Mac, per selezionarne più di uno." + +#: db/models/fields/related.py:1061 #, 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] "Inserisci un ID valido per %(self)s. Il valore %(value)r non è valido." msgstr[1] "Inserisci ID validi per %(self)s. I valori %(value)r non sono validi." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Questo campo è obbligatorio." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Inserisci un valore valido." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Assicurarsi che questo valore non contenga più di %(max)d caratteri (ne ha %" -"(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Assicurarsi che questo valore contenga almeno %(min)d caratteri (ne ha %" -"(length)d)." - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "Inserisci un numero intero." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Assicurarsi che questo valore sia minore o uguale a %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Assicurarsi che questo valore sia maggiore o uguale a %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "Inserisci un numero." -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Assicurarsi che non vi siano più di %s cifre in totale." -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Assicurarsi che non vi siano più di %s cifre decimali." -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Assicurarsi che non vi siano più di %s cifre prima della virgola." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "Inserisci una data valida." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "Inserisci un'ora valida." -#: forms/fields.py:361 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "Inserisci una coppia data/ora valida." -#: forms/fields.py:447 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "Non è stato inviato alcun file. Verifica il tipo di codifica della form." -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "Nessun file è stato inviato." -#: forms/fields.py:449 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "Il file inviato è vuoto." -#: forms/fields.py:450 +#: forms/fields.py:438 #, python-format msgid "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr "" "Assicurarsi che questo nome di file non contenga più di %(max)d caratteri " "(ne ha %(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." msgstr "Carica un'immagine valida. Il file caricato non è un'immagine o è corrotto." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Inserisci una URL valida." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "Questa URL non sembra funzionare." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Scegli un'opzione valida. '%(value)s non compare tra quelle disponibili." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 msgid "Enter a list of values." msgstr "Inserisci una lista di valori." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Inserisci un indirizzo IPv4 valido." - -#: forms/fields.py:902 -msgid "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Inserisci uno 'slug' valido contenente lettere, cifre, sottolineati o " -"trattini." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "Ordine" -#: forms/models.py:367 +#: forms/models.py:562 #, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "%(field_name)s deve essere unico per %(lookup)s %(date_field)s." - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s con questo %(field_label)s esiste già." - -#: forms/models.py:594, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Correggi i dati duplicati di %(field)s." -#: forms/models.py:598 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "Correggi i dati duplicati di %(field)s, che deve essere unico." -#: forms/models.py:604 +#: forms/models.py:572 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " "for the %(lookup)s in %(date_field)s." msgstr "" -"Correggi i dati duplicati di %(field_name)s che deve essere unico/a per %(lookup)s " -"in %(date_field)s." +"Correggi i dati duplicati di %(field_name)s che deve essere unico/a per %" +"(lookup)s in %(date_field)s." -#: forms/models.py:612 +#: forms/models.py:580 msgid "Please correct the duplicate values below." msgstr "Correggi i dati duplicati qui sotto." -#: forms/models.py:867 +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." -msgstr "" -"La foreign key inline non concorda con la chiave primaria dell'istanza " -"padre." +msgstr "La foreign key inline non concorda con la chiave primaria dell'istanza padre." -#: forms/models.py:930 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" "Scegli un'opzione valida. La scelta effettuata non compare tra quelle " "disponibili." -#: forms/models.py:1004 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Scegli un'opzione valida. %s non compare tra quelle disponibili." -#: forms/models.py:1006 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" non è un valore valido per una chiave primaria." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "sì,no,forse" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d byte" msgstr[1] "%(size)d byte" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4347,7 +5033,7 @@ msgstr "nov." msgid "Dec." msgstr "dic." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "o" @@ -4401,33 +5087,37 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "j F Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j F Y, H:i" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "Y F" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "F j" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s creato/a correttamente." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s aggiornato/a correttamente." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s cancellato/a." diff --git a/django/conf/locale/it/LC_MESSAGES/djangojs.mo b/django/conf/locale/it/LC_MESSAGES/djangojs.mo index 310afc7efb21674745b22e1e5750cac8100ee3fd..f03b1a285b3e5df2743397194b2c728afd14dfa2 100644 GIT binary patch delta 640 zcmYMxOD_Xa6u|L2eR{RDRJ|4@u|m_^B0?l8Mihy7rwgezEE;8D(}jq{0x5~bs8wTQ zW6_92#Ky)4@D;l9F)aK~O=8k>fA`**o^$R@#rNqus|8(U#nnyp5#PihQ8gI2W*ka+ zFo{lFz!qG_229)cbLeB8$0jUdBc9vdpquqQ2C#xIrOwndlT9{WQ4%&%g&Qh}QZURQ z4fLWE7{Ca|P@Y@G3EV;{aEp?sjMBgZmN?84%KsBQB=?i(r@mTbA|0pEi+k9H1(cJX zq9iJzAMa2SJfgg$s=a>39oFwC`9gHvj1iOr3^Pdn1WF@Q*uTpp#e|j^-G2q`9?PnzSAdUK#!iLmu$gms53x#YzM>$ATKUCencs-5U0_yqN% zw^$)ZF)*K6Ti?jcCDWOe`OLOyF1=nmOvA6^Bk}Qw9-q`>LosdDoIU?rV=>wCxPE*~ iv)SB!A)=#NM@KEc`^3=JmHWbL7V?MrqpTJ3T>b*fXgu`* delta 602 zcmXZZ%}N4M6u|MTjasIYS!qPX1W7?yGiEAMiy#7_AcPhLEn0|3iBwcjf^9OS7Ud9a zdB`&~TYvrTl1N zALcNGE7*?(cfE*V#=98AG7jL0YaM-zo2cPE?kLqzk8~u_r@PQYDfER>_!}j$Od6o0 zBv`~8rcn}CQSzLk6s}{7Lo`v|kMNMJPoa*p7^J?+& diff --git a/django/conf/locale/it/LC_MESSAGES/djangojs.po b/django/conf/locale/it/LC_MESSAGES/djangojs.po index ff7237968..b779887c4 100644 --- a/django/conf/locale/it/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/it/LC_MESSAGES/djangojs.po @@ -6,15 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-10 08:26+0200\n" -"PO-Revision-Date: 2009-07-26 17:51+0200\n" +"POT-Creation-Date: 2009-12-26 16:15+0100\n" +"PO-Revision-Date: 2009-12-26 16:50+0100\n" "Last-Translator: Nicola Larosa \n" "Language-Team: Italian \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" -"X-Generator: Lokalize 0.3\n" +"X-Generator: KBabel 1.11.4\n" #: contrib/admin/media/js/SelectFilter2.js:33 #, perl-format @@ -31,7 +31,7 @@ msgstr "Aggiungi" #: contrib/admin/media/js/SelectFilter2.js:48 msgid "Remove" -msgstr "Rimuovi" +msgstr "Elimina" #: contrib/admin/media/js/SelectFilter2.js:53 #, perl-format @@ -59,6 +59,10 @@ msgstr "" msgid "S M T W T F S" msgstr "D L M M G V S" +#: contrib/admin/media/js/calendar.js:26 +msgid "FIRST_DAY_OF_WEEK" +msgstr "1" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "domenica lunedì martedì mercoledì giovedì venerdì sabato" @@ -118,4 +122,3 @@ msgstr "Ieri" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 msgid "Tomorrow" msgstr "Domani" - diff --git a/django/conf/locale/it/__init__.py b/django/conf/locale/it/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/it/formats.py b/django/conf/locale/it/formats.py new file mode 100644 index 000000000..f20f00cae --- /dev/null +++ b/django/conf/locale/it/formats.py @@ -0,0 +1,41 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'd F Y' # 25 Ottobre 2006 +TIME_FORMAT = 'H:i:s' # 14:30:59 +DATETIME_FORMAT = 'l d F Y H:i:s' # Mercoledì 25 Ottobre 2006 14:30:59 +YEAR_MONTH_FORMAT = 'F Y' # Ottobre 2006 +MONTH_DAY_FORMAT = 'j/F' # 10/2006 +SHORT_DATE_FORMAT = 'd/M/Y' # 25/12/2009 +SHORT_DATETIME_FORMAT = 'd/M/Y H:i:s' # 25/10/2009 14:30:59 +FIRST_DAY_OF_WEEK = 1 # Lunedì +DATE_INPUT_FORMATS = ( + '%Y-%m-%d', '%Y/%m/%d', # '2008-10-25', '2008/10/25' + '%d-%m-%Y', '%d/%m/%Y', # '25-10-2006', '25/10/2006' + '%d-%m-%y', '%d/%m/%y', # '25-10-06', '25/10/06' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%d-%m-%Y %H:%M:%S', # '25-10-2006 14:30:59' + '%d-%m-%Y %H:%M', # '25-10-2006 14:30' + '%d-%m-%Y', # '25-10-2006' + '%d-%m-%y %H:%M:%S', # '25-10-06 14:30:59' + '%d-%m-%y %H:%M', # '25-10-06 14:30' + '%d-%m-%y', # '25-10-06' + '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' + '%d/%m/%Y %H:%M', # '25/10/2006 14:30' + '%d/%m/%Y', # '25/10/2006' + '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' + '%d/%m/%y %H:%M', # '25/10/06 14:30' + '%d/%m/%y', # '25/10/06' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/ja/LC_MESSAGES/django.mo b/django/conf/locale/ja/LC_MESSAGES/django.mo index 987e61e5bf21526ab65aae9247d4c92e54e093ca..ef3326a7084b4facf5c7f95fd6decc2af90e12af 100644 GIT binary patch delta 26592 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�Q$0Mt9`94}scE(S`6ngkP8^<;pfx=;sZLY^w>>#2 zVf=8Oq;5R<@zDuvh7D*r$w@q%f%TIbx(hqA|N9xQ9k}*%6SpU2oOd`KdfFz98Xc41 z>YkLH(S3YkQcCJ5e9GhQj?(`N%U$JNemU*b6Z59!sJWth`Rkf{j>k) zFPKrypDUvdcRf!=D}ULHqLoAY)YKCfKRiAywU&-Fk3$MOKi*SQsk(Io?K4txlws1Y z9;`HVgrJJhLIcO9Ep_`-W|S^D`hR?3`KQmQQsrT98YhGPopC%diE*CRb!ykCStq*A zVD4VR_}Z!$^>;nzgz}#GS4D1R3Y$hxfh#j!3X9ay3B8K``&n>*`Y_K`;OOjka!-q`qI@v+Y1 z*vXsZ99y0Cz_bOQgykHX5R*76&|%Tn?y#8g{;!u*DgMv8{+X`7#F9&a=1Yr)SKyuK zxu186bB?m#2C*ZOctC3}Ny_c6oUd=ZH%*@jsoub-6-{y#41E&Bxnhz-k-(}oMcfg? zInl0R2{F>YeeL{wF%!mnXp$N;+}~{7sKDlRVeUdHUfq&7ml@cyzP;OjbHn2W>(z~} z+bFtjQ%}9R%^EfKKen;#Jz4deHLMrN*f=F;wSRxUW=)=bCH>`#vt9_MFA8SN38udq zOkWaAU*!+q-sC@@wcWRmx=)|6Gzq5f%$hben7%idzB!n_KA4f=bmE`Y z&0t0#n7JmH$w*?rWnY%tG2s%`sOQ(*It>tE||V7m@)gx>ZzAj?DW^) zeKe4BPdRtFto56M>CXn!w?;NmXBq36L)67ZFJ4@<+kfBQd4+LR3r0j<+7r-t zuB_ej{ofyM;s5#Y`G0-xe(`GcmXTRIS6x}Y!s(fJ*gYScah{8dr)TY8b6B;uD2iR? zcHH}+-1tc3{r_J*_$MDJQ}EuVQK?J54Rhbu>Hjf-RL?&{do*@vpc^R z@-I8mF(FZ*7EzuU2zrL*SExV&Z>yP>nTpW`_@Yvt~&Rjd4kkKN~AeJWR= z>CqwK_5SCNa4Pe9bS`GJGwbl$tV7Q+wRTZy613lj@6J9%*aU^trxv_KD%X>e}wa8#55AeEBS3Ec~{Uc9b_}Am&U;2Gz zf7cIU+h?s`d?j;pFk=UGBeP!MjP9~W=-)l)gk{VKrt@fRytwCpUJV({nHR*eDF4k1 z#r#J-g6@@&$q!FH(nBg@5EX57fE5emXCf(7kv* zv?~+_Tz}^>w|f#9uLM?olj<&Hdy+oq?^kGajuf{@$KIp$muI?w$TT zXDa%yW}W@_SByfJBK;@dF5o|Qv2)I7eNXlmxKtyQ6Mm_oY@WWW>BTka^u`W^UO}^i zlhZ@Tdkas;<;_d8p4%T;Gb*%&tJu`Kb=mf;O`N`0xy$7PjW7L@GyGD4yL38-+(Flec>MM!OfiZq+D%P&Xlyx3@lpf|*-_nbWwd&WkoM;Z~bG zz4=O!wdz3D0iJ|^J%XWgwM<_^vcGtcqbDgNJ(w{w^l7`wo|S(d?QJ@>M^*+7{BbV4 z%&tpYc z+_{#t33J!ppF7N5*u6hK+?_i|X}-TO&c&58vu3@*2d1+FmowHbiE+EjEJ@}&Ou@`$ zydOiasnzVo{&~6G+j5syqnSr8Z{<_=U*911H!I{G=dQp@M6U=A0T0HU3kR2mK9B8N z#*$ry-Iq&TNuQc^@TJgq1U?wqZ+)UJSzN^Z-Sgf4r}vfKzowXbr+Z1?67KT< E2c#)O8UO$Q delta 22936 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\n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" @@ -17,215 +17,251 @@ msgid "Arabic" msgstr "アラビア語" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "ベンガル語" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "ブルガリア語" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "ベンガル語" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "ボスニア語" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "カタロニア語" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "チェコ語" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "ウェールズ語" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "デンマーク語" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "ドイツ語" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "ギリシャ語" -#: conf/global_settings.py:53 -msgid "English" -msgstr "英語" - #: conf/global_settings.py:54 +msgid "English" +msgstr "英語(米国)" + +#: conf/global_settings.py:55 +msgid "British English" +msgstr "英語(英国)" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "スペイン語" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "エストニア語" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "アルゼンチンスペイン語" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "エストニア語" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "バスク語" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "ペルシア語" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "フィンランド語" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "フランス語" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "フリジア語" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "アイルランド語" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "ガリシア語" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "ハンガリー語" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "ヘブライ語" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "ヒンディー語" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "クロアチア語" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "ハンガリー語" + +#: conf/global_settings.py:70 msgid "Icelandic" msgstr "アイスランド語" -#: conf/global_settings.py:68 +#: conf/global_settings.py:71 msgid "Italian" msgstr "イタリア語" -#: conf/global_settings.py:69 +#: conf/global_settings.py:72 msgid "Japanese" msgstr "日本語" -#: conf/global_settings.py:70 +#: conf/global_settings.py:73 msgid "Georgian" msgstr "グルジア語" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "韓国語" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:74 msgid "Khmer" msgstr "クメール語" -#: conf/global_settings.py:73 +#: conf/global_settings.py:75 msgid "Kannada" msgstr "カンナダ語" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "ラトビア語" +#: conf/global_settings.py:76 +msgid "Korean" +msgstr "韓国語" -#: conf/global_settings.py:75 +#: conf/global_settings.py:77 msgid "Lithuanian" msgstr "リトアニア語" -#: conf/global_settings.py:76 +#: conf/global_settings.py:78 +msgid "Latvian" +msgstr "ラトビア語" + +#: conf/global_settings.py:79 msgid "Macedonian" msgstr "マケドニア語" -#: conf/global_settings.py:77 +#: conf/global_settings.py:80 +msgid "Mongolian" +msgstr "モンゴル語" + +#: conf/global_settings.py:81 msgid "Dutch" msgstr "オランダ語" -#: conf/global_settings.py:78 +#: conf/global_settings.py:82 msgid "Norwegian" msgstr "ノルウェー語" -#: conf/global_settings.py:79 +#: conf/global_settings.py:83 +msgid "Norwegian Bokmal" +msgstr "ノルウェーのブークモール" + +#: conf/global_settings.py:84 +msgid "Norwegian Nynorsk" +msgstr "ノルウェーのニーノシュク" + +#: conf/global_settings.py:85 msgid "Polish" msgstr "ポーランド語" -#: conf/global_settings.py:80 +#: conf/global_settings.py:86 msgid "Portuguese" msgstr "ポルトガル語" -#: conf/global_settings.py:81 +#: conf/global_settings.py:87 msgid "Brazilian Portuguese" msgstr "ブラジルポルトガル語" -#: conf/global_settings.py:82 +#: conf/global_settings.py:88 msgid "Romanian" msgstr "ルーマニア語" -#: conf/global_settings.py:83 +#: conf/global_settings.py:89 msgid "Russian" msgstr "ロシア語" -#: conf/global_settings.py:84 +#: conf/global_settings.py:90 msgid "Slovak" msgstr "スロバキア語" -#: conf/global_settings.py:85 +#: conf/global_settings.py:91 msgid "Slovenian" msgstr "スロヴェニア語" -#: conf/global_settings.py:86 +#: conf/global_settings.py:92 +msgid "Albanian" +msgstr "アルバニア語" + +#: conf/global_settings.py:93 msgid "Serbian" msgstr "セルビア語" -#: conf/global_settings.py:87 +#: conf/global_settings.py:94 +msgid "Serbian Latin" +msgstr "セルビア語ラテン文字" + +#: conf/global_settings.py:95 msgid "Swedish" msgstr "スウェーデン語" -#: conf/global_settings.py:88 +#: conf/global_settings.py:96 msgid "Tamil" msgstr "タミル語" -#: conf/global_settings.py:89 +#: conf/global_settings.py:97 msgid "Telugu" msgstr "テルグ語" -#: conf/global_settings.py:90 +#: conf/global_settings.py:98 msgid "Thai" msgstr "タイ語" -#: conf/global_settings.py:91 +#: conf/global_settings.py:99 msgid "Turkish" msgstr "トルコ語" -#: conf/global_settings.py:92 +#: conf/global_settings.py:100 msgid "Ukrainian" msgstr "ウクライナ語" -#: conf/global_settings.py:93 +#: conf/global_settings.py:101 +msgid "Vietnamese" +msgstr "ベトナム語" + +#: conf/global_settings.py:102 msgid "Simplified Chinese" msgstr "簡体字中国語" -#: conf/global_settings.py:94 +#: conf/global_settings.py:103 msgid "Traditional Chinese" msgstr "繁体字中国語" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "%(count)d 個の %(items)sを削除しました。" -#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "よろしいですか?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "選択された %(verbose_name_plural)s の削除" @@ -264,19 +300,19 @@ msgstr "今月" msgid "This year" msgstr "今年" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "はい" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "いいえ" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "不明" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "操作:" @@ -308,115 +344,135 @@ msgstr "ログエントリ" msgid "log entries" msgstr "ログエントリ" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "None" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "%s を変更しました。" -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:568 msgid "and" msgstr "と" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "%(name)s \"%(object)s\"を追加しました。" -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "%(name)s \"%(object)s\" の %(list)s を変更しました。" -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "%(name)s \"%(object)s\" を削除しました。" -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "変更はありませんでした。" -#: contrib/admin/options.py:599 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" を追加しました。" -#: contrib/admin/options.py:603 contrib/admin/options.py:636 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "続けて編集できます。" -#: contrib/admin/options.py:613 contrib/admin/options.py:646 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "続けて別の %s を追加できます。" -#: contrib/admin/options.py:634 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" を変更しました。" -#: contrib/admin/options.py:642 +#: contrib/admin/options.py:686 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "%(name)s \"%(obj)s\" を追加しました。続けて編集できます。" -#: contrib/admin/options.py:773 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "操作を実行するには、対象を選択する必要があります。何も変更されませんでした。" + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "操作が選択されていません。" + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "%s を追加" -#: contrib/admin/options.py:804 contrib/admin/options.py:1005 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "主キーが %(key)r である %(name)s オブジェクトは存在しません。" -#: contrib/admin/options.py:861 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "%s を変更" -#: contrib/admin/options.py:905 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "データベースエラー" -#: contrib/admin/options.py:941 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s 個の %(name)s を変更しました。" -#: contrib/admin/options.py:1020 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s 個選択されました" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s個の内ひとつも選択されていません" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" を削除しました。" -#: contrib/admin/options.py:1057 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "変更履歴: %s" -#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." msgstr "" "正しいユーザ名とパスワードを入力してください (大文字小文字は区別します) 。" -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "" "再ログインしてください。ログインセッションが有効期間切れしてしまいました。" -#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -424,62 +480,52 @@ msgstr "" "ブラウザがクッキーの使用を許可していないようです。クッキーの使用を許可して、" "もう一度このページを表示してください。" -#: contrib/admin/sites.py:308 contrib/admin/sites.py:314 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "ユーザ名には '@' を含められません。" -#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "メールアドレスはユーザ名ではありません。 '%s' を試してみてください。" -#: contrib/admin/sites.py:367 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "サイト管理" -#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "ログイン" -#: contrib/admin/sites.py:426 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "%s サイト管理" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "%(name)s に %(fieldname)s が一つ以上あります: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "%(name)s に %(fieldname)s が一つ以上あります:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "日付:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "時刻:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "現在:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "変更:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "検索" -#: contrib/admin/widgets.py:235 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "追加" @@ -494,17 +540,17 @@ msgstr "申し訳ありませんが、お探しのページは見つかりませ #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -541,34 +587,47 @@ msgstr "選択された操作を実行" msgid "Go" msgstr "実行" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "全ページの項目を選択するにはここをクリック" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "%(total_count)s個ある%(module_name)s を全て選択" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "選択を解除" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:27 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "ようこそ" -#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "ドキュメント" -#: contrib/admin/templates/admin/base.html:40 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "パスワードの変更" -#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "ログアウト" @@ -580,40 +639,41 @@ msgstr "Django サイト管理" msgid "Django administration" msgstr "Django 管理サイト" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "追加" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "履歴" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "サイト上で表示" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "下記のエラーを修正してください。" -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "%(name)s を追加" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "フィルタ" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "削除" @@ -661,10 +721,8 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" -msgstr "" -"%(object_name)s を削除しますか? 関連づけられている以下のオブジェクトも全て削" -"除されます:" +"the following objects and their related items will be deleted:" +msgstr "%(object_name)s を削除しますか? 関連づけられている以下のオブジェクトと関連する項目も全て削除されます:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -726,15 +784,9 @@ msgid "User" msgstr "ユーザ" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "操作" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "Y/m/d H:i" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -779,7 +831,7 @@ msgstr "保存してもう一つ追加" msgid "Save and continue editing" msgstr "保存して編集を続ける" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -787,34 +839,40 @@ msgstr "" "まずユーザ名とパスワードを登録してください。その後詳細情報が編集可能になりま" "す。" -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "ユーザ名" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "パスワード" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "パスワード(確認用)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "確認のため、再度パスワードを入力してください。" - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: 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:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "パスワード" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "パスワード(確認用)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "確認のため、再度パスワードを入力してください。" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "%(verbose_name)s の追加" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "削除" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "削除しますか?" @@ -828,9 +886,9 @@ msgid "Log in again" 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 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "パスワードの変更" @@ -843,7 +901,7 @@ msgstr "パスワードを変更しました" msgid "Your password was changed." msgstr "あなたのパスワードは変更されました" -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -851,21 +909,17 @@ msgstr "" "セキュリティ上の理由から元のパスワードの入力が必要です。新しいパスワードは正" "しく入力したか確認できるように二度入力してください。" -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "元のパスワード:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "元のパスワード" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "新しいパスワード:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "新しいパスワード" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "新しいパスワード (確認用) :" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "パスワードの変更" @@ -902,6 +956,14 @@ msgid "" "correctly." msgstr "確認のために、新しいパスワードを二回入力してください。" +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "新しいパスワード:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "新しいパスワード (確認用) :" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "パスワードのリセットに失敗しました" @@ -971,25 +1033,25 @@ msgstr "メールアドレス" msgid "Reset my password" msgstr "パスワードをリセット" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "いつでも" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "%s を選択" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "変更する %s を選択" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "サイト" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "テンプレート" @@ -1050,89 +1112,7 @@ msgstr "%s の数" msgid "Fields on %s objects" msgstr "%s のフィールド" -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 -#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 -#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 -msgid "Integer" -msgstr "整数" - -#: contrib/admindocs/views.py:335 -msgid "Boolean (Either True or False)" -msgstr "ブール値 (真: True または偽: False)" - -#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "文字列 ( %(max_length)s 字まで )" - -#: contrib/admindocs/views.py:337 -msgid "Comma-separated integers" -msgstr "カンマ区切りの整数" - -#: contrib/admindocs/views.py:338 -msgid "Date (without time)" -msgstr "日付" - -#: contrib/admindocs/views.py:339 -msgid "Date (with time)" -msgstr "日時" - -#: contrib/admindocs/views.py:340 -msgid "Decimal number" -msgstr "10 進数 (小数可)" - -#: contrib/admindocs/views.py:341 -msgid "E-mail address" -msgstr "メールアドレス" - -#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 -#: contrib/admindocs/views.py:346 -msgid "File path" -msgstr "ファイルの場所" - -#: contrib/admindocs/views.py:344 -msgid "Floating point number" -msgstr "浮動小数点" - -#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 -msgid "IP address" -msgstr "IP アドレス" - -#: contrib/admindocs/views.py:350 -msgid "Boolean (Either True, False or None)" -msgstr "ブール値 (真: True 、偽: False または None)" - -#: contrib/admindocs/views.py:351 -msgid "Relation to parent model" -msgstr "親モデルへのリレーション" - -#: contrib/admindocs/views.py:352 -msgid "Phone number" -msgstr "電話番号" - -#: contrib/admindocs/views.py:357 -msgid "Text" -msgstr "テキスト" - -#: contrib/admindocs/views.py:358 -msgid "Time" -msgstr "時刻" - -#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:360 -msgid "U.S. state (two uppercase letters)" -msgstr "アメリカの州 (大文字二文字で)" - #: contrib/admindocs/views.py:361 -msgid "XML text" -msgstr "XMLテキスト" - -#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s はurlpatternオブジェクトでは無いようです" @@ -1202,66 +1182,61 @@ msgstr "オブジェクトを (新しいウィンドウで) 編集" msgid "As above, but opens the admin page in a new window." msgstr "上と同じですが、新しいウィンドウで管理ページを開きます。" -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "個人情報" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "パーミッション" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "重要な日程" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "グループ" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "ユーザを追加" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "パスワードを変更しました" -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "パスワードの変更: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"この項目は必須です。半角アルファベット、半角数字、半角アンダーバーで30文字以" -"下にしてください。" +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "ユーザ名" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "半角の英数字およびアンダースコア以外は使用できません。" +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "この項目は必須です。半角アルファベット、半角数字、@/./+/-/_ で30文字以下にしてください。" + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "半角の英数字および次の記号 @/./+/-/_ 以外は使用できません。" #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "パスワードの確認" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "同じユーザ名が既に登録済みです。" -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "確認用パスワードが一致しません。" -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "アカウントが無効です。" -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1269,82 +1244,79 @@ msgstr "" "お使いのブラウザはクッキーを有効にしていないようです。ログインにはクッキーが" "必要です。" -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "メールアドレス" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" msgstr "メールアドレスの一致するユーザはいません。本当に登録しましたか?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" -msgstr "%s にパスワードをリセット" +msgstr "%s のパスワードのリセット" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "新しいパスワード" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "新しいパスワード(確認用)" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "元のパスワード" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "元のパスワードが間違っています。もう一度入力してください。" -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "名前" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "コード名" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "パーミッション" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "パーミッション" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "グループ" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "グループ" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "ユーザ名" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "この項目は必須です。半角アルファベット、半角数字、次の記号 @/./+/-/_ で30文字以下にしてください。" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "名" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "姓" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "メールアドレス" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "パスワード" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1352,19 +1324,19 @@ msgstr "" "'[algo]$[salt]$[hexdigest]'形式か、パスワード変更フォー" "ムを使ってください。" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "スタッフ権限" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "ユーザが管理サイトにログイン可能かどうかを示します。" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "有効" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1372,25 +1344,25 @@ msgstr "" "ユーザがアクティブかどうかを示します。アカウントを消す代わりに選択を解除して" "ください。" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "スーパーユーザ権限" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "全ての権限を持っているとみなされます。" -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "最終ログイン" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "登録日" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1398,39 +1370,73 @@ msgstr "" "手動で付与したパーミッションに加え、所属しているグループに付与された全ての" "パーミッションを獲得します。" -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "ユーザパーミッション" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "ユーザ" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "ユーザ" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "メッセージ" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "ログアウト" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "有効なメールアドレスを入力してください。" -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "内容" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "メタデータ" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "にフラグが付きました" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "選択したコメントにフラグを付ける" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "は承認されました" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "選択したコメントを承認する" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "は削除されました" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "コメントを削除する" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "%(count)s個のコメント%(action)s。" + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1442,7 +1448,6 @@ msgid "Latest comments on %(site_name)s" msgstr "%(site_name)s の最新コメント" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "名前" @@ -1450,23 +1455,27 @@ msgstr "名前" msgid "Email address" msgstr "メールアドレス" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "コメント" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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 という言葉は使えません。" -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "このフィールドに入力するとコメントはスパム扱いされます" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "コンテンツタイプ" @@ -1495,6 +1504,10 @@ msgstr "コメント" msgid "date/time submitted" msgstr "コメント投稿日時" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP アドレス" + #: contrib/comments/models.py:61 msgid "is public" msgstr "は公開中です" @@ -1577,7 +1590,6 @@ msgid "Really make this comment public?" msgstr "本当にこのコメントを承認しますか?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "承認" @@ -1600,11 +1612,6 @@ msgstr "コメントを削除する" msgid "Really remove this comment?" msgstr "本当にこのコメントを削除しますか?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "削除" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "ご利用ありがとうございました!" @@ -1635,39 +1642,6 @@ msgstr "投稿" msgid "Preview" msgstr "プレビュー" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "コメントのモデレーションキュー" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "モデレートするコメントはありません" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "メールアドレス" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "認証済みか?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "IP アドレス" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "登録日" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "はい" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "いいえ" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "コメントしてくれてありがとうございました" @@ -1694,11 +1668,11 @@ msgstr "コメントを投稿" msgid "or make changes" msgstr "さらに編集" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "Python モデルクラス名" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "コンテンツタイプ" @@ -1759,7 +1733,7 @@ msgstr "フラットページ" msgid "flat pages" msgstr "フラットページ" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1767,6 +1741,38 @@ msgstr "" "申し訳ありませんが、あなたのフォームへの入力は時間切れになりました。このペー" "ジで再度入力してください。" +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "GIS基底フィールドです -- OpenGIS で決められた地形タイプに対応" + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "点" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "線" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "ポリゴン" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "複数の点" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "複数の線" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "複数のポリゴン" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "地形の集合" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "geometry値がありません。" @@ -1869,27 +1875,27 @@ msgstr "明日" msgid "yesterday" msgstr "昨日" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "NNNNか、ANNNNAAAの形式で郵便番号を入力してください。" -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "このフィールドは必須です(数値のみ)。" -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "7桁か8桁で入力して下さい。" -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "" "XX-XXXXXXXX-X か XXXXXXXXXXXX の形式で納税証明単一番号(CUIT)を入力して下さ" "い。" -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "無効な納税証明単一番号(CUIT): %s" @@ -1929,8 +1935,8 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Vienna" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "XXXXの形式でZipコードを入力してください。" @@ -1938,45 +1944,45 @@ msgstr "XXXXの形式でZipコードを入力してください。" msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." msgstr "XXXX XXXXXX の形式でオーストリア社会保障番号を入力してください。" -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "4桁でポストコードを入力してください。" -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "XXXXX-XXXの形式でZipコードを入力してください。" -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "電話番号は XX-XXXX-XXXX 形式で入力してください。" -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "ブラジルの州から選択してください。選択したものは候補にありません。" -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "ブラジル納税者番号(CPF)が無効です。" -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "11桁の数字か14文字で入力してください。" -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "納税登録番号(CNPJ)が正しくありません。" -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "14桁以上で入力して下さい。" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "XXX XXXの形式で郵便番号を入力してください。" -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "XXX-XXX-XXX の形式で、カナダ社会保障番号を入力して下さい。" @@ -2084,7 +2090,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2092,15 +2098,15 @@ msgstr "" "スイス アイデンティティかパスポート番号を X1234567<0 か 1234567890 の形式で入" "力して下さい。" -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "正しいチリ納税者番号(RUT)を入力してください。" -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "XX.XXX.XXX-Xの形式でチリ納税者番号(RUT)を入力してください。" -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "このチリ納税者番号(RUT)は無効です。" @@ -2160,25 +2166,25 @@ msgstr "ズリーン州" msgid "Moravian-Silesian Region" msgstr "モラヴィア・スレスコ州" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "XXXXXか、XXX XXの形式で郵便番号を入力してください。" -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "XXXXXX/XXXXか、XXXXXXXXXXの形式で誕生番号を入力してください。" -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "" "オプションの性別パラメーターに対する不正な値です。可能な値は 'f' か 'm' で" "す。" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "誕生番号を正しく入力してください。" -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "IC番号を正しく入力してください。" @@ -2246,12 +2252,12 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringia" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "XXXXXの形式でZipコードを入力してください。" -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2525,11 +2531,11 @@ msgstr "Foral Community of Navarre" msgid "Valencian Community" msgstr "Valencian Community" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "01XXX から 52XXXの形式で郵便番号を入力してください。" -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." @@ -2537,63 +2543,495 @@ msgstr "" "6XXXXXXXX か 8XXXXXXXX か 9XXXXXXXX かのいずれかの形式で電話番号を入力してく" "ださい。" -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "" "スペイン納税者番号(NIF)かスペイン住民番号(N.I.E)かスペイン企業番号(CIF)のいず" "れかを入力してください。" -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "スペイン納税者番号(NIF)かスペイン住民番号(N.I.E)を入力してください。" -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "スペイン納税者番号(NIF)のチェックサムがあいません。" -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "スペイン住民番号(N.I.E)のチェックサムがあいません。" -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "スペイン企業番号(CIF)のチェックサムがあいません。" -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "XXXX-XXXX-XX-XXXXXXXXXX の形式で銀行口座番号を入力して下さい。" -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "銀行口座番号のチェックサムがあいません。" -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "フィンランド社会保証番号を正しく入力してください。" -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "電話番号は 0X XX XX XX XX 形式で入力してください。" + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "郵便番号を正しく入力してください。" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "電話番号を正しく入力してください。" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "自動車のプレートナンバーを正しく入力してください。" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "NIK/KTP番号を正しく入力してください。" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "XXXXXXXの形式でZipコードを入力してください。" -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "XXXXXか、XXXXX-XXXXの形式でアイスランド納税者番号を入力してください。" -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "アイスランド納税者番号を正しく入力して下さい。" -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Zipコードを正しく入力してください。" -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "社会保障番号番号を正しく入力してください。" -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "VAT番号を正しく入力してください。" @@ -2789,6 +3227,10 @@ msgstr "鹿児島県" msgid "Okinawa" msgstr "沖縄県" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "クウェート市民番号を正しく入力してください。" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2917,15 +3359,11 @@ msgstr "Yucatan" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "郵便番号を正しく入力してください。" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "電話番号を正しく入力してください。" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "社会税務番号(SoFi)を正しく入力してください。" @@ -2977,15 +3415,15 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "ノルウェー社会保障番号を正しく入力してください。" -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "8桁で入力して下さい。" -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "11桁で入力して下さい。" @@ -3082,6 +3520,14 @@ msgstr "Greater Poland" msgid "West Pomerania" msgstr "West Pomerania" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "XXXX-XXXの形式でZipコードを入力してください。" + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "電話番号は9桁の数字か、プラス記号(+)または00で始まる必要があります。" + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "CIFを正しく入力してください。" @@ -3102,6 +3548,106 @@ msgstr "電話番号は XXXX-XXXXXX 形式で入力してください。" msgid "Enter a valid postal code in the format XXXXXX" msgstr "XXXXXX の形式で郵便番号を入力してください。" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "スウェーデン組織番号を正しく入力してください。" + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "スウェーデン個人識別番号を正しく入力してください。" + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "XXXXXの形式で郵便番号を入力してください。" + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banska Bystrica" @@ -3734,19 +4280,43 @@ msgstr "Scotland" msgid "Wales" msgstr "Wales" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "XXXXXか、XXXXX-XXXXの形式で郵便番号を入力してください。" -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "電話番号は XXX-XXX-XXXX 形式で入力してください。" + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "XXX-XX-XXXX の形式で、米国社会保障番号を入力して下さい。" -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "合衆国の州か地域を入力してください。" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "アメリカの州 (大文字二文字で)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "電話番号" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "X.XXX.XXX-X,XXXXXXX-X か XXXXXXXX の形式でCI番号を入力して下さい。" + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "CI番号を正しく入力してください。" + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "南アフリカID番号を正しく入力してください。" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "南アフリカ郵便番号を正しく入力してください。" @@ -3786,6 +4356,10 @@ msgstr "North West" msgid "Western Cape" msgstr "Western Cape" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "遅延メッセージ" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "リダイレクト元" @@ -3846,142 +4420,275 @@ msgstr "表示名" msgid "sites" msgstr "サイト" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "値は整数でなければなりません。" +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "値を正しく入力してください。" -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "値は真: True または偽: False でなければなりません。" +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "URLを正しく入力してください。" -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "このフィールドには NULL を指定できません。" +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "このURLはリンクが壊れています。" -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "slug には半角の英数字、アンダースコア、ハイフン以外は使用できません。" + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "有効なIPアドレス (IPv4) を入力してください。" + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "カンマ区切りの数字だけを入力してください。" -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "この値は %(limit_value)s でなければなりません(実際には %(show_value)s でした) 。" + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "この値は %(limit_value)s 以下でなければなりません。" + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "この値は %(limit_value)s 以上でなければなりません。" + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "%(limit_value)d 字以上で入力してください(実際には %(show_value)d 文字でした)。" + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "%(limit_value)d 字以下で入力してください(実際には %(show_value)d 文字でした)。" + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" +"%(date_field)s %(lookup)s では %(field_name)s がユニークである必要がありま" +"す。" + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "この %(field_label)s を持った %(model_name)s が既に存在します。" + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "%r は有効な選択肢ではありません。" + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "このフィールドには NULL を指定できません。" + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "このフィールドは空ではいけません。" + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "タイプが %(field_type)s のフィールド" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "整数" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "値は整数でなければなりません。" + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "値は真: True または偽: False でなければなりません。" + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "ブール値 (真: True または偽: False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "文字列 ( %(max_length)s 字まで )" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "カンマ区切りの整数" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "日付" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "YYYY-MM-DD形式で日付を入力してください。" -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "無効な日付: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "YYYY-MM-DD HH:MM[:ss[.uuuuuu]]形式で日時を入力してください。" -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "日時" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "値は整数でなければなりません。" -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "10 進数 (小数可)" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "メールアドレス" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "ファイルの場所" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "値は浮動小数点数でなければなりません。" -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "浮動小数点" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "大きな(8バイト)整数" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "値は、空: None、真: True または偽: False でなければなりません。" -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "ブール値 (真: True 、偽: False または None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "テキスト" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "時刻" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "HH:MM[:ss[.uuuuuu]]形式で時刻を入力してください。" -#: db/models/fields/related.py:816 +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XMLテキスト" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "主キーが %(pk)r である %(model)s モデルは存在しません。" + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "外部キー(型は関連フィールドによって決まります)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "1対1の関連" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "多対多の関連" + +#: db/models/fields/related.py:1000 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "複数選択するときには Control キーを押したまま選択してください。Mac は " "Command キーを使ってください" -#: db/models/fields/related.py:894 +#: db/models/fields/related.py:1061 #, 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 は無効です。" -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "このフィールドは必須です。" -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "値を正しく入力してください。" - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "%(max)d 字以下で入力してください( %(length)d 文字入力されました)。" - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "%(min)d 字以上で入力してください。( %(length)d 文字入力されました)。" - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "整数を入力してください。" -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "この値は %s 以下でなければなりません。" - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "この値は %s 以上でなければなりません。" - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "整数を入力してください。" -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "整数部と少数部を併せて %s 桁までで入力して下さい。" -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "少数部は %s 桁までで入力して下さい。" -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "整数部は %s 桁までで入力して下さい。" -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "日付を正しく入力してください。" -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "時間を正しく入力してください。" -#: forms/fields.py:361 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "日付/時間を正しく入力してください。" -#: forms/fields.py:447 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "" "ファイルが取得できませんでした。formのencoding typeを確認してください。" -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "ファイルが送信されていません。" -#: forms/fields.py:449 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "入力されたファイルは空です。" -#: forms/fields.py:450 +#: forms/fields.py:438 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." @@ -3989,7 +4696,7 @@ msgstr "" "ファイル名は %(max)d 字以上で入力してください( %(length)d 文字入力されまし" "た)。" -#: forms/fields.py:483 +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -3997,111 +4704,86 @@ msgstr "" "画像をアップロードしてください。アップロードしたファイルは画像でないか、また" "は壊れています。" -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "URLを正しく入力してください。" - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "このURLはリンクが壊れています。" - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "正しく選択してください。 %(value)s は候補にありません。" -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 msgid "Enter a list of values." msgstr "リストを入力してください。" -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "有効なIPアドレス (IPv4) を入力してください。" - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "slug には半角の英数字、アンダースコア、ハイフン以外は使用できません。" - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "並び変え" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "" -"%(date_field)s %(lookup)s では %(field_name)s がユニークである必要がありま" -"す。" - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "この %(field_label)s を持った %(model_name)s が既に存在します。" - -#: forms/models.py:594 +#: forms/models.py:562 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "%(field)s の重複したデータを修正してください。" -#: forms/models.py:598 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "%(field)s の重複したデータを修正してください。このフィールドはユニークである必要があります。" +msgstr "" +"%(field)s の重複したデータを修正してください。このフィールドはユニークである" +"必要があります。" -#: forms/models.py:604 +#: forms/models.py:572 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " "for the %(lookup)s in %(date_field)s." -msgstr "%(field_name)s の重複したデータを修正してください。%(date_field)s %(lookup)s では %(field_name)s がユニークである必要があります。" +msgstr "" +"%(field_name)s の重複したデータを修正してください。%(date_field)s %(lookup)s " +"では %(field_name)s がユニークである必要があります。" -#: forms/models.py:612 +#: forms/models.py:580 msgid "Please correct the duplicate values below." msgstr "下記の重複したデータを修正してください。" -#: forms/models.py:867 +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "インライン外部キーが親インスタンスの主キーと一致しません。" -#: forms/models.py:930 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "正しく選択してください。選択したものは候補にありません。" -#: forms/models.py:1004 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "正しく選択してください。 %s は候補にありません。" -#: forms/models.py:1006 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" はプライマリキーとして無効な値です。" -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "はい,いいえ,たぶん" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d バイト" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4307,7 +4989,7 @@ msgstr "11月" msgid "Dec." msgstr "12月" -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "または" @@ -4355,37 +5037,80 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "Y/m/d" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "Y/m/d H:i" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "Y/m/d" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "m/d" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s を作成しました。" -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s を更新しました。" -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr " %(verbose_name)s を削除しました。" +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "%(name)s に %(fieldname)s が一つ以上あります: %(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "%(name)s に %(fieldname)s が一つ以上あります:" + +#~ msgid "Old password:" +#~ msgstr "元のパスワード:" + +#~ msgid "Relation to parent model" +#~ msgstr "親モデルへのリレーション" + +#~ msgid "Add user" +#~ msgstr "ユーザを追加" + +#~ msgid "Comment moderation queue" +#~ msgstr "コメントのモデレーションキュー" + +#~ msgid "No comments to moderate" +#~ msgstr "モデレートするコメントはありません" + +#~ msgid "Email" +#~ msgstr "メールアドレス" + +#~ msgid "Authenticated?" +#~ msgstr "認証済みか?" + +#~ msgid "IP Address" +#~ msgstr "IP アドレス" + +#~ msgid "Date posted" +#~ msgstr "登録日" + +#~ msgid "yes" +#~ msgstr "はい" + +#~ msgid "no" +#~ msgstr "いいえ" + #~ msgid "verbose_name" #~ msgid_plural "verbose_name_plural" #~ msgstr[0] "名前" diff --git a/django/conf/locale/ja/LC_MESSAGES/djangojs.mo b/django/conf/locale/ja/LC_MESSAGES/djangojs.mo index ec9e86ac2aeda1a4b17c0e56a7812b4d8c350421..815c3538e33d534f053b3506b8f4f36d103d38fc 100644 GIT binary patch literal 2696 zcmb7^OK=oL7{^;h(fG#qtEw-QP&(@d1;Qeh2u1-TDY8g$vN}7R-GSNZbso{ZWp;gp z0HzdQkw6p?SHer>fIQ3cVtMm!>7kh=(W^(x^8fWr0xD(c)b{u5*Z1}R`+9bMnm6ZN zhUfmQ{SMAY`|%1GJhdwsTME7eUITs(UIiWlZvc;j*Mi?<>)(SnV*CTx0sahL2mX@r zH}GnV{{ZKJa}aDJcpXS_UIb~r0^-N2Fm&!qAjN$JI^AIA5AcY{l_`Cc%O@uqA%oN+Ycd*CG2_kiDl zYj9`;&O`C(3e6cHJ$Im8k9H5*O=ys0Gy*2qyFi37I%sa@!Bw$)(QZY%J)5K)NGIiV z8`_;{C^5SQjp{)U-9Oc6=An0t&0i2mcVWQQ0H4303WWzBb7-XrRKZRAN9x6W5a+z7#6r^J*}i zSS?GY!+IRsbIO&FJ+G7p^D^5YtJuZ*cn>e~O=#V`kM)@f@Vbh8UaBakBo_n=x$taW za-Gsv&iX2F?Te6To%bk%Vk83^Zj!c__KKCrH&fldLo0nEjC^!hQKh!3d>?T(%OI3y zVY7;OMGVT>E5MmtltM>&51Zqm$ZYT)40%=9sH<0pLgAGquF&I-XFG$A9SN5YIMTI) z97oIteaUOS>c<_`xvSJx$1C#z<@2y2`7?_5M_~wOUtmm=IFwfUNJ+YuWB)1*o2Xc` z(gJweGv!Ogh3cQ;cwL4$-izzU8_9@lMA?Ec$9jFW1^*3ejcvUk{Q&n;;H$SF zL)EcC)|4MwJwe&At*4@LU=>w?cl53=TC031=nk#bB9sNbDBqd4@{6tfGTxalEbe+J zzbv1}Mr(r{bSUO!_AM$b&ZqmH6G3Pdec=VJ2$f&pMX^-`6$gKcFo+a?ylR*W)9EM6 zRs1`1B~^W*<2eY8L|IxzDXIm&R@4MuRmmT>O$yc)@nl)4vMbBJifTdX)U&4N>5IvB z=JFk@lov`5BI-3{6UtY@M{2Hcyyf&J`hg5rY%F$LT^IL}*a7KVPkSY0bgFrVzAm~kshfv%^DEsP(#_KtAJ)xJXxuoZo0AN# z)9>xljkjlFzSh$5fozaM$M5RK4joTWyu_^Q#!=los2lspf2uXiruXcf`nYvr|4G)_ z9v|k5$UI8sF*1wEEFrU$Oc$ADWIFT48lO&bVtL91UDykwXOr<3OSX+nkL_pe_dn&d z`9eI&+sBTh-{RA6yv3982{xnieMrxwHJj+LOcQ+DyT{3$fCy%E?07oaA|Mn2(ExV- z)Chc7`-3-Av-eaS z8@e%K_V3n>T{`|Oa~#5a!}PZsd*J-JJ;~t@bQ1@iqidp_a6hQyQDm1KnV9-`$Hmpg z+d3X;zq!x&V&|BSx9gz>YyW?(?eT-z+3}GX-MIBx-D8NmejU=kw8DSUOa(b$bbdtd zO#CW5bi79+-dU>8tf=Jmoyp0WT%ftJJvsN<)Pb1F_}2s3KWqA5bY46ut(Q4N$F0lx S9!>Utp&O&-6~}c_n(R*~*XxG> delta 688 zcmZ9}O)ErE7{Ku}W4w*`VNfh?N-5puxWky4CJQMkMH9;MhBS>antLgwW+w|9$xbO7 zHdbRNU%}RbENpD0Bs>4-I;EWEIluGzoO{k3#qV3IFR{p(qVyAk#4|BWoQJ3=I;>O! zj$s|9u@!UJgmY#-k8Si@^~l*AK)yPI7Ip22R2E*C+xu2z^YOoW*|%!nTVlm7{VAP%=k1) zf;`Frt2l*gND6g{{L~edth+JZ;sE_SlvjQ<vmdtH^q}wUlq`RMUJDqbkKsf_d5!7Fr0haxv^30i+u?K->? zI=!f$UDp{~Puh-SImxV(9Mu`Eql*i6eq*oT70TQ8jO%Y?El2B=ttV`qw#Jg#Waf9> ryzBY)QpMf&wp_nl$yz11SoX`7@9pmI77JFc^xHaJY&fskjXR+qUh_st diff --git a/django/conf/locale/ja/LC_MESSAGES/djangojs.po b/django/conf/locale/ja/LC_MESSAGES/djangojs.po index e21ed9815..bbf6033b2 100644 --- a/django/conf/locale/ja/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/ja/LC_MESSAGES/djangojs.po @@ -3,44 +3,74 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-22 23:23+0900\n" -"PO-Revision-Date: 2006-05-08 13:39+0900\n" -"Last-Translator: makoto tsuyuki \n" +"POT-Creation-Date: 2010-05-09 10:58+0900\n" +"PO-Revision-Date: 2010-05-09 12:50+0900\n" +"Last-Translator: Takashi Matsuo \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" -#: contrib/admin/media/js/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "利用可能 %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "全て選択" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "追加" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "削除" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "選択された %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "選択してクリック" -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "全てクリア" +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)s個中%(sel)s個選択" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "フィールドに未保存の変更があります。操作を実行すると未保存の変更は失われます。" + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "操作を選択しましたが、フィールドに未保存の変更があります。OKをクリックして保存してください。その後、操作を再度実行する必要があります。" + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "操作を選択しましたが、フィールドに変更はありませんでした。もしかして保存ボタンではなくて実行ボタンをお探しですか。" + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -52,62 +82,63 @@ msgstr "1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月" msgid "S M T W T F S" msgstr "日 月 火 水 木 金 土" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "表示" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "非表示" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "日曜 月曜 火曜 水曜 木曜 金曜 土曜" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "表示" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "非表示" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "現在" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "時計" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "時間を選択" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "0時" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "午前 6 時" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "12時" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "キャンセル" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "今日" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "カレンダー" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "昨日" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "明日" diff --git a/django/conf/locale/ja/__init__.py b/django/conf/locale/ja/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/ja/formats.py b/django/conf/locale/ja/formats.py new file mode 100644 index 000000000..853056d8d --- /dev/null +++ b/django/conf/locale/ja/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'Y年n月j日' +TIME_FORMAT = 'G:i:s' +DATETIME_FORMAT = 'Y年n月j日G:i:s' +YEAR_MONTH_FORMAT = 'Y年n月' +MONTH_DAY_FORMAT = 'n月j日' +SHORT_DATE_FORMAT = 'Y/m/d' +SHORT_DATETIME_FORMAT = 'Y/m/d G:i:s' +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = '.' +THOUSAND_SEPARATOR = ',' +# NUMBER_GROUPING = diff --git a/django/conf/locale/ka/LC_MESSAGES/django.mo b/django/conf/locale/ka/LC_MESSAGES/django.mo index 997a164477f50e1463ba39d55893ef7cb088d5cf..f06c4bb72bf4512676f7db3b92e3441193d89f60 100644 GIT binary patch delta 15348 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 TuezL{yzu|GW~D9L`0f7zNxrF> delta 15375 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 N|G)P28A~?q{XZPSvnv1q diff --git a/django/conf/locale/ka/LC_MESSAGES/django.po b/django/conf/locale/ka/LC_MESSAGES/django.po index 205ad3fd4..7c4ff8c2f 100644 --- a/django/conf/locale/ka/LC_MESSAGES/django.po +++ b/django/conf/locale/ka/LC_MESSAGES/django.po @@ -3872,18 +3872,18 @@ msgstr[1] "%(size)d ბაიტი" #: template/defaultfilters.py:747 #, python-format -msgid "%.1f KB" -msgstr "%.1f კბაიტი" +msgid "%s KB" +msgstr "%s კბაიტი" #: template/defaultfilters.py:749 #, python-format -msgid "%.1f MB" -msgstr "%.1f მბაიტი" +msgid "%s MB" +msgstr "%s მბაიტი" #: template/defaultfilters.py:750 #, python-format -msgid "%.1f GB" -msgstr "%.1f გბაიტი" +msgid "%s GB" +msgstr "%s გბაიტი" #: utils/dateformat.py:41 msgid "p.m." diff --git a/django/conf/locale/ka/__init__.py b/django/conf/locale/ka/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/ka/formats.py b/django/conf/locale/ka/formats.py new file mode 100644 index 000000000..01167a78d --- /dev/null +++ b/django/conf/locale/ka/formats.py @@ -0,0 +1,42 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'l, j F, Y' +TIME_FORMAT = 'h:i:s a' +DATETIME_FORMAT = 'j F, Y h:i:s a' +YEAR_MONTH_FORMAT = 'F, Y' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'j.M.Y' +SHORT_DATETIME_FORMAT = 'j.M.Y H:i:s' +FIRST_DAY_OF_WEEK = 1 # (Monday) +DATE_INPUT_FORMATS = ( + '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06' + # '%d %b %Y', '%d %b, %Y', '%d %b. %Y', # '25 Oct 2006', '25 Oct, 2006', '25 Oct. 2006' + # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' + # '%d.%m.%Y', '%d.%m.%y', # '25.10.2006', '25.10.06' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' + '%d.%m.%Y %H:%M', # '25.10.2006 14:30' + '%d.%m.%Y', # '25.10.2006' + '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' + '%d.%m.%y %H:%M', # '25.10.06 14:30' + '%d.%m.%y', # '25.10.06' + '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' + '%m/%d/%Y %H:%M', # '10/25/2006 14:30' + '%m/%d/%Y', # '10/25/2006' + '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' + '%m/%d/%y %H:%M', # '10/25/06 14:30' + '%m/%d/%y', # '10/25/06' +) +DECIMAL_SEPARATOR = '.' +THOUSAND_SEPARATOR = " " +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/km/__init__.py b/django/conf/locale/km/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/km/formats.py b/django/conf/locale/km/formats.py new file mode 100644 index 000000000..3736d574f --- /dev/null +++ b/django/conf/locale/km/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j ខែ F ឆ្នាំ Y' +TIME_FORMAT = 'G:i:s' +DATETIME_FORMAT = 'j ខែ F ឆ្នាំ Y, G:i:s' +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'j M Y' +SHORT_DATETIME_FORMAT = 'j M Y, G:i:s' +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +# NUMBER_GROUPING = diff --git a/django/conf/locale/kn/__init__.py b/django/conf/locale/kn/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/kn/formats.py b/django/conf/locale/kn/formats.py new file mode 100644 index 000000000..fa7a7b954 --- /dev/null +++ b/django/conf/locale/kn/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F Y' +TIME_FORMAT = 'h:i:s A' +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'j M Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +# DECIMAL_SEPARATOR = +# THOUSAND_SEPARATOR = +# NUMBER_GROUPING = diff --git a/django/conf/locale/ko/LC_MESSAGES/django.mo b/django/conf/locale/ko/LC_MESSAGES/django.mo index 9957716cd27a64d95157828cbf9082112617ea64..8d2ad12a9faa5ffcb5fdbaf593cc0a341f6b7dec 100644 GIT binary patch delta 26854 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�pQy*OPD#675^5sPqv}sH zE;4RJc7}idLqszV>lfbyobSi54zn zTLHCzS|;5VHK86Ds^@=*$w)+fnoU5R-Z`j_78=)}&cY7kLDY`Djaum!sCM5Nzef#p z2h~rmvUYh9RQ=LQ>-mo$qLoIWK3@A7pFwpn1l1tTI03by>Bgm~$8I}n0&k+)okZ>I zCnn#I>gQ+F_lQ3+@b7;Lm9sxIN}(!Ps2NvBb<_x**ctT|s|)Hd4MR;h4FfM2)C4A? z>Q6`Y_cH1Q=E1qG zwZDQI=mzS{{EFJqf)(wBl(cm_st{3wx~N0a1T{dS$xk+pHojoWr=TV<4K>hQ)Pz@| z27CjxW2cOtpeFh?YN59=x1RsIfe7z*)aQKeO7?`xqb8#3gCM@U;S>(T8p0Xk5#&93 zjm@r1=8vZAMe^Pxz0H*ECccSyIOV^pv7Ucjt8D^5)pi(zyhG&VBl%5eSdH*GW%aQ! zPBjBH!W{%Z`TxH7#mO;|x}TW3DxXFA6m{KI$vkcf_L#;^Dg2P2>t&PooADX)ju9@> zW}#`PdbgOaS&lTVS*W? z7A6qL3S4=K`%PIrGPlrS1lGZgWswb@50o(Syc+S5lwTm;oY0c=_mt^+ zp7dQTPx(f|8>A28%c!e6@vhYU7=I&t5o8Yh04l7o>o{)VlY|dUI-BV? zqFqPgrRa=bBm&n0@+K34^i*@TC;t_KUaKDyW>I$o;T`hI1Z6*P6ueDlBN|R2o_+mF zrKd=EDAN@|TGtH1D}+e$$IwQXzDH$W`qidBWgik^Xmfx%Ulacb4-%GBewy@G+2b!D z@ihf0n0<|*;di93lOIXuZ}SbTU zNmn3o7XKvlCgdlqB3z=)LIPjW`9lJK0w<5(4;&9@|1+Tg>4F-+2a(52kCm||>Fb1* zRN`+o|G4JRfv$>#5aRbRFX2t<>)J)$F5*4#EWtw`<;kB-JRV;q-GzAeRZ90in2doG z949^vb=@Yf`y&;VSB;MM;s#Skd0xT+@}DAfCVqpmD!7TDE0Oe*gc+3UdXdnJesgde zW|HTA|6hZQqw+uss^JlQBGAnKkx04{A^Uol_>Ux3K9c7oKAt|?(tb4IbK+gd`viMY zcO79m>2ZVuf%{L!C=y>1?hz&tf@r8K(@d@>aW{FJ2uYM@U*V*KNY^!aHL0ISNG7bO z>~SjYqwEHj!^5V(H%J#FoO$&5-$KSv!lPFliP!097!6~QKPEU9;~F|^L%cub83g_6 z^C{`&l+B^6BB2&}(d5-53?ctD!X@$(P}h9@(EZ<`2vYvkW0o_#$a-j4jjgrb>wX%&qdlt=t1~_JY6gC2w^kv?bPi~SrTD1@eF3HjUR~ z6ctzCKvORlZ?5d?9CfP@3R34~GLIA2b=tJ|;vmZUl6Qg7)8y~N{(-t}dE`vy5!1LW zX{X7nVDidhdpfFO@;^5DZz}D%)~T@jdy{j^)W~h7nMwYAS{@|dPvvh&S0JscIyNPL zE_tU3JqaD{BFA&avE;o(_>{VZQP)A@!Sr8{wq*%l>m2<~W(XBF622#%hl)D`)px*YMph%X_(C7~xFh5SPrkZ_04hp?ag8~oz_ z@M=OMU0W%9hIkDs=-O#4Kzs{vr>Up1i^R86za8-xOnxnNQ*RLYISC_Fk*g?q`d!sa zc|7s1#3#C`;3F}C%oM^};%!x%D~|YCJL(9c-cr&(qOKvtb-is9__>ev_XwX5<~@=> zl5~AS_SKU3WZIu1xF6$3GdjIOX*zDF@MrSgMvJ^32vQDLagfu%D_`CFK()k|g z+!Q%()8;0LHI&ySWM6BEJIxupuKS-($s#J(A-qa_H=QjdgqlVd)DdAfp&R*Q@DIvP z;HRe74@iGw;-ie>b<;-<>fR;j`iZmz2joa{e5TlQERgjlyqC zhtu#&(vM!j)G2Su6L1;nFB#xjLeWPm&LJK{Ss^@0+4H!bz@IoB$)r~jcb6nmiHtHN zsuF)4Q)#3tNxtHgD+uyI_~ zd-Q#ic-3^Gr4mll3qoKBs~^m2yKWD!I`E`J>t5Snob*H2SO+MEN2%5 z{!Y2o)NgJ40Y7jCew+5JY9II~RAE#ehbe)CM2-_%s zjrIk8Oe_vnF!6h;` zQ+AlTt#JThJt3U@{0ijz2``dYiS!*TM>-dwB<+u(u4nZo=xh?o=x1h|Wh_g>CyBqO zLawRA|01st;WIlc@Ux8R<5OcOxt~*KA|V%T?wGoliI0DzT@9UtYh-L7bfIxgQ+S_> z-w{fi4wusrRUJzSapZl3A5z}f)bD5f2`%!ougbK`Oa0+wOvTxx=Mx@Y>h!#6@H-XW zAtaKQMx_y^VkgR1lfRbyBG{Jvj)YR=drVK~NRKDvpnQVK8-|~eSDd`Y7)$*cgp-7Y z3mP^dR3e>2e*+4f+KY6NY-%enS_0T*xx@+ zQdW%MBI_gS-p1ER=O8|bUON#UC#)v#57hMn@o|_yXh8f=@&~DaYlOask0$aRnb#;h z6v(!JJVxHZN79OpW1y?}5_NUm!l%j86=w4C;C<3l31861$CNK2WSMf+txoGD{8 z7nO)jPDvl`N~P;DuGAqZX|6%Zu}QATG|z#)&*T~so174v>?zXkdhwB|DP!o|tT=m$ zX>0HFbLOOjgj7#*|0qwyQ-i$=p9*&tinppYvWARLcSTwW$?2|mSE^^_fT6ik($wLC zr)PwxCZs2%4Y%4S$0wrqrKf8JwRFX%nh{u|qitfs&=D4Mb6M#rCf{NxD`m*DYxWGWs%#~XP8!19NJzH&Mfd9$2sQgf5z|$(pOuno zdEyhSkj|#2w@5?M$JgJzJk@#agUCAPZ<<+FK$qZ%|GSM4Zc8 zAUVugW{hii!q7yQ#qDz?r@5?=iLvRf>_PLT^mNwr%uA`}9h6cmsDvJX^zkEIP1xXJ z39iJrK}xZcDWet^{Ex%t`Eyi{8m@%+WUGs7yj4wAtvDA;OiD<0#c|v?;TkN?3iK7} zc`S8xuGEAyj-2uJMB}N#a?k5lcKGzDON(D`S4gCks&TuvNd#gY;wFSF50_t z?CRj+$>VFLr_@Y}O*Ru$^Wh02Jsk1GhYFmlu?gwJt&t3c@1dEZ_lo-)XIM-> zt6%niJZC0V@w_vs7I*Q~q?VpblL}P~EW5E4mk^(jo))DenwB1$%0`a2YA6*GDJ5=n;=>o-GqWN?hiKOx=RxpJn)N}h z)^0IgG+|i6Q2Y7m=t@a)rKgS$oNI5# z1)l`v9FiEDJi?nRB3k8?uWo1S160mQ5_TxKr zcnVKcv?uSoNdRj#8~Oczh-`(*yqMuOeifj-m`qo2yfoCLC*ZCF5T=nhtV6huAS4< zd;NfdwPR|=)UR1P#;RSXN$uJ-V(NI0t}hdu|JIIW{^d(J`Q`&?=G}_L%tzdRDe^Sk z9Omh?Im(mgM#UTs|L*0U6`PBB_H2&uT-y9h&T9VUyCXe~wxsvezFS?i)5{|{|Et$r)w)~8BjbnRjOS+DyS?Q!rC z`mdb7GkiOC`ZmsX{71&4ZC3C2M;A)|<2!@(MBw{_fATg~mo+ofQ*7&#<+Hy&_}9(1 z{25by+jigDHN`h~s#)9OqfTcDcWtwQ{=*A>o0rhkUi{8m-aY9RI)Ob+{)bH@VwQxsHbyg zUQgmScYc4yY~PNB+z}S#U$onMYg={a!~3<&dbkqHKXbo-d8XZkr|=t3d6M6#Si<5y z`j^kvdAhZGqHonED=Xu5-Hg;v7XWcFD zA?wz@%>U@5wbSwp**?bm-S&CT!da7cSpHQR{uxUie(CXy+c_fKyW2l=-NO}luI=2O z-@jxMi?OQVtv#di-#AeVdN?_? zu-meF->P-K&AToC;%#iDZ~Y-FYtnAthSw?aPtEkdwlLbEjJ2ES$LC@H)*f=OhuU1v z(LJraMfZj{EA{tHn`$NdmoBuP^)EkUb!w8(B+c>9Oi#;wPkLAEd)LVZY|LEZ{cHc7 zAn%`to^j@T!yTe6v-||Iy;#4bnL6 zGdyLFl=oD5Gk>jHI~MqtPvi(c(nH$+KANZKk;s32C2Mh{zo+~0JfSn!`Im0;&Dm{v z1|PK+oXj0+Wi83@&srYo@HBmgj1cdeM^*%RCY~sr->UZLcQnhh^H@pG#diw_we3uC z74K8W-VO@$A6Z3z=6St(qJk&poxHit7qLJs>tu0fm^~slj>D?lP!5hg4UgR>%v07;A%{=~hD|()Kud3(vdp*3by*D?g^gq5- znU!#Wrg8*4RZpJ{HSa&3g5OS;BRo~d|7xah1&3_%I!@_gO~};uFP>*{{5Yc7{oLBM zgJU1*>G9#cf(xhmHf;0H+~!*`k=KhJ*iL8CgL2R2-K)g@k3*c^_s{ln7F?dm%gHx& zoqyIc^JJGf|B=)E_o3D>8LR!%IPn~B-cGM=wjXZGzig@=kg2OI-=;(URhpQdX&zJd z_u;!?i5@WjiW%U~;4ygkFqzk5b}L?yKJUa^yAB6l|NN8hqTZ|vZwGU(y%&#!K70y1 z6F+ZSfVYWn_C$W_MR3bI)pOwUk@A7aA@<6uZk(cuyzD|)G#EjWlvuFEud85qOQGb6kBUG zUEBM#e}8b}|NJ&!fAjdq7s9~(nm3B!YkQ-AY^;UE-;NH-8F)u}*Zfi{ z*i-wrik_=?tp&fu5RLH+`E5pLy^6h=fp3uZLl^zuzcgy}e|&E=+vwZ4E-PccZ{B9_ zSHI2YmFrErf57Se_4i&u<^H`RmT$-0zcOoOYr@wyl4u8-nN6m;-y&U~Zw&@df zeWqCs-y?W{0*?+agjuheH}m3^!OogtzFn($j(w9iaoF~~AMA{DR*L4Sn&w-zULPs5 zR$2Z<^LZ_*dEkSbkEbb(Y)m_|I=JE!`W&gNst z{&?E=bq;6ipwNdOHv8)5c5Vu;VSl*)>kFFWzvk|{oX6SP8MTCu>wnkJS~#0`+J6=- zE*|Fmq~gpCw|338IOYDuuhWuqTrH9BvwR=eyin(O{ASf0#lY0J?q{1?C06#?6c1~GYS6hUH4_G#FeT1*R!Tt z;NiFt>ha{md<8t7GO4kavL4UnRvyoMug7x*a}W=F&EqMBldvOh#~K*k#^cG0O|S~a zV>(=J@kf}A_y$JeAISOqo(ye0p5i2;%@!C#JQCC5hvr6e2WBC^7qyU+m;)c9E+BI| zH!g)*Kt0raO)&%$Fb$3j>Sqa5bfPK9CU|CJIKCI`;PI@$48-eD6YfBrXdg!4Wz2+k zkd5;^GM}U7P1W8V7mk`g2Zmv8Ow0K_g{km=o|4uu33Z~`sFf~6ooG2m;x^P3e~CK5 zHPnv$h+4p3sBurt&<<`sJ&qwCfirM6`ZH3=&5hK(DURi_I%)xfFcpqOO*jU1rIS!6 za!?Ccj9GCNX2zYU`3_@nhcG+w9czD%x{yqrxc}-gS*q_<`kDqWZ1J{P+nL!Hb>Pe@*n5gihpr-R+nWwKI88CychZ zvb8rrZFwuymGwfMc$7H~wG&fO_j)1ff>v4kX4C=$ekxkP9!nfFkD_+s6lwvNP!ruY z@1sue7}YPVv%A$LEvS3C zA2sngEQwc8JD0kP$1@DGpcXU*)o%{!L<>>#FGKbJ$j$pb0V*1>2eptdFc%&}O>oQN zyQnJ*?ds-pm{FLId{NXbt7o=Aou~`yiu<81Y_zq{#&kS?o~2ZD;Vj)xCO?&iR5W25)IE9~ zi{miVf|g=_T!UNj5H7|c-Q9(T_waaH5a-0I*azeBL)3}W^>odIT4;9E=SNZWYfGzB z(bm0+d9V}a#o?$ceh;<4<){U%MNO~;wKIn-e*x9+D(b|y%wH`3D{9C7M2$<;OP~K# zviEXdJ0BJ#E{##x95vAZb0}(|qfiT(YRT)IhClB?qZ2Wn-jQ3H3OCO(VNn2dV5a}4l!>S7FP0dJyi)g;uy zKg8C!A2m;wf$k2M#5%+sQ9HW?xdpucR5bBz)JN%K>yT-X`;ZmGBIIjedF+lcxBzu! zpQEnmHtGU04)%D8p%2x+5vIn`sE2(#rb7pt2H$@wEY|Z2X27;@x$kKYRL9<^g$=g+ zWDFyofoX6)ro|=L23KP$e2iJ}IjVoe5ch)epmwS(4%GYKluCNsi<R1yMH$+{*s}{F1J78w= z-7o|Pqs9$IE#w{44o<>MI2W_x3X6B37Jd+QAxDR@|2pA05*m0JwZb1!6W_Ovk5B_c z_=b_`P$$e}MxrLnkD4zUGh!KwYohwUgqrsiRR1=^*nc&2wT9m2VAT6M3bhlTp(Z?p z!3CR_QRBZyP53ivfxn?HUEoEZZeNx4EgUd0>ehQzk20Cy@vicDz&LJK`mf9YK!KePPoYO zD^WYK&hncq4p_V!HSU1rkD)#%PGf6~80n7hW%fmO((f5aMO%`9n!t}b@if#4=URRN zYJtnmHK=|YQMY6VYRC4V<~fF%_dM!WT(kIR)QR%3daXd9q{kB{CZq$MfpkD(|TjDCJ;~nz>YQn$G ze^FPIcC`C2g`-Xsg&G%)>R-m<%BUTzW${ba-W2r#*LpPjuP={wB(#tO>o5T|@eFf; zxe~SVO{fX>piaCWb!!e|c|3)s(ff|uuMDbRdCY~?Pz!DS4)SP_>K*a+r9%=ef zCzyiTfjOv$Yre(Hu>tXFtcZ6|Cn&(XD~qH0mqA@C-K@hv)PRwwts93L zFa`CI>tIfNAN5df#YjAe)$uas#q49rI*-2_6;03wb>)84YcvD( zf$;$bx7^}As0ojwuILJ?{|~60d5GEZ5o*4S?67t&7wRLvAnI0>cJqEu1u7a?6Sbmx z7Qbw9bF&?4C%U2*)E~8wx3L&b$5{LrwR7K_w^99)EPjGIk7t|~NRW<-R+bI5#RX6U z3ZYgWhuVp1sD4dR`F5y$H`ETig?Vs1=EtR&1NWikJBPY;H&D0e5oYK7p6uh@ham>l zP#?9mT~R0OYbKypJ|49L(=A?z+L;wt8aHDp{1&y)v=iL^5!jG8KbFOK^bex)K9v%f zW+Lw@#$g>CjO}nc`Y>#gyVWJIDRE1r$+HYwV8O}!N{&OY8a}~FSaFKGkp7s4IKg~p z3j41sok&6t%e&UF$l?{4iu^{@C*d}1fCnv3%h^&B=f*Txz$}K^q0*QZtD_#u`l$1@ zM|}?Tn9BZZ;Aj$Z0%{@CQCm76^`5RmAMQilqHCyo`Uv$5q@CtYmU_EXWra|P4k9ZZYAqaKzg7H6IAE-VkKUr|)QSkw+xvbeg%^)ZZmV^sfE zs0DRGz3%-n6#Wye!&KBnb5Sc>fV%RHsE6<{>dMZdw)Pv;4&6q55dCiLsb{z+3`h0P zfm&!j48tOr4P&tx=l9g3qI)_I_3(XzjWBYidvCj-ChBGJo2ZH2LQOmxbxS5<@GU?s zXtT9{j=J)rsAuJ}<*#G#@Bg2I6@J;o;5|iF=1Dut-SW1m6Lm*T+}GlFP**a^;zg*1 zu0$>HBh(4Eqi#W>n2UNg)>*vE;*+QaT|-^jkC-0+ z#Ej^f?V1TQ5az=uj7BY_A?ke1(XS3|sl;Fp)Wow;5665|$3^A}YhPz>#Z0vCLd|o; z^5;+sx`Nt)A5lAU*V_L;&HHpV_g|IJIqt)k-pq{pD9w&~7|Wn`Dq3;61@8M^81>~*9SdPc)B?s} zFF!=BP zUsKVQe1{tFBkIcUq3*4Bi92C9YG4*rzbMqWVi=C4QT?l77Hoi8a6450-l$tN7`21L zG5GucWGcN$yoZ(X3Gyp}r`%Ha%059|!5-8^hfoupL``%awG%fjzK>eybBoh2a~GH! z)vp+8z6#6Oe@#$}L|uFpE8!fB#xGGPypOt~M;51F?oN=+j6&VI;;0jpL~V6djKX-# zhZC_ruEfsx<8tnQbt?5%xCn2_SPPcTF6k;LPnw<(n+X^7oirg3N`UsRKFdl z1$>5jW=^4Y=7QVq_xwOb1Mj0&_7L?H|ARVVnh#wwptd*y)t(27VNq*;1$Ba!sGVtt z>emG|uCK*IQRf>Q)X$S{i7D1$25P_p)D^6-coS;iC*~g1g7>3#;0WqUPh0*w)Ix5f zb|e{fL60#6pDX749`9;5kp|Tv40WPRsDW8g3o2m7pcYmhL$S75A2o3!)E2*tny({j zfn8BM(g!tuDEf0!@l(;jg{Y1npq`1Zx+{-F4J?G3xTG0}>R;Kchno0R)WTb$cB%^& z@v_zU7~fsTu8^O)-u*pd6~+@^@KfnRrRoOv4~#`vk9ZGi0Z&oCFr?n-ew($!yu|&m zC{97$!p*2#bJ*f95Hee#V%ZP5~p#m%Uv`Ksk_ zS^N-nq9+!IY<3^MFbpG~8@0f~sQId6MSKOhm443zD*9}m>n1!~%zdZ<$INe03rIpu z{JZ6!VkhE^Tih$_i)tT(8b1|F;Ud&|j-YPEEli{D|EE;cF?6f@aAe2e$}uDP!e$)K zB(9AKcmg%9?lyPgR@jJm5JqAm>R~%=UO@G~jGFh3V!i)=Q_;6nx{uw7ieVw*`lyNC zK;5D-m>J)*{D&Apya)ABd>r-6T(|tsmVbod0|Dz!mfc^}kP z55Wi=g_>Xn>e*O`1#t)JN-m-%yoKub*z#$1xSxpGF}Rbc_BhOfwRW)ox)&`-##hwXHCE&}zm=Rx%^XEwBaN7UOg1RLYqek!`xhfojI zPnaHG|HNHbZ&W-IwepFmmCv*G^{5l=vG!A_1ztss`vbG%zgPgX?{XJh0d?X2>Qr=3 zUqMaO+Zsljvn;<1BWd4m`L9qrbOp7rWXnH6U15eqcSo|J77&H%R}OVc>mWPs_q<9a z2Z`S17}P`Ppav{MO}Ghl&jaQj)YJYs>K1&3dMMAJex>`(@}+mXA2=28BKdy!8P?vT z`MLkksZ=2mzL(E&Y=E=SL7mXI&)v#mn2R_LwXl~lC$>i|U@&S2M_7I)W*}aTx)s|{ z$!vsrecGcI&<`VV0_q+wMm58nb`yS`*6^Cm zI_fEZih9Nx9B_ZV?}lZG7am~$Rr!iUO?+%tKIs05m4KzlpTXAn6boXDFIvP; z48K7wtk@y;`gx~p2sFw;;{SQjE5ceyZ`dBltgnHzQnp1dBn}PM=fvyR>Oe# zD{5zAzU0lp#i)h-gjztlqwc?`#$h?)*RcrB!B=r7mc$VMSMJwqES4bA89U%Ki*KP$ zobj0Zecc$olq5$d&yJncT^B~VXsU0jT;C-jVc6r=j(vA85^o{E?en*`gr|LuYm zzV$FI4Wm#U$75z(fEuvY@&Q!8qZo!~P$#}(@lTkZ_yKC%Kd6O-optBUgIu{M7K7ja z6;&b85Ov~q=9{P;@M9)ihC0z^jKDppiH@VjoilHvPW;&7wCCIf(BB zNJ0~>K%Hp`%%3D^+~uE)&Em$j;ByN6~z}o3>Lwn z*z6+rKMR#%B(xJ#%=PAREI~fm;+$W*e{@#G!sNSQC7gtraUTX3YVkGH6(^%E?1{Cf zzU00ok$$V>MP0Ga;u5I$y9~C#H!c4uYNCUviBFP>coE31n;62umH7_>o5{`qsE;<-Lh{{{qCX0 zKgVoL;|ag)epdTX3+RpNI07}nG}HhGbq`mW>rwr-nFmn)&Y9n%7IY7_fPXEY^@_Xo zJ`Cgho}yH=;xec$YKWSsHO|KFmVaRRXQ)rQ4Bxs7h(`6VidtYJvl(iK+Mss0GwOnR zqh9ABn3eN;##7Oi%tsAai<)o?row%wi4R!&QOlpfV&pHP7XA-vT)M07>l=wWVF}dy z6;T)3(DI!z_`m<{V;zQLOFB%&s(1yp@@&^!qc9h7anyu$kbCH9X>mMi0mD%Xo@DV% zYhP^nji`CIUt|BZ!hIy#;+I$+qrP(|YKb~gSBnRu?&(<6Lgr#l+<@wL5Ve5wm>O@O zcIGG42_K@qEuW!Y_d?g%|Ke0$y6!%N{V|F-fVzTnm=`Z&Zu|qag_*v0x3(zibD%70 zCtfrAnD3Z#QRCKFybtxTpYc=C%D+dg_yK0ezfe1q;f9-!M4ccXs()G3mDWX#Yi_nd z<=AN4RcK~2;WHE|DfFlvIa=6k3eTZaX4 z3u@dMRKFXT0slbV63?yRul;^cMk?x17>i+Lvy0^?qqc4_`tW1aEjowV`uiAz*?w@J zotmf~s?Jccj*;{L9d>5h9#TA&s( z4|Qc9U>f`g!*DBV2X|ZkB6eE)k;38P^!YT~z1_j){P zf;p%OmZJIvP;bM2RR3>K_xiedAGIJ)lKbtM9kpY%&0(ndHzcuv>X=BP0G>cilw>}| zj>H+0-39bPozRbZ@28-ybh)_|_0WEXMes`u$0SUTk5Kc6-gEn9zsLToAs-1f6vtFp z#p0T%6Es6zaThFvBT+lC#9WJ7*fuPRyHFoc*DxdgiNO>9>b{2AQ5PQLr{beh6VTm8=cfttrJX{Sm*y-!0zvyPH3Tx}a}Rx9kry(?jbF!;a! zn?gk=T!5N*HR^TSiMr<}EdMoTBmN0B!4uTDw12w&a+n3MH2D}TjO|cw%V^6xmOqI8 zI2vwKsf#)PazCLuU~l4?SPmaz3oQ1x8;>wIVixk>VOhLy`X0G)ODsix0_u}>8)}}r zI0mafX8%i4+4I=_ptz08i6fr4pXJ*yn)nB-iQ)h7F^eyoE3p#sUzih1KXosl0mc%K zKrL(?*28bG3g&s{eo3`{X77Iji3A$PVN3iAwKI*MyT1v&jroapVi~-EF&O%<`};#_ zRR1=pdp#9(>)yi%T#CANTP%MNb?Z*}spvhwf_gY^pgR6y9iCcydXG0aQ5Mt*3ZW(_ zjXF_viyN4&Q77(>dT58B<{yoja3bow{`aV8qQ$6*J~FpsR^ojYpGHk|8FkNZq89QH z^>#eRP%P?o$Hib<;u@F(9n>w^fRpet=HvXH&LQqZZ(}nWCZiT|5%rW`HsaY=HjSR5bBq)WE6c zY}5i4pa!lsccM;s#5``ELEYPnsAuUH)VO5x8ERanjIP;`h50?XsOZFnP*)Ixnjp^N zil~LuMD=TGwn8nu1L_JpSw0@Mll@W8$Pm=CGzRsIyo*}s8VvsLe|A&RM4zEfaKJho zwfHJ(t8ZC+-~0>nl7D7#?o94Ne5flgf%*ikZuw@GZ;$#C>WiuL{(neCC;kX^rCU)e z|J3qFF?jD$S9%upuzhR!JE-wVs1yH=dPYJsyE~d6bpgf9@~HlGF!=r7h>A`y${I$S z6U^z>J{Prs_fRKVidyg%)Cu>YPISrq0kzNvsC)k}>K3Ppa1D>({nx$DPD0<`xlk)B zi&~H-zd{FZ2!Fp(ze?#%(Q((sbIKHaYkN*o-e$}O%1kDC1NFq`V2;Yvb*#nRw1o#h z|7kc*av0@X>Uk*-XuMBZOzu48CiNGOhxF0$C57KTJZsgLN!L&>OWT{oZK&%V-$?wn zjgQ6+l%nKoYB9S1U9EAR`5g@xDPxJ((f&3?$8mB|ZuP&P704~3bhQOFqpl;Ku@}hY z#8}HI|C@f;F`m56A3Oqd)N3<}GJ*QPsE2SkojzfrCgf^UFGamN9;HpkF7oTh6{H>; z%<%8W#68LD7>Wz9JY_j~zA8L9D4m&u!#%&=GNlY+lyb)+L-dY&(EBK|`e$$&*z zioQFk@1yM@@dr4Z+%5c=qT@UAFCGOf?o4}k#?GN}3H9GYIR7yk#}b^zGS=~snKDTO z+Dnk*i_6o6`c29d8V90|kICy7)gOZqA4=p8+8l3D&t-K#C%;LbZ>`^d`=6MSz(RC7 zLy4jO%ub-@znNq_7Q?q_|CzR;*bw#qMT3q3luX2t7S|y@NbDoNfo<^!r7-!Ai2a+H zpa~Tnn_WC#ldDS^M$s{nGKu;{`qi<%FO#cG>BD4t$Ms&nPpLut6MeQ)?@Rq0>S$@> zRKG}RLmP*C|J63fIvnIgqiCGsb_n*mYi;_qOvgFe(%a$`U!}bf^17!p~`|pk&JaFQ;K92RKMnR+$#v11asl;brjQ;4fDrXFPjaeur- zZjW^u!%1#Y{{wqdR#I<(Tj=MbUvBCj>48{E8Eb=5$UukDWqMAnu`jL_H5g)CU_W=@X zNa)x_U5A66a4asP?4W%Z>|TS|G^@^f)8`9yL$su5RXqD_=`#PR5- zEh8mYum}G_j(t=ocgJ$q88?f#J^gccCYVDxKsjU`woza0{PtQ-|21lZDLN`LWDi4X z64#=Bn)*6xYmaeOFGfD)*g`HlWhJ@En4WPRs5eRJfWK2p(sl_m)AkE}&J$1Lw-e7B zBv(+zlbnbtM?pGfBe#gskHUrUE*<+&#iBDyhABQ zn?rs&r5W*bivHFvuTO`(B>y1sJ>^U4J83vaegvfkMaM<*KVukubSxo%10CWoXxl;Q zN-i4~qUb1UeOK5Vt1*qWseKrA_tRMsM}Q91Y|sbPYm?I-)H*(Q@%(D-Aq@VI5@(Z_ zpgk9DEr>JQNwVNzas?>G$%jx@P_IkhfzjHzwcH#-y;4+$oBVPMj#^Xl<1oF}max&S|;@epM^`J6VG ze{Jxju|DU?^|tz#*51gxXL+6HAFHRKZ3g3eQFIg{|ASlgtfS4}j~}Th{7a2z2PF^X z5^>70mw``G0(`&(>B&{3#8Ll@-0PHYsQ-$)C}Su(&b}~DIPE(AWZZ4a5!$AOaQ|N+ z&{5x1Jtv(v;W(S1I`w{(6O`Mu)wId_n#WC=J!z@WU|g0La>^fgA-+bvYVdqK|JSYI zOYBM6NawjsFrCta@;7l|TigWd^Xan}%TYe0JvC({?Wu^jQ5q8K_<>wHs}E;P$}x{h zbIbqt{*9qSK?XdgaUq5h=fRX?F7ZSLts=LEQi)h|WaGzA!~xD@I}~MaNsXmd4|F1fNpgQyZlvr8w14?1J5~J?hv)zgCnXoZwSQ z`GEXr`m`da<9%`mf;C=QoTc9m-m*jrkyI|*fUBq#cBA}6dGTnA|^Z)1v%cPQWKw*wtz>0DNg446dy6%5CeG8oN{JMma?3N4%ZJag<7wS(Fg+`xvy3 z`WL7pk$(Nj>sX9ut$u;_6V_)0xeK(PRL&NW-|XP(5B`g90>OuL&QGZloRU|LL4B!z zj@Kyns6U~7Ep8{)ahP$_um^sO83o{iF>8o{~;vj z(RhZAI`&gfXM^ONeWfb|k-NP+A*U$864E9leQtl+x7O;Ck|#C|?9y-5;mn zN9Or}GLp8YsN)yP4eBk(>FA`-|AADZ?Id0r2T;yZmIk}9_0%J%Co`xKr7)!jr7^k9 zc$A`JHjbtwFxPj)y)Y|d7X@4SZ|+(w@j;8n5D(M+&%>aPSLRt z7rIr?Ehc-J&aJJjq~%wWZ=f7y6y<&5So+N;)s6a2>Xoq#7NNvYQjYpo_fNFSEIQVs zyvsz(u@F5Yt?e>#%F)W|#W9-p(v+iG1V?7-&8qe$3e8mVlL|&9KgoaZWZRw zNbU{#kE4{M-jK#o)L)|iWa1^nTPW)(pOK$RZZdTprKu01>?MELO$C1rB@QM38*>yv z9SM{_gEii8e2LOZe_wuMNs-&?kMMOHSdz*1Q(t58r%W0{(GgGE2yY;^?Q5aV$qxCQ zOC368i;a83*QlPSsBG%$)auy5N!{tAR0%`lhd75jb#_X;e$y%1`B|#I!-@}emUJ%V zwC>U^W5TdL@dJnT?b&@;e6QMp?Oh_g&ZVy1oLb$c1TJ zr2DYGg9iHEN{CO04~*!U-<#Gqc+gOW2Ilr^nJRF#Pfc&=fW8Bri+yW2$NScHlKMqC zIo>Sew0yHzVEvopLjqF=mJe~B4L%UaH6(qAQ*GE|r%OWp!10905a;=b+0N>bO`WJw z%K~4F>hEL$yL10f+^Gey?lea4;?yU(2!o$Jk9$L8ZaoKr>|9fZ!X2t zd|gzj@gj;9S|5G;x4C>J@W~it6;6eT4JobeJCJ?4F)A;GK~*O=N#}BU$a>?n6>`x4#oHH?Q;3Twm?F{Rj8yJ}_ZG z{E)sqeLeehAJV<&u=pWEeS-$}ALWbgA3sb{DPOO?z55Ou>gztRmoH%;=Nj6R%NQCH z8@MocSBSIIDHiy}IhrQ$*9T`q0=JeO^*a8QX`R1UoX`Bf4RLO+$QIbVvP`J+&+0-> z^qP}_R%_Fz4h-Cw(d*3I^sZBMbDzMB&8fYC6W+_{>blJ+K%a!$&EnBT( zT*}Dbjm0C179S@c%AS)9h`KB zvpFO7MC3`Dxh8qptmI{je0O(_OIo?!m%Lz7^0J-xCNFhX>?!H&Ib87n-mRe1e6P>j z)fv2Zctp~wrFRo|CokLWOJ2A+Y1g>G?Y;B7&Wum{IjQz<2^`#?E7YlTuzj}u^OH6# zx;JBY@T}`L`|gdO>y&+z)7f(HVWFf6E0aH3S|)ks(z_o|^4(jsAbI98kDIi}IrK%F zbk6pqRm+l>eHw^7ble-bdHCH>=it$7fe~N5=1s#39Mj9^Ts~IQ*>NmKXl#tf>36J~ zller9)8Ishz^xNULITCl91aPzIG@wI`uv4ZXW*5zPO5MIajst~;IzCPbvMQmgJR7?=9GnG;W6FMR=R0TKGl|Z>hu;IlR%{#HKmDWka$gO`eoAXHpq%sol=RNx8l2LlfIadFyx= o9?$PRyYRCD-a+XWOycU27p+Mw>GRg|CN3!GP4F&EQ`qbKUle;n9RL6T diff --git a/django/conf/locale/ko/LC_MESSAGES/django.po b/django/conf/locale/ko/LC_MESSAGES/django.po index 983e26f96..f4bc0f4d7 100644 --- a/django/conf/locale/ko/LC_MESSAGES/django.po +++ b/django/conf/locale/ko/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-20 00:51+0900\n" +"POT-Creation-Date: 2010-05-10 12:11+0200\n" "PO-Revision-Date: 2007-04-06 11:04+0900\n" "Last-Translator: Joongi Kim (me@daybreaker.info)\n" "Language-Team: Korean\n" @@ -20,215 +20,255 @@ msgid "Arabic" msgstr "아랍어" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "방글라데시어" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "불가리어" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "방글라데시어" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "보스니아어" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "카탈로니아어" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "체코어" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "웨일즈어" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "덴마크어" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "독일어" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "그리스어" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "영어" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "영어 (영국)" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "스페인어" -#: conf/global_settings.py:55 +#: conf/global_settings.py:57 +msgid "Argentinean Spanish" +msgstr "아르헨티나 스페인어" + +#: conf/global_settings.py:58 msgid "Estonian" msgstr "에스토니아어" -#: conf/global_settings.py:56 -msgid "Argentinean Spanish" -msgstr "아르헨티나_스페인어" - -#: conf/global_settings.py:57 +#: conf/global_settings.py:59 msgid "Basque" msgstr "바스크어" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "페르시아어" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "핀란드어" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "프랑스어" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "프리슬란트어" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "아일랜드어" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "갈리시아어" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "헝가리어" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "히브리어" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" -msgstr "" +msgstr "힌두어" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "크로아티아어" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "헝가리어" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "인도네시아어" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "아이슬란드어" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "이탈리아어" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "일본어" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "조지아어" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "한국어" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "크메르어" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "칸나다어" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "라트비아어" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "한국어" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "리투아니아어" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "라트비아어" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "마케도니아어" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Mongolian" +msgstr "몽고어" + +#: conf/global_settings.py:82 msgid "Dutch" msgstr "네덜란드어" -#: conf/global_settings.py:78 +#: conf/global_settings.py:83 msgid "Norwegian" msgstr "노르웨이어" -#: conf/global_settings.py:79 +#: conf/global_settings.py:84 +msgid "Norwegian Bokmal" +msgstr "노르웨이어 (보크몰)" + +#: conf/global_settings.py:85 +msgid "Norwegian Nynorsk" +msgstr "노르웨이어 (뉘노르스크)" + +#: conf/global_settings.py:86 msgid "Polish" msgstr "폴란드어" -#: conf/global_settings.py:80 +#: conf/global_settings.py:87 msgid "Portuguese" msgstr "포르투갈어" -#: conf/global_settings.py:81 +#: conf/global_settings.py:88 msgid "Brazilian Portuguese" msgstr "브라질 포르투갈어" -#: conf/global_settings.py:82 +#: conf/global_settings.py:89 msgid "Romanian" msgstr "루마니아어" -#: conf/global_settings.py:83 +#: conf/global_settings.py:90 msgid "Russian" msgstr "러시아어" -#: conf/global_settings.py:84 +#: conf/global_settings.py:91 msgid "Slovak" msgstr "슬로바키아어" -#: conf/global_settings.py:85 +#: conf/global_settings.py:92 msgid "Slovenian" msgstr "슬로베니아어" -#: conf/global_settings.py:86 +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "알바니아어" + +#: conf/global_settings.py:94 msgid "Serbian" msgstr "세르비아어" -#: conf/global_settings.py:87 +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "세르비아어" + +#: conf/global_settings.py:96 msgid "Swedish" msgstr "스웨덴어" -#: conf/global_settings.py:88 +#: conf/global_settings.py:97 msgid "Tamil" msgstr "타밀어" -#: conf/global_settings.py:89 +#: conf/global_settings.py:98 msgid "Telugu" msgstr "텔루구어" -#: conf/global_settings.py:90 +#: conf/global_settings.py:99 msgid "Thai" msgstr "태국어" -#: conf/global_settings.py:91 +#: conf/global_settings.py:100 msgid "Turkish" msgstr "터키어" -#: conf/global_settings.py:92 +#: conf/global_settings.py:101 msgid "Ukrainian" msgstr "우크라이나어" -#: conf/global_settings.py:93 +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "베트남어" + +#: conf/global_settings.py:103 msgid "Simplified Chinese" msgstr "중국어 간체" -#: conf/global_settings.py:94 +#: conf/global_settings.py:104 msgid "Traditional Chinese" msgstr "중국어 번체" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "%(count)d개의 %(items)s (을)를 성공적으로 삭제하였습니다." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "확실합니까?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "선택된 %(verbose_name_plural)s (을)를 삭제합니다." @@ -267,19 +307,19 @@ msgstr "이번 달" msgid "This year" msgstr "이번 해" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "예" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "아니오" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "알 수 없습니다." -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "액션:" @@ -311,177 +351,190 @@ msgstr "로그 엔트리" msgid "log entries" msgstr "로그 엔트리" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "없음" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "%s (이)가 변경되었습니다." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:568 msgid "and" msgstr "또한" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "%(name)s \"%(object)s\" (을)를 추가하였습니다." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "%(list)s에 대한 %(name)s \"%(object)s\" (을)를 변경하였습니다." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "%(name)s \"%(object)s\" (을)를 삭제하였습니다." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "변경된 필드가 없습니다." -#: contrib/admin/options.py:599 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" (이)가 추가되었습니다." -#: contrib/admin/options.py:603 contrib/admin/options.py:636 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "계속해서 편집하실 수 있습니다." -#: contrib/admin/options.py:613 contrib/admin/options.py:646 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "계속해서 다른 %s (을)를 추가하세요." -#: contrib/admin/options.py:634 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" (이)가 변경되었습니다." -#: contrib/admin/options.py:642 +#: contrib/admin/options.py:686 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "%(name)s \"%(obj)s\" (이)가 추가되었습니다. 계속해서 편집하세요." -#: contrib/admin/options.py:773 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"항목들에 액션을 적용하기 위해선 먼저 항목들이 선택되어 있어야 합니다. 아무 항" +"목도 변경되지 않았습니다." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "액션이 선택되지 않았습니다." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "%s 추가" -#: contrib/admin/options.py:804 contrib/admin/options.py:1005 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." -msgstr "Primary key %(key)r에 대한 오브젝트 %(name)s가 존재하지 않습니다." +msgstr "Primary key %(key)r에 대한 오브젝트 %(name)s(이)가 존재하지 않습니다." -#: contrib/admin/options.py:861 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "%s 변경" -#: contrib/admin/options.py:905 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "데이터베이스 오류" -#: contrib/admin/options.py:941 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s (이)가 변경되었습니다." -msgstr[1] "%(count)s %(name)s (이)가 변경되었습니다." +msgstr[0] "%(count)s개의 %(name)s(이)가 변경되었습니다." +msgstr[1] "%(count)s개의 %(name)s(이)가 변경되었습니다." -#: contrib/admin/options.py:1020 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "모두 %(total_count)s개가 선택되었습니다." +msgstr[1] "모두 %(total_count)s개가 선택되었습니다." + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s 중 아무것도 선택되지 않았습니다." + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" (이)가 삭제되었습니다." +msgstr "%(name)s \"%(obj)s\"(이)가 삭제되었습니다." -#: contrib/admin/options.py:1057 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "변경 히스토리: %s" -#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." -msgstr "사용자명과 비밀번호를 입력하세요.(대, 소문자 구별)" +msgstr "사용자명과 비밀번호를 입력하세요. (대소문자 구별)" -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "로그인 세션이 끊겼습니다. 다시 로그인 하세요." -#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." msgstr "" -"사용하시는 브라우저가 쿠키 사용을 허가하고 있지 않습니다.쿠키 사용을 체크하시" -"고 다시 시도해 주세요." +"사용하시는 브라우저가 쿠키 사용을 허가하고 있지 않습니다. 쿠키 사용을 체크하" +"시고 다시 시도해 주세요." -#: contrib/admin/sites.py:308 contrib/admin/sites.py:314 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "사용자명에는 '@'을 사용할 수 없습니다." -#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "이메일 주소와 사용자명은 다릅니다. '%s'를 사용하세요." -#: contrib/admin/sites.py:367 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "사이트 관리" -#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "로그인" -#: contrib/admin/sites.py:426 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "%s 사이트 관리" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "%(name)s 에 %(fieldname)s (이)가 하나 이상 있는 %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "%(name)s 에 %(fieldname)s (이)가 하나 이상 있는" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "날짜:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "시각:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "현재:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "변경:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "찾아보기" -#: contrib/admin/widgets.py:235 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "하나 더 추가하기" @@ -496,17 +549,17 @@ msgstr "죄송합니다, 요청하신 페이지를 찾을 수 없습니다." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -532,7 +585,7 @@ 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/actions.html:4 @@ -543,34 +596,47 @@ msgstr "선택한 액션을 실행합니다." msgid "Go" msgstr "실행" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "모든 페이지의 항목들을 선택하려면 여기를 클릭하세요." + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "%(total_count)s개의 %(module_name)s 모두를 선택합니다." + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "선택을 해제합니다." + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:27 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "환영합니다," -#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "문서" -#: contrib/admin/templates/admin/base.html:40 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "비밀번호 변경" -#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "로그아웃" @@ -582,41 +648,42 @@ msgstr "Django 사이트 관리" msgid "Django administration" msgstr "Django 관리" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "추가" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "히스토리" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "사이트에서 보기" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "아래의 오류를 수정해 주세요." msgstr[1] "아래의 오류들을 수정해 주세요." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "%(name)s 추가" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "필터" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "삭제" @@ -637,8 +704,8 @@ 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\" (을)를 삭제하시겠습니까?다음의 " -"관련 아이템들이 모두 삭제됩니다. :" +"정말로 %(object_name)s \"%(escaped_object)s\"(을)를 삭제하시겠습니까? 다음의 " +"관련 항목들이 모두 삭제됩니다. :" #: contrib/admin/templates/admin/delete_confirmation.html:28 #: contrib/admin/templates/admin/delete_selected_confirmation.html:33 @@ -656,17 +723,17 @@ msgid "" "your account doesn't have permission to delete the following types of " "objects:" msgstr "" -"%(object_name)s(을)를 삭제하면서관련 오브젝트를 제거하고자 했으나, 지금 사용" +"%(object_name)s(을)를 삭제하면서 관련 오브젝트를 제거하고자 했으나, 지금 사용" "하시는 계정은 다음 타입의 오브젝트를 제거할 권한이 없습니다. :" #: contrib/admin/templates/admin/delete_selected_confirmation.html:22 #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" -"정말로 %(object_name)s(을)를 삭제하시겠습니까?다음의 관련 아이템들이 모두 삭" -"제됩니다. :" +"정말로 선택된 %(object_name)s(을)를 삭제하시겠습니까? 다음의 항목들과 그 관" +"련 항목들이 모두 삭제됩니다. :" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -709,7 +776,7 @@ msgid "" "the appropriate user." msgstr "" "데이터베이스 설정에 문제가 발생했습니다. 해당 데이터베이스 테이블이 생성되었" -"는지,해당 유저가 데이터베이스를 읽어 들일 수 있는지 확인하세요." +"는지, 해당 유저가 데이터베이스를 읽어 들일 수 있는지 확인하세요." #: contrib/admin/templates/admin/login.html:19 msgid "Username:" @@ -728,15 +795,9 @@ msgid "User" msgstr "사용자" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "액션" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "날짜/시간 형식" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -763,12 +824,12 @@ msgstr "검색" msgid "1 result" msgid_plural "%(counter)s results" msgstr[0] "1건" -msgstr[1] "%(counter)s 건" +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 건" +msgstr "총 %(full_result_count)s건" #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" @@ -782,40 +843,46 @@ msgstr "저장 및 다른 이름으로 추가" msgid "Save and continue editing" msgstr "저장 및 편집 계속" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 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:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "사용자명" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "비밀번호" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "비밀번호 (확인)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "확인을 위해 위와 동일한 비밀번호를 입력하세요. " - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: 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:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "비밀번호" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "비밀번호 (확인)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "확인을 위해 위와 동일한 비밀번호를 입력하세요. " + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "%(verbose_name)s 더 추가하기" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "삭제하기" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "삭제" @@ -829,9 +896,9 @@ msgid "Log in again" 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 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "비밀번호 변경" @@ -844,29 +911,25 @@ msgstr "비밀번호를 변경하였습니다." msgid "Your password was changed." msgstr "비밀번호가 변경되었습니다." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" msgstr "기존 비밀번호:" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "새로운 비밀번호:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "새 비밀번호:" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "새로운 비밀번호(확인):" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "비밀번호 변경" @@ -905,6 +968,14 @@ msgstr "" "새로운 비밀번호를 정확히 입력했는지 확인할 수 있도록두 번 입력하시기 바랍니" "다." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "새로운 비밀번호:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "새로운 비밀번호(확인):" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "비밀번호가 초기화를 실패하였습니다." @@ -970,25 +1041,25 @@ msgstr "이메일 주소:" msgid "Reset my password" msgstr "비밀번호 초기화" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "언제나" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "%s 선택" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "변경할 %s 선택" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "사이트" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "템플릿명" @@ -1048,89 +1119,7 @@ msgstr "%s 의 수" msgid "Fields on %s objects" msgstr "%s 오브젝트의 필드" -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 -#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 -#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 -msgid "Integer" -msgstr "정수" - -#: contrib/admindocs/views.py:335 -msgid "Boolean (Either True or False)" -msgstr "boolean(참 또는 거짓)" - -#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "문자열(%(max_length)s 글자까지)" - -#: contrib/admindocs/views.py:337 -msgid "Comma-separated integers" -msgstr "정수(콤마로 구분)" - -#: contrib/admindocs/views.py:338 -msgid "Date (without time)" -msgstr "날짜(시간 제외)" - -#: contrib/admindocs/views.py:339 -msgid "Date (with time)" -msgstr "날짜(시간 포함)" - -#: contrib/admindocs/views.py:340 -msgid "Decimal number" -msgstr "10진수" - -#: contrib/admindocs/views.py:341 -msgid "E-mail address" -msgstr "이메일 주소" - -#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 -#: contrib/admindocs/views.py:346 -msgid "File path" -msgstr "파일 경로" - -#: contrib/admindocs/views.py:344 -msgid "Floating point number" -msgstr "부동소수점 숫자" - -#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 -msgid "IP address" -msgstr "IP 주소" - -#: contrib/admindocs/views.py:350 -msgid "Boolean (Either True, False or None)" -msgstr "boolean (참, 거짓 또는 none)" - -#: contrib/admindocs/views.py:351 -msgid "Relation to parent model" -msgstr "부모(상위) 모델과 연계" - -#: contrib/admindocs/views.py:352 -msgid "Phone number" -msgstr "전화번호" - -#: contrib/admindocs/views.py:357 -msgid "Text" -msgstr "텍스트" - -#: contrib/admindocs/views.py:358 -msgid "Time" -msgstr "시각" - -#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:360 -msgid "U.S. state (two uppercase letters)" -msgstr "미국의 주 (두개의 대문자로)" - #: contrib/admindocs/views.py:361 -msgid "XML text" -msgstr "XML 텍스트" - -#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s (은)는 url 패턴의 오브젝트가 아닙니다." @@ -1199,64 +1188,62 @@ msgstr "오브젝트 편집(새로운 창)" msgid "As above, but opens the admin page in a new window." msgstr "위와 동일하며, 새로운 창에서 관리 페이지를 엽니다." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "개인정보" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "권한" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "중요한 일정" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "그룹" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "사용자 추가" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "비밀번호가 변경되었습니다." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "비밀번호 변경: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "필수항목입니다. 30자 이내로 입력하세요.(알파벳, 숫자, '_' 만 가능)" +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "사용자명" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "문자, 숫자, '_'만 가능합니다." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"필수항목입니다. 30자 이내로 입력하세요. (알파벳, 숫자, @/./+/-/_만 가능)" + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "알파벳, 숫자 및 @/./+/-/_만 가능합니다." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "비밀번호 확인" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "해당 사용자명은 이미 존재합니다." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "비밀번호가 일치하지 않습니다." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "이 계정은 유효하지 않습니다." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1264,102 +1251,100 @@ msgstr "" "사용하시는 브라우저가 쿠키를 허용하지 않습니다.로그인하기 위해서는 쿠키 사용" "이 필요합니다." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "이메일 주소" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" msgstr "" "이메일주소와 일치하는 사용자가 없습니다.이 이메일주소로 등록하셨습니까?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "%s에 대한 비밀번호 초기화" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "새 비밀번호:" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "새 비밀번호 확인:" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "기존 비밀번호:" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "기존 비밀번호를 잘못 입력하셨습니다. 다시 입력해 주세요." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "이름" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "코드명" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "허가" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "허가" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "그룹" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "그룹" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "사용자명" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"필수항목입니다. 30자 이내로 입력하세요. (알파벳, 숫자, @/./+/-/_만 가능)" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "이름" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "성" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "이메일 주소" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "비밀번호" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." msgstr "" "'[algo]$[salt]$[hexdigest]' 또는 비밀번호 변경" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "스태프 권한" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "사용자가 관리사이트에 로그인이 가능한지를 나타냅니다." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "활성" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1367,62 +1352,100 @@ msgstr "" "사용자가 'Django 관리'에 로그인이 가능한지를 나타냅니다.계정을 삭제하는 대신 " "이것을 선택 해제하세요." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "최상위 사용자 권한" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "해당 사용자에게 모든 권한을 허가합니다." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "마지막 로그인" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "등록일" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 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:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "사용자 권한" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "사용자" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "사용자(들)" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "메시지" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "로그 아웃" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "올바른 이메일 주소를 입력하세요." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "내용" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" -msgstr "" +msgstr "메타데이터" + +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "플래그되었습니다" +msgstr[1] "플래그되었습니다" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "선택된 코멘트에 플래그 달기" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "승인되었습니다" +msgstr[1] "승인되었습니다" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "선택된 코멘트 승인하기" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "삭제되었습니다" +msgstr[1] "삭제되었습니다" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "선택된 코멘트 삭제" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1개의 코멘트가 성공적으로 %(action)s." +msgstr[1] "%(count)s개의 코멘트가 성공적으로 %(action)s." #: contrib/comments/feeds.py:13 #, python-format @@ -1435,7 +1458,6 @@ msgid "Latest comments on %(site_name)s" msgstr "%(site_name)s 의 사용자 비밀번호가 초기화 되었습니다." #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "이름" @@ -1443,24 +1465,28 @@ msgstr "이름" msgid "Email address" msgstr "이메일 주소" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "코멘트:" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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 (은)는 사용하실 수 없습니다." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "이 필드에 무엇이라도 입력하면 코멘트는 스팸으로 처리될 것입니다." -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "콘텐츠 타입" @@ -1489,6 +1515,10 @@ msgstr "코멘트" msgid "date/time submitted" msgstr "날짜/시간 확인" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP 주소" + #: contrib/comments/models.py:61 msgid "is public" msgstr "공개합니다." @@ -1566,7 +1596,6 @@ msgid "Really make this comment public?" msgstr "정말로 이 코멘트를 공개하시겠습니까?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "승인" @@ -1589,11 +1618,6 @@ msgstr "코멘트 삭제" msgid "Really remove this comment?" msgstr "정말로 이 코멘트를 삭제하시겠습니까?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "삭제합니다." - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "삭제해주셔서 고맙습니다." @@ -1624,39 +1648,6 @@ msgstr "작성하기" msgid "Preview" msgstr "미리보기" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "코멘트 관리 큐" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "관리할 코멘트가 없습니다." - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "이메일" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "로그인 여부" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "IP 주소" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "등록일" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "예" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "아니오" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "코멘트 작성 완료" @@ -1684,11 +1675,11 @@ msgstr "코멘트 작성하기" msgid "or make changes" msgstr "또는 변경하기" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "python 모델 클래스 명" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "콘텐츠 타입(들)" @@ -1747,11 +1738,45 @@ msgstr "플랫 페이지" msgid "flat pages" msgstr "플랫 페이지(들)" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." msgstr "" +"죄송합니다. 입력하신 양식이 더 이상 유효하지 않습니다. 이 페이지부터 다시 양" +"식을 채워주세요." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "기본 GIS 필드. OpenGIS Specification의 Geometry type으로 매핑됩니다." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "" #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." @@ -1791,22 +1816,22 @@ msgstr "번째" #, python-format msgid "%(value).1f million" msgid_plural "%(value).1f million" -msgstr[0] "(value).1f" -msgstr[1] "(value).1f" +msgstr[0] "(value).1f백만" +msgstr[1] "(value).1f백만" #: contrib/humanize/templatetags/humanize.py:54 #, python-format msgid "%(value).1f billion" msgid_plural "%(value).1f billion" -msgstr[0] "%(value).1f" -msgstr[1] "%(value).1f" +msgstr[0] "%(value).1f십억" +msgstr[1] "%(value).1f십억" #: contrib/humanize/templatetags/humanize.py:57 #, python-format msgid "%(value).1f trillion" msgid_plural "%(value).1f trillion" -msgstr[0] "%(value).1f" -msgstr[1] "%(value).1f" +msgstr[0] "%(value).1f조" +msgstr[1] "%(value).1f조" #: contrib/humanize/templatetags/humanize.py:73 msgid "one" @@ -1856,25 +1881,25 @@ msgstr "내일" msgid "yesterday" msgstr "어제" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "우편번호를 입력하세요.(NNNN 또는 ANNNNAAA)" -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "숫자만 입력해야 합니다." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "7개 또는 8개의 숫자만 허용됩니다." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "CUIT를 입력하세요.(XX-XXXXXXXX-X 또는 XXXXXXXXXXXX 형식)" -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "부적절한 CUIT" @@ -1914,8 +1939,8 @@ msgstr "폴라를베르크 주" msgid "Vienna" msgstr "빈" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "우편번호를 입력하세요. (XXXX 형식)" @@ -1923,45 +1948,45 @@ msgstr "우편번호를 입력하세요. (XXXX 형식)" msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." msgstr "올바른 오스트리아 사회보장번호(XXXX XXXXX 형식)를 입력하세요." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "4자리 숫자 우편번호를 입력하세요." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "우편번호는 XXXXX-XXX 형식으로 입력하세요." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "전화번호는 XX-XXXX-XXXX 형식으로 입력하세요." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "올바르게 선택해 주세요. 선택하신 것이 선택가능항목에 없습니다." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "CPF 값이 올바르지 않습니다." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "최대 11자 또는 14자 이하로 입력해 주세요." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "올바른 CNPJ 번호를 입력하세요." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "이 항목은 최소한 14개의 숫자를 입력해야 합니다." -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "우편번호를 입력하세요.(XXX XXX 형식)" -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "올바른 캐나다 사회보장번호(XXX-XXX-XXX 형식)를 입력하세요." @@ -2069,7 +2094,7 @@ msgstr "추크 주" msgid "Zurich" msgstr "취리히" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2077,15 +2102,15 @@ msgstr "" "올바른 스위스 주민번호 또는 여권 번호를 입력하세요. (X1234567<0 또는 " "1234567890 형식)" -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "올바른 칠레 RUT를 입력하세요." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "올바른 칠레 RUT 번호 XX.XXX.XXX-X 형식으로 입력하세요." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "칠레 RUT 값이 올바르지 않습니다." @@ -2145,23 +2170,23 @@ msgstr "즐린 주" msgid "Moravian-Silesian Region" msgstr "모라바슬레스코주" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "우편번호를 입력하세요. (XXXXX 또는 XXX XX 형식)" -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "생년월일을 입력하세요. (XXXXXX/XXXX 또는 XXXXXXXXXX 형식)" -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "성별은 'f' 또는 'm'으로 입력해야 합니다." -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "올바른 생년월일을 입력하세요." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "올바른 IC 번호를 입력하세요." @@ -2229,12 +2254,12 @@ msgstr "슐레스비히-홀슈타인 주" msgid "Thuringia" msgstr "튀링겐 자유주" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "우편번호를 입력하세요. (XXXXX 형식)" -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2507,72 +2532,504 @@ msgstr "나바라 지방" msgid "Valencian Community" msgstr "발렌시아 지방" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "우편번호를 입력하세요. (01XXX - 52XXX 형식)" -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." msgstr "" "올바른 전화번호를 입력하세요. (6XXXXXXXX, 8XXXXXXXX 또는 9XXXXXXXX 형식)" -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "올바른 NIF, NIE 또는 CIF를 입력하세요." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "올바른 NIF 또는 NIE를 입력하세요." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "NIF의 체크섬이 틀립니다." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "NIE의 체크섬이 틀립니다." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "CIF의 체크섬이 틀립니다." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "올바른 계좌번호를 입력하세요. (XXXX-XXXX-XX-XXXXXXXXXX 형식)" -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "계좌번호의 체크섬이 틀립니다." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "올바른 핀란드 사회보장 번호를 입력하세요." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "전화번호는 0X XX XX XX XX 형식이어야 합니다." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "올바른 우편번호를 입력하세요." + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "올바른 전화번호를 입력하세요." + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "올바른 차량 등록 번호를 입력하세요." + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "올바른 NIK/KTP 번호를 입력하세요." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "우편번호는 XXXXXXX 형식으로 입력하세요." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "올바른 아이슬란드 주민번호를 입력하세요. (XXXXXX-XXXX 형식)" -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "아이슬란드 주민번호가 올바르지 않습니다." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "올바른 우편번호를 입력하세요." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "올바른 사회보장번호를 입력하세요." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "올바른 VAT 번호를 입력하세요." @@ -2768,6 +3225,10 @@ msgstr "가고시마 현" msgid "Okinawa" msgstr "오키나와 현" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "올바른 쿠웨이트 주민번호를 입력하세요." + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "아과스칼리엔테스 주" @@ -2896,15 +3357,11 @@ msgstr "유카탄 주" msgid "Zacatecas" msgstr "사카테카스 주" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "올바른 우편번호를 입력하세요." -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "올바른 전화번호를 입력하세요." - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "올바른 SoFi 번호를 입력하세요." @@ -2956,15 +3413,15 @@ msgstr "제일란트 주" msgid "Zuid-Holland" msgstr "자위트홀란트 주" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "올바른 노르웨이 사회보장번호를 입력해 주세요." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "이 항목은 8자리 숫자로 필요합니다." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "이 항목은 11자리 숫자가 필요합니다." @@ -3062,6 +3519,14 @@ msgstr "Greater Poland" msgid "West Pomerania" msgstr "West Pomerania" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "우편번호는 XXXXX-XXX 형식으로 입력하세요." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "전화번호는 9자리 숫자이거나 + 또는 00으로 시작해야 합니다." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "올바른 CIF를 입력하세요." @@ -3082,6 +3547,106 @@ msgstr "전화번호는 XXXX-XXXXXX 형식이어야 합니다." msgid "Enter a valid postal code in the format XXXXXX" msgstr "올바른 우편번호를 입력하세요. (XXXXXX 형식)" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "올바른 스웨덴 기관 번호를 입력하세요." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "올바른 스웨덴 주민번호를 입력하세요." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "올바른 스웨덴 우편번호를 입력하세요. (XXXXX 형식)" + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banska Bystrica" @@ -3714,19 +4279,44 @@ msgstr "스코틀랜드 주" msgid "Wales" msgstr "웨일즈 주" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "우편번호를 입력하세요. (XXXXX 또는 XXXXX-XXXX 형식)" -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "전화번호는 XX-XXXX-XXXX 형식으로 입력하세요." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "올바른 미국 사회보장번호를 입력하세요. (XXX-XX-XXXX 형식)" -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "미국의 주 (두개의 대문자로)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "전화번호" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" +"올바른 CI 번호를 입력하세요. (X.XXX.XXX-X, XXXXXXX-X 또는 XXXXXXXX 형식)" + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "올바른 CI 번호를 입력하세요." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "올바른 남아프리카 주민번호를 입력하세요." -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "올바른 남아프리카 우편번호를 입력하세요." @@ -3766,6 +4356,10 @@ msgstr "노스웨스트 주" msgid "Western Cape" msgstr "웨스턴케이프 주" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "늦게 번역되는(lazy) 메시지" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "에서 재전송" @@ -3826,59 +4420,221 @@ msgstr "표시명" msgid "sites" msgstr "사이트(들)" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "정수 값을 사용하세요." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "올바른 값을 입력하세요." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "True 또는 False 값을 사용하세요." +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "올바른 URL을 입력하세요." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "이 필드는 null 값은 사용할 수 없습니다. " +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "해당 URL의 링크가 잘못 되어 있습니다." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "문자, 숫자, '_', '-'만 가능합니다." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "올바른 IPv4 주소를 입력하세요." + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "콤마로 구분된 숫자만 입력하세요." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"%(limit_value)s 안의 값을 입력해 주세요. (입력하신 값은 %(show_value)s입니" +"다.)" + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "%(limit_value)s 이하의 값을 입력해 주세요." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "%(limit_value)s 이상의 값을 입력해 주세요." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"%(limit_value)d글자 이상 입력해 주세요. (입력하신 내용은 %(show_value)d글자입" +"니다.)" + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"%(limit_value)d글자 이하로 입력해 주세요. (입력하신 내용은 %(show_value)d글자" +"입니다)" + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" +"%(field_name)s(은)는 반드시 %(date_field)s %(lookup)s에 대해 유일해야 합니다." + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s의 %(field_label)s(은)는 이미 존재합니다." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "%r은 올바른 선택사항이 아닙니다." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "이 필드는 null 값은 사용할 수 없습니다. " + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "이 필드는 null 값은 사용할 수 없습니다. " + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "%(field_type)s 형식 필드" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "정수" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "정수 값을 사용하세요." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "True 또는 False 값을 사용하세요." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "boolean(참 또는 거짓)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "문자열(%(max_length)s 글자까지)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "정수(콤마로 구분)" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "날짜(시간 제외)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "날짜는 YYYY-MM-DD 형식으로 입력하세요." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "날짜가 부적절합니다.: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "날짜/시각을 YYYY-MM-DD HH:MM[:ss[.uuuuuu]] 형식으로 입력하세요." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "날짜(시간 포함)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "십진수 실수(decimal) 값을 사용하세요." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "10진수" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "이메일 주소" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "파일 경로" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "부동소수점 실수(float) 값을 사용해 주세요." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "부동소수점 숫자" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "큰 정수 (8 byte)" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "None, True 또는 False 값을 사용하세요." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "boolean (참, 거짓 또는 none)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "텍스트" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "시각" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "시각은 HH:MM[:ss[.uuuuuu]] 형식으로 입력하세요." -#: db/models/fields/related.py:816 +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML 텍스트" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Primary key %(pk)r에 대한 모델 %(model)s가 존재하지 않습니다." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "외래 키 (연관 필드에 의해 형식 결정)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "일대일 관계" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "다대다 관계" + +#: db/models/fields/related.py:1000 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "복수 선택 시에는 \"Control\" 키를 누른 상태에서 선택해 주세요.(Mac은 " "\"Command\" 키)" -#: db/models/fields/related.py:894 +#: db/models/fields/related.py:1061 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3888,84 +4644,58 @@ msgstr[0] "" msgstr[1] "" "올바른 %(self)s ID를 입력해 주세요. %(value)r (은)는 적절치 않습니다." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "필수 항목입니다." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "올바른 값을 입력하세요." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"%(max)d 글자 이하로 입력해 주세요. (입력하신 내용은 %(length)d 자입니다)" - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"%(min)d 글자 이상 입력해 주세요. (입력하신 내용은 %(length)d 자입니다.)" - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "정수를 입력하세요." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "%s 이하의 값을 입력해 주세요." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "%s 이상의 값을 입력해 주세요." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "숫자를 입력하세요." -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "전체 자릿수가 %s 개를 넘지 않도록 해주세요." -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "전체 유효자리 개수가 %s 개를 넘지 않도록 해주세요." -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "소숫점 앞의 자릿수가 %s 개를 넘지 않도록 해주세요." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "올바른 날짜를 입력하세요." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "올바른 시각을 입력하세요." -#: forms/fields.py:361 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "올바른 날짜/시각을 입력하세요." -#: forms/fields.py:447 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "등록된 파일이 없습니다. 인코딩 형식을 확인하세요." -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "파일이 전송되지 않았습니다." -#: forms/fields.py:449 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "입력하신 파일은 빈 파일입니다." -#: forms/fields.py:450 +#: forms/fields.py:438 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." @@ -3973,7 +4703,7 @@ msgstr "" "파일 이름은 %(max)d 글자 이하로 입력해 주세요. (입력하신 내용은 %(length)d 자" "입니다)" -#: forms/fields.py:483 +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -3981,59 +4711,30 @@ msgstr "" "올바른 이미지를 업로드하세요. 업로드하신 파일은 이미지 파일이 아니거나 파일" "이 깨져 있습니다." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "올바른 URL을 입력하세요." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "해당 URL의 링크가 잘못 되어 있습니다." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "올바르게 선택해 주세요. %(value)s (이)가 선택가능항목에 없습니다." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 msgid "Enter a list of values." msgstr "리스트를 입력하세요." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "올바른 IPv4 주소를 입력하세요." - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "문자, 숫자, '_', '-'만 가능합니다." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "순서:" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "" -"%(field_name)s (은)는 반드시 %(date_field)s %(lookup)s 에 대해 유일해야 합니" -"다." - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s의 %(field_label)s (은)는 이미 존재합니다." - -#: forms/models.py:594 +#: forms/models.py:562 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "%(field)s의 중복된 데이터를 고쳐주세요." -#: forms/models.py:598 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "%(field)s의 중복된 데이터를 고쳐주세요. 유일한 값이어야 합니다." -#: forms/models.py:604 +#: forms/models.py:572 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " @@ -4042,53 +4743,53 @@ msgstr "" "%(field_name)s의 값은 %(date_field)s의 %(lookup)s에 대해 유일해야 합니다. 중" "복된 데이터를 고쳐주세요." -#: forms/models.py:612 +#: forms/models.py:580 msgid "Please correct the duplicate values below." msgstr "아래의 중복된 값들을 고쳐주세요." -#: forms/models.py:867 +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "부모 오브젝트의 primary key와 inline foreign key가 맞지 않습니다." -#: forms/models.py:930 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "올바르게 선택해 주세요. 선택하신 것이 선택가능항목에 없습니다." -#: forms/models.py:1004 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "올바르게 선택해 주세요. %s (이)가 선택가능항목에 없습니다." -#: forms/models.py:1006 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\"은 primary key로 적합하지 않습니다." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "예,아니오,아마도" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d 바이트" msgstr[1] "%(size)d 바이트" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4294,7 +4995,7 @@ msgstr "11월" msgid "Dec." msgstr "12월" -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "또는" @@ -4348,33 +5049,76 @@ msgstr "%(number)d%(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d%(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" -msgstr "날짜 형식" +msgstr "Y년 n월 j일" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "Y년 n월 j일 H:i:s" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" -msgstr "시간 형식" +msgstr "H:i:s" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" -msgstr "년도/월 형식" +msgstr "Y년 n월" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" -msgstr "월/일 형식" +msgstr "n월 j일" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." -msgstr "%(verbose_name)s (이)가 생성되었습니다." +msgstr "%(verbose_name)s(이)가 생성되었습니다." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." -msgstr "%(verbose_name)s (이)가 수정되었습니다." +msgstr "%(verbose_name)s(이)가 수정되었습니다." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." -msgstr "%(verbose_name)s (이)가 삭제되었습니다." +msgstr "%(verbose_name)s(이)가 삭제되었습니다." + +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "%(name)s 에 %(fieldname)s (이)가 하나 이상 있는 %(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "%(name)s 에 %(fieldname)s (이)가 하나 이상 있는" + +#~ msgid "Old password:" +#~ msgstr "기존 비밀번호:" + +#~ msgid "Relation to parent model" +#~ msgstr "부모(상위) 모델과 연계" + +#~ msgid "Add user" +#~ msgstr "사용자 추가" + +#~ msgid "Comment moderation queue" +#~ msgstr "코멘트 관리 큐" + +#~ msgid "No comments to moderate" +#~ msgstr "관리할 코멘트가 없습니다." + +#~ msgid "Email" +#~ msgstr "이메일" + +#~ msgid "Authenticated?" +#~ msgstr "로그인 여부" + +#~ msgid "IP Address" +#~ msgstr "IP 주소" + +#~ msgid "Date posted" +#~ msgstr "등록일" + +#~ msgid "yes" +#~ msgstr "예" + +#~ msgid "no" +#~ msgstr "아니오" diff --git a/django/conf/locale/ko/LC_MESSAGES/djangojs.mo b/django/conf/locale/ko/LC_MESSAGES/djangojs.mo index 9a43c98456dabad3a0997066f2d11fd2429801ea..e9158fc10d224c66f848728b954cd28f64b7004d 100644 GIT binary patch delta 1443 zcmaiw&u~hX6^VR5_T~AP$DAclZZD;=locXI60F!j13P6E|rQtaj!zGjHbm zzVA(MxV16$_>=a$hOYx-E5<8~9T@jRnDCumrD-36I@kvGgBw5#TmvRm{5<#(_7}l* z-~_l9yso$aet`XLupO*{KWbV^`v(gtv>EC$K%h*t1Cva=3zWhUkih+*y!SJ>4>Uk2 zTmq%e4NxXt04KrQ;28Kl9u0v{!Ov0LPk6K*`L$n=MJCE%+6exp_BRy&0;PeQihqN$ z0}s^xA&6glhDj!V0qzH1tMh%UoACpRhZK*29mjC-Bo?26Ln?3u{1*GX+CNf!qWByf zMf@dL0MDUpS?QLwxyexXrY%@5|2ARsY3_OGn@~rkbJeL(>Xeh9e*FxiII~#HV+QFq z=`qiA?A=%zlvEe&ogNM92E$>JV*R?^$KvGJWZH&##xxSTMZG4ojCh!!xzlAduvaza{sn?yF7F0zfxySc!)A|F7AbM7ut?|+!g7J?CtD|P}iRB$X8!R_T(P7 zeZB3dd@MxD)70DBqJQD^=m&5tCzKZKb19f$HTycy6YVtRWoa z3t}z}57~NU`aM>T_wd;o@r=)Bt9%}nG!*z~fzOwB<85lGjv!xzs|@kWsB>fnCWCxc z zfS^HwrkYw>+aiLN8f$522>L$qF1_&H=bqnt_dL8e(N4Ja8u48yR*XHyeqkrrmlh9} zwv`HC3i~jPVa#DauAB2s9HcH_5KB0K2gWA)soUtoGu%?DrOtVgMjz(j3uVwZ%HSWA z#u7R(gwkLJ(>RCH*hT4ch%&f|2`2z989z~O`fKVS zQ=~x*WxxdHanj^vW6gMMJi$@EJH>JAnEVb`BzQ1Ei0(2VVvGm8M=Lu*@^AG5FK#be zs=H$sEN|PtI;=BEy^x&Mj@H@v)RfM6*Z!Qd);Ov<8x?11&&idG^?IXBuvl`7mHp}6 Lnw#$i1Mk)!ggZCI diff --git a/django/conf/locale/ko/LC_MESSAGES/djangojs.po b/django/conf/locale/ko/LC_MESSAGES/djangojs.po index c68e1d022..a497f1d19 100644 --- a/django/conf/locale/ko/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/ko/LC_MESSAGES/djangojs.po @@ -7,44 +7,80 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-20 00:51+0900\n" +"POT-Creation-Date: 2010-05-10 12:07+0200\n" "PO-Revision-Date: 2007-04-06 11:15+0900\n" -"Last-Translator: Hyun Mi Ae \n" +"Last-Translator: Joongi Kim (me@daybreaker.info)\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/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "이용 가능한 %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "모두 선택" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "추가" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "삭제" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "선택된 %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "선택한 후 클릭하세요" -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "모두 삭제" +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"개별 편집 가능한 필드에 저장되지 않은 값이 있습니다. 액션을 수행하면 저장되" +"지 않은 값들을 잃어버리게 됩니다." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"개별 필드의 값들을 저장하지 않고 액션을 선택했습니다. OK를 누르면 저장되며, " +"액션을 한 번 더 실행해야 합니다." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"개별 필드에 아무런 변경이 없는 상태로 액션을 선택했습니다. 저장 버튼이 아니" +"라 진행 버튼을 찾아보세요." + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -56,62 +92,63 @@ msgstr "1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월" msgid "S M T W T F S" msgstr "일 월 화 수 목 금 토" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "보기" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "감추기" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "일요일 월요일 화요일 수요일 목요일 금요일 토요일" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "보기" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "감추기" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "현재" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "시계" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "시간 선택" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "자정" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "오전 6시" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "정오" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "취소" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "오늘" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "달력" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "어제" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "내일" diff --git a/django/conf/locale/ko/__init__.py b/django/conf/locale/ko/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/ko/formats.py b/django/conf/locale/ko/formats.py new file mode 100644 index 000000000..7b0011c6e --- /dev/null +++ b/django/conf/locale/ko/formats.py @@ -0,0 +1,44 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'Y년 n월 j일' +TIME_FORMAT = 'A g:i:s' +DATETIME_FORMAT = 'Y년 n월 j일 g:i:s A' +YEAR_MONTH_FORMAT = 'Y년 F월' +MONTH_DAY_FORMAT = 'F월 j일' +SHORT_DATE_FORMAT = 'Y-n-j.' +SHORT_DATETIME_FORMAT = 'Y-n-j H:i' +# FIRST_DAY_OF_WEEK = +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' + # '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' + # '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' + # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' + '%Y년 %m월 %d일', # '2006년 10월 25일', with localized suffix. +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' + '%H시 %M분 %S초', # '14시 30분 59초' + '%H시 %M분', # '14시 30분' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' + '%m/%d/%Y %H:%M', # '10/25/2006 14:30' + '%m/%d/%Y', # '10/25/2006' + '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' + '%m/%d/%y %H:%M', # '10/25/06 14:30' + '%m/%d/%y', # '10/25/06' + + '%Y년 %m월 %d일 %H시 %M분 %S초', # '2006년 10월 25일 14시 30분 59초' + '%Y년 %m월 %d일 %H시 %M분', # '2006년 10월 25일 14시 30분' +) + +DECIMAL_SEPARATOR = '.' +THOUSAND_SEPARATOR = ',' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/lt/LC_MESSAGES/django.mo b/django/conf/locale/lt/LC_MESSAGES/django.mo index 3d428274b1d74eb528baa9d78759f4c0b2e6722b..576dab4fd16dc55c821454f085300bd0c0dfd51b 100644 GIT binary patch delta 8708 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 P;h(==RCcwn^r`;=LFBge diff --git a/django/conf/locale/lt/LC_MESSAGES/django.po b/django/conf/locale/lt/LC_MESSAGES/django.po index d855d87dd..5edc6837a 100644 --- a/django/conf/locale/lt/LC_MESSAGES/django.po +++ b/django/conf/locale/lt/LC_MESSAGES/django.po @@ -2853,16 +2853,16 @@ msgstr[1] "%(size)d baitai" #: template/defaultfilters.py:522 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" #: template/defaultfilters.py:524 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" #: template/defaultfilters.py:525 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" diff --git a/django/conf/locale/lt/__init__.py b/django/conf/locale/lt/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/lt/formats.py b/django/conf/locale/lt/formats.py new file mode 100644 index 000000000..0b2cc785d --- /dev/null +++ b/django/conf/locale/lt/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = r'Y \m. F j \d.' +TIME_FORMAT = 'H:i:s' +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +# MONTH_DAY_FORMAT = +SHORT_DATE_FORMAT = 'Y.m.d' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +# NUMBER_GROUPING = diff --git a/django/conf/locale/lv/LC_MESSAGES/django.mo b/django/conf/locale/lv/LC_MESSAGES/django.mo index 74c8b3411b45fffa16a5b36b40c0e9a8fd85159d..8d27fcfdf115cc58af2a1e1e55d2524aebf4d057 100644 GIT binary patch literal 58793 zcmc${34B~t-T!}Or$yN}*)E0B1e&yEr*t87P1o3@g@RaaGB?RIlbJAgCT+q4S`ZKf z6^jb;h?GUtqM#_?0wSa+q9}@p!VgdsLB$PRA0GX`Kj)l#=gwqO%JV$0*MD9;`P{Sb z-}61+^F61}?zO{5JbwSRo#!14zP3N#+k4)3r^waw?w##<*Sy8^z5?!xeOZg=O$IaI zS>V;+4Dfg0L15$Qo_8`h58MU3(Ah5o_s0GJxF7fgsQi8lo&fGL$MYtEvmADVjo3c` z?g-xN@P3CQ;GVdD2UK~U0adV3%fSn9UkSb+{1Nz8aLoeS-u>Wl*f)U6@5|s0 z;QioE;6tF&{|>kp_ybVoc>z?o*Fe?dAE3f-ztHpE295)F1`l+2I4J){Q0Ywt_W@6I z{)<7iXFGT(crJJ(_-^Na3#j(J9aOw~L8bRSQ29Rrjsu?smHx}%F5n+PmFMrE!tLB@ zaZhk}><59W&oQ9J%M4KEUIy+8t^yhI-npRiTkqW84XQmZcle*6(z^rHIQ|BxbbbUL z13nF^{5vnA@4>x6mG6C^;$00+12=)n=SScH;Lkv%^D3zF{g<=9b+L8d7gRqS0xG=; z&ixp09QNZtwZ|+_`OF2!gB_sqITuv>^nhxIK~Uwt4BQpG9#s5WLFKa3kbhJAEIV1pXRSxp!Y;`*VNr^Vm-WuLFMtwt??n>UpPtKLA5;+%lWr0I2yo2&&#! zf*Q9sfNuwH2Src51uFj+K$Y`1&i+U6ZP@4ybfify#FPYyhtW z_XfWVvc!0gfCqr%&$9h|B&d3w4$?&4IpF@_7r+C-N5E$A1@JU*ud}UxJ2(w{AE@*{ z0qz5S0aSS(29?gAzIkW*d8C3Xo zQ1k0DkSXMS2eEtb4{T4n2Kp+48L8WstxC3~av(E#S&QehQxC&IecY+Gn4=Vj4xEnYG zDxFI~h5G;)f!Bcw_ttJ3ZXZzXemJP`Q$V%vNuc5_1a|`49i9cMe*$nv@O*H4a094$ zb_u9*-VAD<+zuWGJ`Fa3yZ6}eGr^s(w}8rjA*gw_3RL}ioqq{bInH43@V@b;C5gKsBw1&C_2*z?gw57o(g^hJP3RoR6ehO zZv+1fDxJ4vE$$8~-XWmc?Raoka2}|5%fVg14rf0HRQWm`t_9U!MNs4T-Jsg_V-7z7 zD*Vl$%Dov>IX(|6-TNFq3@ZQcgPL#8gKr1_2p$TKUu)^t(V*g=1}eYhpz7HJiauTp zs=cmt?q39V#r_zmetF8_FF}>-kD%J)@1W|jQ=eU@_6D1<&vAGjI2rpV!4tvnf{M3& z&hig?f>W`d2^PT1!K1-{fV03O`zbTn1!^AO0{Y7$_L>o1)9i=gWD2T-;1IYByb4r3o&nXL6H0cS2tf7oXF!enCqTvj8L0Gr2`b;; zfoivZg1dqHm2EkW02S^;hqFMHYrezfpxXINQ03?W75;8e^|&8YIUfgA&tHMc|99XW z;9o(N>r;bv{@e~K{)3>xeFqfXdjeGaKZA|nKR~tf5$mk`B!|tQ;-3JjeP@D7zZFz^ z%R!~H8dSfW>o5d0pVxx>fR}*#f*%J}{yQCxfNI~TK#iCE*V}kqAS{)4A=nH)4a$Gq zkezp{99{EF`@^=r%fV^5_k;7nPlD>-7eSiLn|!|Ib8iACV*dts zDflaA&;5rTXCDSv;(j~$4sbh|gf_4PJP5oMd^`9}aDVU_Q1t9Ia00mZg|<8=f=6NR z08awX2UYI7K+WSHgJ*)zgJ*!JyxW%hYVb(xPl3wszrjPn1K(roe=^vBy$96z`4Fgn zdJa_oz6`2AUjgO*7f|Ex-=O+&mkqWbcL&wa`#5~NLmyPQqd@gz6R31sK&3m+;ZjiX zSAwed*`UH*2rA!;z*g`|Q1PAwcL$#ZSA)NI?h7xn?a&5le0>H~c|Q*-oqNDzz;A-4 zUZBeN7f|6|2i2ZCUhH{?fqQ^*p9(76DWLpM12s<h7#~(n&dlghT?{b^}Zs3ks4+1sL z4hQ8w4OG0Dpz>`2)&8xZ^6PN88dSV@fxCivP~p~tM}ZfE3jbM9`P>1joxThz+}FWf z!EZVHR0(Zs#RnYVcsPc}x!n*GVD!%XVNKoZ(0M#B-LACoS&V3=M z^0a|U?+j4o&4Am1S!d5VJP%a*gP_6>gDTHu4zC7Pp6fw{yUpQdQ0d(Ps=dAlDxU{I zmFrvJIPeFc;y(?FPW~EHynllVx83_~zmEqM?m$raPXx7&OaZ5W^FZZO233wrK()i= zpvrwUI3BzKRJxx9)jxNED%V$>{eDpKM?jV1+o0k<3X0!(3RL))L8bG1P~-A%pu+EX zrCpbH0hRtK4re=@2P)oTQ2BI#O7Bci>7N6R1M{HP%OP+)_yJJyJ`O6~n;m`zRQNj_ zeihse`xa2`^g~eX@CbT7 zzvAo<&IN;Otox_H2DxbSRjr*^G2Y`=&;y-=?D*d-y zXX`&6+#mY^pwgS_@Dxz(c{-?eSmxYUf||$g0?j-CmEI7j{<;`c|6J?rp8*x_eus~M z2Vs8#RJ=ce%J-k(zToyBw|F3^c9{Zd+|2@&&O5+k!FM|U4}$N-egmlVj=0{gZ%yEd z*k^+({~)OTy#Q1?H-Ree=bZn8pxW&bQ0@6RsB-tG_LD%3w?&}xIRjLGuK|^A22{K}sPb+A4+P%_9s}M4D&AwD`teDSq3!(z z+yK7+6U-6ttv6VC(kf8)&w@(tRd7G>pWwmZo}aYs+YE|tnF%Vtvq9xk235Zcoc(f8 z{c$y@{=X5N1l|ey;8UR5?H{1R{Toy|Z@bavzaOab90D!^yTOydFMzATm%$Ej&L+E` zxE5^1{ugi-IQu5cH(dx$#Qp%NaquE|1bE=ho_88J6FeNe(AjSU)ek=hj{{!?8^B4o z*!@%+sC0%wjhD}XD(5f30BpL|^5-7}<^C*q5IE^mcAU;}xEh>|djV8E?f?%1ceu^* zqYmE*D&1>9)$6aI(mUbPwjbUBiar;>Ch!4J_4z$G2i)T`He3fd1$z|>mBd1^Y37X6F{ZY04n?x zhbMuGH{0Pt=l%{*ww}EGXcR2gb zU$XAIg9^VtsPqp9+rcJqF1P{Q9efzP3VhPpGhep-TLSmN{R&XwJ_)Lw?{N62!(W5P z;J*FcHvAM&<9;rvehR>);KiWne^BLr5>)x015X2g4XU0E_t4d;d(Qo7Q1y8M)V%%;sC>tL)#4tY=GlIr%6mL`3OExy6=RDOHk zXX|x1sBv|Svrl#Q>7dF#8&o+Lf=agyJP16;*@r;odnu@TUkR$+HiCPA9|hHZw>keW zfO}%U7gV{v10D$e6g(Jw6;wOyalfVi4WN&G0oVZcf=7Z^JNLW63D|!Es+|7>_XfB7 zhRt_Bhd!wK9}TKpbHL-l4)8eea`0I2K5!cNM{qVc;Q?FTPH+kK5_lr`O>hYOJE-u* zZ(6#13%C~hZVy`iVjZaRJ`Sp!e+3tS2R_6c00ZzGaMFm?*SQ3ofqhRrPX(8OYS$~k z9l@(X^~1+N&8u5L&DT4f{cE7w`&*#K%j4jD@I_GRG(BwN9}lXXTR`>4YEb3u11EzY z0!6Rx1NQ=-0~PMi;7;HU-?H}c;Gx(L0q24hA2rE~DN zZF!Gy*aT{Rodj+NE_Lp04$lHrt_Hic| zeO?AtzJEL1`B7`%9aMkr530OJg3A9Ca98jmQ0;gnsB~@tRsOF!|A)YjV*ehf_RM_O z?lb#9<##ElbUpw!g4cqI|Ddx!3aXv|0*(X!4l3UE-?KO#RDJgbmHvUC;``3t=x{1H z9`}<#&Eq)^&jmHVF90>ZJ_f2DUk6p5AA(E3*TEye*2nDn-49N}z6G2GzT)hYzi;VX z2dH$;2af@-2G#EOflBuoQ2Flk11tCTL5%a!=cY~rc&w&%czk^4EhdyEJ-wGa&Jr6DdZwBT6 zdrIT)n{ou~v z0H}Um@9<(!{rUk={rnMUzaCWho1Fc#4!;1ZUGD{z?hiqYhaZEA|17BVehE$ne+zC8 z9`KY6cQAMY_KBeCdp5WS7=k%)5LEmZz;}Va0af1CpISQ70q%vp8&tm!fhy;%pz{A5 zsC4fF74JT9Kk(bm{W(zKUIupq{{Zd|zV6(2`x$+ReJ?NrJ_4$LnxD4)z8X}$?*ozxX1sq z`EJ712RQXvD_^_>JOumQ;ECW9p!#S0a~Ah;cnGL+90k4&JQ`Fxo&xRw zwt%AB^Fg)Gna;o0;Q*+1SPwRW=YvY`R)?Pf)vuoemEQfJ>i-b9Klqr#7oGdRK=u2s z&s#dOhr@$Gxi^4nrzxP?Vh^ug_aZtHU-sC-WVHU1WYidO;^?|f(90Pc(ZeW2R^22lCj1}fh> zK()(V4(|mI#C{*B@IL`n-seH(_ZNq|{KCdR$l+n2@;w4nyhc#z9P8{$9IkZk?*dh? z_272kMWD)c2{<0S3RL;70~PKQp!)4LhhGHu#(p2DaF2t^|Hsb$wDW%sRQ+BB)jod* zRla|NN_UqR?7F)bxE=OmLFIn}sD5s7cowMsjGX-<@L25EgJv9o+hczbR6f4}H6Q;3 zYW)2RRQ-1UrOkhTQ1$UaxgP_n{KtVR$0?xNdj_cVmplI+Q04D;{)3>xUk*+KuLPCO z{h-nx0hRvu!5zS#ID7__|Ib17@9#j>?=8Qw{k8|Fd3UtK8KA;1169A(pvM2XpyK@p zsQLMRa7XZZQ2A~G-vWM+KNG=!s<8ajcE6VgKS+nS$+w-x&R+@Sj2A% zrU8@wort}Y@VkQp;QW;5h1m7`I{2jfmVFsv55WE^W=FoihndUwA6=M_6J{>vIcMJ; z+<`D(#C*=VU8aQiU4{J`un%)T{!e4(<909hFM|^>8cU+bpTe&hJR7%R%n{h*A49-f zhy4j~I`}*AUcwyA_jlqz;4Iwk2OkC1=Z)YuFz>}2i}^in?*{)$y#2vW z<@ag6HOCIcJb-DzK9_JTsopCX{r15AZSZOQZsJ?NWqdDi-?IM^b0+rJFvs9`dCE`z z`kjH>8vNEczXiB`hVTD&_77u!YwSn3$FW}wzT3Hd4*VBxv%#O@{$;*T!+aF86#J(z z-@)(4*!5eCeHi;B%u2q`!|hDW$$YrZ@2Bv81Uv^b5wisMmAG9GeiYQN7c(8x z+$N2sW*zeN#I^TaYA)o<#pNRYM zm^qjiu-!A-vd@qZWQGnnPL^?>p3As1!^4sXTWg?SJD z$2<44!F9O(8N35?9Dav`ow%*R?8^5e;Nz(@v3g&}h!=bT_g4uM|9*_U3v(yt5ZsT( z;~wWfjqmg0fZ*-8zX68x5fQ?VB?`n`@RV?K-h1K|12{YAq5 z!lm^^+&_ege~WOxjd1?~{tNRb7w1fep8zKlcn*G7JGT#lU&ZY>-1K_@`~8@i*dN0F zJxs}kJq5S%m^rxp5OW;n=a~27)(YO}!iCspVxIxN54;oe35*)-?_HQn-S>514tuM!{~Wx;eSgy7Yv6N)xf^pIM!&hNFTi{Wb0z*GxDR4F`2G#J3+|_bWy~M>-VyhY^L-89?*QZ971-ln7atEg z%VD@L!F-3XcY(C1OLAg_I==6!HwW{n7`xyB}^M;0J9%PzlZVr zi2d|l=X(ZmikP4C9sdr(ei8OlaX1qE5AgHgPrw`EK;RvOdl0i3GYk85m{oi~g~?!U z$DBvJ`!M>Qh503JFJjKZ=vQ`r7dkuw_jmC9C(K9q{srb?!aaulzrdHUM=tD79V(q? zF>l8n%EIsan70x3?U?b#1)hiRukpPz;huDE-^4A4sr@a&?McFY9*=&^TI|od{GM`w ze}H|QbCc8g?)!Se9?19hxSfFcw{!oP%jZ8Go~}qWzrW$Pe=5yqurDRdcX8Vb^RATN zJih;cxxu*&6YeyZ_F|W=5B^Bs<7N!_UAZ8NW=`l0a|07*brk$;J}L#doZnd}^z{eD zzFb&}Ci|IU(BqeSLqC_z_xYuQKU63elQ7Y^QlXIR42qNeLeVc~dwNSvUAb%*A>$}P zKH~?OjGrxyj@|4pE38wBepiqm7lpa7i%`T&mBH^W7W(}lKjaStJt3tu0itXvZ1#y> z3b6+zKPvQxexX~QQ8+FYKk|#=dF5;|H2F}0&d?vshU>CxF6VM% z1P&?fSfRVKVJ@@ACEH()N@~h-K6{=k%fyBZEw;u4GbP9|lF9>(k;GGQ)GcwM&COD|GmwS{ub1)X7z1cO{L3^GH0xSqB)iQ2M|f-6*^bFD^@ zNg~xQq(tj9(yfKiHl#^H#mblaJHujQh9IS(0on^Ujfl83^jLqGFInf|kbs>-rO*UQ zZ1OZ!Nh)SXa+vX2m``JRPHZs!*w{R++waWga@j(jl(z2HUng8Ww^FfAz=~t!FF4(s z82O9M-=*enY80E2M3v?W1_r{QsQF8e2Y$Jj8wg68625J5Z!)zU-IP-`AsLcpKqhT6 zP18(`YKCTdND?;aDv`MzGVw5p`@mnP(K%*>X-sqtFWS(=q+2!j=@m_% zF@?`@Gs-z;T#H|hnC))JK}BTMSQ<6fT9$e(rf3ePdo3Bd7rGV?K5K~#v@ltF!=m{P z>^I>C!(wM4iiegwnUZmIf5OBD+n9~fgl0SkgM1hMg#k4P$wFoG*&weWWrmgJnwLJ$gFUFBkti0gVoNM$j|N6-oAlcjb&A#}0?xu7paXxmq`&UIwdPy7_Y zH*=4IC@(}JG~_;{)ofeE)0D;wqpn~e%&bWoakj77XO{$M zWiD4RG`|?;MAuo5!hWbD(?o;Xrk$Z%w;}hWHnqjDc}HX9?0i|vGHUxQ3+A?$Wi}=2 zVbWytVUYLR2N(=duh#-q?4-#j`<>+yV(e?vLU36tmmb$hpBRUcDOH4j1>1F3%Te0 zhIuRsOw^7dOAUj3evpg8#=726=^`pzL{p2f?2<)Y3Y z?))k7>!iFEqo{Bczg%y3uktmc@+{PHh%BD+L7Uem; zq2c~mzdH--#SDqe#1tRbY@XGmSYY}y4V(QIe?o^A`#3}|>`G?{>7q9n*qI4_KOBoV zzhtUrqk&v7q$v!?3P)fvje246yg3@Ij@p=3H@qlA2QIPT+)aU!x!6@KL}D#+X136h zg&h18(BB_4Md3gIQ)jX=!&Lre?E>@NS;%DEn6y}dp`0&)#Y~}7Nfi6MImJRy(qNhc zqhUsfsB^xQ8zRCmgUOrQ(lM{2b?Lk{^Ovt!+R|a{$+w;5a~T+&K@?gN?_mx72D@lw z;qg)q1*kwNahsw~<2&7(8+JA8kD1o`pq4q`uGv^cSsnQOteDvW#;R+i*gZw|(o5Nz zfn1qE3hQK(neA}Qwao;J7o=JeI%zZ|pX9GAlye!kmTL!KsI^jv38*WnC4+|54!R5z zV0aku;k^M1(?G~d7)6YXn)RfzJctX7v}(8{)p9h>SjGMSxnypaBBBrXVz_3*(P$Q# zF`ZOcOI@i~<0D)@z^q_mlW|++B|>NFr~Rfkx7?|fYi_y3T%Fg{AHcO( z(5@EtGODpo_vU4^*HsJIG2}NGmP`z~cfHXq%B*qS$OF*$D>g*D6S7-jmkQM1 zBm)W0me$yv)ELPzCfCIwww9zT*#AX}R9mZQrD(Q##yM4-sBUox)ng`)1}DACAVsVJ z31>Feq*||mh@NAtZc|(u9v1$1KcjKr52$Cl*r6*~>(#z4%rFRz7bTFVsIo?iwhmCD zGxe)PSlQg(>?2)b-O}V@r;-()QVGzREwbykt5LnA&YYqI6fjT@hpRGDvH?{N1_QC>~6|&E=OGElOgiN@Ysjh%&75>C6 zRKYQ-)Ovc$GBxUo3C}7l>n|ADR$DeTGNiz^-7JX+q`IM<+3^%jR)o(0Ei0Et6-D4%N zVoB{lSk=-IkDi)prx(rISQ6AJ%hmjvmM(3YJ9ms66|i1pvv;gXVd28*OP8KKJ&Mk5 zE}P#u=WHcalR|CMq2Zv%nmz-)h-~T)!L*l(rGP9O6`mvVPmIaKWdG#&Q{8q-Y^g0w z!rIg{?AU`c<)cDWa(C;?*a^kKAHPFm&Bj$v=Mi_JfKM3!6j%o3N@?~~yyr-)UY;ksS~cB6)C94>By6qBgQP$||{ z0&Y{F$}(L;Q@4_^nUC9+`nH9tR4C1Vx{*=Hv+XvFb%Z!7mM(R&*h%1&a5oxQk|Lcx|CnNd1hAbKZI+l(}%aKWPeq%cUvsSS5B+QzkVdWbD)7iFR}a zD-B_>&xrfdU_{J_Kokp7-iRYq5>3+TW&~(29L344k*&G6)Sn~WR!u_qfNUf&iw*)< z`ZANv+;HckMsf$E?N6#Cl?l58{Gr+I#`3E960~wc)k|a@rUHf!0gF*-vJZb@wm32GZ(1O3>1M6b`N=xN zon+4jf=-g7(b)88qe=@JsfIh5p{Ti_$NZ^t%ppJ9K2E?%KuH8?=>ct~ZM=aST<){R>&K{iJM_zP7R>5)DV#+;*a^f(}~Fh^hz-sngaoSaXOUe&B4Ah zLRe&{3*hqM_hQWJV;yl8g!z#3odxj`R2OG59M?)XgIiIY3LoMDy#-meX9Ud!#d72= zDDbaj!|(JdBo6O3{LHfCrZfi#0nGW#yZcp_7- zh+RyBE##EVTUh4sLwggiwJl!pyw;dQ^ePhvfd@i!O&UWUkg{=D-voKrIIEmd#p6)g z3ubzmX{dDQ?|4w>hnS6wF0(o@E$ybw3H^@`pr5ghW5wY>whu9;l{3ejW}Ld3&>X154$0}NW_Km8#Mv#zad1mr;AOQ&aAXU?V*aor zo}AVJVNrk_P3oRx=JllhNnR_{vDa&5aQ6l40>v3MEuy9rg4U1$_Y{2c+ZpV+i-6fI~_htSu_% zhWOJzfcVLtI;V~&)h!ywPJ~?y2iWgJpqXM3;~2_osXFPJ6g1SUHG*84nL0vTtLZ~E z5J^ELLY?KfjO^T5ROUQ#(L=ZNTk5iyV`xhj76*AlXBJZwZ*eb&?B3#Rt}o2zhrGqm zY9{sKa(~cYC>6ZLL;Aaf6}m0Rv550YHWHdy-4U}orL{^FU{Jkc4g!~CEu8{c)w}w< zB@lh2Wt=4T@LlRHv;R@xLS~phn%WNhpeJw^7JE5L$;W;c`jGf#S@O-)?<^M9Nz=hD z(r^Xc*&bK{GXojH;ebk8=!2#=`)!h6$shoxNSQ-RN%3bCFchX(K|vLY>ISy>A0L^v#3-*g7;F13_4=r1&eJeP(gmITJ;QYjh1 zJ{V=AMtdCM5A@+O&{sz_s4BQsGf1gCh`e%)No4*y1*M|Rf+;x&FJ&6f5MgO6IQ=97 zvoxBmY%`(rGFnZS>ckC(AU7m62xDu48%sukbukPBzC|srONaaxJ5jx5v{b%eAPV}j ze6aW|Gr2%NPDgozX&9NaW3^5!8EaTEZ^80qjdZ+`!`Q_MEkiGE=MlT=!bP$p(M z<0R5ir%iKwtzvQd&uQ$kl>D{IqC9naYRXvUGu>N8O*q^!bxRm3(k$4eEKz22P7nxb zxJBho$cr!L&v;n-;B+hR?EO&g{la+-icHFtqZ6R_ITqgRw$Bn@}fUEhsq~ z41{4-ma&-j`YTwCLo+T1dPRx}gtNwItHyIaBL^#{;cHOY4B9i=Rk? zEUGw(Vv1Wk5ZV`GRo+b5(mZxFkYU4yxjkGXLjH9K8+wywvdW|+YL}pGP3BETh?U0b zPfW~B4SpcU{XZEeeBON2UanCoV}Z=DNo(?QRg?x9Bwvhth#h6(&; z63|(0oPwGsYxf&9Nf_oUEe7&S>yWD&&hvn#jg|}RMMQKLNwAq1l^%l@@rMJ^{hMwB_ zY}H3Bzlf?%*cC7eErS}tp=h6}gM1WJ(B)z!ZZ11VyI1cj5RsIxOZg-SnN5&LPVYDTdoMrb{QF1wMb~T=Y0AlqB9J(D~mrM z?USw~fYphs3L-xQwWWj`v?_wi*l~(0j3OPuq)$iJ#4X|+lD(jFj|ge*OJth;Cv~&zq_?8XC}S(tP8@=E1^OB`QlfV0aQbtKxDk+0eCjIcZlr+KlXS+QS~Csub2 z<7yNyMEe-Jvo2uA6 z-dr(|L)Bi#FgwC>E>X*GXEUtY4_FOozKWe@%vkih0(xNmgb*obp)fTw|5kLVC22ynLz2 z>|8Wm-1Qp{Ten@1((bn7?OFJ1ju9Y>bF@ogm(Z@uP)0g~SQKfAWV7wL!eG#6AT+b9 zT~`PsWMs8jCp8+QT4;%&cs!%3DzP$EF-cS%K2VF40ou-g zg?eh-%<@v>7ICM*Y?jRhJ87J0Su^L4?%GV~pAmKYXop}j?gm&6=jEO^& zGV07N5xK?bv09-~)+O=`6QF;bYADHcS`uWSE986*mlxWsRR_w|>b|g7a7ofVk+9jw zrJcAIy>oarHK!R}n=FuJYo>Z2iy3}kpS-!av?-70BwHP3Bxu(>9( zG1>q+$+{i(50u=XEv-ZH@AeY$c8{9rEZ0=bBvA|@^(Jq6#;j|c`<7xiWcJ9k=uNjT zFr*;0h!i-(f_+J*D&)MP5#F6$uW`^z3d|!vMYjx*;}kcGl!^nB4jnSDT(Lw19=6Dw zC79cY$hMKoo5pmZ;xic{z!)M)M9H^2N;(AZm|D-!A8zc%$4! zF|~*x$Fr0Kd(8i9^1Z1PjZSr)1nn^()z^rn1v=rK`&{vB{qoeh%FCqZ_5`*aZ4`I0 zI`UJpU(-!B-Y2OwPfoB)qgJ4EoJ1LIxB}!!{QB|#^_~z8r zZ9-g#ei*G@n~CGYbayzpNWw14oPhZZN~6ilbdadH6Ha7E<3J(pI-!vdx5Vy7x5Uk& z=JKdag4%(Iio*J?T-ge#AuM(q>Z@~`{fc776n4MdO`Z~&Z30Rjw!lU#VU`!Mi|k*` zj%<{Mt>LRGyS7n{NOs*=dh->w3E>Df#;3>U(}$ z3tn|0aCE?}*1t-_n1>Dm>Ah&gBq}hbhC?(i?Fuv2%L!9p5mEq4DVIo`T?hIOoWOMG z-iH26_d3K0@waaXXLO=aEa)hrZX=GGLz$T0?m(D;v5Az6eLB1C7((a3OR3B^h(?#8 zdPT|L;(l!OAco$`J`{HhSH2PrjjF46P-7=hsNBB`ySt@vF&K(%MXA!>>o(`9TEIlP zo4u9!zC8L5F~*w?Z{>hF0gQKqY+ld;^0hjebw%71vR)1ep>-l$u1iI67~m$jC94u{ zmDyh*>@sPP@<7Cv+*?WYCY>GRdJ5+pc{VO3pf_BPlz|oQoJooe5jAV=jKJ?LhTStK z#EaLI3A5asj9rYlaK@Bi7FA*+VE$+dB_Gq1FDR}hjq!+4YfL%~CH43!3TdD((bZe> zR#DPyB(TRPeB^=*LaL11*!oX2GDTBucUJE<&-}l|+-pI^;H_d&gUts@DiJ#`KG%uy zHB9drq#b!@7{0al^n7%;2Z~~{(7k3_Qg^!f~Kg|ph#g`Od&#j%=};xwKW ztj?uLvt!{jo*vHkG!xBkWKzN~4K#Q55&PEN=HRK3QE7TJXk4$w{O=IyR|X5Ooy4rF zJuxJWqOa{|tl$u@(vGq*6igkQ7K2l2fP0=}wH?fiaD0H#$ki1`ZHpOergGe}s@`C_ zX-ByXEi$h~Km<{Pm^3k(WQM4@l59$r7Svmk$Op-p-3EOd~13d4bSR%p+x&nowLXO*)V$t=ww_E}uIK~fns_cwd)>|PRv_*;8_ z^Nj!%a;Y;~q&l9JS1`*`A4M-9aYxGC-EU7?#)fn|#ux`9toKbOX-gD)>B9)iVl>D7 zRhG!pF4X+-*K*cCLF8an-xFGa+mH;Q!!D0iQ@76zFXpBAGOv1^cx)3{D-tCds|n=U zqYd9=+Z}d#P*4WMbP&ZB(@ED-L~bVV*09*QsL zdm4K1qS6XYzK1*>Cc=Q6?x@`TY%EQ?zzMVI!Y+s^C>@>Yo@Ktx-^eq0F;-CY4842- zfn>fg=vgLIryLBWilo$iu@t*6>63Ydu962|=@s}aTBgX3ugDwFfQ=`a2aDzIho?RX z1hr#nHkw2B*(}>t#f-;f=B$eJ;}5g`Rct7R#Xb>Vk}p}YsvlDwTqNus% zV*I&I4^F9=hY=D)jofp`XEADk1&IY=Mf@G{!Jff0T!#MOkX`R_V#W@)yW1QOlyNK5 z5~2{XLn-K)?jaC2mjRLw+Y0QH?205?D7zaV3a={;p@DVn;JzV)AAjBTuJw)4g@l8P=c3GhDs?=rfv} zFHB~fc80PrAvNP4`e+fwVYEAn1wAU&)S796eUp50x^M5Ak6U2`A5BZ69w_1I<({ai zqcGhc*S5T)X^tdjgl(Ej-%j_BojPr5)6^51rcL#aJ#PB(Cml2O*r`(q*tCMP0Hs+c z+|=pQPPXAtEi5&$eaN#jVYfNmU%@F6Q*~9CMU*uIkrcM(LD^1QS12{-24{_1f`Vq5 zIoH&IWN*4oEu?X19|SU~uvkgxH%9cOyhu^0@3iKrHf)`+0wW+^IAmHe7MVKx}Ud?M?^D^JC&OzdPibr zLw@44sWWFz^N%{p*XPv3XR@K6?N9Xy?jJsrkJy=AK9=rU>s0p z*nrlM1Q?*?Ioa~n<$fZP6ouT}KQ5I4MVaicE%N{pX`1jN83^h~ zg*<(uur3x0GBt9uh!%wm{5}dWAsedF8`lOC#x<-B{48pbVIf_WFu8Hy~&FQQP|f{YS}SDiI9)ntlrvc$b2wJ ztGS>iOCt`8CG9kL=a$VpHI~oPoSZ{b65780yLo*D`kBjNG{NZi^C+fSlH!zU(0m~Z zxQEeSR*b60^VSAj5$LlGu4b^6Pd?1*(nlMRh{V>k9GsCD* zY%t@;l(gDeO<2ddY~KE}grxfQza@rFLXFI*ho)`FlpXODk%gvgDB@B*b9e}FZcywL zsYyOiaB{>S&7=5>mU43}<%9-N;xE##mq-~UHI59f>Zbw|{}kCuzZZzY>OeM^;Z&h8 zpdrETD%Ux(VaugusvNwSUt25($|^7T0}7; zH``;d>{{e{!xd`;*)qq?qT4yhO<-OTbWa6t**vVY7n#KiGHi0?N`z@^^i3v;YMVh7 zzzI_TUIOG12xt!L0`JhJER|tcu69qxY#}vNVOxU%76X*UJeKMWokVh{=^*#cR365;e(}59vu5r>avVkKov%<6g7W>r4{Wc~)6)Q0uD=W06 zI)*JVlY>^&-VlC7PYZ6@Y{r&(Tabhh{`1hFeO!?Fg<4h9D&BfQ!(GC3-U-Zwj5#E8 z2vsX@3!=9rEeN=YzA|C>>ksodAD^0&8eg5f1~jr^;W%)7&j#pyha1hvx-Z zTFQ-(E)t`fRHUS#ae9_d5?D~-w%7zE4-J|F1u-zSPYkkb^ES!IM#J53kCAzcItcH1 z=Ck3JO%wxmm+HA{p?jr~$V}w;PA?3)vcg8OCWc-oj|{5bsW%2gZ!zZsQ2_AD;K)_7 z)3nq!ZXN9AnL$dwn0ti?VeMC>xz3BlmRHjPvzUox^G8)rEtz)E-NiiIq}RvBEN6Rv zu|BzgLxSebK^T+HLNA3iRWLlD(rq1b7w9i*-1vRo2xdL=K>JbF%V5XQV+Oj>ImO-+g?VK<|(G;$C8 z3al!`2X+_!HRebR*T+kmCEnfT0B_4ChD<&jfODil*1`kw2$Rp05PfDUXd=+Oc1uAq zcs+8q z7gsBE*7eAA)&Tm90mGpJT3$l*&^U}|o|VeF;>M$e42rg3%OQ>&C#re$o5v_BSU&sF$7${F-Q zDhIh6VCE-Y%tyBNIypD3ZcF6|K{JDpCkSEv5RXds9>4tVSn>MKb_>rlgY3-Aj>xd> z)z+&0KPytTuXg_wJQzR~(7s5hSt`l9U47;?AtGR+gQA4YS=6ql|C|zR*;o`wVlUeBdu7* z>|fmM6={Ne`%qjVZLs3CcA6oM7&Et_Q)ULIQyXC z;+(|_^oVt|uNW2sJYZam;7R{+0CWq&M&;6P8Lo;27g>p7YyhTCe=w|YsmB6&|FkAS z`YTS5Bg^z_hV>GK_l~Ov1OLBBd|4q=6o;#BjhSaBdto|N7aFp!<+DyP^~zy&F^yD& z0mBL`u2VBrTo#KiUm6ot%>kX*a-)Kz+AlCk&~)3H0^&1xE~dO@527qMxW1^Y6&IzU zWc($e&Z0crPBvU!RRkTCvtUwFa}$X*B2KuaeHC+;mk+HB5!td{K7^-Bg~<$O`yG|x zSfdO#Z0|GKHxJbg)~>%gp0in{5{Qr{nz2SJ#q9yVkP4yM8?#{*`UjzYgNG24dN}?$ zm1K33>DfcmWi9&R0mQlmt&Wpah5G3l*O-Z?1GBEnmnK;AtQOwv+5bh*f1%WDNhLsuF+KR;~{vQgID&SCuu3V&Y)8Tx=ss zWhkc2iVrA1Ld|FpE>9w16;_KTgFlKLQ#FipXkq(h$E&oUVVy*B&FnRz+PEfaH8;lM znrqEW8Z1uEK9gt$Xx%pw(?c~*sHzD^B~&*Py|)q1pCpDJOdRd1HxupPQ5|ULxEqaC zf3{i^n?k*$IJ(f){uIB`mT_V0 zrpvVpLwd&SN|BB_jkGFeh2kd(A^%25#HeE@&MKBBI;P=NPyH&m)snTI&MS*={KTT6 zkaY@ZUs|kRc=y;M+)S1iCXiAMqXtwvIP5$8)MQi*salGln(Az|CX366zqC>#PKyfK z*4k$b>lZG5ebKex*ahT@Ka-t<6fGTZw*TU18S9tf&89YYveZgw z-)CgWwPVT-rmaUwwdq)0x@D6+Y11qk)vKa2l+X@c+rO1}8s%B@P~%twPm6P^{oY{a zzwzkdWZH7xjMY)Js%_P>WSorh9K{0ENx(=_%e5~$j#W1sddy_ZPP;0xv7Qp#dImO~ zI@yHjy+OV9fLqEH%gBMoZk5^~jvo|%7H@I5FE)J9l~xYG)2QxU5onC8`NthCvfK`X7Q^=!;w z@=Wm#Ra3o+gBe{Avq-+_lDt7t#;BXvcwN^q($r)WTb8lHDmrN(G9vZ^MnsrwqdS9g zCX_@U9-zp1X|}SMB9@UXAlW5olNg@_G<#Vz-*rsTMp7`HQYoqP#$?@{x;b;nN@89@ zWNMB^B&6%-{}Iz=93G-V<9=lGK!uM@XChTM>Acl{d~y+YD_Bysch47M`RwFGufT3~ zB7bWSPqJ}BqbkU7aN(YwL@}>erhO1OF5!5~G^3Z&tDjD@~zkJS!;Z3Xy$o zGOte}T;=AZIft_%3tGbNITJBda?&U*64STHo~@DyGIecFrEOwm42Wqs^h!ldR9%op zm(#*Cxi=2W$ zz%HNmG4c@(({v`tGl0WVC6RC%y4)3TSkjUm?nloNqJuzSFdk^L{bV3luNgY>VW4P~ zM8TFz`QN(K6gCXWqGWGguIz*FkZ@dcLyVg{R7l#zF!3xv-4LjetIFO$pNGV-uf)C| zIo^EaH^Y*np;W2QvU$gnL2BQz9N8?c#^e96(w8~t;W5j>5VtM&A)DBU%zWgg_?(pN z`#9iGi2@G^dRN)~)pL_%W}mY}a-SWhDu>69T811(>8OWiEqjo7joeeNJZ!0hsxm~! zTfnFZa)GWR#4lS0o?f3(_ykm38F$i0Zb~B$*z|)x=hgymD5c;GQ z86|U-a+#ACtB%DP2s>L#y~x-IaYY~C>yiPUmB^OSX2itiL_s5!dLRoWXVOHXsI%{p z&1QH=wyE()U3m9R)X%D*7)1sRN(Qk`Wz9h0@H1d)wkrqJe&Q4InPz{r~~FOE%E!JX`S_JD%R`F*87t zbF&)hz|Fj%T9XGd2z$b#1H?GvsG?z@T@nNZY8HD2)t)gUk}9`^u>~GW>ER@kLB^Oy zyQ{=CQL)z0LYmw(n|P`ux*3dmJrf$kg94*~F2+ATUX zMoENeWY$YjQG3Q9S{LuJH1>VU7M}>(;RK=OoJ5C(sFcJ4ek(nXdlhgIdzZZ!BEUTE>S_pETPoXnKIRs0otbmI7}ysyv+e~=Ud=(Pg!9IcjTv)pORu>ZY^FSgt=4OYJD_q(%pP>R z$256s(!8e0VdfH)19XNym@W1}BsIm#aTH$EB(K!@QI$pGgnQTg$A2wW5l*KV?we7? zcdI2Q8#KBQAJgUh=U8_9(SuSc)v)B0nU`?2fO1yA$VXk0{}RexK;f7<*#e6IDqWUG z8&L8G7g@AfN$LpNoM#&XsBsHBhG0R$_@un<$b{?*oYb>ep?#0u9*y5(#fVvQGHN>U zi=3R{qNvYtxnAKk&1v7^3_bS{XNy_Ije=zc9 (SR_aL4c~*NKgUlDc}B)kPSKqv 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 delta 16102 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 diff --git a/django/conf/locale/lv/LC_MESSAGES/django.po b/django/conf/locale/lv/LC_MESSAGES/django.po index 462056a25..7eb4a5514 100644 --- a/django/conf/locale/lv/LC_MESSAGES/django.po +++ b/django/conf/locale/lv/LC_MESSAGES/django.po @@ -7,209 +7,278 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-09-03 23:21+0300\n" -"PO-Revision-Date: 2008-09-03 23:13+0300\n" -"Last-Translator: Edgars Jēkabsons \n" -"Language-Team: English \n" +"POT-Creation-Date: 2010-05-10 23:47+0200\n" +"PO-Revision-Date: 2010-05-10 20:18+0200\n" +"Last-Translator: Reinis Veips \n" +"Language-Team: Latvian translators' team \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 != 0 ? 1 : " +"2);\n" #: conf/global_settings.py:44 msgid "Arabic" msgstr "arābu" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "bengāļu" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "bulgāru" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "bengāļu" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "bosniešu" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "katalāņu" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "čehu" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "velsiešu" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "dāņu" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "vācu" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "grieķu" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "angļu" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +#, fuzzy +msgid "British English" +msgstr "angļu" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "spāņu" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "igauņu" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "Argentīnas spāņu" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "igauņu" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "basku" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "persiešu" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "somu" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "franču" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "frīzu" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "īru" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "galīciešu" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "ungāru" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "ebreju" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 +msgid "Hindi" +msgstr "Hindi" + +#: conf/global_settings.py:68 msgid "Croatian" msgstr "horvātu" -#: conf/global_settings.py:66 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "ungāru" + +#: conf/global_settings.py:70 +#, fuzzy +msgid "Indonesian" +msgstr "maķedoniešu" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "islandiešu" -#: conf/global_settings.py:67 +#: conf/global_settings.py:72 msgid "Italian" msgstr "itāļu" -#: conf/global_settings.py:68 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "Japāņu" -#: conf/global_settings.py:69 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "vācu" -#: conf/global_settings.py:70 -msgid "Korean" -msgstr "korejiešu" - -#: conf/global_settings.py:71 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "khmeru" -#: conf/global_settings.py:72 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "kannādiešu" -#: conf/global_settings.py:73 -msgid "Latvian" -msgstr "Latviešu" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "korejiešu" -#: conf/global_settings.py:74 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "lietuviešu" -#: conf/global_settings.py:75 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "latviešu" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "maķedoniešu" -#: conf/global_settings.py:76 +#: conf/global_settings.py:81 +#, fuzzy +msgid "Mongolian" +msgstr "maķedoniešu" + +#: conf/global_settings.py:82 msgid "Dutch" msgstr "holandiešu" -#: conf/global_settings.py:77 +#: conf/global_settings.py:83 msgid "Norwegian" msgstr "norvēģu" -#: conf/global_settings.py:78 +#: conf/global_settings.py:84 +#, fuzzy +msgid "Norwegian Bokmal" +msgstr "norvēģu" + +#: conf/global_settings.py:85 +#, fuzzy +msgid "Norwegian Nynorsk" +msgstr "norvēģu" + +#: conf/global_settings.py:86 msgid "Polish" msgstr "poļu" -#: conf/global_settings.py:79 -msgid "Portugese" +#: conf/global_settings.py:87 +msgid "Portuguese" msgstr "portugāļu" -#: conf/global_settings.py:80 +#: conf/global_settings.py:88 msgid "Brazilian Portuguese" msgstr "Brazīlijas portugāļu" -#: conf/global_settings.py:81 +#: conf/global_settings.py:89 msgid "Romanian" msgstr "rumāņu" -#: conf/global_settings.py:82 +#: conf/global_settings.py:90 msgid "Russian" msgstr "krievu" -#: conf/global_settings.py:83 +#: conf/global_settings.py:91 msgid "Slovak" msgstr "slovāku" -#: conf/global_settings.py:84 +#: conf/global_settings.py:92 msgid "Slovenian" msgstr "slovēņu" -#: conf/global_settings.py:85 +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "albāņu" + +#: conf/global_settings.py:94 msgid "Serbian" msgstr "serbu" -#: conf/global_settings.py:86 +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "serbu latīņu" + +#: conf/global_settings.py:96 msgid "Swedish" msgstr "zviedru" -#: conf/global_settings.py:87 +#: conf/global_settings.py:97 msgid "Tamil" msgstr "tamilu" -#: conf/global_settings.py:88 +#: conf/global_settings.py:98 msgid "Telugu" msgstr "telugu" -#: conf/global_settings.py:89 +#: conf/global_settings.py:99 +msgid "Thai" +msgstr "taizemiešu" + +#: conf/global_settings.py:100 msgid "Turkish" msgstr "turku" -#: conf/global_settings.py:90 +#: conf/global_settings.py:101 msgid "Ukrainian" msgstr "ukraiņu" -#: conf/global_settings.py:91 -msgid "Simplified Chinese" -msgstr "Vienkāršā ķīniešu" +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "vjetnamiešu" -#: conf/global_settings.py:92 +#: conf/global_settings.py:103 +msgid "Simplified Chinese" +msgstr "vienkāršā ķīniešu" + +#: conf/global_settings.py:104 msgid "Traditional Chinese" -msgstr "Tradicionālā ķīniešu" +msgstr "tradicionālā ķīniešu" + +#: contrib/admin/actions.py:48 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Veiksmīgi izdzēsti %(count)d %(items)s." + +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 +msgid "Are you sure?" +msgstr "Vai esat pārliecināts?" + +#: contrib/admin/actions.py:73 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Izdzēst izvēlēto %(verbose_name_plural)s" #: contrib/admin/filterspecs.py:44 #, python-format @@ -220,7 +289,7 @@ msgstr "" "

                      Pēc %s:

                      \n" "
                        \n" -#: contrib/admin/filterspecs.py:74 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 #: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 msgid "All" msgstr "Visi" @@ -245,18 +314,22 @@ msgstr "Šomēnes" msgid "This year" msgstr "Šogad" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:391 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "Jā" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:391 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "Nē" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:391 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "Nezināms" +#: contrib/admin/helpers.py:20 +msgid "Action:" +msgstr "Darbība:" + #: contrib/admin/models.py:19 msgid "action time" msgstr "darbības laiks" @@ -267,7 +340,7 @@ msgstr "objekta id" #: contrib/admin/models.py:23 msgid "object repr" -msgstr "objekta attēlojunms" +msgstr "objekta attēlojums" #: contrib/admin/models.py:24 msgid "action flag" @@ -285,170 +358,192 @@ msgstr "žurnāla ieraksts" msgid "log entries" msgstr "žurnāla ieraksti" -#: contrib/admin/options.py:60 contrib/admin/options.py:121 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "nekas" -#: contrib/admin/options.py:338 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "Izmainīts %s." -#: contrib/admin/options.py:338 contrib/admin/options.py:348 -#: forms/models.py:275 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:568 msgid "and" msgstr "un" -#: contrib/admin/options.py:343 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Pievienots %(name)s \"%(object)s\"" -#: contrib/admin/options.py:347 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Izmainīts %(list)s priekš %(name)s \"%(object)s\"." -#: contrib/admin/options.py:352 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Dzēsts %(name)s \"%(object)s\"." -#: contrib/admin/options.py:356 +#: contrib/admin/options.py:577 msgid "No fields changed." -msgstr "Neviens lauks nav mainīts" +msgstr "Lauki nav izmainīti" -#: contrib/admin/options.py:417 contrib/auth/admin.py:51 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" pievienots sekmīgi." -#: contrib/admin/options.py:421 contrib/admin/options.py:454 -#: contrib/auth/admin.py:59 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." -msgstr "Jūs varat labot to atkal zemāk." +msgstr "Zemāk varat labot to atkal" -#: contrib/admin/options.py:431 contrib/admin/options.py:464 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." -msgstr "Jūs varat pievienot vēl vienu %s zemāk." +msgstr "Zemāk varat pievienot vēl vienu %s." -#: contrib/admin/options.py:452 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" nomainīts sekmīgi." -#: contrib/admin/options.py:460 +#: contrib/admin/options.py:686 #, 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." +msgstr "%(name)s \"%(obj)s\" pievienots sekmīgi. Zemāk varat to labot." -#: contrib/admin/options.py:536 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "Lai veiktu darbību, jāizvēlas rindas. Rindas nav izmainītas." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Nav izvēlēta darbība." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Pievienot %s" -#: contrib/admin/options.py:614 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "%(name)s objekts ar primāro atslēgu %(key)r neeksistē." + +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" -msgstr "Rediģēt %s" +msgstr "Labot %s" -#: contrib/admin/options.py:646 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Datubāzes kļūda" -#: contrib/admin/options.py:696 +#: contrib/admin/options.py:1039 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s ir labots sekmīgi" +msgstr[1] "%(count)s %(name)s ir rediģēti sekmīgi" +msgstr[2] "%(count)s %(name)s nav rediģēts." + +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s izvēlēts" +msgstr[1] "%(total_count)s izvēlēti" +msgstr[2] "%(total_count)s izvēlēti" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 no %(cnt)s izvēlēti" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" sekmīgi izdzēsts." -#: contrib/admin/options.py:703 -msgid "Are you sure?" -msgstr "Vai esat pārliecināts?" - -#: contrib/admin/options.py:732 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Izmaiņu vēsture: %s" -#: contrib/admin/sites.py:16 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 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 " +"Lūdzu ievadiet lietotājvārdu un paroli. Ievērojiet, ka abi lauki ir " "reģistrjūtīgi." -#: contrib/admin/sites.py:227 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." -msgstr "Lūdzu pieslēdzieties vēlreiz, jo jūsu sesija ir beigusies." +msgstr "Lūdzu pieslēdzieties vēlreiz, jūsu sesija ir beigusies." -#: contrib/admin/sites.py:234 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 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." +"Izskatās, ka izmantotais 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/sites.py:250 contrib/admin/sites.py:256 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Lietotājvārdi nevar saturēt simbolu '@'." -#: contrib/admin/sites.py:253 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, 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ās vietā." +msgstr "Jūsu e-pasta adrese nav jūsu lietotājvārds. Izmēģiniet '%s'." -#: contrib/admin/sites.py:313 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Lapas administrācija" -#: contrib/admin/sites.py:326 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" -msgstr "Pieslēdzieties" +msgstr "Pieslēgties" -#: contrib/admin/sites.py:373 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "%s administrācija" -#: contrib/admin/util.py:138 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Viens vai vairāki %(fieldname)s objektos %(name)s: %(obj)s" - -#: contrib/admin/util.py:143 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Viens vai vairāki %(fieldname)s %(name)s:" - -#: contrib/admin/widgets.py:70 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Datums:" -#: contrib/admin/widgets.py:70 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Laiks:" -#: contrib/admin/widgets.py:94 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Pašreiz:" -#: contrib/admin/widgets.py:94 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Nomainīt:" -#: contrib/admin/widgets.py:121 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Pārlūkot" -#: contrib/admin/widgets.py:228 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Pievienot vēl vienu" @@ -459,20 +554,21 @@ 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 neeksistē." +msgstr "Atvainojiet, pieprasītā lapa neeksistē." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:30 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:8 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -501,36 +597,57 @@ msgstr "" "Ir notikusi kļūda. Tā ir paziņota lapas administratoriem ar e-pasta " "starpniecību un visdrīzākajā laikā tiks izlabota. Paldies par sapratni." +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "Izpildīt izvēlēto darbību" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "Aiziet!" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Spiest šeit, lai iezīmētu objektus no visām lapām" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Izvēlēties visus %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Atcelt iezīmēto" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Sveicināti," -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentācija" -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/auth/user/change_password.html:13 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Paroles maiņa" -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" -msgstr "Izlogoties" +msgstr "Atslēgties" #: contrib/admin/templates/admin/base_site.html:4 msgid "Django site admin" @@ -538,43 +655,45 @@ msgstr "Django administrācijas lapa" #: contrib/admin/templates/admin/base_site.html:7 msgid "Django administration" -msgstr "Django administrēšana" +msgstr "Django administrācija" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Pievienot" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Vēsture" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:25 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Apskatīt lapā" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/auth/user/change_password.html:22 -#, fuzzy +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 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ļūdu zemāk." +msgstr[0] "Lūdzu, izlabojiet kļūdu zemāk." +msgstr[1] "Lūdzu, izlabojiet kļūdas zemāk." +msgstr[2] "Lūdzu, izlabojiet kļūdas zemāk." -#: contrib/admin/templates/admin/change_list.html:16 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Pievienot %(name)s" -#: contrib/admin/templates/admin/change_list.html:26 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filtrs" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:246 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Dzēst" @@ -586,7 +705,7 @@ msgid "" "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:" +"saistītie objekti, bet jums nav tiesību dzēst sekojošus objektu tipus:" #: contrib/admin/templates/admin/delete_confirmation.html:23 #, python-format @@ -595,11 +714,35 @@ msgid "" "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:" +"\"? Tiks dzēsti arī sekojoši saistītie objekti:" #: contrib/admin/templates/admin/delete_confirmation.html:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 msgid "Yes, I'm sure" -msgstr "Jā, es esmu pārliecināts" +msgstr "Jā, esmu pārliecināts" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "Dzēst vairākus objektus" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)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, tiks dzēsti visi saistītie objekti , bet " +"jums nav tiesību dzēst sekojošus objektu tipus:" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" +"Vai esat pārliecināts, ka vēlaties dzēst %(object_name)s? Tiks dzēsti arī " +"sekojoši saistītie objekti:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -617,7 +760,7 @@ msgstr "Izmainīt" #: contrib/admin/templates/admin/index.html:45 msgid "You don't have permission to edit anything." -msgstr "Jums nav tiesības jebko labot." +msgstr "Jums nav tiesības neko labot." #: contrib/admin/templates/admin/index.html:53 msgid "Recent Actions" @@ -631,14 +774,18 @@ msgstr "Manas darbības" msgid "None available" msgstr "Nav pieejams" +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "Nezināms saturs" + #: 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 "" -"Problēma ar 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." +"Problēma ar datubāzes instalāciju. Pārliecinieties, ka attiecīgās tabulas ir " +"izveidotas un attiecīgajam lietotājam ir tiesības tai piekļūt." #: contrib/admin/templates/admin/login.html:19 msgid "Username:" @@ -660,42 +807,39 @@ msgstr "Lietotājs" msgid "Action" msgstr "Darbība" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:404 -msgid "DATETIME_FORMAT" -msgstr "d.m.Y H:i:s" - #: contrib/admin/templates/admin/object_history.html:38 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 " -"šo administrācijas rīku." +"Šim objektam nav izmaiņu vēstures. Tas visdrīzāk netika pievienots, " +"izmantojot šo administrācijas rīku." #: contrib/admin/templates/admin/pagination.html:10 msgid "Show all" msgstr "Rādīt visu" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Saglabāt" + #: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Aiziet!" +msgid "Search" +msgstr "Meklēt" #: contrib/admin/templates/admin/search_form.html:10 -#, fuzzy, python-format +#, python-format msgid "1 result" msgid_plural "%(counter)s results" -msgstr[0] "1 rezultāts" -msgstr[1] "1 rezultāts" +msgstr[0] "%(counter)s rezultāts" +msgstr[1] "%(counter)s rezultāti" +msgstr[2] "%(counter)s rezultātu" #: contrib/admin/templates/admin/search_form.html:10 #, python-format msgid "%(full_result_count)s total" -msgstr "kopā ir %(full_result_count)s" - -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "Saglabāt" +msgstr "kopā - %(full_result_count)s" #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" @@ -709,41 +853,47 @@ msgstr "Saglabāt un pievienot vēl vienu" msgid "Save and continue editing" msgstr "Saglabāt un turpināt labošanu" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." msgstr "" -"Vispirms ievadiet lietotāja vārdu un paroli. Pēc tam varēsiet rediģēt " -"pārējos lietotāja uzstādījumus." +"Vispirms ievadiet lietotāja vārdu un paroli. Tad varēsiet labot pārējos " +"lietotāja uzstādījumus." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Lietotāja vārds" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:33 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:184 -msgid "Password" -msgstr "Parole" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:39 -#: contrib/auth/forms.py:185 -msgid "Password (again)" -msgstr "Parole (vēlreiz)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -msgid "Enter the same password as above, for verification." -msgstr "Pārbaudei atkārtoti ievadiet to pašu paroli kā augstāk." - -#: contrib/admin/templates/admin/auth/user/change_password.html:26 +#: 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:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Parole" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Parole (vēlreiz)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Pārbaudei atkārtoti ievadiet to pašu paroli kā augstāk." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Pievienot vēl %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Dzēst" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Dzēst?" @@ -757,9 +907,9 @@ msgid "Log in again" msgstr "Pieslēgties vēlreiz" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Paroles maiņa" @@ -770,31 +920,27 @@ 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." +msgstr "Jūsu parole tika nomainīta." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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 jauno paroli " -"divreiz, lai varētu pārbaudīt, vai tā ir uzrakstīta pareizi." +"divreiz, lai varētu pārbaudīt, ka 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:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Vecā parole" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Jaunā parole:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Jaunā parole" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Apstiprināt paroli:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Nomainīt manu paroli" @@ -830,9 +976,17 @@ msgid "" "Please enter your new password twice so we can verify you typed it in " "correctly." msgstr "" -"Lūdzu ievadiet Jūsu jauno paroli divreiz lai varētu pārbaudīt, vai tā ir " +"Lūdzu ievadiet jauno paroli divreiz, lai varētu pārbaudīt, ka tā ir " "uzrakstīta pareizi." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Jaunā parole:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Apstiprināt paroli:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Paroles pārstatīšana nesekmīga" @@ -842,7 +996,7 @@ msgid "" "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." msgstr "" -"Paroles parstatīšanas saite bija nekorekta, iespējams tā jau ir izmantota. " +"Paroles pārstatīšanas saite bija nekorekta, iespējams, tā jau ir izmantota. " "Lūdzu pieprasiet paroles pārstatīšanu vēlreiz." #: contrib/admin/templates/registration/password_reset_done.html:6 @@ -855,22 +1009,21 @@ msgid "" "We've e-mailed you instructions for setting your password to the e-mail " "address you submitted. You should be receiving it shortly." msgstr "" -"Uz pa e-pastu aizsūtītas instrukcijas paroles uzstādīšanai. Jūs to drīzumā " -"saņemsiet." +"Uz e-pastu aizsūtītas instrukcijas paroles uzstādīšanai. Jums to drīzumā " +"vajadzētu saņemt." #: 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" +msgstr "Jūs esat saņēmuši šo e-pastu sakarā ar 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ā" +msgstr "lietotāja kontam %(site_name)s mājaslapā" #: contrib/admin/templates/registration/password_reset_email.html:5 msgid "Please go to the following page and choose a new password:" -msgstr "Lūdzu apmeklējiet sekojošo lapu un izvēlieties jaunu paroli:" +msgstr "Lūdzu apmeklējiet sekojošo lapu un ievadiet jaunu paroli:" #: contrib/admin/templates/registration/password_reset_email.html:9 msgid "Your username, in case you've forgotten:" @@ -890,8 +1043,8 @@ msgid "" "Forgotten your password? Enter your e-mail address below, and we'll e-mail " "instructions for setting a new one." msgstr "" -"Aizmirsāt savu paroli? Ievadiet e-pasta adresi zemāk un Jums pienāks e-pasts " -"ar instrukcijām jaunas paroles uzstādīšanai." +"Aizmirsāt savu paroli? Ievadiet e-pasta adresi zemāk un saņemsiet e-pastu ar " +"instrukcijām jaunas paroles uzstādīšanai." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -901,165 +1054,85 @@ msgstr "E-pasta adrese:" msgid "Reset my password" msgstr "Paroles pārstatīšana" -#: contrib/admin/templatetags/admin_list.py:288 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Visi datumi" -#: contrib/admin/views/main.py:69 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "Izvēlēties %s" -#: contrib/admin/views/main.py:69 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" -msgstr "Izvēlēties %s lai izmainītu" +msgstr "Izvēlēties %s, lai izmainītu" -#: contrib/admin/views/template.py:36 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" -msgstr "saits" +msgstr "mājaslapa" -#: contrib/admin/views/template.py:38 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "šablons" -#: contrib/admindocs/views.py:57 contrib/admindocs/views.py:59 -#: contrib/admindocs/views.py:61 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "tags:" -#: contrib/admindocs/views.py:90 contrib/admindocs/views.py:92 -#: contrib/admindocs/views.py:94 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "filtrs:" -#: contrib/admindocs/views.py:154 contrib/admindocs/views.py:156 -#: contrib/admindocs/views.py:158 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "skats:" -#: contrib/admindocs/views.py:186 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "Lietotne %r netika atrasta" -#: contrib/admindocs/views.py:193 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "Modelis %(model_name)r lietotnē %(app_label)r nav atrasts" -#: contrib/admindocs/views.py:205 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "saistītais `%(app_label)s.%(data_type)s` objekts" -#: contrib/admindocs/views.py:205 contrib/admindocs/views.py:227 -#: contrib/admindocs/views.py:241 contrib/admindocs/views.py:246 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "modelis:" -#: contrib/admindocs/views.py:236 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "saistītie `%(app_label)s.%(object_name)s` objekti" -#: contrib/admindocs/views.py:241 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "visi %s" -#: contrib/admindocs/views.py:246 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "%s skaits" -#: contrib/admindocs/views.py:251 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "Lauki %s objektiem" -#: contrib/admindocs/views.py:314 contrib/admindocs/views.py:325 -#: contrib/admindocs/views.py:327 contrib/admindocs/views.py:333 -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:336 -msgid "Integer" -msgstr "Vesels skaitlis" - -#: contrib/admindocs/views.py:315 -msgid "Boolean (Either True or False)" -msgstr "Boolean (jā vai nē)" - -#: contrib/admindocs/views.py:316 contrib/admindocs/views.py:335 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Simbolu virkne (līdz pat %(max_length)s)" - -#: contrib/admindocs/views.py:317 -msgid "Comma-separated integers" -msgstr "Ar komatu atdalīti veselie skaitļi" - -#: contrib/admindocs/views.py:318 -msgid "Date (without time)" -msgstr "Datums (bez laika)" - -#: contrib/admindocs/views.py:319 -msgid "Date (with time)" -msgstr "Datums (ar laiku)" - -#: contrib/admindocs/views.py:320 -msgid "Decimal number" -msgstr "Decimāls skaitlis" - -#: contrib/admindocs/views.py:321 -msgid "E-mail address" -msgstr "E-pasta adrese" - -#: contrib/admindocs/views.py:322 contrib/admindocs/views.py:323 -#: contrib/admindocs/views.py:326 -msgid "File path" -msgstr "Faila ceļš" - -#: contrib/admindocs/views.py:324 -msgid "Floating point number" -msgstr "Plūstošā punkta skaitlis" - -#: contrib/admindocs/views.py:328 contrib/comments/models.py:58 -msgid "IP address" -msgstr "IP adrese" - -#: contrib/admindocs/views.py:330 -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (jā, nē vai neviens)" - -#: contrib/admindocs/views.py:331 -msgid "Relation to parent model" -msgstr "Relācija uz vecāka modeli" - -#: contrib/admindocs/views.py:332 -msgid "Phone number" -msgstr "Telefona numurs" - -#: contrib/admindocs/views.py:337 -msgid "Text" -msgstr "Teksts" - -#: contrib/admindocs/views.py:338 -msgid "Time" -msgstr "Laiks" - -#: contrib/admindocs/views.py:339 contrib/comments/forms.py:22 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:340 -msgid "U.S. state (two uppercase letters)" -msgstr "ASV štats (divi augšējā reģistra burti)" - -#: contrib/admindocs/views.py:341 -msgid "XML text" -msgstr "XML teksts" - -#: contrib/admindocs/views.py:367 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s nav urlpattern objekts" @@ -1083,14 +1156,15 @@ msgid "" "your computer is \"internal\").

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

                        Lai uzstādītu grāmatzīmes, aizvelciet saiti uz Jūsu " +"

                        Lai uzstādītu grāmatzīmes, aizvelciet saiti uz pārlūka " "grāmatzīmju\n" -"rīkjoslur, vai arī veiciet labo klikšķi un pievienojiet to savām " -"grāmatzīmēm. Tagad varat \n" -"izvēlēties grāmatzīmi no jebkuras lapas. Ievērojiet, ka, lai lietotu dažas " -"no šīm\n" +"rīkjoslu vai arī veiciet labo klikšķi un pievienojiet to savām grāmatzīmēm. " +"Tagad varat \n" +"izvēlēties grāmatzīmi no jebkuras lapas šajā mājaslapā. Ievērojiet, ka, lai " +"lietotu dažas no šīm\n" "grāmatzīmēm, jums jālieto dators, kura IP adrese reģistrēta kā \"iekšēja\"\n" -"(ja ir neskaidrības, runājiet ar sistēmas administratoru).

                        \n" +"(ja ir neskaidrības, vai dators ir \"iekšējais\", runājiet ar sistēmas " +"administratoru).

                        \n" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 msgid "Documentation for this page" @@ -1101,7 +1175,7 @@ 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." +"Pārvieto no jebkuras lapas uz tā skata dokumentāciju, kas ģenerē šo lapu." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 msgid "Show object ID" @@ -1115,320 +1189,384 @@ msgstr "Parāda content-type un unikālo ID lapām, kas atbilst vienam objektam. #: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 msgid "Edit this object (current window)" -msgstr "Labot šo objektu (patreizējā logā)" +msgstr "Labot šo objektu (pašreizējā logā)" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 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." +msgstr "Pārvieto uz admininstrācijas lapu tām lapām, kas attēlo vienu objektu." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 msgid "Edit this object (new window)" -msgstr "Labot šo lapu (jaunā logā)" +msgstr "Labot šo objektu (jaunā logā)" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:28 msgid "As above, but opens the admin page in a new window." -msgstr "Tāpat kā iepriekš, tikai atver administrācijas lapu jaunā logā." +msgstr "Tāpat kā augstāk, tikai atver administrācijas lapu jaunā logā." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Personīgā informācija" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" -msgstr "Atļaujas" +msgstr "Tiesības" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Svarīgi datumi" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Grupas" -#: contrib/auth/admin.py:64 -msgid "Add user" -msgstr "Pievienot lietotāju" - -#: contrib/auth/admin.py:90 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Paroles nomainīta sekmīgi." -#: contrib/auth/admin.py:96 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Paroles maiņa: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:136 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "Nepieciešamas 30 vai mazāk zīmes. Tikai burti, cipari un apakšsvītras." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Lietotāja vārds" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Šī vērtība var saturēt tikai burtus, numurus un apakšsvītras." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Obligāts. 30 vai mazāk zīmes. Tikai burti, cipari un @/./+/-/_ ." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Šī vērtība var saturēt tikai burtus, ciparus un @/./+/-/_ simbolus" #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Paroles apstiprinājums" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Lietotājs ar šādu lietotāja vārdu jau eksistē." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:154 -#: contrib/auth/forms.py:196 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Paroles lauki nesakrita." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." -msgstr "Šis konts ir neaktīvs." +msgstr "Šis konts nav aktīvs." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 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." +"Izskatās, ka izmantotajam pārlūkam nav ieslēgtas sīkdatnes (cookies). Tās ir " +"obligātas, lai pieslēgtos." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-pasts" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" msgstr "" -"Šai epasta parolei nav registrēts lietotāja konts. Vai tiešām esat " +"Šim e-pastam nav registrēta lietotāja konta. Vai tiešām esat " "piereģistrējušies?" -#: contrib/auth/forms.py:134 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Paroles pārstatīšana(reset) uz %s" -#: contrib/auth/forms.py:142 -msgid "New password" -msgstr "Jaunā parole" - -#: contrib/auth/forms.py:143 +#: contrib/auth/forms.py:145 msgid "New password confirmation" -msgstr "Jaunās parole vēlreiz:" +msgstr "Jaunās parole vēlreiz" -#: contrib/auth/forms.py:168 -msgid "Old password" -msgstr "Vecā parole" - -#: contrib/auth/forms.py:176 +#: contrib/auth/forms.py:178 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." +"Jūsu iepriekšējā parole netika ievadīta korekti. Lūdzu ievadiet to atkārtoti." -#: contrib/auth/models.py:72 contrib/auth/models.py:95 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "nosaukums" -#: contrib/auth/models.py:74 +#: contrib/auth/models.py:68 msgid "codename" msgstr "kods" -#: contrib/auth/models.py:77 +#: contrib/auth/models.py:72 msgid "permission" msgstr "tiesība" -#: contrib/auth/models.py:78 contrib/auth/models.py:96 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "tiesības" -#: contrib/auth/models.py:99 +#: contrib/auth/models.py:98 msgid "group" msgstr "grupa" -#: contrib/auth/models.py:100 contrib/auth/models.py:146 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "grupas" -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:196 msgid "username" msgstr "lietotāja vārds" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "Obligāts. 30 vai mazāk zīmes. Tikai burti, cipari un @/./+/-/_ simboli" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "vārds" -#: contrib/auth/models.py:138 +#: contrib/auth/models.py:198 msgid "last name" msgstr "uzvārds" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "e-pasta adrese" -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:200 msgid "password" msgstr "parole" -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." msgstr "" -"Lietojiet '[algo]$[salt]$[hexdigest]' vai arī paroles " +"Lietojiet '[algo]$[salt]$[hexdigest]', vai arī paroles " "maiņas formu." -#: contrib/auth/models.py:141 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "personāla statuss" -#: contrib/auth/models.py:141 +#: contrib/auth/models.py:201 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:142 +#: contrib/auth/models.py:202 msgid "active" msgstr "aktīvs" -#: contrib/auth/models.py:142 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." -msgstr "Nosaka, vai lietotājs ir aktīvs. Atceliet šo kontu dzēšanas vietā." +msgstr "Nosaka, vai lietotājs ir aktīvs. Atceliet šo konta dzēšanas vietā." -#: contrib/auth/models.py:143 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "superlietotāja statuss" -#: contrib/auth/models.py:143 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." -msgstr "Lietotājam ir visas tiesības, bez atsevišķas to piešķiršanas." +msgstr "Lietotājam ir visas tiesības arī bez to atsevišķas piešķiršanas." -#: contrib/auth/models.py:144 +#: contrib/auth/models.py:204 msgid "last login" msgstr "pēdējoreiz pieslēdzies" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "datums, kad pievienojies" -#: contrib/auth/models.py:147 +#: contrib/auth/models.py:207 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 " -"tiesības, kas piešķirtas grupām, kurās lietotājs atrodas." +"Papildus manuāli piešķirtajām atļaujām, šis lietotājs papildus iegūs arī " +"visas tiesības, kas piešķirtas arī lietotāja grupām." -#: contrib/auth/models.py:148 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "lietotāja tiesības" -#: contrib/auth/models.py:152 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 msgid "user" msgstr "lietotājs" -#: contrib/auth/models.py:153 +#: contrib/auth/models.py:213 msgid "users" msgstr "lietotāji" -#: contrib/auth/models.py:308 +#: contrib/auth/models.py:394 msgid "message" -msgstr "ziņojums" +msgstr "ziņa" -#: contrib/auth/views.py:50 +#: contrib/auth/views.py:79 msgid "Logged out" -msgstr "Izlogojies" +msgstr "Atslēdzies" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:428 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Ievadiet korektu e-pasta adresi." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Saturs" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metadati" -#: contrib/comments/forms.py:20 +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "atzīmēts" +msgstr[1] "atzīmēti" +msgstr[2] "atzīmēts" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Atzīmēt izvēlētos komentārus" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "apstiprināts" +msgstr[1] "apstiprināti" +msgstr[2] "apstiprināti" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Apstiprināt izvēlētos komentārus" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "dzēsts" +msgstr[1] "dzēsti" +msgstr[2] "dzēsts" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Dzēst izvēlētos komentārus" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "%(count)s komentārs tika veiksmīgi %(action)s." +msgstr[1] "%(count)s komentāri tika veiksmīgi %(action)s." +msgstr[2] "%(count)s komentāru tika veiksmīgi %(action)s." + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "%(site_name)s komentāri" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "Pēdējie komentāri lapā %(site_name)s" + +#: contrib/comments/forms.py:93 msgid "Name" msgstr "Vārds" -#: contrib/comments/forms.py:21 +#: contrib/comments/forms.py:94 msgid "Email address" msgstr "E-pasta adrese" -#: contrib/comments/forms.py:23 +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + +#: contrib/comments/forms.py:96 msgid "Comment" msgstr "Komentārs" -#: contrib/comments/forms.py:26 -msgid "" -"If you enter anything in this field your comment will be treated as spam" -msgstr "" -"Ja ierakstīsiet kaut ko šajā laukā, tad komentārs tiks uzskatīts par spamu" - -#: contrib/comments/forms.py:126 -#, fuzzy, python-format +#: contrib/comments/forms.py:175 +#, 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 šeit nav atļauts." -msgstr[1] "Seko saviem vārdiem! Vārds %s šeit nav atļauts." +msgstr[0] "Lūdzam ievērot pieklājību! Vārds %s šeit nav atļauts." +msgstr[1] "Lūdzam ievērot pieklājību! Vārdi %s šeit nav atļauti." +msgstr[2] "Lūdzam ievērot pieklājību! Vārdi %s šeit nav atļauti." -#: contrib/comments/models.py:23 +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "Ja aizpildīsiet šo lauku, tad komentārs tiks uzskatīts par spamu" + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "satura tips" + +#: contrib/comments/models.py:24 msgid "object ID" msgstr "objekta ID" -#: contrib/comments/models.py:50 +#: contrib/comments/models.py:52 msgid "user's name" msgstr "lietotāja vārds" -#: contrib/comments/models.py:51 +#: contrib/comments/models.py:53 msgid "user's email address" msgstr "lietotāja e-pasta adrese" -#: contrib/comments/models.py:52 +#: contrib/comments/models.py:54 msgid "user's URL" msgstr "lietotāja URL" -#: contrib/comments/models.py:54 +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 msgid "comment" msgstr "komentārs" -#: contrib/comments/models.py:57 +#: contrib/comments/models.py:59 msgid "date/time submitted" msgstr "nosūtīšanas datums/laiks" -#: contrib/comments/models.py:59 +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP adrese" + +#: contrib/comments/models.py:61 msgid "is public" msgstr "publisks" -#: contrib/comments/models.py:60 +#: contrib/comments/models.py:62 msgid "" "Uncheck this box to make the comment effectively disappear from the site." -msgstr "Noņemiet ķeksīti, lai komentārs pazustu no lapas." +msgstr "Noņemiet ķeksi, lai komentārs neparādītos lapā." -#: contrib/comments/models.py:62 +#: contrib/comments/models.py:64 msgid "is removed" msgstr "dzēsts" -#: contrib/comments/models.py:63 +#: contrib/comments/models.py:65 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. Tā vietā tiks rādīts paziņojums " -"\"Šis komentārs ir izdzēsts\"." +"Atķeksējiet, ja komentārs ir neatbilstošs (nepieklājīgs). Tā vietā tiks " +"rādīts paziņojums \"Šis komentārs ir izdzēsts\"." -#: contrib/comments/models.py:115 +#: contrib/comments/models.py:77 +msgid "comments" +msgstr "komentāri" + +#: contrib/comments/models.py:119 msgid "" "This comment was posted by an authenticated user and thus the name is read-" "only." @@ -1436,15 +1574,15 @@ msgstr "" "Šo komentāru rakstīja autentificēts lietotājs, tāpēc vārds ir tikai " "lasīšanas režīmā." -#: contrib/comments/models.py:124 +#: contrib/comments/models.py:128 msgid "" "This comment was posted by an authenticated user and thus the email is read-" "only." msgstr "" -"Šo komentāru rakstīja autentificēts lietotājs, tapēc e-pasts ir tikai " +"Šo komentāru rakstīja autentificēts lietotājs, tāpēc e-pasts ir tikai " "lasīšanas režīmā." -#: contrib/comments/models.py:149 +#: contrib/comments/models.py:153 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -1459,15 +1597,117 @@ msgstr "" "\n" "http://%(domain)s%(url)s" -#: contrib/contenttypes/models.py:67 +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "atzīmēt" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "datums" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "komentāra atzīmējums" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "komentāra atzīmējumi" + +#: contrib/comments/templates/comments/approve.html:4 +msgid "Approve a comment" +msgstr "Apstiprināt komentāru" + +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "Patiešām padarīt šo komentāru publisku?" + +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "Apstiprināt" + +#: contrib/comments/templates/comments/approved.html:4 +msgid "Thanks for approving" +msgstr "Paldies par apstiprināšanu" + +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "" +"Paldies par laika veltīšanu mūsu lapas diskusiju kvalitātes uzlabošanai" + +#: contrib/comments/templates/comments/delete.html:4 +msgid "Remove a comment" +msgstr "Dzēst komentāru" + +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "Patiešām dzēst šo komentāru?" + +#: contrib/comments/templates/comments/deleted.html:4 +msgid "Thanks for removing" +msgstr "Paldies par dzēšanu" + +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "Atzīmēt šo komentāru" + +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "Patiešām atzīmēt šo komentāru?" + +#: contrib/comments/templates/comments/flag.html:12 +msgid "Flag" +msgstr "Atzīmējums" + +#: contrib/comments/templates/comments/flagged.html:4 +msgid "Thanks for flagging" +msgstr "Paldies par komentāra atzīmēšanu" + +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +msgid "Post" +msgstr "Iesūtīt" + +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +msgid "Preview" +msgstr "Priekšskats" + +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "Paldies par komentēšanu" + +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "Paldies par Jūsu komentāru" + +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" +msgstr "Pirmsskatīt komentāru" + +#: contrib/comments/templates/comments/preview.html:11 +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." +msgstr[2] "Lūdzu, izlabojiet kļūdu zemāk." + +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "Iesūtīt komentāru" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "or make changes" +msgstr "vai veikt izmaiņas" + +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "python modeļa klases nosaukums" -#: contrib/contenttypes/models.py:71 -msgid "content type" -msgstr "satura tips" - -#: contrib/contenttypes/models.py:72 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "satura tipi" @@ -1483,7 +1723,7 @@ 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 " +"Šī vērtība var saturēt tikai burtus, ciparus, apakšsvītras, svītras un " "šķērssvītras." #: contrib/flatpages/admin.py:22 @@ -1521,8 +1761,7 @@ msgstr "reģistrācija obligāta" #: contrib/flatpages/models.py:13 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." +"Ja šis ir atzīmēts, tikai pieslēgušies lietotāji, varēs piekļūt šai lapu." #: contrib/flatpages/models.py:18 msgid "flat page" @@ -1532,26 +1771,65 @@ msgstr "vienkārša lapa" msgid "flat pages" msgstr "vienkāršas lapas" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." msgstr "" -"Atvainojiet, formai beidzies derīguma termiņš. Lūdzu turpiniet aizpildīt " +"Atvainojiet, formai beidzies derīguma termiņš. Lūdzu, turpiniet aizpildīt " "formu no šīs lapas." -#: contrib/gis/forms/fields.py:14 +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "Bāzes ĢIS lauks -- atbilst OpenGIS specifikācijas Geometry tipam." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Punkts" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Līniju virkne" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Daudzstūris" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Vairāki punkti" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Vairāku rindu virkne" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Vairāki daudzstūri" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Ģeometrijas kolekcija" + +#: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Nav norādīta ģeometrijas vērtība." -#: contrib/gis/forms/fields.py:15 +#: contrib/gis/forms/fields.py:18 msgid "Invalid geometry value." msgstr "Nekorekta ģeometrijas vērtība." -#: contrib/gis/forms/fields.py:16 +#: contrib/gis/forms/fields.py:19 msgid "Invalid geometry type." msgstr "Nekorekts ģeometrijas tips." +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" +"Sastapta kļūda, pārveidojot ģeometriju uz ģeometriskās formas lauka SRID." + #: contrib/humanize/templatetags/humanize.py:19 msgid "th" msgstr "th" @@ -1569,25 +1847,28 @@ msgid "rd" msgstr "rd" #: contrib/humanize/templatetags/humanize.py:51 -#, fuzzy, python-format +#, python-format msgid "%(value).1f million" msgid_plural "%(value).1f million" msgstr[0] "%(value).1f miljons" -msgstr[1] "%(value).1f miljons" +msgstr[1] "%(value).1f miljoni" +msgstr[2] "%(value).1f miljonu" #: contrib/humanize/templatetags/humanize.py:54 -#, fuzzy, python-format +#, python-format msgid "%(value).1f billion" msgid_plural "%(value).1f billion" msgstr[0] "%(value).1f miljards" -msgstr[1] "%(value).1f miljards" +msgstr[1] "%(value).1f miljardi" +msgstr[2] "%(value).1f miljardu" #: contrib/humanize/templatetags/humanize.py:57 -#, fuzzy, python-format +#, python-format msgid "%(value).1f trillion" msgid_plural "%(value).1f trillion" msgstr[0] "%(value).1f triljons" -msgstr[1] "%(value).1f triljons" +msgstr[1] "%(value).1f triljoni" +msgstr[2] "%(value).1f triljonu" #: contrib/humanize/templatetags/humanize.py:73 msgid "one" @@ -1637,35 +1918,35 @@ msgstr "rīt" msgid "yesterday" msgstr "vakar" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Ievadiet pasta indeksu NNNN vai ANNNNAAA formātā." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." -msgstr "Šis lauks drīkst saturēt tikai skaitļus." +msgstr "Šis lauks drīkst saturēt tikai ciparus." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Šim laukam jasastāv no 7 vai 8 cipariem." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Ievadiet korektu CUIT XX-XXXXXXXX-X vai XXXXXXXXXXXX formātos." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Nekorekts CUIT." #: contrib/localflavor/at/at_states.py:5 msgid "Burgenland" -msgstr "" +msgstr "Burgenlande" #: contrib/localflavor/at/at_states.py:6 msgid "Carinthia" -msgstr "" +msgstr "Karintija" #: contrib/localflavor/at/at_states.py:7 msgid "Lower Austria" @@ -1681,7 +1962,7 @@ msgstr "Zalcburga" #: contrib/localflavor/at/at_states.py:10 msgid "Styria" -msgstr "Styria" +msgstr "Stīrija" #: contrib/localflavor/at/at_states.py:11 msgid "Tyrol" @@ -1695,60 +1976,60 @@ msgstr "" msgid "Vienna" msgstr "Vīne" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Ievadiet pasta indeksu formātā XXXX." #: contrib/localflavor/at/forms.py:48 msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." -msgstr "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." +msgstr "" +"Ievadiet korektu Austrijas sociālās drošības numuru XXXX XXXXXX formātā." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." -msgstr "Ievadiet pasta indeksu, kurš sastāv no 4 cipariem." +msgstr "Ievadiet pasta indeksu no 4 cipariem." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Ievadiet pasta indeksu XXXXX-XXX formātā." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." -msgstr "Telefona numuriem jābūt XXX-XXXX-XXXX formātā." +msgstr "Tālruņa numuriem jābūt XXX-XXXX-XXXX formātā." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "" -"Select a valid brazilian state. That state is not one of the available " -"states." +"Izvēlēties derīgu Brazīlijas pavalsti. Šī pavalsts nav no pieejamajām " +"pavalstīm." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." -msgstr "" +msgstr "Nekorekts CPF numurs" -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." -msgstr "Šī lauka vērtībai jabūt vismaz 11 cipariem vai 14 simboliem." +msgstr "Šī lauka vērtībai jābūt ne vairāk kā 11 cipariem vai 14 simboliem." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." -msgstr "" +msgstr "Nekorekts CNPJ numurs" -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" -msgstr "Šim laukam jasastāv vismaz no 14 cipariem." +msgstr "Šim laukam jasastāv ne vairāk kā no 14 cipariem." -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Ievadiet pasta indeksu formātā XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" -"Ievadiet korektu kanādiešu sociālās apdrošināšanas numuru XXX-XXX-XXX " -"formātā." +"Ievadiet korektu Kanādas sociālās apdrošināšanas numuru XXX-XXX-XXX formātā." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -1784,7 +2065,7 @@ msgstr "Ženēva" #: contrib/localflavor/ch/ch_states.py:13 msgid "Glarus" -msgstr "Glarus" +msgstr "Glarusa" #: contrib/localflavor/ch/ch_states.py:14 msgid "Graubuenden" @@ -1832,7 +2113,7 @@ msgstr "Thurgau" #: contrib/localflavor/ch/ch_states.py:25 msgid "Ticino" -msgstr "" +msgstr "Ticino" #: contrib/localflavor/ch/ch_states.py:26 msgid "Uri" @@ -1840,7 +2121,7 @@ msgstr "" #: contrib/localflavor/ch/ch_states.py:27 msgid "Valais" -msgstr "" +msgstr "Valē" #: contrib/localflavor/ch/ch_states.py:28 msgid "Vaud" @@ -1852,9 +2133,9 @@ msgstr "Zug" #: contrib/localflavor/ch/ch_states.py:30 msgid "Zurich" -msgstr "" +msgstr "Cīrige" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -1862,21 +2143,98 @@ msgstr "" "Lūdzu ievadiet korektu šveiciešu identifikācijas vai pases nummuru " "X1234567<0 vai 1234567890 formātā." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Ievadiet korektu čīliešu RUT" -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid 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:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Čīles RUT ir nekorekts." +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "Prāga" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "Centrālbohēmijas reģions" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "Dienvidbohēmijas reģions" + +#: contrib/localflavor/cz/cz_regions.py:11 +msgid "Pilsen Region" +msgstr "Pilzenes reģions" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "Karslbādes reģions" + +#: contrib/localflavor/cz/cz_regions.py:13 +msgid "Usti Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:14 +msgid "Liberec Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:15 +msgid "Hradec Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:16 +msgid "Pardubice Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:17 +msgid "Vysocina Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:20 +msgid "Zlin Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "" + +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "Ievadiet pasta indeksu XXXXX vai XXX XX formātos." + +#: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "Ievadiet dzimšanas numuru XXXXXX/XXXX vai XXXXXXXXXX formātā." + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" +"Nekorekts neobligatais parametrs dzimums, korektās vērtības ir 'f' un 'm'." + +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "Ievadiet korektu dzimšanas numuru." + +#: contrib/localflavor/cz/forms.py:107 +msgid "Enter a valid IC number." +msgstr "Ievadiet korektu IC numuru." + #: contrib/localflavor/de/de_states.py:5 msgid "Baden-Wuerttemberg" -msgstr "" +msgstr "Bādene-Virtemburga" #: contrib/localflavor/de/de_states.py:6 msgid "Bavaria" @@ -1904,7 +2262,7 @@ msgstr "Hesene" #: contrib/localflavor/de/de_states.py:12 msgid "Mecklenburg-Western Pomerania" -msgstr "" +msgstr "Meklenburga-Rietumpomerānija" #: contrib/localflavor/de/de_states.py:13 msgid "Lower Saxony" @@ -1912,11 +2270,11 @@ msgstr "Lejassaksija" #: contrib/localflavor/de/de_states.py:14 msgid "North Rhine-Westphalia" -msgstr "" +msgstr "Ziemeļreina-Vestfālija" #: contrib/localflavor/de/de_states.py:15 msgid "Rhineland-Palatinate" -msgstr "" +msgstr "Reinaszeme-Pfalca" #: contrib/localflavor/de/de_states.py:16 msgid "Saarland" @@ -1924,36 +2282,36 @@ msgstr "" #: contrib/localflavor/de/de_states.py:17 msgid "Saxony" -msgstr "" +msgstr "Saksija" #: contrib/localflavor/de/de_states.py:18 msgid "Saxony-Anhalt" -msgstr "" +msgstr "Saksija-Anhalte" #: contrib/localflavor/de/de_states.py:19 msgid "Schleswig-Holstein" -msgstr "" +msgstr "Šlesviga-Holšteina" #: contrib/localflavor/de/de_states.py:20 msgid "Thuringia" -msgstr "" +msgstr "Tīringene" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Ievadiet pasta indeksu formātā XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 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ā." +"Ievadiet korektu Vācijas identifikācijas kartes numuru XXXXXXXXXXX-XXXXXXX-" +"XXXXXXX-X formātā." #: contrib/localflavor/es/es_provinces.py:5 msgid "Arava" -msgstr "" +msgstr "Arava" #: contrib/localflavor/es/es_provinces.py:6 msgid "Albacete" @@ -1965,7 +2323,7 @@ msgstr "" #: contrib/localflavor/es/es_provinces.py:8 msgid "Almeria" -msgstr "" +msgstr "Almērija" #: contrib/localflavor/es/es_provinces.py:9 msgid "Avila" @@ -1993,7 +2351,7 @@ msgstr "" #: contrib/localflavor/es/es_provinces.py:15 msgid "Cadiz" -msgstr "" +msgstr "Kadisa" #: contrib/localflavor/es/es_provinces.py:16 msgid "Castello" @@ -2017,15 +2375,15 @@ msgstr "" #: contrib/localflavor/es/es_provinces.py:21 msgid "Girona" -msgstr "" +msgstr "Hirona" #: contrib/localflavor/es/es_provinces.py:22 msgid "Granada" -msgstr "Granada" +msgstr "Granāda" #: contrib/localflavor/es/es_provinces.py:23 msgid "Guadalajara" -msgstr "" +msgstr "Gvadalahara" #: contrib/localflavor/es/es_provinces.py:24 msgid "Guipuzkoa" @@ -2071,48 +2429,48 @@ msgstr "Malaga" #: contrib/localflavor/es/es_provinces.py:34 msgid "Murcia" -msgstr "" +msgstr "Mursija" #: contrib/localflavor/es/es_provinces.py:35 msgid "Navarre" -msgstr "" +msgstr "Navarra" #: contrib/localflavor/es/es_provinces.py:36 msgid "Ourense" -msgstr "" +msgstr "Orense" #: contrib/localflavor/es/es_provinces.py:37 msgid "Asturias" -msgstr "" +msgstr "Astūrija" #: contrib/localflavor/es/es_provinces.py:38 msgid "Palencia" -msgstr "" +msgstr "Palensija" #: contrib/localflavor/es/es_provinces.py:39 msgid "Las Palmas" -msgstr "" +msgstr "Laspalmasa" #: contrib/localflavor/es/es_provinces.py:40 msgid "Pontevedra" -msgstr "" +msgstr "Pontevedra" #: contrib/localflavor/es/es_provinces.py:41 msgid "Salamanca" -msgstr "" +msgstr "Salamanka" #: contrib/localflavor/es/es_provinces.py:42 msgid "Santa Cruz de Tenerife" -msgstr "" +msgstr "Tenerifes Santa Kruza" #: contrib/localflavor/es/es_provinces.py:43 #: contrib/localflavor/es/es_regions.py:11 msgid "Cantabria" -msgstr "" +msgstr "Kantabrija" #: contrib/localflavor/es/es_provinces.py:44 msgid "Segovia" -msgstr "" +msgstr "Segovija" #: contrib/localflavor/es/es_provinces.py:45 msgid "Seville" @@ -2120,11 +2478,11 @@ msgstr "Seviļa" #: contrib/localflavor/es/es_provinces.py:46 msgid "Soria" -msgstr "" +msgstr "Sorija" #: contrib/localflavor/es/es_provinces.py:47 msgid "Tarragona" -msgstr "" +msgstr "Taragona" #: contrib/localflavor/es/es_provinces.py:48 msgid "Teruel" @@ -2140,11 +2498,11 @@ msgstr "Valensija" #: contrib/localflavor/es/es_provinces.py:51 msgid "Valladolid" -msgstr "" +msgstr "Valadolida" #: contrib/localflavor/es/es_provinces.py:52 msgid "Bizkaia" -msgstr "" +msgstr "Biskaja" #: contrib/localflavor/es/es_provinces.py:53 msgid "Zamora" @@ -2152,7 +2510,7 @@ msgstr "" #: contrib/localflavor/es/es_provinces.py:54 msgid "Zaragoza" -msgstr "" +msgstr "Saragosa" #: contrib/localflavor/es/es_provinces.py:55 msgid "Ceuta" @@ -2164,35 +2522,35 @@ msgstr "" #: contrib/localflavor/es/es_regions.py:5 msgid "Andalusia" -msgstr "" +msgstr "Andalūzija" #: contrib/localflavor/es/es_regions.py:6 msgid "Aragon" -msgstr "" +msgstr "Aragona" #: contrib/localflavor/es/es_regions.py:7 msgid "Principality of Asturias" -msgstr "" +msgstr "Astūrijas novads" #: contrib/localflavor/es/es_regions.py:8 msgid "Balearic Islands" -msgstr "" +msgstr "Baleāru salas" #: contrib/localflavor/es/es_regions.py:9 msgid "Basque Country" -msgstr "" +msgstr "Basku zeme" #: contrib/localflavor/es/es_regions.py:10 msgid "Canary Islands" -msgstr "" +msgstr "Kanāriju salas" #: contrib/localflavor/es/es_regions.py:12 msgid "Castile-La Mancha" -msgstr "" +msgstr "Kastīlija La Manša" #: contrib/localflavor/es/es_regions.py:13 msgid "Castile and Leon" -msgstr "" +msgstr "Kastīlija Leona" #: contrib/localflavor/es/es_regions.py:14 msgid "Catalonia" @@ -2200,7 +2558,7 @@ msgstr "Katalonija" #: contrib/localflavor/es/es_regions.py:15 msgid "Extremadura" -msgstr "" +msgstr "Ekstremadūra" #: contrib/localflavor/es/es_regions.py:16 msgid "Galicia" @@ -2208,7 +2566,7 @@ msgstr "Galīcija" #: contrib/localflavor/es/es_regions.py:19 msgid "Region of Murcia" -msgstr "" +msgstr "Mursijas reģions" #: contrib/localflavor/es/es_regions.py:20 msgid "Foral Community of Navarre" @@ -2218,83 +2576,517 @@ msgstr "" msgid "Valencian Community" msgstr "" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "" +"Ievadiet korektu pasta indeksu sekojošajā formātā un robežās 01XXX - 52XXX" -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." msgstr "" - -#: contrib/localflavor/es/forms.py:66 -msgid "Please enter a valid NIF, NIE, or CIF." -msgstr "" +"Ievadiet korektu tālruņa numuru vienā no sekojošajiem formātiem 6XXXXXXXX, " +"8XXXXXXXX vai 9XXXXXXXX." #: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Ievadiet korektu NIF, NIE vai CIF." + +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Lūdzu ievadiet korektu NIF vai NIE." -#: contrib/localflavor/es/forms.py:68 -msgid "Invalid checksum for NIF." -msgstr "" - #: contrib/localflavor/es/forms.py:69 -msgid "Invalid checksum for NIE." -msgstr "" +msgid "Invalid checksum for NIF." +msgstr "Nekorekta NIF kontrolsumma." #: contrib/localflavor/es/forms.py:70 -msgid "Invalid checksum for CIF." -msgstr "" +msgid "Invalid checksum for NIE." +msgstr "Nekorekta NIE kontrolsumma." -#: contrib/localflavor/es/forms.py:142 -msgid "" -"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." -msgstr "" +#: contrib/localflavor/es/forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "Nekorekta CIF kontrolsumma." #: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Ievadiet korektu bankas konta numuru formātā XXXX-XXXX-XX-XXXXXXXXXX." + +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." +msgstr "Nekorekta bankas konta numura kontrolsumma." + +#: contrib/localflavor/fi/forms.py:29 +msgid "Enter a valid Finnish social security number." +msgstr "Ievadiet korektu Somijas sociālās drošības nummuru." + +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Telefona numuriem jābūt 0X XX XX XX XX formātā." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Ievadiet korektu pasta indeksu." + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Ievadiet korektu tālruņa numuru." + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Ievadiet korektu transportlīdzekļa numuru." + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Ievadiet korektu NIK/KTP numuru." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" msgstr "" -#: contrib/localflavor/fi/forms.py:28 -msgid "Enter a valid Finnish social security number." -msgstr "Ievadiet korektu somu sociālās drošības nummuru." +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Jogiakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Džakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Korka" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublina" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galveja" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenija" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerika" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Ievadiet pasta indeksu XXXXXXX formātā." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 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ā." +"Lūdzu ievadiet korektu Islandes identifikācijas nummuru XXXXXX-XXXX formātā." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." -msgstr "Islandiešu identifikācijas nummurs nav korekts." +msgstr "Islandes identifikācijas nummurs nav korekts." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Ievadiet korektu pasta indeksu." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Ievadiet korektu sociālās drošības nummuru." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." -msgstr "Ievadiet korektu VAT nummuru." +msgstr "Ievadiet korektu PVN numuru." #: contrib/localflavor/jp/forms.py:16 msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." -msgstr "Ievadiet pasta indeksu XXXXXXX vai XXX-XXXX formātā." +msgstr "Ievadiet pasta indeksu XXXXXXX vai XXX-XXXX formātos." #: contrib/localflavor/jp/jp_prefectures.py:4 msgid "Hokkaido" -msgstr "" +msgstr "Hokaido" #: contrib/localflavor/jp/jp_prefectures.py:5 msgid "Aomori" @@ -2302,7 +3094,7 @@ msgstr "" #: contrib/localflavor/jp/jp_prefectures.py:6 msgid "Iwate" -msgstr "Iwate" +msgstr "Ivate" #: contrib/localflavor/jp/jp_prefectures.py:7 msgid "Miyagi" @@ -2318,7 +3110,7 @@ msgstr "" #: contrib/localflavor/jp/jp_prefectures.py:10 msgid "Fukushima" -msgstr "" +msgstr "Fukušima" #: contrib/localflavor/jp/jp_prefectures.py:11 msgid "Ibaraki" @@ -2354,7 +3146,7 @@ msgstr "" #: contrib/localflavor/jp/jp_prefectures.py:19 msgid "Nagano" -msgstr "" +msgstr "Nagano" #: contrib/localflavor/jp/jp_prefectures.py:20 msgid "Niigata" @@ -2366,7 +3158,7 @@ msgstr "" #: contrib/localflavor/jp/jp_prefectures.py:22 msgid "Ishikawa" -msgstr "" +msgstr "Išikava" #: contrib/localflavor/jp/jp_prefectures.py:23 msgid "Fukui" @@ -2378,7 +3170,7 @@ msgstr "" #: contrib/localflavor/jp/jp_prefectures.py:25 msgid "Shizuoka" -msgstr "" +msgstr "Šizuka" #: contrib/localflavor/jp/jp_prefectures.py:26 msgid "Aichi" @@ -2394,11 +3186,11 @@ msgstr "" #: contrib/localflavor/jp/jp_prefectures.py:29 msgid "Kyoto" -msgstr "" +msgstr "Kioto" #: contrib/localflavor/jp/jp_prefectures.py:30 msgid "Osaka" -msgstr "" +msgstr "Osaka" #: contrib/localflavor/jp/jp_prefectures.py:31 msgid "Hyogo" @@ -2418,7 +3210,7 @@ msgstr "" #: contrib/localflavor/jp/jp_prefectures.py:35 msgid "Shimane" -msgstr "Shimane" +msgstr "Šimane" #: contrib/localflavor/jp/jp_prefectures.py:36 msgid "Okayama" @@ -2426,7 +3218,7 @@ msgstr "" #: contrib/localflavor/jp/jp_prefectures.py:37 msgid "Hiroshima" -msgstr "" +msgstr "Hirošima" #: contrib/localflavor/jp/jp_prefectures.py:38 msgid "Yamaguchi" @@ -2458,11 +3250,11 @@ msgstr "" #: contrib/localflavor/jp/jp_prefectures.py:45 msgid "Nagasaki" -msgstr "" +msgstr "Nagasaki" #: contrib/localflavor/jp/jp_prefectures.py:46 msgid "Kumamoto" -msgstr "" +msgstr "Kumamoto" #: contrib/localflavor/jp/jp_prefectures.py:47 msgid "Oita" @@ -2474,12 +3266,16 @@ msgstr "" #: contrib/localflavor/jp/jp_prefectures.py:49 msgid "Kagoshima" -msgstr "" +msgstr "Kagošima" #: contrib/localflavor/jp/jp_prefectures.py:50 msgid "Okinawa" msgstr "Okinava" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Ievadiet korektu Kuveitas pilsoņu ID numuru." + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "" @@ -2494,7 +3290,7 @@ msgstr "" #: contrib/localflavor/mx/mx_states.py:15 msgid "Campeche" -msgstr "" +msgstr "Kampeče" #: contrib/localflavor/mx/mx_states.py:16 msgid "Chihuahua" @@ -2510,7 +3306,7 @@ msgstr "" #: contrib/localflavor/mx/mx_states.py:19 msgid "Colima" -msgstr "" +msgstr "Kolima" #: contrib/localflavor/mx/mx_states.py:20 msgid "Distrito Federal" @@ -2598,27 +3394,23 @@ msgstr "" #: contrib/localflavor/mx/mx_states.py:41 msgid "Veracruz" -msgstr "" +msgstr "Verakrusa" #: contrib/localflavor/mx/mx_states.py:42 msgid "Yucatán" -msgstr "" +msgstr "Jukatana" #: contrib/localflavor/mx/mx_states.py:43 msgid "Zacatecas" msgstr "" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Ievadiet korektu pasta indeksu." -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" -msgstr "" +msgstr "Ievadiet korektu SoFi numuru." #: contrib/localflavor/nl/nl_provinces.py:4 msgid "Drenthe" @@ -2630,7 +3422,7 @@ msgstr "" #: contrib/localflavor/nl/nl_provinces.py:6 msgid "Friesland" -msgstr "" +msgstr "Frīzlande" #: contrib/localflavor/nl/nl_provinces.py:7 msgid "Gelderland" @@ -2638,19 +3430,19 @@ msgstr "" #: contrib/localflavor/nl/nl_provinces.py:8 msgid "Groningen" -msgstr "" +msgstr "Groningena" #: contrib/localflavor/nl/nl_provinces.py:9 msgid "Limburg" -msgstr "" +msgstr "Limburga" #: contrib/localflavor/nl/nl_provinces.py:10 msgid "Noord-Brabant" -msgstr "" +msgstr "Ziemeļbrabante" #: contrib/localflavor/nl/nl_provinces.py:11 msgid "Noord-Holland" -msgstr "" +msgstr "Ziemeļholande" #: contrib/localflavor/nl/nl_provinces.py:12 msgid "Overijssel" @@ -2658,60 +3450,61 @@ msgstr "" #: contrib/localflavor/nl/nl_provinces.py:13 msgid "Utrecht" -msgstr "" +msgstr "Utrehta" #: contrib/localflavor/nl/nl_provinces.py:14 msgid "Zeeland" -msgstr "" +msgstr "Zēlande" #: contrib/localflavor/nl/nl_provinces.py:15 msgid "Zuid-Holland" -msgstr "" +msgstr "Dienvidholande" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." -msgstr "Lūdzu ievadiet korektu norvēģu sociālās drošības nummuru." +msgstr "Lūdzu ievadiet korektu Norvēģijas sociālās drošības nummuru." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Šim laukam jasastāv no 8 cipariem." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Šim laukam jasastāv no 11 cipariem." #: contrib/localflavor/pl/forms.py:38 msgid "National Identification Number consists of 11 digits." -msgstr "" +msgstr "Nacionālais identifikācijas numurs sastāv no 11 cipariem." #: contrib/localflavor/pl/forms.py:39 msgid "Wrong checksum for the National Identification Number." -msgstr "" +msgstr "Nekorekta kontrolsumma nacionālajam identifikācijas numuram." #: contrib/localflavor/pl/forms.py:71 msgid "" "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." -msgstr "" +msgstr "Ievadiet nodokļa numuru (NIP) formātā XXX-XXX-XX-XX or XX-XX-XXX-XXX." #: contrib/localflavor/pl/forms.py:72 msgid "Wrong checksum for the Tax Number (NIP)." -msgstr "" +msgstr "Nekorekta nodokļu numura (NIP) kontrolsumma." -#: contrib/localflavor/pl/forms.py:111 -msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." msgstr "" +"Nacionālais biznesa reģistra numurs (REGON) sastāv no 9 vai 14 cipariem." -#: contrib/localflavor/pl/forms.py:112 +#: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." -msgstr "" +msgstr "Nekorekta nacionālā biznesa reģistra numura (REGON) kontrolsumma." -#: contrib/localflavor/pl/forms.py:155 +#: contrib/localflavor/pl/forms.py:148 msgid "Enter a postal code in the format XX-XXX." msgstr "Ievadiet pasta indeksu formātā XX-XXX." #: contrib/localflavor/pl/pl_voivodeships.py:8 msgid "Lower Silesia" -msgstr "" +msgstr "Apakšsilēzija" #: contrib/localflavor/pl/pl_voivodeships.py:9 msgid "Kuyavia-Pomerania" @@ -2727,7 +3520,7 @@ msgstr "" #: contrib/localflavor/pl/pl_voivodeships.py:12 msgid "Lodz" -msgstr "" +msgstr "Lodza" #: contrib/localflavor/pl/pl_voivodeships.py:13 msgid "Lesser Poland" @@ -2751,11 +3544,11 @@ msgstr "" #: contrib/localflavor/pl/pl_voivodeships.py:18 msgid "Pomerania" -msgstr "" +msgstr "Pomerānija" #: contrib/localflavor/pl/pl_voivodeships.py:19 msgid "Silesia" -msgstr "" +msgstr "Silēzija" #: contrib/localflavor/pl/pl_voivodeships.py:20 msgid "Swietokrzyskie" @@ -2773,6 +3566,14 @@ msgstr "" msgid "West Pomerania" msgstr "" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Ievadiet pasta indeksu XXXX-XXX formātā." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Tālruņa numuriem jābūt 9 cipariem vai jāsākas ar + vai 00" + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Ievadiet korektu CIF." @@ -2787,15 +3588,111 @@ msgstr "Ievadiet korektu IBAN ROXX-XXXX-XXXX-XXXX-XXXX-XXXX formātā." #: contrib/localflavor/ro/forms.py:171 msgid "Phone numbers must be in XXXX-XXXXXX format." -msgstr "Telefona numuriem jābūt XXXX-XXXXXX formātā." +msgstr "Tālruņa numuriem jābūt XXXX-XXXXXX formātā." #: contrib/localflavor/ro/forms.py:194 msgid "Enter a valid postal code in the format XXXXXX" msgstr "Ievadiet pasta indeksu formātā XXXXXX." -#: contrib/localflavor/sk/forms.py:30 -msgid "Enter a postal code in the format XXXXX or XXX XX." -msgstr "Ievadiet pasta indeksu XXXXX vai XXX XX formātos." +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Ievadiet korektu Zviedrijas organizācijas numuru." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Ievadiet korektu Zviedrijas ID numuru." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Ievadiet Zviedrijas pasta indeksu formātā XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stokholma" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Upsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotlande" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Ērebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jemtlande" #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" @@ -3159,7 +4056,7 @@ msgstr "" #: contrib/localflavor/uk/uk_regions.py:14 msgid "Cheshire" -msgstr "" +msgstr "Češīra" #: contrib/localflavor/uk/uk_regions.py:15 msgid "Cornwall and Isles of Scilly" @@ -3167,7 +4064,7 @@ msgstr "" #: contrib/localflavor/uk/uk_regions.py:16 msgid "Cumbria" -msgstr "" +msgstr "Kumbrija" #: contrib/localflavor/uk/uk_regions.py:17 msgid "Derbyshire" @@ -3429,19 +4326,45 @@ msgstr "Skotija" msgid "Wales" msgstr "Velsa" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." -msgstr "" +msgstr "Ievadiet pasta indeksu XXXXX vai XXXXX-XXXX formātos." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Telefona numuriem jābūt XXX-XXXX-XXXX formātā." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" +"Ievadiet korektu ASV sociālās apdrošināšanas numuru XXX-XX-XXXX formātā." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Ievadiet ASV štatu vai teritoriju." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "ASV štats (divi augšējā reģistra burti)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Tālruņa numurs" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" +"Ievadiet korektu CI numuru X.XXX.XXX-X,XXXXXXX-X vai XXXXXXXX formātos." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Ievadiet korektu CI numuru." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" -msgstr "Ievadiet DĀR ID numuru." +msgstr "Ievadiet korektu DĀR ID numuru." -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Ievadiet korektu DĀR pasta indeksu." @@ -3481,37 +4404,41 @@ msgstr "" msgid "Western Cape" msgstr "" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "ziņojums (slinkais)" + #: contrib/redirects/models.py:7 msgid "redirect from" -msgstr "novirzīt(redirect) no" +msgstr "pārvirzī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/'." +"Tam jābūt absolūtajam ceļam, atskaitot domēna vārdu. Piemēram: '/notikumi/" +"meklet/'." #: contrib/redirects/models.py:9 msgid "redirect to" -msgstr "novirzīt(redirect) uz" +msgstr "pārvirzī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://'." +"Šis var būt vai nu absolūtais ceļš (kā augstāk) vai pilnais URL, kas sākas " +"ar 'http://'." #: contrib/redirects/models.py:13 msgid "redirect" -msgstr "novirzīt" +msgstr "pārvirzīt" #: contrib/redirects/models.py:14 msgid "redirects" -msgstr "novirzījumi" +msgstr "pārvirzījumi" #: contrib/sessions/models.py:45 msgid "session key" @@ -3523,7 +4450,7 @@ msgstr "sesijas dati" #: contrib/sessions/models.py:48 msgid "expire date" -msgstr "beigu datums" +msgstr "izbeigšanās datums" #: contrib/sessions/models.py:53 msgid "session" @@ -3539,251 +4466,404 @@ msgstr "domēna vārds" #: contrib/sites/models.py:33 msgid "display name" -msgstr "izvadāmais vārds" +msgstr "attēlojamais vārds" #: contrib/sites/models.py:39 msgid "sites" -msgstr "saiti" +msgstr "vietnes" -#: db/models/fields/__init__.py:348 db/models/fields/__init__.py:683 -msgid "This value must be an integer." -msgstr "Vērtībai ir jābūt veselam skaitlim." - -#: db/models/fields/__init__.py:379 -msgid "This value must be either True or False." -msgstr "Vērtībai jābūt True vai False." - -#: db/models/fields/__init__.py:412 -msgid "This field cannot be null." -msgstr "Šis lauks nevar būt null" - -#: db/models/fields/__init__.py:428 -msgid "Enter only digits separated by commas." -msgstr "Ievadiet tikai numurus, kas atdalīti ar komatiem." - -#: db/models/fields/__init__.py:459 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Ievadiet korektu datumu YYYY-MM-DD formātā." - -#: db/models/fields/__init__.py:468 -#, python-format -msgid "Invalid date: %s" -msgstr "Nekorekts datums: %s" - -#: db/models/fields/__init__.py:532 db/models/fields/__init__.py:550 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." -msgstr "Ievadiet korektu datumu/laiku YYYY-MM-DD HH:MM[:ss[.uuuuuu]] formātā." - -#: db/models/fields/__init__.py:586 -msgid "This value must be a decimal number." -msgstr "Vērtībai ir jābūt decimālskaitlim." - -#: db/models/fields/__init__.py:719 -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/__init__.py:817 db/models/fields/__init__.py:831 -msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." -msgstr "Ievadiet korektu laiku HH:MM[:ss[.uuuuuu]] formātā" - -#: db/models/fields/related.py:761 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Lai iezīmētu vairak par vietu, pieturiet \"Ctrl\" (\"Command\" uz Maka) " -"taustiņu." - -#: db/models/fields/related.py:838 -#, 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] "" -"Ievadiet korektus %(self)s ID. Vērtība %(value)r ir nekorekta.Ievadiet " -"korektus %(self)s ID. Vērtības %(value)r ir nekorektas." -msgstr[1] "" -"Ievadiet korektus %(self)s ID. Vērtība %(value)r ir nekorekta.Ievadiet " -"korektus %(self)s ID. Vērtības %(value)r ir nekorektas." - -#: forms/fields.py:54 -msgid "This field is required." -msgstr "Šis lauks ir obligāts." - -#: forms/fields.py:55 +#: core/validators.py:20 forms/fields.py:66 msgid "Enter a valid value." msgstr "Ievadiet korektu vērtību." -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Vērtībai jasatur ne vairāk kā %(max)d rakstzīmju (garums %(length)d zīmes)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "Vērtībai jasatur vismaz %(min)d rakstzīmju (garums %(length)d zīmes)." - -#: forms/fields.py:166 -msgid "Enter a whole number." -msgstr "Ievadiet veselu skaitli." - -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, 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." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, 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." - -#: forms/fields.py:195 forms/fields.py:224 -msgid "Enter a number." -msgstr "Ievadiet skaitli." - -#: forms/fields.py:227 -#, python-format -msgid "Ensure that there are no more than %s digits in total." -msgstr "Pārliecinieties, ka kopā nav vairāk par %s cipariem." - -#: forms/fields.py:228 -#, python-format -msgid "Ensure that there are no more than %s decimal places." -msgstr "Pārliecinieties, ka aiz decimālās zīmes nav vairāk par %s cipariem." - -#: forms/fields.py:229 -#, python-format -msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "Pārliecinieties, ka pirms decimālās zīmes nav vairāk par %s cipariem." - -#: forms/fields.py:287 forms/fields.py:848 -msgid "Enter a valid date." -msgstr "Ievadiet korektu datumu." - -#: forms/fields.py:321 forms/fields.py:849 -msgid "Enter a valid time." -msgstr "Ievadiet korektu laiku." - -#: forms/fields.py:360 -msgid "Enter a valid date/time." -msgstr "Ievadiet korektu datumu/laiku." - -#: forms/fields.py:446 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Nav nosūtīts fails. Pārbaudiet formas kodējuma tipu." - -#: forms/fields.py:447 -msgid "No file was submitted." -msgstr "Netika nosūtīts fails." - -#: forms/fields.py:448 -msgid "The submitted file is empty." -msgstr "Jūsu norādītais fails ir tukšs." - -#: forms/fields.py:477 -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 vai nu nav " -"attēls, vai arī ir bojāts." - -#: forms/fields.py:538 +#: core/validators.py:87 forms/fields.py:529 msgid "Enter a valid URL." -msgstr "Ievadiet korektu adresi." +msgstr "Ievadiet korektu URL adresi." -#: forms/fields.py:539 +#: core/validators.py:89 forms/fields.py:530 msgid "This URL appears to be a broken link." -msgstr "Šī adrese ir bojāta." +msgstr "Šī URL adrese šķiet bojāta." -#: forms/fields.py:618 forms/fields.py:696 -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Izvēlieties korektu izvēli. %(value)s nav pieejamo izvēļu sarakstā." - -#: forms/fields.py:697 forms/fields.py:758 forms/models.py:654 -msgid "Enter a list of values." -msgstr "Ievadiet sarakstu ar vērtībām." - -#: forms/fields.py:877 -msgid "Enter a valid IPv4 address." -msgstr "Ievadiet korektu IPv4 adresi." - -#: forms/fields.py:887 +#: core/validators.py:123 forms/fields.py:873 msgid "" "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." msgstr "" -"Šī vērtība var saturēt tikai burtus, numurus un apakšsvītras vai " +"Ievadiet korektu vērtību, kas satur tikai burtus, numurus, apakšsvītras vai " "šķērssvītras." -#: forms/formsets.py:242 forms/formsets.py:244 -msgid "Order" -msgstr "Sakārtojums" +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Ievadiet korektu IPv4 adresi." -#: forms/models.py:268 forms/models.py:277 +#: core/validators.py:129 db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "Ievadiet tikai numurus, atdalītus ar komatiem." + +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Nodrošiniet, ka vērtība ir %(limit_value)s (tā satur %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Šai vērtībai jabūt mazākai vai vienādai ar %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Vērtībai jābūt lielākai vai vienādai ar %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Vērtībai jāsatur vismaz %(limit_value)d rakstu zīmes (tā satur %(show_value)" +"d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Vērtībai jāsatur ne vairāk kā %(limit_value)d rakstu zīmes (tā satur %" +"(show_value)d)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s jābūt unikālam %(date_field)s %(lookup)s." + +#: db/models/base.py:837 db/models/base.py:845 #, python-format msgid "%(model_name)s with this %(field_label)s already exists." msgstr "%(model_name)s ar nosaukumu %(field_label)s jau eksistē." -#: forms/models.py:584 -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ā." +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Nederīga izvēle: %r." -#: forms/models.py:655 +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Šis lauks nevar neksistēt (būt null)." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Šis lauks nevar būt tukšs" + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Lauks ar tipu: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Vesels skaitlis" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Vērtībai ir jābūt veselam skaitlim." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Vērtībai jābūt True vai False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Boolean (True vai False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Simbolu virkne (līdz pat %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Ar komatu atdalīti veselie skaitļi" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Datums (bez laika)" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Ievadiet korektu datumu YYYY-MM-DD formātā." + +#: db/models/fields/__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "Nekorekts datums: %s" + +#: db/models/fields/__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "Ievadiet korektu datumu/laiku YYYY-MM-DD HH:MM[:ss[.uuuuuu]] formātā." + +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Datums (ar laiku)" + +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "Vērtībai ir jābūt decimālskaitlim." + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Decimāls skaitlis" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "E-pasta adrese" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Faila ceļš" + +#: db/models/fields/__init__.py:822 +msgid "This value must be a float." +msgstr "Šai vērtībai jābūt decimāldaļskaitlim." + +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Plūstošā punkta skaitlis" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Liels (8 baitu) vesels skaitlis" + +#: db/models/fields/__init__.py:912 +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/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (jā, nē vai neviens)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Teksts" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Laiks" + +#: db/models/fields/__init__.py:1025 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "Ievadiet korektu laiku HH:MM[:ss[.uuuuuu]] formātā" + +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML teksts" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Modelis %(model)s ar primāro atslēgu %(pk)r neeksistē." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Ārējā atslēga (tipu nosaka lauks uz kuru attiecas)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Attiecība viens pret vienu" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Attiecība daudzi pret daudziem" + +#: db/models/fields/related.py:1000 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Lai iezīmētu vairāk par vienu, pieturiet \"Ctrl\" (\"Command\" uz Mac " +"datora) taustiņu." + +#: db/models/fields/related.py:1061 +#, 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] "Ievadiet korektu %(self)s ID. Vērtība %(value)r ir nekorekta." +msgstr[1] "Ievadiet korektus %(self)s ID. Vērtības %(value)r ir nekorektas." +msgstr[2] "Ievadiet korektus %(self)s ID. Vērtības %(value)r ir nekorektas." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Šis lauks ir obligāts." + +#: forms/fields.py:204 +msgid "Enter a whole number." +msgstr "Ievadiet veselu skaitli." + +#: forms/fields.py:235 forms/fields.py:256 +msgid "Enter a number." +msgstr "Ievadiet skaitli." + +#: forms/fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Pārliecinieties, ka kopā nav vairāk par %s cipariem." + +#: forms/fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Pārliecinieties, ka aiz decimālās zīmes nav vairāk par %s cipariem." + +#: forms/fields.py:261 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Pārliecinieties, ka pirms decimālās zīmes nav vairāk par %s cipariem." + +#: forms/fields.py:323 forms/fields.py:838 +msgid "Enter a valid date." +msgstr "Ievadiet korektu datumu." + +#: forms/fields.py:351 forms/fields.py:839 +msgid "Enter a valid time." +msgstr "Ievadiet korektu laiku." + +#: forms/fields.py:377 +msgid "Enter a valid date/time." +msgstr "Ievadiet korektu datumu/laiku." + +#: forms/fields.py:435 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Nav nosūtīts fails. Pārbaudiet formas kodējuma tipu." + +#: forms/fields.py:436 +msgid "No file was submitted." +msgstr "Netika nosūtīts fails." + +#: forms/fields.py:437 +msgid "The submitted file is empty." +msgstr "Jūsu nosūtītais fails ir tukšs." + +#: forms/fields.py:438 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" +"Faila nosaukuma garums nedrīkst pārsniegt %(max)d rakstu zīmes (tas satur %" +"(length)d)." + +#: forms/fields.py:473 +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 augšupielādējāt, vai nu nav " +"attēls, vai arī ir bojāts." + +#: forms/fields.py:596 forms/fields.py:671 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Izvēlieties korektu izvēli. %(value)s nav pieejamo izvēļu sarakstā." + +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 +msgid "Enter a list of values." +msgstr "Ievadiet sarakstu ar vērtībām." + +#: forms/formsets.py:298 forms/formsets.py:300 +msgid "Order" +msgstr "Sakārtojums" + +#: forms/models.py:562 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Lūdzu izlabojiet dublicētos datus priekš %(field)s." + +#: forms/models.py:566 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Lūdzu izlabojiet dublicētos datus laukam %(field)s, kam jābūt unikālam." + +#: forms/models.py:572 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Lūdzu izlabojiet dublicētos datus laukam %(field_name)s, kam jābūt unikālam " +"priekš %(lookup)s iekš %(date_field)s." + +#: forms/models.py:580 +msgid "Please correct the duplicate values below." +msgstr "Lūdzu izlabojiet dublicētās vērtības zemāk." + +#: forms/models.py:855 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "Iekļautā ārējā atslēga nesakrita ar vecāka elementa primāro atslēgu" + +#: forms/models.py:921 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Izvēlaties pareizu izvēli. Jūsu izvēlele neietilpst pieejamo sarakstā." + +#: forms/models.py:1003 #, 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ā." -#: template/defaultfilters.py:706 +#: forms/models.py:1005 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "\"%s\" ir nederīga vērtība priekš primārās atslēgas." + +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "jā,nē,varbūt" -#: template/defaultfilters.py:737 -#, fuzzy, python-format +#: template/defaultfilters.py:807 +#, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d baits" -msgstr[1] "%(size)d baits" +msgstr[1] "%(size)d baiti" +msgstr[2] "%(size)d baitu" -#: template/defaultfilters.py:739 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:741 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:742 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" -#: utils/dateformat.py:41 +#: utils/dateformat.py:42 msgid "p.m." msgstr "p.m." -#: utils/dateformat.py:42 +#: utils/dateformat.py:43 msgid "a.m." msgstr "a.m." -#: utils/dateformat.py:47 +#: utils/dateformat.py:48 msgid "PM" msgstr "PM" -#: utils/dateformat.py:48 +#: utils/dateformat.py:49 msgid "AM" msgstr "AM" -#: utils/dateformat.py:97 +#: utils/dateformat.py:98 msgid "midnight" msgstr "pusnakts" -#: utils/dateformat.py:99 +#: utils/dateformat.py:100 msgid "noon" msgstr "dienasvidus" @@ -3967,97 +5047,116 @@ msgstr "Nov." msgid "Dec." msgstr "Dec." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "vai" #: utils/timesince.py:21 -#, fuzzy msgid "year" msgid_plural "years" msgstr[0] "gads" -msgstr[1] "gads" +msgstr[1] "gadi" +msgstr[2] "gadu" #: utils/timesince.py:22 -#, fuzzy msgid "month" msgid_plural "months" msgstr[0] "mēnesis" -msgstr[1] "mēnesis" +msgstr[1] "mēneši" +msgstr[2] "mēnesu" #: utils/timesince.py:23 -#, fuzzy msgid "week" msgid_plural "weeks" msgstr[0] "nedēļa" -msgstr[1] "nedēļa" +msgstr[1] "nedēļas" +msgstr[2] "nedēļu" #: utils/timesince.py:24 -#, fuzzy msgid "day" msgid_plural "days" msgstr[0] "diena" -msgstr[1] "diena" +msgstr[1] "dienas" +msgstr[2] "dienu" #: utils/timesince.py:25 -#, fuzzy msgid "hour" msgid_plural "hours" msgstr[0] "stunda" -msgstr[1] "stunda" +msgstr[1] "stundas" +msgstr[2] "stundu" #: utils/timesince.py:26 -#, fuzzy msgid "minute" msgid_plural "minutes" msgstr[0] "minūte" -msgstr[1] "minūte" +msgstr[1] "minūtes" +msgstr[2] "minūšu" -#: utils/timesince.py:43 +#: utils/timesince.py:45 msgid "minutes" msgstr "minūtes" -#: utils/timesince.py:48 +#: utils/timesince.py:50 #, python-format msgid "%(number)d %(type)s" msgstr "%(number)d %(type)s" -#: utils/timesince.py:54 +#: utils/timesince.py:56 #, python-format msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:403 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "d.m.Y" -#: utils/translation/trans_real.py:405 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "d.m.Y H:i:s" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "H:i:s" -#: utils/translation/trans_real.py:421 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "m.Y" -#: utils/translation/trans_real.py:422 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "d.m" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s tika veiksmīgi izveidots." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s tika veiksmīgi dzēsts." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s tika dzēsts." +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "Viens vai vairāki %(fieldname)s objektos %(name)s: %(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "Viens vai vairāki %(fieldname)s %(name)s:" + +#~ msgid "Old password:" +#~ msgstr "Vecā parole:" + +#~ msgid "Relation to parent model" +#~ msgstr "Relācija uz vecāka modeli" + +#~ msgid "Add user" +#~ msgstr "Pievienot lietotāju" + #~ msgid "Line breaks are not allowed here." #~ msgstr "Pārnešana jaunā rindā šeit nav atļauta." @@ -4128,9 +5227,6 @@ msgstr "%(verbose_name)s tika dzēsts." #~ msgid "The URL %s is a broken link." #~ msgstr "URL %s ir salauzta saite." -#~ msgid "Enter a valid U.S. state abbreviation." -#~ msgstr "Ievadiet korektu ASV štata abreviatūru." - #~ msgid "This field must match the '%s' field." #~ msgstr "Šim laukam jāsakrīt ar '%s' lauku." @@ -4140,21 +5236,12 @@ msgstr "%(verbose_name)s tika dzēsts." #~ msgid "Please enter both fields or leave them both empty." #~ msgstr "Lūdzu aizpildiet abus laukus vai atstājiet abus tukšus." -#~ 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" - #~ 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" -#~ msgid "Duplicate values are not allowed." -#~ msgstr "Duplicētas vērtības nav atļautas." - #~ 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." -#~ msgid "This value must be at least %s." -#~ msgstr "Šai vērtībai jābūt vismaz %s." - #~ msgid "This value must be no more than %s." #~ msgstr "Šai vērtība nedrīkst pārsniegt %s." @@ -4237,9 +5324,6 @@ msgstr "%(verbose_name)s tika dzēsts." #~ msgid "is valid rating" #~ msgstr "korekts reitings" -#~ msgid "comments" -#~ msgstr "komentāri" - #~ msgid "Content object" #~ msgstr "Satura objekts" @@ -4249,15 +5333,6 @@ msgstr "%(verbose_name)s tika dzēsts." #~ msgid "ip address" #~ msgstr "ip adrese" -#~ msgid "approved by staff" -#~ msgstr "apstiprinājusi administrācija" - -#~ msgid "free comment" -#~ msgstr "brīvais komentārs" - -#~ msgid "free comments" -#~ msgstr "brīvie komentāri" - #~ msgid "score" #~ msgstr "rezultāts" @@ -4294,9 +5369,6 @@ msgstr "%(verbose_name)s tika dzēsts." #~ msgid "deletion date" #~ msgstr "dzēšanas datums" -#~ msgid "moderator deletion" -#~ msgstr "moderācijas dzēšana" - #~ msgid "moderator deletions" #~ msgstr "moderācijas dzēšanas" @@ -4362,9 +5434,6 @@ msgstr "%(verbose_name)s tika dzēsts." #~ msgid "Post a photo" #~ msgstr "Ievietojiet fotogrāfiju" -#~ msgid "Preview comment" -#~ msgstr "Pirmsskatīt komentāru" - #~ msgid "Your name:" #~ msgstr "Jūsu vārds:" diff --git a/django/conf/locale/lv/LC_MESSAGES/djangojs.mo b/django/conf/locale/lv/LC_MESSAGES/djangojs.mo index bcc8bcbedff44141eebac81f7373d30acd623ced..4bce8cadd66e4a1b10d38e065e016f99e5581793 100644 GIT binary patch literal 2853 zcmb7`Pi!Q`6^D!9Bwzx8g+NFm<#90fitS-+0$I(**-X4^;$6>ra%uuikrA{l@PenftB4^P@@o3|v6Fc@JKA`ri=Zr{F8#x4^%F_kyp3-vQqM?*soe znSTp>5dHsv^Wb~n{oscaegb|I{oCLiI0s|r!TUkB^AgD8T@ZhwhZpbr3dnX}1qr+g zvff|8O12O&)yo|p4cCr3#kk{P+9{_KH z9LEPB`|&Y&1pE|y1bh&iaUOmQJ_H^EdHo5H^-qHu+ywC_-o)#>;6Fk3_un8)iFZJb z@4w*p!CN5PnZs)Xdh6VV|Br!?xmw`N-i5MKj8Ros&Pxj?ew8znqV(~B<=Z7E88|P;F@EsEi zOJ1c%J=q;vSZbR95d*3nRD9RD7f6*1Fbu zMUsN5!^fC-Z?CsvlIZr5tUwgJqtxgJR&6YUhHe>DcH_H;8lA8oaKEZPkO8Xi$xsbP;Wx z8lsVBfQB}6)b3i{R!jaUNfT2$)$N2tql=}D41o@*W^*(%<+*!N#io#&-OS}f>rV4b zLx#*j5KUXWd)7JFxvYFp`NU>HW!_uzOyZy(U4MW6Ky)QV;zOAq8BZ-vJkM?N%VOToAOM9 zJt^i&;;ybiiIX*R&0}ReO<&<$u>bEI4OJ*n9mkIwQe<}PEJ2gk7oMjn83kJybSiRL z;aQQAJDkc)vE>)1Ld81d_j8()jh)f0h?-6spUPleg|?M8+S3K4`<{O0@?L4c zysm!?XQVYIA}wqw^}Po^P&4#}D;*ryb>@)23}>T)zq(Z|N{!PctXeXx+M=uaN2I zUBCL=2`a?ZC9|+xUR_B*x|WWv1%KCB{S~w27fR)_sB4_6GB&WJc4g0V z%{!Zy$% z6_TiD-pB;$f)FEESw!GPQ+8yGIL231FQCZQX$vKG4Q$K;_W0%~Np&*5KKeVZvZzZp z+K&;JXy6<|ZjkEQ^$KY#xI$<;HNIYmYYL@xrm2#N*g$2?6~y>YxOU2jZ8m#BCisCu z(4Lf+fu`rZo99{SBoKbVTBCzj#=fBd6l$Z) zU$ve}a0a`u-M5{L7OQ#>C%c%h^R(EI9sFR9_QPW7YrEkmYuOEa~V&BXh!>q=a|RW?P0`vudh>1Kk-+9da^fh za*~Is8FpZ{FRF8_M}Ov+ds_AK#DLgH(k^Ew@J)bzVH>+1rX96?n(kw8Wd!X*y9OUb Mg8xaTz9U5OIfJ2C(f|Me delta 729 zcmZ9}K}Zx)9LMpu>aMwMR$3P1VF>nQV{g{A)Cj2PKb=GLXW#q0_h#n*fA8(PiGHQ~ZEWbZA#Tzp zXvhVF!#Up@)OmzzWXe1zgUbui+);PqB<4j$kKu6N}8Za0p-GV`IAJ6$2&u zkw5s2D)a|c_%AB479AKxCAfUfb^RNA?+2a~dOO9XuD$Qtn(NIvp7rbZraaHu^6HAa)_M`8QPOrF1X;^> zYSuPfJLlRN$D8wO-jto;y+=Wsxy??{PS=Ah>G;l4kVUD}OyV?Yr_Ow+>2!8JT@2$O oTAzNF#0z}b4mX0ZBSBYWOED&5}e5APOE0Ysx#djJ3c diff --git a/django/conf/locale/lv/LC_MESSAGES/djangojs.po b/django/conf/locale/lv/LC_MESSAGES/djangojs.po index bf3e9295d..7334d410b 100644 --- a/django/conf/locale/lv/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/lv/LC_MESSAGES/djangojs.po @@ -3,118 +3,162 @@ # This file is distributed under the same license as the PACKAGE package. # Gatis Tomsons , 2008. # , fuzzy -# -# +# +# msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-02-15 10:46+1100\n" -"PO-Revision-Date: 2008-09-03 19:21+0300\n" -"Last-Translator: Gatis Tomsons \n" -"Language-Team: \n" +"POT-Creation-Date: 2010-05-10 23:48+0200\n" +"PO-Revision-Date: 2010-05-10 20:22+0200\n" +"Last-Translator: Reinis Veips \n" +"Language-Team: Latvian translators' team \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit" +"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 != 0 ? 1 : " +"2);\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" -#: contrib/admin/media/js/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "Pieejams %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Izvēlēties visu" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Pievienot" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "Izņemt" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "Izvēlies %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "Izvēlies un klikšķini" -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Attīrīt visu" -#: contrib/admin/media/js/dateparse.js:32 +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s no %(cnt)s izvēlēts" +msgstr[1] "%(sel)s no %(cnt)s izvēlēti" +msgstr[2] "%(sel)s no %(cnt)s izvēlēti" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Jūs neesat saglabājis izmaiņas rediģējamiem laukiem. Ja jūs tagad " +"izpildīsiet izvēlēto darbību, šīs izmaiņas netiks saglabātas." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Jūs esat izvēlējies veikt darbību un neesat saglabājis veiktās izmaiņas. " +"Lūdzu nospiežat OK, lai saglabātu. Jums nāksies šo darbību izpildīt vēlreiz." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Jūs esat izvēlējies veikt darbību un neesat izmainījis nevienu lauku. Jūs " +"droši vien meklējat pogu 'Aiziet' nevis 'Saglabāt'." + #: 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 "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" +msgstr "" +"Janvāris Februāris Marts Aprīlis Maijs Jūnijs Jūlijs Augusts Septembris " +"Oktobris Novembris Decembris" #: contrib/admin/media/js/calendar.js:25 msgid "S M T W T F S" msgstr "S P O T C P 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 "06.00" - -#: 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 +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 msgid "Show" msgstr "Parādīt" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 msgid "Hide" msgstr "Slēpt" +#: 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/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "Now" +msgstr "Tagad" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 +msgid "Clock" +msgstr "Pulkstens" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Choose a time" +msgstr "Izvēlieties laiku" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 +msgid "Midnight" +msgstr "Pusnakts" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 +msgid "6 a.m." +msgstr "06.00" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +msgid "Noon" +msgstr "Pusdienas laiks" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 +msgid "Cancel" +msgstr "Atcelt" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 +msgid "Today" +msgstr "Šodien" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 +msgid "Calendar" +msgstr "Kalendārs" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 +msgid "Yesterday" +msgstr "Vakar" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 +msgid "Tomorrow" +msgstr "Rīt" diff --git a/django/conf/locale/lv/__init__.py b/django/conf/locale/lv/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/lv/formats.py b/django/conf/locale/lv/formats.py new file mode 100644 index 000000000..15637d1db --- /dev/null +++ b/django/conf/locale/lv/formats.py @@ -0,0 +1,36 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = r'Y. \g\a\d\a j. F' +TIME_FORMAT = 'H:i:s' +DATETIME_FORMAT = r'Y. \g\a\d\a j. F, H:i:s' +YEAR_MONTH_FORMAT = r'Y. \g. F' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = r'j.m.Y' +SHORT_DATETIME_FORMAT = 'j.m.Y H:i:s' +FIRST_DAY_OF_WEEK = 1 #Monday +DATE_INPUT_FORMATS = ( + '%Y-%m-%d', '%d.%m.%Y', '%d.%m.%y', # '2006-10-25', '25.10.2006', '25.10.06' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' + '%H.%M.%S', # '14.30.59' + '%H.%M', # '14.30' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' + '%d.%m.%Y %H:%M', # '25.10.2006 14:30' + '%d.%m.%Y', # '25.10.2006' + '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' + '%d.%m.%y %H:%M', # '25.10.06 14:30' + '%d.%m.%y %H.%M.%S', # '25.10.06 14.30.59' + '%d.%m.%y %H.%M', # '25.10.06 14.30' + '%d.%m.%y', # '25.10.06' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = u' ' # Non-breaking space +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/mk/LC_MESSAGES/django.mo b/django/conf/locale/mk/LC_MESSAGES/django.mo index 7796e56624f100aa457a4ebc53827e2f976b46f3..a55e8d41cf2b5532cc1a8739bf09a64693b09948 100644 GIT binary patch delta 34030 zcmbuo2Y6M**8jf`gx-6HLkT35(2?GIlMd2Pl0yh7C!QogupF9*B2qRO1OzFfC?F6@ zr0PZNeI&-*;T{ocuE)|#0$Yu2>AkKX%UzY+1#2ZchP zl#f_#@hpt6teUWM1IsE>*s><}m)5doPqnO79?Qytm5@uvT2@oo0FH;lVQ07l)_`Bb z_OMW#Wfg^8q2zwB0-Osg!&Q*}Le?{6+M;*`HiCZ}HjKBdXyl==5S(pzui-*i4*i2r z4y}iB@Krb#ehM|9+x)J66qG|VpzNl@0`zY^Muq`fj~hM-iy-fU1>pf$5*{+;FT)bZ zZ$WkNq2aHvEONzZLctM<~19p&aQi(!VvFj5-<*i^0iI6{o{-FwN*+g@uvN zKpFVZ$mgLtz6=%GKcFH}KEbsU1r@0luo~VQaV@7KIa5` zB^R0D8Y~0Vpeocz>OeUZ301EnRL4C{`5;&vc{r54iLf?IgbmTnU%+Ia-3gQsB=xEGdypTG=w8OpIKDQ>;#P!6QQV%q;R zO~G8KhKo&wRZtzRg)QOJMt=@AME(NGaIsX^;qtI5ay2N2T0upiqmc(2j)Gd`6Jbs5 ze;*ljbT3pS9)_jhM#G&@jvY4TFGEG-eN%n~%8}ooB3B^bI#3L1&dWiKxF#$E>p|IT z1w-<*D;YKH3roWxP>xK53ULb5RLp}iv;=AdE1)`l1ghOeC_B3#b8GE~jo_P5{al0E z4S&I1ux1+Zf0WGYX|AXKJI&m{Vd!VV4)A5@hn}EYo?w^)yZ1^W^iyXm{?h8A@c5oi-4|CxN=*i^p zfuo?V_uZ24OVZ1{=dL zYz6;-?O@Do%Nh**hI?Ue@;MDPg}*{gVUu~p zUm+SzMkBuqYGhkrLwEqH!N*XGv)p`ldsTtj_t9_=Yz0%`y-=(C8>sW)I#j*CpzIc2 z;GQGZpdwL!0r9U$rUwc&7-K3-fZBe3s9lf@N5c%LdauFC@NKC5egW!$x(+q+0t?*` zSA~jXYnTdSp-#k8Q1;I)B$NfooJS!~FPefMpbY*B<$&itHv+|=kNdhjO4g zItpdyq>qV|R1M0p`cMrULwVi~%5V>;dIMo0ILdH5 zlmkQ6Uvy5U_=?H0ho+W$+*=)_y)Dy+>=2DU?Wv5HB_41UkuVy$8`Q0q2(`-RK<(=lup8VC z<-pglDEuC(!|QM?v>tTJ$3aD6GE{k-VUj6NhapwSG6nZS8C(R5!(~u&zt+gxphCF^ zs$DMZ0gu9w@P^TkT;i6GgT>HKg0hnU)jr+m=PY6VHPVGBv>I1K?dPYU^oO7tybk5q zX{eEWWc25u9Jve?((et6J>;(P`cRQ-1=YU2k$XVd>Gu%vSHbP3V4NwK4At>8sJTsn zs&^06h!(-(aJiA!LCx(GM$Uoi;3!nPlTZVD3##5{P>y{UBBPQ23{|nnQnz7Qs1B+^ zRjhC1Xy`?51J%K3sQo<2$jML<$$+I`7SurQH+&eX{%WZ9p{-=p@eZTd4@)8+g(cu? zP@caF<uE9?;a*q@=0X{I z$;fA*8hmbe3Ci>D4S$7lWTK{+x3 zYH>}6a&*2aUkv5QGN?Nw8_JP&Q1u>%y5+V(*?AGF{wb))d;p#A|1XW=Tf^&6ktn#_ zHCzsAB$c2%uL)ydBy0^w!DetVlp_bA>K%e=cLM4KBe#JXNhhdw{f#^ZYOTZ>2B6yC1?9+msK_jV+C9sm99p}A_^TiXMIV?8 z+rq!0JZ-bmWoM{{y`dZ!3N}eF8;MY*^a*?*{aSvD;xi3^lqYdMrI=T}oLRnCD78-dSEQ7oamW2nP+P`e%vru*~ zgve-Q*G$0;SPr@DD%U_gs0g)!x=e0^>TobrXvac@ek!a0lMUxWO~ERtdh4L`k|m(bTxq4lhGSp=%Ql#y#fbx;q=(Z)~?wuPF49#Hjr zLmUfPBgx3%M5v0fuo6s#3f)4ZUkx>qO-BDTREQ5ly-vRlYr_k$5-jwH+ffZD#~VXU zZBJMcPKMRA|I%NwEhrAG555Zxu>^klN=z|^M*Dxec8mxCiI{|7c;-MDL48uF2Mm!rTLUW-a@}MbS zZRGV(5qlD95$}L~;4vddJm%W33}wIOW5i#X`Y05E#!wx#hnl1AP#unjRpAt<`m+r~ zP>w7zTmdx&>tQvx9eUvjsJZ_VYVlbc+_hC^1M@F~UZZFP)lqvW&xgZ7FdJ$_=b`Ff zgL3dss1cXj=q|>}P>Zx7l;h2z2Gjvofjx|T2bAN!5E(T{HU*hb2JbQQd?P;yWpEi( z{YRm8$7Wa==0KhOubJ|)!6h+KtQ+$A1&2NJ46Mxn0_6}qNSM`H)5kq(CH zaHNqZLX9X6%Aq8vgC`RXg%3bQ?tR!5*52g4Jx_vK#7{uk3q#gg$ohbcI{MUASQnrS ze*@LgFHjEt4K;@)H@l8TK{?tMs$PGnhzx@mwtPmP0M%i@a5mH$mfqQ0hl1XKjZ!$QyxWj6^b0vS;D?uCWnBEzNI zh<^l%RVc(qVRg6xYTG;qH5G3`t@1AouS2cwl25wl!yu@3*>ED<3u9oJr`+J zq4xbta5Vf34u|b_xOYNmF&S;E51>YH4eF#SyVJc+qhLMceozk0fDPedcpH2c)`b^g zaae4Z`)gT6sLLq@%JGx10WA5f+h0pqTl;?qnHUO^VH8{khr$=Yz+&;&QMd>3u+DYhpIOes@^!L_C8ad=#(@60i(!*G8A$O2qRR3JZ}hPs3}zFTSFNd z12v-YZ~%;lGQ10xfd}9n@FggF-o0*l3{?Aea2)Ii6)78rG?F!BWOx&70-u2;;CoOV zoQHDg3RL|cp(61I)SQ>e;h&7b>QII|LbdM(Reumv`%zH!C%}?$S`PCsMLLRd@Ls5q zEQfOFaj20zZS=WN4PSw(e-^5Pi%^mK0ct9KfvQ(%A3r+4@=*5Xz)5f+)Z+bOAMu}0 zruu$2M2|ry5>SSpfik=g%J3m5hh8=Edr%|2VB{a6I`$lJ>y?JGR}(6d4Gm+AzFmln z40ne;;O(#-TmhrtD^QMHg&OhiMlN~KHC)NC4%8e+Lpj(CDzcrRrnE2A_6W(Ctto8wWMFu|}V0^g*Z*-widT3!&<* zf^u-3%aFC5j6!%2Y6K^sLijRNgLe!+f?8Z(K-Ir!_>(EWVOaQ(Yo`=c#L5}DzF{M% zh&O>nb^muHBTsulbvy{l!*NapR;eiunDSYsd?A!WE1?|9h85rzs0bZ|8qo7lc3*_5 zcM8gZk6|J0|8K}BL_eAe1rECnOG7zU9%?SDLvA^!5HE(#fpg7Ua6EC4$ixr<>>s1Eu;XR4sH2n}PQ97=|&H{0-TD0_3E zBDMgkANvULmuG8GC?uPp4D5haU@la{FjT!WP;28HRK3ek4*UWuLF=gd?N=G9qrOm% zjDZ^QcqqqXq1p#RWMud*s5x2)<=KNqUIt}gHIyTdLK#>O%fjtY^$$VWIS%FED^T^{ zg)QI*Q1*)-b6M6fRGEw#)`aRP63SpSR0lCok?962!hukpPl0Ne1Z6nGa1K=cxrR%i z9DW2UQd^)Ru@kZjLe_pV*&Y@Z{0^5VKJQ*8gHE{b0ZDKL4GzIEaPW)nt+)ktM1Bd% z5zk2uC0HD48;*yOFx7As?2UW~c7ZowOYQ$IFS$QD1)w~8!f>bIepm)O3^mu~ zUUpx>8o`#xk3rRY8_J>Yp&Ysn6@mV*xZ7_ulsplZqJJyVC}u$!UI?{#)b%I5a2SSB@BrF0a8~rq>sSFr-E>u4cK}41NJs?|Y;F9V$Wv-g2j;0o0o4ZRBxK zc4ogt{7aLWhoS*o4mE=PP$N78HK&)MIx7CQ8_FuMJaUwgJ3%=x7?yxzjXn;RM$Rzu z0;mYDf@;4#WD1Tzb?_!sXg-9|@H42977x1}mxt=8K9r#tC`Wt2_HaDx3T>!%r(s$6 zAymC9h6PT!Yb#WZOjQb68pS}Uim@;fW0kk3Q4FLB!Kr~#B?ZDCo1r}4Vaks}t%=v5=I%SF#rZ3&4a=W#J8o&% z7pmh4uoavJwI&{gitu4rQv3e}GG$P_1slRoU~^dL9d|9Xg=#nwmV%kE16%+r!lUpK zJPp<1;j`|5UV?J;4Ag+mL9K-gP;2BGEKdKH=Uw+#s*-Rzax*9oAAx<~dMHC*Kt<{b z91O2RMX1kvZUn|a$(c|cErM#d8rFmxpayyvs^06+`ThSK8I9~RlxNpXg^2gvRayzE zJPN8|JE*zs2i4I~SP4#oiax%>yN zBMqPyO$(@w+rt`g0F*&LjDi_ZtNt;l5uSrh;Wx0khm-O{A`Az7ROWh#^dSx~F~LD&}Vg>w87YzGT|>aLBBP?5}la&#`#$d^Gy zX1$T02${@Ys1P298o^nphF?KB@-r+CZ$O2#{AcczRE2er8$#9Z3l*W!unN2r_Jt2X z-F{&x2P%E;whz@NqlQhPM%W2XfrH^)a0k2tMt$M_urMDkMlN>V>Qet~?LQq4(f4 z*z#-MAK)7J5NvUoJr9pUt$}J++@rm(VG@+x<#49<{{=EFQB3-VS7x{j_JUu+6)@^s zSAPh$M=tZ7TfaY4gyz6W@E4;W^}XxhBG?W6XRs&q{=g?YjDsWLE3gm!TQ#q``#cuj zi~JN+#YR86{{Z13sE!XA{siS{)1Tb;fq5_ic_-`yEB)+tJRC}10Uv~K!VYlUHJ2-4 zXatHk$S9y17XB<_cx#0q3k^gCqmC} zZpbG?$@^eKSnhY?-=9qT-`)Ft9xRUhEi4DGLoLeUfADG!YrqxoD69%^|I;lhi72~{0-KFfB#AROOmPkm&+LVG;$|c8eV`M;5FC`Hvik*hLfO1 zo(8MKhoB!m3D3e(H{5}ohvkvKgN31o|0@cMLJhQBh>R-Kgc?C}Q_vmCfk8$;9u`4P zGIBbU;|mQ}KpETsRc|}22=_qQc?qiiS=a@B0o7l~>v0`u3FTRDC{KqNj)FRnCKx#h z%HbfC;rpNrt%BS)v&pdJ3%$*3w3>t zHu@=sGoU)mgmUN}s1YuQYWJAo4k!l?!^-dtsQ%77<;?$gWHj=>OhMs-Zi8}$^$c4> z8SV`iz>!ex-h#LNktafha5mfqmqC@cD~?032Xv;)a5PkTJk(SLjD8kWL>3kI zxc~ltHi`-;o-sTQHJ4|gLi`zg2!0KpfHOl_W=^9}gCC&`-7s?5Qm(!hlp~E{Q`p*YD%9LBHRVr2wcl;z7oZ~Yn&AgV zf62&KLuAyzD(!Jju5wTfnnTTPSE%x#MxFxIVE}4>KLAyK15~}8P>bsr)GJ#UY6?Dq zipwC2`UmZpbTe18CVGA$V0FoTn#k^k3zNEWq8=| z6)1EtKO0X?*GpLT@pbRHNIg$l6g2kqMnUU8(?eC3H^*@B_ z@FJ9h-$UJ&5f$Bm)iR8N&ij9BGBVr)%0Pc8&qu={a2lKp_rX4}LM6BU9Z-%bOy5ckW}LmY?=t%P zp&VWX)&2>nHM9dp!Q)U7y#(jNt8fMkR$>3k(~qmT{0i!_`4-Bi3}9UxjLK)o=$=4(bF9H8zTYP?3m(n#&}p z4(37`SOOLLwNRJLHp5q;LjDa@h<}2z^Cwh?5j9;qm7vPKQ1+r-hOG8v$-dd`jCHvcf$$wT>I}s z+4&rbuZs?BCYUFXg<+{Qd=oi5D9J$}Y zqsWb-*&WDV!DQqg8+)ApD%O-H?f~9_nu_yH*#Fu_-=PryFcpe6bt6#)s$x^9^4p+J zvff6X1Y0A|fWzSis5|5bs5hqq&D{1yq1sn~T5DdYNOo)%@;LAJ15jvRFM#S`DOAVX zpjP)DsHw>{`Zu8#(fe>B{LXMtjC)c(1$FxsY3{N<)KqqZnu1|aZ(3;~GMb|uFbzhx za7VNj%Hy|SBlr>28Y$S)T|6bB4Az7iNi)OFPzTQ-r~%vq<@jP#{+QtoD0`v9M)9Ii zoPmnOIjAG_0;~ytgL0&DD>outp&aZ3)zJv318fr1d&4}acDYb?&O(j+5>&gQtsOaJ zRU)Ghw}l!>XDEY%p!W9|sCUE3FcJpgVz>rQgLT`ut9~)mR9u0&4g0rsBeVd@-YTe$ zH$vIn0n2Ou?=uB2Lv5>fphEZ~)c$VJ&fVYrpbVrzh5jC>5I$`5*-!)63N`W^I24BA zyRgn}Zuu`z?F+GGocI6AWE7f6DPSMi7>+V>2xS!7nt=1JV3hsp3ChtNy^aE6fH=rCT+sW;?22{NkP~`)m z?uZGnHcT-3MNpB;hB{%lLY6OjWB@RY^dwtV{i)c z71#p~y4_<6^(LHHAtfnVW5SbU@_FN5`wH^bfV zB`AkxjdDA(q1rzVH^Hq?9rqpWaxB#KJRNFk=8R_l>l*zKg&g?-Y9xO_IS?_%o$D%4 z9yfvQVLKQB15i_t0oBo5sCp})w%K~9BYcmM-+^-AYp7lE#~Aj%8de+Yo=lCQUZZ;$ zc_LKBbf|hOpyqfpRH&bUa{LfH0bho4e91VEbpURFv*GAFJk~|{7SsR_jCUP98X}_* zz5-?FOIR0Pg>_(s32w++L)9A#9fzRmuYj7<4Nwm4fO7P(DSyN0KQO!m7gPQ#oB=~~ zC%X6b6(|GsCb@Ii63S3p!@h=Np+Y|$%ApjfP(J`W!3|K`?L(;TT640yhJ5f4@&%X- zH%)PVMGIM_r@Ef3ggRjUg0Zlb&vj@uR7kf%h3+7fW5;kNpch%wT26zZn5Q1_xZC>5qbk^(R~C9z>82*bs5UR;&Cp^ zK`p+jP>Ze;l;cBSLpT{mY5(6xMkCy1D!c&I;c2M3{vOJ~Qt@uXs)pU5Mm!Cwx!Z&|-vu?m!-NW-R3BW?}VuqV{woMyNfc0qm` zs>4fAj$SjgrnwH5fO4b;)OL@C>ZjW@_P;WHjbaGYh(|$n9E4hA^I${xnBj|1?XDR9 z2<5 zG4K;8L#3v>A+87|*MbdU1E}_cpawJ%>J2CfYS+vUkOZS zuD&L0ihLXF2IFBPxD~47H=qV^2FiiYpcZkF8SVfZ8n%R56QRyzfjZqMS2#h{*O=&U4wF@ZIWBBGnD-SP#ungD)&Jm6SAh0(QTIno4_ql zBYGQZmHrB~25Kg|yQDqTVj2XsR_=g`&@8A|wiQrQ`81TH`;Goz(1SdU&0iglpMk>) zvi~Zfos4273O(^8?jP$UI-=)17s$Uz?p0TGzIIb7d)1UneV#hku38(ize{*omQh6ZyM2f2`RUkD=lq z3a*nLrJy-U&ps+HL8lkXw@JgPcNU$VlkiJ7>-?R`-(=I_LfY&h{}px4z~_u!72D9C zo=2%O%K7hKBOEamX28cOXlUf+@J<@k#n6vVGxr}j7D0Xr`E^sT4Q=$yA-!vKH_-K> zo}N+YZX+K7yTfhhKA~L4w^fHs3uE9e)1VLXAQkd_Wy)NMW7o)??HBq~u)}>K@>1vw zC5PyuB55DhC&6^mKc7$NWf`eLzOsVkc~`e)G2AsYxCi!y51Tq~V0%BQDf;Ec;C$ol z>#j%4CeN1$T}VGrI24Y~*9mVQ)<)z9NN31jA~nia?spBj|Gju@Wl~m*B=u+TUQ=Ej zHbb|cq$irPNfGov7lV0EqRHGr;Ronj)2K7vN5VO<1Ld`#p6f2Giqw07{03uZ8u|B0 z7fg9g+SbBe6zP5Pdb5aydOqbgv#wI0M_-Y8JJ5B*3xqX-NKDO@ zCFqinHzN;4-c0@qb>|xgqmc8Scyw!#A12*TyE>#P=$!aBCi5{y`k4k_P1kx;`%!Ni`j?C@iF|R=e9{1Pt4Q^!bBww}Nk_0} z2FgGFX5NuYq1b8KKSaBd=tA?zEHcV?!yF2Vl2%Zrr!eVR@@FaUOM1i6@*^(!8{|JV z@@!LI;!?_XVq+fpZ1hi)dLy4eUQd~xfNqoNWOkB1Mwtx1rcx`?eDW`vibY`*y1b_` z`EL;lF`{AcTNx++Hq_G|Higwpn--3i7kMN1rTi)Kzv^uw@9Bf$Xr2IXGx6Jvz8m>5 z=$aabPGH~@($Azn&~2s8ZaCGnpNd}3Mf7Q;!K7_UM(?BU0OUyR|EEySBsE6a8u_5x z)_IqTLDvXf-g5+5&+jg*F2>-ShEpj&V#3|9|CF#XHmJYnV%6e;Vs4OS+8QnRGuXjWh$Dep_orKK~Ps;rvek8?~|bB+6vC zob(EH?p7b@zR~$p1VPVjumpwEO~=j1-%frOdYkemO})i*%FiUu7i0qZ68W5Hi$3pZ zj{aSQUtwiq^FvdfZsgaSqG)CeFDKuNf@{XYX85*g5KI28yvsZE9wr|_qtElTq#dM6 z=&q5vlk{AIUaZY^B>r_U@&irTYv>}$S43AHzGZspiM|Z^LZrszPvBWOQW?{3JG#F# zY5mEJr{H#|rzeJ@NsC<3dKivHUJpkZozM|oS=!Af=^25X_e?YS`%GD$zL3d8<5YF0 z4wF`hO0OBO%8)Ngr5FldMmNzk_?rg&Y-IH%bwj^^@;T)5o)=B~PUy2pImlN``CZtY zif%kfA4A6|TSoHAIUO4ObYMLL_nHPz8y2KN-tz+uo*^aDs5I$*Q}87^J!K6)AzzR7 zAHo@?{RiZGll~;_q~6=Kzl$;-^+HdYhLkz~14coV?@?hgNzVx5%=@O^6m&C<;gRGU zQofe5M@U(;=}uV(@@*;m9XZX|LA2J8A558tHnWiHyW{7diXz0(@K@F1DN3chCzVEj zA^0hOjE0>k>uj8=jc&H-Aj9wgWsg(;CF(s&y2I!Xqi;g}ZODD#Wyc2b-$Ledlpj+0 zHquI`fEO(oiJ{G~6KMjC^b9ARr~YDe1IUNTe@DCg&sgLhqx3i6X-2;M`TE#&p+gSaH}K~f>oYErUsPUQ=*)k_(kvgqGL zu0k44{%>@}u(ywNkrb*;K?VkFxR#Xn450FO^m@|BcXG29ziHllmQbFHkyA#O1!s~r zk!n(_9cB6%!FkX{ko0sy|CpN%@vrLfk!m`U&PTo$71o%_jt&R(w8>YmF8NIK|DxVE z)YtPHx~s@7;2P3t^a-RY)O(QfM=5(Ad5Eb$MlWscD16>@_KRc2{gVxzGy2Xnc-E9X z1Uni7KbmqCO{Bxg*s6?f8FE-ko{`jTOZtdZma=uaF-|VM*kTuR}YRPog_aAeI3g4p4GH%fqWl) zfwCT?!lZ_#PI>Zrc2ItjeA5D&e}ozsdm^Umoygx)_BirFocfx4G3bR`Nw-t3=Qqm7kpF>HihO%?E8xG7+mk}~^XD^^ z6G)XvdYV%~&k7gTI1Dc!KaskNN%^0bjgU&6pG?^~9MBVl@uU{m8%xmR>oHKQbA@?M|fqD(|3SoWfuS5SUX_l$G7oDDkE}XxGaZ=AE z(l6ATWY(WG8)2nspb8DBIG9eZqk8~eMz_Zpo@A(cr}MRW4gIs!&3l%R$s~0*x|*i* zymB#J^RK5DmA=71JMw>+4n~u|iw;_n)=@qUeTpiZ=UL=xlx-(fMK=NYBKcHPzMFg| zx-Q7&NmY>B39;g@*8F9zqb7ra~j*Z8P%2$u}X@rFCp$~tKNZ4_USzCxj=A4Y1EA3|D+{1|0H z($h{U-^=8$l4c`+N!^m<8<@6japZTCZ-rh@66pZ>3UCkXLY*?C63El_(N+;`eFa{kOiwKBDp2PE@^#Qxgd1RabX!${ zCq;L=o+_lnPL2}}jzj-5sXCSS)95+!TS%Xh^qeA9GWowLf6(NeLjDv$o`C*7Qr;SC zLcS*Uj#Ivs@}Hnn*2lE^oC+22x*SQ*SSr6M!$v+zdET=OeS*>dW%Q|VFZz$D^fX*V z`*!GxnDPVY*P{!QVq8OczHtS+3g_PsI7Q=bR9Zm8L3A>N6eRi4-C^n#hbibDL^qv! zEsg#dZD*i+0y&!etE73z=ir|tFZoKe`U#jOcW4xE+6pPoJ~GdVd6TfVrA#6W6vdW;nrmDioAp6;FH5BmRS1H0?kr>go= z0~yo(K@83G2V(>2{wb-x6n}KOeR=Gp!m+;8L|>}id)(a-8NtL9`{=l&Drv#MOl+C~ zdGos35_yNG5S9{y_J%u}+M~x;i3q0n670nBgY6f`k1d{@X!Z1^#%HD`*i|PCE0vnz zPn9AoGsTx~`zK5tn3|B3nViW#EDRNy8$1GkvK!GbhD)LP39QAl2%Xm>KVj_m1%UlC56JzM!AKeqYdxmM|kH#wB?P znBSWbFnTY;_6A~SFvICyUtBPd4w&aOUxGiK7PGSAtzLmc3AcA~fF08=xkcVeFc zZ3bn|^07X=y%J|8CVL0;HicFnR$I{P^AeZDc<;~wgPIQ-HOv&+bCTZf=D3E@1olXJ z{%MW*M_V%rZyGZmNcAOq6XTf(dt*|Koc_rr3KU`s#rt!*r3(mT<~^^|E`brAX7=-esGMbi@&!8hv48&Q<09WB=OCg2S8m6BAOsgZx?EC{^{w`-wqHVyZu$E$9vU zkde$`U~f*}TCU%TtuvF^eZd5)Kf6Z9O~yAloif)K2xa(F(!D8}tiRZN zCk_+LR$_A4fW&lKAeh3gQzz+O_7+P#CB{26;7xRzPxo$Yrrh+ zrhz_Apn<+5UogW5IU3>uFeNsTzo{|&xh*x*7tA7)=1cYS|Mz8}Z^3|a&I+Sm5qv$ll>p4gh=4AL5S;y`NBi34ezRn{P10!D;D`t-yU<=9w0 zqLOMX=TnSSzzFR{RT|}Vj3UJsq$bnvbP)2TruyQs&oT`r0@lYMe;Nl#rqdOt zEo1Q~CuVRW|3^u)|57p{(U(a@4jBHe4jGWqoeSySudu3MNLW$1ZayF}TA%Bq5)h;!sYOz!% z95uH^y*VQbrzSAV@pf>|qJo(j)9q_>l0%7^sn!r*d@wOy$PD^G0s*6wA--f^TvC?9 z1nKj%nMs+FfOm8T^N5g|)hr{>j2STNTdQb#Vj3mExasvGV|O3aw&{3l(>YE%0a`Cu=Q)Kd^5(}mTg7(q7>s3xoNC*b}nD$Ti_GZ_nrxT?V``q1s zmUZ{i%^N<({^p)zMR+yH;L5hQ-FvS$ILn{Fw)gf7B&Bf23=QNdhGwO5-z3>}LxUO( z%}n=swOkVjv{~D?>YSBpCxz-1nl{asoMkT#MK%be1Ty2ee-oGo>-JQ?CWl+yJ$uaD z*tOzH&O0veKX&Q) z4ei47n{&1no!`x_KEHfD=gjEfjZaKS%t&vli-Sui$SIWNZ6c{fi=5u`gAvs{>wb+YeYT)+NcKk*IHo7=0G;+75AvLiTOW~Q^-M+TTfpEZJ) z2fZ4R;lxWx3FI_?Agw@4ozu=+%Rk>vBcoCR@tMha?}gS#KYO2TX0KloT`X4XU@#H3 zpI`Dt;rM_rI3r+he5gl>q!Ul@{x&i>F(Hui$wMJekw9G1^gwcoJ^talLdm{a{`5pM zb0ayE95L^>yQwgT-7T_KlXX+$?&4cTEobN0{D=DH>1T~(PjCa=T$VS*e|uoc^X#Y6 zWokUTeu|`^27n|CBn;r6K@w>7FC#=BQrTMCu&)I z!5*ZZW+--k#=9RpH1qe_Z0U#5nhjqMtwD-lV#Za~7?9 zw?Ls-j3?#vS^bHpfG^AbB)fjae=n1KvtKFuqTOlDu;kcJ`XHg-2y^1N-fy zNB=66md1{^{cA7P;=Rus8Puzq^D1iIc;co9cnOKI2d;}OlA%w6blR=!)OXB@t-%zH z&mxyj6y1X%PvQUw{=3wK!Yw4;{Z1U<{#S6GShu>U=0N9qPW$z1Jyreb87Y2FRcow& zwzSq*?gHM5bHa}m^^{4-a>H%i5y<3(wg2{2$@yu+?gFKq&yje`m*!-0Hf}2CDVe}E zZ%s?~iS~}oD~kK(WO*4uI^QE5w0poFR=u25ZP0pKw(Z!qb(0n?bMD(V zyKv82zwpAx!u!H|PR$MP4j<)z!Zw_HYJPY>_r?FN70$JX@2q5(*=d(c_lE883VjcT z*E+PH+ZnWxFi;a{2_%2L(c43+2;lo&CFqk@otKUBRRf*;5N*#rd z*x}v#+ihUT$DBdab&mSa7X%Z5|MW6v!Ja9e+D^kYxO)g6Xz4WGbING!Kld&yww$hx z;6jdlZ_YBi(Y^=E9}eeQ;T7^KyzkTk{^r=v>wV|7O2L4%wmY@J)JL5LVpa!{_qifh-%Onz^7>MsYPfHqoT#JQ)_O1mSRNp35#QU zzpNgklVhjmI$1_>jFSD1svvFcz=PC760eT3@+n{}LTljDIlv~#fJ>nJ_1qw03{E6vN?YQy+Y-7fNKlYe}Gw|aG` z{ru^2r50=A*ir6IU;cVb0q;1wjBTZ}iVO@M`0TNH128{f`fIV{F_wd;6QW+1*b!$@%0>yP)0igVOfYcgmL1Ze@j^ zVjr@J=bj!`Ht*{^Z!g++{#n6Zexr;%<(+al8&73=+L%r1)xz>}^8I^A@()*Yv}Nd+ zh3qUm9JlA4@fOXiYtMbVdrpHh1tW64eRsRZ-gu*U_Onr*LJhU6INY?RX{m*x{UE_z z5~uE$!v6ftdiIU?YuKr;mayM=zk$8%wHBUn_VPC(?WrHO%W3(+=LJV>Rg|6ZvF;o{ z!z;<`*0!?3l;WihJVp@CvBDb(E9ZFCM(qrp2Fpi{{i^ zJLZ$S;~#VSVM^#kHv{LTDsm{Ey5Ae+nx~M%$L&$osewH~$i z@iaQ;sZSbuO0g;^&O5qZ`*cJVj#!OY$HN*+0%2TmYQA0Lvrd(DCOD^Q-lRC=wRc^t zT=v#GflFxAXQS&lj&R1&vuqxdJ-MMcaxK`~KD$!e#_he1RrhEkm`^yhohmuYK7Y!S zGvNH-LZS7JHTPiC$lRebubPV83dV602QFI0=-=m{sji_C4+2WrZtfYKY0jQ-qNL@R z8{Qk^4L=6+0-9%a3e$~QRibD0%DlLJnh8{Kj1^wvYzG}h&TkswW$MZaBT=v%G4HY< zASykAxmE9%Z>-#`w;5NDFhSgA%P5v9;*s;=rNN$h zS~y4k9d5PKU8fayoMyU`8(eM>a*j%OF*_5*TFck_T0Bw>XR+s%Z^E*UZOtp^?|-e6 z&)fe|?s{Gt*WC(w514EB#3e2rM$ZexS`Arey)wt$7X$U_xabB$S$V^L(ruvK_`fSR z`#)5EJX|^#PZl_KX(inAQ@inq{r8ngr72d(wY0h7?eX8#uI8xd&Kzp$nI(9L z<80P9_m^MiIFNH{p|eZ&u?(}9*YZ@!sr+p@PoZ_r4vze8M~F7gjk%uQbz|g)sp<-> zA+0P4IZi<3a1Ot)xIf=G1=_gI`co|l&e$9QyIcisdk!iI-tZQ!5ZA6w$i2-N5icFh z%%(aL-c42ouHH*kcVRg@)4u#&tCB=U2giCmpKn+F{&Z0;UOs{S$@b(O4XQXl@!*Aa zA|uziPf%m*Pru()f&+sR$6@<{A0|(94(Ys}oNl$Qd9$JxOU-dG&p(y?w^-j&O&7~C z=Ss=7FZ@uq+yBc?LHZ@A@YOC2=+${S)rgjJKmonx=nU4|sA7I3r|Z>cJu&VPr5hAo zzO&2;2F>!n-|vpesr%D>PnpM@)uDry^C^7P-t_Yet>-$?cUF>@->_0nJdtd10_qM? zuvEZt`Ir+Blv;lF#A}oKgdcN#@`i8jbj|cFhsXb_a`V)(bFVcm%%Wvv_NUkS*xi1q z8+ps>$UBB_T^TI;Grw%_?QAdB>_*z_aJaSed|EcH&WwDTnk>$PI+jWlBh-YZGyliO1*)-Ru z;bDDfILpF$agFh|ZjtAdvsc)w)Nyw8K|}1xyY19qgZ9{{Q@qEv)N~@e^$4#LMnh%G0yvCdA{|aJI)f&7}f?$wlGa z*?UTP>L1)(%JYk-go3LL%=wbd|K8T!<+Z-pq!wn)ydErG*7Ib6vf)kGI7W=`F?cOZYIB%AR{@roD)BHag-z+od zl@kxfdDG5+G2{K`MeSBrq&c4C1%nMKc+&ir!v8YbTN>YV%2L2})j1$bKplHB&8pBP zlTX16F=1R?{G3>nY0_*Q%MMiVw5{q$?uUVP#8GEzc$dxIQo+-zYE*v(_TQ)o2IeL#dKRlW%Xup1YWM=u?W-n=$oo&mTs&hzq?WZqRZ{vK-@loM^ zVC4NeNh|$ykT}SmGW)qd>ijn9Z#+7B@H}P4i2yHdDWABf23!f zqJXRJ3=-hngLNBvW_U^vn^S9$wIv^DaF_*N;+~`+O}FyPJ#QW(#VvhTV@IIe4>? zdt|T4-qXZ$wcJW)QP5}J+uOm%n|jI@jCOrFqEpJT$jLA-uZk3!aTeyO1qXLE_w4ml z(CdB9DOR$x5}XBmaB@q}&_Xq}vfN+)@X~S?+D-A`Q|&yR3e;6OV^ApcGlEm=7RABO z+IwnyY7jqtQ7YKZhl*aiw24@J*?)ELynpb+j-D0;>T5^}rBlW%X$b#N9W2zv^HzcE d_q%z#4f(Z8)9d^&pr5|-CPD8)H@_FH{|_*`ohN42Y7Dh3|MG!J@B`z!dR`C zWxbuovf4CIu4SbUv8)BQWo5uTq*rvZtcth`-^Y7c59@WdtU@>nYvDpnkLOML8s;LM zy^Ce##Zt(49;+^qvSf5Kj>Gb#H(@%wX#B=_A9IlZ1T~RYm9MSBL^RMIWD~4|m>G}wDp=M9%tZPss>A!Jo%#W@WBP8El@$vh8)ua> zRz~$(4b`q5s{iJg0pC$M<69v__|NKL3U;9y97N6Z1Ztr3m>2J$R`@$=fXv<99m$QF zKp9lKipHuYzYdNizY)&BgXqaZ5dLUp(WwbEUvfsUdka0+u` z3TDG^QT_dfz8&geS-D9UK$TZUEu=vY&R-Qelc6o?j~X}@GvX-J)=xrBU@mF`Uev%F zP)D`Zr1zuh9Ysy>w8>9K)w_;G@gbJNfS&BXIx64O9ViG@u|8^N-bD@A&7=pI@?of( zZ~|&&3s3`pV%&~eX%cE-Cr}GYG37T=6MWzyq6vI&GJZDxf!c|GP!mYo%k3zSu^4KA z@~C>XQ9IcLHL(y>zY(Yj48eRj0#$DgY66~BL^SgasES)qXPIO?jT-0{>P(-aI<|XT zRt3y}I-=^BfQ?ZT+JmZh2sO|NRR8Bt^{=`49_s-SHTWJikzX)B{)y@!XCF6R5Vf+Z zsQl)}_pmVO&Zr}cGmb+IG#ja4y+&HOoP2VS5$ zOw-q`p96I?`B4LuMeR^6RJ}H+6?a4R(+~AD4MZ(?2xj#V8BRnKn2b83nOGLrp(b<| zi{fS6iofE=xF*z{XuW=x)t+=qtc{B?0xzNlt`+9m05#EOsP{)_^k_>56VcX<#e(<| z7Qzjvl^j7$@H}clS5O_?Lha12Cf`5Yt(OTka86@>lV23IW2I5;s)e)v8lV{&dhFU` zaqNXf(1Yq|xp6IOqMx89l4LxD)k&Yg7Wfa=z-DYiD;$H$KZeaQQ-8|}!Vdk}|H?!r zlA)FF#QJy+brhKf@Vdm3s2PW&-jE4c9yj4zcoBo~AJo8A26Fy5z_<&Wk+vhZtMz<~5E%_%@Eg0=OAV<5$KX zuq^2uQSN7sr#6vBWXwlB9+yxJze9Cw4dD|F3Zw4s=GYj!qb9HvbyT}h6TgTd_!QMo z<7jt>dtf8dGf+Ew1~~$re^W*hd1BoK z)WhROt=fP;$h5*7fkv-YT`em7V<|t`>z3QJ~`AdJ!*!zQ5_dURV;^U7;LPC8nA(} z1*%?KRDazt3-&STA*lKZsD3{{^*1?z{a3?}OofG}!gAvVY)1Ju)QiAF8KyHT(`W(2uAs{|m=r#^G)U(=a#b zxtI&rqw0T-dhAXZ?-~Eb^5o|k;eG}*#Jr?E?TP4d8-NX!fttV})K-0kn(=v)e-*V8 zH%-p8ubSsNx@}hG|E;X2r~;^P(nH z5;b6TR0oYv9k(>;HmLd`sDApQ>JLPoI4d62?vW{fhQ9CrzY|fzfHCe2bD$~~GnPSh zSjku&HE?~*j!jSlg`nE?M%9ln=^>~cOfc!urhNPu_Fr$h>160bWEN^7n@xqisE!Y# zw)~7qUpC%BZRrzKKQB=ec!jF(|AG4%kQpnHZiK2Ajj9*-0sEhy$S5*2bu^mLc$1!P(zA_=P&=^#HKEO@iF}S_@FZ5o=ct`4I?lBes@_|^G=;T^XrP9u z8MZ`y7kW?8+OH?Fc4c!a<@7XTa%uP6j?X1J@%b!SyOQb*1_6S z+%L5Ws2$rph4W8KWEUB7KWe2%P)Bjrhlc+7dggTnL7>IwNj;_!&_e^V|?tvDl z{<@<2i#7QpFqHH()P$dSOodmd8Tn6lZ=U>^o^&}(he4?4ytYYqKuxSWs$RIsAA;JU zVJ1D=q$gko@~5Ke&qGbrvxJDA_s!^!M@)s|sE#h6CUzOM^6ybMq5lkbW!X?$n-{f1 zrBE-TAXDB9HDGI#?u1%U56qzFKa7aJ!3@E+I39JT$*7wz??>hv66$Q1qqcOdNq>rT zWNk-vybpCGN6_~apeFQ#DgPI>^0YJ6ALpNsh#D3_&9tZ89><;t?aA6V>nts=+DLi{k?7#q!Xk zUzl{J+3ti2p;lHBHPLFA1sfXQ!%U=mU=bXE9?fJj5e+!oR9J}RNv}q&^bG3WxP+>A z&3N0CKQunYtdze%4HPiPZJ!-Aq5P-?l|=1G`8n*r2B=DgI<9MMg1Y(MF}6j$N<&aL zV>D_kU>jYT~Tt5FsAVsU(A z(i!HvTUQH%$nS#9aT*T8^H><0Iqol~p*V%~RFlrSzOq-H2$V zBd{E9KyBd#Y>QbJyJyu4bq@?c9ob-$ACJ0+#-fgJ3hL-)q0V}~DPN3gx7y@?g4_ch zYn#dV9M!=gx4=4%YLIO5ucOZT4r;((P5CR#N;=?Uw|y?uU0)D2;c}>cDq>EoX3{Ou z_xHbcMAV=gYR3IhTOEb!U=HeTb?_Zrj_U9cX2a*$9bcpR>AuA56m}y$7_}qEP!m6e z>hB^}(DQ$jh#r^pOWlrhqjsV&szFKA$}6JIwh^ks)~I&vQT2MF+C^Yyj6&5Pg*k8% zYQl?9^*5kLE8a##Teut5@E8uj6zqkym$^5Y7x`*nT|n(j$K~!yx}ZAji|Q{D)n5#1 zM?N&^nWzabHR+AZIe!hf$5cFu+L{zo;RZG){RC@Z#TD*N8ipEhCTe91O?o4${dVI% z)I^V=CUO!h;8iSwek<93J+FZ)`JEi=V=o+!b@2{r0)WG?$KsO9YJnXy;2?`npp*7ZPXUEM9n+|wL@J|4Z@9sQTIR`s{RP$ zL{mP;xCqtHa^q^_dejklJ|Uu+?nT|zU!n#)g__t^Q~s?fe`?BKm~y{0?nJVqCXxqr zvld77TOBol2B?0Upz5_lCg8Dp5YbID2(>k_rouQ>!cq_5TdDgTJBr`5QAZzLj>Zn~@zgU?F2MV@XtlvZ#TAQ7fot(yh>+bVp+s z)P&zh?La@&Ru4A$qfrx?fSDQJnodM3T7-VM)TCFK^jeeNfc}(kMs4Lb)P%k;9!E_q z8U695@h+<0Z&5q^2sPdx===PCMMNu1v(D`xJLV%@7}c;EY9%#M_e3MqKy6VIcpvj% zIKGXe(H}oW?Zj5pg!iD@9YytbVIBLgv$;-20NzHWAD}w;9yNids1AO@?D!7`VAl0+ zN4ZcFD~ziD7V2ZY5~ji4#&F{x)C6MJv;P`s6dCGpENXxWs2y=IH?BaaMD0J7y!l404ZotQti0E^dnzFba#~ zV$6#BPy?PqZSh6aO?AuUKQul=P52K}o@G0qaHR8~j_?cAt2+fX;U6(r&;Or9@{&<; zhuc9@RE6%SiSv*V1C@Why7Q^8B^f_>Ms5Z%VS`YJMg>4uBe9LsELk6O>{Qu=39$e;isqx?l$QI zsEMCME#y3EM{gu?{=Vmu40V`huX|>BQD;>Lb<;G(qSzZX;8^2)3?{u1byVM=26}}W z$nSIaZqJ5gNEgGmu?6bLhI@#p;R4j-vIq5?A43iF8XsfseeTNsL3NydzdOM^s09>7 zooPAL1ge?xI;i?hu?@CIEp$27M$c9vTG?Y$knRijUdWI7W>gk6v1Z1OsDb*TI*LNw zBV$eZT$8^7btKzR_tqZFgI}SJ=mxUG9_u?In(=egOkZF%^gH05bxqU}w8z3Y7<1q> z)I^q`&UyoCLR+yA9zqR#1IytP)XkaepnD`8v7(;;enj53d9E=K4;^wlx_g*k%V_X3 zPQ*oDazkOkBkl^4jW3Poi@KYmQT1n|c3?T?!_Tn=reHJ7|CM|1^g`d?|N9eB zM+vA7CZJX{5BuO69D{zx-QRRR#3`h&;|JL1gzHU=A>I9?`^Gzkx|yq=a{uZTi+Wlv zqWVp9n*GmDB;vIDY4;&^CVj=EE1YrD6R_B>weD*9{1yR6&WfBPIlj9Q&9~LqgMV4Y68(I?*An_iA_kSzsSo7 zTVn`r#}6^!lAAvfE0KPTwJ`5x*LJA!rg?}|AaV-_V1_I1FCIg&A?Yn9{S;@AE`Qa% ziFRQ}($7#6YkbY!>ZRC$^i@>9<*vI6>4f!2PeI)qN3kn z&AxHpT&uAa`6qEO=D6YBlw&am>1mi9m*8sLjPvllo9<(L2h)*$iK=Ja^1W$2Rt_Qo zq^n~Itb=+QdKm}dr=&-qZq5?7-7O8moTU3;A&kRl4g~o;z;68JL#za!ilw zFr%LTEkxAOUS9?uMyP?VqGtLKHS^z1`d`!pv)y&`3uA85rBLl^qsm*M+IL3v-yb#b zDAYtINDqFKiQJkqT7B%2BRK>Z*m8c1A#k_b3)$Xb(zlU1cPbU9QRQ-Vau6c}QQ2o}# ziP+*k`>%$l$tZxAP&@F{_#0}Vzfm2gec-0^p>Dbo#%idJTcCEJGcLt}H~|B`b>Em% zF$?Kgm=BkJ%l-%0e6J@%N3i#y`}uzoOOXB%byH>g&V6p*!aAhGj4LpT^w(GtTRd_f zw?SB!^fH`**HH@zd+bg$8nu&SJw#Nn00VHPsjv>ykxn$}{iq!{jp^|Q&cttVJr4ce z&CmD5?I#d*6P8A`3pO@2`JGVxctTCVAd@l1I0?0-vrPFiEJAvV$v=bIv2RTI6O;ZM zb(EQYaNCzgO`sa;$eN>$petr%d@F*8&MX!+qlu^nGu;Z-a;!mmlgYn>n%GaM`ma$P zrvK4hab9Cd)YDQ0Rlf~tM|+?i*D%bX=YJ#-O<)G5#pS4u*I{Pdf@N@@N#8?t_zZJ! z@BCxZ*`B!r6h#eO2DM{NP&?8WGvjDv<&b#MfA zG#9Wp-o@tF@F%z4WK_p9F&I~)2E2^w|0b%xN2q(@*-z}hGOVB70n%Z1lDSd&rBO#y z5w+5WI1XFkAUuT{pxQ64^-yoNW~k@8Empw(sD;iq<(p9p+WiaXubCYoLk-TM9>a%N z6Q5vpEb*)RSMqK+j`UP)i0OZG+qXhJ{~@TI8)2M`IuZvf;~La>DX4qnriX}LFn^&M z=6T`XEG1D5>!Wt04Qd6wP%9pex$#3(hYqU#3e1FCP&@cJYUd84+MPo6mtyig_lcmMoF)&bHRY}?9AI^56pefSLZ zw|)Qg`Zj8!A$+3g?(S!dK`rb9)RE0I`ODDv{C{FHj$lez? zhM)!*i3M;nYT%Vv8@Hk!!^fB(e?hg&l-Bm$lzCCC-uWb`DXfpID71@jX1 zD(#xiH6As<9Mny83X9=4xDEe8E#TAi?gVdRS<*jXHq4d5ZC4UC;c6K?w(om>Q!+H8 zVW_PdXDTc-u0x%1qDg;Y(q~XBy^J~WHWtR8Q3Geq=&ra1YRBrM#(5X@zUb^BQiI4S zRKxA4j?ST0b{Eyq%H*cApq}eW=vx7*!=|Xmtu5xlE?61|;WV6!{jmTyj&9y@s2%q_ zAfgT$WpM{;jq0cyY9f72emn+|9*26|cA_4)E2jKk)RAP$>h4rw)Wl1pCK`-dU}J2H zz45A^|1GA%q-<_Q2etAwCVd3oBAsH=uh2J8cK4_XqZSZ^%CCnylJ`uyD|X;%8Hk$D zK0dQ`GoQe>^!%SAqMPg`YDKwox_5Pb)Xcl0I_{4eXawpWnSi?cy{K324lIfXQ1x%3 z27HQoq5Xw=ymRDo^V^~C`+rZ95vB|(#G(csVVq)Ih%CffXVM!`6WNWL*lEVV4vZXBf7pz7) zM`3rM7Wjbl0&IyRi`c$@;dB^Rk$#G6aW;*W4ld>ncnK?#&Kl@0tZpFBeIKxSxb6Fs$y(H7^%xi6E7UuDUI}+X#Y)<~cl!`*O#V6Si`h!K3yQ@k(x-7c z)+}xNUVLAAi0Evtq0a0!>gM^*_=hP^U&gJM4Ry2SMZJ(ppw74g>Yk~EYTpud*4<2b z80vA3HR*{)&s-wqDOiqbcmmbYb<|Vw2sMCzS@&+wj+*dWsCq%DjvJxsg`oQBi&=0e zY9b!gy)*;;@fgz1W1S>2iHsX=hSj&6`)Z8GljM6*6X{#tZTJDMCOr-{P>Hu(t6~n) z&9D!4!92JJHLdqZRCzVjo3A12@#%*e za0Ke^o{p-&5p^_sQ9JY{Y68i46mQ`kTwT$&Ml!zDt&(j$!W7gDKdBEwPj7od({HEJT;j0bTV>2v5AM5Id<_e1DQRK=I5GfEfa zt|*hSu(1+qry8IJZi;oW59;n;ip}sA>S#*@+txnZh*8+Ds_pyz|3X!se@!5yn)`eo z#D1iIMNOnjb@!|yP&+dcwZ$HjKNq#qwW!bc?IwK~^=dw6d}Oq1xC<+UYFDfV&%e&L zqRFUfY=(N5cR+n=#iAxO3w3WSLqFVvn%HLJPSic}IqKfHiJI^;EQ7DH9G0o+F07r0 zh${3$4HS<$!?~!5ZACTw+;|tY(sZ@lf%Bn0=Zm6N)C_gz9Z)x6A1sLju@ufkO?U^Y zo@cMgIBq!#2hc)WGi>2cXV4!K7!Sj%F$5!;Pqc5223gIBLSDP&e;o%&h1C zYa*)n9qK5aVg~#dbyugaYx{n8Ylf;9kJ{SNCOr`~@foQ0J5UQcg8JM~LA@^?qdvs` zK}{&Qo^2J>^Ix5aX51dNqJb*F30M)AV?#WRnn1?-?oQ-D4O|p;vo=SqFx(h}zKNnH zG|{Bzqb9HvJ;6j)5Ya#>s1KokQCpq1fqPTtLN%y@nn+dj?F6dcXw(2xQ3EbAcM+Nd@+ zd2{(Q+Zn`f5C#x*J#n$l8O1+3|FcBK(&#h7OnQk#-MRVbq&9I~oA7hWwA$0;pT-2j zP2xoezfkrw;bZbH5*`qL^LjxYUB?N36E;x3j6T=t{DUcsBBL{L-6)@t9%DM-!_WGZ zpl7_1nM_|(Hs5%c{A&ac=?&ByP0)3YJni0_R}J!(5<<;{JRL~r>QCbxa1}y^+6*dTGcXMVLtZHR>ovQ74Ih-XX6E@yf&-;0elfC6T|0yyC-pC;l#Fl+ zbS22af~BZ)k)TKHwHZLgf6~Wz z7ESmBm)LkUU+UA^gZrMqZQAi1bm?d;zxZV;4M5C`tY&q_@#QYt;3bi*=p6 zW`q$0T_XuoiC?8&6I1tH^7K1JBz@^!q4&%poj)%%>oJwKk}-&Q3hD|m4Hdsk=uBDa zrJ{MJ{1^j`rfe$VvYEh-rc58fx-LSB5)Y)& z1w2fd-rcF!YVv0jekY?O<(CQ9iPuT3fK$jzy*d$@M!F7dniD=D9fQ|BWPWaHeaIm9 ziT{oR39E=V$L&-sLA?URKPA4B@S$mwN*2mLB)=CKeW;gu>20d(8hK|Z*L8)^oBCbQ zQ=Z5|3O*tC~T;T9UN#z~}g6{T)GVK(`%NIxg=jmhm8&#xgRl6XJ=-;6B1e;)Q9nmriaI-%R`{VFPJhpA*-$2z%go zTt(PLxfjo4f1E`bU#@*uQ+_@(ao_kmNt~f#CpArF-j$&A9cP38(JTq3U+dA$h9 zT~T<)G{dbuN>h&bJxg z-?&y%Fph48;G zn|iqjzPssfD*R2O5W@F_Bc{PQ)6q#|Qk`%w3RAX&juHve>8>&9@q{l;-TL?g zp$ugU$e%%IPx>Q*zIRpE-BgIo-^sW~I6-_D1@Gf%${G@MT_ybpGf_v^3i9vbLefVm zOCUFX*}sxmZ7$az7fc zB~&$?zeRaL%0ftIGlS&7IP!`U%99^JSWUb!b%zqS{TP2YmBPu`Plm1^N$XEhbEvq0 zytc&i64&=_T@5K8K{|%;fbtWBr{twx&xya6n!rKSTk%HvCFNUa(~kWAvHnFA^f49d z_zK;`uaJ(iedJYtBflc?R^*47HmR&8?>s?QZw5-eLQEtdd0!FFM4k6M{1{?7_2QQl z9w$s7zkq2RKs>#vbA`M}6F+6j-!(or`5NaR6HiasN3@S1=qg4212<}YLYZd>KhhHP ztL#ofLBiLhQ?LCr{3|tqztBNO@~RW659YE--cl{e!=(}8}e8$>umctlx4)7fC-StG?(2I8}5m+Or@<=1*6eVce~ z-+0{rcTK@bj39hUWrq%C5+VqHkS=K^H-Y#f>g>Z{!g|Wn5k^t2Uvst*-XX2)A$b{1 zd?amBuX#i|n*9HsKYgnxPJ=%wT#RW*7sS+SKIthmT0`D?!Ucl*$it7v#CKCZ*i_y@ zyq}4`NBL{YqfGi9>9M49Q%4u;=Mf`g8$nkbZlv%Gp1^+zj>-rf2xW=-V{hz--B8zl z>UAOvV}OI0Kv+Wl2h{0Ip035@9rnd|E8-k~#vf`jQpro?hG}pcHN(Dy?+9;R@6lOf z%G(oa5I;vqy@H6}W8lqi-NTAKbdyxO_Xh7svU_=+%?^bQKg z5o!=-5(3CSNTdD4zd~JmsTWPYuBCX<#II6*-qaaI-X+Q}kUmTOx>yu-b$9jn{x`;O z66>fONT}tOTcxQSN&E=jAv`7iit_cii?pt>>jlXxsH(fhx)sXQNx5o(Zki%^;nO~uXlvzbhHOiP_tFXBh0hp7vi+!bh@hANW=`T%s9O>aY|H3qS zNmx$77gXp_o=6=l*@lV zpOPQz`~F9zy<}I!tOQ+4(CbF6Z|STJmAja-3MPLY`K`$FBYdFxq^nSG0p+2@_Ykj% zU9k+I0wMKkZsMNFCNhhPO$c-8XeE}QW`0xl4e8XYqluTrwI z!Nf;k4CR%vpsDL?z{W*~WbkAoZy@z25ULSxLE#wU&8R<(^itAW2%89p$)7>qWa7Hs zCLTxlg8XA{mha~<(rL*5l|IU#u3>~1z8JqZVlzTVzIj;JOr|Jc;xDm}X;_KQ4in#K z(g*0YJVDn0%0}9W!~1sfcXEdpb&7`f$W=M0e_+cdR%zMV)tM6B!>JvyK44gUM4a<` zL@%dj|547({sW!f1O5q!Oeh=g^c~pL`E=krS%xJHjEGK%3=2(&2yf{8Jg~ddHS#@Y zS7fi8aZ!=cR+EUh=m@JxG^9}*euc!uS7eorXn3>lWr zxsg!Ic`>Yr9q-&5md~jc^NTZm zT+_rC<8t~rO(xEFewf(WiI}w9$v8RKd1rD-XWZm!&hg1>oH0|Lq-z`=9v2ZGpBOrI zm0#HrY>M@6XhbwWq9WtNVlcY0ehdqZ8-=l<(Gl?xPST7G*;|JW2pth>K}`I>$RVLl z%160#L?>9SBSsGijf)vnHAy$&7SD&n;n@mE;8JDFElDNZ15Z5~nPzV>`)< z+BxmKLC#ih&cr{wF#(x4h=Er7n5cx%xJ1vgbha~Z`MkVQ?p?-mV?%ZG_*Na|6kAcq z30V=?uyIuEKn{%qhztu18yFfF8kP_d7atfC9W^SjTvSAYQWXQkBL_q##0Q2(hX)Re zW+I$8H$(Z#&ixfZd4_}zj~^Tw7!uPjCLz@77&9a^Ix;k|=E_(<=f>(XPPR3-oEK{v zBsN+*)^<*;8<{@Z3ZawGQBIBxWt|oq$|erq5bB>;^wVU&#Ee@`*iQXz8JyzVlC%Hs z;hZDeW;xxrUvjGMc;(dG`OvACSi*@+tm!;TT#z_<*J3-d=AN{6z_7sZ7-v>&zQnMk z?S6@+_hqr2Ci`bOH}?-rZ2UzUJF&}wrglDSR78Bm=$MK_LPzzBP=a-8N=Fa2s$Hda zr7ATm1y>6U4yseVMujTDRjOoc->y=}h~bg(9CM{+-28O{$*omMRjURD1=R_zLcPRh zheoD#?BnZ;>5Y@@B+ql-J;_V{i!DnC-0=nwX>6) z{^w@pA!B#)0eu}Ut-qRrR;@G?Y0X) zvFmt?+jfX|k!?RtTH$AJu#p*x9@&-ws!;08?7Qq2~qchs&lla$Z zt!;0+%ytQHKo+~GKPTtiM#TF=7JH3%O;&qgrUTU8o-$2`>3ut!-QT+|o88@;IlEoN z+cdj9#a`@v+S{({&6~r1>dlzb{!|CNH+k28FT>YV0 z8K-h!^8cY7BWK|bjvc1du+t>VAR8rgkJJ>JjY@~gP`z6XQ{r>?jb?eyx diff --git a/django/conf/locale/mk/LC_MESSAGES/django.po b/django/conf/locale/mk/LC_MESSAGES/django.po index b1aa6fae1..6c8b2eb21 100644 --- a/django/conf/locale/mk/LC_MESSAGES/django.po +++ b/django/conf/locale/mk/LC_MESSAGES/django.po @@ -3,8 +3,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-24 21:56+0200\n" -"PO-Revision-Date: 2008-09-03 11:20+0200\n" +"POT-Creation-Date: 2010-05-01 21:49+0200\n" +"PO-Revision-Date: 2010-04-05 15:53+0100\n" "Last-Translator: Vasil Vangelovski \n" "Language-Team: Macedonian \n" "MIME-Version: 1.0\n" @@ -18,215 +18,247 @@ msgid "Arabic" msgstr "Арапски" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "Бенгалски" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "Бугарски" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Бенгалски" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Босански" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "Каталански" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "Чешки" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "Велшки" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "Дански" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "Германски" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "Грчки" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "Англиски" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "Британскиот англиски" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "Шпански" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "Естонски" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "Аргентиско шпански" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "Естонски" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "Баскиски" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "Персиски" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "Фински" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "Француски" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Фризиски" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "Ирски" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "Галски" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "Унгарски" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "Еврејски" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "Хинди" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "Хрватски" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Унгарски" + +#: conf/global_settings.py:70 msgid "Icelandic" msgstr "Исландски" -#: conf/global_settings.py:68 +#: conf/global_settings.py:71 msgid "Italian" msgstr "Италијански" -#: conf/global_settings.py:69 +#: conf/global_settings.py:72 msgid "Japanese" msgstr "Јапонски" -#: conf/global_settings.py:70 +#: conf/global_settings.py:73 msgid "Georgian" msgstr "Грузиски" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "Корејски" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:74 msgid "Khmer" msgstr "Кмер" -#: conf/global_settings.py:73 +#: conf/global_settings.py:75 msgid "Kannada" msgstr "Канада" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "Латвиски" +#: conf/global_settings.py:76 +msgid "Korean" +msgstr "Корејски" -#: conf/global_settings.py:75 +#: conf/global_settings.py:77 msgid "Lithuanian" msgstr "Литвански" -#: conf/global_settings.py:76 +#: conf/global_settings.py:78 +msgid "Latvian" +msgstr "Латвиски" + +#: conf/global_settings.py:79 msgid "Macedonian" msgstr "Македонски" -#: conf/global_settings.py:77 +#: conf/global_settings.py:80 msgid "Dutch" msgstr "Холандски" -#: conf/global_settings.py:78 +#: conf/global_settings.py:81 msgid "Norwegian" msgstr "Норвешки" -#: conf/global_settings.py:79 +#: conf/global_settings.py:82 +msgid "Norwegian Bokmal" +msgstr "Норвешка bokmål" + +#: conf/global_settings.py:83 +msgid "Norwegian Nynorsk" +msgstr "Норвешки Нинорск" + +#: conf/global_settings.py:84 msgid "Polish" msgstr "Полски" -#: conf/global_settings.py:80 +#: conf/global_settings.py:85 msgid "Portuguese" msgstr "Португалкски" -#: conf/global_settings.py:81 +#: conf/global_settings.py:86 msgid "Brazilian Portuguese" msgstr "Бразилско португалски" -#: conf/global_settings.py:82 +#: conf/global_settings.py:87 msgid "Romanian" msgstr "Романски" -#: conf/global_settings.py:83 +#: conf/global_settings.py:88 msgid "Russian" msgstr "Руски" -#: conf/global_settings.py:84 +#: conf/global_settings.py:89 msgid "Slovak" msgstr "Словачки" -#: conf/global_settings.py:85 +#: conf/global_settings.py:90 msgid "Slovenian" msgstr "Словенечки" -#: conf/global_settings.py:86 +#: conf/global_settings.py:91 +msgid "Albanian" +msgstr "Албански" + +#: conf/global_settings.py:92 msgid "Serbian" msgstr "Српски" -#: conf/global_settings.py:87 +#: conf/global_settings.py:93 +msgid "Serbian Latin" +msgstr "Српски Латиница" + +#: conf/global_settings.py:94 msgid "Swedish" msgstr "Шведски" -#: conf/global_settings.py:88 +#: conf/global_settings.py:95 msgid "Tamil" msgstr "Тамил" -#: conf/global_settings.py:89 +#: conf/global_settings.py:96 msgid "Telugu" msgstr "Телугу" -#: conf/global_settings.py:90 +#: conf/global_settings.py:97 msgid "Thai" msgstr "Тајландски" -#: conf/global_settings.py:91 +#: conf/global_settings.py:98 msgid "Turkish" msgstr "Турски" -#: conf/global_settings.py:92 +#: conf/global_settings.py:99 msgid "Ukrainian" msgstr "Украински" -#: conf/global_settings.py:93 +#: conf/global_settings.py:100 +msgid "Vietnamese" +msgstr "Виетнамски" + +#: conf/global_settings.py:101 msgid "Simplified Chinese" msgstr "Упростен кинески" -#: conf/global_settings.py:94 +#: conf/global_settings.py:102 msgid "Traditional Chinese" msgstr "Традиционален кинески" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:52 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Успешно беа избришани %(count)d %(items)s." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 +#: contrib/admin/actions.py:59 contrib/admin/options.py:1100 msgid "Are you sure?" msgstr "Сигурни сте?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:77 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Избриши ги избраните %(verbose_name_plural)s" @@ -265,19 +297,19 @@ msgstr "Овој месец" msgid "This year" msgstr "Оваа година" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "Да" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "Не" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "Непознато" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Акција:" @@ -309,61 +341,60 @@ msgstr "ставка во записникот" msgid "log entries" msgstr "ставки во записникот" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:142 contrib/admin/options.py:157 msgid "None" msgstr "Ништо" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:563 #, python-format msgid "Changed %s." msgstr "Изменета %s." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:563 contrib/admin/options.py:573 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:573 msgid "and" msgstr "и" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:568 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Додадено %(name)s „%(object)s“." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:572 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." -msgstr " Изменето %(list)s за %(name)s „%(object)s“." +msgstr "Изменето %(list)s за %(name)s „%(object)s“." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:577 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Избришан %(name)s „%(object)s“." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:581 msgid "No fields changed." msgstr "Не беше изменето ниедно поле." -#: contrib/admin/options.py:599 contrib/auth/admin.py:67 +#: contrib/admin/options.py:647 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "Ставката %(name)s \"%(obj)s\" беше успешно додадена." -#: contrib/admin/options.py:603 contrib/admin/options.py:636 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:651 contrib/admin/options.py:684 msgid "You may edit it again below." msgstr "Подолу можете повторно да го уредите." -#: contrib/admin/options.py:613 contrib/admin/options.py:646 +#: contrib/admin/options.py:661 contrib/admin/options.py:694 #, python-format msgid "You may add another %s below." msgstr "Подолу можете да додате уште еден %s." -#: contrib/admin/options.py:634 +#: contrib/admin/options.py:682 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" беше успешно изменета." -#: contrib/admin/options.py:642 +#: contrib/admin/options.py:690 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." @@ -371,44 +402,68 @@ msgstr "" "Ставката %(name)s \"%(obj)s\" беше успешно додадена. Подолу можете повторно " "да ја уредите." -#: contrib/admin/options.py:773 +#: contrib/admin/options.py:744 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Мора да се одберат предмети за да се изврши акција врз нив. Ниеден предмет " +"не беше променет." + +#: contrib/admin/options.py:762 +msgid "No action selected." +msgstr "Ниедна акција не е одбрана." + +#: contrib/admin/options.py:842 #, python-format msgid "Add %s" msgstr "Додади %s" -#: contrib/admin/options.py:804 contrib/admin/options.py:1005 +#: contrib/admin/options.py:868 contrib/admin/options.py:1080 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "објект %(name)s со примарен клуч %(key)r не постои." -#: contrib/admin/options.py:861 +#: contrib/admin/options.py:933 #, python-format msgid "Change %s" msgstr "Измени %s" -#: contrib/admin/options.py:905 +#: contrib/admin/options.py:978 msgid "Database error" msgstr "Грешка во базата на податоци" -#: contrib/admin/options.py:941 +#: contrib/admin/options.py:1014 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s ставка %(name)s беше успешно изменета." msgstr[1] "%(count)s ставки %(name)s беа успешно изменети." -#: contrib/admin/options.py:1020 +#: contrib/admin/options.py:1041 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s одбран" +msgstr[1] "Сите %(total_count)s одбрани" + +#: contrib/admin/options.py:1046 +#, fuzzy, python-format +msgid "0 of %(cnt)s selected" +msgstr "од одбраниот %(count)d" + +#: contrib/admin/options.py:1093 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "Ставаката %(name)s \"%(obj)s\" беше избришана успешно." -#: contrib/admin/options.py:1057 +#: contrib/admin/options.py:1130 #, python-format msgid "Change history: %s" msgstr "Историја на измени: %s" -#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:22 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -416,11 +471,11 @@ msgstr "" "Ве молам внесете точно корисничко име и лозинка. Имајте на ум дека и во " "двете полиња се битни големите и малите букви." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Ве молам најавете се повторно бидејќи вашата сесија е истечена." -#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:318 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -428,62 +483,52 @@ msgstr "" "Изгледа дека вашиот прелистувач не е конфигуриран да прифаќа колачиња. Ве " "молам овозможете ги колачињата, превчитајте ја страта и пробајте повторно." -#: contrib/admin/sites.py:308 contrib/admin/sites.py:314 +#: contrib/admin/sites.py:334 contrib/admin/sites.py:340 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Корисничките имиња неможе да го содржат „@“ знакот." -#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:337 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Вашата е-пошта не е вашето корисничко име. Пробајте со „%s“." -#: contrib/admin/sites.py:367 +#: contrib/admin/sites.py:393 msgid "Site administration" msgstr "Администрација на сајт" -#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:407 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Најава" -#: contrib/admin/sites.py:426 +#: contrib/admin/sites.py:452 #, python-format msgid "%s administration" msgstr "%s администрација" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Еден или повеќе %(fieldname)s во %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Еден или повеќе %(fieldname)s во %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Датум:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Време:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Моментално:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Измена:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Побарај" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Додади друго" @@ -498,17 +543,17 @@ msgstr "Се извинуваме, но неможе да ја најдеме с #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -545,34 +590,47 @@ msgstr "Изврши ја избраната акција" msgid "Go" msgstr "Оди" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Кликнете тука за да изберете објекти низ повеќе страници" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Избери ги сите %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Откажи го изборот" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:27 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Добредојдовте," -#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Документација" -#: contrib/admin/templates/admin/base.html:40 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Промени лозинка" -#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Одјава" @@ -584,41 +642,42 @@ msgstr "Џанго администрација на сајт" msgid "Django administration" msgstr "Џанго администрација" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Додади" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Историја" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Погледни на сајтот" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Ве молам поправете ја грешката подолу." msgstr[1] "Ве молам поправете ги грешките подолу." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Додади %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Филтер" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Избриши" @@ -652,23 +711,24 @@ msgid "Delete multiple objects" msgstr "Избриши повеќе ставки" #: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format msgid "" "Deleting the %(object_name)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_name)s би резултирало со бришење на поврзаните објекти, " +"но вие како корисник немате доволно привилегии да ги бришете следните типови " +"на објекти:" #: contrib/admin/templates/admin/delete_selected_confirmation.html:22 #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" "Сигурне сте дека сакате да ги избришете избраните %(object_name)s? Сите овие " -"ставки и ставките поврзани со нив ќе бидат избришани:" +"објекти и објектите поврзани со нив ќе бидат избришани:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -731,15 +791,9 @@ msgid "User" msgstr "Корисник" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Акција" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j M Y, P" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -785,7 +839,7 @@ msgstr "Сними и додади уште" msgid "Save and continue editing" msgstr "Сними и продолжи со уредување" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -793,33 +847,39 @@ msgstr "" "Прво, внесете корисничко име и лозинка. Потоа ќе можете да уредувате повеќе " "кориснички опции." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Корисник" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Лозинка" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Лозинка (повторно)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Заради верификација внесете ја истата лозинка како и горе." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: 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:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Лозинка" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Лозинка (повторно)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Заради верификација внесете ја истата лозинка како и горе." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Додадете уште %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Отстрани" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Избриши?" @@ -834,9 +894,9 @@ msgid "Log in again" 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 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Измена на лозинка" @@ -849,7 +909,7 @@ msgstr "Успешна промена на лозинката" msgid "Your password was changed." msgstr "Вашата лозинка беше сменета." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -857,21 +917,17 @@ msgstr "" "Заради сигурност ве молам внесете ја вашата стара лозинка и потоа внесете ја " "новата двапати за да може да се потврди дека правилно сте ја искуцале." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Стара лозинка:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Стара лозинка" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Нова лозинка:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Нова лозинка" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Потврди лозинка:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Промени ја мојата лозинка" @@ -910,6 +966,14 @@ msgstr "" "Ве молам внесете ја вашата нова лозинка двапати за да може да бидете сигурни " "дека правилно сте ја внеле." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Нова лозинка:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Потврди лозинка:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Неуспеа ресетирањето на лозинката" @@ -978,7 +1042,7 @@ msgstr "Е-пошта:" msgid "Reset my password" msgstr "Ресетирај ја мојата лозинка" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:239 msgid "All dates" msgstr "Сите датуми" @@ -992,11 +1056,11 @@ msgstr "Изберете %s" msgid "Select %s to change" msgstr "Изберете %s за измена" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "сајт" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "шаблон" @@ -1056,89 +1120,7 @@ msgstr "број на %s" msgid "Fields on %s objects" msgstr "Полиња на %s објекти" -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 -#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 -#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 -msgid "Integer" -msgstr "Цел број" - -#: contrib/admindocs/views.py:335 -msgid "Boolean (Either True or False)" -msgstr "Логичка (или точно или неточно)" - -#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Збор (до %(max_length)s)" - -#: contrib/admindocs/views.py:337 -msgid "Comma-separated integers" -msgstr "Целобројни вредности одделени со запирка" - -#: contrib/admindocs/views.py:338 -msgid "Date (without time)" -msgstr "Датум (без час)" - -#: contrib/admindocs/views.py:339 -msgid "Date (with time)" -msgstr "Датум (со час)" - -#: contrib/admindocs/views.py:340 -msgid "Decimal number" -msgstr "Децимален број" - -#: contrib/admindocs/views.py:341 -msgid "E-mail address" -msgstr "Адреса на е-пошта" - -#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 -#: contrib/admindocs/views.py:346 -msgid "File path" -msgstr "Патека на датотека" - -#: contrib/admindocs/views.py:344 -msgid "Floating point number" -msgstr "Децимален број" - -#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 -msgid "IP address" -msgstr "ИП адреса" - -#: contrib/admindocs/views.py:350 -msgid "Boolean (Either True, False or None)" -msgstr "Логичка (точно,неточно или празно)" - -#: contrib/admindocs/views.py:351 -msgid "Relation to parent model" -msgstr "Релација со родителскиот модел" - -#: contrib/admindocs/views.py:352 -msgid "Phone number" -msgstr "Телефонски број" - -#: contrib/admindocs/views.py:357 -msgid "Text" -msgstr "Текст" - -#: contrib/admindocs/views.py:358 -msgid "Time" -msgstr "Час" - -#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:360 -msgid "U.S. state (two uppercase letters)" -msgstr "Држава во САД (две големи букви)" - #: contrib/admindocs/views.py:361 -msgid "XML text" -msgstr "XML текст" - -#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s не изгледа дека е url објект" @@ -1213,66 +1195,62 @@ msgstr "Уреди го овој објект (во нов прозорец)" msgid "As above, but opens the admin page in a new window." msgstr "Како погоре, но ја отвара админ страницата во нов прозорец." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Лични информации" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Привилегии" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Важни датуми" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Групи" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Додади корисник" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Успешна промена на лозинката." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Промени лозинка: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Дозволени се најмногу 30 знаци. Дозволени се само алфанумерички знаци " -"(букви, цифри и долна црта)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Корисник" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Оваа вредност смее да има само букви, бројки или долни црти." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Задолжително. 30 или помалку знаци. Единствено букви, бројки и @/./+/-/_ ." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Оваа вредност смее да содржи само букви, бројки и @/./+/-/_ знаци." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Потврда на лозинка" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Веќе постои корисник со тоа корисничко име." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Двете полиња со лозинките не се совпаѓаат." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Оваа сметка е неактивна." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1280,11 +1258,11 @@ msgstr "" "Не изгледа дека вашиот прелистувач има овозможено колачиња. Колачињата се " "потребни за да се најавите." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "Е-пошта" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1292,73 +1270,70 @@ msgstr "" "Нема регистрирано корисник со оваа адреса за е-пошта. Сигурни ли сте дека " "сте регистрирани?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Ресетирање на лозинка на %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Нова лозинка" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Потврда за нова лозинка" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Стара лозинка" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "" "Не ја внесовте точно вашата стара лозинка. Ве молам внесете ја повторно." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "име" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "кодно име" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "привилегија" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "привилегии" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "група" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "групи" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "корисничко име" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "Задолжително. 30 или помалку знаци. Букви, бројки и @/./+/-/_ знаци" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "име" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "презиме" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "е-пошта" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "лозинка" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1366,20 +1341,20 @@ msgstr "" "Користете '[algo]$[salt]$[hexdigest]' или користете ја формата за промена на лозинката." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "статус на администраторите" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "" "Означува дали корисникот може да се логира во сајтот за администрација." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "активен" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1387,11 +1362,11 @@ msgstr "" "Означува дали корисникот треба да биде активен. Одштиклирајте го ова наместо " "да бришете корисници." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "статус на суперкорисник" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -1399,15 +1374,15 @@ msgstr "" "Означува дека овој корисник ги има сите привилегии без експлицитно да се " "доделуваат сите." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "последна најава" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "датум на зачленување" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1415,39 +1390,77 @@ msgstr "" "Како дополнување на рачно доделени привилегии, овој корисник ќе ги добие " "автоматски и сите привилегии за секоја група во која тој/таа членува." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "кориснички привилегии" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "корисник" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "корисници" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "порака" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Одјавен" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Внесeте правилна адреса за е-пошта." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Содржина" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Метаподатоци" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "обележан" +msgstr[1] "обележани" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Обележи го одбраните коментари" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "одобрен" +msgstr[1] "одобрени" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Одобри ги одбраните коментари" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "отстранет" +msgstr[1] "отстранети" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Отстрани ги избраните коментари" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 коментар беше успешно %(action)s." +msgstr[1] "%(count)s коментари беа успешно %(action)s." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1459,7 +1472,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Последни коментари за %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Име" @@ -1467,25 +1479,29 @@ msgstr "Име" msgid "Email address" msgstr "Е-пошта" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Коментар" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "" "Ако внесете нешто во ова поле вашиот коментар ќе биде означен како спам" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "тип на содржина" @@ -1514,6 +1530,10 @@ msgstr "коментар" msgid "date/time submitted" msgstr "датум/време пријавен" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "ИП адреса" + #: contrib/comments/models.py:61 msgid "is public" msgstr "е јавен" @@ -1596,7 +1616,6 @@ msgid "Really make this comment public?" msgstr "Навистина ли сакате овој коментар да биде објавен?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Одобри" @@ -1621,11 +1640,6 @@ msgstr "Избриши коментар" msgid "Really remove this comment?" msgstr "Навистина ли сакате да го отстраните овој коментар?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Отстрани" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Ви благодариме што отстранивте" @@ -1656,39 +1670,6 @@ msgstr "Објави" msgid "Preview" msgstr "Преглед" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Редица за модерирање коментари" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Нема коменатари за модерирање" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Е-пошта" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Автентициран?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "ИП адреса" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Датум на објава" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "да" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "не" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Ви благодариме за коментарот" @@ -1716,11 +1697,11 @@ msgstr "Објавете го вашиот коментар" msgid "or make changes" msgstr "или направете измени" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "име на класата за python моделoт" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "типови содржини" @@ -1784,7 +1765,7 @@ msgstr "статична страница" msgid "flat pages" msgstr "статични страници" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1792,6 +1773,40 @@ msgstr "" "Се извинуваме но вашата форма истече. Ве молам продолжете пополнувајќи ја " "формата од оваа страница." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" +"Базичното GIS поле -- соодветствува на геометриски тип од OpenGIS " +"спецификацијата." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Точка" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Линиска нишка" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Полигон" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Повеќе точки" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Повеќе-линиска нишка" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Повеќе полигони" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Колекција од геометриски објекти" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Не е внесена геометриска вредност." @@ -1897,25 +1912,25 @@ msgstr "утре" msgid "yesterday" msgstr "вчера" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Внесете поштенски број во форматот NNNN или ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:97 +#: contrib/localflavor/br/forms.py:136 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Во ова поле смее да бидат само бројки." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Во ова поле смее да има 7 или 8 цифри." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Внесете правилен CUIT во XX-XXXXXXXX-X or XXXXXXXXXXXX формат." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Неправилен CUIT." @@ -1955,8 +1970,8 @@ msgstr "Ворарлберг" msgid "Vienna" msgstr "Виена" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Внесете правилен поштенски број во форматот XXXX." @@ -1966,46 +1981,46 @@ msgstr "" "Внесете правилен број за социјално осигурување на Австрија во XXXX-XXXXXX " "формат." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Внесете 4 цифрен поштенски број." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:22 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Внесете правилен поштенски број во форматот XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:31 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Телефонските броеви мора да бидат во XX-XXXX-XXXX форматот." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:59 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "" "Изберете правилна бразилска држава. Оваа држава не е од достапните држави." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:95 msgid "Invalid CPF number." msgstr "Неправилен CPF број." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:96 msgid "This field requires at most 11 digits or 14 characters." msgstr "Во ова поле смее да има најмногу 11 цифри или 14 знаци." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:135 msgid "Invalid CNPJ number." msgstr "Неправилен CNPJ број." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:137 msgid "This field requires at least 14 digits" msgstr "Во ова поле треба да има најмалку 14 цифри" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Внесете правилен поштенски број во формат XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "Внесте правилен канадски број за осигурување во XXX-XXX-XXX форматот." @@ -2113,7 +2128,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Цирих" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2121,15 +2136,15 @@ msgstr "" "Внесете правилен швајцарски број на пасош во X1234567<0 или 1234567890 " "формат." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Внесете правилeн RUT за Чиле." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Внесете правилен RUT за Чиле. Форматот е Xx.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "RUT бројот за Чиле е невалиден." @@ -2189,25 +2204,25 @@ msgstr "Зилина регион" msgid "Moravian-Silesian Region" msgstr "Моравско-Силесански регион" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Внесете поштенски број во форматот XXXXX или XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "Внесете даночен број (NIP) во форматот XXXXXX/XXXX или XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "" "Невалидна вредност за опционален параметар пол, валидни вредности се 'f' и " "'m'" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Внесете правилен даночен број." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Внесете правилен даночен број." @@ -2275,12 +2290,12 @@ msgstr "Шлесвиг-Холштајн" msgid "Thuringia" msgstr "Турингиа" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Внесете правилен поштенски број во формат XXXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2555,11 +2570,11 @@ msgstr "Foral Community of Navarre" msgid "Valencian Community" msgstr "Valencian Community" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Внесете поштенски број во опсег и формат 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." @@ -2567,62 +2582,494 @@ msgstr "" "Внесете правилен телефонски број во еден од формативе 6XXXXXXXX, 8XXXXXXXX " "или 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Ве молам внесете правиелн NIF, NIE или CIF." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Ве молам внесете валиден NIF или NIE." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Неправилна контролна сума за NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Неправилна контролна сума за NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Неправилна контролна сум за CIF." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "Внесете правилна банкарска сметка во формат XXXX-XXXX-XX-XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Неправилна контролна сума за бројот на банкарската сметка." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Внесте правилен фински матичен број." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Телефонските броеви мора да бидат во 0X XX XX XX XX форматот." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Внесете правилен поштенски код" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Внесете валиден телефонски број" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Внесете валидна регистарска табличка." + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Внесете правилен NIK/KTP број." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Бали" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Бантен" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Бенгкулу" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Јогјакарта" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Џакарта" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Горонтало" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Џамби" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Јава Барат" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Јава Тенга" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Јава Тимур" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Калинмантан Барат" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Калимантан Селатан" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Калимантан Тенга" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Калимантан Тимур" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Кепулуан Банга-Белитунг" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Кепулуан Риау" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Лампунг" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Малуку" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Малуку Утара" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Нангоре Аце Дарусалам" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Нуса Тенгара Барат" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Нуса Тенгара Тимур" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Папуа" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Папуа Барат" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Риау" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Сулавеси Барат" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Сулавеси Селатан" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Сулавеси Тенга" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Сулавеси Тенгара" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Сулавеси Утара" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Суматера Барат" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Суматера Селатан" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Суматера Утара" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Магеланг" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Суракарта - Соло" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Мадиун" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Кедири" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Тапанули" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Кепулуан Банга Белитунг" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps Consulate" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Бандунг" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Сулавеси Утара Даратан" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Сулавеси Утара Кепулуан" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Папуа дан Папуа Барат" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Циребон" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Богор" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Пекалонган" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Семаранг" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Пати" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Сурабаја" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Мадура" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Маланг" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Џембер" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Банјумас" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Федерална Влада" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Бојонегоро" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Пурвакарта" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Сидоарџо" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Гарут" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Антрим" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Армаг" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Карлов" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Каван" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Кларе" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Корк" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Дери" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Донегал" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Даун" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Даблин" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Ферманаг" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Галвеј" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Кери" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Килдаре" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Килкени" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Лаоис" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Лајтрим" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Лимерик" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Лонгфорд" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Лут" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Мајо" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Мит" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Монаган" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Офали" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Росомон" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Слиго" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Типерари" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Тајрон" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Вотерфорд" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Вестмит" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Вексфорд" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Виклоу" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Внесете правилен поштенски број во форматот XXXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "" "Внесете валиден идентификационен број од Исланд. Форматот е XXXXXX-XXXX." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Исландскиот идентификационент број е невалиден." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Внесете правилен поштенски број." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Внесете правилен осигурителен број." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Внесете правилен даночен број." @@ -2818,6 +3265,10 @@ msgstr "Кагошима" msgid "Okinawa" msgstr "Окинава" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Внесете правилен кувајтски број за идентификација" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2946,15 +3397,11 @@ msgstr "Јукатан" msgid "Zacatecas" msgstr "Зацатекас" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Внесете правилен поштенски код" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Внесете валиден телефонски број" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Внесете валиден осигурителен број" @@ -3006,15 +3453,15 @@ msgstr "Зиланд" msgid "Zuid-Holland" msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Ве молам внесете правилен норвешки матичен број." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Во ова поле мора да се внесат 8 цифри." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Во ова поле се потребни 11 цифри." @@ -3114,6 +3561,15 @@ msgstr "Greater Poland" msgid "West Pomerania" msgstr "Западна Померанија" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Внесете поштенски број во форматот XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" +"Телефонските броеви мора да се со 9 цифри, или да почнуваат со + или 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Внесете правилен CIF." @@ -3134,6 +3590,106 @@ msgstr "Телефонските броеви мора да бидат во XXXX msgid "Enter a valid postal code in the format XXXXXX" msgstr "Внесете правилен поштенски код во формат XXXXXX" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Внесете број на шведска организација." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Внесте правилен шведски матичен број." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Координациски броеви не се дозволени." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Внесете правилен шведски поштенски број во формат XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Стокхолм" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Вестерботен" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Норботен" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Упсала" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Содерманланд" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Остерготланд" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Јонкопинг" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Кроненберг" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Калмар" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Готланд" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Блекинге" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Скане" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Халанд" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Вестра Готаланд" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Вермленд" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Оребро" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Вестменланд" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Даларна" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Гевлеборг" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Вестернорланд" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Јемтланд" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Банска Бистрица" @@ -3766,19 +4322,43 @@ msgstr "Шкотска" msgid "Wales" msgstr "Велс" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Внесете поштенски број во форматот XXXXX или XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Телефонските броеви мора да бидат во XXX-XXX-XXXX форматот." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "Внесте правилен матичен број за САД во XXX-XX-XXXX форматот." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Внесете држава или територија од САД." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Држава во САД (две големи букви)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Телефонски број" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Внесете правилен CI во X.XXX.XXX-X,XXXXXXX-X или XXXXXXXX формат." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Внесете правилен CI број." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Внесете правилен јужно афрички број за идентификација" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Внесете правилен јужно афрички поштенски код" @@ -3818,6 +4398,10 @@ msgstr "North West" msgid "Western Cape" msgstr "Western Cape" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "мрзлива порака" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "пренасочи од" @@ -3882,59 +4466,224 @@ msgstr "име кое се прикажува" msgid "sites" msgstr "сајтови" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Оваа вредност мора да биде цел број." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Внесете правилна вредност." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Оваа вредност мора да биде или точно или неточно." +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Внесете правилна адреса." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Оваа вредност неможе да биде null." +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Оваа адреса изгледа дека не е достапна." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Внесете правилно кратко име (slug) кое се соддржи од букви, цифри, долна " +"црта или тире." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Внесeте правилна IPv4 адреса." + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "Внесете само цифри одделени со запирки." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Осигурајте се дека оваа вредност е %(limit_value)s (моментално е %" +"(show_value)s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Осигурајте се дека оваа вредност е помала или еднаква со %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Осигурајте се дека оваа вредност е поголема или еднаква со %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Осигурајте се дека оваа вредност има најмалку %(limit_value)d знаци (има %" +"(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Осигурајте се дека оваа вредност има најмногу %(limit_value)d знаци (има %" +"(show_value)d)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s мора да биде уникатно за %(date_field)s %(lookup)s." + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s со %(field_label)s веќе постои." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Вредноста %r не е валиден избор." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Оваа вредност неможе да биде null." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Ова поле не може да биде празно" + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Поле од тип: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Цел број" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Оваа вредност мора да биде цел број." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Оваа вредност мора да биде или точно или неточно." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Логичка (или точно или неточно)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Збор (до %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Целобројни вредности одделени со запирка" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Датум (без час)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Внесете правилен датум во форматот ГГГГ-ММ-ДД." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Неправилен датум: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "Внесете правилен датум/време во YYYY-MM-DD HH:MM[:ss[.uuuuuu]] формат." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Датум (со час)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "Оваа вредност мора да биде децимален број." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Децимален број" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "Адреса на е-пошта" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Патека на датотека" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "Оваа вредност мора да биде број со подвижна запирка." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Децимален број" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Голем (8 бајти) цел број" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "Оваа вредност мора да биде празна, точно или неточно." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Логичка (точно,неточно или празно)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Текст" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Час" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Внесете правилно време во HH:MM[:ss[.uuuuuu]] формат." -#: db/models/fields/related.py:816 +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML текст" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Модел %(model)s со примарен клуч %(pk)r не постои." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Надворешен клуч (типот е одреден според сврзаното поле)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Еден-према-еден релација" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Повеќе-према-повеќе релација" + +#: db/models/fields/related.py:1000 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Држете го „Control“, или „Command“ на Мекинтош, за да изберете повеќе од " "едно." -#: db/models/fields/related.py:894 +#: db/models/fields/related.py:1061 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3946,84 +4695,58 @@ msgstr[1] "" "Ве молам внесете правилен %(self)s идентификацион број. Вредностите %(value)" "r се неправилни." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Ова поле е задолжително." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Внесете правилна вредност." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Осигурајте се дека оваа вредност има најмногу %(max)d знаци (има %(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Осигурајте се дека оваа вредност има најмалку %(min)d знаци (има %(length)d)." - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "Внеси цел број." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Осигурајте се дека оваа вредност е помала или еднаква со %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Осигурајте се дека оваа вредност е поголема или еднаква со %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "Внесете број." -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Осигурајте се дека вкупно нема повеќе од %s цифри." -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Осигурајте се дека нема повеќе од %s децимални места." -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Осигурајте се дека нема повеќе од %s цифри пред децималната запирка." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "Внесете правилен датум." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "Внесете правилно време." -#: forms/fields.py:361 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "Внесете правилен датум со време." -#: forms/fields.py:447 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "Не беше пратена датотека. Проверете го типот на енкодирање на формата." -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "Не беше пратена датотека." -#: forms/fields.py:449 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "Пратената датотека е празна." -#: forms/fields.py:450 +#: forms/fields.py:438 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." @@ -4031,69 +4754,40 @@ msgstr "" "Осигурајте се дека ова име на датотека има најмногу %(max)d знаци (има %" "(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." msgstr "" -"Качете валидна фотографија. Датотеката која ја качивте или не беше " -"фотографија или беше расипана датотеката." +"Качете валидна слика. Датотеката која ја качивте или не беше слика или беше " +"расипана датотеката." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Внесете правилна адреса." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "Оваа адреса изгледа дека не е достапна." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Внесете валиден избор. %(value)s не е еден од можните избори." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1007 msgid "Enter a list of values." msgstr "Внесете листа на вредности." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Внесeте правилна IPv4 адреса." - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Внесете правилно кратко име (slug) кое се соддржи од букви, цифри, долна " -"црта или тире." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "Редослед" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "%(field_name)s мора да биде уникатно за %(date_field)s %(lookup)s." - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s со %(field_label)s веќе постои." - -#: forms/models.py:594 +#: forms/models.py:567 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Ве молам поправете ја дуплираната вредност за %(field)s." -#: forms/models.py:598 +#: forms/models.py:571 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "" "Ве молам поправете ја дуплираната вредност за %(field)s, која мора да биде " "уникатна." -#: forms/models.py:604 +#: forms/models.py:577 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " @@ -4102,55 +4796,55 @@ msgstr "" "Ве молам поправете ја дуплираната вредност за %(field_name)s која мора да " "биде уникатна за %(lookup)s во %(date_field)s." -#: forms/models.py:612 +#: forms/models.py:585 msgid "Please correct the duplicate values below." msgstr "Ве молам поправете ги дуплираните вредности подолу." -#: forms/models.py:867 +#: forms/models.py:860 msgid "The inline foreign key did not match the parent instance primary key." msgstr "" "Надворешниот клуч на вгезденото поле не се совпаѓа со примарниот клуч на " "родителската инстанца." -#: forms/models.py:930 +#: forms/models.py:926 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Изберете правилно. Тоа не е еден од можните избори." -#: forms/models.py:1004 +#: forms/models.py:1008 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Внесете правилно. %s не е еден од достапните вредности." -#: forms/models.py:1006 +#: forms/models.py:1010 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" не е правилна вредност за примарен клуч." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:781 msgid "yes,no,maybe" msgstr "да, не, можеби" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:812 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d бајт" msgstr[1] "%(size)d бајти" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:814 #, python-format -msgid "%.1f KB" -msgstr "%.1f КБ" +msgid "%s KB" +msgstr "%s КБ" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:816 #, python-format -msgid "%.1f MB" -msgstr "%.1f МБ" +msgid "%s MB" +msgstr "%s МБ" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:817 #, python-format -msgid "%.1f GB" -msgstr "%.1f ГБ" +msgid "%s GB" +msgstr "%s ГБ" #: utils/dateformat.py:42 msgid "p.m." @@ -4356,7 +5050,7 @@ msgstr "ное." msgid "Dec." msgstr "дек." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "или" @@ -4410,33 +5104,37 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:518 msgid "DATE_FORMAT" msgstr "j M Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:519 +msgid "DATETIME_FORMAT" +msgstr "j M Y, P" + +#: utils/translation/trans_real.py:520 msgid "TIME_FORMAT" msgstr "P" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:541 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:542 msgid "MONTH_DAY_FORMAT" msgstr "F j" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "Ставка %(verbose_name)s беше успешно создадена." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "Ставка %(verbose_name)s беше успешно ажурирана." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "Ставка %(verbose_name)s беше избришана." diff --git a/django/conf/locale/mk/LC_MESSAGES/djangojs.mo b/django/conf/locale/mk/LC_MESSAGES/djangojs.mo index 200ddceae3ee4cc1e229385b7098cc5eabea782c..b334f175a35db791916904933a5f483e06b688d9 100644 GIT binary patch delta 305 zcmey**Tz5LPJJFD14A1#0|Ore1H)Gq1_mA=&BDsSAPl4hfwTaSRt3@^aWfz-4y2ud zv=oqz2GW8+x(rCm0O<}O4N|`pNQ2aG1JZMW^kFDJkqsiA2c$WG;?-;nc3=%HKmie; zz*HdZ0;E>~X^?~71L+hX{SV4dW`}4j0@7SS@#@Vp8BLf34GnY+Omz(m6^sn6Of0nx zj3(b>7Iy)OngAsf3{9;}OtcLQ4Gg$^5{pZ8Ly8jfigOZ6@{6n#!V-%!bAV)CdTLI7 aS#frzf=yW&g16a(rGb%g-{#G%XBYtm?>urb(yHPiwH zM1TT)K-vXJF9y;e2fYB&DM0!=lpn(m(U=XSK^By3p2=v!Bxqo+Yha{nXsTdnU}b8o zZD=_89<#VTMAXPc!O+;s#8TV9(7=GpC$YFhH>4;ruQ(^MB)`Z?!96v\n" +"POT-Creation-Date: 2010-05-01 21:49+0200\n" +"PO-Revision-Date: 2010-04-05 15:44+0100\n" +"Last-Translator: Vasil Vangelovski \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 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "Достапно %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Избери ги сите" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Додади" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "Отстрани" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "Избрано %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "Означете го вашиот избор/и и кликнете" -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Исчисти ги сите" -#: contrib/admin/media/js/dateparse.js:32 +#: contrib/admin/media/js/actions.js:17 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + #: 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" @@ -53,67 +60,67 @@ 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 +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 msgid "Show" msgstr "Прикажи" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 msgid "Hide" -msgstr "Скриј" +msgstr "Сокриј" +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Недела Понеделник Вторник Среда Четврток Петок Сабота" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "Now" +msgstr "Сега" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 +msgid "Clock" +msgstr "Часовник" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Choose a time" +msgstr "Избери време" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 +msgid "Midnight" +msgstr "Полноќ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 +msgid "6 a.m." +msgstr "6 наутро" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +msgid "Noon" +msgstr "Пладне" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 +msgid "Cancel" +msgstr "Откажи" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 +msgid "Today" +msgstr "Денеска" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 +msgid "Calendar" +msgstr "Календар" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 +msgid "Yesterday" +msgstr "Вчера" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 +msgid "Tomorrow" +msgstr "Утре" diff --git a/django/conf/locale/mk/__init__.py b/django/conf/locale/mk/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/mk/formats.py b/django/conf/locale/mk/formats.py new file mode 100644 index 000000000..746ac0ea9 --- /dev/null +++ b/django/conf/locale/mk/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'd F Y' +TIME_FORMAT = 'H:i:s' +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +# MONTH_DAY_FORMAT = +SHORT_DATE_FORMAT = 'd.n.Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +# NUMBER_GROUPING = diff --git a/django/conf/locale/ml/LC_MESSAGES/django.mo b/django/conf/locale/ml/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..654b4fc4ee2bb44b4997dc086ba6dc2ce507db78 GIT binary patch literal 64084 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

                        @ZOiS>_l*4;)Cex*zJt|RrEe#IWg97X8*uIF%sIWln zDfehcaW2b0Rml0UIXt_TWtN-l)UDQ{ogH_@F{V4)9)H9Pbd za~`P@4Tfw?)JF&v%-dRNMQ3F6?1cDaQL+beu&Hp`rd_%}m!drgYeCTW>li+Hg(T3$ zZebKx^SvQP9r*BDMlYmVF2_M;xqd$llb~KtOP_#~yV)*Re6K^+q7CjYri@WJooaeW zkzrWkn19Y|y3TB*Sx;l)y~Si#&>iktKRT3 z&-jXyj=$jn886G)!wtDb`kceGG>UMM>xhnO&E{^s2eO*4&SbUb#$+`wByreH95^|b z9ruQJZHOCT0g=6MQ|j&2Ui;dTvW9Zao!&Py@u~1Wz_~-04Y8#TMZ=hUCFc&?K3_~y zdHaN?E(OgodRT08AR8cT1>%)*+8|x|2DWC^JpgDGIzr;es?=yC=jvI^Ma6->%Ed=q zR4WeDf&S8ZmKVg}i)X8qmULoqL9x(ZE%lx_GltiWnG1tk#1bVog9|!}3)@AwYG1PA z^rSOAW82Q1H!4kC%s!dNobd^Fdvcz=Q9H|4^fs38rfo>|lk*kOJ!2eXhqeE36N%oi z(i48X+#2bUh}k<1Y9|EaEGT5j^tc(-Nl#Z5^x zW7&iqMjI26QRrtv=8f%`Gx*jhG^z#V#BrBC&IiG95urT-30v`DXPz|XRNt~UOA>u; zd|1AZ`6yRMM>aU#QE1G1gSo<&xtzUIi;uIHKYLbfwyD-$u`|x{8%FN H-KW-Hsa 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 hT0~f8+RR|)p*qYf%vrk1-F6evw, 2010. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Django SVN\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-05-27 11:01+0530\n" +"PO-Revision-Date: 2010-05-28 15:09+0530\n" +"Last-Translator: Rajeesh Nair \n" +"Language-Team: MALAYALAM \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Malayalam\n" +"X-Poedit-Country: INDIA\n" + +#: conf/global_settings.py:44 +msgid "Arabic" +msgstr "അറബി" + +#: conf/global_settings.py:45 +msgid "Bulgarian" +msgstr "ബള്‍ഗേറിയന്‍" + +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "ബംഗാളി" + +#: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "ബോസ്നിയന്‍" + +#: conf/global_settings.py:48 +msgid "Catalan" +msgstr "കാറ്റലന്‍" + +#: conf/global_settings.py:49 +msgid "Czech" +msgstr "ചെക്" + +#: conf/global_settings.py:50 +msgid "Welsh" +msgstr "വെല്‍ഷ്" + +#: conf/global_settings.py:51 +msgid "Danish" +msgstr "ഡാനിഷ്" + +#: conf/global_settings.py:52 +msgid "German" +msgstr "ജര്‍മന്‍" + +#: conf/global_settings.py:53 +msgid "Greek" +msgstr "ഗ്രീക്ക്" + +#: conf/global_settings.py:54 +msgid "English" +msgstr "ഇംഗ്ളീഷ്" + +#: conf/global_settings.py:55 +msgid "British English" +msgstr "ബ്രിട്ടീഷ് ഇംഗ്ളീഷ്" + +#: conf/global_settings.py:56 +msgid "Spanish" +msgstr "സ്പാനിഷ്" + +#: conf/global_settings.py:57 +msgid "Argentinean Spanish" +msgstr "അര്‍ജന്റീനിയന്‍ സ്പാനിഷ്" + +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "എസ്ടോണിയന്‍ സ്പാനിഷ്" + +#: conf/global_settings.py:59 +msgid "Basque" +msgstr "ബാസ്ക്യു" + +#: conf/global_settings.py:60 +msgid "Persian" +msgstr "പേര്‍ഷ്യന്‍" + +#: conf/global_settings.py:61 +msgid "Finnish" +msgstr "ഫിന്നിഷ്" + +#: conf/global_settings.py:62 +msgid "French" +msgstr "ഫ്രെഞ്ച്" + +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "ഫ്രിസിയന്‍" + +#: conf/global_settings.py:64 +msgid "Irish" +msgstr "ഐറിഷ്" + +#: conf/global_settings.py:65 +msgid "Galician" +msgstr "ഗലിഷ്യന്‍" + +#: conf/global_settings.py:66 +msgid "Hebrew" +msgstr "ഹീബ്റു" + +#: conf/global_settings.py:67 +msgid "Hindi" +msgstr "ഹിന്ദി" + +#: conf/global_settings.py:68 +msgid "Croatian" +msgstr "ക്രൊയേഷ്യന്‍" + +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "ഹംഗേറിയന്‍" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "ഇന്‍ദൊനേഷ്യന്‍" + +#: conf/global_settings.py:71 +msgid "Icelandic" +msgstr "ഐസ്ലാന്‍ഡിക്" + +#: conf/global_settings.py:72 +msgid "Italian" +msgstr "ഇറ്റാലിയന്‍" + +#: conf/global_settings.py:73 +msgid "Japanese" +msgstr "ജാപ്പനീസ്" + +#: conf/global_settings.py:74 +msgid "Georgian" +msgstr "ജോര്‍ജിയന്‍" + +#: conf/global_settings.py:75 +msgid "Khmer" +msgstr "" + +#: conf/global_settings.py:76 +msgid "Kannada" +msgstr "കന്നഡ" + +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "കൊറിയന്‍" + +#: conf/global_settings.py:78 +msgid "Lithuanian" +msgstr "ലിത്വാനിയന്‍" + +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "ലാറ്റ്വിയന്‍" + +#: conf/global_settings.py:80 +msgid "Macedonian" +msgstr "മാസിഡോണിയന്‍" + +#: conf/global_settings.py:81 +msgid "Mongolian" +msgstr "മംഗോളിയന്‍" + +#: conf/global_settings.py:82 +msgid "Dutch" +msgstr "ഡച്ച്" + +#: conf/global_settings.py:83 +msgid "Norwegian" +msgstr "" + +#: conf/global_settings.py:84 +msgid "Norwegian Bokmal" +msgstr "" + +#: conf/global_settings.py:85 +msgid "Norwegian Nynorsk" +msgstr "" + +#: conf/global_settings.py:86 +msgid "Polish" +msgstr "" + +#: conf/global_settings.py:87 +msgid "Portuguese" +msgstr "" + +#: conf/global_settings.py:88 +msgid "Brazilian Portuguese" +msgstr "" + +#: conf/global_settings.py:89 +msgid "Romanian" +msgstr "" + +#: conf/global_settings.py:90 +msgid "Russian" +msgstr "" + +#: conf/global_settings.py:91 +msgid "Slovak" +msgstr "" + +#: conf/global_settings.py:92 +msgid "Slovenian" +msgstr "" + +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "" + +#: conf/global_settings.py:94 +msgid "Serbian" +msgstr "" + +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "" + +#: conf/global_settings.py:96 +msgid "Swedish" +msgstr "" + +#: conf/global_settings.py:97 +msgid "Tamil" +msgstr "" + +#: conf/global_settings.py:98 +msgid "Telugu" +msgstr "" + +#: conf/global_settings.py:99 +msgid "Thai" +msgstr "" + +#: conf/global_settings.py:100 +msgid "Turkish" +msgstr "" + +#: conf/global_settings.py:101 +msgid "Ukrainian" +msgstr "" + +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "" + +#: conf/global_settings.py:103 +msgid "Simplified Chinese" +msgstr "" + +#: conf/global_settings.py:104 +msgid "Traditional Chinese" +msgstr "" + +#: contrib/admin/actions.py:48 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d %(items)s വിജയകരമായി ഡിലീറ്റ് ചെയ്തു." + +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 +msgid "Are you sure?" +msgstr "തീര്‍ച്ചയാണോ?" + +#: contrib/admin/actions.py:73 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "തെരഞ്ഞെടുത്ത %(verbose_name_plural)s ഡിലീറ്റ് ചെയ്യുക." + +#: contrib/admin/filterspecs.py:44 +#, python-format +msgid "" +"

                        By %s:

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

                          By %s:

                          \n" +"
                            \n" + +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "എല്ലാം" + +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "ഏതെങ്കിലും തീയതി" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "ഇന്ന്" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "കഴിഞ്ഞ ഏഴു ദിവസം" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "ഈ മാസം" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "ഈ വര്‍ഷം" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:466 +msgid "Yes" +msgstr "അതെ" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:466 +msgid "No" +msgstr "അല്ല" + +#: contrib/admin/filterspecs.py:154 forms/widgets.py:466 +msgid "Unknown" +msgstr "അജ്ഞാതം" + +#: contrib/admin/helpers.py:20 +msgid "Action:" +msgstr "ആക്ഷന്‍" + +#: contrib/admin/models.py:19 +msgid "action time" +msgstr "ആക്ഷന്‍ സമയം" + +#: contrib/admin/models.py:22 +msgid "object id" +msgstr "ഒബ്ജെക്ട് ഐഡി" + +#: contrib/admin/models.py:23 +msgid "object repr" +msgstr "ഒബ്ജെക്ട് സൂചന" + +#: contrib/admin/models.py:24 +msgid "action flag" +msgstr "ആക്ഷന്‍ ഫ്ളാഗ്" + +#: contrib/admin/models.py:25 +msgid "change message" +msgstr "സന്ദേശം മാറ്റുക" + +#: contrib/admin/models.py:28 +msgid "log entry" +msgstr "ലോഗ് എന്ട്രി" + +#: contrib/admin/models.py:29 +msgid "log entries" +msgstr "ലോഗ് എന്ട്രികള്‍" + +#: contrib/admin/options.py:138 contrib/admin/options.py:153 +msgid "None" +msgstr "ഒന്നുമില്ല" + +#: contrib/admin/options.py:559 +#, python-format +msgid "Changed %s." +msgstr "%s മാറ്റി." + +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:845 +#: forms/models.py:568 +msgid "and" +msgstr "ഉം" + +#: contrib/admin/options.py:564 +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "%(name)s \"%(object)s\" ചേര്‍ത്തു." + +#: contrib/admin/options.py:568 +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "%(name)s \"%(object)s\" ന്റെ %(list)s മാറ്റി." + +#: contrib/admin/options.py:573 +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "%(name)s \"%(object)s\" ഡിലീറ്റ് ചെയ്തു." + +#: contrib/admin/options.py:577 +msgid "No fields changed." +msgstr "ഒരു മാറ്റവുമില്ല." + +#: contrib/admin/options.py:643 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" വിജയകരമായി കൂട്ടിച്ചേര്ത്തു." + +#: contrib/admin/options.py:647 contrib/admin/options.py:680 +msgid "You may edit it again below." +msgstr "താഴെ നിന്ന് വീണ്ടും മാറ്റം വരുത്താം" + +#: contrib/admin/options.py:657 contrib/admin/options.py:690 +#, python-format +msgid "You may add another %s below." +msgstr "%s ഒന്നു കൂടി ചേര്‍ക്കാം" + +#: contrib/admin/options.py:678 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" ല്‍ മാറ്റം വരുത്തി." + +#: contrib/admin/options.py:686 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "%(name)s \"%(obj)s\" കൂട്ടി ചേര്‍ത്തു. താഴെ നിന്നും മാറ്റം വരുത്താം." + +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "ആക്ഷന്‍ നടപ്പിലാക്കേണ്ട വകകള്‍ തെരഞ്ഞെടുക്കണം. ഒന്നും മാറ്റിയിട്ടില്ല." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "ആക്ഷനൊന്നും തെരഞ്ഞെടുത്തില്ല." + +#: contrib/admin/options.py:840 +#, python-format +msgid "Add %s" +msgstr "%s ചേര്‍ക്കുക" + +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "%(key)r എന്ന പ്രാഥമിക കീ ഉള്ള %(name)s വസ്തു ഒന്നും നിലവിലില്ല." + +#: contrib/admin/options.py:931 +#, python-format +msgid "Change %s" +msgstr "%s മാറ്റാം" + +#: contrib/admin/options.py:977 +msgid "Database error" +msgstr "ഡേറ്റാബേസ് തകരാറാണ്." + +#: contrib/admin/options.py:1039 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s ല്‍ മാറ്റം വരുത്തി." +msgstr[1] "%(count)s %(name)s ല്‍ മാറ്റം വരുത്തി." + +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s തെരഞ്ഞെടുത്തു." +msgstr[1] "%(total_count)sഉം തെരഞ്ഞെടുത്തു." + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s ല്‍ ഒന്നും തെരഞ്ഞെടുത്തില്ല." + +#: contrib/admin/options.py:1118 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" ഡിലീറ്റ് ചെയ്തു." + +#: contrib/admin/options.py:1155 +#, python-format +msgid "Change history: %s" +msgstr "%s ലെ മാറ്റങ്ങള്‍." + +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "ദയവായി ശരിയായ യൂസര്‍നാമവും പാസ്വേര്ഡും നല്കുക. ഇംഗ്ളീഷ് അക്ഷരങ്ങള്‍ വല്യക്ഷരമാണോ അല്ലയോ എന്നത് " +"ശ്രദ്ധിക്കണം" + +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 +msgid "Please log in again, because your session has expired." +msgstr "താങ്കളുടെ സെഷന്റെ കാലാവധി കഴിഞ്ഞു. വീണ്ടും ലോഗിന്‍ ചെയ്യണം." + +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "നിങ്ങളുടെ ബ്രൗസര്‍ കുക്കീസ് സ്വീകരിക്കാന്‍ തയ്യാറല്ലെന്നു തോന്നുന്നു. കുക്കീസ് പ്രവര്‍ത്തനക്ഷമമാക്കിയ ശേഷം " +"ഈ പേജ് രീലോഡ് ചെയ്ത് വീണ്ടും ശ്രമിക്കുക." + +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 +#: contrib/admin/views/decorators.py:66 +msgid "Usernames cannot contain the '@' character." +msgstr "യൂസര്‍നാമത്തില്‍ '@' എന്ന ചിഹ്നം പാടില്ല." + +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "നിങ്ങളുടെ ഇ-മെയില്‍ അഡ്രസ്സ് അല്ല യൂസര്‍നാമം. പകരം '%s' ഉപയോഗിച്ച് നോക്കുക." + +#: contrib/admin/sites.py:389 +msgid "Site administration" +msgstr "സൈറ്റ് ഭരണം" + +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/templates/registration/password_reset_complete.html:14 +#: contrib/admin/views/decorators.py:20 +msgid "Log in" +msgstr "ലോഗ്-ഇന്‍" + +#: contrib/admin/sites.py:448 +#, python-format +msgid "%s administration" +msgstr "%s ഭരണം" + +#: contrib/admin/widgets.py:75 +msgid "Date:" +msgstr "തീയതി:" + +#: contrib/admin/widgets.py:75 +msgid "Time:" +msgstr "സമയം:" + +#: contrib/admin/widgets.py:99 +msgid "Currently:" +msgstr "" + +#: contrib/admin/widgets.py:99 +msgid "Change:" +msgstr "മാറ്റുക:" + +#: contrib/admin/widgets.py:129 +msgid "Lookup" +msgstr "തിരയുക" + +#: contrib/admin/widgets.py:244 +msgid "Add Another" +msgstr "ഒന്നു കൂടി ചേര്‍ക്കുക" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "പേജ് കണ്ടില്ല" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "ക്ഷമിക്കണം, ആവശ്യപ്പെട്ട പേജ് കണ്ടെത്താന്‍ കഴിഞ്ഞില്ല." + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/app_index.html:8 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: 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:5 +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "പൂമുഖം" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "സെര്‍വര്‍ തകരാറാണ്" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "സെര്‍വര്‍ തകരാറാണ് (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "സെര്‍വര്‍ തകരാറാണ് (500)" + +#: contrib/admin/templates/admin/500.html:10 +msgid "" +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "എന്തോ തകരാറുണ്ട്. ഉടന്‍ പരിഹരിക്കാനായി സൈറ്റ് നിയന്ത്രകര്‍ക്കു ഇ-മെയില്‍ വഴി രിപ്പോര്‍ട്ട് ചെയ്തിട്ടുണ്ട്." +"ദയവായി കാത്തിരിക്കുക." + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "തെരഞ്ഞെടുത്ത ആക്ഷന്‍ നടപ്പിലാക്കുക" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "എല്ലാ പേജിലേയും വസ്തുക്കള്‍ തെരഞ്ഞെടുക്കാന്‍ ഇവിടെ ക്ലിക് ചെയ്യുക." + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "മുഴുവന്‍ %(total_count)s %(module_name)s ഉം തെരഞ്ഞെടുക്കുക" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "തെരഞ്ഞെടുത്തത് റദ്ദാക്കുക." + +#: contrib/admin/templates/admin/app_index.html:10 +#: contrib/admin/templates/admin/index.html:19 +#, python-format +msgid "%(name)s" +msgstr "" + +#: contrib/admin/templates/admin/base.html:28 +msgid "Welcome," +msgstr "സ്വാഗതം, " + +#: contrib/admin/templates/admin/base.html:33 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "സഹായക്കുറിപ്പുകള്‍" + +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Change password" +msgstr "പാസ് വേര്‍ഡ് മാറ്റുക." + +#: contrib/admin/templates/admin/base.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Log out" +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/change_form.html:21 +#: contrib/admin/templates/admin/index.html:29 +msgid "Add" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:28 +#: contrib/admin/templates/admin/object_history.html:10 +msgid "History" +msgstr "ചരിത്രം" + +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 +msgid "View on site" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "ദയവായി താഴെയുള്ള തെറ്റ് പരിഹരിക്കുക." +msgstr[1] "ദയവായി താഴെയുള്ള തെറ്റുകള്‍ പരിഹരിക്കുക." + +#: contrib/admin/templates/admin/change_list.html:63 +#, python-format +msgid "Add %(name)s" +msgstr "" + +#: contrib/admin/templates/admin/change_list.html:82 +msgid "Filter" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:10 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 +msgid "Delete" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:16 +#, 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:23 +#, 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:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 +msgid "Yes, I'm sure" +msgstr "അതെ, തീര്‍ച്ചയാണ്" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "ഒന്നിലേറെ വസ്തുക്കള്‍ ഡിലീറ്റ് ചെയ്തോളൂ" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)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 ഡിലീറ്റ് ചെയ്യുമ്പോള്‍ അതുമായി ബന്ധമുള്ള വസ്തുക്കളും" +"ഡിലീറ്റ് ആവും. പക്ഷേ നിങ്ങള്‍ക്ക് താഴെ പറഞ്ഞ തരം വസ്തുക്കള്‍ ഡിലീറ്റ് ചെയ്യാനുള്ള അനുമതി ഇല്ല:" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "തെരഞ്ഞെടുത്ത %(object_name)s എല്ലാം ഡിലീറ്റ് ചെയ്യണമെന്ന് തീര്‍ച്ചയാണോ?" +"താഴെപ്പറയുന്ന വസ്തുക്കളും അതുമായി ബന്ധമുള്ളതെല്ലാം ഡിലീറ്റ് ആവും:" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "" + +#: contrib/admin/templates/admin/index.html:35 +msgid "Change" +msgstr "മാറ്റുക" + +#: contrib/admin/templates/admin/index.html:45 +msgid "You don't have permission to edit anything." +msgstr "ഒന്നിലും മാറ്റം വരുത്താനുള്ള അനുമതി ഇല്ല." + +#: contrib/admin/templates/admin/index.html:53 +msgid "Recent Actions" +msgstr "സമീപകാല പ്രവ്രുത്തികള്‍" + +#: contrib/admin/templates/admin/index.html:54 +msgid "My Actions" +msgstr "എന്റെ പ്രവ്രുത്തികള്‍" + +#: contrib/admin/templates/admin/index.html:58 +msgid "None available" +msgstr "ഒന്നും ലഭ്യമല്ല" + +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "ഉള്ളടക്കം അറിയില്ല." + +#: 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 "നിങ്ങളുടെ ഡേറ്റാബേസ് ഇന്‍സ്ടാലേഷനില്‍ എന്തോ പിശകുണ്ട്. ശരിയായ ടേബിളുകള്‍ ഉണ്ടെന്നും ഡേറ്റാബേസ് " +"വായനായോഗ്യമാണെന്നും ഉറപ്പു വരുത്തുക." + +#: contrib/admin/templates/admin/login.html:19 +msgid "Username:" +msgstr "യൂസര്‍ നാമം" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Password:" +msgstr "പാസ് വേര്‍ഡ്" + +#: contrib/admin/templates/admin/object_history.html:22 +msgid "Date/time" +msgstr "തീയതി/സമയം" + +#: contrib/admin/templates/admin/object_history.html:23 +msgid "User" +msgstr "യൂസര്‍" + +#: contrib/admin/templates/admin/object_history.html:24 +msgid "Action" +msgstr "ആക്ഷന്‍" + +#: contrib/admin/templates/admin/object_history.html:38 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "ഈ വസ്തുവിന്റെ മാറ്റങ്ങളുടെ ചരിത്രം ലഭ്യമല്ല. ഒരുപക്ഷെ ഇത് അഡ്മിന്‍ സൈറ്റ് വഴി ചേര്‍ത്തതായിരിക്കില്ല." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "എല്ലാം കാണട്ടെ" + +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "സേവ് ചെയ്യണം" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Search" +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/submit_line.html:5 +msgid "Save as new" +msgstr "പുതിയതായി സേവ് ചെയ്യണം" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and add another" +msgstr "സേവ് ചെയ്ത ശേഷം വേറെ ചേര്‍ക്കണം" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save and continue editing" +msgstr "സേവ് ചെയ്ത ശേഷം മാറ്റം വരുത്താം" + +#: contrib/admin/templates/admin/auth/user/add_form.html:5 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +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:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "പാസ് വേര്‍ഡ്" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "പാസ് വേര്‍ഡ് (വീണ്ടും)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "പാസ് വേര്‍ഡ് മുകളിലെ പോലെ തന്നെ നല്കുക. (ഉറപ്പു വരുത്താനാണ്.)" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "%(verbose_name)s ഒന്നു കൂടി ചേര്‍ക്കുക" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "നീക്കം ചെയ്യുക" + +#: contrib/admin/templates/admin/edit_inline/tabular.html:15 +msgid "Delete?" +msgstr "ഡിലീറ്റ് ചെയ്യട്ടെ?" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "ഈ വെബ് സൈറ്റില്‍ കുറെ നല്ല സമയം ചെലവഴിച്ചതിനു നന്ദി." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "വീണ്ടും ലോഗ്-ഇന്‍ ചെയ്യുക." + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 +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:21 +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:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "പഴയ പാസ് വേര്‍ഡ്" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "പുതിയ പാസ് വേര്‍ഡ്" + +#: contrib/admin/templates/registration/password_change_form.html:43 +#: contrib/admin/templates/registration/password_reset_confirm.html:21 +msgid "Change my password" +msgstr "എന്റെ പാസ് വേര്‍ഡ് മാറ്റണം" + +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:6 +#: 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_complete.html:6 +#: contrib/admin/templates/registration/password_reset_complete.html:10 +msgid "Password reset complete" +msgstr "പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കല്‍ പൂര്‍ണം" + +#: contrib/admin/templates/registration/password_reset_complete.html:12 +msgid "Your password has been set. You may go ahead and log in now." +msgstr "നിങ്ങളുടെ പാസ് വേര്‍ഡ് തയ്യാര്‍. ഇനി ലോഗ്-ഇന്‍ ചെയ്യാം." + +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +msgid "Password reset confirmation" +msgstr "പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കല്‍ ഉറപ്പാക്കല്‍" + +#: contrib/admin/templates/registration/password_reset_confirm.html:12 +msgid "Enter new password" +msgstr "പുതിയ പാസ് വേര്‍ഡ് നല്കൂ" + +#: contrib/admin/templates/registration/password_reset_confirm.html:14 +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "ദയവായി നിങ്ങളുടെ പുതിയ പാസ് വേര്‍ഡ് രണ്ടു തവണ നല്കണം. ശരിയായാണ് ടൈപ്പു ചെയ്തത് എന്നു ഉറപ്പിക്കാനാണ്." + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "പുതിയ പാസ് വേര്‍ഡ്:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "പാസ് വേര്‍ഡ് ഉറപ്പാക്കൂ:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:26 +msgid "Password reset unsuccessful" +msgstr "പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കല്‍ പരാജയം" + +#: contrib/admin/templates/registration/password_reset_confirm.html:28 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new 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 you instructions for setting your password to the e-mail " +"address you submitted. You should be receiving it shortly." +msgstr "നിങ്ങളുടെ പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കാനായി നിര്‍ദ്ദേശങ്ങള്‍ അടങ്ങിയ ഒരു ഈ-മെയില്‍ നിങ്ങള്‍ നല്കിയ" +"വിലാസത്തില്‍ അയച്ചിട്ടുണ്ട്. അത് നിങ്ങള്‍ക്ക് ഉടന്‍ ലഭിക്കേണ്ടതാണ്." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "നിങ്ങള്‍ പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കാന്‍ അപേക്ഷിച്ചതു കൊണ്ടാണ് ഈ ഇ-മെയില്‍ നിങ്ങള്‍ക്ക് ലഭിക്കുന്നത്." + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "നിങ്ങളുടെ %(site_name)s എന്ന സൈറ്റിലെ അക്കൗണ്ടിനു വേണ്ടി." + +#: contrib/admin/templates/registration/password_reset_email.html:5 +msgid "Please go to the following page and choose a new password:" +msgstr "ദയവായി താഴെ പറയുന്ന പേജ് സന്ദര്‍ശിച്ച് പുതിയ പാസ് വേര്‍ഡ് തെരഞ്ഞെടുക്കുക:" + +#: contrib/admin/templates/registration/password_reset_email.html:9 +msgid "Your username, in case you've forgotten:" +msgstr "നിങ്ങള്‍ മറന്നെങ്കില്‍, നിങ്ങളുടെ യൂസര്‍ നാമം, :" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Thanks for using our site!" +msgstr "ഞങ്ങളുടെ സൈറ്റ് ഉപയോഗിച്ചതിന് നന്ദി!" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll e-mail " +"instructions for setting a new one." +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/templatetags/admin_list.py:257 +msgid "All dates" +msgstr "എല്ലാ തീയതികളും" + +#: contrib/admin/views/main.py:65 +#, python-format +msgid "Select %s" +msgstr "%s തെരഞ്ഞെടുക്കൂ" + +#: contrib/admin/views/main.py:65 +#, python-format +msgid "Select %s to change" +msgstr "മാറ്റാനുള്ള %s തെരഞ്ഞെടുക്കൂ" + +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 +msgid "site" +msgstr "സൈറ്റ്" + +#: contrib/admin/views/template.py:40 +msgid "template" +msgstr "ടെമ്പ്ലേറ്റ്" + +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 +msgid "tag:" +msgstr "ടാഗ്:" + +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 +msgid "filter:" +msgstr "അരിപ്പ:" + +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 +msgid "view:" +msgstr "വ്യൂ" + +#: contrib/admindocs/views.py:190 +#, python-format +msgid "App %r not found" +msgstr "%r എന്ന App കണ്ടില്ല." + +#: contrib/admindocs/views.py:197 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr "%(app_label)r എന്ന Appല്‍ %(model_name)r എന്ന മാത്രുക കണ്ടില്ല." + +#: contrib/admindocs/views.py:209 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "ബന്ധപ്പെട്ട `%(app_label)s.%(data_type)s` വസ്തു" + +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 +msgid "model:" +msgstr "മാത്രുക:" + +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "ബന്ധപ്പെട്ട `%(app_label)s.%(object_name)s` വസ്തുക്കള്‍" + +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 +#, python-format +msgid "all %s" +msgstr "%s എല്ലാം" + +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 +#, python-format +msgid "number of %s" +msgstr "%sന്റെ എണ്ണം" + +#: contrib/admindocs/views.py:271 +#, python-format +msgid "Fields on %s objects" +msgstr "%s വസ്തുക്കളിലെ വിവരങ്ങള്‍" + +#: contrib/admindocs/views.py:361 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s വിലാസ മാത്രുക (urlpattern object) ആണെന്ന് തോന്നുന്നില്ല." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "ബുക്ക് മാര്‍ക്കുകള്‍" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "സഹായക്കുറിപ്പുകളുടെ ബുക്ക്മാര്‍ക്കുകള്‍" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

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

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

                            ബുക്ക്മാര്‍ക്ക്ലെറ്റുകള്‍ ഇന്‍സ്റ്റാള്‍ ചെയ്യാന്‍, ലിങ്കിനെ നിങ്ങളുടെ ബുക്ക്മാര്‍ക് ടൂള്‍ബാറിലേക്ക് \n" +"വലിച്ചിടുകയോ, ലിങ്കിന്‍മേല്‍ റൈറ്റ്ക്ളിക് ചെയ്ത് ബുക്ക്മാര്‍ക്കായി ചേര്‍ക്കുകയോ ചെയ്യുക. ഇനി സൈറ്റിലെ ഏതു പേജില്‍ നിന്നും\n" +" ഈ ബുക്ക്മാര്ക് തെരഞ്ഞെടുക്കാം. ചില ബുക്ക്മാര്‍ക്കുകള്‍ ഇന്റേണല്‍ ആയ കമ്പ്യൂട്ടറില്‍ നിന്നേ ലഭ്യമാവൂ എന്നു ശ്രദ്ധിക്കണം.\n" +"നിങ്ങളുടെ കംപ്യൂട്ടര്‍ അത്തരത്തില്‍ പെട്ടതാണോ എന്നറിയാന്‍ സിസ്റ്റം അഡ്മിനിസ്ട്രേട്ടറെ ബന്ധപ്പെടുക.

                            \n" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "ഈ പേജിന്റെ സഹായക്കുറിപ്പുകള്‍" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "ഏതു പേജില്‍ നിന്നും അതിന്റെ ഉദ്ഭവമായ വ്യൂവിന്റെ സഹായക്കുറിപ്പിലേക്കു ചാടാന്‍" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "വസ്തുവിന്റെ ഐഡി കാണിക്കുക." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "ഒറ്റ വസ്തുവിനെ പ്രതിനിധീകരിക്കുന്ന പേജുകളുടെ ഉള്ളടക്കത്തിന്റെ തരവും തനതായ IDയും കാണിക്കുന്നു." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "ഈ വസ്തുവില് മാറ്റം വരുത്തുക (ഇതേ വിന്‍ഡോ)" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "ഒറ്റ വസ്തുവിനെ പ്രതിനിധീകരിക്കുന്ന പേജുകള്‍ക്കുള്ള അഡ്മിന്‍ പേജിലേക്ക് ചാടുന്നു." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "ഈ വസ്തുവില് മാറ്റം വരുത്തുക (പുതിയ വിന്‍ഡോ)" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "മുകളിലേതു പോലെ, പക്ഷെ, അഡ്മിന്‍ പേജ് പുതിയ വിന്ഡോവിലാണ് തുറക്കുക." + +#: contrib/auth/admin.py:29 +msgid "Personal info" +msgstr "വ്യക്തിപരമായ വിവരങ്ങള്‍" + +#: contrib/auth/admin.py:30 +msgid "Permissions" +msgstr "അനുമതികള്‍" + +#: contrib/auth/admin.py:31 +msgid "Important dates" +msgstr "പ്രധാന തീയതികള്‍" + +#: contrib/auth/admin.py:32 +msgid "Groups" +msgstr "ഗ്രൂപ്പുകള്‍" + +#: contrib/auth/admin.py:114 +msgid "Password changed successfully." +msgstr "പാസ് വേര്‍ഡ് മാറ്റിയിരിക്കുന്നു." + +#: contrib/auth/admin.py:124 +#, python-format +msgid "Change password: %s" +msgstr "പാസ് വേര്‍ഡ് മാറ്റുക: %s" + +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "യൂസര്‍ നാമം (ഉപയോക്ത്രു നാമം)" + +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "നിര്‍ബന്ധം. 30 ഓ അതില്‍ കുറവോ ചിഹ്നങ്ങള്‍. അക്ഷരങ്ങള്‍, അക്കങ്ങള്‍, " +"പിന്നെ @/./+/-/_എന്നിവയും മാത്രം." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "അക്ഷരങ്ങള്‍, അക്കങ്ങള്‍, പിന്നെ @/./+/-/_എന്നിവയും മാത്രം." + +#: contrib/auth/forms.py:18 +msgid "Password confirmation" +msgstr "പാസ് വേര്‍ഡ് ഉറപ്പാക്കല്‍" + +#: contrib/auth/forms.py:31 +msgid "A user with that username already exists." +msgstr "ആ പേരുള്ള ഒരു ഉപയോക്താവ് നിലവിലുണ്ട്." + +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 +msgid "The two password fields didn't match." +msgstr "പാസ് വേര്‍ഡ് നല്കിയ കള്ളികള്‍ രണ്ടും തമ്മില്‍ സാമ്യമില്ല." + +#: contrib/auth/forms.py:83 +msgid "This account is inactive." +msgstr "ഈ അക്കൗണ്ട് മരവിപ്പിച്ചതാണ്." + +#: contrib/auth/forms.py:88 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "നിങ്ങളുടെ വെബ്-ബ്രൗസറിലെ കുക്കീസൊന്നും പ്രവര്‍ത്തിക്കുന്നില്ല. ഇതിലേക്ക് പ്രവേശിക്കാന്‍ അവ ആവശ്യമാണ്." + +#: contrib/auth/forms.py:101 +msgid "E-mail" +msgstr "ഇ-മെയില്‍" + +#: contrib/auth/forms.py:110 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "ആ ഇ-മെയിലുമായി ബന്ധപ്പെട്ട യൂസര് അക്കൗണ്ടൊന്നും നിലവിലില്ല. രജിസ്റ്റര്‍ ചെയ്തെന്നു തീര്‍ച്ചയാണോ?" + +#: contrib/auth/forms.py:136 +#, python-format +msgid "Password reset on %s" +msgstr "%s ലെ പാസ് വേര്‍ഡ് പുനസ്ഥാപിച്ചു." + +#: contrib/auth/forms.py:145 +msgid "New password confirmation" +msgstr "പുതിയ പാസ് വേര്‍ഡ് ഉറപ്പാക്കല്‍" + +#: contrib/auth/forms.py:178 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "നിങ്ങളുടെ പഴയ പാസ് വേര്‍ഡ് തെറ്റായാണ് നല്കിയത്. തിരുത്തുക." + +#: contrib/auth/models.py:66 contrib/auth/models.py:94 +msgid "name" +msgstr "പേര്" + +#: contrib/auth/models.py:68 +msgid "codename" +msgstr "കോഡ്-നാമം" + +#: contrib/auth/models.py:72 +msgid "permission" +msgstr "അനുമതി" + +#: contrib/auth/models.py:73 contrib/auth/models.py:95 +msgid "permissions" +msgstr "അനുമതികള്‍" + +#: contrib/auth/models.py:98 +msgid "group" +msgstr "ഗ്രൂപ്പ്" + +#: contrib/auth/models.py:99 contrib/auth/models.py:206 +msgid "groups" +msgstr "ഗ്രൂപ്പുകള്‍" + +#: contrib/auth/models.py:196 +msgid "username" +msgstr "യൂസര്‍ നാമം (ഉപയോക്ത്രു നാമം)" + +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "നിര്‍ബന്ധം. 30 ഓ അതില്‍ കുറവോ ചിഹ്നങ്ങള്‍. അക്ഷരങ്ങള്‍, അക്കങ്ങള്‍, " +"പിന്നെ @/./+/-/_എന്നിവയും മാത്രം." + +#: contrib/auth/models.py:197 +msgid "first name" +msgstr "പേര് - ആദ്യഭാഗം" + +#: contrib/auth/models.py:198 +msgid "last name" +msgstr "പേര് - അന്ത്യഭാഗം" + +#: contrib/auth/models.py:199 +msgid "e-mail address" +msgstr "ഇ-മെയില്‍ വിലാസം" + +#: contrib/auth/models.py:200 +msgid "password" +msgstr "പാസ് വേര്‍ഡ്" + +#: contrib/auth/models.py:200 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "'[algo]$[salt]$[hexdigest]' അല്ലെങ്കില്‍ പാസ് വേര്‍ഡ് " +"മാറ്റാനുള്ള ഫോം ഉപയോഗിക്കുക." + +#: contrib/auth/models.py:201 +msgid "staff status" +msgstr "സ്റ്റാഫ് പദവി" + +#: contrib/auth/models.py:201 +msgid "Designates whether the user can log into this admin site." +msgstr "ഈ യൂസര്‍ക്ക് ഈ അഡ്മിന് സൈറ്റിലേക്ക് പ്രവേശിക്കാമോ എന്നു വ്യക്തമാക്കാന്‍" + +#: contrib/auth/models.py:202 +msgid "active" +msgstr "സജീവം" + +#: contrib/auth/models.py:202 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "ഈ യൂസര്‍ സജീവമാണോയെന്ന് വ്യക്തമാക്കുന്നു. അക്കൗണ്ട് ഡിലീറ്റ് ചെയ്യുന്നതിനു പകരം ഇത് ഒഴിവാക്കുക." + +#: contrib/auth/models.py:203 +msgid "superuser status" +msgstr "സൂപ്പര്‍-യൂസര്‍ പദവി" + +#: contrib/auth/models.py:203 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "ഈ ഉപയോക്താവിന് എടുത്തു പറയാതെ തന്നെ എല്ലാ അനുമതികളും ലഭിക്കുന്നതാണെന്ന് വ്യക്തമാക്കുന്നു" + +#: contrib/auth/models.py:204 +msgid "last login" +msgstr "അവസാനമായി ലോഗിന്‍ ചെയ്തതു" + +#: contrib/auth/models.py:205 +msgid "date joined" +msgstr "ചേര്‍ന്ന തീയതി" + +#: contrib/auth/models.py:207 +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:208 +msgid "user permissions" +msgstr "യൂസര്‍ (ഉപയോക്താവ്)നുള്ള അനുമതികള്‍" + +#: contrib/auth/models.py:212 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 +msgid "user" +msgstr "യൂസര്‍ (ഉപയോക്താവ്)" + +#: contrib/auth/models.py:213 +msgid "users" +msgstr "യൂസേര്‍സ് (ഉപയോക്താക്കള്‍)" + +#: contrib/auth/models.py:394 +msgid "message" +msgstr "സന്ദേശം" + +#: contrib/auth/views.py:79 +msgid "Logged out" +msgstr "ലോഗ്-ഔട്ട് ചെയ്തു (പുറത്തിറങ്ങി)" + +#: contrib/auth/management/commands/createsuperuser.py:24 +#: core/validators.py:120 forms/fields.py:427 +msgid "Enter a valid e-mail address." +msgstr "ശരിയായ ഇ-മെയില്‍ വിലാസം നല്കുക." + +#: contrib/comments/admin.py:12 +msgid "Content" +msgstr "ഉള്ളടക്കം" + +#: contrib/comments/admin.py:15 +msgid "Metadata" +msgstr "" + +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "അടയാളപ്പെടുത്തി" +msgstr[1] "അടയാളപ്പെടുത്തി" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "തെരഞ്ഞെടുത്ത അഭിപ്രായങ്ങള്‍ അടയാളപ്പെടുത്തുക" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "അംഗീകരിച്ചു" +msgstr[1] "അംഗീകരിച്ചു" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "തെരഞ്ഞെടുത്ത അഭിപ്രായങ്ങള്‍ അംഗീകരിക്കുക" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "നീക്കം ചെയ്തു" +msgstr[1] "നീക്കം ചെയ്തു" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "തെരഞ്ഞെടുത്ത അഭിപ്രായങ്ങള്‍ നീക്കം ചെയ്യുക" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 അഭിപ്രായം വിജയകരമായി %(action)s." +msgstr[1] "%(count)s അഭിപ്രായങ്ങള്‍ വിജയകരമായി %(action)s." + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "%(site_name)s അഭിപ്രായങ്ങള്‍" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "%(site_name)s ലെ ഏറ്റവും പുതിയ അഭിപ്രായങ്ങള്‍" + +#: contrib/comments/forms.py:93 +msgid "Name" +msgstr "പേര്" + +#: contrib/comments/forms.py:94 +msgid "Email address" +msgstr "ഇ-മെയില്‍ വിലാസം" + +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL(വെബ്-വിലാസം)" + +#: contrib/comments/forms.py:96 +msgid "Comment" +msgstr "അഭിപ്രായം" + +#: contrib/comments/forms.py:175 +#, 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 എന്നീ വാക്കുകള്‍ ഇവിടെ അനുവദനീയമല്ല." + +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "ഈ കള്ളിയില്‍ എന്തെങ്കിലും രേഖപ്പെടുത്തിയാല്‍ നിങ്ങളുടെ അഭിപ്രായം സ്പാം ആയി കണക്കാക്കും" + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "ഏതു തരം ഉള്ളടക്കം" + +#: contrib/comments/models.py:24 +msgid "object ID" +msgstr "വസ്തു ID" + +#: contrib/comments/models.py:52 +msgid "user's name" +msgstr "യൂസറുടെ പേര്" + +#: contrib/comments/models.py:53 +msgid "user's email address" +msgstr "യൂസറുടെ ഇ-മെയില്‍ വിലാസം" + +#: contrib/comments/models.py:54 +msgid "user's URL" +msgstr "യൂസറുടെ URL" + +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 +msgid "comment" +msgstr "അഭിപ്രായം" + +#: contrib/comments/models.py:59 +msgid "date/time submitted" +msgstr "സമര്‍പ്പിച്ച തീയതി/സമയം" + +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP വിലാസം" + +#: contrib/comments/models.py:61 +msgid "is public" +msgstr "പരസ്യമാണ്" + +#: contrib/comments/models.py:62 +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." +msgstr "അഭിപ്രായം സൈറ്റില്‍ നിന്നും ഫലപ്രദമായി നീക്കം ചെയ്യാന്‍ ഈ ബോക്സിലെ ടിക് ഒഴിവാക്കുക." + +#: contrib/comments/models.py:64 +msgid "is removed" +msgstr "നീക്കം ചെയ്തു." + +#: contrib/comments/models.py:65 +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:77 +msgid "comments" +msgstr "അഭിപ്രായങ്ങള്‍" + +#: contrib/comments/models.py:119 +msgid "" +"This comment was posted by an authenticated user and thus the name is read-" +"only." +msgstr "ഈ അഭിപ്രായം ഒരു അംഗീകൃത യൂസര്‍ രേഖപ്പെടുത്തിയതാണ്. അതിനാല്‍ പേര് വായിക്കാന്‍ മാത്രം." + +#: contrib/comments/models.py:128 +msgid "" +"This comment was posted by an authenticated user and thus the email is read-" +"only." +msgstr "ഈ അഭിപ്രായം ഒരു അംഗീകൃത യൂസര്‍ രേഖപ്പെടുത്തിയതാണ്. അതിനാല്‍ ഇ-മെയില്‍ വിലാസം വായിക്കാന്‍ മാത്രം." + +#: contrib/comments/models.py:153 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"%(date)sന് %(user)s രേഖപ്പെടുത്തിയത്:\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "അടയാളം" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "തീയതി" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "അഭിപ്രായ അടയാളം" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "അഭിപ്രായ അടയാളങ്ങള്‍" + +#: contrib/comments/templates/comments/approve.html:4 +msgid "Approve a comment" +msgstr "അഭിപ്രായം അംഗീകരിക്കൂ" + +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "ശരിക്കും ഈ അഭിപ്രായം പരസ്യമാക്കണോ?" + +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "അംഗീകരിക്കൂ" + +#: contrib/comments/templates/comments/approved.html:4 +msgid "Thanks for approving" +msgstr "അംഗീകരിച്ചതിനു നന്ദി" + +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "നമ്മുടെ സൈറ്റിലെ ചര്‍ച്ചകളുടെ നിലവാരം ഉയര്‍ത്താന്‍ സമയം ചെലവഴിച്ചതിനു നന്ദി." + +#: contrib/comments/templates/comments/delete.html:4 +msgid "Remove a comment" +msgstr "അഭിപ്രായം നീക്കം ചെയ്യൂ" + +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "ഈ അഭിപ്രായം ശരിക്കും നീക്കം ചെയ്യണോ?" + +#: contrib/comments/templates/comments/deleted.html:4 +msgid "Thanks for removing" +msgstr "നീക്കം ചെയ്തതിനു നന്ദി" + +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "ഈ അഭിപ്രായം അടയാളപ്പെടുത്തൂ" + +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "ഈ അഭിപ്രായം ശരിക്കും അടയാളപ്പെടുത്തണോ?" + +#: contrib/comments/templates/comments/flag.html:12 +msgid "Flag" +msgstr "അടയാളം" + +#: contrib/comments/templates/comments/flagged.html:4 +msgid "Thanks for flagging" +msgstr "അടയാളപ്പെടുത്തിയതിനു നന്ദി" + +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +msgid "Post" +msgstr "രേഖപ്പെടുത്തൂ" + +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +msgid "Preview" +msgstr "അവലോകനം" + +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "അഭിപ്രായം രേഖപ്പെടുത്തിയതിനു നന്ദി" + +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "അഭിപ്രായത്തിനു നന്ദി" + +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" +msgstr "അഭിപ്രായം അവലോകനം ചെയ്യുക" + +#: contrib/comments/templates/comments/preview.html:11 +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "ദയവായി താഴെ പറയുന്ന തെറ്റ് തിരുത്തുക" +msgstr[1] "ദയവായി താഴെ പറയുന്ന തെറ്റുകള്‍ തിരുത്തുക" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "അഭിപ്രായം രേഖപ്പെടുത്തുക" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "or make changes" +msgstr "അല്ലെങ്കില്‍ മാറ്റം വരുത്തുക." + +#: contrib/contenttypes/models.py:77 +msgid "python model class name" +msgstr "" + +#: contrib/contenttypes/models.py:82 +msgid "content types" +msgstr "ഉള്ളടക്കം ഏതൊക്കെ തരം" + +#: contrib/flatpages/admin.py:9 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "ഉദാ: '/about/contact/'. ആദ്യവും അവസാനവും സ്ളാഷുകള്‍ നിര്‍ബന്ധം." + +#: contrib/flatpages/admin.py:11 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "ഇതില്‍ അക്ഷരങ്ങള്‍, അക്കങ്ങള്‍, അണ്ടര്‍സ്കോര്‍, വരകള്‍, സ്ളാഷുകള്‍ എന്നിവ മാത്രമേ പാടുള്ളൂ. " + +#: contrib/flatpages/admin.py:22 +msgid "Advanced options" +msgstr "ഉയര്‍ന്ന സൗകര്യങ്ങള്‍" + +#: contrib/flatpages/models.py:8 +msgid "title" +msgstr "ശീര്‍ഷകം" + +#: contrib/flatpages/models.py:9 +msgid "content" +msgstr "ഉള്ളടക്കം" + +#: contrib/flatpages/models.py:10 +msgid "enable comments" +msgstr "അഭിപ്രായങ്ങള്‍ അനുവദിക്കുക" + +#: contrib/flatpages/models.py:11 +msgid "template name" +msgstr "ടെമ്പ്ലേറ്റിന്റെ പേര്" + +#: contrib/flatpages/models.py:12 +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:13 +msgid "registration required" +msgstr "രജിസ്ട്രേഷന്‍ ആവശ്യമാണ്" + +#: contrib/flatpages/models.py:13 +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/formtools/wizard.py:140 +msgid "" +"We apologize, but your form has expired. Please continue filling out the " +"form from this page." +msgstr "ക്ഷമിക്കണം, താങ്കളുടെ ഫോം കാലഹരണപ്പെട്ടു കഴിഞ്ഞു. ദയവായി ഈ പേജിലെ ഫോം പൂരിപ്പിച്ച് തുടരുക." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "ബിന്ദു" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "ബഹുഭുജം" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "ബഹുബിന്ദു" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "ബഹു ബഹുഭുജം" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "ജ്യാമിതി ശേഖരം" + +#: contrib/gis/forms/fields.py:17 +msgid "No geometry value provided." +msgstr "" + +#: contrib/gis/forms/fields.py:18 +msgid "Invalid geometry value." +msgstr "" + +#: contrib/gis/forms/fields.py:19 +msgid "Invalid geometry type." +msgstr "" + +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "th" +msgstr "ആം" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "st" +msgstr "ആം" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "nd" +msgstr "ആം" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "rd" +msgstr "ആം" + +#: contrib/humanize/templatetags/humanize.py:51 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f മില്ല്യണ്‍ (ദശലക്ഷം)" +msgstr[1] "%(value).1f മില്ല്യണ്‍ (ദശലക്ഷം)" + +#: contrib/humanize/templatetags/humanize.py:54 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f ബില്ല്യണ്‍ (ശതകോടി)" +msgstr[1] "%(value).1f ബില്ല്യണ്‍ (ശതകോടി)" + +#: contrib/humanize/templatetags/humanize.py:57 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f ട്രില്ല്യണ്‍ (ലക്ഷം കോടി)" +msgstr[1] "%(value).1f ട്രില്ല്യണ്‍ (ലക്ഷം കോടി)" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "one" +msgstr "ഒന്ന്" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "two" +msgstr "രണ്ട്" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "three" +msgstr "മൂന്ന്" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "four" +msgstr "നാല്" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "five" +msgstr "അഞ്ച്" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "six" +msgstr "ആറ്" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "seven" +msgstr "ഏഴ്" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "eight" +msgstr "എട്ട്" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "nine" +msgstr "ഒന്‍പത്" + +#: contrib/humanize/templatetags/humanize.py:93 +msgid "today" +msgstr "ഇന്ന്" + +#: contrib/humanize/templatetags/humanize.py:95 +msgid "tomorrow" +msgstr "നാളെ" + +#: contrib/humanize/templatetags/humanize.py:97 +msgid "yesterday" +msgstr "ഇന്നലെ" + +#: contrib/localflavor/ar/forms.py:28 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "" + +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires only numbers." +msgstr "" + +#: contrib/localflavor/ar/forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "" + +#: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "" + +#: contrib/localflavor/ar/forms.py:81 +msgid "Invalid CUIT." +msgstr "" + +#: contrib/localflavor/at/at_states.py:5 +msgid "Burgenland" +msgstr "" + +#: contrib/localflavor/at/at_states.py:6 +msgid "Carinthia" +msgstr "" + +#: contrib/localflavor/at/at_states.py:7 +msgid "Lower Austria" +msgstr "" + +#: contrib/localflavor/at/at_states.py:8 +msgid "Upper Austria" +msgstr "" + +#: contrib/localflavor/at/at_states.py:9 +msgid "Salzburg" +msgstr "" + +#: contrib/localflavor/at/at_states.py:10 +msgid "Styria" +msgstr "" + +#: contrib/localflavor/at/at_states.py:11 +msgid "Tyrol" +msgstr "" + +#: contrib/localflavor/at/at_states.py:12 +msgid "Vorarlberg" +msgstr "" + +#: contrib/localflavor/at/at_states.py:13 +msgid "Vienna" +msgstr "" + +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 +msgid "Enter a zip code in the format XXXX." +msgstr "" + +#: contrib/localflavor/at/forms.py:48 +msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." +msgstr "" + +#: contrib/localflavor/au/forms.py:17 +msgid "Enter a 4 digit post code." +msgstr "" + +#: contrib/localflavor/br/forms.py:17 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "" + +#: contrib/localflavor/br/forms.py:26 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "" + +#: contrib/localflavor/br/forms.py:54 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" + +#: contrib/localflavor/br/forms.py:90 +msgid "Invalid CPF number." +msgstr "" + +#: contrib/localflavor/br/forms.py:91 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "" + +#: contrib/localflavor/br/forms.py:130 +msgid "Invalid CNPJ number." +msgstr "" + +#: contrib/localflavor/br/forms.py:132 +msgid "This field requires at least 14 digits" +msgstr "" + +#: contrib/localflavor/ca/forms.py:25 +msgid "Enter a postal code in the format XXX XXX." +msgstr "" + +#: contrib/localflavor/ca/forms.py:96 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:6 +msgid "Appenzell Innerrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:7 +msgid "Appenzell Ausserrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:8 +msgid "Basel-Stadt" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:9 +msgid "Basel-Land" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:10 +msgid "Berne" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:13 +msgid "Glarus" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:16 +msgid "Lucerne" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:18 +msgid "Nidwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:19 +msgid "Obwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:20 +msgid "Schaffhausen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:21 +msgid "Schwyz" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:22 +msgid "Solothurn" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:23 +msgid "St. Gallen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:24 +msgid "Thurgau" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:25 +msgid "Ticino" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:26 +msgid "Uri" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:27 +msgid "Valais" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:28 +msgid "Vaud" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:29 +msgid "Zug" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:30 +msgid "Zurich" +msgstr "" + +#: contrib/localflavor/ch/forms.py:65 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT." +msgstr "" + +#: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "" + +#: contrib/localflavor/cl/forms.py:32 +msgid "The Chilean RUT is not valid." +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:11 +msgid "Pilsen Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:13 +msgid "Usti Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:14 +msgid "Liberec Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:15 +msgid "Hradec Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:16 +msgid "Pardubice Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:17 +msgid "Vysocina Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:20 +msgid "Zlin Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "" + +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "" + +#: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "" + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" + +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "" + +#: contrib/localflavor/cz/forms.py:107 +msgid "Enter a valid IC number." +msgstr "" + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "" + +#: contrib/localflavor/de/de_states.py:14 +msgid "North Rhine-Westphalia" +msgstr "" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "" + +#: contrib/localflavor/de/de_states.py:19 +msgid "Schleswig-Holstein" +msgstr "" + +#: contrib/localflavor/de/de_states.py:20 +msgid "Thuringia" +msgstr "" + +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/de/forms.py:42 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "" + +#: contrib/localflavor/es/forms.py:20 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:40 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:68 +msgid "Please enter a valid NIF or NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:144 +msgid "Invalid checksum for bank account number." +msgstr "" + +#: contrib/localflavor/fi/forms.py:29 +msgid "Enter a valid Finnish social security number." +msgstr "" + +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "" + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "പിന്‍-കോഡ് XXXXXXX എന്ന മാത്രുകയില്‍ നല്കുക." + +#: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:19 +msgid "The Icelandic identification number is not valid." +msgstr "" + +#: contrib/localflavor/it/forms.py:15 +msgid "Enter a valid zip code." +msgstr "" + +#: contrib/localflavor/it/forms.py:44 +msgid "Enter a valid Social Security number." +msgstr "" + +#: contrib/localflavor/it/forms.py:69 +msgid "Enter a valid VAT number." +msgstr "" + +#: contrib/localflavor/jp/forms.py:16 +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/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "" + +#: contrib/localflavor/nl/forms.py:22 +msgid "Enter a valid postal code" +msgstr "" + +#: contrib/localflavor/nl/forms.py:79 +msgid "Enter a valid SoFi number" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drenthe" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "" + +#: contrib/localflavor/no/forms.py:34 +msgid "Enter a valid Norwegian social security number." +msgstr "" + +#: contrib/localflavor/pe/forms.py:25 +msgid "This field requires 8 digits." +msgstr "" + +#: contrib/localflavor/pe/forms.py:53 +msgid "This field requires 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:38 +msgid "National Identification Number consists of 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:39 +msgid "Wrong checksum for the National Identification Number." +msgstr "" + +#: contrib/localflavor/pl/forms.py:71 +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "" + +#: contrib/localflavor/pl/forms.py:72 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:110 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:148 +msgid "Enter a postal code in the format XX-XXX." +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "" + +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "" + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" + +#: contrib/localflavor/ro/forms.py:19 +msgid "Enter a valid CIF." +msgstr "" + +#: contrib/localflavor/ro/forms.py:56 +msgid "Enter a valid CNP." +msgstr "" + +#: contrib/localflavor/ro/forms.py:141 +msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" +msgstr "" + +#: contrib/localflavor/ro/forms.py:171 +msgid "Phone numbers must be in XXXX-XXXXXX format." +msgstr "" + +#: contrib/localflavor/ro/forms.py:194 +msgid "Enter a valid postal code in the format XXXXXX" +msgstr "" + +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "" + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "" + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "" + +#: contrib/localflavor/us/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "" + +#: contrib/localflavor/us/forms.py:55 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" + +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "" + +#: contrib/localflavor/za/forms.py:21 +msgid "Enter a valid South African ID number" +msgstr "" + +#: contrib/localflavor/za/forms.py:55 +msgid "Enter a valid South African postal code" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "" + +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +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/sessions/models.py:45 +msgid "session key" +msgstr "സെഷന്‍ കീ" + +#: contrib/sessions/models.py:47 +msgid "session data" +msgstr "സെഷന്‍ വിവരം" + +#: contrib/sessions/models.py:48 +msgid "expire date" +msgstr "കാലാവധി (തീയതി)" + +#: contrib/sessions/models.py:53 +msgid "session" +msgstr "സെഷന്‍" + +#: contrib/sessions/models.py:54 +msgid "sessions" +msgstr "സെഷനുകള്‍" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "ഡൊമൈന്‍ നാമം" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "പ്രദര്‍ശന നാമം" + +#: contrib/sites/models.py:39 +msgid "sites" +msgstr "സൈറ്റുകള്‍" + +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "ശരിയായ മൂല്യം നല്കണം." + +#: core/validators.py:87 forms/fields.py:528 +msgid "Enter a valid URL." +msgstr "ശരിയായ URL നല്കണം." + +#: core/validators.py:89 forms/fields.py:529 +msgid "This URL appears to be a broken link." +msgstr "ഈ URL നിലവില്ലാത്ത വിലാസമാണ് കാണിക്കുന്നത്." + +#: core/validators.py:123 forms/fields.py:877 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "ശരിയായ സ്ളഗ് നല്കുക (അക്ഷരങ്ങള്‍, അക്കങ്ങള്‍, അണ്ടര്‍സ്കോര്‍, ഹൈഫന്‍ എന്നിവ മാത്രം ചേര്‍ന്നത്)." + +#: core/validators.py:126 forms/fields.py:870 +msgid "Enter a valid IPv4 address." +msgstr "ശരിയായ IPv4 വിലാസം നല്കണം" + +#: core/validators.py:129 db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "അക്കങ്ങള്‍ മാത്രം (കോമയിട്ടു വേര്‍തിരിച്ചത്)" + +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "ഇത് %(limit_value)s ആവണം. (ഇപ്പോള്‍ %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:204 forms/fields.py:256 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "ഇത് %(limit_value)s-ഓ അതില്‍ കുറവോ ആവണം" + +#: core/validators.py:158 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "ഇത് %(limit_value)s-ഓ അതില്‍ കൂടുതലോ ആവണം" + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "ഇതിനു ഏറ്റവും കുറഞ്ഞത് %(limit_value)d അക്ഷരങ്ങള്‍ വേണം. (ഇപ്പോള്‍ " +"%(show_value)d അക്ഷരങ്ങളുണ്ട്.)" + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "ഇതിനു പരമാവധി %(limit_value)d അക്ഷരങ്ങളേ ഉള്ളൂ എന്നു ഉറപ്പാക്കുക. (ഇപ്പോള്‍ " +"%(show_value)d അക്ഷരങ്ങളുണ്ട്.)" + +#: db/models/base.py:823 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(date_field)s %(lookup)s-നു %(field_name)s ആവര്‍ത്തിക്കാന്‍ പാടില്ല." + +#: db/models/base.py:838 db/models/base.py:846 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(field_label)s-ഓടു കൂടിയ %(model_name)s നിലവിലുണ്ട്." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "%r അനുയോജ്യമല്ല." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "ഈ കള്ളി ഒഴിച്ചിടരുത്." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "ഈ കള്ളി ഒഴിച്ചിടരുത്." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "പൂര്‍ണ്ണസംഖ്യ" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "പൂര്‍ണ്ണസംഖ്യ മാത്രം" + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "ശരിയോ തെറ്റോ എന്നു മാത്രം" + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "ശരിയോ തെറ്റോ എന്നു മാത്രം" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "കോമയിട്ട് വേര്‍തിരിച്ച സംഖ്യകള്‍" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "തീയതി (സമയം വേണ്ട)" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "ശരിയായ തീയതി YYYY-MM-DD എന്ന മാത്രുകയില്‍ നല്കണം." + +#: db/models/fields/__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "തെറ്റായ തീയതി: %s" + +#: db/models/fields/__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "ശരിയായ തീയതി/സമയം YYYY-MM-DD HH:MM[:ss[.uuuuuu]]എന്ന മാത്രുകയില്‍ നല്കണം." + +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "തീയതി (സമയത്തോടൊപ്പം)" + +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "ഈ വില ദശാംശമാവണം." + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "ദശാംശസംഖ്യ" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "ഇ-മെയില്‍ വിലാസം" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "ഫയല്‍ സ്ഥാനം" + +#: db/models/fields/__init__.py:822 +msgid "This value must be a float." +msgstr "ഈ വില ദശാംശമാവണം." + +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "ദശാംശസംഖ്യ" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "8 ബൈറ്റ് പൂര്‍ണസംഖ്യ." + +#: db/models/fields/__init__.py:912 +msgid "This value must be either None, True or False." +msgstr "ഈ മൂല്യം None, True, False എന്നിവയില്‍ ഏതെങ്കിലും ഒന്നാവണം" + +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "ശരിയോ തെറ്റോ എന്നു മാത്രം" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "ടെക്സ്റ്റ്" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "സമയം" + +#: db/models/fields/__init__.py:1025 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "ശരിയായ സമയം HH:MM[:ss[.uuuuuu]] എന്ന മാത്രുകയില്‍ നല്കണം." + +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "" + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "" + +#: db/models/fields/related.py:1000 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "\"Control\" എന്ന കീ അമര്‍ത്തിപ്പിടിക്കുക. (Macലാണെങ്കില്‍ \"Command\")." + +#: db/models/fields/related.py:1061 +#, 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 അനുയോജ്യമല്ല." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "ഈ കള്ളി നിര്‍ബന്ധമാണ്." + +#: forms/fields.py:203 +msgid "Enter a whole number." +msgstr "ഒരു പൂര്‍ണസംഖ്യ നല്കുക." + +#: forms/fields.py:234 forms/fields.py:255 +msgid "Enter a number." +msgstr "ഒരു സംഖ്യ നല്കുക." + +#: forms/fields.py:258 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "മൊത്തം %s ലേറെ അക്കങ്ങള്‍ ഇല്ലെന്ന് ഉറപ്പു വരുത്തുക." + +#: forms/fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "%s ലേറെ ദശാംശസ്ഥാനങ്ങള്‍ ഇല്ലെന്ന് ഉറപ്പു വരുത്തുക." + +#: forms/fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "ദശാംശബിന്ദുവിനു മുമ്പ് %sലേറെ അക്കങ്ങള്‍ ഇല്ലെന്നു ഉറപ്പു വരുത്തുക." + +#: forms/fields.py:322 forms/fields.py:837 +msgid "Enter a valid date." +msgstr "ശരിയായ തീയതി നല്കുക." + +#: forms/fields.py:350 forms/fields.py:838 +msgid "Enter a valid time." +msgstr "ശരിയായ സമയം നല്കുക." + +#: forms/fields.py:376 +msgid "Enter a valid date/time." +msgstr "ശരിയായ തീയതിയും സമയവും നല്കുക." + +#: forms/fields.py:434 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "ഫയലൊന്നും ലഭിച്ചില്ല. ഫോമിലെ എന്‍-കോഡിംഗ് പരിശോധിക്കുക." + +#: forms/fields.py:435 +msgid "No file was submitted." +msgstr "ഫയലൊന്നും ലഭിച്ചില്ല." + +#: forms/fields.py:436 +msgid "The submitted file is empty." +msgstr "ലഭിച്ച ഫയല്‍ ശൂന്യമാണ്." + +#: forms/fields.py:437 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "ഈ ഫയലിന്റെ പേര് പരമാവധി %(max)d അക്ഷരങ്ങളുള്ളതായിരിക്കണം. " +"(ഇപ്പോള്‍ %(length)d അക്ഷരങ്ങള്‍ ഉണ്ട്)." + +#: forms/fields.py:472 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "ശരിയായ ചിത്രം അപ് ലോഡ് ചെയ്യുക. നിങ്ങള്‍ നല്കിയ ഫയല്‍ ഒന്നുകില്‍ ഒരു ചിത്രമല്ല, " +"അല്ലെങ്കില്‍ വികലമാണ്." + +#: forms/fields.py:595 forms/fields.py:670 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "യോഗ്യമായത് തെരഞ്ഞെടുക്കുക. %(value)s ലഭ്യമായവയില്‍ ഉള്‍പ്പെടുന്നില്ല." + +#: forms/fields.py:671 forms/fields.py:733 forms/models.py:1002 +msgid "Enter a list of values." +msgstr "മൂല്യങ്ങളുടെ പട്ടിക(ലിസ്റ്റ്) നല്കുക." + +#: forms/formsets.py:298 forms/formsets.py:300 +msgid "Order" +msgstr "ക്രമം" + +#: forms/models.py:562 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "%(field)s-നായി നല്കുന്ന വിവരം ആവര്‍ത്തിച്ചത് ദയവായി തിരുത്തുക." + +#: forms/models.py:566 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "%(field)s-നായി നല്കുന്ന വിവരം ആവര്‍ത്തിക്കാന്‍ പാടില്ല. ദയവായി തിരുത്തുക." + +#: forms/models.py:572 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "%(date_field)s ലെ %(lookup)s നു വേണ്ടി %(field_name)s നു നല്കുന്ന വിവരം " +"ആവര്‍ത്തിക്കാന്‍ പാടില്ല. ദയവായി തിരുത്തുക." + +#: forms/models.py:580 +msgid "Please correct the duplicate values below." +msgstr "താഴെ കൊടുത്തവയില്‍ ആവര്‍ത്തനം ഒഴിവാക്കുക." + +#: forms/models.py:855 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "" + +#: forms/models.py:921 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "യോഗ്യമായത് തെരഞ്ഞെടുക്കുക. നിങ്ങള്‍ നല്കിയത് ലഭ്യമായവയില്‍ ഉള്‍പ്പെടുന്നില്ല." + +#: forms/models.py:1003 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "യോഗ്യമായത് തെരഞ്ഞെടുക്കുക. %s തന്നിരിക്കുന്നവയില്‍ ഉള്‍പ്പെടുന്നില്ല." + +#: forms/models.py:1005 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "\"%s\" പ്രാഥമിക കീ ആവാന്‍ അനുയോജ്യമായ മൂല്യമല്ല." + +#: template/defaultfilters.py:776 +msgid "yes,no,maybe" +msgstr "ഉണ്ട്, ഇല്ല, ഉണ്ടാവാം" + +#: template/defaultfilters.py:807 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#: template/defaultfilters.py:809 +#, python-format +msgid "%s KB" +msgstr "" + +#: template/defaultfilters.py:811 +#, python-format +msgid "%s MB" +msgstr "" + +#: template/defaultfilters.py:812 +#, python-format +msgid "%s GB" +msgstr "" + +#: utils/dateformat.py:42 +msgid "p.m." +msgstr "" + +#: utils/dateformat.py:43 +msgid "a.m." +msgstr "" + +#: utils/dateformat.py:48 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:49 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:98 +msgid "midnight" +msgstr "അര്‍ധരാത്രി" + +#: utils/dateformat.py:100 +msgid "noon" +msgstr "ഉച്ച" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "തിങ്കള്‍" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "ചൊവ്വ" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "ബുധന്‍" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "വ്യാഴം" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "വെള്ളി" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "ശനി" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "ഞായര്‍" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "തിങ്കള്‍" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "ചൊവ്വ" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "ബുധന്‍" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "വ്യാഴം" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "വെള്ളി" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "ശനി" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "ഞായര്‍" + +#: utils/dates.py:18 +msgid "January" +msgstr "ജനുവരി" + +#: utils/dates.py:18 +msgid "February" +msgstr "ഫെബ്രുവരി" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "മാര്‍ച്ച്" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "ഏപ്രില്‍" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "മേയ്" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "ജൂണ്‍" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "ജൂലൈ" + +#: utils/dates.py:19 +msgid "August" +msgstr "ആഗസ്ത്" + +#: utils/dates.py:19 +msgid "September" +msgstr "സെപ്തംബര്‍" + +#: utils/dates.py:19 +msgid "October" +msgstr "ഒക്ടോബര്‍" + +#: utils/dates.py:19 +msgid "November" +msgstr "നവംബര്‍" + +#: utils/dates.py:20 +msgid "December" +msgstr "ഡിസംബര്‍" + +#: utils/dates.py:23 +msgid "jan" +msgstr "ജനു." + +#: utils/dates.py:23 +msgid "feb" +msgstr "ഫെബ്രു." + +#: utils/dates.py:23 +msgid "mar" +msgstr "മാര്‍ച്ച്" + +#: utils/dates.py:23 +msgid "apr" +msgstr "ഏപ്രില്‍" + +#: utils/dates.py:23 +msgid "may" +msgstr "മേയ്" + +#: utils/dates.py:23 +msgid "jun" +msgstr "ജൂണ്‍" + +#: utils/dates.py:24 +msgid "jul" +msgstr "ജൂലൈ" + +#: utils/dates.py:24 +msgid "aug" +msgstr "ആഗസ്ത്" + +#: utils/dates.py:24 +msgid "sep" +msgstr "സെപ്ടം." + +#: utils/dates.py:24 +msgid "oct" +msgstr "ഒക്ടോ." + +#: utils/dates.py:24 +msgid "nov" +msgstr "നവം." + +#: utils/dates.py:24 +msgid "dec" +msgstr "ഡിസം." + +#: utils/dates.py:31 +msgid "Jan." +msgstr "ജനു." + +#: utils/dates.py:31 +msgid "Feb." +msgstr "ഫെബ്രു." + +#: utils/dates.py:32 +msgid "Aug." +msgstr "ആഗസ്ത്" + +#: utils/dates.py:32 +msgid "Sept." +msgstr "സെപ്ടം." + +#: utils/dates.py:32 +msgid "Oct." +msgstr "ഒക്ടോ." + +#: utils/dates.py:32 +msgid "Nov." +msgstr "നവം." + +#: utils/dates.py:32 +msgid "Dec." +msgstr "ഡിസം." + +#: utils/text.py:130 +msgid "or" +msgstr "അഥവാ" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "വര്‍ഷം" +msgstr[1] "വര്‍ഷങ്ങള്‍" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "മാസം" +msgstr[1] "മാസങ്ങള്‍" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "ആഴ്ച്ച" +msgstr[1] "ആഴ്ച്ചകള്‍" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "ദിവസം" +msgstr[1] "ദിവസങ്ങള്‍" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "മണിക്കൂര്‍" +msgstr[1] "മണിക്കൂറുകള്‍" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "മിനുട്ട്" +msgstr[1] "മിനുട്ടുകള്‍" + +#: utils/timesince.py:45 +msgid "minutes" +msgstr "മിനുട്ടുകള്‍" + +#: utils/timesince.py:50 +#, python-format +msgid "%(number)d %(type)s" +msgstr "" + +#: utils/timesince.py:56 +#, python-format +msgid ", %(number)d %(type)s" +msgstr "" + +#: utils/translation/trans_real.py:519 +msgid "DATE_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:521 +msgid "TIME_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:542 +msgid "YEAR_MONTH_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:543 +msgid "MONTH_DAY_FORMAT" +msgstr "" + +#: views/generic/create_update.py:115 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s നെ സ്രുഷ്ടിച്ചു." + +#: views/generic/create_update.py:158 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s നെ മെച്ചപ്പെടുത്തി." + +#: views/generic/create_update.py:201 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s ഡിലീറ്റ് ചെയ്യപ്പെട്ടു." diff --git a/django/conf/locale/ml/LC_MESSAGES/djangojs.mo b/django/conf/locale/ml/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..644d8bf949938561f4225a8b80d176c72900a14d GIT binary patch literal 4350 zcmcJRO^_W`6~|i)DkF--Pt?VAF_ol9KPCx-sS#3)6QYBeNz8kIthDF#o%cHF*FE&d zz*}e~u?z|oEiF?Jib~2N1qjjb(GOTT5az#=8&b{4l=1nG<+4w4b z|9$(Od(Qv-&$)N%j`L0M5%3e>@4=6QuYfm$1^6lO z&(-?h!Ot*%8yo}w3El+$tHKY!8<~FuZUeXB>;dp5Q2hK5l4<;ywb3-^V}& zo&m+~1#mxj85FFnh?*g|G=P>vU=HEvY(JckV|4DEh zJP+;zSHKkf4=DRPpLU#|fIkLr0Y3y~|IG~B!P~&6@xL3q0ZspcNR!O}hB08Y6W!z| z{@Cu^#`9SoQZgC=#`l*&=$ky{Tm8eW^HrW(dA?A66s?87)Zp_xU*bVx=W{&5OMawa zxS9!r^q4cgGu7d)RK<&Gd}lk#c;$m`XWGB++Fip1WUJ!Z3L-yP4*c8;)ncGSKW!*{?nty+O5z1- z)K_5~p9rFkT8tBwb+!6VtQPVtV{_s$myZOMm8LMUYYpeR)G!jUhSXAa`n7zPTozwV zPW5%xP)8|09b%O|@;!y6?6=IrP(>PFd`z^PLjHuQ|jPxGK^L8!TGUcdMQpacP{M& zzWeRGle(>VN{t;o(sE}K?MWTogI=bm)ZU3b6Yj*MyLZ3ZGdZ=cKhe?4_C8O1vlyy(~_q)G_b4)@fJGdqJY^PV6j+nBCjyaXK6AxOZUeFhp~& zqurMFdQ+UD(ChQ`)ZM-C-Y{syN$0@W-0a+atI6$YOpMLMQKlmT_LpFu>Bq7=mO?Lx zz9pTPq&mCjfz}~+|Eir3ThxhrU(}9$dTmPWUkI|XAGk+jDTQ0}SVLiTaVE~AEa^|F z+4+OB(_>sh=2j|;*UG`!_fDSWnzA=mSzIayXUgK0vbeyK8JS)z2dB&uUobdzJqN!m zi|5SN=gQ)=+N#6q>MM(vs!+vBSzNI(aq>(#cwAT+wqSIgpgv*USVKH}{y;{;cma39%3&Z4A=NBpgBMbmT8*<5m)&jwK} zi`UCatx6ze1fy}At4m&?IV%VPDbt;Mirln^H}vg22#(9B^0qq+?xrnH~%#_CxLYzrto zTF){5ITOsDDvP&_R}_?WCVZuXaD0jM%Hr~{>@5GLPLNDUc4X~E!+iaY-x+qa#K?kE z7C#&MEsGaS7APt#Y(`l8!sg1zgxWEkhGfJ7N}jA)Q5I<&6k1=o3lxkMQWCW> zcmhD~Q^3FkrAT7IJeQPRXP!&Kv4%s`RiIS1JRsdRuI%#CAPV$#`91c607f~!Py3GjS`hA zCi3Xfpu3?H!Q;D$ zc&$pw;oFk>R&uU6nm`WyCbdQ5tGWfbt!NyDQ5WmarYLQ@9@7=Ye+TP)`16R;8y{!_ zo|En{WfU_Z!F=Ri*!Uz+kYQKI76NdAUX, 2010. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Django SVN\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-05-28 15:32+0530\n" +"PO-Revision-Date: 2010-05-28 15:45+0530\n" +"Last-Translator: Rajeesh Nair \n" +"Language-Team: Malayalam \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Malayalam\n" +"X-Poedit-Country: INDIA\n" + +#: contrib/admin/media/js/SelectFilter2.js:37 +#, perl-format +msgid "Available %s" +msgstr "ലഭ്യമായ %s" + +#: contrib/admin/media/js/SelectFilter2.js:45 +msgid "Choose all" +msgstr "എല്ലാം തെരഞ്ഞെടുക്കുക" + +#: contrib/admin/media/js/SelectFilter2.js:50 +msgid "Add" +msgstr "പുതിയത് ചേര്‍ക്കൂ" + +#: contrib/admin/media/js/SelectFilter2.js:52 +msgid "Remove" +msgstr "നീക്കം ചെയ്യൂ" + +#: contrib/admin/media/js/SelectFilter2.js:57 +#, perl-format +msgid "Chosen %s" +msgstr "തെരഞ്ഞെടുത്ത %s" + +#: contrib/admin/media/js/SelectFilter2.js:58 +msgid "Select your choice(s) and click " +msgstr "ഉചിതമായത് തെരഞ്ഞെടുത്ത ശേഷം ക്ളിക് ചെയ്യൂ" + +#: contrib/admin/media/js/SelectFilter2.js:63 +msgid "Clear all" +msgstr "എല്ലാം ക്ളിയര്‍ ചെയ്യൂ" + +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(cnt)sല്‍ %(sel)s തെരഞ്ഞെടുത്തു" +msgstr[1] "%(cnt)sല്‍ %(sel)s എണ്ണം തെരഞ്ഞെടുത്തു" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "വരുത്തിയ മാറ്റങ്ങള്‍ സേവ് ചെയ്തിട്ടില്ല. ഒരു ആക്ഷന്‍ പ്രയോഗിച്ചാല്‍ സേവ് ചെയ്യാത്ത " +"മാറ്റങ്ങളെല്ലാം നഷ്ടപ്പെടും." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"നിങ്ങള്‍ ഒരു ആക്ഷന്‍ തെരഞ്ഞെടുത്തിട്ടുണ്ട്. പക്ഷേ, കളങ്ങളിലെ മാറ്റങ്ങള്‍ ഇനിയും സേവ് ചെയ്യാനുണ്ട്. ആദ്യം സേവ്" +"ചെയ്യാനായി OK ക്ലിക് ചെയ്യുക. അതിനു ശേഷം ആക്ഷന്‍ ഒന്നു കൂടി പ്രയോഗിക്കേണ്ടി വരും." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +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/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "കാണട്ടെ" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "മറയട്ടെ" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "ഞായര്‍ തിങ്കള്‍ ചൊവ്വ ബുധന്‍ വ്യാഴം വെള്ളി ശനി" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "Now" +msgstr "ഇപ്പോള്‍" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:52 +msgid "Clock" +msgstr "ഘടികാരം (ക്ലോക്ക്)" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:79 +msgid "Choose a time" +msgstr "സമയം തെരഞ്ഞെടുക്കൂ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "Midnight" +msgstr "അര്‍ധരാത്രി" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 +msgid "6 a.m." +msgstr "6 a.m." + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 +msgid "Noon" +msgstr "ഉച്ച" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:90 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:187 +msgid "Cancel" +msgstr "റദ്ദാക്കൂ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:181 +msgid "Today" +msgstr "ഇന്ന്" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:136 +msgid "Calendar" +msgstr "കലണ്ടര്‍" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +msgid "Yesterday" +msgstr "ഇന്നലെ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +msgid "Tomorrow" +msgstr "നാളെ" diff --git a/django/conf/locale/ml/__init__.py b/django/conf/locale/ml/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/ml/formats.py b/django/conf/locale/ml/formats.py new file mode 100644 index 000000000..141f705fb --- /dev/null +++ b/django/conf/locale/ml/formats.py @@ -0,0 +1,38 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'N j, Y' +TIME_FORMAT = 'P' +DATETIME_FORMAT = 'N j, Y, P' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'F j' +SHORT_DATE_FORMAT = 'm/d/Y' +SHORT_DATETIME_FORMAT = 'm/d/Y P' +FIRST_DAY_OF_WEEK = 0 # Sunday +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' + # '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' + # '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' + # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' + '%m/%d/%Y %H:%M', # '10/25/2006 14:30' + '%m/%d/%Y', # '10/25/2006' + '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' + '%m/%d/%y %H:%M', # '10/25/06 14:30' + '%m/%d/%y', # '10/25/06' +) +DECIMAL_SEPARATOR = '.' +THOUSAND_SEPARATOR = ',' +NUMBER_GROUPING = 3 + diff --git a/django/conf/locale/mn/LC_MESSAGES/django.mo b/django/conf/locale/mn/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..fd85d0eabebd0220cb3920de500b3444eca24694 GIT binary patch literal 69928 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 literal 0 HcmV?d00001 diff --git a/django/conf/locale/mn/LC_MESSAGES/django.po b/django/conf/locale/mn/LC_MESSAGES/django.po new file mode 100644 index 000000000..38715c631 --- /dev/null +++ b/django/conf/locale/mn/LC_MESSAGES/django.po @@ -0,0 +1,5243 @@ +# This file is distributed under the same license as the Django package. +# +# Urangua , 2010, 2002, 2010. +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-05-04 19:00+0800\n" +"PO-Revision-Date: 2010-03-11 17:23+0800\n" +"Last-Translator: Urangua \n" +"Language-Team: mn \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: conf/global_settings.py:44 +msgid "Arabic" +msgstr "Араб" + +#: conf/global_settings.py:45 +msgid "Bulgarian" +msgstr "Болгар" + +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Бенгал" + +#: conf/global_settings.py:47 +#, fuzzy +msgid "Bosnian" +msgstr "Эстони" + +#: conf/global_settings.py:48 +msgid "Catalan" +msgstr "Каталан" + +#: conf/global_settings.py:49 +msgid "Czech" +msgstr "Чех" + +#: conf/global_settings.py:50 +msgid "Welsh" +msgstr "Уэльс" + +#: conf/global_settings.py:51 +msgid "Danish" +msgstr "Дани" + +#: conf/global_settings.py:52 +msgid "German" +msgstr "Герман" + +#: conf/global_settings.py:53 +msgid "Greek" +msgstr "Грек" + +#: conf/global_settings.py:54 +msgid "English" +msgstr "Англи" + +#: conf/global_settings.py:55 +#, fuzzy +msgid "British English" +msgstr "Англи" + +#: conf/global_settings.py:56 +msgid "Spanish" +msgstr "Испани" + +#: conf/global_settings.py:57 +msgid "Argentinean Spanish" +msgstr "Аргентинийн Испани" + +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "Эстони" + +#: conf/global_settings.py:59 +msgid "Basque" +msgstr "Баск" + +#: conf/global_settings.py:60 +msgid "Persian" +msgstr "Перс" + +#: conf/global_settings.py:61 +msgid "Finnish" +msgstr "Финлянд" + +#: conf/global_settings.py:62 +msgid "French" +msgstr "Франц" + +#: conf/global_settings.py:63 +#, fuzzy +msgid "Frisian" +msgstr "Фраисланд" + +#: conf/global_settings.py:64 +msgid "Irish" +msgstr "Ирланд" + +#: conf/global_settings.py:65 +msgid "Galician" +msgstr "Галици" + +#: conf/global_settings.py:66 +msgid "Hebrew" +msgstr "Еврэй" + +#: conf/global_settings.py:67 +#, fuzzy +msgid "Hindi" +msgstr "Хайланд" + +#: conf/global_settings.py:68 +msgid "Croatian" +msgstr "Хорват" + +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Унгар" + +#: conf/global_settings.py:70 +msgid "Icelandic" +msgstr "Исланд" + +#: conf/global_settings.py:71 +msgid "Italian" +msgstr "Итали" + +#: conf/global_settings.py:72 +msgid "Japanese" +msgstr "Япон" + +#: conf/global_settings.py:73 +msgid "Georgian" +msgstr "Гүрж" + +#: conf/global_settings.py:74 +msgid "Khmer" +msgstr "Кхмер" + +#: conf/global_settings.py:75 +msgid "Kannada" +msgstr "Каннада" + +#: conf/global_settings.py:76 +msgid "Korean" +msgstr "Солонгос" + +#: conf/global_settings.py:77 +msgid "Lithuanian" +msgstr "Литва" + +#: conf/global_settings.py:78 +msgid "Latvian" +msgstr "Латви" + +#: conf/global_settings.py:79 +msgid "Macedonian" +msgstr "Македон" + +#: conf/global_settings.py:80 +#, fuzzy +msgid "Mongolian" +msgstr "Македон" + +#: conf/global_settings.py:81 +msgid "Dutch" +msgstr "Голланд" + +#: conf/global_settings.py:82 +msgid "Norwegian" +msgstr "Норвеги" + +#: conf/global_settings.py:83 +#, fuzzy +msgid "Norwegian Bokmal" +msgstr "Норвеги" + +#: conf/global_settings.py:84 +#, fuzzy +msgid "Norwegian Nynorsk" +msgstr "Норвеги" + +#: conf/global_settings.py:85 +msgid "Polish" +msgstr "Польш" + +#: conf/global_settings.py:86 +#, fuzzy +msgid "Portuguese" +msgstr "Португали" + +#: conf/global_settings.py:87 +msgid "Brazilian Portuguese" +msgstr "Бразилийн Португали" + +#: conf/global_settings.py:88 +msgid "Romanian" +msgstr "Румын" + +#: conf/global_settings.py:89 +msgid "Russian" +msgstr "Орос" + +#: conf/global_settings.py:90 +msgid "Slovak" +msgstr "Словак" + +#: conf/global_settings.py:91 +msgid "Slovenian" +msgstr "Словен" + +#: conf/global_settings.py:92 +#, fuzzy +msgid "Albanian" +msgstr "Алакант" + +#: conf/global_settings.py:93 +msgid "Serbian" +msgstr "Серби" + +#: conf/global_settings.py:94 +#, fuzzy +msgid "Serbian Latin" +msgstr "Серби" + +#: conf/global_settings.py:95 +msgid "Swedish" +msgstr "Щвед" + +#: conf/global_settings.py:96 +msgid "Tamil" +msgstr "Тамил" + +#: conf/global_settings.py:97 +msgid "Telugu" +msgstr "Тэлүгү" + +#: conf/global_settings.py:98 +#, fuzzy +msgid "Thai" +msgstr "Тамил" + +#: conf/global_settings.py:99 +msgid "Turkish" +msgstr "Турк" + +#: conf/global_settings.py:100 +msgid "Ukrainian" +msgstr "Украйн" + +#: conf/global_settings.py:101 +#, fuzzy +msgid "Vietnamese" +msgstr "Венн" + +#: conf/global_settings.py:102 +msgid "Simplified Chinese" +msgstr "Хятад (хялбаршуулсан) " + +#: conf/global_settings.py:103 +msgid "Traditional Chinese" +msgstr "Хятад (уламжлалт)" + +#: contrib/admin/actions.py:52 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#: contrib/admin/actions.py:59 contrib/admin/options.py:1129 +msgid "Are you sure?" +msgstr "Итгэлтэй байна уу?" + +#: contrib/admin/actions.py:77 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +#: contrib/admin/filterspecs.py:44 +#, python-format +msgid "" +"

                            By %s:

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

                              -аар %s:

                              \n" +"
                                \n" + +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "Бүх " + +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "Өдөр харгалзахгүй" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "Өнөөдөр" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "Өнгөрсөн долоо хоног" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "Энэ сар" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "Энэ жил" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 +msgid "Yes" +msgstr "Тийм" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 +msgid "No" +msgstr "Үгүй" + +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 +msgid "Unknown" +msgstr "Тодорхойгүй" + +#: contrib/admin/helpers.py:20 +#, fuzzy +msgid "Action:" +msgstr "Үйлдэл" + +#: contrib/admin/models.py:19 +msgid "action time" +msgstr "үйлдлийн хугацаа" + +#: contrib/admin/models.py:22 +msgid "object id" +msgstr "" + +#: contrib/admin/models.py:23 +msgid "object repr" +msgstr "" + +#: contrib/admin/models.py:24 +msgid "action flag" +msgstr "" + +#: contrib/admin/models.py:25 +msgid "change message" +msgstr "" + +#: contrib/admin/models.py:28 +msgid "log entry" +msgstr "" + +#: contrib/admin/models.py:29 +msgid "log entries" +msgstr "" + +#: contrib/admin/options.py:142 contrib/admin/options.py:157 +msgid "None" +msgstr "" + +#: contrib/admin/options.py:563 +#, python-format +msgid "Changed %s." +msgstr "Өөрчлөгдсөн %s." + +#: contrib/admin/options.py:563 contrib/admin/options.py:573 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:573 +msgid "and" +msgstr "ба" + +#: contrib/admin/options.py:568 +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "Нэмэгдсэн %(name)s \"%(object)s\"." + +#: contrib/admin/options.py:572 +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "%(name)s \"%(object)s\"-ийн өөрчлөгдсөн %(list)s" + +#: contrib/admin/options.py:577 +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "Устгасан %(name)s \"%(object)s\"." + +#: contrib/admin/options.py:581 +msgid "No fields changed." +msgstr "Өөрчилсөн зүйл байхгүй байна." + +#: contrib/admin/options.py:647 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr " %(name)s \"%(obj)s\" амжилттай нэмэгдлээ." + +#: contrib/admin/options.py:651 contrib/admin/options.py:684 +msgid "You may edit it again below." +msgstr "Доорх хэсэгт үүнийг ахин засварлах боломжтой." + +#: contrib/admin/options.py:661 contrib/admin/options.py:694 +#, python-format +msgid "You may add another %s below." +msgstr "Доорх хэсэгт өөр %s нэмэх боломжтой." + +#: contrib/admin/options.py:682 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr " %(name)s \"%(obj)s\" амжилттай өөрчлөгдлөө. " + +#: contrib/admin/options.py:690 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"%(name)s \"%(obj)s\" амжилттай нэмэгдлээ. Доорх хэсэгт үүнийг ахин засварлах " +"боломжтой." + +#: contrib/admin/options.py:744 contrib/admin/options.py:1001 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +#: contrib/admin/options.py:763 +#, fuzzy +msgid "No action selected." +msgstr "үйлдлийн хугацаа" + +#: contrib/admin/options.py:844 +#, python-format +msgid "Add %s" +msgstr "%s-ийг нэмэх" + +#: contrib/admin/options.py:870 contrib/admin/options.py:1109 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "" + +#: contrib/admin/options.py:935 +#, python-format +msgid "Change %s" +msgstr "%s-ийг өөрчлөх" + +#: contrib/admin/options.py:981 +msgid "Database error" +msgstr "Өгөгдлийн сангийн алдаа" + +#: contrib/admin/options.py:1043 +#, fuzzy, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] " %(name)s \"%(obj)s\" амжилттай өөрчлөгдлөө. " +msgstr[1] " %(name)s \"%(obj)s\" амжилттай өөрчлөгдлөө. " + +#: contrib/admin/options.py:1070 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/options.py:1075 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "" + +#: contrib/admin/options.py:1122 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr " %(name)s \"%(obj)s\" амжилттай устгагдлаа." + +#: contrib/admin/options.py:1159 +#, python-format +msgid "Change history: %s" +msgstr "Өөрчлөлтийн түүх: %s" + +#: contrib/admin/sites.py:22 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"Хэрэглэгчийн нэр, нууц үгээ зөв оруулна уу. Том жижиг үсгийн ялгааг гаргах " +"хэрэгтэй." + +#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:40 +msgid "Please log in again, because your session has expired." +msgstr "Орсон хуудас тань хүчингүй болсон тул ахин нэвтрэнэ үү." + +#: contrib/admin/sites.py:318 contrib/admin/views/decorators.py:47 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Та хөтчөө cookies-ийг ажиллуулахаар тохируулаагүй юм шиг байна. Cookies-ийг " +"ажиллахаар болгоод, энэ хуудсыг ахин ачааалж үзнэ үү." + +#: contrib/admin/sites.py:334 contrib/admin/sites.py:340 +#: contrib/admin/views/decorators.py:66 +msgid "Usernames cannot contain the '@' character." +msgstr "Хэрэглэгчийн нэрэнд '@' тэмдэгтийг оруулах боломжгүй." + +#: contrib/admin/sites.py:337 contrib/admin/views/decorators.py:62 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" +"Цахим шуудангийн хаяг хэрэглэгчийн нэр биш. Оронд нь '%s' -ийг оруулна уу." + +#: contrib/admin/sites.py:393 +msgid "Site administration" +msgstr "Сайтын удирдлага" + +#: contrib/admin/sites.py:407 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/templates/registration/password_reset_complete.html:14 +#: contrib/admin/views/decorators.py:20 +msgid "Log in" +msgstr "Нэвтрэх" + +#: contrib/admin/sites.py:452 +#, python-format +msgid "%s administration" +msgstr "%s удирдлага" + +#: contrib/admin/widgets.py:75 +msgid "Date:" +msgstr "Огноо:" + +#: contrib/admin/widgets.py:75 +msgid "Time:" +msgstr "Цаг:" + +#: contrib/admin/widgets.py:99 +msgid "Currently:" +msgstr "Одоогоор:" + +#: contrib/admin/widgets.py:99 +msgid "Change:" +msgstr "Өөрчлөлт:" + +#: contrib/admin/widgets.py:129 +msgid "Lookup" +msgstr "Хайх" + +#: contrib/admin/widgets.py:244 +msgid "Add Another" +msgstr "Ахиад нэмэх:" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Хуудас олдсонгүй." + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Уучлаарай, хандахыг хүссэн хуудас тань олдсонгүй." + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/app_index.html:8 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: 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:5 +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "Нүүр" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Серверийн алдаа" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Серверийн алдаа (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Серверийн алдаа (500)" + +#: contrib/admin/templates/admin/500.html:10 +msgid "" +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Алдаа гарсан байна. Энэ талаар цахим шуудангаар дамжуулан сайтын удирдлагад " +"мэдэгдэж нэн даруй засах хэрэгтэй. Хүлээцтэй хандсанд баярлалаа." + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "Очих" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "" + +#: contrib/admin/templates/admin/app_index.html:10 +#: contrib/admin/templates/admin/index.html:19 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/base.html:28 +msgid "Welcome," +msgstr "Тавтай морилно уу" + +#: contrib/admin/templates/admin/base.html:33 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Баримтжуулалт" + +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Change password" +msgstr "Нууц үг өөрчлөх" + +#: contrib/admin/templates/admin/base.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Log out" +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/change_form.html:21 +#: contrib/admin/templates/admin/index.html:29 +msgid "Add" +msgstr "Нэмэх" + +#: contrib/admin/templates/admin/change_form.html:28 +#: contrib/admin/templates/admin/object_history.html:10 +msgid "History" +msgstr "Түүх" + +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 +msgid "View on site" +msgstr "Сайтаас харах" + +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Доорх алдааг засна уу." +msgstr[1] "Доорх алдаануудыг засна уу." + +#: contrib/admin/templates/admin/change_list.html:63 +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s нэмэх" + +#: contrib/admin/templates/admin/change_list.html:82 +msgid "Filter" +msgstr "Шүүлтүүр" + +#: contrib/admin/templates/admin/delete_confirmation.html:10 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 +msgid "Delete" +msgstr "Устгах" + +#: contrib/admin/templates/admin/delete_confirmation.html:16 +#, 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:23 +#, 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:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 +msgid "Yes, I'm sure" +msgstr "Тийм, итгэлтэй байна." + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +#, fuzzy +msgid "Delete multiple objects" +msgstr "Устгасан %(name)s \"%(object)s\"." + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, fuzzy, python-format +msgid "" +"Deleting the %(object_name)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_selected_confirmation.html:22 +#, fuzzy, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" +"Та %(object_name)s \"%(escaped_object)s\"-ийг устгахдаа итгэлтэй байна уу? " +"Үүнийг устгавал дараах холбогдох зүйлс нь бүгд устана:" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s -ээр" + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "%(name)s програмд загварууд байна." + +#: contrib/admin/templates/admin/index.html:35 +msgid "Change" +msgstr "Өөрчлөх" + +#: contrib/admin/templates/admin/index.html:45 +msgid "You don't have permission to edit anything." +msgstr "Та ямар нэг зүйл засварлах зөвшөөрөлгүй байна." + +#: contrib/admin/templates/admin/index.html:53 +msgid "Recent Actions" +msgstr "Сүүлд хийсэн үйлдлүүд" + +#: contrib/admin/templates/admin/index.html:54 +msgid "My Actions" +msgstr "Миний үйлдлүүд" + +#: contrib/admin/templates/admin/index.html:58 +msgid "None available" +msgstr "Болохгүй байна" + +#: contrib/admin/templates/admin/index.html:72 +#, fuzzy +msgid "Unknown content" +msgstr "Тодорхойгүй" + +#: 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 "" +"Өгөгдлийн сангийн ямар нэг зүйл буруу суугдсан байна. Өгөгдлийн сангийн " +"зохих хүснэгт үүсгэгдсэн эсэх, өгөгдлийн санг зохих хэрэглэгч унших " +"боломжтой байгаа эсэхийг шалгаарай." + +#: contrib/admin/templates/admin/login.html:19 +msgid "Username:" +msgstr "Хэрэглэгчийн нэр:" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Password:" +msgstr "Нууц үг:" + +#: contrib/admin/templates/admin/object_history.html:22 +msgid "Date/time" +msgstr "Огноо/хугацаа" + +#: contrib/admin/templates/admin/object_history.html:23 +msgid "User" +msgstr "Хэрэглэгч" + +#: contrib/admin/templates/admin/object_history.html:24 +msgid "Action" +msgstr "Үйлдэл" + +#: contrib/admin/templates/admin/object_history.html:38 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Уг объектэд өөрчлөлтийн түүх байхгүй байна. Магадгүй үүнийг уг удирдлагын " +"сайтаар дамжуулан нэмээгүй байх." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Бүгдийг харуулах" + +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Хадгалах" + +#: contrib/admin/templates/admin/search_form.html:8 +#, fuzzy +msgid "Search" +msgstr "3-р сар" + +#: 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/submit_line.html:5 +msgid "Save as new" +msgstr "Шинээр хадгалах" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and add another" +msgstr "Хадгалаад өөрийг нэмэх" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save and continue editing" +msgstr "Хадгалаад нэмж засах" + +#: contrib/admin/templates/admin/auth/user/add_form.html:5 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +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:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Нууц үг " + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Нууц үг (ахиад)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Батлахын тулд дээрх нууц үгээ ахин хийнэ үү." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, fuzzy, python-format +msgid "Add another %(verbose_name)s" +msgstr "%(verbose_name)s устлаа." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +#, fuzzy +msgid "Remove" +msgstr "устлаа" + +#: contrib/admin/templates/admin/edit_inline/tabular.html:15 +msgid "Delete?" +msgstr "Устгах уу?" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Манай вэб сайтыг ашигласанд баярлалаа." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Ахин нэвтрэх " + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 +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:21 +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:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Хуучин нууц үг" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Шинэ нууц үг" + +#: contrib/admin/templates/registration/password_change_form.html:43 +#: contrib/admin/templates/registration/password_reset_confirm.html:21 +msgid "Change my password" +msgstr "Нууц үгээ солих" + +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:6 +#: 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_complete.html:6 +#: contrib/admin/templates/registration/password_reset_complete.html:10 +msgid "Password reset complete" +msgstr "Нууц үг авах явц дууслаа" + +#: contrib/admin/templates/registration/password_reset_complete.html:12 +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Та нууц үгтэй боллоо. Одоо бүртгэлд нэвтрэх боломжтой." + +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +msgid "Password reset confirmation" +msgstr "Нууц үг авахаа баталгаажуулах" + +#: contrib/admin/templates/registration/password_reset_confirm.html:12 +msgid "Enter new password" +msgstr "Шинэ нууц үг оруулах" + +#: contrib/admin/templates/registration/password_reset_confirm.html:14 +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Шинэ нууц үгээ хоёр удаа оруулна уу. Ингэснээр нууц үгээ зөв бичиж байгаа " +"эсэхийг тань шалгах юм. " + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Шинэ нууц үг:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Нууц үгээ батлах:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:26 +msgid "Password reset unsuccessful" +msgstr "Нууц үг авах амжилтгүй" + +#: contrib/admin/templates/registration/password_reset_confirm.html:28 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new 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 you instructions for setting your password to the e-mail " +"address you submitted. You should be receiving it shortly." +msgstr "" +"Таны оруулсан цахим шуудангийн хаягаар нууц үг авах зааварчилгааг илгээлээ. " +"Энэ зааварчилгаа танд шууд очих болно. " + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Та нууц үг авахаар хүсэлт гаргасан тул уг цахим шууданг илгээлээ." + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "%(site_name)s гэсэн хэрэглэгчийн бүртгэлд " + +#: contrib/admin/templates/registration/password_reset_email.html:5 +msgid "Please go to the following page and choose a new password:" +msgstr "Дараах хуудас руу орон шинэ нууц үг сонгоно уу:" + +#: contrib/admin/templates/registration/password_reset_email.html:9 +msgid "Your username, in case you've forgotten:" +msgstr "Мартсан тохиолдолд хийх хэрэглэгчийн нэр:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Thanks for using our site!" +msgstr "Манай сайтыг хэрэглэсэнд баярлалаа!" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s баг" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll e-mail " +"instructions for setting a new one." +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/templatetags/admin_list.py:239 +msgid "All dates" +msgstr "Бүх огноо" + +#: contrib/admin/views/main.py:70 +#, python-format +msgid "Select %s" +msgstr "%s-ийг сонго" + +#: contrib/admin/views/main.py:70 +#, python-format +msgid "Select %s to change" +msgstr "%s-ийг өөрчлөхөөр сонго" + +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 +msgid "site" +msgstr "сайт" + +#: contrib/admin/views/template.py:40 +msgid "template" +msgstr "загвар" + +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 +msgid "tag:" +msgstr "шошго:" + +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 +msgid "filter:" +msgstr "шүүлтүүр:" + +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 +msgid "view:" +msgstr "харах:" + +#: contrib/admindocs/views.py:190 +#, python-format +msgid "App %r not found" +msgstr "%r програм олдсонгүй" + +#: contrib/admindocs/views.py:197 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr " %(app_label)r програмд %(model_name)r загвар олдсонгүй" + +#: contrib/admindocs/views.py:209 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "холбогдох `%(app_label)s.%(data_type)s`объект" + +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 +msgid "model:" +msgstr "загвар:" + +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "холбогдох `%(app_label)s.%(object_name)s` объектууд" + +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 +#, python-format +msgid "all %s" +msgstr "бүх %s" + +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 +#, python-format +msgid "number of %s" +msgstr "%s-ийн тоо" + +#: contrib/admindocs/views.py:271 +#, python-format +msgid "Fields on %s objects" +msgstr " %s объектийн нөхөх хэсгүүд" + +#: contrib/admindocs/views.py:361 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s нь url хэлбэрийн объект биш байна" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

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

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

                                Bookmarklet суулгахын тулд холбоосыг bookmark-ийн\n" +" хэрэгслийн мөрт аваачих буюу холбоосон дээр хулганы баруун\n" +" товчлуураар дарж bookmark-даа нэмнэ. Ингэснээр та сайтын аль ч\n" +" хуудаснаас bookmarklet-ээ сонгох боломжтой болно. Зарим\n" +" bookmarklet-ийн хувьд та \"дотоод\" гэж тодорхойлогдсон компьютерээс\n" +" сайт руу орох шаардлагатай болдог (компьютер тань \"дотоод\" мөн\n" +" эсэхийг мэдэхгүй байгаа бол системийн удирдлагаасаа асууна уу).

                                \n" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "Энэ хуудасны баримтжуулалт" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"Таныг ямар ч хамаагүй хуудаснаас тухайн хуудсыг гаргаж байгаа " +"баримтжуулалтанд аваачна." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "Объектийн ID-ийг харуулах" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Нэг объект харуулж буй хуудаснуудын агуулгын төрөл болоод давтагдахгүй ID-" +"ийг харуулна." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "Энэ объектийг засварлах (одоо хэрэглэж буй цонх)" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "Нэг объект харуулж буй хуудаснуудын удирдлагын хуудсанд аваачна." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "Энэ объектийг засварлах (шинэ цонх)" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "Дээрхийн нэгэн адил ч удирдлагын хуудсыг шинэ цонхонд нээнэ." + +#: contrib/auth/admin.py:29 +msgid "Personal info" +msgstr "Хувийн мэдээлэл" + +#: contrib/auth/admin.py:30 +msgid "Permissions" +msgstr "Зөвшөөрөл" + +#: contrib/auth/admin.py:31 +msgid "Important dates" +msgstr "Чухал огноо" + +#: contrib/auth/admin.py:32 +msgid "Groups" +msgstr "Бүлгүүд" + +#: contrib/auth/admin.py:114 +msgid "Password changed successfully." +msgstr "Нууц үг амжилттай өөрчлөгдлөө." + +#: contrib/auth/admin.py:124 +#, python-format +msgid "Change password: %s" +msgstr "Нууц үг өөрчлөх: %s" + +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Хэрэглэгчийн нэр" + +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +#, fuzzy +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Зайлшгүй. 30 буюу түүнээс цөөн тэмдэгт. Зөвхөн стандарт тэмдэгт хэрэглэнэ " +"(үсэг, тоо, нэмэлт тэмдэг)" + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +#, fuzzy +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Энэ нь зөвхөн үсэг, тоо, нэмэлт тэмдэгүүдийг л агуулсан байх хэрэгтэй." + +#: contrib/auth/forms.py:18 +msgid "Password confirmation" +msgstr "Нууц үгийн баталгаа" + +#: contrib/auth/forms.py:31 +msgid "A user with that username already exists." +msgstr "Ийм хэрэглэгчийн нэртэй хэрэглэгч өмнө нь бүртгүүлсэн байна." + +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 +msgid "The two password fields didn't match." +msgstr "Хоёр нууц үг зөрж байна." + +#: contrib/auth/forms.py:83 +msgid "This account is inactive." +msgstr "Энэ бүртгэл идэвхгүй байна." + +#: contrib/auth/forms.py:88 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Та вэб хөтчөө cookie ажиллахаар тохируулаагүй юм шиг байна. Нэвтрэхэд cookie " +"шаардлагатай байдаг." + +#: contrib/auth/forms.py:101 +msgid "E-mail" +msgstr "Цахим шуудан" + +#: contrib/auth/forms.py:110 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Цахим шуудангийн энэ хаягт хэрэглэгчийн бүртгэл байхгүй байна. Та " +"бүртгүүлсэн гэдэгтээ итгэлтэй байна уу?" + +#: contrib/auth/forms.py:136 +#, python-format +msgid "Password reset on %s" +msgstr "Нууц үг %s дээр хийгдсэн" + +#: contrib/auth/forms.py:145 +msgid "New password confirmation" +msgstr "Шинэ нууц үгийн баталгаа" + +#: contrib/auth/forms.py:178 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Хуучин нууц үгээ буруу оруулсан байна. Ахин оруулна уу." + +#: contrib/auth/models.py:66 contrib/auth/models.py:94 +msgid "name" +msgstr "нэр" + +#: contrib/auth/models.py:68 +msgid "codename" +msgstr "Код" + +#: contrib/auth/models.py:72 +msgid "permission" +msgstr "зөвшөөрөл" + +#: contrib/auth/models.py:73 contrib/auth/models.py:95 +msgid "permissions" +msgstr "зөвшөөрлүүд" + +#: contrib/auth/models.py:98 +msgid "group" +msgstr "бүлэг " + +#: contrib/auth/models.py:99 contrib/auth/models.py:206 +msgid "groups" +msgstr "бүлгүүд" + +#: contrib/auth/models.py:196 +msgid "username" +msgstr "хэрэглэгчийн нэр" + +#: contrib/auth/models.py:196 +#, fuzzy +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Зайлшгүй. 30 буюу түүнээс цөөн тэмдэгт. Зөвхөн стандарт тэмдэгт хэрэглэнэ " +"(үсэг, тоо, нэмэлт тэмдэг)" + +#: contrib/auth/models.py:197 +msgid "first name" +msgstr "нэр" + +#: contrib/auth/models.py:198 +msgid "last name" +msgstr "овог" + +#: contrib/auth/models.py:199 +msgid "e-mail address" +msgstr "цахим шуудангийн хаяг" + +#: contrib/auth/models.py:200 +msgid "password" +msgstr "нууц үг" + +#: contrib/auth/models.py:200 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the
                                change " +"password form." +msgstr "" +"Нууц үгийнхээ хэлбэр-ийг өөрчлөхдөө '[algo]$[salt]$[hexdigest]' буюу хэрэглэнэ үү." + +#: contrib/auth/models.py:201 +msgid "staff status" +msgstr "Хэрэглэгчдийн төлөв" + +#: contrib/auth/models.py:201 +msgid "Designates whether the user can log into this admin site." +msgstr "" +"Уг удирдлагын сайт руу хэрэглэгч нэвтрэх боломжтой эсэхийг тодорхойлно." + +#: contrib/auth/models.py:202 +msgid "active" +msgstr "идэвхтэй" + +#: contrib/auth/models.py:202 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" +"Энэ хэрэглэгчийг идэвхтэй болгох эсэхийг тодорхойлно. Бүртгэлийг нь устгахын " +"оронд сонгохгүй байхад л хангалттай." + +#: contrib/auth/models.py:203 +msgid "superuser status" +msgstr "Удирдлагын төлөв" + +#: contrib/auth/models.py:203 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "Энэ хэрэглэгчид бүх зөвшөөрөл байгааг ил тод харуулалгүй тодорхойлно. " + +#: contrib/auth/models.py:204 +msgid "last login" +msgstr "сүүлд нэвтэрсэн" + +#: contrib/auth/models.py:205 +msgid "date joined" +msgstr "бүртгүүлсэн огноо" + +#: contrib/auth/models.py:207 +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:208 +msgid "user permissions" +msgstr "хэрэглэгчийн зөвшөөрөл" + +#: contrib/auth/models.py:212 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 +msgid "user" +msgstr "хэрэглэгч " + +#: contrib/auth/models.py:213 +msgid "users" +msgstr "хэрэглэгчид" + +#: contrib/auth/models.py:394 +msgid "message" +msgstr "мэдээлэл" + +#: contrib/auth/views.py:79 +msgid "Logged out" +msgstr "Гарсан" + +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 +msgid "Enter a valid e-mail address." +msgstr "Хүчинтэй цахим шуудангийн хаяг оруул" + +#: contrib/comments/admin.py:12 +msgid "Content" +msgstr "Агуулга" + +#: contrib/comments/admin.py:15 +msgid "Metadata" +msgstr "Мета өгөгдөл" + +#: contrib/comments/admin.py:40 +#, fuzzy +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "өөрчлөлтгүй хуудас" +msgstr[1] "өөрчлөлтгүй хуудас" + +#: contrib/comments/admin.py:41 +#, fuzzy +msgid "Flag selected comments" +msgstr "санал сэтгэгдэл үлдээх боломжтой болгох" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/admin.py:46 +#, fuzzy +msgid "Approve selected comments" +msgstr "санал сэтгэгдэл үлдээх боломжтой болгох" + +#: contrib/comments/admin.py:50 +#, fuzzy +msgid "removed" +msgid_plural "removed" +msgstr[0] "устлаа" +msgstr[1] "устлаа" + +#: contrib/comments/admin.py:51 +#, fuzzy +msgid "Remove selected comments" +msgstr "санал сэтгэгдэл үлдээх боломжтой болгох" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/feeds.py:13 +#, fuzzy, python-format +msgid "%(site_name)s comments" +msgstr "санал сэтгэгдэл үлдээх боломжтой болгох" + +#: contrib/comments/feeds.py:23 +#, fuzzy, python-format +msgid "Latest comments on %(site_name)s" +msgstr "%(site_name)s гэсэн хэрэглэгчийн бүртгэлд " + +#: contrib/comments/forms.py:93 +msgid "Name" +msgstr "Нэр" + +#: contrib/comments/forms.py:94 +msgid "Email address" +msgstr "Цахим шуудангийн хаяг" + +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + +#: contrib/comments/forms.py:96 +msgid "Comment" +msgstr "Санал сэтгэгдэл" + +#: contrib/comments/forms.py:175 +#, 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 гэсэн үг оруулах хориотой." + +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "" +"Та энэ хэсэгт ямар нэг зүйл оруулбал санал сэтгэгдэлийг тань спам гэж үзэх " +"болно." + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "агуулгын төрөл" + +#: contrib/comments/models.py:24 +msgid "object ID" +msgstr "объектийн ID" + +#: contrib/comments/models.py:52 +msgid "user's name" +msgstr "хэрэглэгчийн нэр" + +#: contrib/comments/models.py:53 +msgid "user's email address" +msgstr "хэрэглэгчийн цахим шуудангийн хаяг" + +#: contrib/comments/models.py:54 +msgid "user's URL" +msgstr "хэрэглэгчийн URL" + +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 +msgid "comment" +msgstr "санал сэтгэгдэл " + +#: contrib/comments/models.py:59 +msgid "date/time submitted" +msgstr "оруулсан огноо/цаг" + +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP хаяг" + +#: contrib/comments/models.py:61 +msgid "is public" +msgstr "нийтийн" + +#: contrib/comments/models.py:62 +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." +msgstr "" +"Сайтаас санал сэтгэгдлийг байнга устгахын тулд энэ хайрцагны өмнөх чагтыг " +"авна уу." + +#: contrib/comments/models.py:64 +msgid "is removed" +msgstr "устлаа" + +#: contrib/comments/models.py:65 +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:77 +#, fuzzy +msgid "comments" +msgstr "санал сэтгэгдэл " + +#: contrib/comments/models.py:119 +msgid "" +"This comment was posted by an authenticated user and thus the name is read-" +"only." +msgstr "" +"Энэ санал сэтгэгдлийг баталгаажсан хэрэглэгч оруулсан учир зөвхөн нэрийг нь " +"харж болно." + +#: contrib/comments/models.py:128 +msgid "" +"This comment was posted by an authenticated user and thus the email is read-" +"only." +msgstr "" +"Энэ санал сэтгэгдлийг баталгаажсан хэрэглэгч оруулсан учир зөвхөн цахим " +"шууданг нь харж болно." + +#: contrib/comments/models.py:153 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"%(date)s-д %(user)s дараах санал сэтгэгдлийг үлдээжээ\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:170 +#, fuzzy +msgid "flag" +msgstr "өөрчлөлтгүй хуудас" + +#: contrib/comments/models.py:171 +#, fuzzy +msgid "date" +msgstr "Өдөр харгалзахгүй" + +#: contrib/comments/models.py:181 +#, fuzzy +msgid "comment flag" +msgstr "санал сэтгэгдэл " + +#: contrib/comments/models.py:182 +#, fuzzy +msgid "comment flags" +msgstr "санал сэтгэгдэл " + +#: contrib/comments/templates/comments/approve.html:4 +#, fuzzy +msgid "Approve a comment" +msgstr "санал сэтгэгдэл үлдээх боломжтой болгох" + +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "" + +#: contrib/comments/templates/comments/approved.html:4 +#, fuzzy +msgid "Thanks for approving" +msgstr "Манай сайтыг хэрэглэсэнд баярлалаа!" + +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "" + +#: contrib/comments/templates/comments/delete.html:4 +#, fuzzy +msgid "Remove a comment" +msgstr "санал сэтгэгдэл үлдээх боломжтой болгох" + +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "" + +#: contrib/comments/templates/comments/deleted.html:4 +#, fuzzy +msgid "Thanks for removing" +msgstr "Манай сайтыг хэрэглэсэнд баярлалаа!" + +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:12 +#, fuzzy +msgid "Flag" +msgstr "Малага" + +#: contrib/comments/templates/comments/flagged.html:4 +#, fuzzy +msgid "Thanks for flagging" +msgstr "Манай сайтыг хэрэглэсэнд баярлалаа!" + +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +#, fuzzy +msgid "Post" +msgstr "-р" + +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +#, fuzzy +msgid "Preview" +msgstr "харах:" + +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "" + +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:11 +#, fuzzy +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "Доорх алдааг засна уу." +msgstr[1] "Доорх алдаануудыг засна уу." + +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:16 +#, fuzzy +msgid "or make changes" +msgstr "Өөрчилсөн зүйл байхгүй байна." + +#: contrib/contenttypes/models.py:77 +msgid "python model class name" +msgstr "пайтоны загвар ангилалын нэр" + +#: contrib/contenttypes/models.py:82 +msgid "content types" +msgstr "агуулгын төрлүүд" + +#: contrib/flatpages/admin.py:9 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Жишээ: '/about/contact/'. Хөтлөх буюу зам заах ташуу зураас байх хэрэгтэй." + +#: contrib/flatpages/admin.py:11 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Энэ нь зөвхөн үсэг, тоо, нэмэлт тэмдэг, хэвтээ зураас эсвэл ташуу зураас " +"агуулсан байх ёстой." + +#: contrib/flatpages/admin.py:22 +msgid "Advanced options" +msgstr "Дээд хэрэглээний сонголтууд" + +#: contrib/flatpages/models.py:8 +msgid "title" +msgstr "гарчиг " + +#: contrib/flatpages/models.py:9 +msgid "content" +msgstr "агуулга" + +#: contrib/flatpages/models.py:10 +msgid "enable comments" +msgstr "санал сэтгэгдэл үлдээх боломжтой болгох" + +#: contrib/flatpages/models.py:11 +msgid "template name" +msgstr "загварын нэр" + +#: contrib/flatpages/models.py:12 +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:13 +msgid "registration required" +msgstr "бүртгэл хийх хэрэгтэй" + +#: contrib/flatpages/models.py:13 +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/formtools/wizard.py:140 +msgid "" +"We apologize, but your form has expired. Please continue filling out the " +"form from this page." +msgstr "" +"Уучлаарай, таны маягт хүчингүй болсон байна. Энэ хуудаснаас маягт бөглөнө үү." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: contrib/gis/db/models/fields.py:270 +#, fuzzy +msgid "Point" +msgstr "сар" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "" + +#: contrib/gis/forms/fields.py:17 +msgid "No geometry value provided." +msgstr "Дүрс оруулаагүй байна." + +#: contrib/gis/forms/fields.py:18 +msgid "Invalid geometry value." +msgstr "Оруулах боломжгүй дүрс" + +#: contrib/gis/forms/fields.py:19 +msgid "Invalid geometry type." +msgstr "Оруулах боломжгүй дүрсийн төрөл" + +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "th" +msgstr "-р" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "st" +msgstr "-р" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "nd" +msgstr "-р" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "rd" +msgstr "-р" + +#: contrib/humanize/templatetags/humanize.py:51 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f сая" +msgstr[1] "%(value).1f сая" + +#: contrib/humanize/templatetags/humanize.py:54 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f тэр бум" +msgstr[1] "%(value).1f тэр бум" + +#: contrib/humanize/templatetags/humanize.py:57 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f их наяд" +msgstr[1] "%(value).1f их наяд" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "one" +msgstr "нэг " + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "two" +msgstr "хоёр" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "three" +msgstr "гурав" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "four" +msgstr "дөрөв" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "five" +msgstr "тав" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "six" +msgstr "зургаа" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "seven" +msgstr "долоо" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "eight" +msgstr "найм" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "nine" +msgstr "ес" + +#: contrib/humanize/templatetags/humanize.py:93 +msgid "today" +msgstr "өнөөдөр" + +#: contrib/humanize/templatetags/humanize.py:95 +msgid "tomorrow" +msgstr "маргааш" + +#: contrib/humanize/templatetags/humanize.py:97 +msgid "yesterday" +msgstr "өчигдөр" + +#: contrib/localflavor/ar/forms.py:28 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "Шуудангийн дугаараа NNNN буюу ANNNNAAA хэлбэрээр оруулна уу. " + +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:97 +#: contrib/localflavor/br/forms.py:136 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires only numbers." +msgstr "Энэ хэсэгт зөвхөн тоо оруулна." + +#: contrib/localflavor/ar/forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "Энэ хэсэгт зөвхөн 7-8 оронтой тоо оруулна." + +#: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "CUIT-ээ XX-XXXXXXXX-X эсвэл XXXXXXXXXXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/ar/forms.py:81 +msgid "Invalid CUIT." +msgstr "Хүчингүй CUIT байна." + +#: contrib/localflavor/at/at_states.py:5 +msgid "Burgenland" +msgstr "Бургенланд" + +#: contrib/localflavor/at/at_states.py:6 +msgid "Carinthia" +msgstr "Каринтиа" + +#: contrib/localflavor/at/at_states.py:7 +msgid "Lower Austria" +msgstr "Доод Австри" + +#: contrib/localflavor/at/at_states.py:8 +msgid "Upper Austria" +msgstr "Дээд Австри" + +#: contrib/localflavor/at/at_states.py:9 +msgid "Salzburg" +msgstr "Зальцбург" + +#: contrib/localflavor/at/at_states.py:10 +msgid "Styria" +msgstr "Стириа" + +#: contrib/localflavor/at/at_states.py:11 +msgid "Tyrol" +msgstr "Тирол" + +#: contrib/localflavor/at/at_states.py:12 +msgid "Vorarlberg" +msgstr "Ворарлберг" + +#: contrib/localflavor/at/at_states.py:13 +msgid "Vienna" +msgstr "Венн" + +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 +msgid "Enter a zip code in the format XXXX." +msgstr "Шуудангийн индексээ XXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/at/forms.py:48 +msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." +msgstr "" +"Австрийн нийгмийн хамгааллын дугаараа XXXX XXXXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/au/forms.py:17 +msgid "Enter a 4 digit post code." +msgstr "Шуудангийн 4 оронтой дугаараа оруулна уу." + +#: contrib/localflavor/br/forms.py:22 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Шуудангийн индексээ XXXXX-XXX хэлбэрээр оруулна уу. " + +#: contrib/localflavor/br/forms.py:31 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Утасны дугаараа XX-XXXX-XXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/br/forms.py:59 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "Бразилийн мужаа сонгоно уу. Энэ нь байгаа муж биш байна." + +#: contrib/localflavor/br/forms.py:95 +msgid "Invalid CPF number." +msgstr "CPF дугаар хүчингүй байна." + +#: contrib/localflavor/br/forms.py:96 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "" +"Энэ хэсэгт 11-ээс илүүгүй оронтой тоо буюу 14-өөс илүүгүй тэмдэгт оруулна уу." + +#: contrib/localflavor/br/forms.py:135 +msgid "Invalid CNPJ number." +msgstr "CNPJ дугаар хүчингүй байна." + +#: contrib/localflavor/br/forms.py:137 +msgid "This field requires at least 14 digits" +msgstr "Энэ хэсэгт наад зах нь 14 оронтой тоо оруулна уу." + +#: contrib/localflavor/ca/forms.py:25 +msgid "Enter a postal code in the format XXX XXX." +msgstr "Шуудангийн дугаараа XXX XXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/ca/forms.py:96 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "Канадын нийгмийн даатгалын дугаараа XXX-XXX-XXX хэлбэрээр оруулна уу." + +#: 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:65 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" +"Щвейцарийн үнэмлэх юм уу пасспортныхоо дугаарыг X1234567<0 эсвэл 1234567890 " +"хэлбэрээр оруулна уу." + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT." +msgstr "Чилийн RUT-ээ оруулна уу." + +#: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Чилийн RUT-ээ XX.XXX.XXX-X хэлбэрээр оруулна уу. " + +#: contrib/localflavor/cl/forms.py:32 +msgid "The Chilean RUT is not valid." +msgstr "Чилийн RUT хүчингүй байна." + +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:11 +#, fuzzy +msgid "Pilsen Region" +msgstr "Зилина муж" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:13 +#, fuzzy +msgid "Usti Region" +msgstr "Косиз муж" + +#: contrib/localflavor/cz/cz_regions.py:14 +#, fuzzy +msgid "Liberec Region" +msgstr "Тренкин муж" + +#: contrib/localflavor/cz/cz_regions.py:15 +#, fuzzy +msgid "Hradec Region" +msgstr "Тренкин муж" + +#: contrib/localflavor/cz/cz_regions.py:16 +#, fuzzy +msgid "Pardubice Region" +msgstr "Косиз муж" + +#: contrib/localflavor/cz/cz_regions.py:17 +#, fuzzy +msgid "Vysocina Region" +msgstr "Зилина муж" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:20 +#, fuzzy +msgid "Zlin Region" +msgstr "Зилина муж" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "" + +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "Шуудангийн дугаараа XXXXX буюу XXX XX хэлбэрээр оруулна уу." + +#: contrib/localflavor/cz/forms.py:48 +#, fuzzy +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "" +"Татварын дугаараа XXX-XXX-XX-XX буюу XX-XX-XXX-XXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" + +#: contrib/localflavor/cz/forms.py:50 +#, fuzzy +msgid "Enter a valid birth number." +msgstr "VAT дугаараа оруулна уу." + +#: contrib/localflavor/cz/forms.py:107 +#, fuzzy +msgid "Enter a valid IC number." +msgstr "VAT дугаараа оруулна уу." + +#: 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:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "Шуудангийн индексээ XXXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/de/forms.py:42 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"Германы үнэмлэхний дугаарыг XXXXXXXXXXX-XXXXXXX-XXXXXXX-X хэлбэрээр оруулна " +"уу." + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "Арава" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "Албасет" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "Алакант" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "Алмериа" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "Авила" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "Бадажоз" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "Иллес Балеарс" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "Барселон" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "Бургоз" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "Касерес" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "Кадиз" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "Кастелло" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "Сиудад Рийл" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "Кордоба" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "А Коруна" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "Куэнса" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "Гирона" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "Гранада" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "Гуадалажара" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "Гипузкоа" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "Хуелва" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "Хуеска" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "Жен" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "Леон" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "Ллейда" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "Ла Риожа" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "Луго" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "Мадрид" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "Малага" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "Мурсиа" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "Наварре" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "Оуренс" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "Астуриас" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "Паленсиа" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "Лас Палмас" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "Понтеведра" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "Саламанка" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "Санта Круз дэ Тенериф" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "Кантабриа" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "Сеговиа" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "Севилль" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "Сориа" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "Таррагона" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "Теруел" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "Толедо" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "Валенсиа" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "Валладолид" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "Бизкаиа" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "Замора" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "Зарагоза" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "Сеута" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "Мелилла" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "Андалусиа" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "Арагон" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "Астуриасын вант улс" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "Балеарикийн арлууд" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "Баск улс" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "Канарын арлууд" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "Кастил-Ла-Манча" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "Кастил ба Леон" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "Каталон" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "Экстремадура" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "Галисиа" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "Мурсиа муж" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "Наваррегийн Форал суурин" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "Валенсиагийн суурин" + +#: contrib/localflavor/es/forms.py:20 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "Шуудангийн дугаараа 01XXX - 52XXX хооронд, энэ хэлбэрээр оруулна уу." + +#: contrib/localflavor/es/forms.py:40 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" +"Утасны дугаараа 6XXXXXXXX, 8XXXXXXXX буюу 9XXXXXXXX хэлбэрийн аль нэгээр " +"оруулна уу." + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "NIF, NIE, CIF оруулна уу." + +#: contrib/localflavor/es/forms.py:68 +msgid "Please enter a valid NIF or NIE." +msgstr "NIF, NIE оруулна уу." + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIF." +msgstr "NIF-ийн шалгах нийлбэр буруу байна." + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for NIE." +msgstr "NIE-ийн шалгах нийлбэр буруу байна." + +#: contrib/localflavor/es/forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "CIF-ийн шалгах нийлбэр буруу байна." + +#: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Дансны дугаараа XXXX-XXXX-XX-XXXXXXXXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/es/forms.py:144 +msgid "Invalid checksum for bank account number." +msgstr "Дансны дугаарын шалгах нийлбэр буруу байна." + +#: contrib/localflavor/fi/forms.py:29 +msgid "Enter a valid Finnish social security number." +msgstr "Финляндийн нийгмийн хамгааллын дугаараа оруулна уу." + +#: contrib/localflavor/fr/forms.py:31 +#, fuzzy +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Утасны дугаар XXXX-XXXXXX хэлбэрээр байх ёстой." + +#: contrib/localflavor/id/forms.py:28 +#, fuzzy +msgid "Enter a valid post code" +msgstr "Шуудангийн дугаараа оруулна уу." + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Утасны дугаараа оруулна уу." + +#: contrib/localflavor/id/forms.py:107 +#, fuzzy +msgid "Enter a valid vehicle license plate number" +msgstr "Утасны дугаараа оруулна уу." + +#: contrib/localflavor/id/forms.py:170 +#, fuzzy +msgid "Enter a valid NIK/KTP number" +msgstr "VAT дугаараа оруулна уу." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +#, fuzzy +msgid "Bali" +msgstr "Бенгал" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +#, fuzzy +msgid "Banten" +msgstr "Агуулга" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +#, fuzzy +msgid "Bengkulu" +msgstr "Бенгал" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +#, fuzzy +msgid "Gorontalo" +msgstr "Гирона" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +#, fuzzy +msgid "Jambi" +msgstr "Тамил" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +#, fuzzy +msgid "Lampung" +msgstr "8-р сар " + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +#, fuzzy +msgid "Maluku" +msgstr "Малаки" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +#, fuzzy +msgid "Magelang" +msgstr "Малага" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +#, fuzzy +msgid "Madiun" +msgstr "Мадрид" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +#, fuzzy +msgid "Tapanuli" +msgstr "Тамаулипас" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +#, fuzzy +msgid "Bandung" +msgstr "Бранденбург" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +#, fuzzy +msgid "Cirebon" +msgstr "Гирона" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +#, fuzzy +msgid "Bogor" +msgstr "Нёго" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +#, fuzzy +msgid "Semarang" +msgstr "Серби" + +#: contrib/localflavor/id/id_choices.py:87 +#, fuzzy +msgid "Pati" +msgstr "идэвхтэй" + +#: contrib/localflavor/id/id_choices.py:91 +#, fuzzy +msgid "Surabaya" +msgstr "Бямба гариг" + +#: contrib/localflavor/id/id_choices.py:92 +#, fuzzy +msgid "Madura" +msgstr "Мадрид" + +#: contrib/localflavor/id/id_choices.py:93 +#, fuzzy +msgid "Malang" +msgstr "Малага" + +#: contrib/localflavor/id/id_choices.py:94 +#, fuzzy +msgid "Jember" +msgstr "11-р сар" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +#, fuzzy +msgid "Garut" +msgstr "Гларус" + +#: contrib/localflavor/ie/ie_counties.py:8 +#, fuzzy +msgid "Antrim" +msgstr "Антрим каунти" + +#: contrib/localflavor/ie/ie_counties.py:9 +#, fuzzy +msgid "Armagh" +msgstr "Арагон" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +#, fuzzy +msgid "Cavan" +msgstr "Каталан" + +#: contrib/localflavor/ie/ie_counties.py:12 +#, fuzzy +msgid "Clare" +msgstr "Касерес" + +#: contrib/localflavor/ie/ie_counties.py:13 +#, fuzzy +msgid "Cork" +msgstr "буюу" + +#: contrib/localflavor/ie/ie_counties.py:14 +#, fuzzy +msgid "Derry" +msgstr "2-р сар" + +#: contrib/localflavor/ie/ie_counties.py:15 +#, fuzzy +msgid "Donegal" +msgstr "нэг " + +#: contrib/localflavor/ie/ie_counties.py:16 +#, fuzzy +msgid "Down" +msgstr "Дэвон" + +#: contrib/localflavor/ie/ie_counties.py:17 +#, fuzzy +msgid "Dublin" +msgstr "Лублин" + +#: contrib/localflavor/ie/ie_counties.py:18 +#, fuzzy +msgid "Fermanagh" +msgstr "Ферманаф каунти" + +#: contrib/localflavor/ie/ie_counties.py:19 +#, fuzzy +msgid "Galway" +msgstr "Галисиа" + +#: contrib/localflavor/ie/ie_counties.py:20 +#, fuzzy +msgid "Kerry" +msgstr "2-р сар" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +#, fuzzy +msgid "Louth" +msgstr "Гарах" + +#: contrib/localflavor/ie/ie_counties.py:28 +#, fuzzy +msgid "Mayo" +msgstr "5-р сар" + +#: contrib/localflavor/ie/ie_counties.py:29 +#, fuzzy +msgid "Meath" +msgstr "Мета өгөгдөл" + +#: contrib/localflavor/ie/ie_counties.py:30 +#, fuzzy +msgid "Monaghan" +msgstr "Ахин нэвтрэх " + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +#, fuzzy +msgid "Roscommon" +msgstr "санал сэтгэгдэл " + +#: contrib/localflavor/ie/ie_counties.py:33 +#, fuzzy +msgid "Sligo" +msgstr "Шига" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +#, fuzzy +msgid "Tyrone" +msgstr "Тирол" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +#, fuzzy +msgid "Westmeath" +msgstr "Баруун Помераниа" + +#: contrib/localflavor/ie/ie_counties.py:38 +#, fuzzy +msgid "Wexford" +msgstr "Лха" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "Шуудангийн индексээ XXXXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Исландын үнэмлэхний дугаараа XXXXXX-XXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/is_/forms.py:19 +msgid "The Icelandic identification number is not valid." +msgstr "Исландын үнэмлэхний дугаар хүчингүй байна." + +#: contrib/localflavor/it/forms.py:15 +msgid "Enter a valid zip code." +msgstr "Шуудангийн индексээ оруулна уу." + +#: contrib/localflavor/it/forms.py:44 +msgid "Enter a valid Social Security number." +msgstr "Нийгмийн хамгааллын дугаараа оруулна уу." + +#: contrib/localflavor/it/forms.py:69 +msgid "Enter a valid VAT number." +msgstr "VAT дугаараа оруулна уу." + +#: contrib/localflavor/jp/forms.py:16 +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/kw/forms.py:25 +#, fuzzy +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Өмнөд Африкийн ID дугаараа оруулна уу." + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "Агуаскалиентэс" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "Бажа Калифорни" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "Бажа Калифорни Сур" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "Кампече" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "Чихуахуа" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "Чиапас" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "Коахуила" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "Колима" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "Холбооны Дистрито" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "Дуранго" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "Гуерреро" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "Гуанажуато" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "Хидалго" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "Жалиско" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "Мехико" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "Мичоакан" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "Морелос" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "Наярит" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "Нуево Леон" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "Вахака" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "Пуебло" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "Куеретаро" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "Кинтана Ро" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "Синалоа" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "Сан Луис Потоси" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "Сонора" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "Табаско" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "Тамаулипас" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "Тласкала" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "Веракруз" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "Юкатан" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "Закатекас" + +#: contrib/localflavor/nl/forms.py:22 +msgid "Enter a valid postal code" +msgstr "Шуудангийн дугаараа оруулна уу." + +#: contrib/localflavor/nl/forms.py:79 +msgid "Enter a valid SoFi number" +msgstr "SoFi дугаараа оруулна уу." + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drenthe" +msgstr "Дрэнтэ" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "Флеволанд" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "Фраисланд" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "Гелдерланд" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "Гронинген" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "Лимбург" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "Нуурд-Брабант" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "Нуурд-Холланд" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "Овераисл" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "Утрехт" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "Зийланд" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "Заит-Холланд" + +#: contrib/localflavor/no/forms.py:34 +msgid "Enter a valid Norwegian social security number." +msgstr "Норвегийн нийгмийн хамгааллын дугаараа оруулна уу." + +#: contrib/localflavor/pe/forms.py:25 +msgid "This field requires 8 digits." +msgstr "Энэ хэсэгт 8 оронтой тоо оруулна." + +#: contrib/localflavor/pe/forms.py:53 +msgid "This field requires 11 digits." +msgstr "Энэ хэсэгт 11 оронтой тоо оруулна." + +#: contrib/localflavor/pl/forms.py:38 +msgid "National Identification Number consists of 11 digits." +msgstr "Үндэсний таних дугаар 11 оронтой байна." + +#: contrib/localflavor/pl/forms.py:39 +msgid "Wrong checksum for the National Identification Number." +msgstr "Үндэсний таних дугаарын шалгах нийлбэр буруу байна." + +#: contrib/localflavor/pl/forms.py:71 +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "" +"Татварын дугаараа XXX-XXX-XX-XX буюу XX-XX-XXX-XXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/pl/forms.py:72 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "Татварын дугаарын шалгах нийлбэр буруу байна." + +#: contrib/localflavor/pl/forms.py:109 +#, fuzzy +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." +msgstr "Үндэсний бизнесийн бүртгэлийн дугаар 7-9 оронтой байна." + +#: contrib/localflavor/pl/forms.py:110 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "Үндэсний бизнесийн бүртгэлийн дугаарын шалгах нийлбэр буруу байна." + +#: contrib/localflavor/pl/forms.py:148 +msgid "Enter a postal code in the format XX-XXX." +msgstr "Шуудангийн дугаараа XX-XXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "Доод Силесиа" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "Куявиа-Помераниа" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "Лублин" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "Лубуски" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "Лодз" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "Бага Польш" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "Масовиа" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "Ополе" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "Субкарпатиа" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "Подласие" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "Помераниа" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "Силесиа" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "Свентокшишки" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "Вармиа-Масуриа" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "Их Польш" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "Баруун Помераниа" + +#: contrib/localflavor/pt/forms.py:17 +#, fuzzy +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Шуудангийн индексээ XXXXX-XXX хэлбэрээр оруулна уу. " + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" + +#: contrib/localflavor/ro/forms.py:19 +msgid "Enter a valid CIF." +msgstr "CIF оруулна уу." + +#: contrib/localflavor/ro/forms.py:56 +msgid "Enter a valid CNP." +msgstr "CNP оруулна уу." + +#: contrib/localflavor/ro/forms.py:141 +msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" +msgstr "IBAN-ийг ROXX-XXXX-XXXX-XXXX-XXXX-XXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/ro/forms.py:171 +msgid "Phone numbers must be in XXXX-XXXXXX format." +msgstr "Утасны дугаар XXXX-XXXXXX хэлбэрээр байх ёстой." + +#: contrib/localflavor/ro/forms.py:194 +msgid "Enter a valid postal code in the format XXXXXX" +msgstr "Шуудангийн дугаараа XXXXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/se/forms.py:50 +#, fuzzy +msgid "Enter a valid Swedish organisation number." +msgstr "SoFi дугаараа оруулна уу." + +#: contrib/localflavor/se/forms.py:107 +#, fuzzy +msgid "Enter a valid Swedish personal identity number." +msgstr "Финляндийн нийгмийн хамгааллын дугаараа оруулна уу." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +#, fuzzy +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Шуудангийн дугаараа XX-XXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +#, fuzzy +msgid "Södermanland" +msgstr "Гелдерланд" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +#, fuzzy +msgid "Kalmar" +msgstr "3-р сар" + +#: contrib/localflavor/se/se_counties.py:24 +#, fuzzy +msgid "Gotland" +msgstr "Шотланд" + +#: contrib/localflavor/se/se_counties.py:25 +#, fuzzy +msgid "Blekinge" +msgstr "Берн" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +#, fuzzy +msgid "Halland" +msgstr "Саарланд" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +#, fuzzy +msgid "Dalarna" +msgstr "Галанта" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "Банска Бистрика" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "Банска Стиавника" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "Бардежов" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "Бановц над Бебравоу" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "Брезно" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "Братислав l" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "Братислав ll" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "Братислав lll" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "Братислав lV" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "Братислав V" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "Битка" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "Кадка" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "Детва" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "Долни Кубин" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "Дунайска Стреда" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "Галанта" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "Гелника" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "Хлоховек" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "Хюменн" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "Илава" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "Кезмарок" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "Комарно" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "Косиз I" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "Косиз II" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "Косиз III" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "Косиз IV" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "Косиз - околие" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "Крупина" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "Кисук Нове Место" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "Левис " + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "Левока" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "Липтовски Микулас" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "Лукенек" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "Малаки" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "Мартин " + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "Медзилаборс" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "Михаловс" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "Мияава" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "Наместово" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "Нитра" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "Нове Место над Вахом" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "Нове Замки" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "Партизанске" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "Пезинок" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "Пиестани" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "Полтар" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "Попрад" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "Повазска Бистрика" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "Пресов" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "Приевидза" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "Пучов" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "Ревука" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "Римавска Собота" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "Рознава" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "Рузомберок" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "Сабинов" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "Сенек" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "Сеника" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "Скалиса" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "Снина" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "Собранс" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "Списска Нова Вес" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "Стара Любовна" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "Стропков" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "Свидник" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "Сала" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "Тополсани" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "Требисов" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "Тренкин" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "Трнава" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "Туркианск Теплис" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "Тврдосин" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "Велки Кртис" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "Вранов над Топлоу" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "Злате Моравс" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "Зволен" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "Зарновика" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "Зиар над Хроном" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "Зилина" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "Банска Бистрика муж " + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "Братислав муж " + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "Косиз муж" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "Нитра муж" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "Пресов муж" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "Тренкин муж" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "Трнава муж" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "Зилина муж" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "Шуудангийн дугаараа оруулна уу." + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "Бэдфордшир" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "Букингхэмшир" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "Чешир" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "Корнүолл ба Скиллийн арлууд" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "Кумбриа" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "Дэрбишир" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "Дэвон" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "Дорсэт" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "Дурхам" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "Ийст Суссекс" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "Эссекс" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "Глоусестершир" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "Их Лондон " + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "Их Манчестэр" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "Хэмпшир" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "Хэртфордшир" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "Кэнт" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "Ланкашир" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "Леисэстершир" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "Линколншир" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "Мэрсэисайд" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "Норфолк" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "Норт Йоркшир" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "Нортамптоншир" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "Нортамберланд" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "Ноттингхэмшир" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "Оксфордшир" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "Шропшир" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "Сомерсэт" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "Саут Йоркшир" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "Стаффордшир" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "Суффолк" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "Сурреи" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "Тийн ба Виэр" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "Уарвикшир" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "Вэст Мидландс" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "Вест Суссекс" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "Вест Йоркшир" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "Вилтшир" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "Ворсестершир" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "Антрим каунти" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "Армагх каунти" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "Даун каунти" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "Ферманаф каунти" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "Лондондерри каунти" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "Тирон каунти" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "Клвид " + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "Дифед" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "Гвент" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "Гвинедд" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "Дундад Гламорган" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "Повис" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "Өмнөд Гламорган" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "Баруун Гламорган" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "Бордэрс" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "Төв Шотланд" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "Дамфрайс ба Галловэй" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "Файф" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "Грампиан" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "Хайланд" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "Лотиан" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "Оркнэй арлууд" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "Шетланд арлууд" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "Стратклид" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "Тайсайд" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "Вестерн Айслс" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "Англи" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "Умард Ирланд" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "Шотланд" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "Вэльс" + +#: contrib/localflavor/us/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Шуудангийн индексээ XXXXX буюу XXXXX-XXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/us/forms.py:26 +#, fuzzy +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Утасны дугаараа XX-XXXX-XXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/us/forms.py:55 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "АНУ-ын нийгмийн хамгааллын дугаараа XXX-XX-XXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "U.S. төлөв (хоёр том үсэг)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Утасны дугаар" + +#: contrib/localflavor/uy/forms.py:28 +#, fuzzy +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "CUIT-ээ XX-XXXXXXXX-X эсвэл XXXXXXXXXXXX хэлбэрээр оруулна уу." + +#: contrib/localflavor/uy/forms.py:30 +#, fuzzy +msgid "Enter a valid CI number." +msgstr "VAT дугаараа оруулна уу." + +#: contrib/localflavor/za/forms.py:21 +msgid "Enter a valid South African ID number" +msgstr "Өмнөд Африкийн ID дугаараа оруулна уу." + +#: contrib/localflavor/za/forms.py:55 +msgid "Enter a valid South African postal code" +msgstr "Өмнөд Африкийн шуудангийн дугаараа оруулна уу." + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "Зүүн Кэйп" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "Фрий стэйт" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "Гаутэнг" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "КваЗулу-Натал" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "Лимпопо" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "Мпумаланга" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "Хойд Кэйп" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "Норт Вэст" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "Баруун Кэйп" + +#: contrib/messages/tests/base.py:101 +#, fuzzy +msgid "lazy message" +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/sessions/models.py:45 +msgid "session key" +msgstr "" + +#: contrib/sessions/models.py:47 +msgid "session data" +msgstr "" + +#: contrib/sessions/models.py:48 +msgid "expire date" +msgstr "дуусах хугацаа" + +#: contrib/sessions/models.py:53 +msgid "session" +msgstr "" + +#: contrib/sessions/models.py:54 +msgid "sessions" +msgstr "" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "домэйн нэр" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "дэлгэцний нэр " + +#: contrib/sites/models.py:39 +msgid "sites" +msgstr "сайт" + +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Өгөгдхүүнээ оруулна уу." + +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "URL оруулна уу." + +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Энэ URL холбоос гэмтсэн юм шиг байна." + +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "Үсэг, тоо, нэмэлт тэмдэг, зурааснаас бүрдэх `slug`-аа оруулна уу." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "IPv4 хаягаа оруулна уу. " + +#: core/validators.py:129 db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "Зөвхөн таслалаар тусгаарлагдсан цифр оруулна уу." + +#: core/validators.py:135 +#, fuzzy, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Энэ өгөгдхүүн хамгийн багадаа %(min)d тэмдэгттэй байх ёстой (%(length)d " +"урттай)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, fuzzy, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Энэ өгөгдхүүн %s буюу үүнээс бага байх ёстой." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, fuzzy, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Энэ өгөгдхүүн %s буюу үүнээс их байх ёстой." + +#: core/validators.py:164 +#, fuzzy, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Энэ өгөгдхүүн хамгийн багадаа %(min)d тэмдэгттэй байх ёстой (%(length)d " +"урттай)." + +#: core/validators.py:170 +#, fuzzy, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Энэ өгөгдхүүн хамгийн ихдээ %(max)d тэмдэгттэй байх ёстой (%(length)d " +"урттай)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(field_label)s-тэй %(model_name)s-ийг аль хэдийнэ оруулсан байна." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "" + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Энэ хэсгийг хоосон орхиж болохгүй." + +#: db/models/fields/__init__.py:65 +#, fuzzy +msgid "This field cannot be blank." +msgstr "Энэ хэсгийг хоосон орхиж болохгүй." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Бүхэл тоо" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Энэ бүхэл тоо байх ёстой." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Энэ True, False-ийн аль аль нь байх ёстой. " + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Boolean (Үнэн худлын аль нэг нь)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Бичвэр (%(max_length)s хүртэл)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Таслалаар тусгаарлагдсан бүхэл тоо" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Огноо (цаггүй)" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Огноогоо ЖЖЖЖ-СС-ӨӨ гэсэн хэлбэрээр оруулна уу." + +#: db/models/fields/__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "Буруу огноо: %s" + +#: db/models/fields/__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "Огноо/цагаа ЖЖЖЖ-СС-ӨӨ ЦЦ:ММ[:сс[.uuuuuu]] гэсэн хэлбэрээр оруулна уу." + +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Огноо (цагтай)" + +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "Энэ бутархай тоо байх ёстой." + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Аравтын бутархайт тоо" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "Цахим шуудангийн хаяг" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Файлын зам " + +#: db/models/fields/__init__.py:822 +#, fuzzy +msgid "This value must be a float." +msgstr "Энэ бүхэл тоо байх ёстой." + +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "" + +#: db/models/fields/__init__.py:912 +msgid "This value must be either None, True or False." +msgstr "Энэ None, True, False-ийн аль аль нь байх ёстой." + +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (Үнэн, худал, эсвэл юу ч биш)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Бичвэр" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Хугацаа" + +#: db/models/fields/__init__.py:1025 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "Цагаа ЦЦ:ММ[:сс[.uuuuuu]] гэсэн хэлбэрээр оруулна уу. " + +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML бичвэр" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "" + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "" + +#: db/models/fields/related.py:1000 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Нэгээс олныг сонгохын тулд Мак дээрх \"Control\", \"Command\"-ийг дарна уу." + +#: db/models/fields/related.py:1061 +#, 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 гэсэн өгөгдхүүнүүд буруу байна." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Энэ хэсгийг бөглөх шаардлагатай." + +#: forms/fields.py:204 +msgid "Enter a whole number." +msgstr "Дугаараа бүхлээр нь оруулна уу." + +#: forms/fields.py:235 forms/fields.py:256 +msgid "Enter a number." +msgstr "Дугаараа оруулна уу." + +#: forms/fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Энд нийтдээ %s -аас олонгүй цифр байх ёстой." + +#: forms/fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Энд %s -аас олонгүй бутархайн орон байх ёстой. " + +#: forms/fields.py:261 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Энд бутархайн таслалаас өмнө %s-аас олонгүй цифр байх ёстой." + +#: forms/fields.py:323 forms/fields.py:838 +msgid "Enter a valid date." +msgstr "Огноо оруулна уу." + +#: forms/fields.py:351 forms/fields.py:839 +msgid "Enter a valid time." +msgstr "Цаг оруулна уу." + +#: forms/fields.py:377 +msgid "Enter a valid date/time." +msgstr "Огноо/цаг оруулна уу." + +#: forms/fields.py:435 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Файл оруулаагүй байна. Маягтаас кодлох төрлийг чагтал. " + +#: forms/fields.py:436 +msgid "No file was submitted." +msgstr "Файл оруулаагүй байна." + +#: forms/fields.py:437 +msgid "The submitted file is empty." +msgstr "Оруулсан файл хоосон байна. " + +#: forms/fields.py:438 +#, fuzzy, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" +"Энэ өгөгдхүүн хамгийн ихдээ %(max)d тэмдэгттэй байх ёстой (%(length)d " +"урттай)." + +#: forms/fields.py:473 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Зөв зураг оруулна уу. Таны оруулсан файл зүгээр зураг, гэмтсэн зургийн аль " +"нь ч биш байна." + +#: forms/fields.py:596 forms/fields.py:671 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Зөв сонголт хийгээрэй. %(value)s гэсэн сонголт байхгүй байна." + +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1007 +msgid "Enter a list of values." +msgstr "Өгөгдхүүний жагсаалтаа оруулна уу." + +#: forms/formsets.py:298 forms/formsets.py:300 +msgid "Order" +msgstr "Дараалал" + +#: forms/models.py:567 +#, fuzzy, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Доорх алдааг засна уу." + +#: forms/models.py:571 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#: forms/models.py:577 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +#: forms/models.py:585 +#, fuzzy +msgid "Please correct the duplicate values below." +msgstr "Доорх алдааг засна уу." + +#: forms/models.py:860 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "" + +#: forms/models.py:926 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Зөв сонголт хийгээрэй. Энэ сонголт байхгүй байна." + +#: forms/models.py:1008 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Зөв сонголт хийгээрэй. %s гэсэн сонголт байхгүй байна." + +#: forms/models.py:1010 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "" + +#: template/defaultfilters.py:781 +msgid "yes,no,maybe" +msgstr "тийм, үгүй, магадгүй" + +#: template/defaultfilters.py:812 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d байт" +msgstr[1] "%(size)d байт" + +#: template/defaultfilters.py:814 +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#: template/defaultfilters.py:816 +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#: template/defaultfilters.py:817 +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#: utils/dateformat.py:42 +msgid "p.m." +msgstr "p.m." + +#: utils/dateformat.py:43 +msgid "a.m." +msgstr "a.m." + +#: utils/dateformat.py:48 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:49 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:98 +msgid "midnight" +msgstr "шөнө" + +#: utils/dateformat.py:100 +msgid "noon" +msgstr "үд" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "Даваа гариг" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Мягмар гариг" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Лхагва гариг" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Пүрэв гариг" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "Баасан гариг" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Бямба гариг" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Ням гариг" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "Дав" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "Мяг" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "Лха" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "Пүр" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "Баа" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "Бям" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "Ням" + +#: utils/dates.py:18 +msgid "January" +msgstr "1-р сар" + +#: utils/dates.py:18 +msgid "February" +msgstr "2-р сар" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "3-р сар" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "4-р сар" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "5-р сар" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "6-р сар" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "7-р сар" + +#: utils/dates.py:19 +msgid "August" +msgstr "8-р сар" + +#: utils/dates.py:19 +msgid "September" +msgstr "9-р сар" + +#: utils/dates.py:19 +msgid "October" +msgstr "10-р сар" + +#: utils/dates.py:19 +msgid "November" +msgstr "11-р сар" + +#: utils/dates.py:20 +msgid "December" +msgstr "12-р сар" + +#: utils/dates.py:23 +msgid "jan" +msgstr "1-р сар" + +#: utils/dates.py:23 +msgid "feb" +msgstr "2-р сар" + +#: utils/dates.py:23 +msgid "mar" +msgstr "3-р сар" + +#: utils/dates.py:23 +msgid "apr" +msgstr "4-р сар" + +#: utils/dates.py:23 +msgid "may" +msgstr "5-р сар" + +#: utils/dates.py:23 +msgid "jun" +msgstr "6-р сар" + +#: utils/dates.py:24 +msgid "jul" +msgstr "7-р сар" + +#: utils/dates.py:24 +msgid "aug" +msgstr "8-р сар " + +#: utils/dates.py:24 +msgid "sep" +msgstr "9-р сар" + +#: utils/dates.py:24 +msgid "oct" +msgstr "10-р сар" + +#: utils/dates.py:24 +msgid "nov" +msgstr "11-р сар" + +#: utils/dates.py:24 +msgid "dec" +msgstr "12-р сар" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "1-р сар" + +#: utils/dates.py:31 +msgid "Feb." +msgstr "2-р сар" + +#: utils/dates.py:32 +msgid "Aug." +msgstr "8-р сар" + +#: utils/dates.py:32 +msgid "Sept." +msgstr "9-р сар" + +#: utils/dates.py:32 +msgid "Oct." +msgstr "10-р сар" + +#: utils/dates.py:32 +msgid "Nov." +msgstr "11-р сар" + +#: utils/dates.py:32 +msgid "Dec." +msgstr "12-р сар" + +#: utils/text.py:130 +msgid "or" +msgstr "буюу" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "жил " +msgstr[1] "жил" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "сар" +msgstr[1] "сар" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "долоо хоног" +msgstr[1] "долоо хоног" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "өдөр" +msgstr[1] "өдөр" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "цаг" +msgstr[1] "цаг" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "минут" +msgstr[1] "минут" + +#: utils/timesince.py:45 +msgid "minutes" +msgstr "минут" + +#: utils/timesince.py:50 +#, python-format +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" + +#: utils/timesince.py:56 +#, python-format +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" + +#: utils/translation/trans_real.py:518 +msgid "DATE_FORMAT" +msgstr "N j, Y" + +#: utils/translation/trans_real.py:519 +msgid "DATETIME_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:520 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:541 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:542 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" + +#: views/generic/create_update.py:115 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s амжилттай үүслээ." + +#: views/generic/create_update.py:158 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr " %(verbose_name)s амжилттай шинэчлэгдлээ." + +#: views/generic/create_update.py:201 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s устлаа." + +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "%(name)s дахь нэг буюу түүнээс дээш %(fieldname)s :%(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "%(name)s дахь нэг буюу түүнээс дээш %(fieldname)s:" + +#~ msgid "Old password:" +#~ msgstr "Хуучин нууц үг:" + +#~ msgid "Relation to parent model" +#~ msgstr "Эх загварт хамаарах хамаарал" + +#~ msgid "Add user" +#~ msgstr "Хэрэглэгч нэмэх" diff --git a/django/conf/locale/mn/LC_MESSAGES/djangojs.mo b/django/conf/locale/mn/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..d4929366ba6afab6a42af3ec7680b7cf332a7878 GIT binary patch literal 367 zcmYL^K~KUk7=|%=+R?Lz9=zd)osnczBve*#vE9fRBzmh*XAQQbD@K2af6w1yml%1I zCq4A}+V}f8J^Aj090kq-=YiwEMW9U*=!eTeI9umGb7$Yw+C#R1m2!=?hM+l}JkS|K zD^@PDB9BV7v(AHPYQ2HGeceE135w=L1rw*F4?~bjuL!!rF$UZRe2wA(!EqNS7zYtb z^`YCx|GY;=OArO56x|m@WZkDCXAzf;hssIQY^Ar3py`rxlvBabkO`XcF-_BwEf%Ao zntCs51(lNT1aX?rmTl!B=i{yJSyzuDkqLHKD(>NEVvScO{PDF5Wxe|Jm%FXh<_4`_ erE8SGT~<>_4qn^kMLA$*Z8zG~1SQYfN1b2(Zep(h literal 0 HcmV?d00001 diff --git a/django/conf/locale/mn/LC_MESSAGES/djangojs.po b/django/conf/locale/mn/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..c43404920 --- /dev/null +++ b/django/conf/locale/mn/LC_MESSAGES/djangojs.po @@ -0,0 +1,149 @@ +# 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: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-05-04 19:01+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \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:37 +#, perl-format +msgid "Available %s" +msgstr "" + +#: contrib/admin/media/js/SelectFilter2.js:45 +msgid "Choose all" +msgstr "" + +#: contrib/admin/media/js/SelectFilter2.js:50 +msgid "Add" +msgstr "" + +#: contrib/admin/media/js/SelectFilter2.js:52 +msgid "Remove" +msgstr "" + +#: contrib/admin/media/js/SelectFilter2.js:57 +#, perl-format +msgid "Chosen %s" +msgstr "" + +#: contrib/admin/media/js/SelectFilter2.js:58 +msgid "Select your choice(s) and click " +msgstr "" + +#: contrib/admin/media/js/SelectFilter2.js:63 +msgid "Clear all" +msgstr "" + +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +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/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "Now" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 +msgid "Clock" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Choose a time" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 +msgid "Midnight" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 +msgid "6 a.m." +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +msgid "Noon" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 +msgid "Cancel" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 +msgid "Today" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 +msgid "Calendar" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 +msgid "Yesterday" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 +msgid "Tomorrow" +msgstr "" diff --git a/django/conf/locale/mn/__init__.py b/django/conf/locale/mn/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/mn/formats.py b/django/conf/locale/mn/formats.py new file mode 100644 index 000000000..a8e778352 --- /dev/null +++ b/django/conf/locale/mn/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'd F Y' +TIME_FORMAT = 'g:i:s A' +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +# MONTH_DAY_FORMAT = +SHORT_DATE_FORMAT = 'j M Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +# DECIMAL_SEPARATOR = +# THOUSAND_SEPARATOR = +# NUMBER_GROUPING = diff --git a/django/conf/locale/nb/LC_MESSAGES/django.mo b/django/conf/locale/nb/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..8ad8316b80629462d853a7cbe9bfe5a022d34789 GIT binary patch literal 68395 zcmc%y2Yggj{>P198%hKO1Z=1m6iI|6pn?#Q-Xahp30=iWa+3_1%)}`P!Lqisu50hE zy?3#@>Z-Bqy7uncbyr=>+Ff1CKJU*t=gv%GqVE6ydtT4HxOt!YJ-wfMd41r9r+fUi z+tBld!al=1@34(L@B3*o<+sf9PFv6O)`Nr5p0V8XM#F323ivXd1b0KT4Lkr&fG5CB z;KNS;B-|YRCM!K}2pkF(-mY*Qtb`-sQI6NcBJ?jnqT_k{SoU)40|#I{5Gp=9Ld9=y z#|F3*{lRc3eBPOV4i&FW_O99Zgb+8}ofQtV!jxRyUeH|(u?>c@070x%XH~b#TU9bI25qSNe%p0Km9RL;IwNT+5 z29>X;K;^?#Q2ze}l~0ert>DX0@%aME|F@3bDr>$mJQ(x7@OXGU>%q2hNeRJbQP`%9tZUkl~$R=6E}0PYCi zf~GubEc-!)KLpDCaHxDLg^I_XPCwt-uYf9t2B>h`q2lv<$J3$Gf1cyDQ009$RC*tV za{n|`{9l5K&+AVAuH#2g>G&Kf9^XO9DX6s^1QpJ9Q0_{g@_Bct_|1iqy8_Bz4cr38 zpxhk^75?c^@i`aD-NjJle68c3pu%|us=VKZlKV9r1%HIfzn$wmFAc{-#pfC*ceg-= zb2pUy2cX}Kvf@;4hsPa3>@qDQ8 zu7yhX9Z>1}i?e?fD!v~;h4%$iIRAkvul4I~y!t}LcXKFtJ3zTBg}vbJP~|ikDx3vS z`L!QZx|47tco5tW9u5`m(NO+Qg1z7cP~~(v90~7*3g=y@di*bVJ?z`yd1u4Bq2jru zk-is3;6%6%k_7J~sBjlWEtf&XZ$GI1B>|P6zlF-TGvU_oGPn)A4=TN{!d~!wsQ7#W z<^SJM`O-3X{~M?3D~%qKvlcM6oh3Ml#eLAAfta2RZZ+rqP<XAVP*!7riOO=;4W<6Kydz7CFn*F&|J=U^%P z3~F2%ma_JHI7Z+|%#Vgj*9}na{|1-A0vi2PSPKWjOQGc44po1ihK2BBxH%k>@w{np zXQ=qapvw8TQ0ck^R>6Cr@_S&bmA5l2K|d2tg()ceTi{su7?k`U;UGA$&Bk{ml)FW6 zFkB54pF`n}@G7_~d;+Tc)?Z`OKN>3Ci=fiA7VZR3fO3BeRK0v34uJoHn?SGK^X7rx zkSgLWhMU3;sCNG(l)LAk()}7#e7|${{ny(5VlY%Y+8(OD?*tda5-2%G!XfZjsPHd@ zz2Q2jblwfOhR;Cd+sBZq=nXy4_7}%P$v*>b0RI3LuZx`d)ll+of(rkSQ0eV(`oB2) zr=9*4$9JIQeCYIF!UFW)JN?E7*>E?5ayP{3w}(pCPEJ3{aTmB5<`d!iupBBr^P&7# zJN>>;`5eH0@BpZCJJjhNTTt>pgo^KH&i;F6zu_UCHwW{6a4uW|<^BRF`IkZE|IH9DUI&z% zX}_`I%!jJK)lls(3gz!$xD`C!@iNCh!6M9GhW+6NhuV5P2yTIX6jb;#pz^02Dm{zf zQn&)jejPOV0A+uV(?8_&k3#u>#+knY)$hCstKjg%tp8TW1EKQkP^kKF95n62ng7A* zuYi(!Jyf{2L&f7y&ip~B_&x6UER?&Kq2#>6!^gyjI(2mMx1@!1I~ya`bLXF$o_%jp+FxnBY$rxwb66HLKYD1RR~`_G`_ z^DUIWjgPeYK~V07I~GC78{;?uZis#=R6Uyo70wbUe-SA6jZWVJRbShn^6_M6ekPQ= z^Wg^Ya=0zL8Y(`2cJ|Lh$$t$h-`{uo&m6ypO2@{(wQ>eS#bYZd_dYCvMNs3*GFS|M z2NmvJQ10)Asvi%*E#Z?;@p~UC{7<3WedqM+A7%A@9S1>$w+-A7?g%BX$mw^5v(Qg~ z}K()7>pz6VRDF1Vuele8X zdZ=_|ocV8{>hnoZ{x61#$2zF~?sll~9)p{}7oqx%H(@XMku(1S%HQ`;@m%j%tM3h^ z@8>uKDu1?viq9yh{;&)x{}wqebN2f=eKVAt6jXc;go?*eQ2Bfcl)Tg7Ch$_Ie7FwE z-M!BIQD^=vRC@moHGlXLZU;9z&dw`JpybVjieD8}IWfb|9?eRsY-}YoHzZ6RTILAq_ zFZvl!;p`1n9?PM^i$nDnYoPp{?06PbJT8EJ;MGv&cRTdq(@^F6IqV1fonq_Hwor0P zoPHdX{Mk_PT?LhYm%#z>Gbr~PoND7$05?OwJygDxLdAOmRK1$&^vj^)w?CA-CTE_8 z%BO>z{xGLM7An2JhjM=w><=%3>KE2Q^{0Pv_K!o!c>yZFUV%#gr*KnPaGH(x5UBj! z7Al`c!GUmsv!4eQ-Xf=836-82sQ9dgo5M7$fX6^nu5dE?ZBMuJuzjHF>7`Kh=t-!2 zd*10^g_8F+l>CpN;`Jp|Ijw(&>qnsCHwwz#WTqf>Q0dy>Ol!XdRD8F0+zBea#Zcky4i(;>&V07hSHc@GUk>HJ_gU6` ze>fQZ5UBbx+UX}b{UT`c87h6Nq2hZWRK6VLcp6kZE`}=CYoW&RJD}q80#vwfIQw^D z5&F-eOLfMaZoD7wJv!TLY3>99jvrj<9uMH|c4u^`@G0y%JDEa3& zUIbM?uXMZ)s$X6Q2f@do^5<=+a`?uv&pEbU`B3d}6_meg;6CtSSORxA*V-?FW6+=P z_#_;H-aF5_+X4zpvwPW&irer`s7{W z>M>OL^@l3&!BF6FznU98&yNlCLf~p78oq0Kw`zmL?5~{pwpyahW`` zE{BIh$$8b;e*oqGbEtCo8g2*|US`9shD!gwa1?BSYB#4s$-e+9Jy$@*^LnWC-wsv2 ze}&t_7og;R4dwqkDEAv*ZvFR%a=!&sKR(>)OW^?YWl-su4;7z%pwdzA%+pZ*j)Zc5 zGL-yF;70ITsQh0C|cV@(7y-A!=kHfz1|;gg8o>j^qk`Km%`rYuXDT| zDxUX4$$to{oSuc-!vDgdaNDbygTOMV^d18DfUiP@zvVS{KXnCEyFLpR!keMu@ha>M z{{ef!Pn`MJ&iub{W6XPBYs+Z>l)GV2@hWs24>v_W6Dr=7un(+;avyPQgsLwIDEDc{ zL!JHa98ZOka}HEKo$vHFI^F_RPIo}1;}NKMJ_Y;0m!RVJ4=DRDpzObgec*=IS^EJ{ z@!1|KK089y^D$8VWyS|zyf#$RCwzg zZ-?@CH&i)12IcMrxD$K}%KawS+i?0q<>%&5?zV>VH^S*lp~5Y5oa{K=+0TY@zc*BR zRzjtx(V3^A{2$_YI8^+Pg36EI!+!8gXMQT_kA6=go^JDQ28_lDj&*VKR6wZU61+%*TN&#*?j-;X1lL4 z;)&`{uro!>mj%+d>bkrLvFR_Xxl@zzvXZ%*bL?VXgCI53P-``VG&&KHp@{^ z=~(Qz(lG)DVBP@bza0*SS3`}*_d)fO&%zzx;M?uGY9ds;7Qu;dB~*Ew4praJa`qQM z<;#^&`LYi7hj&5c<6oij`vs_UybXQ$U$_PI@38qe0V@7;92Y=^U*)(Dl>7jye4C-< zCY}8uZ~^+Gp~8J0s(jvriti^-{r}f+2pn*y&4)s$a3(|L`y99xTnQDQ3{tMV;I~F?gkZ~nNaz= z3=V=d&b|$9h5l%${Jsdv-8!i7?sn!6L6iSb;k*r%KOaD)<1488{XLYw-gjH`fl%?? z3M#+0gYrKP%H5t&;mwAMM3(;~Yu9L-oaT5w zR6MSPl6yB)K0g9gPA@^Z|IqO(sCM;VD0hSJwc+pNI2tORyFj_y11cZ(c3cIOu4btC z{|4?1kAe#SCYXeGL&+)qlg;M|Q0bfsO?g1&cO_K*?gMv+O;GMGf%1P9R5bRiKMP9kd?lyy7ufqD!h)0Fo^Ums1+Rp&;lE%R9QUvt z?^@s<=&ys@!+*kEVedz*+&$q`^bK$ucqNp)2chC$@Mr6OE4UN-1#l!x!%}!291kCZ z3U`CQ*!A9IsB$_JPK7T*mBW^g+VbDkaV}K+_JvB%*-+*3A{+<5f;+%be`U=C7sAQ# z0w{T}L%IJJ&W2k&X7hJHsPrBU<^Kve6#f+|{_n#=*#B{x?ul>|`o(ZZco^IdUJmzy z8$DtDS3>1eGnD*eq4MD>sQU6UoC-g2_G6y3^}5nA0VCM|9!k!qj(wi8`CABg!+ar> z{gF`dx)3V8k3o$G@4*uIBb2-1r)~dL4wbHzQ0X`ls(h}3Met2H0v0@D^I;4eh<+JV zeQbi0;0bUe_$V9zpMt&M+fe!OPZ))}J!|Xt`EWz@SHq3r4N&EBJ5+q1clIAa$@vTx zz;B?!+2A?Wys$Tvz7=i>4}xm1r^DXxI=BhE9V(pr;28L4cqsf9O77a{Z8*P$8=(Ik zl)sal`PoqNE`*YEHB`9koc<1Hf1lGo>i7(loWD8!J5b?$==5JZ{s`r+*9$gZHgg;V zmHw?9eYhF=kx=p69V$M1K>45H^z-4S=&K#~hw>ML{op}R@jo6aT_;1yITy;`B~bCa z0ZQ&&jvY|`9&>yK%HK;+?%#C!4;{aNlK&l)oQ+DybPa{_zXO#0C@A^6LHR3l zoayW<9GAj!?DvPJ9>Fcp-vA}|5yvN>-m%c1h+dZ_%k*_q$v%pZUYFnBmFKnFapPg$nloI1si$xjPQ3yiRpIAF98<3QFGN zQ04nPl>fg&$@>5*{ogqL7s_3)*Q~$6j@!aMn2&&p&n{5m&V=&604jf~o%wPoIW z9{`o!c6bCl!kKUUy0za7O70d=@hWoM9ZLQz$N5n5s+@i$RJb*c4N&34oP8^l`-2^S z3%5jn0+heYq2yoV?AJl{KX<_)@Ls5NKkw|{hRWv;pwj=9)Bot$`wbiaK~QprL&@I> z%6&1M2*<-IumzUF8=>643FZFpQ0_m3itm?D>FE2W4Sz6{J0F^U)9H72oDAiE7F0Sb zpz@{4>Gy?m(AU7-;MGv_-*9{nDxIG|rT;%r?RVq1Z2E>m$=eyq-)>O#Y7$hrPlrm+ z-cap*F;snRf|7FxR6d*vhr-99{C@z|zkCW+4>o+;av)SVK2*F4q1^52^mCx{VG&e& zs)6#Kf@!f~^6MF>c)kb~-bYaR`EMwB-a9t``#_m*4&`qs zR6K_{eUa0bIF5%3cQRCbDxmUZU#NJsK*?`~3iohlegc%-Q=R#_Q0^{=>%(CV&5K<1r8_y~Cj5GajlvmOHM5!_YUw?cj-U3wS+L`8^C3 z?mJNN_y{W8@1ero#1QmV>+zn2GyTAh+FNI^#zXU^fHUDf za16W%M&UDXS2*cC`cT*cr^B0IE&LKH{>$FC{bL)Pg8p3C4qt(L!^Qt(Y=l=p)zb+d z*m-yoZi404V=$Q001v`g<2B z`SYRt?+X==I;eWF8p_|nQ2BZWoD5%vO2?KTTYsfc^;2328ymxI(QgC$ zz==@qX2X84!kO<2O}e4-<6x+8kA#x{dnkXWI-U!+L4OIXf`5Xu;pU&%dbR@2Kz|M_ zg0DlxYm-l{{C-gS!BF9B10{b1>hyD<@?#-XJeNR)yFXO8QKwHh`!!B~I6Mmb zABEhiVr;I{nbEt$q?L!F&ZQhsVM-@L8zz&;PgW zM^?b2(H{(VgByKg>uVWIps$9C*Mo2|9R979zXqz^oBf6!i4v&tI0>pe z&VVY{bD_%h5~sf&svK{FD*t<++}{sX-yVkY_av0O7oqCGYfk?jl>d*N`Ik`ce{|-( zez4`=7fRj^Q1+vt>cehO{^vlon+mA#_k(g*3+1lK=?{UDa}-p$od^}LKR_Q|0@ZFF zgmU*3oB&^j3TNPtHlMeG3(*%sg}VkSykns9;Uu^Oo(ARbL#TZF97_HVa1`wQUt50T zp!_d@a=#cV{C%MO1&%FHVq3YWzD0gwVA3PB51OEm~;qL3L=QY9xsC;<} zDt*sE6CWtK??TD@1gczqboxH)uV>P?4V3*zsPM)+{S2u1FLL^QpvL7UsP=a~917oo za_4Pe<52(=Za*mVEgXlz_0f-lN_Pny4X48GVKemM32<+CJzNXD4c9aKmIuOJ(B27) z;YU#Ic;^<^P`~Z!%0x(aTb)jE1}Bs2B>_x4=O*NfXd%j zoc;|c{~tm5`x2_Yd+KWAPK z72j649y}1L91n&{@1aogkAjNFagL`so)49OS3Yf$q3 z0pVrz78th4?)H6IjHd7fRgtfl)R6f`PWeHe}oFR@21xM zASm;pQ1QHz$RCH|CLYZjURGlG9gn^pZcpUK@SKi*sj*?bOvWrj{UvUr&g^X59EqFv zl^A}*dH#Z$ZqxgtGrPmdUeEDtN4d|SJ|DNsc=TI^{v&69r8Ua_ZNPl2(+zX{&bfVy zu-5RjA?Fy(HsLvqXBzr4-2TD2Yld&&ZoG@zspuQ9-ye4wCsR=0Jr_53!ribtoTr@U za`bKZ+1$x{3BAVa!>~(Y_8<>kw>N~mD#iaE&fVW}a~0(V15!J|7Y;qOSycX#?(FpB-ja0y)J9GwRHIXC;` zzKLf7PYSc&^+{H(Eky;I8XR1#Qd{7z07aG z&&8NOgZc5OuSfkao)dX0(BIFK|9c1XIXwC`T6jgy&F^6ny93}n>_(%0%(*!U`Frvl z;Pm5B-@@}(C+i5*`faODgF+7FmZR~G=@A5o^`mgX$a2U_csP#*u4u5}giWQ*& zY{C9&xgnfmi04+s=RMT=3FC|kqPY|MuXsMh>=68H=iJH3PEM^ghJLr>?qPU0)bA$j zpL1~;hWd{@L$SM;=l495(ci-}n@7J1JPFhr;Af@tC-bR1XG+2EP5d2&-2&7PqCOCA z0iSd-2D_6a;chV&pJU$v7sx#_^!pcfck#TAnU9_!!Yjk>x0oHlb2Cr)Yr<|hPXzlNpnjji z!{E-C?cvNiM4me_y9)nsL$OA>H$@HXsw^L&H*BJ^LO z{uDd?YI&YT?>ku)m>=uZTVwtx>Wg_QoSFQ*ra$~H!|l5~?^~@m2>0RdY1~hCe&*w5 zzO(x?4k|JK2D3WUFQ7gF^?ELCf5+VwJhOP7!fpz7|8#x>)HmYi6P`P;`vU#`Jb&l8 zgGaxod2V!S%{8Xu_dVR+$Fl(S4cPUOLw-A;UWeJIs4IES#Z3**8K|FeVWRY^G20Zk z*PwnB^Uq|+ua}GS7tZZu%wBTpXIva!$&+(AW~cKs^1OrF4e-AY>YGq&Uh%$j`(Mn$ zUp?wQLrorU#e6N#EX+1^@wm(Ry9uV8T3%k^ISJW6Vpc_3!r#%T_r`2vp7TOO*zVjc zLS2d7-<5vC_#5g8JmK#k)c;2A+ZY7Sa6f1Nue@+(JG%tj4)bz&DBRYiSJu_2-@j2Ce;7&07 z?TX?9%=%+C0(bf)QGbQmVdw{2Np9@_+qZxyY8+{#I|V!K1Elf{lc-y8`;0R?-1$4i=_eA#D4xf8&cf_J@FbqAP_GZ4<{3zMGw?SZ zv!(D_7w@aEo9EFuMYLDP`^g_8u}D&Hg*1F zz7Dg0@U-&8o%zP3VKej(qdyuq51{^xXBLls8)N=5>TQs@l4lpxf5be3x*7HE*w^zs zjQVoS^h?7>(Chbz?9lh-8IAe{%(umSFZdVq=kn}>-Ag=d6_{_hXsN*T zK4&%<`|VKo#%?%l#r{P&5c3s0`hDwUO1&X=-@ykkI}iIZo_F%>ha%^5?4QHzOzbX# z|ByTQF@BH1ZUm2h#h71hmEP{yUCOgJ?*4+=9PISl3jMvX4|4lrzqK*7e|AFOiv7E| z{TB6HjIVV5`l5ajyWe203FbP~Tf^_9cfTc={SEcup@HM;xS5HZZFs)K&9gig@O+H@ z@12`9UHtqNw{PGk{9T6rRy3Dl_N_DA1pdfVg#7z4zXDD{KNPo3sPli%=V^|`Zcp44 z@B};uqW^bZSf}Flee|bbw+(5046b$di}Ktxpq_|b8}29O$-mcyT?>ag^@Z?Er+xw+ zg!{kYe;@qow-L|z&i(?_Tgi~$Y|Q34b8A9f#LsbP4#fXj)Ccp7=eZ4c5AtkHd?{uE1Qx{|Y2c9D^8^H4${I|d}FbjXz;kGaNvJkdo zKMjk1*uMq8$Lt5^a4*y|coyMC-}cn+w-#QV++n^7{YcbXI{D9`e;56^a1_tiJVUVi z6u0m2tmHWveGE6-^XRuXW=He%LH{E9xv(C-0&m28IqH~`|Elv-f!V=48@YIWjQMKx zb8#R3PR~>S+xZ`Zy8|)*8eR?uW4?oPx75il2?f9tdG^K4BhKy(+^%-ALTBZet?FX- z9A>?EF6P+-yJ_$RJlqbq=lLh-0C`=1)BOonzsh55LF$d))aj0}pX-7U#*4^XD;t z*7@5UcPCvs-3Phntwi!+n?Ca#_rp#B{5eX(D|b1lyV+<%YxmZ&$vZgbQ% zsP#JyyH_!*hkIEg?>O|c(H{2rSnTvWlxG}v)#&fW{2$KUtC(Mj z*=^DnOlt9KW06#9&*6VzMSr_zyF%&$o#nwlfYrdW_pjrQx3kp@5A82GVh zyva`|{Psj9nRSyYNGB4pnn-fApGf-2XhUPVxHcB8#bxLv60h?kb#;C;{Zrp1enp~9 z68+jpydV|Cf?8bRGcOK)eKOJPN8;^%OQaznmc~IUnhr{Qyr%>7k+h#mGzWg7UY4n# zAkTlwPX-5MqRGI7Ljr07zcm`PMdLPIlH|hhYZJ{anRJl!>w;9YAs$Hwbp?@>KRg=8 zFdm5w_Y29QTsEZIQ|W-n)ip=s(NsDaNs|lFdJ|G48N^2tuM8na>kCY_W#vcng%*`e zDs7ou;Q7QgIL`v zC$>40N-HZf@#q0AE+Y!-$gx$%nTbJ+nv`iNN-16nb5$}(Wn$@7VI0#5aud7eL|qUI z1-C`hjg%rOR$eH?SfnP1Autk429dgUKUhOv8=*EXNN|x#)T~wwG9vQw1xe&i5yhGa zY(^RpidH<+ToWXV>Tr^7Zy~=hQ;i5?Ly0v9@w7Ew8{n{}JslWFS)D9RQnCrNH94sB zrqP~yv>Z`r%CV?qY`tF-jm4sgIFf$ethpO^-I=A6-8jq{ru;e6y%8yYp831L{LQPy zCMKy|c12oRf=E*BmlBWonPjXbl2()OZH{}RN##$oa*P@zRnk<*Y@Uo&GgGFTs+nIU zaT}>k6S%E1VKoWMz;9FS?9szm8oH_%d1!o6tZMr*N_mqScb%-}l`5N5in3r*CPs^! z=FdnZGw}$DOp0dj>K@&Rw5n7;sdUp8c+(=uhDgSnW}@m)=1r@kxasG@%4jtygK0G0 z#vp0b5v#^sYmlr-q{6BuOPXlt-5)-p&}ME?YIq5jt&w;w_K6l{5MmoLkyI_c0T~&f zjn+0sy=hI+G>M5t=uXqHCQ=(vTcwCcBXLznJ-*s0eqzl*GK%}SA0(4>CW+eGOfpFz zZH)olY%&s0(Z|rY*`Bf?ppQ+{)ld)ANmnf@pXs_>KWirszG=5aI$lRdl`=uJn?Sv3 ziRMI-h_>tc2P8fjsfpGK4Ky~;O7h*%V0vneMQvoB(nzO7?wO>9Wf67@6iz_yw*+;o zvV}CoSJv7gh`u=%OPDbx8N@V>F#ZM2^u{zxH6km!j%xEOLeHkAYcy=wsUAXhwv3&1 zN<@?a`q#&03NdS-ZbjokB<@$WP=Qj7-ZXmQ8nS$}Uz15w7lU}pp14gSO{tW6j z6^gpsRqt12l9U-T;QbkTLzF3ES=NfTyrGO{)rqbu?&6Uj7Hfyo+v0)_)&Z9D;@gxu)QiZ{em z<)&w9mHx&^v&+FutU>vT2O=88Rq{reASLZ-3U~&+9{oP7GrGFyTGY)gL2YAzBCgp| zSYyzpBQ+|f83>It?=Y%Zs)j1G$kvP*5oUQbXPl(c(HQ*=4QhTsopA=#2!8?HbEEt+ zr6F#H302$~G@@iA=1)&F2F*%&DAk!))h5y=4Ksoao%akgRdZmx3RO&qm|V7(YRF*C6{(&*jXO3vxMjXIqcJcOd!}YJi8Y$%Y7__ub4;W0 zh`|8}2tV8P%jd+bc#>EwMG$fB$L~E2y(Z)=Kf8LB}rp}ZVQ^^_X4}9BQs!h)@OA*=!y?DZzn@DH7#@b{e zrI}^SbY4i0wY8I*2}G-dnvsYxy9Uk8k>XU)5}{d`*qJtpb32oP@%ktOUzq=7a)Nfu zAj|}#E};n1jkPHpRUT>|6H$hWs#?Z_b}Z>K+Wl$NlxTBSmu!wSG={pFi8j(>-OUcL zisxC*PteuUc9V2F&P{cDl1A>$NG52=s*sr=uGYYO*VJ|m^zn48otUnrVR$pARnMv} zUodOc?1hUKOsh8ftePs#Y{;8w2Z5Q?@fvzUJ8Qs{L9)Ld81FebrgoWbUXdAm}jZ=4yVnM%$KTIqFW zYAYa0TxJI}NxG$(t66?0^0x`pIXP3a|6n5Q%}ms0v@oK@%06G0zav7;?qsFz+ay~X zB-q8+E18$6VR|t$kxT_?Z>E|$W8ch7bA2*OeNrDZhf+wiMcOfqM^U`*(!=N zmQjMX!(p^xL!<=Xzsgs%A)3}0MvmKcK~_$J%J)Bt(N2~&K=QniGi?6^X5ncXN}6bs znQW0n*0A@$3?oVHWYXprl9h78AkLIB-B?st)LD?-BXUw07mXN3vuJvi-D2oL98IDv zbn$Z{UBvz`B$8~+MRHNI$uq`z(Mfe19b7e-wyQ=!Pe5Z}zmLI$2G~VvcNv6t#$wY= z{i0top0(y~ex2%p-=dPKWtl3m)~c#4sMFk4R>VM-8XweCQDvIx2$$)X^RT$2s>H`F zBd8iN133LglD)Z5Vofy3c9Ve`8=;)O=LA>qQ}m`uF>TtkU*l)lvSL#5>s&5V!hfaH zY)0YdS9{5NQk?R zrzkiLev}=fJ%z?jyv=hI?3Z9rOCLl>n)DmnTiCA2D_tv$eH2C^8bnp1HcDlz3g~R3 z%rYy?mZu`B1i5Sr!jtdJSyVH)MUL>XX`Gg@Bx6?dw7za-?R(r5p~sG{;GMvKd< zZETg5=GQq`8TAx2)8x9mOej}BuZ^_)WZCK_;XO%dq*K<)ZE^KaB9~|7SLfO}-HOdC zn_peM&5p*kpTenyDVtPSHeK75ErmH|zVAm_oO3MD&S6Qiu5$uRuJ9+!p&WZiQu*|0 z70T2_3!Nw9qst%XH`^K6*p$z3VRubbd1dQv;kf)0JGN37rrE2psi+9`qZBhY}(_mlm6>mcWk-8U{P-mEq33&(;oe`F~_GU-z0 zUTIcXr6Wt&(QVRcqgHweyI;d3piZ+gEuY!bWg{C6o8&3(91vJmRy{RCYw=VlZk2Q; zjp^nXa?8~?nIA+`+6dAK7DHm)Xwzogg#xo5$^_gWnG;nP)JNC}b5aP6)p~QJj_Hgy zJE$qqpJaxuZEv;?%}p1;-VqzW?iAe}ZyQ_Yjb<4f?x@X<)(7~bhH|dkC>2vqU?wRr znM#lLnS7Y_Pq;8J*$@^(i3afaXx)4mX-~K!HHahUSP^LzOE#Jv7k7S1d}EOY^T+MW zviIUPic{9uWRf$&gsl~`(4QUCjwTu3qBVEe{$?k%$FA*IE+jBTq6e(d`3pxbSOx4Q z`SXHyu5XYh)C5w(u_i%M!NN^DGm9^h^M(Xd?zqxo2SDwxPx0-N%ouj=tl1D?CuOwB zkG4R`clO#cN@mP4vE5{6GsZ;S9+1&flMTs$lT@t$rQ{3&MD<*_oyc?)aN%q6R>A-q@;UTSrG4B3o%$#xdY#OT59GL+#-3NqZ(J%}LjsARe%L zH76kHl5OXk-kfNChCi$av111~lLCnh8zx$inB%ND32%-&zL=AwDH-4N#TF!Ic|k+H>$H*b7*43WsNFrDdQn%!jNXlupj}6Obg*>kR0P^kXnzLjjIfIZcwsv z4w6ztTQX~#60(geH`=JR{B5VKNpHuct+AknRC;sS{ZbapjWnC{F4$s|G?#W1w0Uzm zi=;zw$98ksA|MuXDU29fV{^IaWWBR*6-CP_g30~4tlL<>dvjxnMvgdYy}5}dPVwsS zlAuv?9vb(D>u4aEhz&P)rqI#9#W@V2N$MD>mYyJcR*~DZGL>a62k_q9WQ1*}@EB=s zCWujXfb(d;{vq4`b2A(>YW3&MZBG#4^2%^#;gxe+E7BD8%EKACm+O$&VB&~JossE| z*;M7$P%*=)nr`m!I&9jyMrFD!)4fR!tt0Fw;_WnGnyHx$(B0WZvS~i9QD={R^7dX+ zEsA~!vwF1Y$xls$n|t8_ zL^$yer7Jhh>0oG(y~&}jG8b0X*v*Z~>4zGaL2zsux?x#bXE4$B_VPzh*D z3?F1Fc}*I*HRn1;>OG~`T*9feyCh)_N6bkf8=ktjMl{;gL+%x!5$;7u?0!HBff%}eM4(7Xg@9HP%-%%g73OQe{r zGKWqyagZ5=`tqzIPnAKowzaZL_VVZ|^nj>d3bDSRw7!17miMqA?Q8(w{ zQ&vvHgi?mOd1;l2CU%>n%4Ym$jJMbu6NnR(Vn8<=jIo`>cdv?v1-O^o~{ex-Ks zIdP4fzSkL#*4!n*;kTJ8sgl`Ai0){aSdxy>tIX-QXw;M#6Yc5T z>Z7|&nSj*%!d>OUMYHBCtSF-5nmufDbUo2*5xHX%7D`zu(+$w zWvBBMk#=S_X|E#4P^MhWL6tkr=%i6BbS=Zgx|2(^713ye>PSVDHJ$xS z1UgoJJejp~o*H}weuBL4RrMuL1zEEp-T_xDAH_h8wGy>~wn}xkV4A zobS|uEo@-x6@H=V`HQkP?mB;0ecnClu2x;&6Ud70 z)SR-WnnI;>GK^LuH~T6~**ZJx+#l2u+jmDWoRpxK7=4)6=xHlc>m&fS1EcZ{-*a)?$NB8+>E7=X< zpK)!r+&XWA|D0>PW1e?x)s15_m!9Z)QM2M?H;ny!Ha|Y1NK`+oRdh z!_7H3Xk^BuiyQ2mWb9akiZ0WvRownk5eJiPY>+l)^UJ;&f^<7|`L$yHM-SnR?C!!g z@l&+92jE^s(HPwMJ(XVw&n$Oz=YuVtZk@98KsFlt?viS(o&O%~e@T4T@R|QJ`*nYE1x zUQeN#<)@hr*0yJR1cV8Tly-14tv zfa6sFi*TZdPMcveHJf6cqs8Ved;Duj30KT(qb*Fd>=yO3@YRS)=CTr+32Iou?9Fy& z$5rG@0wtLhiL+WxB)mm|+0x=nKriG_)m?I?gf`7OvdFjbTeOa=%{s6*uRA%B9jm)^ zc0FKc8QMX2YlTJTx;D;qYuofXCKE%0>?V(kO$rP1!ew2Fzw4O%J8N_%^#Kde5~gPE zQj0tBVY=u~EiEY>Ra#uS%4|NC{4Y}Mrk1_em=lw`Er%@TD1QEh`9(o%hH0Uh|7v<# z%zR7d3fg8`#6~*ner`l2=s0mi4Kd5wMTxa>t(6vK>=9=+>2`^LITfD;*`mzageIa) zEUF?AJN>QV&7(MFT*ds1KTJHCa#j(j`9lE22JKq29bH9dGCxBJSF(SS>bMRYs)0Wv znOUoItZHp9>CC1olGc++YC%}VonrIHv|e^cp?&X6HnvIAs-kgT7161T_MEH@FGW&$ z-9~^#@w7M#0;H3R_4SQv+;M5x9%zd;6tl2k*~elXqqg?7z#RiraRZ;Fd{xk3*6>yK zonGd3S(SPmgzA+RXBNKJ$_qR0?GUCTdV`?ayxD86$B`E#hN_W0-OjC;jcXQ`UBuC( z=$=cmeY=j_dKO|`|BRIX|Gb-|*f9RLXs|oo^$k+9ACZY=-yEzmn=|~?YfDw^8!0PV z?3+}mk~ON6jy^kQDz+fWLd2hCCNGnM=E;TQ#*8VNREjFJGc%V?8s9j=h?_U8cB;6D zt)`P*=~OkclE#?k!}1iaHHTAG+$hy9J0>XH)!*`&Mym}{y+cB0A5RyXMX)5gw~Dzc z^Xs>4s~UOr#4b$TK8RPvwjOVgMHv)$VZ`hYSJA}TGsB9xk=Yv7ZEd?lP}M}wtSoHm zxJ(IP!ze-v24t$W=>qta@1nFo?&a*w|aXFdC#2P06+GDK=@ns*c-O{ZsYLZb$yRG}S71PAsbF z@-s2U|CE$mq_5_HT5qC8P}v>J>VPYt8Lv9veLn1iHEEBYBdR}4qM25h2GMDHVXW-= zvMJzJ_3L?tZdmSOs!2pc7c(?+9*Jk3_3cDJZ~#t+3tn>26j$}E(}WP^*-wHiK|H|ifp?-H3WOM8x7iFG!^WW_rp zo$gI_e!qr6l!>*jSn51aH9kBBQbEO*>nHGA(ZZna7n)L;H5R19=YlmyMoKv=xhlkeP zUnA|tM>NhkhPi%kE`jhJ2x=O)XPHZ|cf)o?8nIkA(hS&i%(@($_w5Lqh;V^M712Zz zkxeFJ+(L1*Zv3aBHS{gvLWn|bBTQ`PFds3!5MJ8cJL^5C?GGUXYW+XbL^o$dcF(Y*81jX-;Cg5;~lk^`&{v)R?vE>5al%B+=<=hk92AFa9j zB2LQBJ6|!y)Wv#t<>rL!5lnYZe%_W2TDt{le{6XC(`__xW?m=CMn~b|CAWg>l&oy@ z%`FwT_;W6rnMyX=K-^4IAAQNba><^VS$g^{Z-LVa?wI&aoNyD*labH}AyYu6-o7&W@{ zX9#}Id8h9c{M6ykroYo0FnpmZqWhPsG1;q_rlPi!x#TO8Ddy<ztZvs&*J>Q9+h9gD2tvnsgJg$mAst2L+LZ+O8DRXaX7?%`HfHJ1irG)_54Q=jDA zoF!GWV`VNUaabBIJ*tyIO;meFDA)#yhcxpJHovNQ$C}Lri>x7APSuPPCKBfCR_8u` zb)b!SStXlv5vRJ9*UXt8dDUEXGZkd1Nj`6Z$Gp6^%nCJZWax;K+5!%%R*^^l>@9BM zPODkyEao0!r+57sAl%+k?uGxLzMf+Nx@gU)c@M$#?)JKj##9X^CEntAQ(SMZJBBMg zZ*hycxDc-VSut`!*4GfP7a+~djH3qbHqiZQ2I6X&Izif;ac+Bh?X6~5>$2BsWFVQu zWv@7(OQ|#$Q#6Z7@W_?Az_;&?D=|%j#$XLwPz=NSj+8uldNU!I6!9CALH(Y?!x6T0 z_+-~{geGSHdQxd*GKpknY5u64XBA~x6~ltmP@?rULg9|Zdhj)E8$TIMk* zBA7cnwQMPQOBkwIgn+b?z%eCCmg=_G^OmqiOvc#HYVek@^i8yy<5%iFw?Vxn?V4e0 zhti&zFX^~6*=&|Ts5F~)=gm&XdeiQQ8GX1~G8&eDb2@HgY0RqDTgsuSX-P{-eF`lX zb|b|LBFxumz-ZZecjwYe%{iOfAvJAWHDBsb6N;ApP(#4*l86W0enHgW~ z?Xac6NJ34KJ?&PwDv6sT5^u9B&vKR10>zA(fcbC|NeQ%cvCAOb5hXK^?e^ZWiEp+7 zyIEhC6_f;IC!Qr{rIH)(sFwlnU6B^%x8dB6C{SKO9s4WlrIrRUW#U%h*j&| z8K)%mxHiR7)ihTRObvEbC|vuf3gv1ppC}BMDQ5Mg;FG@g48jX=;S9|UA=FEg26xNN zU3z2XG{fG8GtJY@0qe|u2yIe(8B~0eINkv7yer`P0ODo3c=Kg9MjNiljU160Y1)hV z*o=u;{(+nwdvw~W0fxIe=DbzwolXaN;R@b`o=vY-fM)f@qLGCk;!VyraHpt|0L?h< z&e0epyZSaOZ!=rv_{>C23lVkDqlt?-!&P%v^QT9#FD;aL%Q@Ca>vr1;uDzr=mP?`H zidzI|vx#FU6m;U+>0A-mt2!&95iY6`qq(~4+3c;*yDeB7gj10fG35DX=Z~4k3S5MJ z{)$Y4w;~g*)3Jc*y;smna|*D6cQ)AQi7=mI;AO!SY&N`_+2MYb(@8bUS7$n z+r4Jy<;~R%wk3Fkjhb)Fv~ol(&@4J|ETMDJ#Bna)afVD9n68@st}>a>muHL1>x!9FYZJT7x8L_ESY$TYiWj6B z=pUzN8dAm8i88;Sa$$Ax3~j68wsFo>!A;yc>sk)rTksg? z4g-~dmkAM+Q0}&B9c;cnZAGvWZ{k9TdSLU~64N(MisCpWG~U)EX>7{U^(c|%6V~CU zriT|4Hfal}34hvqGT)i*v@@%i@f{;xx6+h`R6@myc;-UEE5`2g)x*Q@OwZEY3y!?( zFw^Br)7VHD-L~J*9%F5+%&v=?X%=SM8Sl6}8Sl6QM{G8RM`*f1rIuC1gopJzXGTf# z<(I9^hGTdL(M!-DHC7d{>V^!i#*8-Qzc<^$lRtFJ~pwlZG$ChM$wJ=k?Zr zwVtVL`if7Of~=xg!v#gqjPK3~Cnv&hN;@&iG$Y~{J}BK}rzos2lZ2CEDarBUulc5Q zD;pR3rZ2hM^*(^L3a_x~bJFIM(A*m)2rM&!`Nni;XhQB{%mDfmrwopYW6tHze56_~ zyZNYeajwp$Rx1p>-0f7bE(GF>%4DB(?uuEXQW;8>ETP#dL&CnYWM+YvLy)5x1=^XTaM@VIQZrd2(vp z(uDKBH0^{D(@;#;uTAr@Y08Nx(nj>nQ^khlPy4x#PP3k1W=##P;XNRyV6W0tSzB)z z^AnPy?@o7I7var+?t{@MC)lK8yr-w(h{X&TY^iX;i4`5?>|TOki^_E1=Bv}{nnUyY zfZ4M0&wOpVR)Xo**$oc6?C_)0vx%SW+*nvJFho=()sl%4n})yo^V4$@bxo_;Fk{D9 zw>VU^*?JY4nMz6bpV!(WbRq5w)XEjsVtPHH<1q8G>nuJ_&%R5pAJ>S%kVNkAtx#2# zE;B!sSofcx=G1`&VaFW|X1se%mDUVQWodge?g|;P+zWJ~(|oe;7lTKVOH-GKxR#38 zDgMm-fOEky{&F)S&?=%!T=-xEDeN&SxsOmYG2zu5_QK#*-uj!Ybl^ADeva~;jjA`b&7RMz4;6^U#I3CO`TD5F3^M^P7CaY z>vTS>%Uz{zK1VHgx$jYPeTFmL+y|+d_UO7&cORs7^D|Fhqo#xk&8d!^f8~9MI?pw7$PBo~qO<{UB833!GDn8_>_QObP#A!@!T z$%Kzo@xff;(L`js{S>ug-P4z-J1*+^;FZL#*OjK24X6S}zmoHJzW7|E^ z+U_sWC#!Acz#Ws$SWJC~l(*}Uu)eyBQomD7HZdX}bgbk+RTs#*#!+;bz<$l)O3@;Nf)7Ezm>?AnX$(reIMga%ZBJS4ltqYA@d~{)^ zai8y$vlsO|bPV;YX&6Czc(yZQYRyQ&y4TF^Jzm$d8_JyIMUaj`&)=Y~;1J#vi|H>p z&1+``qEECdd7A8Km7#Cgq+=XBg`G0i3~8Dzm<2|%hYwNDwQZ4}j)g?b&Pi$%qx$_xlPBHtvhb+{5@)hP4;J+8IRa*<~y%Ctjm30I{(Ac?u*jA z4X$QMed_#0X~tYmPg6{oO~yb*521)2azlkf{Q zF-k}4%m<{=>T@MIJ=YP` zmOmrPeKFej45nDeJx`D3x}}#LnN?{OOl>+`ZFKk1=+UNfB^pvx0qd`u(a?@&jQgsa zW*KJMH|<^Ll8lr&&$$8KCQ(}{Y#EvqxQSEOXlbbZe?0;-nQFR^Ku_bW-7bAi+q1J> z%2bInHC;1WHvaTA9^aHU$z$%!+>D(l*28Arqm@}!QdWjm?b`J>GgPziwH-p|^@g1S zXyOQ)>wvA=YH+&ip;q#MEKxbztG`S}G z)n~Ip>ZD7Bn-R&*u1v&iTFfK|+yC2-K3C|=)eIYSGucl+>w*;DdKP%QU*A~htoykS zKbz6RE_z&xWP%azxXi5lG)pyeGrsWLy~FJ6E&C1V&e6zy16m`t&b8~bTu>!3t*9}= zG?BfQIFo&S{Mqyvy8rwOE>ltNIGCOrNv5CuwO-7ZomrI3j>hcz&P0YyX4_fO2Iw{H zN1eG^!~f$!=9q@TXqfw+a~M5sjIcQ#ZRYzh#%KP=lIb*^1lzRORp|T)=TM5Wqe~2W zl0%|<6qDPf(a7EDqs>%FZ8&xEs;@SOG01sMv3A- z`3rto={A@J07og5dObak`8YEN1yl&$0}t)pURR23a5E`PrL7awwJ>sPo@8E3%=%%! zPis^%6%X1FcX1(vM02v^GOnvmNU_KvYcV0WrqSW~$xN4+% zYrVVNwfUBpb@%x{1p38e1+es8C8PB|z=Y1~cIrsB_6YUOS zH|I&=_SW3zHn#kc{k~bbZ(jOzz0jNeU^*i3=DHs?hxWKWh;zD^Eflx2yU3&4JpNd& znsnlBawcG=+-<?h1xXeZeWMk+z(?x9V_9m}(fHsew zCwJ`1xffRRXaf{o>Ve&M6_jS*>IJB|-+UHl2;vS@bBw>eOSF^QE1teyR2^$*$$p72kWVGj@2LE z@YNkW=d1g~LZNk4d~d_r6p_JQW6NT?Q@^{%&(K9@iYG@ZhJ_wtJM}LwqpQw^le9Wg zE~|&&EWRac$1l8AYeh*h>A}bKZqwGi-j&z8sept6&}tv+ua76l6Q0r7LkfxqEmP|HX=OBNA=k;UZUq@4*~FeetIur>i0g_o_vWhPj0-F zFojxp65k-V)iJueX=GBJu$bT&-%cq|s+v-wl`^hYsljh#g(rMx_YRrM!;DYb<#jOt zD9isc2Iy=t5Gn0&lN#EYbg=D)4?#QQm&4@;Bap9$1d|ld_ADAZ%d@m!-e0Atj8L2% z+ZmsvtWk7L%^Y75gJDF#Sd?fcTf*%InXDRkSQOg?cI2y}b&Uc4)S(PgN?GN+NscKr zUyL$$yLmIM;32lKN>2SV#gd9YmX7LlcwowLypa|3GmZeLsChgU796n0IPCEnMm9pA zJ4+AOVM6;avyY8HL*g$es$<_G9v)O4veExE|{+@8q`o|Qp8ODBoBIsugE0CX)eqWHEL#=NrP6gc_ zFE8=wiNV}8XO(z1JJ`IejKsGz;R%mWsBhs0KbI3lIF~qM#Yyp0cud||UbUB<%gxAX zKEOwB?w$(p`4cKV$crHs_H=<)7T>N^Eofm!EGB1g(U;;lCI+N9KXDxRIR0kb#^lIT zI}g8wNnv4Iniccxp6}M3@~F>^-V{ojp4~fQ$jpQS5eq>dJIJ$79y@8cTjM7|dmcM!j_Racri(O}7JW+xQvQU*M{X(|G*zkD z5goNLo@G7pPQZz|@+_2 z^^XPUnVjQoB_2xz8qPC4AO{)TbtsS4wTwf4f9sGWv*&_jv}a@)qF#9$q_E+wvm`Ib znbtPt{OK_VwXYtc(!OOEh3Kh`F;pd5XS?I)*~R=64)vIC7^&X>`l=zwjEX zQ>NA<3g+~VDjpL19|M#_X4XH=>j<#+Q5;!K|8PV^o$G`ioxpX*AfmrhmWd%mEAZPq zBC#Gm%0xZtfI=h9goTA}KngOuOSsT{Q<9K|*^n0tba5LKn!5X@#)PIc@wp=3Jo3>y z0fVm5pd}{;@*j4{PP0co+&oaCHT&zolU@%-v|)HDJQj3MLC+XSw2(7QSW7nps(K75`sEoa zIU4utAVs^|9O?aX@?ki$e(_8Ar6O`Rxu*Tzh!uUXwc~kdc4-SH8fxVre$Ly9f3JTyxs!gM zIXtv}xACFLwu4x36ign83@z`jhY!s~SK~vU%LM0R93T2~xhPoAL@@~>I`-3NXU5Ff zYMGNcI`r2p=FFXVh7lc!U)RNlE=-bpfIOodook}`(NX4!m=P>iG#$ApI3cFpf@Jhh0~j19eCyK9@)FD9tOv@1_# z8z_4FdN+kTJ$&lddQQ0fZg@+I!FBp&Lm|E3!(gO{p#^ z3r-t;bX+qSQm$-Sd$zP-<_*GkDu(op`gNeVp#AwunkVhz@Xl&$=hH3JiOJK*3`$ik zFgH|izdCjQihI>4X@u0&)Hjo)24T1cZo=1GizHzRpvt_B0@>mX8|(-7V{0B4=pQ!A zFI-}?Rp2PGG{Y^8K%)F#Z*YX3?gbWh`WZA!1XR>K2S2(45=3h_f(RX9>zZLB0Bf&o> z=;&A9pT8{HVFT$Y zqq=_DIXd{6(vogHStMF%Ne*mDp{lpw$nzIz{$g_0jP|>>hT|q^ku*Qu(WEDP~&Ivo%r}iuyOS}RmQI5fA zFO-2RzqE?gVO;4BiA^ru3%5Z0-MS%S^f4;Dd1dw}CIwX30i&OaeY`JhBKxag6UE9Z zVo^s-74>t>YDgL2cyl?267dwS!sEs_{&1g1;cREaqFPpvEesxK@mgnF(Wc0AJ9Bz! z%HOD&H@yETopDwC`a>a1CP`&^sNXout!i{}I*b8FgBXD2qfa-I_5>Uag~s0rK~In# z_AwuLfuG9uINXsWh{=kjup-Vcj$n z8<{~cJ6x2b9}>C{KatXdmuw;hSG4295F!ZQ0)oCg=+p-FK%g%VPUTNxuxiNahlU`a zH3e@K0eYYM08+;pr>P&7L!BX@EfKnf13g;^k$FikYAk5ghcHE{c6|{3c?H*L^dWZH z1%PG>HL^|k&nkS`*Gj$~?lYqVrBJ}nQ#?Q-ZmCX1h~~rdC`L7NJRcpnkfenGd`>M| z*%Kx=o}7H62#c~))tb-5aE*W_#~iS9vy?j}&$4y|vq;EqI>(Yst$GXKVnc79Y$ZLB zrWnMxyw3v_BU*zy%bHMr=Zhe7vo6@hNKArv-A0|7ZJYZA@8L!#vggh&Hb6UqpLn+D zQyCrDpGW7gl@;%f`HTr2sJG>oa`pWt`B$SnS^&^;LF8RlFatVQgv(??piF9YlAoyA z(#k8#aO4Sb|5yjSAO&vyg}<<=9T4f(d-wZ{iCWczyBpFsg+?@RmJ!PeUh+uIcuJk+ zm1Ix$#dop^rLe{oX`}V!=&}`@1TAyYWSmIAQ-P#xKsr?N@fvR-=Tn(}1~gIYPJDmK z69qwI)DYUU#-d{u(Ut|Pra-e$^O7?xj6B=~@lY|HU7|h|6F>QruzOoMBSyH&bFvB# ze-v0XnjP7Baj`|goiW>>u(i-MG(~zObE<@KG%W6yKqXq@P5~yt3lo?4^-;q_x!OcU z{9t%POG0K=5(@8M!tUY%?gBrPoF{@xl$J7-ye-8(c-jdHfH8e$j6EDlnmixT!ejLm zdSkYnCf@ap3};}gZ$^SuLfLAac?Fe*18f3fI85$t&9mBl(NO-wi;IL_MPNl z()g>3#9X3do+4oWClAYikPw_jhaGc;{*%3xj5r!i*$YVyn#$1T5$Z2nQViC|DqkmF zp4V)>s`VLa^#N{U)V#Xe{%)T?CbPEh)_fAbZhvHVL=~!E-Cj(d?0pOcop*h$ zM8FD{4CH2-Y?ZOfRU!h1w@LkS4^Gw$b%v62izSgtBt(;o_#?(?)#Abwlbn)2FB#hl zs2fRT-fL7SEEKUcU8IePeL?tsj!ctu4W0`BwYzu;YdgK5MrZznM6HeR%--S<%Hr4Sk2qb`mc!VpDeQY5S!~X**yuZ z8K7buj6z}Vpfv-m%&BRBG$#+Vd5>M@z{(} z2I`w4eNjx$#30-vTHbX&*Sg-}CHr6LIO$q#4-`e77Mp}fX4SGCG%Mn{1d5(RdXi|z zB@zp{u;*EXpO#)fZCG}MNv%_SX4WYs4B?iSUI;iW5>EfbZ}4OJ76*SBqs{yn2Bloy z;AB7F6oUEp7*vxlNKBWtHXFxaPT7VjvXD|Ab7IHUAk5N=8EiXsGT*<$^Dn3f0PGg* zoXKO$BpA<)q}^_k6> z%{@|L5ua`YCjA7@si?OE2jhIcsb?d`(`@b87fzC{`8#`;LE}Bbz=jv&ovo~)DxwZ6 zQ!uFc6k|Xf!_v(x4b2!)L1c@xGXw$BV?66@XW(?Lq9)msks2s&XzSleM!0Do>a+UD zD|IYY%>kOt*FeVFr*g};LtwNZ=UKgzTS;!>AlQ5{bX!EY3#z0q3m^mqNFp8(=9}5Y z$r3LDBw7N4S?i5jghwEze{SUkJnQYkF!$JY7l|3IBuS$_6tncG4i|)tnvK~( zOoqe{{3b=+z?{7xZt@)V%EMdu%;(_QFxW$K^nEz?$$J2+zf^1j1;7FOvTUS|xi1eJ z+GKazdn2R*(3n*P5r5E(1(dCiWdpg>!;%E3=Cn{c;VRxm3#1tVfc#@>v36fVcg*AvO#23b89H%ijL(H%MD>%>;ngWQCg==%16h1ujK`vJ{pDw^>>9 z)3z)}+uOAqxApU%)z=x@Uii-F|N6INfBU~@)4ON0#a+~Wsd{vcWCqR*BRl^O1-p|u literal 0 HcmV?d00001 diff --git a/django/conf/locale/nb/LC_MESSAGES/django.po b/django/conf/locale/nb/LC_MESSAGES/django.po new file mode 100644 index 000000000..9f8f6d2e1 --- /dev/null +++ b/django/conf/locale/nb/LC_MESSAGES/django.po @@ -0,0 +1,5132 @@ +# Norwegian (Bokmål) translation of Django +# Copyright (C) 2005-2010 +# This file is distributed under the same license as the Django package. +# +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-05-15 02:05+0200\n" +"PO-Revision-Date: 2010-05-14 21:43+0200\n" +"Last-Translator: Christian Mikalsen and Jon Lønne\n" +"Language-Team: Norsk \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: conf/global_settings.py:44 +msgid "Arabic" +msgstr "Arabisk" + +#: conf/global_settings.py:45 +msgid "Bulgarian" +msgstr "Bulgarsk" + +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Bengalsk" + +#: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Bosnisk" + +#: conf/global_settings.py:48 +msgid "Catalan" +msgstr "Katalansk" + +#: conf/global_settings.py:49 +msgid "Czech" +msgstr "Tsjekkisk" + +#: conf/global_settings.py:50 +msgid "Welsh" +msgstr "Walisisk" + +#: conf/global_settings.py:51 +msgid "Danish" +msgstr "Dansk" + +#: conf/global_settings.py:52 +msgid "German" +msgstr "Tysk" + +#: conf/global_settings.py:53 +msgid "Greek" +msgstr "Gresk" + +#: conf/global_settings.py:54 +msgid "English" +msgstr "Engelsk" + +#: conf/global_settings.py:55 +msgid "British English" +msgstr "Engelsk (britisk)" + +#: conf/global_settings.py:56 +msgid "Spanish" +msgstr "Spansk" + +#: conf/global_settings.py:57 +msgid "Argentinean Spanish" +msgstr "Argentinsk spansk" + +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "Estisk" + +#: conf/global_settings.py:59 +msgid "Basque" +msgstr "Baskisk" + +#: conf/global_settings.py:60 +msgid "Persian" +msgstr "Persisk" + +#: conf/global_settings.py:61 +msgid "Finnish" +msgstr "Finsk" + +#: conf/global_settings.py:62 +msgid "French" +msgstr "Fransk" + +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Frisisk" + +#: conf/global_settings.py:64 +msgid "Irish" +msgstr "Irsk" + +#: conf/global_settings.py:65 +msgid "Galician" +msgstr "Galisisk" + +#: conf/global_settings.py:66 +msgid "Hebrew" +msgstr "Hebraisk" + +#: conf/global_settings.py:67 +msgid "Hindi" +msgstr "Hindi" + +#: conf/global_settings.py:68 +msgid "Croatian" +msgstr "Kroatisk" + +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Ungarsk" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "Indonesisk" + +#: conf/global_settings.py:71 +msgid "Icelandic" +msgstr "Islandsk" + +#: conf/global_settings.py:72 +msgid "Italian" +msgstr "Italiensk" + +#: conf/global_settings.py:73 +msgid "Japanese" +msgstr "Japansk" + +#: conf/global_settings.py:74 +msgid "Georgian" +msgstr "Georgisk" + +#: conf/global_settings.py:75 +msgid "Khmer" +msgstr "Khmer" + +#: conf/global_settings.py:76 +msgid "Kannada" +msgstr "Kannada" + +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "Koreansk" + +#: conf/global_settings.py:78 +msgid "Lithuanian" +msgstr "Litauisk" + +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "Latvisk" + +#: conf/global_settings.py:80 +msgid "Macedonian" +msgstr "Makedonsk" + +#: conf/global_settings.py:81 +msgid "Mongolian" +msgstr "Mongolsk" + +#: conf/global_settings.py:82 +msgid "Dutch" +msgstr "Nederlandsk" + +#: conf/global_settings.py:83 +msgid "Norwegian" +msgstr "Norsk" + +#: conf/global_settings.py:84 +msgid "Norwegian Bokmal" +msgstr "Norsk (bokmål)" + +#: conf/global_settings.py:85 +msgid "Norwegian Nynorsk" +msgstr "Norsk (nynorsk)" + +#: conf/global_settings.py:86 +msgid "Polish" +msgstr "Polsk" + +#: conf/global_settings.py:87 +msgid "Portuguese" +msgstr "Portugisisk" + +#: conf/global_settings.py:88 +msgid "Brazilian Portuguese" +msgstr "Brasiliansk portugisisk" + +#: conf/global_settings.py:89 +msgid "Romanian" +msgstr "Rumensk" + +#: conf/global_settings.py:90 +msgid "Russian" +msgstr "Russisk" + +#: conf/global_settings.py:91 +msgid "Slovak" +msgstr "Slovakisk" + +#: conf/global_settings.py:92 +msgid "Slovenian" +msgstr "Slovensk" + +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "Albansk" + +#: conf/global_settings.py:94 +msgid "Serbian" +msgstr "Serbisk" + +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "Serbisk latin" + +#: conf/global_settings.py:96 +msgid "Swedish" +msgstr "Svensk" + +#: conf/global_settings.py:97 +msgid "Tamil" +msgstr "Tamil" + +#: conf/global_settings.py:98 +msgid "Telugu" +msgstr "Telugu" + +#: conf/global_settings.py:99 +msgid "Thai" +msgstr "Thai" + +#: conf/global_settings.py:100 +msgid "Turkish" +msgstr "Tyrkisk" + +#: conf/global_settings.py:101 +msgid "Ukrainian" +msgstr "Ukrainsk" + +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "Vietnamesisk" + +#: conf/global_settings.py:103 +msgid "Simplified Chinese" +msgstr "Forenklet kinesisk" + +#: conf/global_settings.py:104 +msgid "Traditional Chinese" +msgstr "Tradisjonell kinesisk" + +#: contrib/admin/actions.py:48 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Slettet %(count)d %(items)s." + +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 +msgid "Are you sure?" +msgstr "Er du sikker?" + +#: contrib/admin/actions.py:73 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Slett valgte %(verbose_name_plural)s" + +#: contrib/admin/filterspecs.py:44 +#, python-format +msgid "" +"

                                By %s:

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

                                  Etter %s:

                                  \n" +"
                                    \n" + +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "Alle" + +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "Når som helst" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "I dag" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "Siste syv dager" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "Denne måneden" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "I år" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 +msgid "Yes" +msgstr "Ja" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 +msgid "No" +msgstr "Nei" + +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 +msgid "Unknown" +msgstr "Ukjent" + +#: contrib/admin/helpers.py:20 +msgid "Action:" +msgstr "Handling:" + +#: contrib/admin/models.py:19 +msgid "action time" +msgstr "tid for handling" + +#: contrib/admin/models.py:22 +msgid "object id" +msgstr "objekt-ID" + +#: contrib/admin/models.py:23 +msgid "object repr" +msgstr "objekt repr" + +#: contrib/admin/models.py:24 +msgid "action flag" +msgstr "handlingsflagg" + +#: contrib/admin/models.py:25 +msgid "change message" +msgstr "endre melding" + +#: contrib/admin/models.py:28 +msgid "log entry" +msgstr "logginnlegg" + +#: contrib/admin/models.py:29 +msgid "log entries" +msgstr "logginnlegg" + +#: contrib/admin/options.py:138 contrib/admin/options.py:153 +msgid "None" +msgstr "Ingen" + +#: contrib/admin/options.py:559 +#, python-format +msgid "Changed %s." +msgstr "Endret %s." + +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:845 +#: forms/models.py:568 +msgid "and" +msgstr "og" + +#: contrib/admin/options.py:564 +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "Opprettet %(name)s \"%(object)s\"." + +#: contrib/admin/options.py:568 +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "Endret %(list)s for %(name)s \"%(object)s\"." + +#: contrib/admin/options.py:573 +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "Slettet %(name)s \"%(object)s\"." + +#: contrib/admin/options.py:577 +msgid "No fields changed." +msgstr "Ingen felt endret." + +#: contrib/admin/options.py:643 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" ble opprettet." + +#: contrib/admin/options.py:647 contrib/admin/options.py:680 +msgid "You may edit it again below." +msgstr "Du kan redigere videre nedenfor." + +#: contrib/admin/options.py:657 contrib/admin/options.py:690 +#, python-format +msgid "You may add another %s below." +msgstr "Du kan opprette ny %s nedenfor." + +#: contrib/admin/options.py:678 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" ble endret." + +#: contrib/admin/options.py:686 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "%(name)s \"%(obj)s\" ble endret. Du kan redigere videre nedenfor." + +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Du må velge objekter for å utføre handlinger på dem. Ingen objekter har " +"blitt endret." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Ingen handling valgt." + +#: contrib/admin/options.py:840 +#, python-format +msgid "Add %s" +msgstr "Opprett %s" + +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "%(name)s-objekt med primærnøkkelen %(key)r finnes ikke." + +#: contrib/admin/options.py:931 +#, python-format +msgid "Change %s" +msgstr "Endre %s" + +#: contrib/admin/options.py:977 +msgid "Database error" +msgstr "Databasefeil" + +#: contrib/admin/options.py:1039 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s ble endret." +msgstr[1] "%(count)s %(name)s ble endret." + +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s valgt" +msgstr[1] "Alle %(total_count)s valgt" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 av %(cnt)s valgt" + +#: contrib/admin/options.py:1118 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" ble slettet." + +#: contrib/admin/options.py:1155 +#, python-format +msgid "Change history: %s" +msgstr "Endringshistorikk: %s" + +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"Vennligst angi korrekt brukernavn og passord. Merk at det er forskjell på " +"små og store bokstaver." + +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 +msgid "Please log in again, because your session has expired." +msgstr "Økten din har tidsavbrutt, vennligst logg inn igjen." + +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 +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 nettleseren din ikke støtter informasjonskapsler " +"(cookies). Vennligst konfigurer nettleseren din og prøv igjen." + +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 +#: contrib/admin/views/decorators.py:66 +msgid "Usernames cannot contain the '@' character." +msgstr "Brukernavnet kan ikke inneholde tegnet '@'." + +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "E-postadressen er ikke brukernavnet ditt, prøv '%s' isteden." + +#: contrib/admin/sites.py:389 +msgid "Site administration" +msgstr "Nettstedsadministrasjon" + +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/templates/registration/password_reset_complete.html:14 +#: contrib/admin/views/decorators.py:20 +msgid "Log in" +msgstr "Logg inn" + +#: contrib/admin/sites.py:448 +#, python-format +msgid "%s administration" +msgstr "%s-administrasjon" + +#: contrib/admin/widgets.py:75 +msgid "Date:" +msgstr "Dato:" + +#: contrib/admin/widgets.py:75 +msgid "Time:" +msgstr "Tid:" + +#: contrib/admin/widgets.py:99 +msgid "Currently:" +msgstr "Nå:" + +#: contrib/admin/widgets.py:99 +msgid "Change:" +msgstr "Endre:" + +#: contrib/admin/widgets.py:129 +msgid "Lookup" +msgstr "Oppslag" + +#: contrib/admin/widgets.py:244 +msgid "Add Another" +msgstr "Legg til ny" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Fant ikke siden" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Beklager, men siden du spør etter finnes ikke." + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/app_index.html:8 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: 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:5 +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "Hjem" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Tjenerfeil" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Tjenerfeil (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Tjenerfeil (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 "" +"Det har oppstått en feil. Feilen er blitt rapportert til administrator via e-" +"post, og vil bli fikset snart. Takk for din tålmodighet." + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "Utfør den valgte handlingen" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "Gå" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Trykk her for å velge samtlige objekter fra alle sider" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Velg alle %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Nullstill valg" + +#: contrib/admin/templates/admin/app_index.html:10 +#: contrib/admin/templates/admin/index.html:19 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/base.html:28 +msgid "Welcome," +msgstr "Velkommen," + +#: contrib/admin/templates/admin/base.html:33 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Dokumentasjon" + +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Change password" +msgstr "Endre passord" + +#: contrib/admin/templates/admin/base.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Log out" +msgstr "Logg ut" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Django administrasjonsside" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Django-administrasjon" + +#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/index.html:29 +msgid "Add" +msgstr "Opprett" + +#: contrib/admin/templates/admin/change_form.html:28 +#: contrib/admin/templates/admin/object_history.html:10 +msgid "History" +msgstr "Historikk" + +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 +msgid "View on site" +msgstr "Vis på nettsted" + +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Vennligst korriger feilen under." +msgstr[1] "Vennligst korriger feilene under." + +#: contrib/admin/templates/admin/change_list.html:63 +#, python-format +msgid "Add %(name)s" +msgstr "Opprett %(name)s" + +#: contrib/admin/templates/admin/change_list.html:82 +msgid "Filter" +msgstr "Filtrering" + +#: contrib/admin/templates/admin/delete_confirmation.html:10 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 +msgid "Delete" +msgstr "Slett" + +#: contrib/admin/templates/admin/delete_confirmation.html:16 +#, 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 "" +"Hvis du sletter %(object_name)s '%(escaped_object)s', vil også slette " +"relaterte objekter, men du har ikke tillatelse til å slette følgende " +"objekttyper:" + +#: contrib/admin/templates/admin/delete_confirmation.html:23 +#, 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 "" +"Er du sikker på at du vil slette %(object_name)s \"%(escaped_object)s\"? " +"Alle de følgende relaterte objektene vil bli slettet:" + +#: contrib/admin/templates/admin/delete_confirmation.html:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 +msgid "Yes, I'm sure" +msgstr "Ja, jeg er sikker" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "Slett flere objekter" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)s would result in deleting related objects, but " +"your account doesn't have permission to delete the following types of " +"objects:" +msgstr "" +"Sletting av %(object_name)s vil også slette relaterte objekter, men du har " +"ikke tillatelse til å slette følgende objekttyper:" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" +"Er du sikker på at du vil slette de valgte %(object_name)s-objektene? De " +"følgende objektene og deres relaterte objekter vil bli slettet:" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "Etter %(filter_title)s " + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modeller tilgjengelig i %(name)s-applikasjonen." + +#: contrib/admin/templates/admin/index.html:35 +msgid "Change" +msgstr "Endre" + +#: contrib/admin/templates/admin/index.html:45 +msgid "You don't have permission to edit anything." +msgstr "Du har ikke rettigheter til å redigere noe." + +#: contrib/admin/templates/admin/index.html:53 +msgid "Recent Actions" +msgstr "Siste handlinger" + +#: contrib/admin/templates/admin/index.html:54 +msgid "My Actions" +msgstr "Mine handlinger" + +#: contrib/admin/templates/admin/index.html:58 +msgid "None available" +msgstr "Ingen tilgjengelige" + +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "Ukjent innhold" + +#: 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 "" +"Noe er galt med databaseinstallasjonen din. Sørg for at databasetabellene er " +"opprettet og at brukeren har de nødvendige rettigheter." + +#: contrib/admin/templates/admin/login.html:19 +msgid "Username:" +msgstr "Brukernavn:" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Password:" +msgstr "Passord:" + +#: contrib/admin/templates/admin/object_history.html:22 +msgid "Date/time" +msgstr "Dato/tid" + +#: contrib/admin/templates/admin/object_history.html:23 +msgid "User" +msgstr "Bruker" + +#: contrib/admin/templates/admin/object_history.html:24 +msgid "Action" +msgstr "Handling" + +#: contrib/admin/templates/admin/object_history.html:38 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Dette objektet har ingen endringshistorikk. Det var sannsynligvis ikke " +"opprettet med administrasjonssiden." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Vis alle" + +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Lagre" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Search" +msgstr "Søk" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "Ett resultat" +msgstr[1] "%(counter)s resultater" + +#: 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/submit_line.html:5 +msgid "Save as new" +msgstr "Lagre som ny" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and add another" +msgstr "Lagre og opprett ny" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save and continue editing" +msgstr "Lagre og fortsett å redigere" + +#: contrib/admin/templates/admin/auth/user/add_form.html:5 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Skriv først inn brukernavn og passord. Deretter vil du få mulighet til å " +"endre flere brukerinnstillinger." + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Skriv inn et nytt passord for brukeren %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Passord" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Passord (gjenta)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Skriv inn det samme passordet som ovenfor, for verifisering." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Legg til ny %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Fjern" + +#: contrib/admin/templates/admin/edit_inline/tabular.html:15 +msgid "Delete?" +msgstr "Slette?" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Takk for at du valgte å bruke kvalitetstid på nettstedet i dag." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Logg inn igjen" + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "Password change" +msgstr "Endre passord" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Passord endret" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Ditt passord ble endret." + +#: contrib/admin/templates/registration/password_change_form.html:21 +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 "" +"Venligst oppgi ditt gamle passord av sikkerhetsgrunner. Oppgi deretter ditt " +"nye passord to ganger, slik at vi kan kontrollere at det er korrekt." + +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Gammelt passord" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Nytt passord" + +#: contrib/admin/templates/registration/password_change_form.html:43 +#: contrib/admin/templates/registration/password_reset_confirm.html:21 +msgid "Change my password" +msgstr "Endre passord" + +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:6 +#: 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 "Nullstill passord" + +#: contrib/admin/templates/registration/password_reset_complete.html:6 +#: contrib/admin/templates/registration/password_reset_complete.html:10 +msgid "Password reset complete" +msgstr "Passord nullstilt" + +#: contrib/admin/templates/registration/password_reset_complete.html:12 +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Passordet ditt er satt. Du kan nå logge inn." + +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +msgid "Password reset confirmation" +msgstr "Bekreftelse på nullstilt passord" + +#: contrib/admin/templates/registration/password_reset_confirm.html:12 +msgid "Enter new password" +msgstr "Oppgi nytt passord" + +#: contrib/admin/templates/registration/password_reset_confirm.html:14 +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Venligst oppgi ditt nye passord to ganger, for å sikre at du oppgir det " +"korrekt." + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Nytt passord:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Gjenta nytt passord:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:26 +msgid "Password reset unsuccessful" +msgstr "Passordet ble ikke nullstilt" + +#: contrib/admin/templates/registration/password_reset_confirm.html:28 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Nullstillingslinken er ugyldig, kanskje fordi den allerede har vært brukt. " +"Vennligst nullstill passordet ditt på nytt." + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Passordet ble nullstilt" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed you instructions for setting your password to the e-mail " +"address you submitted. You should be receiving it shortly." +msgstr "" +"Vi har sendt deg en e-post med instruksjoner for nullstilling av passord. Du " +"bør motta den om kort tid." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "" +"Du har mottatt denne e-posten fordi du har bedt om nullstilling av passordet " +"ditt" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "for din konto på %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +msgid "Please go to the following page and choose a new password:" +msgstr "Vennligst gå til følgende side og velg et nytt passord:" + +#: contrib/admin/templates/registration/password_reset_email.html:9 +msgid "Your username, in case you've forgotten:" +msgstr "Brukernavnet ditt, i tilfelle du har glemt det:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Thanks for using our site!" +msgstr "Takk for at du bruker siden vår!" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +#, python-format +msgid "The %(site_name)s team" +msgstr "Hilsen %(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 e-mail " +"instructions for setting a new one." +msgstr "" +"Glemt passordet ditt? Oppgi e-postadressen din under, så sender vi deg en e-" +"post med instruksjoner for nullstilling av passord." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "E-postadresse:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Nullstill mitt passord" + +#: contrib/admin/templatetags/admin_list.py:257 +msgid "All dates" +msgstr "Alle datoer" + +#: contrib/admin/views/main.py:65 +#, python-format +msgid "Select %s" +msgstr "Velg %s" + +#: contrib/admin/views/main.py:65 +#, python-format +msgid "Select %s to change" +msgstr "Velg %s du ønsker å endre" + +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 +msgid "site" +msgstr "nettsted" + +#: contrib/admin/views/template.py:40 +msgid "template" +msgstr "mal" + +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 +msgid "tag:" +msgstr "tag:" + +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 +msgid "filter:" +msgstr "filter:" + +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 +msgid "view:" +msgstr "view:" + +#: contrib/admindocs/views.py:190 +#, python-format +msgid "App %r not found" +msgstr "Fant ikke applikasjonen %r" + +#: contrib/admindocs/views.py:197 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr "Fant ikke modellen %(model_name)r i applikasjonen %(app_label)r" + +#: contrib/admindocs/views.py:209 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "det relaterte `%(app_label)s.%(data_type)s`-objektet" + +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 +msgid "model:" +msgstr "modell:" + +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "relaterte `%(app_label)s.%(object_name)s`-objekter" + +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 +#, python-format +msgid "all %s" +msgstr "alle %s" + +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 +#, python-format +msgid "number of %s" +msgstr "antall %s" + +#: contrib/admindocs/views.py:271 +#, python-format +msgid "Fields on %s objects" +msgstr "Felter på %s-objekter" + +#: contrib/admindocs/views.py:361 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s ser ikke ut til å være et urlpattern-objekt" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Bokmerker" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "Dokumentasjonsbokmerker" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

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

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

                                    For å installere bokmerker, dra linken til verktøylinja\n" +"for bokmerker, eller høyreklikk og legg til i bokmerker. Nå kan du du velge\n" +"bokmerket fra hvilken som helst side på nettstedet. Noen av disse\n" +"bokmerkene krever at datamaskinen du bruker er markert som \"intern\"\n" +"(kontakt din systemadministrator hvis du er usikker på om maskinen din er " +"\"intern\").

                                    \n" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "Dokumentasjon for denne siden" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"Hopp fra hvilken som helst side til dokumentasjonen for visningsfunksjonen " +"som genererte den siden." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "Vis objekt-ID" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Viser \"content-type\" og en unik ID for sider som representerer et enkelt " +"objekt." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "Endre dette objektet (nåværende vindu)" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"Hopper til administrasjonssiden for sider som representerer et enkelt objekt." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "Endre dette objektet (nytt vindu)" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "Samme som over, men åpner administrasjonssiden i et nytt vindu." + +#: contrib/auth/admin.py:29 +msgid "Personal info" +msgstr "Personlig informasjon" + +#: contrib/auth/admin.py:30 +msgid "Permissions" +msgstr "Rettigheter" + +#: contrib/auth/admin.py:31 +msgid "Important dates" +msgstr "Viktige datoer" + +#: contrib/auth/admin.py:32 +msgid "Groups" +msgstr "Grupper" + +#: contrib/auth/admin.py:114 +msgid "Password changed successfully." +msgstr "Passordet er endret." + +#: contrib/auth/admin.py:124 +#, python-format +msgid "Change password: %s" +msgstr "Endre passord: %s" + +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Brukernavn" + +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Påkrevet. 30 tegn eller færre. Kun bokstaver, tall og @/./+/-/_." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Verdien kan kun inneholde bokstaver, tall og @/./+/-/_." + +#: contrib/auth/forms.py:18 +msgid "Password confirmation" +msgstr "Passordbekreftelse" + +#: contrib/auth/forms.py:31 +msgid "A user with that username already exists." +msgstr "Det eksisterer allerede en bruker med dette brukernavnet." + +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 +msgid "The two password fields didn't match." +msgstr "De to passordfeltene er ikke like." + +#: contrib/auth/forms.py:83 +msgid "This account is inactive." +msgstr "Denne kontoen er inaktiv." + +#: contrib/auth/forms.py:88 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Din nettleser ser ikke ut til å støtte informasjonskapsler (cookies). " +"Informasjonskapsler er påkrevet for å logge inn." + +#: contrib/auth/forms.py:101 +msgid "E-mail" +msgstr "E-post" + +#: contrib/auth/forms.py:110 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Den oppgitte e-postadressen er ikke registrert hos oss. Er du sikker på at " +"du er registrert?" + +#: contrib/auth/forms.py:136 +#, python-format +msgid "Password reset on %s" +msgstr "Nullstilling av passord på %s" + +#: contrib/auth/forms.py:145 +msgid "New password confirmation" +msgstr "Bekreft nytt passord" + +#: contrib/auth/forms.py:178 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Ditt gamle passord er galt. Vennligst prøv igjen." + +#: contrib/auth/models.py:66 contrib/auth/models.py:94 +msgid "name" +msgstr "navn" + +#: contrib/auth/models.py:68 +msgid "codename" +msgstr "kodenavn" + +#: contrib/auth/models.py:72 +msgid "permission" +msgstr "rettighet" + +#: contrib/auth/models.py:73 contrib/auth/models.py:95 +msgid "permissions" +msgstr "rettigheter" + +#: contrib/auth/models.py:98 +msgid "group" +msgstr "gruppe" + +#: contrib/auth/models.py:99 contrib/auth/models.py:206 +msgid "groups" +msgstr "grupper" + +#: contrib/auth/models.py:196 +msgid "username" +msgstr "brukernavn" + +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "Påkrevet. 30 tegn eller færre. Bokstaver, tall og @/./+/-/_." + +#: contrib/auth/models.py:197 +msgid "first name" +msgstr "fornavn" + +#: contrib/auth/models.py:198 +msgid "last name" +msgstr "etternavn" + +#: contrib/auth/models.py:199 +msgid "e-mail address" +msgstr "e-postadresse" + +#: contrib/auth/models.py:200 +msgid "password" +msgstr "passord" + +#: contrib/auth/models.py:200 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Bruk '[algo]$[salt]$[hexdigest]' eller endre passord-" +"skjemaet." + +#: contrib/auth/models.py:201 +msgid "staff status" +msgstr "administrasjonsstatus" + +#: contrib/auth/models.py:201 +msgid "Designates whether the user can log into this admin site." +msgstr "Angir at brukeren kan logge inn på denne administrasjonssiden." + +#: contrib/auth/models.py:202 +msgid "active" +msgstr "aktiv" + +#: contrib/auth/models.py:202 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" +"Angir at denne brukeren er aktiv. Avmerk denne i stedet for å slette kontoen." + +#: contrib/auth/models.py:203 +msgid "superuser status" +msgstr "superbruker" + +#: contrib/auth/models.py:203 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Angir at denne brukeren har alle rettigheter uten å eksplisitt sette de." + +#: contrib/auth/models.py:204 +msgid "last login" +msgstr "siste innlogging" + +#: contrib/auth/models.py:205 +msgid "date joined" +msgstr "registrert" + +#: contrib/auth/models.py:207 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"I tillegg til de rettighetene som blir angitt manuelt, får brukeren også " +"rettighetene til gruppene han/hun er med i." + +#: contrib/auth/models.py:208 +msgid "user permissions" +msgstr "Brukerrettigheter" + +#: contrib/auth/models.py:212 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 +msgid "user" +msgstr "bruker" + +#: contrib/auth/models.py:213 +msgid "users" +msgstr "brukere" + +#: contrib/auth/models.py:394 +msgid "message" +msgstr "melding" + +#: contrib/auth/views.py:79 +msgid "Logged out" +msgstr "Logget ut" + +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 +msgid "Enter a valid e-mail address." +msgstr "Oppgi en gyldig e-postadresse." + +#: contrib/comments/admin.py:12 +msgid "Content" +msgstr "Innhold" + +#: contrib/comments/admin.py:15 +msgid "Metadata" +msgstr "Metadata" + +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "flagget" +msgstr[1] "flagget" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Flagg valgte kommentarer" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "godkjent" +msgstr[1] "godkjent" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Tillat valgte kommentarer" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "fjernet" +msgstr[1] "fjernet" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Fjern valgte kommentarer" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 kommentar ble %(action)s." +msgstr[1] "%(count)s kommentarer ble %(action)s." + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "%(site_name)s kommentarer" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "Siste kommentarer fra %(site_name)s" + +#: contrib/comments/forms.py:93 +msgid "Name" +msgstr "Navn" + +#: contrib/comments/forms.py:94 +msgid "Email address" +msgstr "E-postadresse" + +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "Nettadresse" + +#: contrib/comments/forms.py:96 +msgid "Comment" +msgstr "Kommentar" + +#: contrib/comments/forms.py:175 +#, 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] "Pass munnen din! Ordet %s er ikke tillatt her." +msgstr[1] "Pass munnen din! Ordene %s er ikke tillatt her." + +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "" +"Hvis du oppgir noe i dette feltet, vil kommentaren bli behandlet som spam" + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "innholdstype" + +#: contrib/comments/models.py:24 +msgid "object ID" +msgstr "objekt-ID" + +#: contrib/comments/models.py:52 +msgid "user's name" +msgstr "brukerens navn" + +#: contrib/comments/models.py:53 +msgid "user's email address" +msgstr "brukerens e-postadresse" + +#: contrib/comments/models.py:54 +msgid "user's URL" +msgstr "brukerens nettadresse" + +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 +msgid "comment" +msgstr "kommentar" + +#: contrib/comments/models.py:59 +msgid "date/time submitted" +msgstr "dato/tid for innsendelse" + +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP-adresse" + +#: contrib/comments/models.py:61 +msgid "is public" +msgstr "er tilgjengelig for alle" + +#: contrib/comments/models.py:62 +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." +msgstr "Avmerk denne boksen for å fjerne kommentaren fra siden." + +#: contrib/comments/models.py:64 +msgid "is removed" +msgstr "er fjernet" + +#: contrib/comments/models.py:65 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"Huk av denne hvis kommentaren er upassende. Meldingen \"Denne kommentaren " +"har blitt fjernet\" vil bli vist i stedet." + +#: contrib/comments/models.py:77 +msgid "comments" +msgstr "kommentarer" + +#: contrib/comments/models.py:119 +msgid "" +"This comment was posted by an authenticated user and thus the name is read-" +"only." +msgstr "" +"Denne kommentaren er skrevet av en innlogget bruker og navnet kan derfor " +"ikke endres." + +#: contrib/comments/models.py:128 +msgid "" +"This comment was posted by an authenticated user and thus the email is read-" +"only." +msgstr "" +"Denne kommentaren er skrevet av en innlogget bruker og e-postadressen kan " +"derfor ikke endres." + +#: contrib/comments/models.py:153 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"Skrevet av %(user)s, %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "flagg" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "dato" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "kommentarflagg" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "kommentarflagg" + +#: contrib/comments/templates/comments/approve.html:4 +msgid "Approve a comment" +msgstr "Tillat en kommentar" + +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "Gjør denne kommentaren offentlig?" + +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "Godkjenn" + +#: contrib/comments/templates/comments/approved.html:4 +msgid "Thanks for approving" +msgstr "Takk for godkjennelse" + +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "" +"Takk for at du tok deg tid til å forbedre kvaliteten på diskusjonen på siden " +"vår" + +#: contrib/comments/templates/comments/delete.html:4 +msgid "Remove a comment" +msgstr "Fjern en kommentar" + +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "Fjerne denne kommentaren?" + +#: contrib/comments/templates/comments/deleted.html:4 +msgid "Thanks for removing" +msgstr "Takk for fjerningen" + +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "Flagg denne kommentaren" + +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "Flagg denne kommentaren?" + +#: contrib/comments/templates/comments/flag.html:12 +msgid "Flag" +msgstr "Flagg" + +#: contrib/comments/templates/comments/flagged.html:4 +msgid "Thanks for flagging" +msgstr "Takk for flagging" + +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +msgid "Post" +msgstr "Publiser" + +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +msgid "Preview" +msgstr "Forhåndsvisning" + +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "Takk for kommentar" + +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "Takk for din kommentar" + +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" +msgstr "Forhåndsvis kommentaren din" + +#: contrib/comments/templates/comments/preview.html:11 +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "Vennligst korriger feilen under" +msgstr[1] "Vennligst korriger feilene under" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "Publiser din kommentar" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "or make changes" +msgstr "eller gjør endringer" + +#: contrib/contenttypes/models.py:77 +msgid "python model class name" +msgstr "python-modell klassenavn" + +#: contrib/contenttypes/models.py:82 +msgid "content types" +msgstr "innholdstyper" + +#: contrib/flatpages/admin.py:9 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Eksempel: '/om/kontakt/'. Kontroller at det er en skråstrek foran og bak." + +#: contrib/flatpages/admin.py:11 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Dette feltet kan bare inneholde bokstaver, nummer, understreker, " +"bindestreker eller skråstreker." + +#: contrib/flatpages/admin.py:22 +msgid "Advanced options" +msgstr "Avanserte innstillinger" + +#: contrib/flatpages/models.py:8 +msgid "title" +msgstr "tittel" + +#: contrib/flatpages/models.py:9 +msgid "content" +msgstr "innhold" + +#: contrib/flatpages/models.py:10 +msgid "enable comments" +msgstr "tillat kommentarer" + +#: contrib/flatpages/models.py:11 +msgid "template name" +msgstr "malnavn" + +#: contrib/flatpages/models.py:12 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Eksempel: 'flatpages/kontakt_side.html'. Hvis denne ikke er gitt, vil " +"'flatpages/default.html' bli brukt." + +#: contrib/flatpages/models.py:13 +msgid "registration required" +msgstr "krever registrering" + +#: contrib/flatpages/models.py:13 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Hvis denne er krysset av, kan kun innloggede brukere se siden." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "flatside" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "flatsider" + +#: contrib/formtools/wizard.py:140 +msgid "" +"We apologize, but your form has expired. Please continue filling out the " +"form from this page." +msgstr "" +"Vi beklager, men dette skjemaet har tidsavbrutt. Vennligst fyll ut skjemaet " +"fra denne siden." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Punkt" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Polygon" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "" + +#: contrib/gis/forms/fields.py:17 +msgid "No geometry value provided." +msgstr "Ingen geometriverdi oppgitt." + +#: contrib/gis/forms/fields.py:18 +msgid "Invalid geometry value." +msgstr "Ugyldig geometriverdi" + +#: contrib/gis/forms/fields.py:19 +msgid "Invalid geometry type." +msgstr "Ugyldig geometritype" + +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" +"En feil oppstod ved transformering av geometrien til SRID fra geometrifeltet." + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "th" +msgstr "." + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "st" +msgstr "." + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "nd" +msgstr "." + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "rd" +msgstr "." + +#: contrib/humanize/templatetags/humanize.py:51 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f million" +msgstr[1] "%(value).1f millioner" + +#: contrib/humanize/templatetags/humanize.py:54 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f milliard" +msgstr[1] "%(value).1f milliarder" + +#: contrib/humanize/templatetags/humanize.py:57 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f billion" +msgstr[1] "%(value).1f billioner" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "one" +msgstr "én" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "two" +msgstr "to" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "three" +msgstr "tre" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "four" +msgstr "fire" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "five" +msgstr "fem" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "six" +msgstr "seks" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "seven" +msgstr "sju" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "eight" +msgstr "åtte" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "nine" +msgstr "ni" + +#: contrib/humanize/templatetags/humanize.py:93 +msgid "today" +msgstr "i dag" + +#: contrib/humanize/templatetags/humanize.py:95 +msgid "tomorrow" +msgstr "i morgen" + +#: contrib/humanize/templatetags/humanize.py:97 +msgid "yesterday" +msgstr "i går" + +#: contrib/localflavor/ar/forms.py:28 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "Oppgi et postnummer på formen NNNN eller ANNNNAAA." + +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires only numbers." +msgstr "Feltet krever kun tall." + +#: contrib/localflavor/ar/forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "Feltet krever 7 eller 8 siffer." + +#: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "Oppgi gyldig CUIT på formen XX-XXXXXXXX-X or XXXXXXXXXXXX." + +#: contrib/localflavor/ar/forms.py:81 +msgid "Invalid CUIT." +msgstr "Ugyldig CUIT." + +#: contrib/localflavor/at/at_states.py:5 +msgid "Burgenland" +msgstr "Burgenland" + +#: contrib/localflavor/at/at_states.py:6 +msgid "Carinthia" +msgstr "Carinthia" + +#: contrib/localflavor/at/at_states.py:7 +msgid "Lower Austria" +msgstr "Niederösterreich" + +#: contrib/localflavor/at/at_states.py:8 +msgid "Upper Austria" +msgstr "Oberösterreich" + +#: contrib/localflavor/at/at_states.py:9 +msgid "Salzburg" +msgstr "Salzburg" + +#: contrib/localflavor/at/at_states.py:10 +msgid "Styria" +msgstr "Steiermark" + +#: contrib/localflavor/at/at_states.py:11 +msgid "Tyrol" +msgstr "Tirol" + +#: contrib/localflavor/at/at_states.py:12 +msgid "Vorarlberg" +msgstr "Vorarlberg" + +#: contrib/localflavor/at/at_states.py:13 +msgid "Vienna" +msgstr "Wien" + +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 +msgid "Enter a zip code in the format XXXX." +msgstr "Oppgi et postnummer på formen XXXX." + +#: contrib/localflavor/at/forms.py:48 +msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." +msgstr "Oppgi et gyldig Østerrisk personnummer på formen XXXX XXXXXX." + +#: contrib/localflavor/au/forms.py:17 +msgid "Enter a 4 digit post code." +msgstr "Oppgi et firesifret postnummer." + +#: contrib/localflavor/br/forms.py:17 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Oppgi et postnummer på formen XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:26 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Telefonnummeret må være på formen XX-XXXX-XXXX." + +#: contrib/localflavor/br/forms.py:54 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" +"Velg en gyldig brasiliansk stat. Den staten er ikke et av de tilgjengelige " +"valgene." + +#: contrib/localflavor/br/forms.py:90 +msgid "Invalid CPF number." +msgstr "Ugyldig CPF-nummer." + +#: contrib/localflavor/br/forms.py:91 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Feltet krever maksimum 11 eller 14 siffer." + +#: contrib/localflavor/br/forms.py:130 +msgid "Invalid CNPJ number." +msgstr "Ugyldig CNPJ-nummer." + +#: contrib/localflavor/br/forms.py:132 +msgid "This field requires at least 14 digits" +msgstr "Feltet krever minst 14 siffer." + +#: contrib/localflavor/ca/forms.py:25 +msgid "Enter a postal code in the format XXX XXX." +msgstr "Oppgi et postnummer på formen XXX XXX." + +#: contrib/localflavor/ca/forms.py:96 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "Oppgi et gyldig kanadisk personnummer på formen XXX-XXX-XXX." + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "Aargau" + +#: 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-Landschaft" + +#: contrib/localflavor/ch/ch_states.py:10 +msgid "Berne" +msgstr "Bern" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "Fribourg" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "Genève" + +#: contrib/localflavor/ch/ch_states.py:13 +msgid "Glarus" +msgstr "Glarus" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "Graubünden" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "Jura" + +#: contrib/localflavor/ch/ch_states.py:16 +msgid "Lucerne" +msgstr "Luzern" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "Neuchâtel" + +#: 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 "Wallis" + +#: 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 "Zürich" + +#: contrib/localflavor/ch/forms.py:65 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" +"Oppgi et gyldig sveitsisk identitets- eller passnummer på formen X1234567<0 " +"eller 1234567890." + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT." +msgstr "Oppgi et gyldig chilensk RUT." + +#: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Oppgi et gyldig chilensk RUT på formen XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:32 +msgid "The Chilean RUT is not valid." +msgstr "Den chilenske RUT er ugyldig." + +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "Praha" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "Sentralbøhmen region" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "Sydbøhmen region" + +#: contrib/localflavor/cz/cz_regions.py:11 +msgid "Pilsen Region" +msgstr "Plzeň region" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "Karlovy Vary region" + +#: contrib/localflavor/cz/cz_regions.py:13 +msgid "Usti Region" +msgstr "Ústí nad Labem region" + +#: contrib/localflavor/cz/cz_regions.py:14 +msgid "Liberec Region" +msgstr "Liberec region" + +#: contrib/localflavor/cz/cz_regions.py:15 +msgid "Hradec Region" +msgstr "Hradec Králové region" + +#: contrib/localflavor/cz/cz_regions.py:16 +msgid "Pardubice Region" +msgstr "Pardubice region" + +#: contrib/localflavor/cz/cz_regions.py:17 +msgid "Vysocina Region" +msgstr "Žilina-regionen" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "Sydmähriske region" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "Olomouc region" + +#: contrib/localflavor/cz/cz_regions.py:20 +msgid "Zlin Region" +msgstr "Zlín region" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "Mähren-Schlesien region" + +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "Oppgi et postnummer på formen XXXXX or XXX XX." + +#: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "Oppgi et fødselsnummer på formen XXXXXX/XXXX eller XXXXXXXXXX." + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" + +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "Oppgi et gyldig fødselsnummer." + +#: contrib/localflavor/cz/forms.py:107 +msgid "Enter a valid IC number." +msgstr "Oppgi et gyldig IC-nummer." + +#: 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:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "Oppgi et postnummer på formen XXXXX." + +#: contrib/localflavor/de/forms.py:42 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"Oppgi et gyldig tysk identitetsnummer på formen XXXXXXXXXXX-XXXXXXX-XXXXXXX-" +"X." + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "Álava" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "Albacete" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "Alicante" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "Almería" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "Ávila" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "Badajoz" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "Balearene" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "Barcelona" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "Burgos" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "Cáceres" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "Cádiz" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "Castellón" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "Ciudad Real" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "Córdoba" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "A Coruna" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "Cuenca" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "Girona" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "Granada" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "Guadalajara" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "Gipuzkoa" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "Huelva" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "Huesca" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "Jaén" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "León" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "Lleida" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "La Rioja" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "Lugo" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "Madrid" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "Málaga" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "Murcia" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "Navarra" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "Ourense" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "Asturias" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "Palencia" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "Las Palmas" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "Pontevedra" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "Salamanca" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "Santa Cruz de Tenerife" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "Cantabria" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "Segovia" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "Sevilla" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "Soria" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "Tarragona" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "Teruel" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "Toledo" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "Valencia" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "Valladolid" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "Bizkaia" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "Zamora" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "Zaragoza" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "Ceuta" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "Melilla" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "Andalucía" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "Aragón" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "Asturias" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "Balearene" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "Baskerland" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "Kanariøyene" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "Castilla-La Mancha" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "Castilla y León" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "Catalonia" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "Extremadura" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "Galicia" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "Murcia" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "Navarra" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "Valenciana" + +#: contrib/localflavor/es/forms.py:20 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "Oppgi et gyldig postnummer på formen 01XXX - 52XXX." + +#: contrib/localflavor/es/forms.py:40 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" +"Oppgi et gyldig telefonnummer på et av følgende formater: 6XXXXXXXX, " +"8XXXXXXXX eller 9XXXXXXXX." + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Oppgi et gyldig NIF, NIE eller CIF." + +#: contrib/localflavor/es/forms.py:68 +msgid "Please enter a valid NIF or NIE." +msgstr "Oppgi et gyldig NIF eller NIE." + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIF." +msgstr "Ugyldig kontrollsum for NIF." + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for NIE." +msgstr "Ugyldig kontrollsum for NIE." + +#: contrib/localflavor/es/forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "Ugyldig kontrollsum for CIF." + +#: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Oppgi et gyldig kontonummer på formen XXXX-XXXX-XX-XXXXXXXXXX." + +#: contrib/localflavor/es/forms.py:144 +msgid "Invalid checksum for bank account number." +msgstr "Ugyldig kontrollsum for kontonummer." + +#: contrib/localflavor/fi/forms.py:29 +msgid "Enter a valid Finnish social security number." +msgstr "Oppgi et gyldig finsk personnummer." + +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Telefonnummeret må være på formen 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Oppgi et gyldig postnummer." + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Oppgi et gyldig telefonnummer." + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Oppgi et gyldig kjøretøyregistreringsnummer." + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Oppgi et gyldig NIK/KTP-nummer." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +#, fuzzy +msgid "Pati" +msgstr "aktiv" + +#: contrib/localflavor/id/id_choices.py:91 +#, fuzzy +msgid "Surabaya" +msgstr "lørdag" + +#: contrib/localflavor/id/id_choices.py:92 +#, fuzzy +msgid "Madura" +msgstr "Madrid" + +#: contrib/localflavor/id/id_choices.py:93 +#, fuzzy +msgid "Malang" +msgstr "Málaga" + +#: contrib/localflavor/id/id_choices.py:94 +#, fuzzy +msgid "Jember" +msgstr "november" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +#, fuzzy +msgid "Garut" +msgstr "Glarus" + +#: contrib/localflavor/ie/ie_counties.py:8 +#, fuzzy +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +#, fuzzy +msgid "Armagh" +msgstr "Aragón" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +#, fuzzy +msgid "Cavan" +msgstr "Katalansk" + +#: contrib/localflavor/ie/ie_counties.py:12 +#, fuzzy +msgid "Clare" +msgstr "Cáceres" + +#: contrib/localflavor/ie/ie_counties.py:13 +#, fuzzy +msgid "Cork" +msgstr "eller" + +#: contrib/localflavor/ie/ie_counties.py:14 +#, fuzzy +msgid "Derry" +msgstr "februar" + +#: contrib/localflavor/ie/ie_counties.py:15 +#, fuzzy +msgid "Donegal" +msgstr "én" + +#: contrib/localflavor/ie/ie_counties.py:16 +#, fuzzy +msgid "Down" +msgstr "Devon" + +#: contrib/localflavor/ie/ie_counties.py:17 +#, fuzzy +msgid "Dublin" +msgstr "Lublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +#, fuzzy +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +#, fuzzy +msgid "Galway" +msgstr "Galicia" + +#: contrib/localflavor/ie/ie_counties.py:20 +#, fuzzy +msgid "Kerry" +msgstr "februar" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +#, fuzzy +msgid "Louth" +msgstr "Logg ut" + +#: contrib/localflavor/ie/ie_counties.py:28 +#, fuzzy +msgid "Mayo" +msgstr "mai" + +#: contrib/localflavor/ie/ie_counties.py:29 +#, fuzzy +msgid "Meath" +msgstr "Metadata" + +#: contrib/localflavor/ie/ie_counties.py:30 +#, fuzzy +msgid "Monaghan" +msgstr "Logg inn igjen" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +#, fuzzy +msgid "Roscommon" +msgstr "kommentar" + +#: contrib/localflavor/ie/ie_counties.py:33 +#, fuzzy +msgid "Sligo" +msgstr "Shiga" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +#, fuzzy +msgid "Tyrone" +msgstr "Tirol" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +#, fuzzy +msgid "Westmeath" +msgstr "West Pomerania" + +#: contrib/localflavor/ie/ie_counties.py:38 +#, fuzzy +msgid "Wexford" +msgstr "ons" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "Oppgi et postnummer på formen XXXXXXX." + +#: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Oppgi et gyldig islandsk identifikasjonsnummer på formen XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:19 +msgid "The Icelandic identification number is not valid." +msgstr "Det islandsk identifikasjonsnummer er ugyldig." + +#: contrib/localflavor/it/forms.py:15 +msgid "Enter a valid zip code." +msgstr "Oppgi et gyldig postnummer." + +#: contrib/localflavor/it/forms.py:44 +msgid "Enter a valid Social Security number." +msgstr "Oppgi et gyldig italiensk personnummer." + +#: contrib/localflavor/it/forms.py:69 +msgid "Enter a valid VAT number." +msgstr "Oppgi et gyldig VAT-nummer." + +#: contrib/localflavor/jp/forms.py:16 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Oppgi et postnummer på formen XXXXXXX eller XXX-XXXX." + +#: 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/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Oppgi et gyldig Kuwaiti Civil ID-nummer." + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "Aguascalientes" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "Baja California" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "Baja California Sur" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "Campeche" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "Chihuahua" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "Chiapas" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "Coahuila" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "Colima" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "Distrito Federal" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "Durango" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "Guerrero" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "Guanajuato" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "Hidalgo" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "Jalisco" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "Estado de México" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "Michoacán" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "Morelos" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "Nayarit" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "Nuevo León" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "Oaxaca" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "Puebla" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "Querétaro" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "Quintana Roo" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "Sinaloa" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "San Luis Potosí" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "Sonora" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "Tabasco" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "Tamaulipas" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "Tlaxcala" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "Veracruz" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "Yucatán" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "Zacatecas" + +#: contrib/localflavor/nl/forms.py:22 +msgid "Enter a valid postal code" +msgstr "Oppgi et gyldig postnummer." + +#: contrib/localflavor/nl/forms.py:79 +msgid "Enter a valid SoFi number" +msgstr "Oppgi et gyldig SoFi-nummer." + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drenthe" +msgstr "Drenthe" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "Flevoland" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "Friesland" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "Gelderland" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "Groningen" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "Limburg" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "Noord-Brabant" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "Noord-Holland" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "Overijssel" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "Utrecht" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "Zeeland" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "Zuid-Holland" + +#: contrib/localflavor/no/forms.py:34 +msgid "Enter a valid Norwegian social security number." +msgstr "Oppgi et gyldig norsk personnummer." + +#: contrib/localflavor/pe/forms.py:25 +msgid "This field requires 8 digits." +msgstr "Feltet krever åtte siffer." + +#: contrib/localflavor/pe/forms.py:53 +msgid "This field requires 11 digits." +msgstr "Feltet krever 11 siffer." + +#: contrib/localflavor/pl/forms.py:38 +msgid "National Identification Number consists of 11 digits." +msgstr "National Identification Number består av 11 siffer." + +#: contrib/localflavor/pl/forms.py:39 +msgid "Wrong checksum for the National Identification Number." +msgstr "Feil kontrollsum for National Identification Number." + +#: contrib/localflavor/pl/forms.py:71 +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "Oppgi et NIP på formen XXX-XXX-XX-XX eller XX-XX-XXX-XXX." + +#: contrib/localflavor/pl/forms.py:72 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "Ugyldig kontrollsum for NIP." + +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." +msgstr "National Business Register Number (REGON) består av 9 eller 14 siffer." + +#: contrib/localflavor/pl/forms.py:110 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "Ugyldig kontrollsum for National Business Register Number (REGON)." + +#: contrib/localflavor/pl/forms.py:148 +msgid "Enter a postal code in the format XX-XXX." +msgstr "Oppgi et postnummer på formen XX-XXX." + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "Lower Silesia" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "Kuyavia-Pomerania" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "Lublin" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "Lubusz" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "Lodz" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "Lesser Poland" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "Masovia" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "Opole" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "Subcarpatia" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "Podlasie" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "Pomerania" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "Silesia" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "Swietokrzyskie" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "Warmia-Masuria" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "Greater Poland" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "West Pomerania" + +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Oppgi et postnummer på formen XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Telefonnummer må ha 9 siffer, eller starte med + eller 00." + +#: contrib/localflavor/ro/forms.py:19 +msgid "Enter a valid CIF." +msgstr "Oppgi et gyldig CIF." + +#: contrib/localflavor/ro/forms.py:56 +msgid "Enter a valid CNP." +msgstr "Oppgi et gyldig CNP." + +#: contrib/localflavor/ro/forms.py:141 +msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" +msgstr "Oppgi et gyldig IBAN på formen ROXX-XXXX-XXXX-XXXX-XXXX-XXXX." + +#: contrib/localflavor/ro/forms.py:171 +msgid "Phone numbers must be in XXXX-XXXXXX format." +msgstr "Telefonnummeret må være på formen XXXX-XXXXXX." + +#: contrib/localflavor/ro/forms.py:194 +msgid "Enter a valid postal code in the format XXXXXX" +msgstr "Oppgi et postnummer på formen XXXXXX." + +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Oppgi et gyldig svensk organisasjonsnummer." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Oppgi et gyldig svensk personnummer." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Oppgi et gyldig svensk postnummer på formen XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stockholm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "Banska Bystrica" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "Banska Stiavnica" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "Bardejov" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "Banovce nad Bebravou" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "Brezno" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "Bratislava I" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "Bratislava II" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "Bratislava III" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "Bratislava IV" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "Bratislava V" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "Bytca" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "Cadca" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "Detva" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "Dolny Kubin" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "Dunajska Streda" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "Galanta" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "Gelnica" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "Hlohovec" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "Humenne" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "Ilava" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "Kezmarok" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "Komarno" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "Kosice I" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "Kosice II" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "Kosice III" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "Kosice IV" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "Kosice - okolie" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "Krupina" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "Kysucke Nove Mesto" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "Levice" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "Levoca" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "Liptovsky Mikulas" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "Lucenec" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "Malacky" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "Martin" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "Medzilaborce" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "Michalovce" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "Myjava" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "Namestovo" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "Nitra" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "Nove Mesto nad Vahom" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "Nove Zamky" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "Partizanske" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "Pezinok" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "Piestany" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "Poltar" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "Poprad" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "Povazska Bystrica" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "Presov" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "Prievidza" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "Puchov" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "Revuca" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "Rimavska Sobota" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "Roznava" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "Ruzomberok" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "Sabinov" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "Senec" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "Senica" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "Skalica" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "Snina" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "Sobrance" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "Spisska Nova Ves" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "Stara Lubovna" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "Stropkov" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "Svidnik" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "Sala" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "Topolcany" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "Trebisov" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "Trencin" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "Trnava" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "Turcianske Teplice" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "Tvrdosin" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "Velky Krtis" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "Vranov nad Toplou" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "Zlate Moravce" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "Zvolen" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "Zarnovica" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "Ziar nad Hronom" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "Zilina" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "Banská Bystrica-regionen" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "Bratislava-regionen" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "Košice-regionen" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "Nitra-regionen" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "Prešov-regionen" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "Trenčín-regionen" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "Trnava-regionen" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "Žilina-regionen" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "Oppgi et gyldig postnummer." + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "Bedfordshire" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "Buckinghamshire" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "Cheshire" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "Cornwall" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "Cumbria" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "Derbyshire" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "Devon" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "Dorset" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "Durham" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "East Sussex" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "Essex" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "Gloucestershire" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "Stor-London" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "Stor-Manchester" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "Hampshire" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "Hertfordshire" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "Kent" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "Lancashire" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "Leicestershire" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "Lincolnshire" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "Merseyside" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "Norfolk" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "North Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "Northamptonshire" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "Northumberland" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "Nottinghamshire" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "Oxfordshire" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "Shropshire" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "Somerset" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "South Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "Staffordshire" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "Suffolk" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "Surrey" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "Tyne and Wear" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "Warwickshire" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "West Midlands" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "West Sussex" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "West Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "Wiltshire" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "Worcestershire" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "Antrim" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "Armagh" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "Down" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "Londonderry" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "Clwyd" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "Dyfed" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "Gwent" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "Gwynedd" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "Mid Glamorgan" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "Powys" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "South Glamorgan" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "West Glamorgan" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "Borders" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "Central Scotland" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "Dumfries and Galloway" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "Fife" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "Grampian" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "Highland" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "Lothian" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "Orknøyene" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "Shetland" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "Strathclyde" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "Tayside" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "Ytre Hebridene" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "England" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "Nord-Irland" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "Skottland" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "Wales" + +#: contrib/localflavor/us/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Oppgi et postnummer på formen XXXXX eller XXXXX-XXXX." + +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Telefonnummeret må være på formen XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" +"Oppgi et gyldig amerikansik Social Security-nummer på formen XXX-XX-XXXX." + +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Oppgi en amerikansk stat eller et område" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Stat (i USA, to store bokstaver)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Telefonnummer" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Oppgi gyldig CI på formen X.XXX.XXX-X,XXXXXXX-X eller XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Oppgi et gyldig CI-nummer." + +#: contrib/localflavor/za/forms.py:21 +msgid "Enter a valid South African ID number" +msgstr "Oppgi et gyldig South African ID-nummer." + +#: contrib/localflavor/za/forms.py:55 +msgid "Enter a valid South African postal code" +msgstr "Oppgi et gyldig postnummer." + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "Eastern Cape" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "Free State" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "Gauteng" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "KwaZulu-Natal" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "Limpopo" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "Mpumalanga" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "Northern Cape" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "North West" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "Western Cape" + +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "\"lazy\" melding" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "omadresser fra" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Dette bør være en fullstendig sti uten domenenavn. Eksempel: '/hendelser/" +"finn/" + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "omadresser til" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Dette kan enten være en fullstendig sti (som over), eller en fullstendig " +"nettadresse som starter med 'http://'" + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "omadressering" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "omadresseringer" + +#: contrib/sessions/models.py:45 +msgid "session key" +msgstr "sesjonsnøkkel" + +#: contrib/sessions/models.py:47 +msgid "session data" +msgstr "sesjonsdata" + +#: contrib/sessions/models.py:48 +msgid "expire date" +msgstr "utløpsdato" + +#: contrib/sessions/models.py:53 +msgid "session" +msgstr "sesjon" + +#: contrib/sessions/models.py:54 +msgid "sessions" +msgstr "sesjoner" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "domenenavn" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "visningsnavn" + +#: contrib/sites/models.py:39 +msgid "sites" +msgstr "nettsteder" + +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Oppgi en gyldig verdi." + +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Oppgi en gyldig nettadresse." + +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Nettadressen fører til en side som ikke eksisterer." + +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Oppgi en gyldig 'slug' bestående av bokstaver, nummer, understreker eller " +"bindestreker." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Oppgi en gyldig IPv4-adresse." + +#: core/validators.py:129 db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "Oppgi kun tall adskilt med komma." + +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Verdien må være %(limit_value)s (den er %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Verdien må være mindre enn eller lik som %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Verdien må være større enn eller lik som %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "Verdien må minimum ha %(limit_value)d tegn (den har %(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "Verdien kan maksimalt ha %(limit_value)d tegn (den er %(show_value)d)." + +#: db/models/base.py:823 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s må være unik for %(date_field)s %(lookup)s." + +#: db/models/base.py:838 db/models/base.py:846 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s med %(field_label)s finnes allerede." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Verdien %r er ikke et gyldig valg." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Feltet kan ikke være tomt." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Feltet kan ikke være blankt." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Felt av typen: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Heltall" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Verdien må være et heltall." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Verdien må være True eller False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Boolsk (True eller False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Tekst (opp til %(max_length)s tegn)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Heltall adskilt med komma" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Dato (uten tid)" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Oppgi en gyldig dato på formen ÅÅÅÅ-MM-DD." + +#: db/models/fields/__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "Ugyldig dato: %s" + +#: db/models/fields/__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "Oppgi dato og tid på formen ÅÅÅÅ-MM-DD TT:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Dato (med tid)" + +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "Verdien må være et desimaltall." + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Desimaltall" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "E-postadresse" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Filsti" + +#: db/models/fields/__init__.py:822 +msgid "This value must be a float." +msgstr "Verdien må være et flyttall." + +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Flyttall" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Stort (8 byte) heltall" + +#: db/models/fields/__init__.py:912 +msgid "This value must be either None, True or False." +msgstr "Verdien må være None, True eller False." + +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Boolsk (True, False eller None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Tekst" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Tid" + +#: db/models/fields/__init__.py:1025 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "Oppgi tiden på formen TT:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML-tekst" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Modell %(model)s med primærnøkkelen %(pk)r finnes ikke." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Fremmednøkkel (type bestemmes av relatert felt)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "En-til-en-relasjon" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Mange-til-mange-relasjon" + +#: db/models/fields/related.py:1000 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Hold nede \"Control\", eller \"Command\" på en Mac, for å velge mer enn en." + +#: db/models/fields/related.py:1061 +#, 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] "Oppgi gyldige %(self)s-ID-er. Verdien %(value)r er ugyldig." +msgstr[1] "Oppgi gyldige %(self)s-ID-er. Verdiene %(value)r er ugyldige." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Feltet er påkrevet." + +#: forms/fields.py:204 +msgid "Enter a whole number." +msgstr "Oppgi et heltall." + +#: forms/fields.py:235 forms/fields.py:256 +msgid "Enter a number." +msgstr "Oppgi et tall." + +#: forms/fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Verdien kan ikke ha mer enn %s siffer totalt." + +#: forms/fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Verdien kan ikke ha mer enn %s desimaler." + +#: forms/fields.py:261 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Verdien kan ikke ha mer enn %s siffer foran komma." + +#: forms/fields.py:323 forms/fields.py:838 +msgid "Enter a valid date." +msgstr "Oppgi en gyldig dato." + +#: forms/fields.py:351 forms/fields.py:839 +msgid "Enter a valid time." +msgstr "Oppgi et gyldig tidspunkt." + +#: forms/fields.py:377 +msgid "Enter a valid date/time." +msgstr "Oppgi gyldig dato og tidspunkt." + +#: forms/fields.py:435 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ingen fil ble sendt. Sjekk \"encoding\"-typen på skjemaet." + +#: forms/fields.py:436 +msgid "No file was submitted." +msgstr "Ingen fil ble sendt." + +#: forms/fields.py:437 +msgid "The submitted file is empty." +msgstr "Filen er tom." + +#: forms/fields.py:438 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "Filnavnet kan maksimalt ha %(max)d tegn (det har %(length)d)." + +#: forms/fields.py:473 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Last opp et gyldig bilde. Filen du lastet opp var ødelagt eller ikke et " +"bilde." + +#: forms/fields.py:596 forms/fields.py:671 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Velg et gyldig valg. %(value)s er ikke et av de tilgjengelige valgene." + +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 +msgid "Enter a list of values." +msgstr "Oppgi en liste med verdier." + +#: forms/formsets.py:298 forms/formsets.py:300 +msgid "Order" +msgstr "Rekkefølge" + +#: forms/models.py:562 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Vennligst korriger duplisert data for %(field)s." + +#: forms/models.py:566 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Vennligst korriger duplisert data for %(field)s, som må være unik." + +#: forms/models.py:572 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Vennligst korriger duplisert data for %(field_name)s, som må være unik for %" +"(lookup)s i %(date_field)s." + +#: forms/models.py:580 +msgid "Please correct the duplicate values below." +msgstr "Vennligst korriger de dupliserte verdiene nedenfor." + +#: forms/models.py:855 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "Primærnøkkelen er ikke den samme som foreldreinstansens primærnøkkel." + +#: forms/models.py:921 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Velg et gyldig valg. Valget er ikke et av de tilgjengelige valgene." + +#: forms/models.py:1003 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Velg et gyldig valg. %s er ikke et av de tilgjengelige valgene." + +#: forms/models.py:1005 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "\"%s\" er ikke en gyldig verdi for en primærnøkkel." + +#: template/defaultfilters.py:776 +msgid "yes,no,maybe" +msgstr "ja,nei,kanskje" + +#: template/defaultfilters.py:807 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#: template/defaultfilters.py:809 +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#: template/defaultfilters.py:811 +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#: template/defaultfilters.py:812 +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#: utils/dateformat.py:42 +msgid "p.m." +msgstr "p.m." + +#: utils/dateformat.py:43 +msgid "a.m." +msgstr "a.m." + +#: utils/dateformat.py:48 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:49 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:98 +msgid "midnight" +msgstr "midnatt" + +#: utils/dateformat.py:100 +msgid "noon" +msgstr "12:00" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "mandag" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "tirsdag" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "onsdag" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "torsdag" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "fredag" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "lørdag" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "søndag" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "man" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "tirs" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "ons" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "tors" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "fre" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "lør" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "søn" + +#: utils/dates.py:18 +msgid "January" +msgstr "januar" + +#: utils/dates.py:18 +msgid "February" +msgstr "februar" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "mars" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "april" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "mai" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "juni" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "juli" + +#: utils/dates.py:19 +msgid "August" +msgstr "august" + +#: utils/dates.py:19 +msgid "September" +msgstr "september" + +#: utils/dates.py:19 +msgid "October" +msgstr "oktober" + +#: utils/dates.py:19 +msgid "November" +msgstr "november" + +#: utils/dates.py:20 +msgid "December" +msgstr "desember" + +#: utils/dates.py:23 +msgid "jan" +msgstr "jan" + +#: utils/dates.py:23 +msgid "feb" +msgstr "feb" + +#: utils/dates.py:23 +msgid "mar" +msgstr "mar" + +#: utils/dates.py:23 +msgid "apr" +msgstr "apr" + +#: utils/dates.py:23 +msgid "may" +msgstr "mai" + +#: utils/dates.py:23 +msgid "jun" +msgstr "jun" + +#: utils/dates.py:24 +msgid "jul" +msgstr "jul" + +#: utils/dates.py:24 +msgid "aug" +msgstr "aug" + +#: utils/dates.py:24 +msgid "sep" +msgstr "sep" + +#: utils/dates.py:24 +msgid "oct" +msgstr "okt" + +#: utils/dates.py:24 +msgid "nov" +msgstr "nov" + +#: utils/dates.py:24 +msgid "dec" +msgstr "des" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "jan." + +#: utils/dates.py:31 +msgid "Feb." +msgstr "feb." + +#: utils/dates.py:32 +msgid "Aug." +msgstr "aug." + +#: utils/dates.py:32 +msgid "Sept." +msgstr "sept." + +#: utils/dates.py:32 +msgid "Oct." +msgstr "okt." + +#: utils/dates.py:32 +msgid "Nov." +msgstr "nov." + +#: utils/dates.py:32 +msgid "Dec." +msgstr "des." + +#: utils/text.py:130 +msgid "or" +msgstr "eller" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "år" +msgstr[1] "år" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "måned" +msgstr[1] "måneder" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "uke" +msgstr[1] "uker" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "dag" +msgstr[1] "dager" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "time" +msgstr[1] "timer" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minutt" +msgstr[1] "minutter" + +#: utils/timesince.py:45 +msgid "minutes" +msgstr "minutter" + +#: utils/timesince.py:50 +#, python-format +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" + +#: utils/timesince.py:56 +#, python-format +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" + +#: utils/translation/trans_real.py:519 +msgid "DATE_FORMAT" +msgstr "j. F Y" + +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j. F Y H:i" + +#: utils/translation/trans_real.py:521 +msgid "TIME_FORMAT" +msgstr "H:i" + +#: utils/translation/trans_real.py:542 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:543 +msgid "MONTH_DAY_FORMAT" +msgstr "j. F" + +#: views/generic/create_update.py:115 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s ble opprettet." + +#: views/generic/create_update.py:158 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s ble oppdatert." + +#: views/generic/create_update.py:201 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s ble slettet." diff --git a/django/conf/locale/nb/LC_MESSAGES/djangojs.mo b/django/conf/locale/nb/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..7b063e7b30da6beefde2ccf0a22b3417668cb8cd GIT binary patch literal 1539 zcmZvazi%8x6vqb$zYYix2vDRLAw>d3>+G7uI*x!a=bW(Pv!lC>qm*;IkG;8_n>o$S z8cqroQfQ!{pn^940fj3hiuYr$&+wJ)Xd+`C|c8t%2{N4Nx6 z;%o33@EefrzXdtYci?m2k09Uwy(K&6dO9H6od-GI1*j4DGWaN1xBDN02q`{l*B^tN z|ED0o@fYp+SKt+_k3f9lXDH6+SCHfU3Gy%CGk$L#&qFvD_QO8ej_>d|3wZ&;x%_*a zZ#TGZu8{}I6E8wI*K-ga{60@Zp5+Awzrz#F>>p}FsRd%q$)M+SvNFv5xixJIX zCB||nQ+XRQkYh0>Ls^hZS9_UFozCc$>Q$+1E;FOEQi|~uSI0F9UCN_T<(~*}`>3v~WH| z!>Z7E^iEw=QR;fKb8|n9`kqvPZM3BV_2haSUyYLWD1KcgN$+ZMDNf=ThS7))HTyiV zOX4VgElLuZbbIl}%5GOxAxgcnl~KX@p6pM(u7Xxp4t1#v|1*Aw9cSh4@sYLE*+qi2 zDkw@x&3kxtUzPHjb#EKJ=6vy1XShAQep*nn7I*s22C@jWTp;5>AB4*bqqKbk&#in# z;mup=AnKmlaYFBrkFMLy<=PfK*`4Un5%ESZj>R6{RGVT(wjiU6rV(#6jYuBtIq}ON z4#*Uef-H?IOR5Zob`On5;y{@qH1`HG@+grvZ#1T2T+V9KHss&^h!*tKNjGZlMpj1u zPdAqT>Bj1`8x_(>)|(=Z?~8Gh)~Xrzn`YcyC7$aLfkgJ$gj literal 0 HcmV?d00001 diff --git a/django/conf/locale/nb/LC_MESSAGES/djangojs.po b/django/conf/locale/nb/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..74161a54d --- /dev/null +++ b/django/conf/locale/nb/LC_MESSAGES/djangojs.po @@ -0,0 +1,119 @@ +# Norwegian (Bokmål) translation of Django Javascript +# Copyright (C) 2005 and beyond +# This file is distributed under the same license as the Django package. +# +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-12-09 11:51+0100\n" +"PO-Revision-Date: 2010-03-11 18:06+0100\n" +"Last-Translator: Christian Mikalsen and Jon Lønne\n" +"Language-Team: Norsk \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:37 +#, perl-format +msgid "Available %s" +msgstr "Tilgjengelige %s" + +#: contrib/admin/media/js/SelectFilter2.js:45 +msgid "Choose all" +msgstr "Velg alle" + +#: contrib/admin/media/js/SelectFilter2.js:50 +msgid "Add" +msgstr "Ny" + +#: contrib/admin/media/js/SelectFilter2.js:52 +msgid "Remove" +msgstr "Slett" + +#: contrib/admin/media/js/SelectFilter2.js:57 +#, perl-format +msgid "Chosen %s" +msgstr "Valgte %s" + +#: contrib/admin/media/js/SelectFilter2.js:58 +msgid "Select your choice(s) and click " +msgstr "Velg ditt valg og klikk " + +#: contrib/admin/media/js/SelectFilter2.js:63 +msgid "Clear all" +msgstr "Fjern alle" + +#: 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 "" +"Januar Februar Mars April Mai Juni Juli August September Oktober November " +"Desember" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "S M T O T F L" + +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Vis" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Skjul" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Søndag Mandag Tirsdag Onsdag Torsdag Fredag Lørdag" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:50 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 +msgid "Now" +msgstr "Nå" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:54 +msgid "Clock" +msgstr "Klokke" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Choose a time" +msgstr "Velg et klokkeslett" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 +msgid "Midnight" +msgstr "Midnatt" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +msgid "6 a.m." +msgstr "06:00" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 +msgid "Noon" +msgstr "12:00" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:92 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 +msgid "Cancel" +msgstr "Avbryt" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 +msgid "Today" +msgstr "I dag" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 +msgid "Calendar" +msgstr "Kalender" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 +msgid "Yesterday" +msgstr "I går" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 +msgid "Tomorrow" +msgstr "I morgen" diff --git a/django/conf/locale/nb/__init__.py b/django/conf/locale/nb/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/nb/formats.py b/django/conf/locale/nb/formats.py new file mode 100644 index 000000000..fbc6142e7 --- /dev/null +++ b/django/conf/locale/nb/formats.py @@ -0,0 +1,34 @@ +DATE_FORMAT = 'j. F Y' +TIME_FORMAT = 'H:i' +DATETIME_FORMAT = 'j. F Y H:i' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'd.m.Y' +SHORT_DATETIME_FORMAT = 'd.m.Y H:i' +FIRST_DAY_OF_WEEK = 1 # Monday +DATE_INPUT_FORMATS = ( + '%Y-%m-%d', '%j.%m.%Y', '%j.%m.%y', # '2006-10-25', '25.10.2006', '25.10.06' + '%Y-%m-%j', # '2006-10-25', + # '%j. %b %Y', '%j %b %Y', # '25. okt 2006', '25 okt 2006' + # '%j. %b. %Y', '%j %b. %Y', # '25. okt. 2006', '25 okt. 2006' + # '%j. %B %Y', '%j %B %Y', # '25. oktober 2006', '25 oktober 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%Y-%m-%j', # '2006-10-25' + '%j.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' + '%j.%m.%Y %H:%M', # '25.10.2006 14:30' + '%j.%m.%Y', # '25.10.2006' + '%j.%m.%y %H:%M:%S', # '25.10.06 14:30:59' + '%j.%m.%y %H:%M', # '25.10.06 14:30' + '%j.%m.%y', # '25.10.06' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = ' ' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/nl/LC_MESSAGES/django.mo b/django/conf/locale/nl/LC_MESSAGES/django.mo index 6c58e35fedd61be3e960e1ea98bfcff808903412..c7a4835487a2ad4cc0d8f3869f8edf752b4539d0 100644 GIT binary patch delta 16094 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\n" "Language-Team: \n" @@ -224,7 +224,7 @@ msgstr "Traditioneel Chinees" msgid "Successfully deleted %(count)d %(items)s." msgstr "%(count)d %(items)s succesvol verwijderd." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1025 +#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 msgid "Are you sure?" msgstr "Weet u het zeker?" @@ -322,7 +322,7 @@ msgstr "%s gewijzigd." #: contrib/admin/options.py:519 contrib/admin/options.py:529 #: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:587 +#: forms/models.py:600 msgid "and" msgstr "en" @@ -345,69 +345,69 @@ msgstr "%(name)s \"%(object)s\" verwijderd." msgid "No fields changed." msgstr "Geen velden gewijzigd." -#: contrib/admin/options.py:598 contrib/auth/admin.py:67 +#: contrib/admin/options.py:599 contrib/auth/admin.py:67 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "De %(name)s \"%(obj)s\" is toegevoegd." -#: contrib/admin/options.py:602 contrib/admin/options.py:635 +#: contrib/admin/options.py:603 contrib/admin/options.py:636 #: contrib/auth/admin.py:75 msgid "You may edit it again below." msgstr "U kunt dit hieronder weer bewerken." -#: contrib/admin/options.py:612 contrib/admin/options.py:645 +#: contrib/admin/options.py:613 contrib/admin/options.py:646 #, python-format msgid "You may add another %s below." msgstr "U kunt hieronder de volgende %s toevoegen." -#: contrib/admin/options.py:633 +#: contrib/admin/options.py:634 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "Het wijzigen van %(name)s \"%(obj)s\" is geslaagd." -#: contrib/admin/options.py:641 +#: contrib/admin/options.py:642 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "De %(name)s \"%(obj)s\" was toegevoegd. U kunt het hieronder wijzigen." -#: contrib/admin/options.py:772 +#: contrib/admin/options.py:773 #, python-format msgid "Add %s" msgstr "Toevoegen %s" -#: contrib/admin/options.py:803 contrib/admin/options.py:1003 +#: contrib/admin/options.py:804 contrib/admin/options.py:1005 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "%(name)s object met primaire sleutel %(key)r bestaat niet." -#: contrib/admin/options.py:860 +#: contrib/admin/options.py:861 #, python-format msgid "Change %s" msgstr "Wijzig %s" -#: contrib/admin/options.py:904 +#: contrib/admin/options.py:905 msgid "Database error" msgstr "Databasefout" -#: contrib/admin/options.py:940 +#: contrib/admin/options.py:941 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s %(name)s is succesvol gewijzigd." msgstr[1] "%(count)s %(name)s zijn succesvol gewijzigd." -#: contrib/admin/options.py:1018 +#: contrib/admin/options.py:1020 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "De verwijdering van %(name)s \"%(obj)s\" is geslaagd." -#: contrib/admin/options.py:1054 +#: contrib/admin/options.py:1057 #, python-format msgid "Change history: %s" msgstr "Wijzigingsgeschiedenis: %s" -#: contrib/admin/sites.py:20 contrib/admin/views/decorators.py:14 +#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 #: contrib/auth/forms.py:80 msgid "" "Please enter a correct username and password. Note that both fields are case-" @@ -416,11 +416,11 @@ msgstr "" "Voer een correcte gebruikersnaam en wachtwoord in. Let op, de velden zijn " "hoofdletter-gevoelig." -#: contrib/admin/sites.py:278 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Uw sessie is verlopen, meld u opnieuw aan." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -428,27 +428,27 @@ msgstr "" "Het lijkt erop dat uw browser geen cookies accepteert. Zet het gebruik van " "cookies aan in uw browser, laad deze pagina nogmaals en probeer het opnieuw." -#: contrib/admin/sites.py:301 contrib/admin/sites.py:307 +#: contrib/admin/sites.py:308 contrib/admin/sites.py:314 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Gebruikersnamen mogen geen '@' teken bevatten." -#: contrib/admin/sites.py:304 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Uw e-mailadres is niet uw gebruikersnaam. Probeer '%s' eens." -#: contrib/admin/sites.py:360 +#: contrib/admin/sites.py:367 msgid "Site administration" msgstr "Sitebeheer" -#: contrib/admin/sites.py:373 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Inloggen" -#: contrib/admin/sites.py:417 +#: contrib/admin/sites.py:426 #, python-format msgid "%s administration" msgstr "%s beheer" @@ -498,7 +498,7 @@ msgstr "Onze excuses, maar de gevraagde pagina bestaat niet." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:31 +#: contrib/admin/templates/admin/base.html:54 #: contrib/admin/templates/admin/change_form.html:17 #: contrib/admin/templates/admin/change_list.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:6 @@ -543,7 +543,7 @@ msgstr "Voer de geselecteerde actie uit" #: contrib/admin/templates/admin/actions.html:4 msgid "Go" -msgstr "Zoek" +msgstr "Voer Uit" #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 @@ -551,18 +551,18 @@ msgstr "Zoek" msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:27 msgid "Welcome," msgstr "Welkom," -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:32 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Documentatie" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:40 #: contrib/admin/templates/admin/auth/user/change_password.html:14 #: contrib/admin/templates/admin/auth/user/change_password.html:47 #: contrib/admin/templates/registration/password_change_done.html:3 @@ -570,7 +570,7 @@ msgstr "Documentatie" msgid "Change password" msgstr "Wachtwoord wijzigen" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:47 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 msgid "Log out" @@ -659,8 +659,8 @@ msgid "" "objects:" msgstr "" "Het verwijderen van %(object_name)s zal ook gerelateerde objecten " -"verwijderen. Echter, u heeft geen rechten om de volgende typen objecten " -"te verwijderen:" +"verwijderen. Echter, u heeft geen rechten om de volgende typen objecten te " +"verwijderen:" #: contrib/admin/templates/admin/delete_selected_confirmation.html:22 #, python-format @@ -668,8 +668,8 @@ msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " "the following objects and it's related items will be deleted:" msgstr "" -"Weet u zeker dat u %(object_name)s objecten wilt verwijderen? " -"Alle volgende objecten worden verwijderd:" +"Weet u zeker dat u %(object_name)s objecten wilt verwijderen? Alle volgende " +"objecten worden verwijderd:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -752,6 +752,11 @@ msgstr "" msgid "Show all" msgstr "Alles tonen" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Opslaan" + #: contrib/admin/templates/admin/search_form.html:8 msgid "Search" msgstr "Zoek" @@ -768,10 +773,6 @@ msgstr[1] "%(counter)s resultaten" msgid "%(full_result_count)s total" msgstr "%(full_result_count)s totaal" -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "Opslaan" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "Opslaan als nieuw item" @@ -997,144 +998,145 @@ msgstr "site" msgid "template" msgstr "sjabloon" -#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60 -#: contrib/admindocs/views.py:62 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "tag:" -#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93 -#: contrib/admindocs/views.py:95 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "filter:" -#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157 -#: contrib/admindocs/views.py:159 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "view:" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "Toepassing %r niet gevonden" -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "Model %(model_name)r niet gevonden in toepassing %(app_label)r" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "het gerelateerde `%(app_label)s.%(data_type)s` object" -#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:228 -#: contrib/admindocs/views.py:242 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "model:" -#: contrib/admindocs/views.py:237 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "gerelateerde `%(app_label)s.%(object_name)s` objecten" -#: contrib/admindocs/views.py:242 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "alle %s" -#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "aantal %s" -#: contrib/admindocs/views.py:252 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "Velden van %s objecten" -#: contrib/admindocs/views.py:315 contrib/admindocs/views.py:326 -#: contrib/admindocs/views.py:328 contrib/admindocs/views.py:334 -#: contrib/admindocs/views.py:335 contrib/admindocs/views.py:337 +#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 +#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 +#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 msgid "Integer" msgstr "Geheel getal" -#: contrib/admindocs/views.py:316 +#: contrib/admindocs/views.py:335 msgid "Boolean (Either True or False)" msgstr "Boolean (True danwel False)" -#: contrib/admindocs/views.py:317 contrib/admindocs/views.py:336 +#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 #, python-format msgid "String (up to %(max_length)s)" msgstr "Karakterreeks (hooguit %(max_length)s)" -#: contrib/admindocs/views.py:318 +#: contrib/admindocs/views.py:337 msgid "Comma-separated integers" msgstr "Komma-gescheiden gehele getallen" -#: contrib/admindocs/views.py:319 +#: contrib/admindocs/views.py:338 msgid "Date (without time)" msgstr "Datum (zonder tijd)" -#: contrib/admindocs/views.py:320 +#: contrib/admindocs/views.py:339 msgid "Date (with time)" msgstr "Datum (met tijd)" -#: contrib/admindocs/views.py:321 +#: contrib/admindocs/views.py:340 msgid "Decimal number" msgstr "Decimaal getal" -#: contrib/admindocs/views.py:322 +#: contrib/admindocs/views.py:341 msgid "E-mail address" msgstr "E-mailadres" -#: contrib/admindocs/views.py:323 contrib/admindocs/views.py:324 -#: contrib/admindocs/views.py:327 +#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 +#: contrib/admindocs/views.py:346 msgid "File path" msgstr "Bestandspad" -#: contrib/admindocs/views.py:325 +#: contrib/admindocs/views.py:344 msgid "Floating point number" msgstr "Decimaal getal" -#: contrib/admindocs/views.py:329 contrib/comments/models.py:60 +#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 msgid "IP address" msgstr "IP-adres" -#: contrib/admindocs/views.py:331 +#: contrib/admindocs/views.py:350 msgid "Boolean (Either True, False or None)" msgstr "Boolean (True, False of None)" -#: contrib/admindocs/views.py:332 +#: contrib/admindocs/views.py:351 msgid "Relation to parent model" msgstr "Relatie tot oudermodel" -#: contrib/admindocs/views.py:333 +#: contrib/admindocs/views.py:352 msgid "Phone number" msgstr "Telefoonnummer" -#: contrib/admindocs/views.py:338 +#: contrib/admindocs/views.py:357 msgid "Text" msgstr "Tekst" -#: contrib/admindocs/views.py:339 +#: contrib/admindocs/views.py:358 msgid "Time" msgstr "Tijd" -#: contrib/admindocs/views.py:340 contrib/comments/forms.py:95 +#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 #: contrib/comments/templates/comments/moderation_queue.html:37 #: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 msgid "URL" msgstr "URL" -#: contrib/admindocs/views.py:341 +#: contrib/admindocs/views.py:360 msgid "U.S. state (two uppercase letters)" msgstr "Staat van de VS (twee hoofdletters)" -#: contrib/admindocs/views.py:342 +#: contrib/admindocs/views.py:361 msgid "XML text" msgstr "XML-tekst" -#: contrib/admindocs/views.py:368 +#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s lijkt geen urlpattern-object te zijn" @@ -1361,7 +1363,7 @@ msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." msgstr "" -"Gebruik '[algo]$[salt]$[hexdigest]' of gebruik hetwachtwoord wijzigen formulier." #: contrib/auth/models.py:133 @@ -1530,8 +1532,8 @@ msgid "" "Check this box if the comment is inappropriate. A \"This comment has been " "removed\" message will be displayed instead." msgstr "" -"Vink dit vak aan indien de opmerking niet gepast is. Een \"Dit commentaar " -"is verwijderd\" bericht wordt dan getoond." +"Vink dit vak aan indien de opmerking niet gepast is. Een \"Dit commentaar is " +"verwijderd\" bericht wordt dan getoond." #: contrib/comments/models.py:77 msgid "comments" @@ -1607,7 +1609,8 @@ msgstr "Bedankt voor het goedkeuren" msgid "" "Thanks for taking the time to improve the quality of discussion on our site" msgstr "" -"Bedankt dat u de tijd heeft genomen om de kwaliteit van de discussie op onze site te verbeteren" +"Bedankt dat u de tijd heeft genomen om de kwaliteit van de discussie op onze " +"site te verbeteren" #: contrib/comments/templates/comments/delete.html:4 msgid "Remove a comment" @@ -2190,12 +2193,12 @@ msgstr "Geef een postcode op in het formaat XXXXX of XXX XX." #: contrib/localflavor/cz/forms.py:47 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." -msgstr "" -"Geef een geboorte nummer op in het formaat XXXXXX/XXXX or XXXXXXXXXX." +msgstr "Geef een geboorte nummer op in het formaat XXXXXX/XXXX or XXXXXXXXXX." #: contrib/localflavor/cz/forms.py:48 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" -msgstr "Ongeldige optionele parameter Geslacht, geldige waarden zijn 'f' en 'm'" +msgstr "" +"Ongeldige optionele parameter Geslacht, geldige waarden zijn 'f' en 'm'" #: contrib/localflavor/cz/forms.py:49 msgid "Enter a valid birth number." @@ -3035,7 +3038,8 @@ msgstr "Verkeerd controlecijfer voor het fiscaal nummer (NIP)." #: contrib/localflavor/pl/forms.py:109 msgid "National Business Register Number (REGON) consists of 9 or 14 digits." msgstr "" -"Het Nationaal Zakelijk Registratie Nummer (REGON) bestaat uit 9 of 14 cijfers." +"Het Nationaal Zakelijk Registratie Nummer (REGON) bestaat uit 9 of 14 " +"cijfers." #: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." @@ -3883,7 +3887,7 @@ msgstr "sites" msgid "This value must be an integer." msgstr "De waarde moet een geheel getal zijn." -#: db/models/fields/__init__.py:3883918 +#: db/models/fields/__init__.py:388 msgid "This value must be either True or False." msgstr "De waarde moet of True (Waar) of False (Onwaar) zijn." @@ -3912,8 +3916,8 @@ msgstr "Geef geldige datum/tijd in JJJJ-MM-DD UU:MM[:ss[.uuuuuu]] formaat." msgid "This value must be a decimal number." msgstr "De waarde moet een decimaal getal zijn." -#: db/models/fields/__init__.py:686 # Choose 'kommagetal' because it's user input. +#: db/models/fields/__init__.py:686 msgid "This value must be a float." msgstr "De waarde moet een kommagetal zijn." @@ -3925,14 +3929,14 @@ msgstr "De waarde moet of None (leeg), True (Waar) of False (Onwaar) zijn." msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Geef een geldige tijd in UU:MM[:ss[.uuuuuu]] formaat." -#: db/models/fields/related.py:792 +#: db/models/fields/related.py:816 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:870 +#: db/models/fields/related.py:894 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3952,15 +3956,15 @@ msgstr "Geef een geldige waarde." #, python-format msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." msgstr "" -"Zorg ervoor dat waarde korter is dan %(max)d tekens (huidige lengte " -"%(length)d)." +"Zorg ervoor dat waarde korter is dan %(max)d tekens (huidige lengte %(length)" +"d)." #: forms/fields.py:139 #, python-format msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." msgstr "" -"Zorg ervoor dat deze tekst langer is dan %(min)d tekens (huidige lengte " -"%(length)d)." +"Zorg ervoor dat deze tekst langer is dan %(min)d tekens (huidige lengte %" +"(length)d)." #: forms/fields.py:166 msgid "Enter a whole number." @@ -4026,7 +4030,8 @@ msgstr "Het verstuurde bestand is leeg." msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr "" -"De bestandsnaam mag maximaal %(max)d karakters bevatten (dit zijn er nu %(length)d)." +"De bestandsnaam mag maximaal %(max)d karakters bevatten (dit zijn er nu %" +"(length)d)." #: forms/fields.py:483 msgid "" @@ -4049,7 +4054,7 @@ msgstr "Deze URL lijkt niet te werken." msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Selecteer een geldige keuze. %(value)s is geen beschikbare keuze." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:962 +#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 msgid "Enter a list of values." msgstr "Geef een lijst op met waardes." @@ -4078,43 +4083,45 @@ msgstr "%(field_name)s moet uniek zijn voor %(date_field)s %(lookup)s." msgid "%(model_name)s with this %(field_label)s already exists." msgstr "Er bestaat al een %(model_name)s met eenzelfde %(field_label)s." -#: forms/models.py:581 +#: forms/models.py:594 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Verbeter de dubbele gegevens voor %(field)s." -#: forms/models.py:585 +#: forms/models.py:598 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "Verbeter de dubbele gegevens voor %(field)s, welke uniek moet zijn." -#: forms/models.py:591 +#: forms/models.py:604 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " "for the %(lookup)s in %(date_field)s." -msgstr "Verbeter de dubbele gegevens voor %(field_name)s, welke uniek moet " -"zijn voor de %(lookup)s in %(date_field)s." +msgstr "" +"Verbeter de dubbele gegevens voor %(field_name)s, welke uniek moet zijn voor " +"de %(lookup)s in %(date_field)s." -#: forms/models.py:599 +#: forms/models.py:612 msgid "Please correct the duplicate values below." msgstr "Verbeter de dubbele waarden hieronder." -#: forms/models.py:837 +#: forms/models.py:867 msgid "The inline foreign key did not match the parent instance primary key." -msgstr "De secundaire sleutel komt niet overeen met de primaire sleutel van " -"de bovenliggende instantie." +msgstr "" +"De secundaire sleutel komt niet overeen met de primaire sleutel van de " +"bovenliggende instantie." -#: forms/models.py:892 +#: forms/models.py:930 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Selecteer een geldige keuze. Deze keuze is niet beschikbaar." -#: forms/models.py:963 +#: forms/models.py:1004 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Selecteer een geldige keuze. %s is geen beschikbare keuze." -#: forms/models.py:965 +#: forms/models.py:1006 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" is geen geldige waarde voor een primaire sleutel." @@ -4132,40 +4139,40 @@ msgstr[1] "%(size)d bytes" #: template/defaultfilters.py:800 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" #: template/defaultfilters.py:802 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" #: template/defaultfilters.py:803 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" -#: utils/dateformat.py:41 +#: utils/dateformat.py:42 msgid "p.m." msgstr "p.m." -#: utils/dateformat.py:42 +#: utils/dateformat.py:43 msgid "a.m." msgstr "a.m." -#: utils/dateformat.py:47 +#: utils/dateformat.py:48 msgid "PM" msgstr "PM" -#: utils/dateformat.py:48 +#: utils/dateformat.py:49 msgid "AM" msgstr "AM" -#: utils/dateformat.py:97 +#: utils/dateformat.py:98 msgid "midnight" msgstr "middernacht" -#: utils/dateformat.py:99 +#: utils/dateformat.py:100 msgid "noon" msgstr "middag" diff --git a/django/conf/locale/nl/__init__.py b/django/conf/locale/nl/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/nl/formats.py b/django/conf/locale/nl/formats.py new file mode 100644 index 000000000..cdbedb02f --- /dev/null +++ b/django/conf/locale/nl/formats.py @@ -0,0 +1,48 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F Y' # '20 januari 2009' +TIME_FORMAT = 'H:i' # '15:23' +DATETIME_FORMAT = 'j F Y H:i' # '20 januari 2009 15:23' +YEAR_MONTH_FORMAT = 'F Y' # 'januari 2009' +MONTH_DAY_FORMAT = 'j F' # '20 januari' +SHORT_DATE_FORMAT = 'j-n-Y' # '20-1-2009' +SHORT_DATETIME_FORMAT = 'j-n-Y H:i' # '20-1-2009 15:23' +FIRST_DAY_OF_WEEK = 1 # Monday (in Dutch 'maandag') +DATE_INPUT_FORMATS = ( + '%d-%m-%Y', '%d-%m-%y', '%Y-%m-%d', # '20-01-2009', '20-01-09', '2009-01-20' + # '%d %b %Y', '%d %b %y', # '20 jan 2009', '20 jan 09' + # '%d %B %Y', '%d %B %y', # '20 januari 2009', '20 januari 09' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '15:23:35' + '%H.%M:%S', # '15.23:35' + '%H.%M', # '15.23' + '%H:%M', # '15:23' +) +DATETIME_INPUT_FORMATS = ( + # With time in %H:%M:%S : + '%d-%m-%Y %H:%M:%S', '%d-%m-%y %H:%M:%S', '%Y-%m-%d %H:%M:%S', # '20-01-2009 15:23:35', '20-01-09 15:23:35', '2009-01-20 15:23:35' + # '%d %b %Y %H:%M:%S', '%d %b %y %H:%M:%S', # '20 jan 2009 15:23:35', '20 jan 09 15:23:35' + # '%d %B %Y %H:%M:%S', '%d %B %y %H:%M:%S', # '20 januari 2009 15:23:35', '20 januari 2009 15:23:35' + # With time in %H.%M:%S : + '%d-%m-%Y %H.%M:%S', '%d-%m-%y %H.%M:%S', # '20-01-2009 15.23:35', '20-01-09 15.23:35' + # '%d %b %Y %H.%M:%S', '%d %b %y %H.%M:%S', # '20 jan 2009 15.23:35', '20 jan 09 15.23:35' + # '%d %B %Y %H.%M:%S', '%d %B %y %H.%M:%S', # '20 januari 2009 15.23:35', '20 januari 2009 15.23:35' + # With time in %H:%M : + '%d-%m-%Y %H:%M', '%d-%m-%y %H:%M', '%Y-%m-%d %H:%M', # '20-01-2009 15:23', '20-01-09 15:23', '2009-01-20 15:23' + # '%d %b %Y %H:%M', '%d %b %y %H:%M', # '20 jan 2009 15:23', '20 jan 09 15:23' + # '%d %B %Y %H:%M', '%d %B %y %H:%M', # '20 januari 2009 15:23', '20 januari 2009 15:23' + # With time in %H.%M : + '%d-%m-%Y %H.%M', '%d-%m-%y %H.%M', # '20-01-2009 15.23', '20-01-09 15.23' + # '%d %b %Y %H.%M', '%d %b %y %H.%M', # '20 jan 2009 15.23', '20 jan 09 15.23' + # '%d %B %Y %H.%M', '%d %B %y %H.%M', # '20 januari 2009 15.23', '20 januari 2009 15.23' + # Without time : + '%d-%m-%Y', '%d-%m-%y', '%Y-%m-%d', # '20-01-2009', '20-01-09', '2009-01-20' + # '%d %b %Y', '%d %b %y', # '20 jan 2009', '20 jan 09' + # '%d %B %Y', '%d %B %y', # '20 januari 2009', '20 januari 2009' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/nn/LC_MESSAGES/django.mo b/django/conf/locale/nn/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..ad7cb5456b42f3b77e83d9e29d43a00fe0783e70 GIT binary patch literal 72347 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 P@1w;rz!RStMos^3(&*T% literal 0 HcmV?d00001 diff --git a/django/conf/locale/nn/LC_MESSAGES/django.po b/django/conf/locale/nn/LC_MESSAGES/django.po new file mode 100644 index 000000000..fae54c58f --- /dev/null +++ b/django/conf/locale/nn/LC_MESSAGES/django.po @@ -0,0 +1,5150 @@ +# translation of django.po to norwegian nynorsk +# Copyright (C) 2005 and beyond +# This file is distributed under the same license as the Django package. +# +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-05-16 22:39+0200\n" +"PO-Revision-Date: 2010-03-04 12:13+0200\n" +"Last-Translator: Håvard Grimelid\n" +"Language-Team: Norsk nynorsk \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: conf/global_settings.py:44 +msgid "Arabic" +msgstr "Arabisk" + +#: conf/global_settings.py:45 +msgid "Bulgarian" +msgstr "Bulgarsk" + +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Bengalsk" + +#: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Bosnisk" + +#: conf/global_settings.py:48 +msgid "Catalan" +msgstr "Katalansk" + +#: conf/global_settings.py:49 +msgid "Czech" +msgstr "Tsjekkisk" + +#: conf/global_settings.py:50 +msgid "Welsh" +msgstr "Walisisk" + +#: conf/global_settings.py:51 +msgid "Danish" +msgstr "Dansk" + +#: conf/global_settings.py:52 +msgid "German" +msgstr "Tysk" + +#: conf/global_settings.py:53 +msgid "Greek" +msgstr "Gresk" + +#: conf/global_settings.py:54 +msgid "English" +msgstr "Engelsk" + +#: conf/global_settings.py:55 +msgid "British English" +msgstr "Engelsk (britisk)" + +#: conf/global_settings.py:56 +msgid "Spanish" +msgstr "Spansk" + +#: conf/global_settings.py:57 +msgid "Argentinean Spanish" +msgstr "Argentinsk spansk" + +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "Estisk" + +#: conf/global_settings.py:59 +msgid "Basque" +msgstr "Baskisk" + +#: conf/global_settings.py:60 +msgid "Persian" +msgstr "Persisk" + +#: conf/global_settings.py:61 +msgid "Finnish" +msgstr "Finsk" + +#: conf/global_settings.py:62 +msgid "French" +msgstr "Fransk" + +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Frisisk" + +#: conf/global_settings.py:64 +msgid "Irish" +msgstr "Irsk" + +#: conf/global_settings.py:65 +msgid "Galician" +msgstr "Galisisk" + +#: conf/global_settings.py:66 +msgid "Hebrew" +msgstr "Hebraisk" + +#: conf/global_settings.py:67 +msgid "Hindi" +msgstr "Hindi" + +#: conf/global_settings.py:68 +msgid "Croatian" +msgstr "Kroatisk" + +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Ungarsk" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "Indonesisk" + +#: conf/global_settings.py:71 +msgid "Icelandic" +msgstr "Islandsk" + +#: conf/global_settings.py:72 +msgid "Italian" +msgstr "Italiensk" + +#: conf/global_settings.py:73 +msgid "Japanese" +msgstr "Japansk" + +#: conf/global_settings.py:74 +msgid "Georgian" +msgstr "Georgisk" + +#: conf/global_settings.py:75 +msgid "Khmer" +msgstr "Khmer" + +#: conf/global_settings.py:76 +msgid "Kannada" +msgstr "Kannada" + +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "Koreansk" + +#: conf/global_settings.py:78 +msgid "Lithuanian" +msgstr "Litauisk" + +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "Latvisk" + +#: conf/global_settings.py:80 +msgid "Macedonian" +msgstr "Makedonsk" + +#: conf/global_settings.py:81 +msgid "Mongolian" +msgstr "Mongolsk" + +#: conf/global_settings.py:82 +msgid "Dutch" +msgstr "Nederlandsk" + +#: conf/global_settings.py:83 +msgid "Norwegian" +msgstr "Norsk" + +#: conf/global_settings.py:84 +msgid "Norwegian Bokmal" +msgstr "Norsk (bokmål)" + +#: conf/global_settings.py:85 +msgid "Norwegian Nynorsk" +msgstr "Norsk (nynorsk)" + +#: conf/global_settings.py:86 +msgid "Polish" +msgstr "Polsk" + +#: conf/global_settings.py:87 +msgid "Portuguese" +msgstr "Portugisisk" + +#: conf/global_settings.py:88 +msgid "Brazilian Portuguese" +msgstr "Brasiliansk portugisisk" + +#: conf/global_settings.py:89 +msgid "Romanian" +msgstr "Rumensk" + +#: conf/global_settings.py:90 +msgid "Russian" +msgstr "Russisk" + +#: conf/global_settings.py:91 +msgid "Slovak" +msgstr "Slovakisk" + +#: conf/global_settings.py:92 +msgid "Slovenian" +msgstr "Slovensk" + +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "Albansk" + +#: conf/global_settings.py:94 +msgid "Serbian" +msgstr "Serbisk" + +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "Serbisk latin" + +#: conf/global_settings.py:96 +msgid "Swedish" +msgstr "Svensk" + +#: conf/global_settings.py:97 +msgid "Tamil" +msgstr "Tamil" + +#: conf/global_settings.py:98 +msgid "Telugu" +msgstr "Telugu" + +#: conf/global_settings.py:99 +msgid "Thai" +msgstr "Thai" + +#: conf/global_settings.py:100 +msgid "Turkish" +msgstr "Tyrkisk" + +#: conf/global_settings.py:101 +msgid "Ukrainian" +msgstr "Ukrainsk" + +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "Vietnamesisk" + +#: conf/global_settings.py:103 +msgid "Simplified Chinese" +msgstr "Simplifisert kinesisk" + +#: conf/global_settings.py:104 +msgid "Traditional Chinese" +msgstr "Tradisjonell kinesisk" + +#: contrib/admin/actions.py:48 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Sletta %(count)d %(items)s." + +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 +msgid "Are you sure?" +msgstr "Er du sikker?" + +#: contrib/admin/actions.py:73 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Slett valgte %(verbose_name_plural)s" + +#: contrib/admin/filterspecs.py:44 +#, python-format +msgid "" +"

                                    By %s:

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

                                      Etter %s:

                                      \n" +"
                                        \n" + +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "Alle" + +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "Når som helst" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "I dag" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "Siste sju dager" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "Denne månaden" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "I år" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 +msgid "Yes" +msgstr "Ja" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 +msgid "No" +msgstr "Nei" + +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 +msgid "Unknown" +msgstr "Ukjend" + +#: contrib/admin/helpers.py:20 +msgid "Action:" +msgstr "Handling:" + +#: contrib/admin/models.py:19 +msgid "action time" +msgstr "tid for handling" + +#: contrib/admin/models.py:22 +msgid "object id" +msgstr "objekt-ID" + +#: contrib/admin/models.py:23 +msgid "object repr" +msgstr "objekt repr" + +#: contrib/admin/models.py:24 +msgid "action flag" +msgstr "handlingsflagg" + +#: contrib/admin/models.py:25 +msgid "change message" +msgstr "endre melding" + +#: contrib/admin/models.py:28 +msgid "log entry" +msgstr "logginnlegg" + +#: contrib/admin/models.py:29 +msgid "log entries" +msgstr "logginnlegg" + +#: contrib/admin/options.py:138 contrib/admin/options.py:153 +msgid "None" +msgstr "Ingen" + +#: contrib/admin/options.py:559 +#, python-format +msgid "Changed %s." +msgstr "Endra %s." + +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:845 +#: forms/models.py:568 +msgid "and" +msgstr "og" + +#: contrib/admin/options.py:564 +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "Oppretta %(name)s \"%(object)s\"." + +#: contrib/admin/options.py:568 +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "Endra %(list)s for %(name)s \"%(object)s\"." + +#: contrib/admin/options.py:573 +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "Sletta %(name)s \"%(object)s\"." + +#: contrib/admin/options.py:577 +msgid "No fields changed." +msgstr "Ingen felt endra." + +#: contrib/admin/options.py:643 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" vart oppretta." + +#: contrib/admin/options.py:647 contrib/admin/options.py:680 +msgid "You may edit it again below." +msgstr "Du kan redigere vidare nedanfor." + +#: contrib/admin/options.py:657 contrib/admin/options.py:690 +#, python-format +msgid "You may add another %s below." +msgstr "Du kan opprette ny %s nedanfor." + +#: contrib/admin/options.py:678 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" vart endra." + +#: contrib/admin/options.py:686 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "%(name)s \"%(obj)s\" vart endra Du kan redigere vidare nedanfor." + +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Objekt må vere valde for at dei skal kunne utførast handlingar på. Ingen " +"object er endra." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Inga valt handling." + +#: contrib/admin/options.py:840 +#, python-format +msgid "Add %s" +msgstr "Opprett %s" + +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "%(name)s-objekt med primærnøkkelen %(key)r eksisterer ikkje." + +#: contrib/admin/options.py:931 +#, python-format +msgid "Change %s" +msgstr "Rediger %s" + +#: contrib/admin/options.py:977 +msgid "Database error" +msgstr "Databasefeil" + +#: contrib/admin/options.py:1039 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s %(name)s vart endra." +msgstr[1] "%(count)s %(name)s vart endra." + +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Ingen av %(cnt)s valde" + +#: contrib/admin/options.py:1118 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" vart sletta." + +#: contrib/admin/options.py:1155 +#, python-format +msgid "Change history: %s" +msgstr "Endringshistorikk: %s" + +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"Gje korrekt brukarnamn og passord. Merk at det er forskjell på små og store " +"bokstavar." + +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 +msgid "Please log in again, because your session has expired." +msgstr "Økta har tidsavbrot, logg inn att." + +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Det ser ut til at nettlesaren din ikkje støttar informasjonskapslar " +"(cookies). Konfigurer nettlesaren din og prøv omatt." + +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 +#: contrib/admin/views/decorators.py:66 +msgid "Usernames cannot contain the '@' character." +msgstr "Brukarnamnet kan ikkje innehalde teiknet '@'." + +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "E-postadressa er ikkje brukarnamnet ditt, prøv '%s' istadenfor." + +#: contrib/admin/sites.py:389 +msgid "Site administration" +msgstr "Nettstadsadministrasjon" + +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/templates/registration/password_reset_complete.html:14 +#: contrib/admin/views/decorators.py:20 +msgid "Log in" +msgstr "Logg inn" + +#: contrib/admin/sites.py:448 +#, python-format +msgid "%s administration" +msgstr "%s-administrasjon" + +#: contrib/admin/widgets.py:75 +msgid "Date:" +msgstr "Dato:" + +#: contrib/admin/widgets.py:75 +msgid "Time:" +msgstr "Tid:" + +#: contrib/admin/widgets.py:99 +msgid "Currently:" +msgstr "No:" + +#: contrib/admin/widgets.py:99 +msgid "Change:" +msgstr "Endre:" + +#: contrib/admin/widgets.py:129 +msgid "Lookup" +msgstr "Oppslag" + +#: contrib/admin/widgets.py:244 +msgid "Add Another" +msgstr "Legg til ny" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Fann ikkje sida" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Sida du spør etter finst ikkje." + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/app_index.html:8 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: 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:5 +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "Heim" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Tenarfeil" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Tenarfeil (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Tenarfeil (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 "" +"Det har oppstått ein feil. Feilen er rapportert til administrator via e-" +"post, og vil bli fiksa snart. " + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "Utfør den valde handlinga" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "Gå" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Klikk her for å velje objekt på tvers av alle sider" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Velg alle %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Nullstill utval" + +#: contrib/admin/templates/admin/app_index.html:10 +#: contrib/admin/templates/admin/index.html:19 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/base.html:28 +msgid "Welcome," +msgstr "Velkommen," + +#: contrib/admin/templates/admin/base.html:33 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Dokumentasjon" + +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Change password" +msgstr "Endre passord" + +#: contrib/admin/templates/admin/base.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Log out" +msgstr "Logg ut" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Django administrasjonsside" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Django-administrasjon" + +#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/index.html:29 +msgid "Add" +msgstr "Opprett" + +#: contrib/admin/templates/admin/change_form.html:28 +#: contrib/admin/templates/admin/object_history.html:10 +msgid "History" +msgstr "Historikk" + +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 +msgid "View on site" +msgstr "Vis på nettstad" + +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Korriger feilen under." +msgstr[1] "Korriger feila under." + +#: contrib/admin/templates/admin/change_list.html:63 +#, python-format +msgid "Add %(name)s" +msgstr "Opprett %(name)s" + +#: contrib/admin/templates/admin/change_list.html:82 +msgid "Filter" +msgstr "Filtrering" + +#: contrib/admin/templates/admin/delete_confirmation.html:10 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 +msgid "Delete" +msgstr "Slett" + +#: contrib/admin/templates/admin/delete_confirmation.html:16 +#, 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 "" +"Dersom du slettar %(object_name)s '%(escaped_object)s', vil også slette " +"relaterte objekt, men du har ikkje løyve til å slette følgande objekttypar:" + +#: contrib/admin/templates/admin/delete_confirmation.html:23 +#, 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 "" +"Er du sikker på at du vil slette %(object_name)s \"%(escaped_object)s\"? " +"Alle dei følgjande relaterte objekta vil bli sletta:" + +#: contrib/admin/templates/admin/delete_confirmation.html:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 +msgid "Yes, I'm sure" +msgstr "Ja, eg er sikker" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "Slett fleire objekt" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)s would result in deleting related objects, but " +"your account doesn't have permission to delete the following types of " +"objects:" +msgstr "" +"Sletting av %(object_name)s vil også slette relaterte objekt, men du har " +"ikkje løyve til å slette følgjande objekttypar:" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" +"Er du sikker på at du vil slette desse %(object_name)s-objekta? Dei " +"følgjande objekta og deira relaterte objekt vil bli sletta:" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "Etter %(filter_title)s " + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modellar tilgjengeleg i %(name)s-applikasjonen." + +#: contrib/admin/templates/admin/index.html:35 +msgid "Change" +msgstr "Endre" + +#: contrib/admin/templates/admin/index.html:45 +msgid "You don't have permission to edit anything." +msgstr "Du har ikkje løyve til å redigere noko." + +#: contrib/admin/templates/admin/index.html:53 +msgid "Recent Actions" +msgstr "Siste handlingar" + +#: contrib/admin/templates/admin/index.html:54 +msgid "My Actions" +msgstr "Mine handlingar" + +#: contrib/admin/templates/admin/index.html:58 +msgid "None available" +msgstr "Ingen tilgjengelege" + +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "Ukjent innhald" + +#: 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 "" +"Noko er gale med databaseinstallasjonen din. Syt for at databasetabellane er " +"oppretta og at brukaren har dei naudsynte løyve." + +#: contrib/admin/templates/admin/login.html:19 +msgid "Username:" +msgstr "Brukarnamn:" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Password:" +msgstr "Passord:" + +#: contrib/admin/templates/admin/object_history.html:22 +msgid "Date/time" +msgstr "Dato/tid" + +#: contrib/admin/templates/admin/object_history.html:23 +msgid "User" +msgstr "Brukar" + +#: contrib/admin/templates/admin/object_history.html:24 +msgid "Action" +msgstr "Handling" + +#: contrib/admin/templates/admin/object_history.html:38 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Dette objektet har ingen endringshistorikk. Det var sannsynlegvis ikkje " +"oppretta med administrasjonssida." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Vis alle" + +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Lagre" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Search" +msgstr "Søk" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "Ett 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/submit_line.html:5 +msgid "Save as new" +msgstr "Lagre som ny" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and add another" +msgstr "Lagre og opprett ny" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save and continue editing" +msgstr "Lagre og hald fram å redigere" + +#: contrib/admin/templates/admin/auth/user/add_form.html:5 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Skriv først inn brukernamn og passord. Deretter vil du få høve til å endre " +"fleire brukarinnstillingar." + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Skriv inn eit nytt passord for brukaren %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Passord" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Passord (gjenta)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Skriv inn det samme passordet som over, for verifisering." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Legg til ny %(verbose_name)s." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Fjern" + +#: contrib/admin/templates/admin/edit_inline/tabular.html:15 +msgid "Delete?" +msgstr "Slette?" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Takk for at du brukte kvalitetstid på nettstaden i dag." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Logg inn att" + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "Password change" +msgstr "Endre passord" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Passord endra" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Passordet ditt vart endret." + +#: contrib/admin/templates/registration/password_change_form.html:21 +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 "" +"Av sikkerheitsgrunnar må du oppgje det gamle passordet ditt. Oppgje så det " +"nye passordet ditt to gonger, slik at vi kan kontrollere at det er korrekt." + +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Gammalt passord" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Nytt passord" + +#: contrib/admin/templates/registration/password_change_form.html:43 +#: contrib/admin/templates/registration/password_reset_confirm.html:21 +msgid "Change my password" +msgstr "Endre passord" + +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:6 +#: 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 "Nullstill passord" + +#: contrib/admin/templates/registration/password_reset_complete.html:6 +#: contrib/admin/templates/registration/password_reset_complete.html:10 +msgid "Password reset complete" +msgstr "Passord nullstilt" + +#: contrib/admin/templates/registration/password_reset_complete.html:12 +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Passordet ditt er sett. Du kan logge inn." + +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +msgid "Password reset confirmation" +msgstr "Stadfesting på nullstilt passord" + +#: contrib/admin/templates/registration/password_reset_confirm.html:12 +msgid "Enter new password" +msgstr "Oppgje nytt passord" + +#: contrib/admin/templates/registration/password_reset_confirm.html:14 +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Oppgje det nye passordet ditt to gonger, for å sikre at du oppgjev det " +"korrekt." + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Nytt passord:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Gjenta nytt passord:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:26 +msgid "Password reset unsuccessful" +msgstr "Passordet vart ikkje nullstilt" + +#: contrib/admin/templates/registration/password_reset_confirm.html:28 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Nullstillingslinken er ugyldig, kanskje fordi den allereie har vore brukt. " +"Nullstill passordet ditt på nytt." + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Passordet vart nullstilt" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed you instructions for setting your password to the e-mail " +"address you submitted. You should be receiving it shortly." +msgstr "" +"Vi har sendt deg ein e-post med instruksjonar for nullstilling av passord. " +"Du bør motta den om kort tid." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "" +"Du har mottatt denne e-posten fordi du har bedt om nullstilling av passordet " +"ditt" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "for kontoen din på %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +msgid "Please go to the following page and choose a new password:" +msgstr "Gå til følgjande side og velg eit nytt passord:" + +#: contrib/admin/templates/registration/password_reset_email.html:9 +msgid "Your username, in case you've forgotten:" +msgstr "Brukarnamnet ditt, i tilfelle du har gløymt det:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Thanks for using our site!" +msgstr "Takk for at du brukar sida vår!" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +#, python-format +msgid "The %(site_name)s team" +msgstr "Helsing %(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 e-mail " +"instructions for setting a new one." +msgstr "" +"Har du gløymt passordet ditt? Oppgje e-postadressa di under, så sender vi " +"deg ein e-post med instruksjonar for nullstilling av passord." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "E-postadresse:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Nullstill passordet" + +#: contrib/admin/templatetags/admin_list.py:257 +msgid "All dates" +msgstr "Alle datoar" + +#: contrib/admin/views/main.py:65 +#, python-format +msgid "Select %s" +msgstr "Velg %s" + +#: contrib/admin/views/main.py:65 +#, python-format +msgid "Select %s to change" +msgstr "Velg %s du ønskar å redigere" + +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 +msgid "site" +msgstr "nettstad" + +#: contrib/admin/views/template.py:40 +msgid "template" +msgstr "mal" + +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 +msgid "tag:" +msgstr "tag:" + +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 +msgid "filter:" +msgstr "filter:" + +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 +msgid "view:" +msgstr "view:" + +#: contrib/admindocs/views.py:190 +#, python-format +msgid "App %r not found" +msgstr "Kunne ikkje finne applikasjonen %r" + +#: contrib/admindocs/views.py:197 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr "" +"Kunne ikkje finne modellen %(model_name)r i applikasjonen %(app_label)r" + +#: contrib/admindocs/views.py:209 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "det relaterte `%(app_label)s.%(data_type)s`-objektet" + +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 +msgid "model:" +msgstr "modell:" + +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "relaterte `%(app_label)s.%(object_name)s`-objekt" + +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 +#, python-format +msgid "all %s" +msgstr "alle %s" + +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 +#, python-format +msgid "number of %s" +msgstr "tal på %s" + +#: contrib/admindocs/views.py:271 +#, python-format +msgid "Fields on %s objects" +msgstr "Felt på %s-objekt" + +#: contrib/admindocs/views.py:361 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s ser ikkje ut til å vere eit urlpattern-objekt" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Bokmerke" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "Dokumentasjonsbokmerke" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

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

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

                                        For å installere bokmerke, dra linken til verktøylinja\n" +"for bokmerke, eller høgreklikk og legg til i bokmerke. No kan du du velge\n" +"bokmerket frå kva som helst side på nettstaden. Nokre av desse\n" +"bokmerka krevar at datamaskina du brukar er markert som \"intern\"\n" +"(kontakt systemadministratoren din dersom du er usikker på om maskina di er " +"\"intern\").

                                        \n" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "Dokumentasjon for denne sida" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"Hopp frå kva som helst side til dokumentasjonen for visingsfunksjonen som " +"genererte sida." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "Vis objekt-ID" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Viser \"content-type\" og ein unik ID for sider som representerar eit enkelt " +"objekt." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "Endre dette objektet (noverande vindauge)" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"Hoppar til administrasjonssida for sider som representerer eit enkelt objekt." + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "Endre dette objektet (nytt vindauge)" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "Samme som over, men opnar administrasjonssida i eit nytt vindauge." + +#: contrib/auth/admin.py:29 +msgid "Personal info" +msgstr "Personleg informasjon" + +#: contrib/auth/admin.py:30 +msgid "Permissions" +msgstr "Løyve" + +#: contrib/auth/admin.py:31 +msgid "Important dates" +msgstr "Viktige datoar" + +#: contrib/auth/admin.py:32 +msgid "Groups" +msgstr "Grupper" + +#: contrib/auth/admin.py:114 +msgid "Password changed successfully." +msgstr "Passordet er endra." + +#: contrib/auth/admin.py:124 +#, python-format +msgid "Change password: %s" +msgstr "Endre passord: %s" + +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Brukarnamn" + +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Nødvendig. 30 teikn eller færre. Berre bokstavar, tall @/./+/-/_." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Feltet kan berre innehalde bokstavar, nummer og @/./+/-/_." + +#: contrib/auth/forms.py:18 +msgid "Password confirmation" +msgstr "Stadfesting av passord" + +#: contrib/auth/forms.py:31 +msgid "A user with that username already exists." +msgstr "Det eksisterar allereie ein brukar med dette brukernamnet." + +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 +msgid "The two password fields didn't match." +msgstr "Dei to passordfelta er ikkje like." + +#: contrib/auth/forms.py:83 +msgid "This account is inactive." +msgstr "Denne kontoen er inaktiv." + +#: contrib/auth/forms.py:88 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Nettlesaren din ser ikkje ut til å støtte informasjonskapslar (cookies). " +"Informasjonskapslar er nødvendige for å logge inn." + +#: contrib/auth/forms.py:101 +msgid "E-mail" +msgstr "E-post" + +#: contrib/auth/forms.py:110 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Den oppgitte e-postadressa er ikkje registrert hos oss. Er du sikker på at " +"du er registrert?" + +#: contrib/auth/forms.py:136 +#, python-format +msgid "Password reset on %s" +msgstr "Nullstilling av passord på %s" + +#: contrib/auth/forms.py:145 +msgid "New password confirmation" +msgstr "Stadfest nytt passord" + +#: contrib/auth/forms.py:178 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Det gamle passordet er feil. Prøv omatt." + +#: contrib/auth/models.py:66 contrib/auth/models.py:94 +msgid "name" +msgstr "namn" + +#: contrib/auth/models.py:68 +msgid "codename" +msgstr "kodenamn" + +#: contrib/auth/models.py:72 +msgid "permission" +msgstr "løyve" + +#: contrib/auth/models.py:73 contrib/auth/models.py:95 +msgid "permissions" +msgstr "løyve" + +#: contrib/auth/models.py:98 +msgid "group" +msgstr "gruppe" + +#: contrib/auth/models.py:99 contrib/auth/models.py:206 +msgid "groups" +msgstr "grupper" + +#: contrib/auth/models.py:196 +msgid "username" +msgstr "brukarnamn" + +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "Nødvendig. 30 teikn eller færre. Berre bokstavar, tall @/./+/-/_." + +#: contrib/auth/models.py:197 +msgid "first name" +msgstr "fornamn" + +#: contrib/auth/models.py:198 +msgid "last name" +msgstr "etternamn" + +#: contrib/auth/models.py:199 +msgid "e-mail address" +msgstr "e-postadresse" + +#: contrib/auth/models.py:200 +msgid "password" +msgstr "passord" + +#: contrib/auth/models.py:200 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Bruk '[algo]$[salt]$[hexdigest]' eller endre passord-" +"skjemaet." + +#: contrib/auth/models.py:201 +msgid "staff status" +msgstr "administrasjonsstatus" + +#: contrib/auth/models.py:201 +msgid "Designates whether the user can log into this admin site." +msgstr "Angir at brukaren kan logge inn på denne administrasjonssida." + +#: contrib/auth/models.py:202 +msgid "active" +msgstr "aktiv" + +#: contrib/auth/models.py:202 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" +"Angir at denne brukaren er aktiv. Avmerk denne i staden for å slette kontoen." + +#: contrib/auth/models.py:203 +msgid "superuser status" +msgstr "superbrukar" + +#: contrib/auth/models.py:203 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "Angir at denne brukaren har alle løyve utan å eksplisitt sette dei." + +#: contrib/auth/models.py:204 +msgid "last login" +msgstr "siste innlogging" + +#: contrib/auth/models.py:205 +msgid "date joined" +msgstr "registrert" + +#: contrib/auth/models.py:207 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"I tillegg til dei løyva som vert angitt manuelt, får brukaren òg løyve til " +"gruppene han/hon er med i." + +#: contrib/auth/models.py:208 +msgid "user permissions" +msgstr "Brukerløyve" + +#: contrib/auth/models.py:212 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 +msgid "user" +msgstr "brukar" + +#: contrib/auth/models.py:213 +msgid "users" +msgstr "brukarar" + +#: contrib/auth/models.py:394 +msgid "message" +msgstr "melding" + +#: contrib/auth/views.py:79 +msgid "Logged out" +msgstr "Logga ut" + +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 +msgid "Enter a valid e-mail address." +msgstr "Oppgje ei gyldig e-postadresse." + +#: contrib/comments/admin.py:12 +msgid "Content" +msgstr "Innhald" + +#: contrib/comments/admin.py:15 +msgid "Metadata" +msgstr "Metadata" + +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "flagga" +msgstr[1] "flagga" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Flagg valde kommentarar" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "Godkjend" +msgstr[1] "Godkjende" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Tillat valde kommentarar" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "er fjerna" +msgstr[1] "er fjerna" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Fjern valdte kommentarar" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "Ein kommentar vart %(action)s." +msgstr[1] "%(count)s kommentarar vart %(action)s." + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "%(site_name)s - kommentarar" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "Siste kommentarar frå %(site_name)s" + +#: contrib/comments/forms.py:93 +msgid "Name" +msgstr "Namn" + +#: contrib/comments/forms.py:94 +msgid "Email address" +msgstr "E-postadresse" + +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "Nettadresse" + +#: contrib/comments/forms.py:96 +msgid "Comment" +msgstr "Kommentar" + +#: contrib/comments/forms.py:175 +#, 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] "Pass munnen din! Ordet %s er ikkje lovleg her." +msgstr[1] "Pass munnen din! Orda %s er ikkje lovlege her." + +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "" +"Dersom du oppgjev noko i dette feltet, vil kommentaren bli behandla som spam" + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "innhaldstype" + +#: contrib/comments/models.py:24 +msgid "object ID" +msgstr "objekt-ID" + +#: contrib/comments/models.py:52 +msgid "user's name" +msgstr "brukaren sitt namn" + +#: contrib/comments/models.py:53 +msgid "user's email address" +msgstr "brukaren si e-postadresse" + +#: contrib/comments/models.py:54 +msgid "user's URL" +msgstr "brukaren si nettadresse" + +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 +msgid "comment" +msgstr "kommentar" + +#: contrib/comments/models.py:59 +msgid "date/time submitted" +msgstr "dato/tid for innsending" + +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP-adresse" + +#: contrib/comments/models.py:61 +msgid "is public" +msgstr "er tilgjengeleg for alle" + +#: contrib/comments/models.py:62 +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." +msgstr "Avmerk denne boksen for å fjerne kommentaren frå sida." + +#: contrib/comments/models.py:64 +msgid "is removed" +msgstr "er fjerna" + +#: contrib/comments/models.py:65 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"Kryss av denne dersom kommentaren er upassande. Meldinga \"Denne kommentaren " +"har blitt fjerna\" vil bli vist i staden." + +#: contrib/comments/models.py:77 +msgid "comments" +msgstr "kommentarar" + +#: contrib/comments/models.py:119 +msgid "" +"This comment was posted by an authenticated user and thus the name is read-" +"only." +msgstr "" +"Denne kommentaren er skriven av ein innlogga brukar og namnnet kan difor " +"ikkje endrast." + +#: contrib/comments/models.py:128 +msgid "" +"This comment was posted by an authenticated user and thus the email is read-" +"only." +msgstr "" +"Denne kommentaren er skriven av ein innlogga brukar og e-postadressa kan " +"derfor ikkje endrast." + +#: contrib/comments/models.py:153 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"Skrive av %(user)s, %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "flagg" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "dato" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "kommentarflagg" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "kommentarflagg" + +#: contrib/comments/templates/comments/approve.html:4 +msgid "Approve a comment" +msgstr "Tillat ein kommentar" + +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "Gjere denne kommentaren offentleg?" + +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "Godkjenn" + +#: contrib/comments/templates/comments/approved.html:4 +msgid "Thanks for approving" +msgstr "Takk for godkjenning" + +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "" +"Takk for at du tok deg tid til å forbetre kvaliteten på diskusjonen på sida " +"vår" + +#: contrib/comments/templates/comments/delete.html:4 +msgid "Remove a comment" +msgstr "Fjern ein kommentar" + +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "Fjerne denne kommentaren?" + +#: contrib/comments/templates/comments/deleted.html:4 +msgid "Thanks for removing" +msgstr "Takk for fjerninga" + +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "Flagg denne kommentaren" + +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "Flagg denne kommentaren?" + +#: contrib/comments/templates/comments/flag.html:12 +msgid "Flag" +msgstr "Flagg" + +#: contrib/comments/templates/comments/flagged.html:4 +msgid "Thanks for flagging" +msgstr "Takk for flagging" + +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +msgid "Post" +msgstr "Publiser" + +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +msgid "Preview" +msgstr "Førehandsvising" + +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "Takk for kommentaren" + +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "Takk for kommentaren din" + +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" +msgstr "Førehandsvis kommentaren din" + +#: contrib/comments/templates/comments/preview.html:11 +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "Korriger feilen under" +msgstr[1] "Korriger feila under" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "Publiser kommentaren din" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "or make changes" +msgstr "eller gjer endringar" + +#: contrib/contenttypes/models.py:77 +msgid "python model class name" +msgstr "python-modell klassenamn" + +#: contrib/contenttypes/models.py:82 +msgid "content types" +msgstr "innhaldstypar" + +#: contrib/flatpages/admin.py:9 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Eksempel: '/om/kontakt/'. Kontroller at det er ein skråstrek framfor og bak." + +#: contrib/flatpages/admin.py:11 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Dette feltet kan berre innehalde bokstavar, nummer, understrekar, " +"bindestrekar eller skråstrekar." + +#: contrib/flatpages/admin.py:22 +msgid "Advanced options" +msgstr "Avanserte innstillingar" + +#: contrib/flatpages/models.py:8 +msgid "title" +msgstr "tittel" + +#: contrib/flatpages/models.py:9 +msgid "content" +msgstr "innhald" + +#: contrib/flatpages/models.py:10 +msgid "enable comments" +msgstr "tillat kommentarer" + +#: contrib/flatpages/models.py:11 +msgid "template name" +msgstr "malnamn" + +#: contrib/flatpages/models.py:12 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Døme: 'flatpages/kontakt_side.html'. Dersom denne ikkje er gjeve, vil " +"'flatpages/default.html' bli brukt." + +#: contrib/flatpages/models.py:13 +msgid "registration required" +msgstr "krevar registrering" + +#: contrib/flatpages/models.py:13 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Dersom denne er kryssa av, kan berre innlogga brukarar sjå sida." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "flatside" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "flatsider" + +#: contrib/formtools/wizard.py:140 +msgid "" +"We apologize, but your form has expired. Please continue filling out the " +"form from this page." +msgstr "" +"Du har brukt for lang tid på å fylle ut skjemaet. Fyll ut skjemaet frå denne " +"sida." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Punkt" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Linjestreng" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Polygon" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Fleirpunkt" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Fleirlinje-streng" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Multi-polygon" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Geometrisamling" + +#: contrib/gis/forms/fields.py:17 +msgid "No geometry value provided." +msgstr "Ingen geometriverdi oppgjeve." + +#: contrib/gis/forms/fields.py:18 +msgid "Invalid geometry value." +msgstr "Ugyldig geometriverdi" + +#: contrib/gis/forms/fields.py:19 +msgid "Invalid geometry type." +msgstr "Ugyldig geometritype" + +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" +"Det oppstod ein feil ved transformering av geometrien til SRID frå " +"geometrifeltet." + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "th" +msgstr "." + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "st" +msgstr "." + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "nd" +msgstr "." + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "rd" +msgstr "." + +#: contrib/humanize/templatetags/humanize.py:51 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f million" +msgstr[1] "%(value).1f millionar" + +#: contrib/humanize/templatetags/humanize.py:54 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f milliard" +msgstr[1] "%(value).1f milliardar" + +#: contrib/humanize/templatetags/humanize.py:57 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f billion" +msgstr[1] "%(value).1f billionar" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "one" +msgstr "éin" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "two" +msgstr "to" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "three" +msgstr "tre" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "four" +msgstr "fire" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "five" +msgstr "fem" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "six" +msgstr "seks" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "seven" +msgstr "sju" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "eight" +msgstr "åtte" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "nine" +msgstr "ni" + +#: contrib/humanize/templatetags/humanize.py:93 +msgid "today" +msgstr "i dag" + +#: contrib/humanize/templatetags/humanize.py:95 +msgid "tomorrow" +msgstr "i morgon" + +#: contrib/humanize/templatetags/humanize.py:97 +msgid "yesterday" +msgstr "i går" + +#: contrib/localflavor/ar/forms.py:28 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "Oppgje eit postnummer på forma NNNN eller ANNNNAAA." + +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires only numbers." +msgstr "Feltet krevar berre tall." + +#: contrib/localflavor/ar/forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "Feltet krevar 7 eller 8 siffer." + +#: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "Oppgje gyldig CUIT på forma XX-XXXXXXXX-X or XXXXXXXXXXXX." + +#: contrib/localflavor/ar/forms.py:81 +msgid "Invalid CUIT." +msgstr "Ugyldig CUIT." + +#: contrib/localflavor/at/at_states.py:5 +msgid "Burgenland" +msgstr "Burgenland" + +#: contrib/localflavor/at/at_states.py:6 +msgid "Carinthia" +msgstr "Carinthia" + +#: contrib/localflavor/at/at_states.py:7 +msgid "Lower Austria" +msgstr "Niederösterreich" + +#: contrib/localflavor/at/at_states.py:8 +msgid "Upper Austria" +msgstr "Oberösterreich" + +#: contrib/localflavor/at/at_states.py:9 +msgid "Salzburg" +msgstr "Salzburg" + +#: contrib/localflavor/at/at_states.py:10 +msgid "Styria" +msgstr "Steiermark" + +#: contrib/localflavor/at/at_states.py:11 +msgid "Tyrol" +msgstr "Tirol" + +#: contrib/localflavor/at/at_states.py:12 +msgid "Vorarlberg" +msgstr "Vorarlberg" + +#: contrib/localflavor/at/at_states.py:13 +msgid "Vienna" +msgstr "Wien" + +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 +msgid "Enter a zip code in the format XXXX." +msgstr "Oppgje eit postnummer på forma XXXX." + +#: contrib/localflavor/at/forms.py:48 +msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." +msgstr "Oppgje eit gyldig Østerrisk personnummer på forma XXXX XXXXXX." + +#: contrib/localflavor/au/forms.py:17 +msgid "Enter a 4 digit post code." +msgstr "Oppgje eit firesifra postnummer." + +#: contrib/localflavor/br/forms.py:17 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Oppgje eit postnummer på forma XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:26 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Telefonnummeret må vere på forma XX-XXXX-XXXX." + +#: contrib/localflavor/br/forms.py:54 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" +"Velg ein gyldig brasiliansk stat. Den staten er ikkje eit av dei " +"tilgjengelege valga." + +#: contrib/localflavor/br/forms.py:90 +msgid "Invalid CPF number." +msgstr "Ugyldig CPF-nummer." + +#: contrib/localflavor/br/forms.py:91 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Feltet krevar maksimum 11 eller 14 siffer." + +#: contrib/localflavor/br/forms.py:130 +msgid "Invalid CNPJ number." +msgstr "Ugyldig CNPJ-nummer." + +#: contrib/localflavor/br/forms.py:132 +msgid "This field requires at least 14 digits" +msgstr "Feltet krevar minst 14 siffer." + +#: contrib/localflavor/ca/forms.py:25 +msgid "Enter a postal code in the format XXX XXX." +msgstr "Oppgje eit postnummer på forma XXX XXX." + +#: contrib/localflavor/ca/forms.py:96 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "Oppgje eit gyldig kanadisk personnummer på forma XXX-XXX-XXX." + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "Aargau" + +#: 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-Landschaft" + +#: contrib/localflavor/ch/ch_states.py:10 +msgid "Berne" +msgstr "Bern" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "Fribourg" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "Genève" + +#: contrib/localflavor/ch/ch_states.py:13 +msgid "Glarus" +msgstr "Glarus" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "Graubünden" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "Jura" + +#: contrib/localflavor/ch/ch_states.py:16 +msgid "Lucerne" +msgstr "Luzern" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "Neuchâtel" + +#: 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 "Wallis" + +#: 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 "Zürich" + +#: contrib/localflavor/ch/forms.py:65 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" +"Oppgje eit gyldig sveitsisk identitets- eller passnummer på forma X1234567<0 " +"eller 1234567890." + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT." +msgstr "Oppgje eit gyldig chilensk RUT." + +#: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Oppgje eit gyldig chilensk RUT på forma XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:32 +msgid "The Chilean RUT is not valid." +msgstr "Den chilenske RUT er ugyldig." + +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "Praha" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "Sentralbøhmen region" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "Sydbøhmen region" + +#: contrib/localflavor/cz/cz_regions.py:11 +msgid "Pilsen Region" +msgstr "Plzeň region" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "Karlovy Vary region" + +#: contrib/localflavor/cz/cz_regions.py:13 +msgid "Usti Region" +msgstr "Ústí nad Labem region" + +#: contrib/localflavor/cz/cz_regions.py:14 +msgid "Liberec Region" +msgstr "Liberec region" + +#: contrib/localflavor/cz/cz_regions.py:15 +msgid "Hradec Region" +msgstr "Hradec Králové region" + +#: contrib/localflavor/cz/cz_regions.py:16 +msgid "Pardubice Region" +msgstr "Pardubice region" + +#: contrib/localflavor/cz/cz_regions.py:17 +msgid "Vysocina Region" +msgstr "Žilina-regionen" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "Sydmähriske region" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "Olomouc region" + +#: contrib/localflavor/cz/cz_regions.py:20 +msgid "Zlin Region" +msgstr "Zlín region" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "Mähren-Schlesien region" + +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "Oppgje eit postnummer på forma XXXXX or XXX XX." + +#: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "Oppgje eit fødselsnummer på forma XXXXXX/XXXX eller XXXXXXXXXX." + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" + +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "Oppgje eit gyldig fødselsnummer." + +#: contrib/localflavor/cz/forms.py:107 +msgid "Enter a valid IC number." +msgstr "Oppgje eit gyldig IC-nummer." + +#: 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:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "Oppgje eit postnummer på forma XXXXX." + +#: contrib/localflavor/de/forms.py:42 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"Oppgje eit gyldig tysk identitetsnummer på forma XXXXXXXXXXX-XXXXXXX-XXXXXXX-" +"X." + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "Álava" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "Albacete" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "Alicante" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "Almería" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "Ávila" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "Badajoz" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "Balearane" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "Barcelona" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "Burgos" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "Cáceres" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "Cádiz" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "Castellón" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "Ciudad Real" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "Córdoba" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "A Coruna" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "Cuenca" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "Girona" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "Granada" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "Guadalajara" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "Gipuzkoa" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "Huelva" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "Huesca" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "Jaén" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "León" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "Lleida" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "La Rioja" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "Lugo" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "Madrid" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "Málaga" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "Murcia" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "Navarra" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "Ourense" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "Asturias" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "Palencia" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "Las Palmas" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "Pontevedra" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "Salamanca" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "Santa Cruz de Tenerife" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "Cantabria" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "Segovia" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "Sevilla" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "Soria" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "Tarragona" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "Teruel" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "Toledo" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "Valencia" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "Valladolid" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "Bizkaia" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "Zamora" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "Zaragoza" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "Ceuta" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "Melilla" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "Andalucía" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "Aragón" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "Asturias" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "Balearane" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "Baskarland" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "Kanariøyene" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "Castilla-La Mancha" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "Castilla y León" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "Catalonia" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "Extremadura" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "Galicia" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "Murcia" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "Navarra" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "Valenciana" + +#: contrib/localflavor/es/forms.py:20 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "Oppgje eit gyldig postnummer på forma 01XXX - 52XXX." + +#: contrib/localflavor/es/forms.py:40 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" +"Oppgje eit gyldig telefonnummer på eit av følgjande format: 6XXXXXXXX, " +"8XXXXXXXX eller 9XXXXXXXX." + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Oppgje eit gyldig NIF, NIE eller CIF." + +#: contrib/localflavor/es/forms.py:68 +msgid "Please enter a valid NIF or NIE." +msgstr "Oppgje eit gyldig NIF eller NIE." + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIF." +msgstr "Ugyldig kontrollsum for NIF." + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for NIE." +msgstr "Ugyldig kontrollsum for NIE." + +#: contrib/localflavor/es/forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "Ugyldig kontrollsum for CIF." + +#: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Oppgje eit gyldig kontonummer på forma XXXX-XXXX-XX-XXXXXXXXXX." + +#: contrib/localflavor/es/forms.py:144 +msgid "Invalid checksum for bank account number." +msgstr "Ugyldig kontrollsum for kontonummer." + +#: contrib/localflavor/fi/forms.py:29 +msgid "Enter a valid Finnish social security number." +msgstr "Oppgje eit gyldig finsk personnummer." + +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Telefonnummeret må vere på forma 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Oppgje eit gyldig postnummer" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Oppgje eit gyldig telefonnummer" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Oppgje eit gyldig bilnummer." + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Oppgje eit gyldig NIK/KTP-nummer." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Jawa Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Jawa Tengah" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Jawa Timur" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Barat" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Selatan" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Tengah" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Timur" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Kepulauan Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Maluku" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Maluku Utara" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara Barat" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara Timur" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Barat" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Sulawesi Barat" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi Selatan" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi Tengah" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi Tenggara" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi Utara" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatera Barat" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera Selatan" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera Utara" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madium" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps Consulate" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Federal Government" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wicklow" + +#: contrib/localflavor/in_/forms.py:15 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "Oppgje eit postnummer på forma XXXXXXX." + +#: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Oppgje eit gyldig islandsk identifikasjonsnummer på forma XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:19 +msgid "The Icelandic identification number is not valid." +msgstr "Det islandske identifikasjonsnummeret er ugyldig." + +#: contrib/localflavor/it/forms.py:15 +msgid "Enter a valid zip code." +msgstr "Oppgje eit gyldig postnummer." + +#: contrib/localflavor/it/forms.py:44 +msgid "Enter a valid Social Security number." +msgstr "Oppgje eit gyldig italiensk personnummer." + +#: contrib/localflavor/it/forms.py:69 +msgid "Enter a valid VAT number." +msgstr "Oppgje eit gyldig VAT-nummer." + +#: contrib/localflavor/jp/forms.py:16 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Oppgje eit postnummer på forma XXXXXXX eller XXX-XXXX." + +#: 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/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Oppgje eit gyldig kuwaitisk ID-nummer." + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "Aguascalientes" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "Baja California" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "Baja California Sur" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "Campeche" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "Chihuahua" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "Chiapas" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "Coahuila" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "Colima" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "Distrito Federal" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "Durango" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "Guerrero" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "Guanajuato" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "Hidalgo" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "Jalisco" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "Estado de México" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "Michoacán" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "Morelos" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "Nayarit" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "Nuevo León" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "Oaxaca" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "Puebla" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "Querétaro" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "Quintana Roo" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "Sinaloa" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "San Luis Potosí" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "Sonora" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "Tabasco" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "Tamaulipas" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "Tlaxcala" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "Veracruz" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "Yucatán" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "Zacatecas" + +#: contrib/localflavor/nl/forms.py:22 +msgid "Enter a valid postal code" +msgstr "Oppgje eit gyldig postnummer." + +#: contrib/localflavor/nl/forms.py:79 +msgid "Enter a valid SoFi number" +msgstr "Oppgje eit gyldig SoFi-nummer." + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drenthe" +msgstr "Drenthe" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "Flevoland" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "Friesland" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "Gelderland" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "Groningen" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "Limburg" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "Noord-Brabant" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "Noord-Holland" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "Overijssel" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "Utrecht" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "Zeeland" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "Zuid-Holland" + +#: contrib/localflavor/no/forms.py:34 +msgid "Enter a valid Norwegian social security number." +msgstr "Oppgje eit gyldig norsk personnummer." + +#: contrib/localflavor/pe/forms.py:25 +msgid "This field requires 8 digits." +msgstr "Feltet krevar åtte siffer." + +#: contrib/localflavor/pe/forms.py:53 +msgid "This field requires 11 digits." +msgstr "Feltet krevar 11 siffer." + +#: contrib/localflavor/pl/forms.py:38 +msgid "National Identification Number consists of 11 digits." +msgstr "National Identification Number består av 11 siffer." + +#: contrib/localflavor/pl/forms.py:39 +msgid "Wrong checksum for the National Identification Number." +msgstr "Feil kontrollsum for National Identification Number." + +#: contrib/localflavor/pl/forms.py:71 +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "Oppgje eit NIP på forma XXX-XXX-XX-XX eller XX-XX-XXX-XXX." + +#: contrib/localflavor/pl/forms.py:72 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "Ugyldig kontrollsum for NIP." + +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." +msgstr "National Business Register Number (REGON) består av 9 eller 14 siffer." + +#: contrib/localflavor/pl/forms.py:110 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "Ugyldig kontrollsum for National Business Register Number (REGON)." + +#: contrib/localflavor/pl/forms.py:148 +msgid "Enter a postal code in the format XX-XXX." +msgstr "Oppgje eit postnummer på forma XX-XXX." + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "Lower Silesia" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "Kuyavia-Pomerania" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "Lublin" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "Lubusz" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "Lodz" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "Lesser Poland" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "Masovia" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "Opole" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "Subcarpatia" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "Podlasie" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "Pomerania" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "Silesia" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "Swietokrzyskie" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "Warmia-Masuria" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "Greater Poland" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "West Pomerania" + +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Oppgje eit postnummer på forma XXXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" + +#: contrib/localflavor/ro/forms.py:19 +msgid "Enter a valid CIF." +msgstr "Oppgje eit gyldig CIF." + +#: contrib/localflavor/ro/forms.py:56 +msgid "Enter a valid CNP." +msgstr "Oppgje eit gyldig CNP." + +#: contrib/localflavor/ro/forms.py:141 +msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" +msgstr "Oppgje eit gyldig IBAN på forma ROXX-XXXX-XXXX-XXXX-XXXX-XXXX." + +#: contrib/localflavor/ro/forms.py:171 +msgid "Phone numbers must be in XXXX-XXXXXX format." +msgstr "Telefonnummeret må vere på forma XXXX-XXXXXX." + +#: contrib/localflavor/ro/forms.py:194 +msgid "Enter a valid postal code in the format XXXXXX" +msgstr "Oppgje eit postnummer på forma XXXXXX." + +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Oppgje eit gyldig svensk organisasjonsnummer." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Oppgje eit gyldig svensk personnummer." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Koordinasjonsnummer er ikkje tillate." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Oppgje eit svensk postnummer på forma XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stockholm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "Banska Bystrica" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "Banska Stiavnica" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "Bardejov" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "Banovce nad Bebravou" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "Brezno" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "Bratislava I" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "Bratislava II" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "Bratislava III" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "Bratislava IV" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "Bratislava V" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "Bytca" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "Cadca" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "Detva" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "Dolny Kubin" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "Dunajska Streda" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "Galanta" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "Gelnica" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "Hlohovec" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "Humenne" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "Ilava" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "Kezmarok" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "Komarno" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "Kosice I" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "Kosice II" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "Kosice III" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "Kosice IV" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "Kosice - okolie" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "Krupina" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "Kysucke Nove Mesto" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "Levice" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "Levoca" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "Liptovsky Mikulas" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "Lucenec" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "Malacky" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "Martin" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "Medzilaborce" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "Michalovce" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "Myjava" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "Namestovo" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "Nitra" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "Nove Mesto nad Vahom" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "Nove Zamky" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "Partizanske" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "Pezinok" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "Piestany" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "Poltar" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "Poprad" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "Povazska Bystrica" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "Presov" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "Prievidza" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "Puchov" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "Revuca" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "Rimavska Sobota" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "Roznava" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "Ruzomberok" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "Sabinov" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "Senec" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "Senica" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "Skalica" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "Snina" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "Sobrance" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "Spisska Nova Ves" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "Stara Lubovna" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "Stropkov" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "Svidnik" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "Sala" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "Topolcany" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "Trebisov" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "Trencin" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "Trnava" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "Turcianske Teplice" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "Tvrdosin" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "Velky Krtis" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "Vranov nad Toplou" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "Zlate Moravce" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "Zvolen" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "Zarnovica" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "Ziar nad Hronom" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "Zilina" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "Banská Bystrica-regionen" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "Bratislava-regionen" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "Košice-regionen" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "Nitra-regionen" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "Prešov-regionen" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "Trenčín-regionen" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "Trnava-regionen" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "Žilina-regionen" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "Oppgje eit gyldig postnummer." + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "Bedfordshire" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "Buckinghamshire" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "Cheshire" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "Cornwall" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "Cumbria" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "Derbyshire" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "Devon" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "Dorset" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "Durham" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "East Sussex" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "Essex" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "Gloucestershire" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "Stor-London" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "Stor-Manchester" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "Hampshire" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "Hertfordshire" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "Kent" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "Lancashire" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "Leicestershire" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "Lincolnshire" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "Merseyside" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "Norfolk" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "North Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "Northamptonshire" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "Northumberland" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "Nottinghamshire" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "Oxfordshire" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "Shropshire" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "Somerset" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "South Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "Staffordshire" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "Suffolk" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "Surrey" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "Tyne and Wear" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "Warwickshire" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "West Midlands" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "West Sussex" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "West Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "Wiltshire" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "Worcestershire" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "Antrim" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "Armagh" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "Down" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "Londonderry" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "Clwyd" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "Dyfed" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "Gwent" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "Gwynedd" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "Mid Glamorgan" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "Powys" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "South Glamorgan" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "West Glamorgan" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "Borders" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "Central Scotland" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "Dumfries og Galloway" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "Fife" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "Grampian" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "Highland" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "Lothian" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "Orknøyene" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "Shetland" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "Strathclyde" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "Tayside" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "Ytre Hebridene" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "England" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "Nord-Irland" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "Skottland" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "Wales" + +#: contrib/localflavor/us/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Oppgje eit postnummer på forma XXXXX eller XXXXX-XXXX." + +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Telefonnummer må vere på forma XX-XXXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" +"Oppgje eit gyldig amerikansik Social Security-nummer på forma XXX-XX-XXXX." + +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Stat (i USA, to store bokstavar)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Telefonnummer" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Oppgje gyldig CI-nummer på forma X.XXX.XXX-X,XXXXXXX-X eller XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Oppgje eit gyldig CI-nummer." + +#: contrib/localflavor/za/forms.py:21 +msgid "Enter a valid South African ID number" +msgstr "Oppgje eit gyldig South African ID-nummer." + +#: contrib/localflavor/za/forms.py:55 +msgid "Enter a valid South African postal code" +msgstr "Oppgje eit gyldig postnummer." + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "Eastern Cape" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "Free State" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "Gauteng" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "KwaZulu-Natal" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "Limpopo" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "Mpumalanga" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "Northern Cape" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "North West" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "Western Cape" + +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "lat melding" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "omadresser frå" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Dette bør vere ein fullstendig sti utan domenenavn. Døme: '/hendingar/finn/" + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "omadresser til" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Dette kan enten vere ein fullstendig sti (som over), eller ei fullstendig " +"nettadresse som startar med 'http://'" + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "omadressering" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "omadresseringar" + +#: contrib/sessions/models.py:45 +msgid "session key" +msgstr "sesjonsnøkkel" + +#: contrib/sessions/models.py:47 +msgid "session data" +msgstr "sesjonsdata" + +#: contrib/sessions/models.py:48 +msgid "expire date" +msgstr "utløpsdato" + +#: contrib/sessions/models.py:53 +msgid "session" +msgstr "sesjon" + +#: contrib/sessions/models.py:54 +msgid "sessions" +msgstr "sesjonar" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "domenenamn" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "visingsnamn" + +#: contrib/sites/models.py:39 +msgid "sites" +msgstr "nettstader" + +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Oppgje ein gyldig verdi." + +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Oppgje ei gyldig nettadresse." + +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Nettadressa fører til ei side som ikkje eksisterar." + +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Oppgje ein gyldig 'slug' som består av bokstavar, nummer, understrekar eller " +"bindestrekar." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Oppgje ei gyldig IPv4-adresse." + +#: core/validators.py:129 db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "Oppgje berre tall skild med komma." + +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Verdien må minimum ha %(limit_value)s teikn (den er %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Verdien må vere mindre enn eller lik %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Verdien må vere større enn eller lik %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "Verdien må minimum ha %(limit_value)d teikn (den er %(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Verdien kan maksimalt ha %(limit_value)d teikn (den er %(show_value)d)." + +#: db/models/base.py:823 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s må vere unik for %(date_field)s %(lookup)s." + +#: db/models/base.py:838 db/models/base.py:846 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s med %(field_label)s fins allereie." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "" + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Feltet kan ikkje vere tomt." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Feltet kan ikkje vere tomt." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Felt av typen: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Heiltal" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Verdien må vere eit heltall." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Verdien må vere True eller False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Boolsk (True eller False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Tekst (opp til %(max_length)s teikn)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Heiltal skild med komma" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Dato (utan tid)" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Oppgje ein gyldig dato på forma ÅÅÅÅ-MM-DD." + +#: db/models/fields/__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "Ugyldig dato: %s" + +#: db/models/fields/__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "Oppgje dato og tid på forma ÅÅÅÅ-MM-DD TT:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Dato (med tid)" + +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "Verdien må vere eit desimaltall." + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Desimaltall" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "E-postadresse" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Filsti" + +#: db/models/fields/__init__.py:822 +msgid "This value must be a float." +msgstr "Verdien må vere eit flyttall." + +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Flyttall" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "" + +#: db/models/fields/__init__.py:912 +msgid "This value must be either None, True or False." +msgstr "Verdien må vere None, True eller False." + +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Boolsk (True, False eller None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Tekst" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Tid" + +#: db/models/fields/__init__.py:1025 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "Oppgje tida på forma TT:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML-tekst" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Modellen %(model)s med primærnøkkelen %(pk)r eksisterer ikkje." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Primærnøkkel (type bestemt av relatert felt)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Ein-til-ein-forhold" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Mange-til-mange-forhold" + +#: db/models/fields/related.py:1000 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Hald nede \"Control\", eller \"Command\" på ein Mac, for å velge meir enn " +"éin." + +#: db/models/fields/related.py:1061 +#, 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] "Oppgje gyldige %(self)s-ID-ar. Verdien %(value)r er ugyldig." +msgstr[1] "Oppgje gyldige %(self)s-ID-ar. Verdiane %(value)r er ugyldige." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Feltet er påkravd." + +#: forms/fields.py:204 +msgid "Enter a whole number." +msgstr "Oppgje eit heiltall." + +#: forms/fields.py:235 forms/fields.py:256 +msgid "Enter a number." +msgstr "Oppgje eit tall." + +#: forms/fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Verdien kan ikkje ha meir enn %s siffer totalt." + +#: forms/fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Verdien kan ikkie ha meir enn %s desimalar." + +#: forms/fields.py:261 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Verdien kan ikkje ha meir enn %s siffer framfor komma." + +#: forms/fields.py:323 forms/fields.py:838 +msgid "Enter a valid date." +msgstr "Oppgje ein gyldig dato." + +#: forms/fields.py:351 forms/fields.py:839 +msgid "Enter a valid time." +msgstr "Oppgje eit gyldig tidspunkt." + +#: forms/fields.py:377 +msgid "Enter a valid date/time." +msgstr "Oppgje gyldig dato og tidspunkt." + +#: forms/fields.py:435 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Inga fil vart sendt. Sjekk \"encoding\"-typen på skjemaet." + +#: forms/fields.py:436 +msgid "No file was submitted." +msgstr "Inga fil vart sendt." + +#: forms/fields.py:437 +msgid "The submitted file is empty." +msgstr "Fila er tom." + +#: forms/fields.py:438 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "Filnamnet kan maksimalt ha %(max)d teikn (det har %(length)d)." + +#: forms/fields.py:473 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Last opp eit gyldig bilete. Fila du lasta opp var ødelagt eller ikkje eit " +"bilete." + +#: forms/fields.py:596 forms/fields.py:671 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Velg eit gyldig valg. %(value)s er ikkje eit av dei tilgjengelege valga." + +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 +msgid "Enter a list of values." +msgstr "Oppgje ei liste med verdiar." + +#: forms/formsets.py:298 forms/formsets.py:300 +msgid "Order" +msgstr "Rekkefølge" + +#: forms/models.py:562 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Korriger dupliserte data for %(field)s." + +#: forms/models.py:566 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Korriger dupliserte data for %(field)s, som må vere unike." + +#: forms/models.py:572 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Korriger dupliserte data for %(field_name)s, som må vere unike for %(lookup)" +"s i %(date_field)s." + +#: forms/models.py:580 +msgid "Please correct the duplicate values below." +msgstr "Korriger dei dupliserte verdiane nedanfor." + +#: forms/models.py:855 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "" +"Primærnøkkelen er ikkje den samme som foreldreinstansen sin primærnøkkel." + +#: forms/models.py:921 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Velg eit gyldig valg. Valget er ikkje eit av dei tilgjengelege valga." + +#: forms/models.py:1003 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Velg eit gyldig valg. %s er ikkje eit av dei tilgjengelege valga." + +#: forms/models.py:1005 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "\"%s\" er ikkje ein gyldig verdi for ein primærnøkkel." + +#: template/defaultfilters.py:776 +msgid "yes,no,maybe" +msgstr "ja,nei,kanskje" + +#: template/defaultfilters.py:807 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" + +#: template/defaultfilters.py:809 +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#: template/defaultfilters.py:811 +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#: template/defaultfilters.py:812 +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#: utils/dateformat.py:42 +msgid "p.m." +msgstr "p.m." + +#: utils/dateformat.py:43 +msgid "a.m." +msgstr "a.m." + +#: utils/dateformat.py:48 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:49 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:98 +msgid "midnight" +msgstr "midnatt" + +#: utils/dateformat.py:100 +msgid "noon" +msgstr "12:00" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "måndag" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "tysdag" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "onsdag" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "torsdag" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "fredag" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "laurdag" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "søndag" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "man" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "tys" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "ons" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "tors" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "fre" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "laur" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "søn" + +#: utils/dates.py:18 +msgid "January" +msgstr "januar" + +#: utils/dates.py:18 +msgid "February" +msgstr "februar" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "mars" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "april" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "mai" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "juni" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "juli" + +#: utils/dates.py:19 +msgid "August" +msgstr "august" + +#: utils/dates.py:19 +msgid "September" +msgstr "september" + +#: utils/dates.py:19 +msgid "October" +msgstr "oktober" + +#: utils/dates.py:19 +msgid "November" +msgstr "november" + +#: utils/dates.py:20 +msgid "December" +msgstr "desember" + +#: utils/dates.py:23 +msgid "jan" +msgstr "jan" + +#: utils/dates.py:23 +msgid "feb" +msgstr "feb" + +#: utils/dates.py:23 +msgid "mar" +msgstr "mar" + +#: utils/dates.py:23 +msgid "apr" +msgstr "apr" + +#: utils/dates.py:23 +msgid "may" +msgstr "mai" + +#: utils/dates.py:23 +msgid "jun" +msgstr "jun" + +#: utils/dates.py:24 +msgid "jul" +msgstr "jul" + +#: utils/dates.py:24 +msgid "aug" +msgstr "aug" + +#: utils/dates.py:24 +msgid "sep" +msgstr "sep" + +#: utils/dates.py:24 +msgid "oct" +msgstr "okt" + +#: utils/dates.py:24 +msgid "nov" +msgstr "nov" + +#: utils/dates.py:24 +msgid "dec" +msgstr "des" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "jan." + +#: utils/dates.py:31 +msgid "Feb." +msgstr "feb." + +#: utils/dates.py:32 +msgid "Aug." +msgstr "aug." + +#: utils/dates.py:32 +msgid "Sept." +msgstr "sept." + +#: utils/dates.py:32 +msgid "Oct." +msgstr "okt." + +#: utils/dates.py:32 +msgid "Nov." +msgstr "nov." + +#: utils/dates.py:32 +msgid "Dec." +msgstr "des." + +#: utils/text.py:130 +msgid "or" +msgstr "eller" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "år" +msgstr[1] "år" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "månad" +msgstr[1] "månadar" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "veke" +msgstr[1] "veker" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "dag" +msgstr[1] "dagar" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "time" +msgstr[1] "timar" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minutt" +msgstr[1] "minuttar" + +#: utils/timesince.py:45 +msgid "minutes" +msgstr "minuttar" + +#: utils/timesince.py:50 +#, python-format +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" + +#: utils/timesince.py:56 +#, python-format +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" + +#: utils/translation/trans_real.py:519 +msgid "DATE_FORMAT" +msgstr "j. F Y" + +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j. F Y H:i" + +#: utils/translation/trans_real.py:521 +msgid "TIME_FORMAT" +msgstr "H:i" + +#: utils/translation/trans_real.py:542 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:543 +msgid "MONTH_DAY_FORMAT" +msgstr "j. F" + +#: views/generic/create_update.py:115 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s vart oppretta." + +#: views/generic/create_update.py:158 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s vart oppdatert." + +#: views/generic/create_update.py:201 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s vart sletta." + +#~ msgid "sumatera utara" +#~ msgstr "Sumatera Selatan" + +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "Ei eller fleire %(fieldname)s i %(name)s: %(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "Ein eller fleire %(fieldname)s i %(name)s:" + +#~ msgid "Old password:" +#~ msgstr "Gammalt passord:" + +#~ msgid "Relation to parent model" +#~ msgstr "Relasjon til foreldermodell" + +#~ msgid "Add user" +#~ msgstr "Opprett ny brukar" + +#~ msgid "Comment moderation queue" +#~ msgstr "Kommentarmoderasjonskø" + +#~ msgid "No comments to moderate" +#~ msgstr "Ingen kommentarar å moderere" + +#~ msgid "Email" +#~ msgstr "E-post" + +#~ msgid "Authenticated?" +#~ msgstr "Godkjend?" + +#~ msgid "IP Address" +#~ msgstr "IP-adresse" + +#~ msgid "Date posted" +#~ msgstr "Dato lagt inn" + +#~ msgid "yes" +#~ msgstr "ja" + +#~ msgid "no" +#~ msgstr "nei" diff --git a/django/conf/locale/nn/LC_MESSAGES/djangojs.mo b/django/conf/locale/nn/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..abe9053ab81f86208142bdfc801c850c4b9ebfc6 GIT binary patch literal 2506 zcmaKt&u<$=6vqcBzfyjd^0OQshp4US8YeAnWqyc|G;NwVsbV)()dL!PU)CFsXWZFY zxBdsXBf$YKoFasT5C?=fAOVUvzzuOla6&@B1*sAeLKWY)>o}n;U3vDi^Xt9uyqS6a zY2TiA6rN{C794=?e185Fx$K?2_dW!wkgN$?|3?EV6Z zo!>$6dkuUKybit%zKcnHu!6yaHNFp4QU3}~Wd5HZq^ZBaN5H>9vA6f$QpbL9Kk5fS zv0nwHzXr;BXF*I+%b?gh53YijK>XClqxR20@$2)LB9FvF&dBy7XG~2V%Geyv$gR`lp|%b9L<6@2 z$G7b}PP)>osF^rcGXtF(-7-v*nVQvxZLB>$Y@3am?Kqb)X$onN$2C)QWNeEmhP5Xx zZN{~`>P#B5I;(B2{gCFl<%^HH_U#VM^nGfmu7`9sw~Ut=(oCM@S)c~@1NU0&X{8;U zaM=yYhB0?nK=sb1jNmS4?I?u({*pGr?dhuq^sHC_4cIqzZTB4>e% zj*Bj*jvnxM3*eJOR0_1K^o`U(0a-y&ME|( z2R&2YyB79nNXEHtY7<&_o> zmEwZCSsV>HROlSGA19=Y?8+ixq|7gs8$*_13yq#5pO?zYkn9qb+tTH&L&0$xiu1W0 zlZEv{u9({uV64E?jh3#YkkDd;EejQO&btlVjc6f`*4Ss*mm1A&V1;gCmHWd{b*dUwUyP=X)AV%hX!ZH(bhV0s(JBv8vH72I zN2BU7nwqXn9WBQ#=`2J|uWe>@aK1)owl)Xa$8_4`hM6>;Sc0BhCmc0d_iDHWKI_uU z*1cxZiu1{<6ZM7qsU7`OmFmQ-vwf^9s#?aSNKLZAILL;RB9kl@nS?#^ zOUn;~T4R$Cr-8c0b-SDy4x>h-4pwV$Q_P#+V2^#3w#8zkYIHYpGs-C22?aUCXXA8| zN;;93NpF!(x;LehY$u&)sKEBfBAjXzqRM2lQY4e5Qa6IYfm{OdX%`7(EzMM8>vLp| zgz8(H1)D=;i-cBefhM+1s`H)&OImVAq86xpBX=Z7VGEROZF)5)ch8fA8X>~Bjg4G# zIE>3Kc->%1HgHA>3EHC<6VmaeWWccxl1Fg5D)gGSqfL+a+(Yh#(S$^h1wK zL$-kG9%?v4$adQS(9}np9R}RpIcxxyu(SBg^+ul2Tsq$!kARF5rwRKOmOBc~sd40P QF?oQ0ChP_U-G{q>0p?$_fB*mh literal 0 HcmV?d00001 diff --git a/django/conf/locale/nn/LC_MESSAGES/djangojs.po b/django/conf/locale/nn/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..150fac86e --- /dev/null +++ b/django/conf/locale/nn/LC_MESSAGES/djangojs.po @@ -0,0 +1,155 @@ +# translation of djangojs.po to norwegian nynorsk +# Copyright (C) 2005 and beyond +# This file is distributed under the same license as the Django package. +# +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-05-16 22:30+0200\n" +"PO-Revision-Date: 2010-03-04 12:13+0200\n" +"Last-Translator: Håvard Grimelid\n" +"Language-Team: Norsk \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:37 +#, perl-format +msgid "Available %s" +msgstr "Tilgjengelege %s" + +#: contrib/admin/media/js/SelectFilter2.js:45 +msgid "Choose all" +msgstr "Velg alle" + +#: contrib/admin/media/js/SelectFilter2.js:50 +msgid "Add" +msgstr "Ny" + +#: contrib/admin/media/js/SelectFilter2.js:52 +msgid "Remove" +msgstr "Slett" + +#: contrib/admin/media/js/SelectFilter2.js:57 +#, perl-format +msgid "Chosen %s" +msgstr "Valde %s" + +#: contrib/admin/media/js/SelectFilter2.js:58 +msgid "Select your choice(s) and click " +msgstr "Velg valet og klikk " + +#: contrib/admin/media/js/SelectFilter2.js:63 +msgid "Clear all" +msgstr "Fjern alle" + +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s av %(cnt)s vald" +msgstr[1] "%(sel)s av %(cnt)s valde" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Det er endringar som ikkje er lagra i individuelt redigerbare felt. " +"Endringar som ikkje er lagra vil gå tapt." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Du har vald ei handling, men du har framleis ikkje lagra endringar for " +"individuelle felt. Klikk OK for å lagre. Du må gjere handlinga på nytt." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Du har vald ei handling og du har ikkje gjort endringar i individuelle felt. " +"Du ser sannsynlegvis etter Gå vidare-knappen - ikkje Lagre-knappen." + +#: 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 "" +"Januar Februar Mars April Mai Juni Juli August September Oktober November " +"Desember" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "S M T O T F L" + +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Vis" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Skjul" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Søndag Måndag Tysdag Onsdag Torsdag Fredag Laurdag" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "Now" +msgstr "No" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 +msgid "Clock" +msgstr "Klokke" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Choose a time" +msgstr "Velg eit klokkeslett" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 +msgid "Midnight" +msgstr "Midnatt" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 +msgid "6 a.m." +msgstr "06:00" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +msgid "Noon" +msgstr "12:00" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 +msgid "Cancel" +msgstr "Avbryt" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 +msgid "Today" +msgstr "I dag" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 +msgid "Calendar" +msgstr "Kalender" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 +msgid "Yesterday" +msgstr "I går" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 +msgid "Tomorrow" +msgstr "I morgon" diff --git a/django/conf/locale/nn/__init__.py b/django/conf/locale/nn/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/nn/formats.py b/django/conf/locale/nn/formats.py new file mode 100644 index 000000000..fbc6142e7 --- /dev/null +++ b/django/conf/locale/nn/formats.py @@ -0,0 +1,34 @@ +DATE_FORMAT = 'j. F Y' +TIME_FORMAT = 'H:i' +DATETIME_FORMAT = 'j. F Y H:i' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'd.m.Y' +SHORT_DATETIME_FORMAT = 'd.m.Y H:i' +FIRST_DAY_OF_WEEK = 1 # Monday +DATE_INPUT_FORMATS = ( + '%Y-%m-%d', '%j.%m.%Y', '%j.%m.%y', # '2006-10-25', '25.10.2006', '25.10.06' + '%Y-%m-%j', # '2006-10-25', + # '%j. %b %Y', '%j %b %Y', # '25. okt 2006', '25 okt 2006' + # '%j. %b. %Y', '%j %b. %Y', # '25. okt. 2006', '25 okt. 2006' + # '%j. %B %Y', '%j %B %Y', # '25. oktober 2006', '25 oktober 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%Y-%m-%j', # '2006-10-25' + '%j.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' + '%j.%m.%Y %H:%M', # '25.10.2006 14:30' + '%j.%m.%Y', # '25.10.2006' + '%j.%m.%y %H:%M:%S', # '25.10.06 14:30:59' + '%j.%m.%y %H:%M', # '25.10.06 14:30' + '%j.%m.%y', # '25.10.06' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = ' ' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/no/LC_MESSAGES/django.mo b/django/conf/locale/no/LC_MESSAGES/django.mo index 8e523f3f96d80c233e3c6e1150d4bdebdd8d0ef8..263114eaa8d7718e014041b10a9e231c8c036a05 100644 GIT binary patch delta 26925 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%0DxcsYU!9 zLN&^E66O-xl75%anV_o$!A-mfZHAb3%5P72K@si$IU3HO@L}Tb6Q6_?@u2C1q-_u3 zi0NP(@m++!2$ji8qV5;OPhv9a`qU!$`(dKCwVE6ScAZ#p4BD7>;L8$?KYw7N+TR0 zZ8v@OApc1duR{KQ;>-BCwe>KWYIH{b;aW-MZwVKzq^%qc3a>-dZ)@6gr%rcM_8%(r zBL7$N(up46ICTt_W^#5Yn_QWd%C5Z^@JkHmWs7Evdauz>hs@(Ztid~VxHQ2BLo_EYea zDG4*P{@GM+Oa2KHKWrv(>W+?9k@q}d6yYoC7NPx6;%^eym&HX>_b>7auMFZL_XSVk zTSO-kI#E{C4E?sL`X+i!Tuo0A=F#14^7=CU!fPh+-sFW7UM|eUd{d_n@m`dDttB(Y z=fqnOxU9SID2ZR__&hm|U_O8TTNP|S+%ZsRQ|87R~i znS`?5C4N7lCHaq=I^q)THfa15B3B8zj^T?`o`KadjJz{6OefwLb&bL^q`lNBVcIEw z6M5ed#t~d5Kb%FBCj9~Fnbg@s{3k*ug067g|C1!D(&-RFBjWE+kU~6%cyk(N5I!Kj ziacF;xR121eJUdzL1;ky82Q!7e+WM$y@)WBvJ(XUwIKL^LQem{HruqHqy4W%feUXC zM$upf-o{x}auLdy%4FNlldr2fZA#;LjHdi1;Q*m2A&tCP>eV%M^-D8_cwa(EllKJm zW)gz;|5GyGrcxxK5}iIq!OMgWgbJje!+WSxn{r*h6FQPtj66T;s>oLB>Pvc;$tzEJ z4dM}$)y8p@AIBK-2NSq_w%<&rN)@H>58OlE%T#DZ`09@GYIJms^3TY7fwHCejq2g| zw4Fs+J%X+T^4D5XTXV`*5PDPZL-M*%rmHf4blY|kDM`msRHzcnw*FI}^f(%POXc5) zKS=g!(=dwoamsw;>%(#r@hbR-(&idK-si-p6=oREQl}&RR3%*3y*WZyLinBvb4{fQ zcQyKm%3n~Y@LEawEfOop`^{t)$J>NB2G~vhYuJu-HR@&&zw*>ZYJN#;Xu;nDH4-tKau!kLNme^>b*~>O#EKTI}&OW z|CoAvi8s*w|CLA$!WAlRq(Im61gD87kpBu{I(g9q{X0c2E+DV)T2I|5cBUuhQ+_`M zr6~UrZ;|(>srV4_4un3`(f^sz;QF61h3TqD!3fg#5U*qg_>ApH+eG&B}pGA{UB!GDSU(cLBz9Z6WssPrcnV!w78%`KFH*q5G&iB||VJ|DbFS7sz`XPFizQC;wuTa3GE4!3A#$L%YW(l z*A+%b*YP{jpO^t&A^so2azYNF9r;%<9`B*aq@@pFXY^s$$`5!5My^{^)S&k}TP zAg!y7X{WfaJ&mGG#&9YOCtgh@=DJ{POnwaUm4t5y57TZkLDz0V7eX28%%_io#1kny zNBDzuA|cY$onywLimjra|G!Me8&rCapz9?I+hV*$`7IjTaV$JbX5g3bWsO1pW|J4Z|HaK|kEHT73WiZ(0%0AY1r2VIUx|1z%E}T?C9dl^ z%1)D)fe%?(wx>vUCOr)s;S9nYg02m;`<&2_GF^`mnpUH*9~nC+_{LN`O~GpNwghhU z>0hLAo;xokdqkRhtSc|hYxg>`9cg)vbld&e+4g#||6b@Hu{PH49?&n!Ywz-at)AE3 zP5<>D8!*V1Y@Q=K|{O8;T@ZuSJ=|wZ~w@GN+~XP-YAEMuE#k%scx@hgexV-5$E-P z{>ZSf)D)L9#pQ1@@au}X9``spH!CijqIY@uK_SKH!0GYN9n`?zY4FIv=E0>x>SWqu zTi8?c^Bi$@rz_8q>G0Sda8Arhai-WF$aZ8oU6~I5z9B=x+}_{__Mx*%d7ODp?y0>DEIY;HN|`^heW3fu?nMKO)0>Bs$ady9^G1wI$sX(QKkKLz=^f=BZ;~4w zHDYqy-aIzt|F>4fSf}^D>u@Myoq6_P_CFo6n{PVG`}<~8kGiwNIDc+N(p@=AGU|u- z9q&kI2mDJitIyAks@OlVZ=&6smy*XiJ@!0@hmCT3@&oT=%nq$+pEpu9R%MGo2&teuANkXE+_%=_8b4gP$4mT=f5(PJeYz?|6qZ(`E1G$hXI;sy*Go5_6m`M>^+| zM?!<8+k<_@`A2(}hIyP`9r_6G>@as;c8V+A|I-H*{cF5)qPrBV7?4mAyoA6F)1K%OJVYtI?WDN4QLx#2#!J?ZQ*2bitNaC>q% zwc1CooxS8R=Oo&Dxb4nh^HC{0bEyu8%bqqWg-0em(f`Ewg9#56tjGz@%=S>h7FSlm zmRz1ETep zJ6j8meRO0<8EYATzakR-FHhbX&MPG^&*Ab9m@>ug8SluXw*3KjR!&N`t%tiXqes5W z?eS*$4^4Txt~&yI^o)uwjmVGQKX zwucnUDp=`q1m-^N3ki3pWsP!Y=lCP%u8rzju!VES-PVx~1m+G3E0#($D{$kvvmv1= z`Tn^t)G7DR)c={0fA4||fy*x>gci%q^`>O|%fEE7IxkIoJ>ELji70$uq>Xa(2q*e~ zf2m%0o_T?a>GE=Rcnj*zg!ca_}{<(yh1bc^ku+K-Sue@Eb>RJop#qZ z!Q!>U`X$>_#?ip~Cb0TwXwR}f2>3Bf4R-f$UjcvD;pK8yE&uOpKdIH-k(p`F<89C5 ze)o^PttZ>*e{6Gg{~xb+DaNlp4`aJ^S1a{%@|MffuR$hn0+sDhyvx5WL`g!uRf?ol4-k$b?mG*It>`Y#kMf~=7{O32d_BRc@WPJTj^^_y77)PUk0M{#*9Z?G609c7}&}$MFN2<=?owT707JX{OUo?>vYeXO?bi@H4{h zU{5@DN1olC<0)9lukbJ1$A>n|%+KZ>X7A9|p37wQ!$i}6|E91y@K4=crAUXa3I1BU zD+MO(h!2gv`>P^YRNQ<;1QY({JKv1fL<+wkyrcQiQ4gWsasKai)(P}}Z$zlp;y=4P z(%kw_^hz?M;MW3M9^p;!KmWn-f4&$N|L@mAV9vgqB!xtFby*(^-mJiZ56grM>NwUq zBEggV&jGg1_t?A)EuYiq;_&gbc!IYmU7reFN%Bcic;t0pQ?s3U{7UQj;b;2P{!9PY z-wU$}zZC+55A+DF^sqiX5_kahtw2oQOuBFW*FJf+<->f&1^@ctcgc~>fo2EoxgKW@ zr`_x%6Exot8BQ0UNOmXt%g^G$$&AAn1e>tw;HZ$&h3m84D~bMwhj#z{{qVyfPjx;K zcuDZ_P_QyPPM;4-yR2`AIRCK2b87X>wmu(pO89)}Hn^zx7*-2cFtGqpqF25_dV*WlehLwA2m+&)`BsxLpz zPWF}8zSHHe^Tp@IJG(s&S5~&eU;JDX^KH@UTbxBys@}c?QFh4YI8hzrMfcx6>nw-X5OqEQaVF7-9cST|B_!? pme9W+n286@|57d_zJbf(Y!G~1k9OFc_RNBn9==Wf?Hk4R{{b(0l{)|c delta 23096 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 diff --git a/django/conf/locale/no/LC_MESSAGES/django.po b/django/conf/locale/no/LC_MESSAGES/django.po index f27cb79d9..5641b9de8 100644 --- a/django/conf/locale/no/LC_MESSAGES/django.po +++ b/django/conf/locale/no/LC_MESSAGES/django.po @@ -1,13 +1,14 @@ -# translation of django.po to norwegian -# Copyright (C) 2005 and beyond +# This is the *old* Norwegian (Bokmål) translation of Django +# For future updates please use the translation in the "nb" directory. +# Copyright (C) 2005-2010 # This file is distributed under the same license as the Django package. # msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:12+0200\n" -"PO-Revision-Date: 2009-07-24 15:44+0200\n" +"POT-Creation-Date: 2010-05-15 02:08+0200\n" +"PO-Revision-Date: 2010-03-11 14:22+0100\n" "Last-Translator: Christian Mikalsen and Jon Lønne\n" "Language-Team: Norsk \n" "MIME-Version: 1.0\n" @@ -19,215 +20,255 @@ msgid "Arabic" msgstr "Arabisk" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "Bengalsk" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "Bulgarsk" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Bengalsk" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Bosnisk" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "Katalansk" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "Tsjekkisk" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "Walisisk" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "Dansk" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "Tysk" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "Gresk" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "Engelsk" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "Engelsk (britisk)" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "Spansk" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "Estisk" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "Argentinsk spansk" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "Estisk" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "Baskisk" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "Persisk" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "Finsk" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "Fransk" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Frisisk" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "Irsk" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "Galisisk" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "Ungarsk" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "Hebraisk" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "Hindi" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "Kroatisk" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Ungarsk" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "Indonesisk" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "Islandsk" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "Italiensk" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "Japansk" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "Georgisk" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "Koreansk" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "Khmer" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "Kannada" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "Latvisk" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "Koreansk" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "Litauisk" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "Latvisk" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "Makedonsk" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Mongolian" +msgstr "Mongolsk" + +#: conf/global_settings.py:82 msgid "Dutch" msgstr "Nederlandsk" -#: conf/global_settings.py:78 +#: conf/global_settings.py:83 msgid "Norwegian" msgstr "Norsk" -#: conf/global_settings.py:79 +#: conf/global_settings.py:84 +msgid "Norwegian Bokmal" +msgstr "Norsk (bokmål)" + +#: conf/global_settings.py:85 +msgid "Norwegian Nynorsk" +msgstr "Norsk (nynorsk)" + +#: conf/global_settings.py:86 msgid "Polish" msgstr "Polsk" -#: conf/global_settings.py:80 +#: conf/global_settings.py:87 msgid "Portuguese" msgstr "Portugisisk" -#: conf/global_settings.py:81 +#: conf/global_settings.py:88 msgid "Brazilian Portuguese" msgstr "Brasiliansk portugisisk" -#: conf/global_settings.py:82 +#: conf/global_settings.py:89 msgid "Romanian" msgstr "Rumensk" -#: conf/global_settings.py:83 +#: conf/global_settings.py:90 msgid "Russian" msgstr "Russisk" -#: conf/global_settings.py:84 +#: conf/global_settings.py:91 msgid "Slovak" msgstr "Slovakisk" -#: conf/global_settings.py:85 +#: conf/global_settings.py:92 msgid "Slovenian" msgstr "Slovensk" -#: conf/global_settings.py:86 +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "Albansk" + +#: conf/global_settings.py:94 msgid "Serbian" msgstr "Serbisk" -#: conf/global_settings.py:87 +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "Serbisk latin" + +#: conf/global_settings.py:96 msgid "Swedish" msgstr "Svensk" -#: conf/global_settings.py:88 +#: conf/global_settings.py:97 msgid "Tamil" msgstr "Tamil" -#: conf/global_settings.py:89 +#: conf/global_settings.py:98 msgid "Telugu" msgstr "Telugu" -#: conf/global_settings.py:90 +#: conf/global_settings.py:99 msgid "Thai" msgstr "Thai" -#: conf/global_settings.py:91 +#: conf/global_settings.py:100 msgid "Turkish" msgstr "Tyrkisk" -#: conf/global_settings.py:92 +#: conf/global_settings.py:101 msgid "Ukrainian" msgstr "Ukrainsk" -#: conf/global_settings.py:93 -msgid "Simplified Chinese" -msgstr "Simplifisert kinesisk" +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "Vietnamesisk" -#: conf/global_settings.py:94 +#: conf/global_settings.py:103 +msgid "Simplified Chinese" +msgstr "Forenklet kinesisk" + +#: conf/global_settings.py:104 msgid "Traditional Chinese" msgstr "Tradisjonell kinesisk" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Slettet %(count)d %(items)s." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "Er du sikker?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Slett valgte %(verbose_name_plural)s" @@ -266,19 +307,19 @@ msgstr "Denne måneden" msgid "This year" msgstr "I år" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "Ja" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "Nei" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "Ukjent" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Handling:" @@ -310,104 +351,127 @@ msgstr "logginnlegg" msgid "log entries" msgstr "logginnlegg" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "Ingen" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "Endret %s." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:845 +#: forms/models.py:568 msgid "and" msgstr "og" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Opprettet %(name)s \"%(object)s\"." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Endret %(list)s for %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Slettet %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Ingen felt endret." -#: contrib/admin/options.py:599 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" ble opprettet." -#: contrib/admin/options.py:603 contrib/admin/options.py:636 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "Du kan redigere videre nedenfor." -#: contrib/admin/options.py:613 contrib/admin/options.py:646 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "Du kan opprette ny %s nedenfor." -#: contrib/admin/options.py:634 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" ble endret." -#: contrib/admin/options.py:642 +#: contrib/admin/options.py:686 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "%(name)s \"%(obj)s\" ble endret. Du kan redigere videre nedenfor." -#: contrib/admin/options.py:773 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Du må velge objekter for å utføre handlinger på dem. Ingen objekter har " +"blitt endret." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Ingen handling valgt." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Opprett %s" -#: contrib/admin/options.py:804 contrib/admin/options.py:1005 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "%(name)s-objekt med primærnøkkelen %(key)r finnes ikke." -#: contrib/admin/options.py:861 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" -msgstr "Rediger %s" +msgstr "Endre %s" -#: contrib/admin/options.py:905 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Databasefeil" -#: contrib/admin/options.py:941 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s %(name)s ble endret." msgstr[1] "%(count)s %(name)s ble endret." -#: contrib/admin/options.py:1020 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s valgt" +msgstr[1] "Alle %(total_count)s valgt" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 av %(cnt)s valgt" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" ble slettet." -#: contrib/admin/options.py:1057 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Endringshistorikk: %s" -#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -415,11 +479,11 @@ msgstr "" "Vennligst angi korrekt brukernavn og passord. Merk at det er forskjell på " "små og store bokstaver." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Økten din har tidsavbrutt, vennligst logg inn igjen." -#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -427,62 +491,52 @@ msgstr "" "Det ser ut som om nettleseren din ikke støtter informasjonskapsler " "(cookies). Vennligst konfigurer nettleseren din og prøv igjen." -#: contrib/admin/sites.py:308 contrib/admin/sites.py:314 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Brukernavnet kan ikke inneholde tegnet '@'." -#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "E-postadressen er ikke brukernavnet ditt, prøv '%s' isteden." -#: contrib/admin/sites.py:367 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Nettstedsadministrasjon" -#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Logg inn" -#: contrib/admin/sites.py:426 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "%s-administrasjon" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "En eller flere %(fieldname)s i %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "En eller flere %(fieldname)s i %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Dato:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Tid:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Nå:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Endre:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Oppslag" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Legg til ny" @@ -497,17 +551,17 @@ msgstr "Beklager, men siden du spør etter finnes ikke." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -544,34 +598,47 @@ msgstr "Utfør den valgte handlingen" msgid "Go" msgstr "Gå" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Trykk her for å velge samtlige objekter fra alle sider" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Velg alle %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Nullstill valg" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:27 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Velkommen," -#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentasjon" -#: contrib/admin/templates/admin/base.html:40 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Endre passord" -#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Logg ut" @@ -583,41 +650,42 @@ msgstr "Django administrasjonsside" msgid "Django administration" msgstr "Django-administrasjon" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Opprett" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Historikk" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" -msgstr "Vis på nettside" +msgstr "Vis på nettsted" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Vennligst korriger feilen under." msgstr[1] "Vennligst korriger feilene under." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Opprett %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filtrering" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Slett" @@ -664,9 +732,9 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" -"Er du sikker på at du vil slette disse %(object_name)s-objektene? De " +"Er du sikker på at du vil slette de valgte %(object_name)s-objektene? De " "følgende objektene og deres relaterte objekter vil bli slettet:" #: contrib/admin/templates/admin/filter.html:2 @@ -729,15 +797,9 @@ msgid "User" msgstr "Bruker" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Handling" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j. F Y H:i" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -783,7 +845,7 @@ msgstr "Lagre og opprett ny" msgid "Save and continue editing" msgstr "Lagre og fortsett å redigere" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -791,33 +853,39 @@ msgstr "" "Skriv først inn brukernavn og passord. Deretter vil du få mulighet til å " "endre flere brukerinnstillinger." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Brukernavn" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Passord" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Passord (gjenta)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Skriv inn det samme passordet som ovenfor, for verifisering." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: contrib/admin/templates/admin/auth/user/change_password.html:28 #, python-format msgid "Enter a new password for the user %(username)s." msgstr "Skriv inn et nytt passord for brukeren %(username)s." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Passord" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Passord (gjenta)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Skriv inn det samme passordet som ovenfor, for verifisering." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Legg til ny %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Fjern" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Slette?" @@ -831,9 +899,9 @@ msgid "Log in again" msgstr "Logg inn igjen" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Endre passord" @@ -846,7 +914,7 @@ msgstr "Passord endret" msgid "Your password was changed." msgstr "Ditt passord ble endret." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -854,21 +922,17 @@ msgstr "" "Venligst oppgi ditt gamle passord av sikkerhetsgrunner. Oppgi deretter ditt " "nye passord to ganger, slik at vi kan kontrollere at det er korrekt." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Gammelt passord:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Gammelt passord" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Nytt passord:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Nytt passord" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Gjenta nytt passord:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Endre passord" @@ -907,6 +971,14 @@ msgstr "" "Venligst oppgi ditt nye passord to ganger, for å sikre at du oppgir det " "korrekt." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Nytt passord:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Gjenta nytt passord:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Passordet ble ikke nullstilt" @@ -976,25 +1048,25 @@ msgstr "E-postadresse:" msgid "Reset my password" msgstr "Nullstill mitt passord" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Alle datoer" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "Velg %s" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" -msgstr "Velg %s du ønsker å redigere" +msgstr "Velg %s du ønsker å endre" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" -msgstr "nettside" +msgstr "nettsted" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "mal" @@ -1054,89 +1126,7 @@ msgstr "antall %s" msgid "Fields on %s objects" msgstr "Felter på %s-objekter" -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 -#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 -#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 -msgid "Integer" -msgstr "Heltall" - -#: contrib/admindocs/views.py:335 -msgid "Boolean (Either True or False)" -msgstr "Boolsk (True eller False)" - -#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Tekst (opp til %(max_length)s tegn)" - -#: contrib/admindocs/views.py:337 -msgid "Comma-separated integers" -msgstr "Heltall adskilt med komma" - -#: contrib/admindocs/views.py:338 -msgid "Date (without time)" -msgstr "Dato (uten tid)" - -#: contrib/admindocs/views.py:339 -msgid "Date (with time)" -msgstr "Dato (med tid)" - -#: contrib/admindocs/views.py:340 -msgid "Decimal number" -msgstr "Desimaltall" - -#: contrib/admindocs/views.py:341 -msgid "E-mail address" -msgstr "E-postadresse" - -#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 -#: contrib/admindocs/views.py:346 -msgid "File path" -msgstr "Filsti" - -#: contrib/admindocs/views.py:344 -msgid "Floating point number" -msgstr "Flyttall" - -#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 -msgid "IP address" -msgstr "IP-adresse" - -#: contrib/admindocs/views.py:350 -msgid "Boolean (Either True, False or None)" -msgstr "Boolsk (True, False eller None)" - -#: contrib/admindocs/views.py:351 -msgid "Relation to parent model" -msgstr "Relasjon til foreldermodell" - -#: contrib/admindocs/views.py:352 -msgid "Phone number" -msgstr "Telefonnummer" - -#: contrib/admindocs/views.py:357 -msgid "Text" -msgstr "Tekst" - -#: contrib/admindocs/views.py:358 -msgid "Time" -msgstr "Tid" - -#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "Nettadresse" - -#: contrib/admindocs/views.py:360 -msgid "U.S. state (two uppercase letters)" -msgstr "Stat (i USA, to store bokstaver)" - #: contrib/admindocs/views.py:361 -msgid "XML text" -msgstr "XML-tekst" - -#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s ser ikke ut til å være et urlpattern-objekt" @@ -1208,66 +1198,61 @@ msgstr "Endre dette objektet (nytt vindu)" msgid "As above, but opens the admin page in a new window." msgstr "Samme som over, men åpner administrasjonssiden i et nytt vindu." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Personlig informasjon" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Rettigheter" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Viktige datoer" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Grupper" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Opprett ny bruker" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Passordet er endret." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Endre passord: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Påkrevet. 30 tegn eller færre. Kun alfanumeriske tegn (bokstaver, tall og " -"understreker)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Brukernavn" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Feltet kan kun inneholde bokstaver, nummer og understreker." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Påkrevet. 30 tegn eller færre. Kun bokstaver, tall og @/./+/-/_." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Verdien kan kun inneholde bokstaver, tall og @/./+/-/_." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Passordbekreftelse" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Det eksisterer allerede en bruker med dette brukernavnet." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "De to passordfeltene er ikke like." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Denne kontoen er inaktiv." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1275,11 +1260,11 @@ msgstr "" "Din nettleser ser ikke ut til å støtte informasjonskapsler (cookies). " "Informasjonskapsler er påkrevet for å logge inn." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-post" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1287,72 +1272,69 @@ msgstr "" "Den oppgitte e-postadressen er ikke registrert hos oss. Er du sikker på at " "du er registrert?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Nullstilling av passord på %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Nytt passord" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Bekreft nytt passord" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Gammelt passord" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Ditt gamle passord er galt. Vennligst prøv igjen." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "navn" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "kodenavn" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "rettighet" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "rettigheter" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "gruppe" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "grupper" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "brukernavn" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "Påkrevet. 30 tegn eller færre. Bokstaver, tall og @/./+/-/_." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "fornavn" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "etternavn" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "e-postadresse" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "passord" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1360,45 +1342,45 @@ msgstr "" "Bruk '[algo]$[salt]$[hexdigest]' eller endre passord-" "skjemaet." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "administrasjonsstatus" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "Angir at brukeren kan logge inn på denne administrasjonssiden." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "aktiv" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "" "Angir at denne brukeren er aktiv. Avmerk denne i stedet for å slette kontoen." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "superbruker" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "" "Angir at denne brukeren har alle rettigheter uten å eksplisitt sette de." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "siste innlogging" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "registrert" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1406,43 +1388,81 @@ msgstr "" "I tillegg til de rettighetene som blir angitt manuelt, får brukeren også " "rettighetene til gruppene han/hun er med i." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "Brukerrettigheter" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "bruker" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "brukere" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "melding" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Logget ut" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Oppgi en gyldig e-postadresse." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Innhold" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metadata" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "flagget" +msgstr[1] "flagget" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Flagg valgte kommentarer" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "godkjent" +msgstr[1] "godkjent" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Tillat valgte kommentarer" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "fjernet" +msgstr[1] "fjernet" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Fjern valgte kommentarer" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 kommentar ble %(action)s." +msgstr[1] "%(count)s kommentarer ble %(action)s." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" -msgstr "%(site_name)s - kommentarer" +msgstr "%(site_name)s kommentarer" #: contrib/comments/feeds.py:23 #, python-format @@ -1450,7 +1470,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Siste kommentarer fra %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Navn" @@ -1458,25 +1477,29 @@ msgstr "Navn" msgid "Email address" msgstr "E-postadresse" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "Nettadresse" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Kommentar" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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] "Pass munnen din! Ordet %s er ikke tillatt her." msgstr[1] "Pass munnen din! Ordene %s er ikke tillatt her." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "" "Hvis du oppgir noe i dette feltet, vil kommentaren bli behandlet som spam" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "innholdstype" @@ -1505,6 +1528,10 @@ msgstr "kommentar" msgid "date/time submitted" msgstr "dato/tid for innsendelse" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP-adresse" + #: contrib/comments/models.py:61 msgid "is public" msgstr "er tilgjengelig for alle" @@ -1586,7 +1613,6 @@ msgid "Really make this comment public?" msgstr "Gjør denne kommentaren offentlig?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Godkjenn" @@ -1611,11 +1637,6 @@ msgstr "Fjern en kommentar" msgid "Really remove this comment?" msgstr "Fjerne denne kommentaren?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Fjern" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Takk for fjerningen" @@ -1646,39 +1667,6 @@ msgstr "Publiser" msgid "Preview" msgstr "Forhåndsvisning" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Kommentarmoderasjonskø" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Ingen kommentarer å moderere" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "E-post" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Godkjent?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "IP-adresse" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Dato lagt inn" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "ja" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "nei" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Takk for kommentar" @@ -1706,11 +1694,11 @@ msgstr "Publiser din kommentar" msgid "or make changes" msgstr "eller gjør endringer" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "python-modell klassenavn" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "innholdstyper" @@ -1772,7 +1760,7 @@ msgstr "flatside" msgid "flat pages" msgstr "flatsider" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1780,6 +1768,38 @@ msgstr "" "Vi beklager, men dette skjemaet har tidsavbrutt. Vennligst fyll ut skjemaet " "fra denne siden." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Punkt" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Polygon" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Ingen geometriverdi oppgitt." @@ -1884,25 +1904,25 @@ msgstr "i morgen" msgid "yesterday" msgstr "i går" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Oppgi et postnummer på formen NNNN eller ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Feltet krever kun tall." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Feltet krever 7 eller 8 siffer." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Oppgi gyldig CUIT på formen XX-XXXXXXXX-X or XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Ugyldig CUIT." @@ -1942,8 +1962,8 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Wien" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Oppgi et postnummer på formen XXXX." @@ -1951,19 +1971,19 @@ msgstr "Oppgi et postnummer på formen XXXX." msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." msgstr "Oppgi et gyldig Østerrisk personnummer på formen XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Oppgi et firesifret postnummer." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Oppgi et postnummer på formen XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Telefonnummeret må være på formen XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." @@ -1971,27 +1991,27 @@ msgstr "" "Velg en gyldig brasiliansk stat. Den staten er ikke et av de tilgjengelige " "valgene." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Ugyldig CPF-nummer." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "Feltet krever maksimum 11 eller 14 siffer." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "Ugyldig CNPJ-nummer." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "Feltet krever minst 14 siffer." -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Oppgi et postnummer på formen XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "Oppgi et gyldig kanadisk personnummer på formen XXX-XXX-XXX." @@ -2099,7 +2119,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zürich" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2107,15 +2127,15 @@ msgstr "" "Oppgi et gyldig sveitsisk identitets- eller passnummer på formen X1234567<0 " "eller 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Oppgi et gyldig chilensk RUT." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Oppgi et gyldig chilensk RUT på formen XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Den chilenske RUT er ugyldig." @@ -2175,23 +2195,23 @@ msgstr "Zlín region" msgid "Moravian-Silesian Region" msgstr "Mähren-Schlesien region" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Oppgi et postnummer på formen XXXXX or XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "Oppgi et fødselsnummer på formen XXXXXX/XXXX eller XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Oppgi et gyldig fødselsnummer." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Oppgi et gyldig IC-nummer." @@ -2259,12 +2279,12 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thüringen" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Oppgi et postnummer på formen XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2539,11 +2559,11 @@ msgstr "Navarra" msgid "Valencian Community" msgstr "Valenciana" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Oppgi et gyldig postnummer på formen 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." @@ -2551,61 +2571,520 @@ msgstr "" "Oppgi et gyldig telefonnummer på et av følgende formater: 6XXXXXXXX, " "8XXXXXXXX eller 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Oppgi et gyldig NIF, NIE eller CIF." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Oppgi et gyldig NIF eller NIE." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Ugyldig kontrollsum for NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Ugyldig kontrollsum for NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Ugyldig kontrollsum for CIF." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "Oppgi et gyldig kontonummer på formen XXXX-XXXX-XX-XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Ugyldig kontrollsum for kontonummer." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Oppgi et gyldig finsk personnummer." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Telefonnummeret må være på formen 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Oppgi et gyldig postnummer." + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Oppgi et gyldig telefonnummer." + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Oppgi et gyldig kjøretøyregistreringsnummer." + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Oppgi et gyldig NIK/KTP-nummer." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +#, fuzzy +msgid "Pati" +msgstr "aktiv" + +#: contrib/localflavor/id/id_choices.py:91 +#, fuzzy +msgid "Surabaya" +msgstr "lørdag" + +#: contrib/localflavor/id/id_choices.py:92 +#, fuzzy +msgid "Madura" +msgstr "Madrid" + +#: contrib/localflavor/id/id_choices.py:93 +#, fuzzy +msgid "Malang" +msgstr "Málaga" + +#: contrib/localflavor/id/id_choices.py:94 +#, fuzzy +msgid "Jember" +msgstr "november" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +#, fuzzy +msgid "Garut" +msgstr "Glarus" + +#: contrib/localflavor/ie/ie_counties.py:8 +#, fuzzy +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +#, fuzzy +msgid "Armagh" +msgstr "Aragón" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +#, fuzzy +msgid "Cavan" +msgstr "Katalansk" + +#: contrib/localflavor/ie/ie_counties.py:12 +#, fuzzy +msgid "Clare" +msgstr "Cáceres" + +#: contrib/localflavor/ie/ie_counties.py:13 +#, fuzzy +msgid "Cork" +msgstr "eller" + +#: contrib/localflavor/ie/ie_counties.py:14 +#, fuzzy +msgid "Derry" +msgstr "februar" + +#: contrib/localflavor/ie/ie_counties.py:15 +#, fuzzy +msgid "Donegal" +msgstr "én" + +#: contrib/localflavor/ie/ie_counties.py:16 +#, fuzzy +msgid "Down" +msgstr "Devon" + +#: contrib/localflavor/ie/ie_counties.py:17 +#, fuzzy +msgid "Dublin" +msgstr "Lublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +#, fuzzy +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +#, fuzzy +msgid "Galway" +msgstr "Galicia" + +#: contrib/localflavor/ie/ie_counties.py:20 +#, fuzzy +msgid "Kerry" +msgstr "februar" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +#, fuzzy +msgid "Louth" +msgstr "Logg ut" + +#: contrib/localflavor/ie/ie_counties.py:28 +#, fuzzy +msgid "Mayo" +msgstr "mai" + +#: contrib/localflavor/ie/ie_counties.py:29 +#, fuzzy +msgid "Meath" +msgstr "Metadata" + +#: contrib/localflavor/ie/ie_counties.py:30 +#, fuzzy +msgid "Monaghan" +msgstr "Logg inn igjen" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +#, fuzzy +msgid "Roscommon" +msgstr "kommentar" + +#: contrib/localflavor/ie/ie_counties.py:33 +#, fuzzy +msgid "Sligo" +msgstr "Shiga" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +#, fuzzy +msgid "Tyrone" +msgstr "Tirol" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +#, fuzzy +msgid "Westmeath" +msgstr "West Pomerania" + +#: contrib/localflavor/ie/ie_counties.py:38 +#, fuzzy +msgid "Wexford" +msgstr "ons" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Oppgi et postnummer på formen XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "Oppgi et gyldig islandsk identifikasjonsnummer på formen XXXXXX-XXXX." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Det islandsk identifikasjonsnummer er ugyldig." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Oppgi et gyldig postnummer." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Oppgi et gyldig italiensk personnummer." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Oppgi et gyldig VAT-nummer." @@ -2801,6 +3280,10 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Oppgi et gyldig Kuwaiti Civil ID-nummer." + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2929,15 +3412,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Oppgi et gyldig postnummer." -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Oppgi et gyldig telefonnummer." - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Oppgi et gyldig SoFi-nummer." @@ -2989,15 +3468,15 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Oppgi et gyldig norsk personnummer." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Feltet krever åtte siffer." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Feltet krever 11 siffer." @@ -3094,6 +3573,14 @@ msgstr "Greater Poland" msgid "West Pomerania" msgstr "West Pomerania" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Oppgi et postnummer på formen XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Telefonnummer må ha 9 siffer, eller starte med + eller 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Oppgi et gyldig CIF." @@ -3114,6 +3601,106 @@ msgstr "Telefonnummeret må være på formen XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Oppgi et postnummer på formen XXXXXX." +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Oppgi et gyldig svensk organisasjonsnummer." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Oppgi et gyldig svensk personnummer." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Oppgi et gyldig svensk postnummer på formen XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stockholm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banska Bystrica" @@ -3746,20 +4333,44 @@ msgstr "Skottland" msgid "Wales" msgstr "Wales" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Oppgi et postnummer på formen XXXXX eller XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Telefonnummeret må være på formen XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" "Oppgi et gyldig amerikansik Social Security-nummer på formen XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Oppgi en amerikansk stat eller et område" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Stat (i USA, to store bokstaver)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Telefonnummer" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Oppgi gyldig CI på formen X.XXX.XXX-X,XXXXXXX-X eller XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Oppgi et gyldig CI-nummer." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Oppgi et gyldig South African ID-nummer." -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Oppgi et gyldig postnummer." @@ -3799,6 +4410,10 @@ msgstr "North West" msgid "Western Cape" msgstr "Western Cape" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "\"lazy\" melding" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "omadresser fra" @@ -3861,60 +4476,217 @@ msgstr "visningsnavn" #: contrib/sites/models.py:39 msgid "sites" -msgstr "nettsider" +msgstr "nettsteder" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Verdien må være et heltall." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Oppgi en gyldig verdi." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Verdien må være True eller False." +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Oppgi en gyldig nettadresse." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Feltet kan ikke være tomt." +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Nettadressen fører til en side som ikke eksisterer." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Oppgi en gyldig 'slug' bestående av bokstaver, nummer, understreker eller " +"bindestreker." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Oppgi en gyldig IPv4-adresse." + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "Oppgi kun tall adskilt med komma." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Verdien må være %(limit_value)s (den er %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Verdien må være mindre enn eller lik som %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Verdien må være større enn eller lik som %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "Verdien må minimum ha %(limit_value)d tegn (den har %(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "Verdien kan maksimalt ha %(limit_value)d tegn (den er %(show_value)d)." + +#: db/models/base.py:823 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s må være unik for %(date_field)s %(lookup)s." + +#: db/models/base.py:838 db/models/base.py:846 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s med %(field_label)s finnes allerede." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Verdien %r er ikke et gyldig valg." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Feltet kan ikke være tomt." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Feltet kan ikke være blankt." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Felt av typen: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Heltall" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Verdien må være et heltall." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Verdien må være True eller False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Boolsk (True eller False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Tekst (opp til %(max_length)s tegn)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Heltall adskilt med komma" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Dato (uten tid)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Oppgi en gyldig dato på formen ÅÅÅÅ-MM-DD." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Ugyldig dato: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "Oppgi dato og tid på formen ÅÅÅÅ-MM-DD TT:MM[:ss[.uuuuuu]]." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Dato (med tid)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "Verdien må være et desimaltall." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Desimaltall" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "E-postadresse" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Filsti" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "Verdien må være et flyttall." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Flyttall" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Stort (8 byte) heltall" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "Verdien må være None, True eller False." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Boolsk (True, False eller None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Tekst" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Tid" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Oppgi tiden på formen TT:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:816 +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML-tekst" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Modell %(model)s med primærnøkkelen %(pk)r finnes ikke." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Fremmednøkkel (type bestemmes av relatert felt)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "En-til-en-relasjon" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Mange-til-mange-relasjon" + +#: db/models/fields/related.py:1000 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Hold nede \"Control\", eller \"Command\" på en Mac, for å velge mer enn en." -#: db/models/fields/related.py:894 +#: db/models/fields/related.py:1061 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3922,88 +4694,64 @@ msgid_plural "" msgstr[0] "Oppgi gyldige %(self)s-ID-er. Verdien %(value)r er ugyldig." msgstr[1] "Oppgi gyldige %(self)s-ID-er. Verdiene %(value)r er ugyldige." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Feltet er påkrevet." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Oppgi en gyldig verdi." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "Verdien kan maksimalt ha %(max)d tegn (den er %(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "Verdien må minimum ha %(min)d tegn (den er %(length)d)." - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "Oppgi et heltall." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Verdien må være mindre enn eller lik %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Verdien må være større enn eller lik %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "Oppgi et tall." -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Verdien kan ikke ha mer enn %s siffer totalt." -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Verdien kan ikke ha mer enn %s desimaler." -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Verdien kan ikke ha mer enn %s siffer foran komma." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "Oppgi en gyldig dato." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "Oppgi et gyldig tidspunkt." -#: forms/fields.py:361 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "Oppgi gyldig dato og tidspunkt." -#: forms/fields.py:447 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "Ingen fil ble sendt. Sjekk \"encoding\"-typen på skjemaet." -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "Ingen fil ble sendt." -#: forms/fields.py:449 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "Filen er tom." -#: forms/fields.py:450 +#: forms/fields.py:438 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr "Filnavnet kan maksimalt ha %(max)d tegn (det har %(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -4011,114 +4759,85 @@ msgstr "" "Last opp et gyldig bilde. Filen du lastet opp var ødelagt eller ikke et " "bilde." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Oppgi en gyldig nettadresse." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "Nettadressen fører til en side som ikke eksisterer." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Velg et gyldig valg. %(value)s er ikke et av de tilgjengelige valgene." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 msgid "Enter a list of values." msgstr "Oppgi en liste med verdier." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Oppgi en gyldig IPv4-adresse." - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Oppgi en gyldig 'slug' bestående av bokstaver, nummer, understreker eller " -"bindestreker." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "Rekkefølge" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "%(field_name)s må være unik for %(date_field)s %(lookup)s." - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s med %(field_label)s finnes allerede." - -#: forms/models.py:594 +#: forms/models.py:562 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Vennligst korriger duplisert data for %(field)s." -#: forms/models.py:598 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "Vennligst korriger duplisert data for %(field)s, som må være unik." -#: forms/models.py:604 +#: forms/models.py:572 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " "for the %(lookup)s in %(date_field)s." msgstr "" -"Vennligst korriger duplisert data for %(field_name)s, som må være unik for " -"%(lookup)s i %(date_field)s." +"Vennligst korriger duplisert data for %(field_name)s, som må være unik for %" +"(lookup)s i %(date_field)s." -#: forms/models.py:612 +#: forms/models.py:580 msgid "Please correct the duplicate values below." msgstr "Vennligst korriger de dupliserte verdiene nedenfor." -#: forms/models.py:867 +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "Primærnøkkelen er ikke den samme som foreldreinstansens primærnøkkel." -#: forms/models.py:930 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Velg et gyldig valg. Valget er ikke et av de tilgjengelige valgene." -#: forms/models.py:1004 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Velg et gyldig valg. %s er ikke et av de tilgjengelige valgene." -#: forms/models.py:1006 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" er ikke en gyldig verdi for en primærnøkkel." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "ja,nei,kanskje" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d byte" msgstr[1] "%(size)d bytes" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4324,7 +5043,7 @@ msgstr "nov." msgid "Dec." msgstr "des." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "eller" @@ -4378,33 +5097,37 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "j. F Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j. F Y H:i" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "j. F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s ble opprettet." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s ble oppdatert." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s ble slettet." diff --git a/django/conf/locale/no/LC_MESSAGES/djangojs.mo b/django/conf/locale/no/LC_MESSAGES/djangojs.mo index b461cb58c31e4440f8d97bcc0bd360b2cc4f6ec3..7b063e7b30da6beefde2ccf0a22b3417668cb8cd 100644 GIT binary patch delta 30 lcmZqXY3AARm08fxK-a)n*U(VG(89{VOxwV4GaJiaMgV?M2gm>b delta 30 kcmZqXY3AARm08fhLKldPEENpRtPG8`4U9IkvHWEO0DqYW*#H0l diff --git a/django/conf/locale/no/LC_MESSAGES/djangojs.po b/django/conf/locale/no/LC_MESSAGES/djangojs.po index 2916954a9..f6d3b1f04 100644 --- a/django/conf/locale/no/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/no/LC_MESSAGES/djangojs.po @@ -1,4 +1,5 @@ -# translation of djangojs.po to norwegian +# This is the *old* Norwegian (Bokmål) translation of Django javascript +# For future updates please use the translation in the "nb" directory. # Copyright (C) 2005 and beyond # This file is distributed under the same license as the Django package. # @@ -7,40 +8,40 @@ msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-12-09 11:51+0100\n" -"PO-Revision-Date: 2008-08-29 16:12+0200\n" +"PO-Revision-Date: 2010-03-11 18:06+0100\n" "Last-Translator: Christian Mikalsen and Jon Lønne\n" "Language-Team: Norsk \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 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "Tilgjengelige %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Velg alle" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Ny" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "Slett" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "Valgte %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "Velg ditt valg og klikk " -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Fjern alle" @@ -57,62 +58,63 @@ msgstr "" msgid "S M T W T F S" msgstr "S M T O T F L" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Vis" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Skjul" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "Søndag Mandag Tirsdag Onsdag Torsdag Fredag Lørdag" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "Vis" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "Skjul" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:50 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Now" msgstr "Nå" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:54 msgid "Clock" msgstr "Klokke" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 msgid "Choose a time" msgstr "Velg et klokkeslett" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "Midnight" msgstr "Midnatt" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "6 a.m." msgstr "06:00" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 msgid "Noon" msgstr "12:00" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:92 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Avbryt" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "I dag" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Kalender" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "I går" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "I morgen" diff --git a/django/conf/locale/no/__init__.py b/django/conf/locale/no/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/no/formats.py b/django/conf/locale/no/formats.py new file mode 100644 index 000000000..fbc6142e7 --- /dev/null +++ b/django/conf/locale/no/formats.py @@ -0,0 +1,34 @@ +DATE_FORMAT = 'j. F Y' +TIME_FORMAT = 'H:i' +DATETIME_FORMAT = 'j. F Y H:i' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'd.m.Y' +SHORT_DATETIME_FORMAT = 'd.m.Y H:i' +FIRST_DAY_OF_WEEK = 1 # Monday +DATE_INPUT_FORMATS = ( + '%Y-%m-%d', '%j.%m.%Y', '%j.%m.%y', # '2006-10-25', '25.10.2006', '25.10.06' + '%Y-%m-%j', # '2006-10-25', + # '%j. %b %Y', '%j %b %Y', # '25. okt 2006', '25 okt 2006' + # '%j. %b. %Y', '%j %b. %Y', # '25. okt. 2006', '25 okt. 2006' + # '%j. %B %Y', '%j %B %Y', # '25. oktober 2006', '25 oktober 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%Y-%m-%j', # '2006-10-25' + '%j.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' + '%j.%m.%Y %H:%M', # '25.10.2006 14:30' + '%j.%m.%Y', # '25.10.2006' + '%j.%m.%y %H:%M:%S', # '25.10.06 14:30:59' + '%j.%m.%y %H:%M', # '25.10.06 14:30' + '%j.%m.%y', # '25.10.06' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = ' ' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/pl/LC_MESSAGES/django.mo b/django/conf/locale/pl/LC_MESSAGES/django.mo index 309db85baf5daf66621eef9f94f932f2c2157493..f4bb8f31d64af4ccdf868d574bb95e400526dbb5 100644 GIT binary patch delta 26292 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 delta 22883 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 diff --git a/django/conf/locale/pl/LC_MESSAGES/django.po b/django/conf/locale/pl/LC_MESSAGES/django.po index ba985d01e..37f52037b 100644 --- a/django/conf/locale/pl/LC_MESSAGES/django.po +++ b/django/conf/locale/pl/LC_MESSAGES/django.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-17 21:59+0200\n" +"POT-Creation-Date: 2010-04-28 12:24+0200\n" "PO-Revision-Date: 2008-02-25 15:53+0100\n" "Last-Translator: Jarek Zgoda \n" "MIME-Version: 1.0\n" @@ -19,215 +19,235 @@ msgid "Arabic" msgstr "arabski" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "bengalski" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "bułgarski" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "bengalski" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "bośniacki" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "kataloński" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "czeski" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "walijski" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "duński" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "niemiecki" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "grecki" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "angielski" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 msgid "Spanish" msgstr "hiszpański" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "estoński" - #: conf/global_settings.py:56 msgid "Argentinean Spanish" msgstr "hiszpański argentyński" #: conf/global_settings.py:57 +msgid "Estonian" +msgstr "estoński" + +#: conf/global_settings.py:58 msgid "Basque" msgstr "baskijski" -#: conf/global_settings.py:58 +#: conf/global_settings.py:59 msgid "Persian" msgstr "perski" -#: conf/global_settings.py:59 +#: conf/global_settings.py:60 msgid "Finnish" msgstr "fiński" -#: conf/global_settings.py:60 +#: conf/global_settings.py:61 msgid "French" msgstr "francuski" -#: conf/global_settings.py:61 +#: conf/global_settings.py:62 +msgid "Frisian" +msgstr "fryzyjski" + +#: conf/global_settings.py:63 msgid "Irish" msgstr "irlandzki" -#: conf/global_settings.py:62 +#: conf/global_settings.py:64 msgid "Galician" msgstr "galicyjski" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "węgierski" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:65 msgid "Hebrew" msgstr "hebrajski" -#: conf/global_settings.py:65 +#: conf/global_settings.py:66 msgid "Hindi" msgstr "hindi" -#: conf/global_settings.py:66 +#: conf/global_settings.py:67 msgid "Croatian" msgstr "chorwacki" -#: conf/global_settings.py:67 +#: conf/global_settings.py:68 +msgid "Hungarian" +msgstr "węgierski" + +#: conf/global_settings.py:69 msgid "Icelandic" msgstr "islandzki" -#: conf/global_settings.py:68 +#: conf/global_settings.py:70 msgid "Italian" msgstr "włoski" -#: conf/global_settings.py:69 +#: conf/global_settings.py:71 msgid "Japanese" msgstr "japoński" -#: conf/global_settings.py:70 +#: conf/global_settings.py:72 msgid "Georgian" msgstr "gruziński" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "koreański" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:73 msgid "Khmer" msgstr "khmerski" -#: conf/global_settings.py:73 +#: conf/global_settings.py:74 msgid "Kannada" msgstr "kannada" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "łotewski" - #: conf/global_settings.py:75 +msgid "Korean" +msgstr "koreański" + +#: conf/global_settings.py:76 msgid "Lithuanian" msgstr "litewski" -#: conf/global_settings.py:76 +#: conf/global_settings.py:77 +msgid "Latvian" +msgstr "łotewski" + +#: conf/global_settings.py:78 msgid "Macedonian" msgstr "macedoński" -#: conf/global_settings.py:77 +#: conf/global_settings.py:79 msgid "Dutch" msgstr "holenderski" -#: conf/global_settings.py:78 +#: conf/global_settings.py:80 msgid "Norwegian" msgstr "norweski" -#: conf/global_settings.py:79 +#: conf/global_settings.py:81 msgid "Polish" msgstr "polski" -#: conf/global_settings.py:80 +#: conf/global_settings.py:82 msgid "Portuguese" msgstr "portugalski" -#: conf/global_settings.py:81 +#: conf/global_settings.py:83 msgid "Brazilian Portuguese" msgstr "brazylijski portugalski" -#: conf/global_settings.py:82 +#: conf/global_settings.py:84 msgid "Romanian" msgstr "rumuński" -#: conf/global_settings.py:83 +#: conf/global_settings.py:85 msgid "Russian" msgstr "rosyjski" -#: conf/global_settings.py:84 +#: conf/global_settings.py:86 msgid "Slovak" msgstr "słowacki" -#: conf/global_settings.py:85 +#: conf/global_settings.py:87 msgid "Slovenian" msgstr "słoweński" -#: conf/global_settings.py:86 +#: conf/global_settings.py:88 +msgid "Albanian" +msgstr "albański" + +#: conf/global_settings.py:89 msgid "Serbian" msgstr "serbski" -#: conf/global_settings.py:87 +#: conf/global_settings.py:90 +msgid "Serbian Latin" +msgstr "serbski (łaciński)" + +#: conf/global_settings.py:91 msgid "Swedish" msgstr "szwedzki" -#: conf/global_settings.py:88 +#: conf/global_settings.py:92 msgid "Tamil" msgstr "tamilski" -#: conf/global_settings.py:89 +#: conf/global_settings.py:93 msgid "Telugu" msgstr "telugu" -#: conf/global_settings.py:90 +#: conf/global_settings.py:94 msgid "Thai" msgstr "tajski" -#: conf/global_settings.py:91 +#: conf/global_settings.py:95 msgid "Turkish" msgstr "turecki" -#: conf/global_settings.py:92 +#: conf/global_settings.py:96 msgid "Ukrainian" msgstr "ukraiński" -#: conf/global_settings.py:93 +#: conf/global_settings.py:97 +msgid "Vietnamese" +msgstr "wietnamski" + +#: conf/global_settings.py:98 msgid "Simplified Chinese" msgstr "chiński uproszczony" -#: conf/global_settings.py:94 +#: conf/global_settings.py:99 msgid "Traditional Chinese" msgstr "chiński tradycyjny" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:52 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Usunięto %(count)d %(items)s." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 +#: contrib/admin/actions.py:59 contrib/admin/options.py:1100 msgid "Are you sure?" msgstr "Jesteś pewien?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:77 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Usuń wybrane %(verbose_name_plural)s" @@ -266,19 +286,19 @@ msgstr "Ten miesiąc" msgid "This year" msgstr "Ten rok" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "Tak" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "Nie" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "Nieznany" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Akcja:" @@ -310,87 +330,97 @@ msgstr "log" msgid "log entries" msgstr "logi" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:142 contrib/admin/options.py:157 msgid "None" msgstr "brak" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:563 #, python-format msgid "Changed %s." msgstr "Zmieniono %s" -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:563 contrib/admin/options.py:573 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:573 msgid "and" msgstr "i" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:568 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Dodano %(name)s \"%(object)s\"." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:572 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Zmieniono %(list)s w %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:577 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Usunięto %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:581 msgid "No fields changed." msgstr "Żadne pole nie zmienione." -#: contrib/admin/options.py:599 contrib/auth/admin.py:67 +#: contrib/admin/options.py:647 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" dodany pomyślnie." -#: contrib/admin/options.py:603 contrib/admin/options.py:636 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:651 contrib/admin/options.py:684 msgid "You may edit it again below." msgstr "Możesz ponownie edytować wpis poniżej." -#: contrib/admin/options.py:613 contrib/admin/options.py:646 +#: contrib/admin/options.py:661 contrib/admin/options.py:694 #, python-format msgid "You may add another %s below." msgstr "Możesz dodać nowy wpis %s poniżej." -#: contrib/admin/options.py:634 +#: contrib/admin/options.py:682 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" zostało pomyślnie zmienione." -#: contrib/admin/options.py:642 +#: contrib/admin/options.py:690 #, 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." -#: contrib/admin/options.py:773 +#: contrib/admin/options.py:744 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Wykonanie akcji wymaga wybrania obiektów. Żaden obiekt nie został zmieniony." + +#: contrib/admin/options.py:762 +msgid "No action selected." +msgstr "Nie wybrano akcji." + +#: contrib/admin/options.py:842 #, python-format msgid "Add %s" msgstr "Dodaj %s" -#: contrib/admin/options.py:804 contrib/admin/options.py:1005 +#: contrib/admin/options.py:868 contrib/admin/options.py:1080 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Obiekt %(name)s o kluczu głównym %(key)r nie istnieje." -#: contrib/admin/options.py:861 +#: contrib/admin/options.py:933 #, python-format msgid "Change %s" msgstr "Zmień %s" -#: contrib/admin/options.py:905 +#: contrib/admin/options.py:978 msgid "Database error" msgstr "Błąd bazy danych" -#: contrib/admin/options.py:941 +#: contrib/admin/options.py:1014 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." @@ -398,18 +428,31 @@ msgstr[0] "%(count)s %(name)s został pomyślnie zmieniony." msgstr[1] "%(count)s %(name)s zostały pomyślnie zmienione." msgstr[2] "%(count)s %(name)s zostało pomyślnie zmienionych." -#: contrib/admin/options.py:1020 +#: contrib/admin/options.py:1041 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s wybrany" +msgstr[1] "%(total_count)s wybrane" +msgstr[2] "%(total_count)s wybranych" + +#: contrib/admin/options.py:1046 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 z %(cnt)s wybranych" + +#: contrib/admin/options.py:1093 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" usunięty pomyślnie." -#: contrib/admin/options.py:1057 +#: contrib/admin/options.py:1130 #, python-format msgid "Change history: %s" msgstr "Historia zmian: %s" -#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:22 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -417,11 +460,11 @@ msgstr "" "Proszę wpisać poprawną nazwę użytkownika i hasło. Uwaga: wielkość liter ma " "znaczenie." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Twoja sesja wygasła, zaloguj się ponownie." -#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:318 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -429,62 +472,52 @@ msgstr "" "Twoja przeglądarka nie chce akceptować ciasteczek. Zmień jej ustawienia i " "spróbuj ponownie." -#: contrib/admin/sites.py:308 contrib/admin/sites.py:314 +#: contrib/admin/sites.py:334 contrib/admin/sites.py:340 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Nazwy użytkowników nie mogą zawierać znaku '@'." -#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:337 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Podany adres e-mail nie jest Twoją nazwą użytkownika. Spróbuj '%s'." -#: contrib/admin/sites.py:367 +#: contrib/admin/sites.py:393 msgid "Site administration" msgstr "Administracja stroną" -#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:407 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Zaloguj się" -#: contrib/admin/sites.py:426 +#: contrib/admin/sites.py:452 #, python-format msgid "%s administration" msgstr "%s - administracja" -#: contrib/admin/util.py:168 -#, 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/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Jedno lub więcej %(fieldname)s w %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Data:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Czas:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Teraz:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Zmień:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Szukaj" -#: contrib/admin/widgets.py:235 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Dodaj kolejny" @@ -499,17 +532,17 @@ msgstr "Niestety, żądana strona nie została znaleziona." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -535,9 +568,8 @@ 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 e-mailem " -"administratorowi strony i powinien zostać wkrótce naprawiony. Dziękujemy za " -"cierpliwość." +"Wystąpił niespodziewany błąd. Został on zgłoszony e-mailem administratorowi " +"strony i powinien zostać wkrótce naprawiony. Dziękujemy za cierpliwość." #: contrib/admin/templates/admin/actions.html:4 msgid "Run the selected action" @@ -547,34 +579,47 @@ msgstr "Wykonaj wybraną akcję" msgid "Go" msgstr "Wykonaj" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Kliknij by wybrać obiekty na wszystkich stronach" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Wybierz wszystkie %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Wyczyść wybór" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:27 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Witaj," -#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentacja" -#: contrib/admin/templates/admin/base.html:40 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Zmiana hasła" -#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Wyloguj się" @@ -586,42 +631,43 @@ msgstr "Administracja stroną Django" msgid "Django administration" msgstr "Administracja Django" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Dodaj" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Historia" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Pokaż na stronie" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 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." msgstr[2] "Proszę popraw poniższe błędy." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Dodaj %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filtr" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Usuń" @@ -668,10 +714,10 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" -"Czy chcesz skasować %(object_name)s? Następujące obiekty i zależne od nich " -"zostaną skasowane:" +"Czy chcesz skasować wybrane %(object_name)s? Następujące obiekty i zależne " +"od nich zostaną skasowane:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -734,15 +780,9 @@ msgid "User" msgstr "Użytkownik" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Akcja" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "Y-m-d H:i:s" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -789,7 +829,7 @@ msgstr "Zapisz i dodaj nowe" msgid "Save and continue editing" msgstr "Zapisz i kontynuuj edycję" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -797,33 +837,39 @@ 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:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Nazwa użytkownika" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Hasło" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Hasło (powtórz)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Podaj powyższe hasło w celu weryfikacji." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: 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:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Hasło" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Hasło (powtórz)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Podaj powyższe hasło w celu weryfikacji." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Dodaj kolejne %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Usuń" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Usunąć?" @@ -837,9 +883,9 @@ msgid "Log in again" msgstr "Zaloguj się ponownie" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Zmiana hasła" @@ -852,27 +898,23 @@ msgstr "Hasło zmienione" msgid "Your password was changed." msgstr "Twoje hasło zostało zmienione." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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 "Podaj swoje stare hasło i dwa razy nowe." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Stare hasło:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Stare hasło" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Nowe hasło:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Nowe hasło" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Potwierdź hasło:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Zmień hasło" @@ -911,6 +953,14 @@ msgstr "" "Podaj dwukrotnie nowe hasło, by można było zweryfikować, czy zostało wpisane " "poprawnie." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Nowe hasło:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Potwierdź hasło:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Resetowanie hasła nieudane" @@ -978,7 +1028,7 @@ msgstr "Adres e-mail:" msgid "Reset my password" msgstr "Zresetuj moje hasło" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:239 msgid "All dates" msgstr "Wszystkie daty" @@ -992,11 +1042,11 @@ msgstr "Zaznacz %s" msgid "Select %s to change" msgstr "Zaznacz %s aby zmienić" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "strona" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "szablon" @@ -1056,89 +1106,7 @@ msgstr "liczba %s" msgid "Fields on %s objects" msgstr "Pola obiektów %s" -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 -#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 -#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 -msgid "Integer" -msgstr "Liczba całkowita" - -#: contrib/admindocs/views.py:335 -msgid "Boolean (Either True or False)" -msgstr "Wartość logiczna (True, False - prawda lub fałsz)" - -#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Łańcuch (do %(max_length)s znaków)" - -#: contrib/admindocs/views.py:337 -msgid "Comma-separated integers" -msgstr "Liczby całkowite rozdzielone przecinkami" - -#: contrib/admindocs/views.py:338 -msgid "Date (without time)" -msgstr "Data (bez godziny)" - -#: contrib/admindocs/views.py:339 -msgid "Date (with time)" -msgstr "Data (z godziną)" - -#: contrib/admindocs/views.py:340 -msgid "Decimal number" -msgstr "Liczba dziesiętna" - -#: contrib/admindocs/views.py:341 -msgid "E-mail address" -msgstr "Adres e-mail" - -#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 -#: contrib/admindocs/views.py:346 -msgid "File path" -msgstr "Ścieżka do pliku" - -#: contrib/admindocs/views.py:344 -msgid "Floating point number" -msgstr "Liczba zmiennoprzecinkowa" - -#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 -msgid "IP address" -msgstr "Adres IP" - -#: contrib/admindocs/views.py:350 -msgid "Boolean (Either True, False or None)" -msgstr "Wartość logiczna (True, False, None - prawda, fałsz lub nic)" - -#: contrib/admindocs/views.py:351 -msgid "Relation to parent model" -msgstr "Relacja do modelu rodzica" - -#: contrib/admindocs/views.py:352 -msgid "Phone number" -msgstr "Numer telefonu" - -#: contrib/admindocs/views.py:357 -msgid "Text" -msgstr "Tekst" - -#: contrib/admindocs/views.py:358 -msgid "Time" -msgstr "Czas" - -#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:360 -msgid "U.S. state (two uppercase letters)" -msgstr "Stan USA (dwie duże litery)" - #: contrib/admindocs/views.py:361 -msgid "XML text" -msgstr "Tekst XML" - -#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s nie jest obiektem urlpattern" @@ -1211,66 +1179,61 @@ msgstr "Edytuj ten obiekt (nowe okno)" msgid "As above, but opens the admin page in a new window." msgstr "Jak wyżej, tyle że otwiera nowe okno." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Dane osobowe" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Uprawnienia" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Ważne daty" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Grupy" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Dodaj użytkownika" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Hasło zostało zmienione pomyślnie." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Zmień hasło: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Wymagane. 30 znaków lub mniej. Tylko znaki alfanumeryczne (litery, cyfry i " -"podkreślenia)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Nazwa użytkownika" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "To pole może zawierać tylko litery, cyfry i podkreślenia." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Wymagane. 30 znaków lub mniej. Tylko litery, cyfry i znaki @/./+/-/_." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "To pole może zawierać tylko litery, cyfry i znaki @/./+/-/_." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Potwierdzenie hasła" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Użytkownik o tej nazwie już istnieje." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Hasła się nie zgadzają." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "To konto jest nieaktywne." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1278,11 +1241,11 @@ msgstr "" "Twoja przeglądarka nie chce akceptować ciasteczek. Są one wymagane do " "zalogowania się." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-mail" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1290,72 +1253,69 @@ msgstr "" "Ten adres e-mail nie ma przypisanego konta. Jesteś pewien, że " "zarejestrowałeś się?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Hasło zresetowane dla %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Nowe hasło" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Nowe hasło ponownie" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Stare hasło" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Podane stare hasło jest niepoprawne. Proszę podać je jeszcze raz." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "nazwa" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "nazwa kodowa" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "uprawnienie" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "uprawnienia" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "grupa" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "grupy" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "użytkownik" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "Wymagane. 30 znaków lub mniej. Tylko litery, cyfry i znaki @/./+/-/_." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "imię" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "nazwisko" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "adres e-mail" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "hasło" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1363,19 +1323,19 @@ msgstr "" "Użyj '[algo]$[salt]$[hexdigest]' lub formularza zmiany " "hasła." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "w zespole" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 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:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "aktywny" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1383,11 +1343,11 @@ msgstr "" "Oznacza czy użytkownika należy uważać za aktywnego. Odznacz to, zamiast " "usuwać konta." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "status administratora" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -1395,15 +1355,15 @@ msgstr "" "Oznacza, że ten użytkownik ma wszystkie uprawnienia bez jawnego " "przypisywania ich." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "ostatnio zalogowany" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "data przyłączenia" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1411,39 +1371,81 @@ msgstr "" "Oprócz uprawnień przypisanych bezpośrednio użytkownikowi otrzyma on " "uprawnienia grup, do których należy." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "uprawnienia użytkownika" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "użytkownik" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "użytkownicy" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "wiadomość" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Wylogowany" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Wprowadź poprawny adres e-mail." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Zawartość" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metadane" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "oflagowany" +msgstr[1] "oflagowane" +msgstr[2] "oflagowanych" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Oflaguj wybrane komentarze" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "zaakceptowany" +msgstr[1] "zaakceptowane" +msgstr[2] "zaakceptowanych" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Zaakceptuj wybrane komentarze" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "usunięty" +msgstr[1] "usunięte" +msgstr[2] "usuniętych" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Usuń wybrane komentarze" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 komentarz został %(action)s" +msgstr[1] "%(count)s komentarze zostały %(action)s" +msgstr[2] "%(count)s komentarzy zostało %(action)s" + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1455,7 +1457,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Ostatnie komentarze na %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Nazwa" @@ -1463,12 +1464,16 @@ msgstr "Nazwa" msgid "Email address" msgstr "Adres e-mail" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Komentarz" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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." @@ -1476,13 +1481,13 @@ msgstr[0] "Nie wolno przeklinać! Słowo %s nie jest dozwolone." msgstr[1] "Nie wolno przeklinać! Słowa %s nie są dozwolone." msgstr[2] "Nie wolno przeklinać! Słowa %s nie są dozwolone." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "" "Jeżeli wpiszesz cokolwiek w to pole, Twój komentarz zostanie uznany za spam" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "typ zawartości" @@ -1511,6 +1516,10 @@ msgstr "komentarz" msgid "date/time submitted" msgstr "data/czas dodania" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "Adres IP" + #: contrib/comments/models.py:61 msgid "is public" msgstr "publicznie dostępny" @@ -1592,7 +1601,6 @@ msgid "Really make this comment public?" msgstr "Czy ten komentarz na pewno ma być publiczny?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Zaakceptuj" @@ -1617,11 +1625,6 @@ msgstr "Usuń komentarz" msgid "Really remove this comment?" msgstr "Czy na pewno usunąć ten komentarz?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Usuń" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Dziękujemy za usunięcie" @@ -1652,39 +1655,6 @@ msgstr "Zapisz" msgid "Preview" msgstr "Podgląd" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Kolejka moderacji komentarzy" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Żaden komentarz nie oczekuje na akceptację" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "E-mail" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Zalogowany?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "Adres IP" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Data dodania" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "tak" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "nie" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Dziękujemy za dodanie komentarza" @@ -1713,11 +1683,11 @@ msgstr "Zapisz swój komentarz" msgid "or make changes" msgstr "lub wprowadź jakieś zmiany" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "nazwa pythonowa modelu klasy" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "typy zawartości" @@ -1781,7 +1751,7 @@ msgstr "strona statyczna" msgid "flat pages" msgstr "strony statyczne" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1789,6 +1759,39 @@ msgstr "" "Przepraszamy, ale Twój formularz wygasł. Proszę kontynuować wypełnianie " "formularza od tej strony." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" +"Podstawowe pole GIS - odpowiada typowi Geometry w specyfikacji OpenGIS." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Punkt" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Ścieżka" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Wielokąt" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Zbiór punktów" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Zbiór ścieżek" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Zbiór wielokątów" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Zbiór geometrii" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Brak wartości geometrii." @@ -1897,25 +1900,25 @@ msgstr "jutro" msgid "yesterday" msgstr "wczoraj" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Wpisz kod pocztowy w formacie NNNN lub ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:97 +#: contrib/localflavor/br/forms.py:136 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "To pole może zawierać jedynie liczby." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "To pole musi zawierać 7 lub 8 cyfr." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Podaj poprawny numer CUIT w formacie XX-XXXXXXXX-X lub XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Niepoprawny CUIT" @@ -1955,8 +1958,8 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Wiedeń" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Wpisz kod pocztowy w formacie XXXX." @@ -1965,19 +1968,19 @@ msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." msgstr "" "Wpisz poprawny numer austriackiego ubezpieczenia w formacie XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Wpisz czterocyfrowy kod pocztowy." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:22 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Wpisz kod pocztowy w formacie XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:31 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:58 +#: contrib/localflavor/br/forms.py:59 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." @@ -1985,27 +1988,27 @@ msgstr "" "Wybierz poprawny brazylijski stan. Ten stan nie jest jednym z dostępnych " "stanów." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:95 msgid "Invalid CPF number." msgstr "Błędny numer CPF." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:96 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:134 +#: contrib/localflavor/br/forms.py:135 msgid "Invalid CNPJ number." msgstr "Błędny numer CNPJ." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:137 msgid "This field requires at least 14 digits" msgstr "To pole musi zawierać co najmniej 14 cyfr" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Wpisz kod pocztowy w formacie XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" "Wpisz poprawny numer kanadyjskiego ubezpieczenia w formacie XXX-XXX-XXXX." @@ -2114,7 +2117,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurych" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2122,15 +2125,15 @@ msgstr "" "Podaj poprawny numer szwajcarskiego dowodu osobistego lub paszportu w " "formacie X1234567<0 lub 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Wpisz poprawny chilijski RUT." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Podaj poprawny chilijski RUT w formacie XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Podany chilijski RUT jest nieprawidłowy." @@ -2190,23 +2193,23 @@ msgstr "Kraj zliński" msgid "Moravian-Silesian Region" msgstr "Kraj morawski-śląski" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Wpisz kod pocztowy w formacie XXXXX or XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "Wpisz numer urodzenia w formacie XXXXXX/XXXX or XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "Niepoprawny dodatkowy parametr płci, wartości poprawne to 'f' i 'm'" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Wpisz poprawny numer urodzenia." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Wpisz poprawny numer IC." @@ -2274,12 +2277,12 @@ msgstr "Szlezwik-Holsztyn" msgid "Thuringia" msgstr "Turyngia" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Wpisz kod pocztowy w formacie XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2554,74 +2557,506 @@ msgstr "Nawarra" msgid "Valencian Community" msgstr "Walencja" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Wpisz kod pocztowy w zakresie i formacie 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." msgstr "" "Wpisz numer telefoniczny w formacie 6XXXXXXXX, 8XXXXXXXX lub 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Proszę wpisać poprawny numer NIF, NIE lub CIF." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Proszę wpisać poprawny numer NIF lub NIE." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Niepoprawna suma kontrolna NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Niepoprawna suma kontrolna NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Niepoprawna suma kontrolna CIF." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" "Podaj poprawny numer konta bankowego w formacie XXXX-XXXX-XX-XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Niepoprawna suma kontrolna numeru konta bankowego." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Wpis poprawny numer fińskiego ubezpieczenia socjalnego." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Numery telefoniczne muszą być w formacie 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Wpisz poprawny kod pocztowy" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Wpisz poprawny numer telefonu" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Wpisz poprawny numer rejestracyjny pojazdu" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Wpisz poprawny numer NIK/KTP." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Wpisz kod pocztowy w formacie XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 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:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Numer islandzkiego dowodu osobistego jest błędny." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Wpisz poprawny kod pocztowy." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Wpisz poprawny numer ubezpieczenia socjalnego." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Wpisz poprawny numer VAT." @@ -2817,6 +3252,10 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Wpisz poprawny kuwejcki numer ID" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2945,15 +3384,11 @@ msgstr "Jukatan" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Wpisz poprawny kod pocztowy" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Wpisz poprawny numer telefonu" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Wpisz poprawny numer SoFi" @@ -3005,15 +3440,15 @@ msgstr "Zelandia" msgid "Zuid-Holland" msgstr "Holandia Południowa" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Wpis poprawny numer norweskiego ubezpieczenia socjalnego." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "To pole musi zawierać 8 cyfr." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "To pole musi zawierać 11 cyfr." @@ -3110,6 +3545,14 @@ msgstr "Wielkopolskie" msgid "West Pomerania" msgstr "Zachodniopomorskie" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Wpisz kod pocztowy w formacie XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Numery telefonów muszą mieć 9 cyfr lub zaczynać się od + albo 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Wpisz poprawny CIF." @@ -3130,6 +3573,108 @@ msgstr "Numery telefoniczne muszą być w formacie XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Wpisz kod pocztowy w formacie XXXXXX." +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Wpisz poprawny szwedzki numer organizacji." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Wpis poprawny szwedzki numer identyfikacji osobistej." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Wpisz szwedzki kod pocztowy w formacie XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Sztokholm" + +# while Stockholm is translated, other administrative unit names are *not* +# translated to Polish, according to Encyklopedia PWN +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Bańska Bystrzyca" @@ -3762,19 +4307,44 @@ msgstr "Szkocja" msgid "Wales" msgstr "Walia" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 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:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Numery telefoniczne muszą być w formacie XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 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/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Podaj stan lub terytorium USA." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Stan USA (dwie duże litery)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Numer telefonu" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" +"Wprowadź poprawny numer CI w formacie X.XXX.XXX-X, XXXXXXX-X lub XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Wpisz poprawny numer CI." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Wpisz poprawny południowoafrykański numer ID" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Wpisz poprawny południowoafrykański kod pocztowy" @@ -3814,6 +4384,10 @@ msgstr "Prowincja Północno-Zachodnia" msgid "Western Cape" msgstr "Prowincja Przylądkowa Zachodnia" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "testowa wiadomość z opóźnioną ewaluacją" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "przekieruj z" @@ -3874,62 +4448,223 @@ msgstr "wyświetlana nazwa" msgid "sites" msgstr "strony" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Wpisz poprawną wartość." + +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Wpisz poprawny URL." + +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Ten odnośnik jest nieprawidłowy." + +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "To pole może zawierać jedynie litery, cyfry, podkreślenia i myślniki." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Wprowadź poprawny adres IPv4." + +#: core/validators.py:129 db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "Wpisz tylko cyfry oddzielone przecinkami." + +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Upewnij się, że ta wartość jest %(limit_value)s (jest %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Upewnij się, że ta wartość jest mniejsza lub równa %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Upewnij się, że ta wartość jest większa lub równa %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Upewnij się, że ta wartość ma co najmniej %(limit_value)d znaków (ma długość " +"%(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Upewnij się, że ta wartość ma co najwyżej %(limit_value)d znaków (ma długość " +"%(show_value)d)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" +"Wartości w %(field_name)s muszą być unikalne dla wyszukiwań %(lookup)s w %" +"(date_field)s" + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(field_label)s już istnieje w %(model_name)s." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Wartość %r nie jest poprawnym wyborem." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "To pole nie może być puste." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "To pole nie może być puste." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Pole typu: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Liczba całkowita" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 msgid "This value must be an integer." msgstr "Ta wartość musi być liczbą całkowitą." -#: db/models/fields/__init__.py:388 +#: db/models/fields/__init__.py:490 msgid "This value must be either True or False." msgstr "" "Ta wartość musi być wartością logiczną (True, False - prawda lub fałsz)." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "To pole nie może być puste." +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Wartość logiczna (True, False - prawda lub fałsz)" -#: db/models/fields/__init__.py:443 -msgid "Enter only digits separated by commas." -msgstr "Wpisz tylko cyfry oddzielone przecinkami." +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Łańcuch (do %(max_length)s znaków)" -#: db/models/fields/__init__.py:474 +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Liczby całkowite rozdzielone przecinkami" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Data (bez godziny)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Proszę wpisać poprawną datę w formacie RRRR-MM-DD." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Niepoprawna data: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "" "Wprowadź poprawną datę i godzinę w formacie YYYY-MM-DD HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Data (z godziną)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "Ta wartość musi być liczbą dziesiętną." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Liczba dziesiętna" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "Adres e-mail" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Ścieżka do pliku" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "Ta wartość musi być liczbą rzeczywistą." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Liczba zmiennoprzecinkowa" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Duża liczba całkowita (8 bajtów)" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "" "Ta wartość musi być jedną z None (nic), True (prawda) lub False (fałsz)." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Wartość logiczna (True, False, None - prawda, fałsz lub nic)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Tekst" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Czas" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Proszę wpisać poprawną godzinę w formacie HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:816 +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "Tekst XML" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Model %(model)s o kluczu głównym %(pk)r nie istnieje." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Klucz obcy (typ określony przez pole powiązane)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Powiązanie jeden do jednego" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Powiązanie wiele do wiele" + +#: db/models/fields/related.py:1000 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Przytrzymaj wciśnięty klawisz \"Ctrl\" lub \"Command\" na Mac'u aby " "zaznaczyć więcej niż jeden wybór." -#: db/models/fields/related.py:894 +#: db/models/fields/related.py:1061 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3944,86 +4679,58 @@ msgstr[2] "" "Proszę podać poprawne identyfikatory %(self)s. Wartości %(value)r są " "niepoprawne." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "To pole jest wymagane." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Wpisz poprawną wartość." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Upewnij się, że ta wartość ma co najwyżej %(max)d znaków (ma długość %" -"(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Upewnij się, że ta wartość ma co najmniej %(min)d znaków (ma długość %" -"(length)d)." - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "Wpisz liczbę całkowitą." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Upewnij się, że ta wartość jest mniejsza lub równa %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Upewnij się, że ta wartość jest większa lub równa %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "Wpisz liczbę." -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Upewnij się, że jest nie więcej niż %s cyfr." -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Upewnij się, że jest nie więcej niż %s miejsc po przecinku." -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Upewnij się, że jest nie więcej niż %s miejsc przed przecinkiem." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "Wpisz poprawną datę." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "Wpisz poprawną godzinę." -#: forms/fields.py:361 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "Wpisz poprawną datę/godzinę." -#: forms/fields.py:447 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "Nie wysłano żadnego pliku. Sprawdź typ kodowania formularza." -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "Żaden plik nie został przesłany." -#: forms/fields.py:449 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "Wysłany plik jest pusty." -#: forms/fields.py:450 +#: forms/fields.py:438 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." @@ -4031,7 +4738,7 @@ msgstr "" "Upewnij się, że nazwa tego pliku ma co najwyżej %(max)d znaków (ma długość %" "(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -4039,60 +4746,31 @@ msgstr "" "Wgraj poprawny plik graficzny. Ten, który został wgrany, nie jest obrazem, " "albo jest uszkodzony." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Wpisz poprawny URL." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "Ten odnośnik jest nieprawidłowy." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "" "Wybierz poprawną wartość. %(value)s nie jest jednym z dostępnych wyborów." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1007 msgid "Enter a list of values." msgstr "Podaj listę wartości." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Wprowadź poprawny adres IPv4." - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "To pole może zawierać jedynie litery, cyfry, podkreślenia i myślniki." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "Porządek" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "" -"Wartości w %(field_name)s muszą być unikalne dla wyszukiwań %(lookup)s w %" -"(date_field)s" - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(field_label)s już istnieje w %(model_name)s." - -#: forms/models.py:594 +#: forms/models.py:567 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Popraw zduplikowane dane w %(field)s." -#: forms/models.py:598 +#: forms/models.py:571 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "Popraw zduplikowane dane w %(field)s, które wymaga unikalności." -#: forms/models.py:604 +#: forms/models.py:577 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " @@ -4101,33 +4779,33 @@ msgstr "" "Popraw zduplikowane dane w %(field_name)s, które wymaga unikalności dla %" "(lookup)s w polu %(date_field)s." -#: forms/models.py:612 +#: forms/models.py:585 msgid "Please correct the duplicate values below." msgstr "Popraw poniższe zduplikowane wartości." -#: forms/models.py:867 +#: forms/models.py:860 msgid "The inline foreign key did not match the parent instance primary key." msgstr "Osadzony klucz obcy nie pasuje do klucza głównego obiektu rodzica." -#: forms/models.py:930 +#: forms/models.py:926 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Wybierz poprawną wartość. Podana nie jest jednym z dostępnych wyborów." -#: forms/models.py:1004 +#: forms/models.py:1008 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Wybierz poprawną wartość. %s nie jest jednym z dostępnych wyborów." -#: forms/models.py:1006 +#: forms/models.py:1010 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" nie jest poprawną wartością klucza głównego." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:781 msgid "yes,no,maybe" msgstr "tak,nie,może" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:812 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" @@ -4135,20 +4813,20 @@ msgstr[0] "%(size)d bajt" msgstr[1] "%(size)d bajty" msgstr[2] "%(size)d bajtów" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:814 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:816 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:817 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4354,7 +5032,7 @@ msgstr "Lis." msgid "Dec." msgstr "Gru." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "lub" @@ -4414,33 +5092,81 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:512 msgid "DATE_FORMAT" msgstr "Y-m-d" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:513 +msgid "DATETIME_FORMAT" +msgstr "Y-m-d H:i:s" + +#: utils/translation/trans_real.py:514 msgid "TIME_FORMAT" msgstr "H:i:s" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:535 msgid "YEAR_MONTH_FORMAT" msgstr "Y-m" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:536 msgid "MONTH_DAY_FORMAT" msgstr "m-d" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s zostało pomyślnie utworzone." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s zostało pomyślnie zmienione." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s zostało usunięte." + +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "Jedno lub więcej %(fieldname)s w %(name)s: %(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "Jedno lub więcej %(fieldname)s w %(name)s:" + +#~ msgid "" +#~ "0 of %(total_count)s %(module_name)s selected" +#~ msgstr "" +#~ "0 z %(total_count)s %(module_name)s wybrane" + +#~ msgid "Old password:" +#~ msgstr "Stare hasło:" + +#~ msgid "Add user" +#~ msgstr "Dodaj użytkownika" + +#~ msgid "Relation to parent model" +#~ msgstr "Relacja do modelu rodzica" + +#~ msgid "Comment moderation queue" +#~ msgstr "Kolejka moderacji komentarzy" + +#~ msgid "No comments to moderate" +#~ msgstr "Żaden komentarz nie oczekuje na akceptację" + +#~ msgid "Email" +#~ msgstr "E-mail" + +#~ msgid "Authenticated?" +#~ msgstr "Zalogowany?" + +#~ msgid "IP Address" +#~ msgstr "Adres IP" + +#~ msgid "Date posted" +#~ msgstr "Data dodania" + +#~ msgid "yes" +#~ msgstr "tak" + +#~ msgid "no" +#~ msgstr "nie" diff --git a/django/conf/locale/pl/__init__.py b/django/conf/locale/pl/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/pl/formats.py b/django/conf/locale/pl/formats.py new file mode 100644 index 000000000..4520f7ce4 --- /dev/null +++ b/django/conf/locale/pl/formats.py @@ -0,0 +1,32 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F Y' +TIME_FORMAT = 'H:i:s' +DATETIME_FORMAT = 'j F Y H:i:s' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'd-m-Y' +SHORT_DATETIME_FORMAT = 'd-m-Y H:i:s' +FIRST_DAY_OF_WEEK = 1 # Monday +DATE_INPUT_FORMATS = ( + '%d.%m.%Y', '%d.%m.%y', # '25.10.2006', '25.10.06' + '%Y-%m-%d', '%y-%m-%d', # '2006-10-25', '06-10-25' + # '%d. %B %Y', '%d. %b. %Y', # '25. October 2006', '25. Oct. 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' + '%d.%m.%Y %H:%M', # '25.10.2006 14:30' + '%d.%m.%Y', # '25.10.2006' + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = ' ' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/pt/LC_MESSAGES/django.mo b/django/conf/locale/pt/LC_MESSAGES/django.mo index afb03251d122d7c6631a4ef220aafa3df56f950b..dbfee47807a224b5bc7c586d0171b587ba1f6ac3 100644 GIT binary patch delta 16903 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 sFg<{9 diff --git a/django/conf/locale/pt/LC_MESSAGES/django.po b/django/conf/locale/pt/LC_MESSAGES/django.po index 7d7ee96a8..006f04a65 100644 --- a/django/conf/locale/pt/LC_MESSAGES/django.po +++ b/django/conf/locale/pt/LC_MESSAGES/django.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-23 09:34+0100\n" -"PO-Revision-Date: 2009-07-23 10:43+0100\n" +"POT-Creation-Date: 2010-05-01 21:26+0200\n" +"PO-Revision-Date: 2010-03-09 10:45+0000\n" "Last-Translator: Nuno Mariz \n" "Language-Team: pt_PT \n" "MIME-Version: 1.0\n" @@ -18,215 +18,247 @@ msgid "Arabic" msgstr "Árabe" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "Bengalês" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "Búlgaro" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Bengalês" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Bósnio" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "Catalão" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "Checo" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "Galês" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "Dinamarquês" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "Alemão" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "Grego" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "Inglês" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "Inglês Britânico" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "Espanhol" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "Estónio" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "Espanhol Argentino" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "Estónio" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "Basco" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "Persa" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "Filandês" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "Francês" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Frisão" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "Irlandês" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "Galaciano" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "Húngaro" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "Hebraico" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" -msgstr "" +msgstr "Hindi" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "Croata" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Húngaro" + +#: conf/global_settings.py:70 msgid "Icelandic" msgstr "Islandês" -#: conf/global_settings.py:68 +#: conf/global_settings.py:71 msgid "Italian" msgstr "Italiano" -#: conf/global_settings.py:69 +#: conf/global_settings.py:72 msgid "Japanese" msgstr "Japonês" -#: conf/global_settings.py:70 +#: conf/global_settings.py:73 msgid "Georgian" msgstr "Georgiano" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "Coreano" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:74 msgid "Khmer" msgstr "Khmer" -#: conf/global_settings.py:73 +#: conf/global_settings.py:75 msgid "Kannada" msgstr "Canarês" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "Letão" +#: conf/global_settings.py:76 +msgid "Korean" +msgstr "Coreano" -#: conf/global_settings.py:75 +#: conf/global_settings.py:77 msgid "Lithuanian" msgstr "Lituano" -#: conf/global_settings.py:76 +#: conf/global_settings.py:78 +msgid "Latvian" +msgstr "Letão" + +#: conf/global_settings.py:79 msgid "Macedonian" msgstr "Macedónio" -#: conf/global_settings.py:77 +#: conf/global_settings.py:80 msgid "Dutch" msgstr "Holandês" -#: conf/global_settings.py:78 +#: conf/global_settings.py:81 msgid "Norwegian" msgstr "Norueguês" -#: conf/global_settings.py:79 +#: conf/global_settings.py:82 +msgid "Norwegian Bokmal" +msgstr "Norueguês (Bokmål)" + +#: conf/global_settings.py:83 +msgid "Norwegian Nynorsk" +msgstr "Norueguês (Nynors)" + +#: conf/global_settings.py:84 msgid "Polish" msgstr "Polaco" -#: conf/global_settings.py:80 +#: conf/global_settings.py:85 msgid "Portuguese" msgstr "Português" -#: conf/global_settings.py:81 +#: conf/global_settings.py:86 msgid "Brazilian Portuguese" msgstr "Português Brasileiro" -#: conf/global_settings.py:82 +#: conf/global_settings.py:87 msgid "Romanian" msgstr "Romeno" -#: conf/global_settings.py:83 +#: conf/global_settings.py:88 msgid "Russian" msgstr "Russo" -#: conf/global_settings.py:84 +#: conf/global_settings.py:89 msgid "Slovak" msgstr "Eslovaco" -#: conf/global_settings.py:85 +#: conf/global_settings.py:90 msgid "Slovenian" msgstr "Esloveno" -#: conf/global_settings.py:86 +#: conf/global_settings.py:91 +msgid "Albanian" +msgstr "Albanês" + +#: conf/global_settings.py:92 msgid "Serbian" msgstr "Sérvio" -#: conf/global_settings.py:87 +#: conf/global_settings.py:93 +msgid "Serbian Latin" +msgstr "Sérvio Latim" + +#: conf/global_settings.py:94 msgid "Swedish" msgstr "Sueco" -#: conf/global_settings.py:88 +#: conf/global_settings.py:95 msgid "Tamil" msgstr "Tamil" -#: conf/global_settings.py:89 +#: conf/global_settings.py:96 msgid "Telugu" msgstr "Telugu" -#: conf/global_settings.py:90 +#: conf/global_settings.py:97 msgid "Thai" msgstr "Thai" -#: conf/global_settings.py:91 +#: conf/global_settings.py:98 msgid "Turkish" msgstr "Turco" -#: conf/global_settings.py:92 +#: conf/global_settings.py:99 msgid "Ukrainian" msgstr "Ucraniano" -#: conf/global_settings.py:93 +#: conf/global_settings.py:100 +msgid "Vietnamese" +msgstr "Vietnamita" + +#: conf/global_settings.py:101 msgid "Simplified Chinese" msgstr "Chinês Simplificado" -#: conf/global_settings.py:94 +#: conf/global_settings.py:102 msgid "Traditional Chinese" msgstr "Chinês Tradicional" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:52 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Foram removidos com sucesso %(count)d %(items)s." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 +#: contrib/admin/actions.py:59 contrib/admin/options.py:1100 msgid "Are you sure?" msgstr "Tem a certeza?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:77 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Remover %(verbose_name_plural)s seleccionados" @@ -265,19 +297,19 @@ msgstr "Este mês" msgid "This year" msgstr "Este ano" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "Sim" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "Não" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "Desconhecido" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Acção:" @@ -309,61 +341,60 @@ msgstr "entrada de log" msgid "log entries" msgstr "entradas de log" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:142 contrib/admin/options.py:157 msgid "None" msgstr "Nenhum" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:563 #, python-format msgid "Changed %s." msgstr "Foi modificado %s." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:563 contrib/admin/options.py:573 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:573 msgid "and" msgstr "e" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:568 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Foram adicionados %(name)s \"%(object)s\"." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:572 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Foram modificados %(list)s para %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:577 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Foram removidos %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:581 msgid "No fields changed." msgstr "Nenhum campo foi modificado." -#: contrib/admin/options.py:599 contrib/auth/admin.py:67 +#: contrib/admin/options.py:647 #, 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/options.py:603 contrib/admin/options.py:636 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:651 contrib/admin/options.py:684 msgid "You may edit it again below." msgstr "Pode editá-lo(a) outra vez abaixo." -#: contrib/admin/options.py:613 contrib/admin/options.py:646 +#: contrib/admin/options.py:661 contrib/admin/options.py:694 #, python-format msgid "You may add another %s below." msgstr "Pode adicionar outro %s abaixo." -#: contrib/admin/options.py:634 +#: contrib/admin/options.py:682 #, 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/options.py:642 +#: contrib/admin/options.py:690 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." @@ -371,44 +402,68 @@ msgstr "" "O(A) %(name)s \"%(obj)s\" foi adicionado(a) com sucesso. Pode voltar a " "editar novamente abaixo." -#: contrib/admin/options.py:773 +#: contrib/admin/options.py:744 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Os itens devem ser seleccionados de forma a efectuar acções sobre eles. " +"Nenhum item foi modificado." + +#: contrib/admin/options.py:762 +msgid "No action selected." +msgstr "Nenhuma acção seleccionada." + +#: contrib/admin/options.py:842 #, python-format msgid "Add %s" msgstr "Adicionar %s" -#: contrib/admin/options.py:804 contrib/admin/options.py:1005 +#: contrib/admin/options.py:868 contrib/admin/options.py:1080 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "O object %(name)s com a chave primária %(key)r não existe." -#: contrib/admin/options.py:861 +#: contrib/admin/options.py:933 #, python-format msgid "Change %s" msgstr "Modificar %s" -#: contrib/admin/options.py:905 +#: contrib/admin/options.py:978 msgid "Database error" msgstr "Erro de base de dados" -#: contrib/admin/options.py:941 +#: contrib/admin/options.py:1014 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s %(name)s foi modificado com sucesso." msgstr[1] "%(count)s %(name)s foram modificados com sucesso." -#: contrib/admin/options.py:1020 +#: contrib/admin/options.py:1041 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s seleccionado" +msgstr[1] "Todos %(total_count)s seleccionados" + +#: contrib/admin/options.py:1046 +#, fuzzy, python-format +msgid "0 of %(cnt)s selected" +msgstr "de %(count)d seleccionado" + +#: contrib/admin/options.py:1093 #, 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/options.py:1057 +#: contrib/admin/options.py:1130 #, python-format msgid "Change history: %s" msgstr "Histórico de modificações: %s" -#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:22 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -416,11 +471,11 @@ msgstr "" "Por favor introduza o utilizador e palavra-passe correctos. Note que ambos " "os casos diferenciam maiúsculas e minúsculas." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Por favor autentique-se novamente, porque a sua sessão expirou." -#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:318 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -428,63 +483,53 @@ 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/sites.py:308 contrib/admin/sites.py:314 +#: contrib/admin/sites.py:334 contrib/admin/sites.py:340 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Nomes de utilizador não podem conter o caracter '@'." -#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:337 contrib/admin/views/decorators.py:62 #, 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/sites.py:367 +#: contrib/admin/sites.py:393 msgid "Site administration" msgstr "Administração do site" -#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:407 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Entrar" -#: contrib/admin/sites.py:426 +#: contrib/admin/sites.py:452 #, python-format msgid "%s administration" msgstr "Administração de %s" -#: contrib/admin/util.py:168 -#, 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/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Um ou mais %(fieldname)s em %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Data:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Hora:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Actualmente:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Modificar:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Procurar" -#: contrib/admin/widgets.py:235 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Adicionar Outro" @@ -499,17 +544,17 @@ msgstr "Pedimos desculpa, mas a página solicitada não foi encontrada." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -546,34 +591,47 @@ msgstr "Executar a acção seleccionada" msgid "Go" msgstr "Ir" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Seleccionar todos %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Remover selecção" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:27 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Bem-vindo," -#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Documentação" -#: contrib/admin/templates/admin/base.html:40 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Modificar palavra-passe" -#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Sair" @@ -585,41 +643,42 @@ msgstr "Site de administração do Django" msgid "Django administration" msgstr "Administração do Django" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Adicionar" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "História" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Ver no site" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 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_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Adicionar %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filtro" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Remover" @@ -658,14 +717,19 @@ msgid "" "Deleting the %(object_name)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 resultará na remoção de todos os objectos relacionados, mas a sua conta não tem permissões para remover os seguintes tipos de objectos:" +msgstr "" +"A remoção de %(object_name)s resultará na remoção de todos os objectos " +"relacionados, mas a sua conta não tem permissões para remover os seguintes " +"tipos de objectos:" #: contrib/admin/templates/admin/delete_selected_confirmation.html:22 #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" -msgstr "Tem a certeza que deseja remover os objectos %(object_name)s? Todos os seguintes objectos e seus itens relacionados serão removidos:" +"the following objects and their related items will be deleted:" +msgstr "" +"Tem a certeza que deseja remover os objectos %(object_name)s? Todos os " +"seguintes objectos e seus itens relacionados serão removidos:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -728,15 +792,9 @@ msgid "User" msgstr "Utilizador" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Acção" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "N j, Y, P" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -782,7 +840,7 @@ msgstr "Gravar e adicionar outro" msgid "Save and continue editing" msgstr "Gravar e continuar a editar" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -790,34 +848,40 @@ 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:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Utilizador" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Palavra-passe" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Palavra-passe (novamente)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Introduza a palavra-passe como acima, para verificação." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: contrib/admin/templates/admin/auth/user/change_password.html:28 #, python-format msgid "Enter a new password for the user %(username)s." msgstr "" "Introduza uma nova password para o utilizador %(username)s." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Palavra-passe" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Palavra-passe (novamente)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Introduza a palavra-passe como acima, para verificação." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Adicionar outro %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Remover" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Remover?" @@ -831,9 +895,9 @@ msgid "Log in again" msgstr "Entrar novamente" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Modificação da palavra-passe" @@ -846,7 +910,7 @@ msgstr "Palavra-passe modificada com sucesso" msgid "Your password was changed." msgstr "A sua palavra-passe foi modificada." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -855,21 +919,17 @@ msgstr "" "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:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Palavra-passe antiga" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Nova palavra-passe:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Nova palavra-passe" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Confirmação da palavra-passe:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Modificar a minha palavra-passe" @@ -908,6 +968,14 @@ msgstr "" "Por favor, introduza a sua nova palavra-passe duas vezes para verificarmos " "se está correcta." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Nova palavra-passe:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Confirmação da palavra-passe:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Palavra-passe reinicializada sem sucesso" @@ -978,7 +1046,7 @@ msgstr "Endereço de e-mail:" msgid "Reset my password" msgstr "Reinicializar a minha palavra-passe" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:239 msgid "All dates" msgstr "Todas as datas" @@ -992,11 +1060,11 @@ msgstr "Seleccionar %s" msgid "Select %s to change" msgstr "Seleccione %s para modificar" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "site" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "template" @@ -1013,7 +1081,7 @@ msgstr "filtro:" #: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 #: contrib/admindocs/views.py:162 msgid "view:" -msgstr "ver:" +msgstr "view:" #: contrib/admindocs/views.py:190 #, python-format @@ -1056,89 +1124,7 @@ msgstr "número de %s" msgid "Fields on %s objects" msgstr "Campos nos objectos %s" -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 -#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 -#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 -msgid "Integer" -msgstr "Inteiro" - -#: contrib/admindocs/views.py:335 -msgid "Boolean (Either True or False)" -msgstr "Boolean (Pode ser True ou False)" - -#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (até %(max_length)s)" - -#: contrib/admindocs/views.py:337 -msgid "Comma-separated integers" -msgstr "Inteiros separados por virgula" - -#: contrib/admindocs/views.py:338 -msgid "Date (without time)" -msgstr "Data (sem hora)" - -#: contrib/admindocs/views.py:339 -msgid "Date (with time)" -msgstr "Data (com hora)" - -#: contrib/admindocs/views.py:340 -msgid "Decimal number" -msgstr "Número décimal" - -#: contrib/admindocs/views.py:341 -msgid "E-mail address" -msgstr "Endereço de e-mail" - -#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 -#: contrib/admindocs/views.py:346 -msgid "File path" -msgstr "Caminho do ficheiro" - -#: contrib/admindocs/views.py:344 -msgid "Floating point number" -msgstr "Número em vírgula flutuante" - -#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 -msgid "IP address" -msgstr "Endereço IP" - -#: contrib/admindocs/views.py:350 -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (Pode ser True, False ou None)" - -#: contrib/admindocs/views.py:351 -msgid "Relation to parent model" -msgstr "Relação para o pai do model" - -#: contrib/admindocs/views.py:352 -msgid "Phone number" -msgstr "Número de telefone" - -#: contrib/admindocs/views.py:357 -msgid "Text" -msgstr "Texto" - -#: contrib/admindocs/views.py:358 -msgid "Time" -msgstr "Hora" - -#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:360 -msgid "U.S. state (two uppercase letters)" -msgstr "Estado dos E.U.A (duas letras em maiúsculas)" - #: contrib/admindocs/views.py:361 -msgid "XML text" -msgstr "Texto XML" - -#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s não parece ser um objecto urlpattern" @@ -1212,66 +1198,63 @@ msgstr "Editar este objecto (nova janela)" 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/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Informação pessoal" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Permissões" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Datas importantes" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Grupos" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Adicionar utilizador" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Palavra-passe modificada com sucesso." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Modificar a palavra-passe: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -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/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Utilizador" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Este valor apenas poderá conter letras, números ou underscores." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Obrigatório. 30 caracteres ou menos. Apenas letras, dígitos e @/./+/-/_." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Este valor apenas deverá conter letras, números e caracteres @/./+/-/_." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Confirmação da palavra-passe" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Já existe um utilizador com esse nome." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Os dois campos da palavra-passe não coincidem." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Esta conta não está activa." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1279,11 +1262,11 @@ 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:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-mail" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1291,74 +1274,73 @@ msgstr "" "Esse e-mail não tem nenhuma conta de utilizador associada. Tem a certeza que " "já se registou?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Palavra-passe reinicializada em %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Nova palavra-passe" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Confirmação da nova palavra-passe" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Palavra-passe antiga" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "" "A sua palavra-passe antiga foi introduzida incorrectamente. Por favor tente " "novamente." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "nome" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "nome de código" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "permissão" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "permissões" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "grupo" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "grupos" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "utilizador" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Obrigatório. 30 caracteres ou menos. Apenas letras, números e caracteres @/./" +"+/-/_." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "primeiro nome" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "último nome" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "endereço de e-mail" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "palavra-passe" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1366,19 +1348,19 @@ msgstr "" "Use '[algo]$[salt]$[hexdigest]' ou use o formulário de " "modificação da palavra-passe." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "status de equipa" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 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:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "activo" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1386,11 +1368,11 @@ msgstr "" "Defina se este utilizador deva ser tratado como activo. Não seleccione em " "vez de remover as contas." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "Status de superuser" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -1398,15 +1380,15 @@ msgstr "" "Define se este utilizador tem todas as permissões sem explicitamente as " "atribuir." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "última entrada" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "data de registo" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1414,39 +1396,77 @@ 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:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "permissões do utilizador" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "utilizador" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "utilizadores" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "mensagem" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Saiu" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Introduza um endereço de e-mail válido." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Conteúdo" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metadata" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "marcado" +msgstr[1] "marcados" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Marcar os comentários seleccionados" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "aprovado" +msgstr[1] "aprovados" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Aprovar os comentários seleccionados" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "removido" +msgstr[1] "removidos" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Remover os comentários seleccionados" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 comentário foi %(action)s com sucesso." +msgstr[1] "%(count)s comentários foram %(action)s com sucesso." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1458,7 +1478,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Últimos comentários em %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Nome" @@ -1466,25 +1485,29 @@ msgstr "Nome" msgid "Email address" msgstr "Endereço de e-mail" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Comentário" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "" "Se não introduzir nada neste campo o seu comentário irá ser tratado como spam" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "tipo de conteúdo" @@ -1513,6 +1536,10 @@ msgstr "comentário" msgid "date/time submitted" msgstr "data/hora de submissão" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "Endereço IP" + #: contrib/comments/models.py:61 msgid "is public" msgstr "é público" @@ -1594,7 +1621,6 @@ msgid "Really make this comment public?" msgstr "Tem a certeza que deseja tornar este comentário público?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Aprovar" @@ -1607,7 +1633,9 @@ msgstr "Obrigado pela aprovação" #: contrib/comments/templates/comments/flagged.html:7 msgid "" "Thanks for taking the time to improve the quality of discussion on our site" -msgstr "Obrigado por dedicar o seu tempo para melhorar a qualidade de discussão no nosso site" +msgstr "" +"Obrigado por dedicar o seu tempo para melhorar a qualidade de discussão no " +"nosso site" #: contrib/comments/templates/comments/delete.html:4 msgid "Remove a comment" @@ -1617,11 +1645,6 @@ msgstr "Remover um comentário" msgid "Really remove this comment?" msgstr "Tem a certeza que deseja remover este comentário?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Remover" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Obrigado pela remoção" @@ -1652,39 +1675,6 @@ msgstr "Publicar" msgid "Preview" msgstr "Prever" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Fila de moderação de comentário" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Nenhum comentário para moderar" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Email" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Autenticado?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "Endereço IP" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Data de publicação" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "sim" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "não" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Obrigado por comentar" @@ -1712,11 +1702,11 @@ msgstr "Publique o seu comentário" msgid "or make changes" msgstr "ou faça modificações" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "python model class name" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "tipos de conteúdos" @@ -1731,7 +1721,8 @@ 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." +"Este valor apenas poderá conter letras, números, underscores, hífens ou " +"barras." #: contrib/flatpages/admin.py:22 msgid "Advanced options" @@ -1779,7 +1770,7 @@ msgstr "página plana" msgid "flat pages" msgstr "páginas planas" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1787,6 +1778,38 @@ msgstr "" "Pedimos desculpa, mas o seu formulário expirou. Por favor continue a " "preencher o formulário a partir desta página." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Não foi submetido nenhum valor do tipo geometria." @@ -1803,7 +1826,9 @@ msgstr "Tipo inválido de geometria." msgid "" "An error occurred when transforming the geometry to the SRID of the geometry " "form field." -msgstr "Ocorreu um erro na transformação da geometria para o SRID da geometria do campo do formulário." +msgstr "" +"Ocorreu um erro na transformação da geometria para o SRID da geometria do " +"campo do formulário." #: contrib/humanize/templatetags/humanize.py:19 msgid "th" @@ -1890,25 +1915,25 @@ msgstr "amanhã" msgid "yesterday" msgstr "ontem" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Introduza um código postal no formato NNNN ou ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:97 +#: contrib/localflavor/br/forms.py:136 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Este campo apenas aceita números." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Este campo apenas aceita 7 ou 8 dígitos." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Introduza o CUIT no formato XX-XXXXXXXX-X ou XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "CUIT inválido." @@ -1948,8 +1973,8 @@ msgstr "" msgid "Vienna" msgstr "" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Introduza um código postal no formato XXXX." @@ -1959,19 +1984,19 @@ msgstr "" "Introduza um código de segurança social austríaco válido no formato XXXX " "XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Introduza um código postal de 4 dígitos." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:22 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Introduza um código postal no formato XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:31 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Os números de telefone deverão ser no formato XXX-XXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:59 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." @@ -1979,27 +2004,27 @@ msgstr "" "Seleccione um estado brazileiro válido. Esse estado não se encontra " "disponível." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:95 msgid "Invalid CPF number." msgstr "Número de CPF inválido." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:96 msgid "This field requires at most 11 digits or 14 characters." msgstr "Este campo aceita no máximo 11 dígitos ou 14 caracteres." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:135 msgid "Invalid CNPJ number." msgstr "Número CNPJ inválido." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:137 msgid "This field requires at least 14 digits" msgstr "Este campo aceita no mínimo 14 dígitos" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Introduza um código postal no formato XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" "Introduza um código de segurança social Canadiano válido no formato XXX-XXX-" @@ -2109,7 +2134,7 @@ msgstr "" msgid "Zurich" msgstr "" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2117,15 +2142,15 @@ msgstr "" "Introduza uma identificação Suíça ou número de passaporte no formato " "X1234567<0 ou 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Introduza um RUT Chileno válido." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Introduza um RUT Chileno válido. O formato é XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "O RUT Chileno é inválido." @@ -2185,23 +2210,25 @@ msgstr "" msgid "Moravian-Silesian Region" msgstr "" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Introduza um código postal no formato XXXXX ou XXX XX" -#: contrib/localflavor/cz/forms.py:47 -msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." -msgstr "Introduza um número de nascimento no formato XXXXXX/XXXX ou XXXXXXXXXX." - #: contrib/localflavor/cz/forms.py:48 -msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" -msgstr "Parâmetro opcional inválido do Género, os valores válidos são 'f' e 'm'" +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "" +"Introduza um número de nascimento no formato XXXXXX/XXXX ou XXXXXXXXXX." #: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" +"Parâmetro opcional inválido do Género, os valores válidos são 'f' e 'm'" + +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Introduza um de número de nascimento válido." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Introduza um número de IC válido." @@ -2269,12 +2296,12 @@ msgstr "" msgid "Thuringia" msgstr "" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Introduza um código postal no formato XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2549,11 +2576,11 @@ msgstr "" msgid "Valencian Community" msgstr "" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Instruduza um código postal válido no formato 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." @@ -2561,65 +2588,497 @@ msgstr "" "Introduza um número de telefone válido num dos formatos 6XXXXXXXX, 8XXXXXXXX " "or 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Por favor introduza um NIF, NIE, ou CIF válido." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Por favor introduza um NIF ou NIE válido." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Checksum inválido para o NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Checksum inválido para o NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Checksum inválido para o CIF." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" "Por favor introduza um número de conta bancária no formato XXXX-XXXX-XX-" "XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Checksum inválido para o número de conta bancária." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Introduza um número de segurança social Finlandês válido." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Os números de telefone deverão ser no formato 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Introduza um código postal válido." + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Introduza um número de telefone válido." + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Introduza um número de matrícula de veículo válido" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Introduza um número NIK/KTP válido" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Introduza um código postal válido no formato XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "" "Introduza um número de identificação Islândica válida. O formato é XXXXXX-" "XXXX" -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Número de identificação Islândica inválido." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Introduza um código postal válido." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Introduza um número de Segurança Social válido." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Introduza um de IVA válido." @@ -2815,6 +3274,10 @@ msgstr "" msgid "Okinawa" msgstr "" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Introduza um número Civil ID Kuwaitiano válido" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "" @@ -2943,15 +3406,11 @@ msgstr "" msgid "Zacatecas" msgstr "" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Introduza um código postal válido." -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Introduza um número de telefone válido." - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Introduza um número SoFi válido." @@ -3003,15 +3462,15 @@ msgstr "" msgid "Zuid-Holland" msgstr "" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Introduza um número de segurança social Norueguês válido." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Este campo requere 8 dígitos." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Este campo requere 11 dígitos." @@ -3035,7 +3494,8 @@ msgstr "Checksum errado para o número de imposto NIP." #: contrib/localflavor/pl/forms.py:109 msgid "National Business Register Number (REGON) consists of 9 or 14 digits." -msgstr "O Número de Registo Nacional de Negócio (REGON) consiste em 9 ou 14 dígitos." +msgstr "" +"O Número de Registo Nacional de Negócio (REGON) consiste em 9 ou 14 dígitos." #: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." @@ -3109,6 +3569,15 @@ msgstr "" msgid "West Pomerania" msgstr "" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Introduza um código postal no formato XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" +"Os números de telefone devem conter 9 dígitos, ou começarem por + ou 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Introduza um CIF válido." @@ -3129,6 +3598,106 @@ msgstr "Os números de telefone deverão ser no formato XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Introduza um código postal válido no formato XXXXXX" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Introduza um número de organização Sueco válido." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Introduza um número de identificação pessoal válido." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Números de coordenação não são permitidos." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Introduza um código postal Sueco no formato XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "" @@ -3479,7 +4048,7 @@ msgstr "" #: contrib/localflavor/uk/forms.py:21 msgid "Enter a valid postcode." -msgstr "Introduza um código postal válido." +msgstr "" #: contrib/localflavor/uk/uk_regions.py:11 msgid "Bedfordshire" @@ -3761,22 +4330,47 @@ msgstr "" msgid "Wales" msgstr "" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Introduza o código postal no formato XXXXX or XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Os números de telefone deverão ser no formato XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" "Introduza o número de Segurança Social dos E.U. no formato XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:20 -msgid "Enter a valid South African ID number" -msgstr "Introduza um número ID da Africa do Sul válido." +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Introduza um estado ou território do E.U.A.." -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Estado dos E.U.A (duas letras em maiúsculas)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Número de telefone" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" +"Introduza um número CI válido no formato X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Introduza um número CI válido." + +#: contrib/localflavor/za/forms.py:21 +msgid "Enter a valid South African ID number" +msgstr "Introduza um número ID da África do Sul válido" + +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" -msgstr "Introduza um código postal da Africa do Sul válido." +msgstr "Introduza um código postal da África do Sul válido" #: contrib/localflavor/za/za_provinces.py:4 msgid "Eastern Cape" @@ -3814,6 +4408,10 @@ msgstr "" msgid "Western Cape" msgstr "" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "mensagem lazy" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "redireccionar de" @@ -3878,60 +4476,220 @@ msgstr "mostrar nome" msgid "sites" msgstr "sites" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Este campo deverá ser inteiro." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Introduza um valor válido." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Este valor deverá ser True ou False." +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Introduza um URL válido." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Este campo não pode ser nulo." +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Este URL é link quebrado." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Este valor apenas poderá conter letras, números, undercores ou hífenes." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Introduza um endereço IPv4 válido." + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "Introduza apenas números separados por vírgulas." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Garanta que este valor seja %(limit_value)s (tem %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Garanta que este valor seja menor ou igual a %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Garanta que este valor seja maior ou igual a %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Garanta que este valor tem no mínimo %(limit_value)d caracteres (tem %" +"(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Garanta que este valor tem no máximo %(limit_value)d caracteres (tem %" +"(show_value)d)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s deverá ser único para %(date_field)s %(lookup)s." + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s com este %(field_label)s já existe." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "O valor %r não é uma opção válida." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Este campo não pode ser nulo." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Este campo não pode ser vazio." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo do tipo: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Inteiro" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Este campo deverá ser inteiro." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Este valor deverá ser True ou False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Boolean (Pode ser True ou False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (até %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Inteiros separados por virgula" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Data (sem hora)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Introduza uma data válida no formato AAAA-MM-DD." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Data inválida: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "" "Introduza uma data/hora válida no formato YYYY-MM-DD HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Data (com hora)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "Este campo deverá ser um número decimal." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Número décimal" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "Endereço de e-mail" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Caminho do ficheiro" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "Este campo deverá ser número décimal." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Número em vírgula flutuante" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Inteiro grande (8 byte)" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "Este valor deverá ser None, True ou False." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (Pode ser True, False ou None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Texto" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Hora" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Introduza uma hora válida no formato HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:816 +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "Texto XML" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "O modelo %(model)s com a chave primária %(pk)r não existe." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Chave Estrangeira (tipo determinado pelo campo relacionado)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Relação de um-para-um" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Relação de muitos-para-muitos" + +#: db/models/fields/related.py:1000 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:894 +#: db/models/fields/related.py:1061 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3942,91 +4700,67 @@ msgstr[1] "" "Por favor introduza IDs de %(self)s válidos. Os valores %(value)r são " "inválidos." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Este campo é obrigatório." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Introduza um valor válido." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Garanta que este valor tem no máximo %(max)d caracteres (tem %(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Garanta que este valor tem no mínimo %(min)d caracteres (tem %(length)d)." - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "Introduza um número inteiro." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Garanta que este valor seja menor ou igual a %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Garanta que este valor seja maior ou igual a %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "Introduza um número." -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." -msgstr "Garanta que não possua no total mais do que %s dígitos." +msgstr "Garanta que não contém no total mais do que %s dígitos." -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." -msgstr "Garanta que não possua mais do que %s casas décimais." +msgstr "Garanta que não contém mais do que %s casas décimais." -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "Garanta que não possua mais do que %s digitos antes do ponto decimal." +msgstr "Garanta que não contém mais do que %s digitos antes do ponto decimal." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "Introduza uma data válida." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "Introduza uma hora válida." -#: forms/fields.py:361 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "Introduza uma data/hora válida." -#: forms/fields.py:447 +#: forms/fields.py:435 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." -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "Nenhum ficheiro submetido." -#: forms/fields.py:449 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "O ficheiro submetido encontra-se vazio." -#: forms/fields.py:450 +#: forms/fields.py:438 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr "Garanta que este nome do ficheiro tem no máximo %(max)d caracteres (tem %(length)d)." +msgstr "" +"Garanta que este nome do ficheiro tem no máximo %(max)d caracteres (tem %" +"(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -4034,114 +4768,91 @@ msgstr "" "Introduza uma imagem válida. O ficheiro que introduziu ou não é uma imagem " "ou está corrompido." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Introduza um URL válido." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "Este URL é link quebrado." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "" "Seleccione uma opção válida. %(value)s não se encontra nas opções " "disponíveis." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1007 msgid "Enter a list of values." msgstr "Introduza uma lista de valores." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Introduza um endereço IPv4 válido." - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Este valor apenas poderá conter letras, números, undercores ou hífenes." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "Ordem" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "%(field_name)s deverá ser único para %(date_field)s %(lookup)s." - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s com este %(field_label)s já existe." - -#: forms/models.py:594 +#: forms/models.py:567 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Por favor corrija os dados duplicados em %(field)s." -#: forms/models.py:598 +#: forms/models.py:571 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Por favor corrija os dados duplicados em %(field)s, que deverá ser único." +msgstr "" +"Por favor corrija os dados duplicados em %(field)s, que deverá ser único." -#: forms/models.py:604 +#: forms/models.py:577 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " "for the %(lookup)s in %(date_field)s." -msgstr "Por favor corrija os dados duplicados em %(field_name)s que deverá ser único para o %(lookup)s em %(date_field)s.\"" +msgstr "" +"Por favor corrija os dados duplicados em %(field_name)s que deverá ser único " +"para o %(lookup)s em %(date_field)s.\"" -#: forms/models.py:612 +#: forms/models.py:585 msgid "Please correct the duplicate values below." msgstr "Por favor corrija os valores duplicados abaixo." -#: forms/models.py:867 +#: forms/models.py:860 msgid "The inline foreign key did not match the parent instance primary key." -msgstr "A chave estrangeira em linha não coincide com a chave primária na instância pai." +msgstr "" +"A chave estrangeira em linha não coincide com a chave primária na instância " +"pai." -#: forms/models.py:930 +#: forms/models.py:926 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" "Seleccione uma opção válida. Esse valor não se encontra opções disponíveis." -#: forms/models.py:1004 +#: forms/models.py:1008 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "" "Seleccione uma opção válida. %s não se encontra nas opções disponíveis." -#: forms/models.py:1006 +#: forms/models.py:1010 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" não é um valor válido para uma chave primária." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:781 msgid "yes,no,maybe" msgstr "sim,não,talvez" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:812 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "" msgstr[1] "" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:814 #, python-format -msgid "%.1f KB" +msgid "%s KB" msgstr "" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:816 #, python-format -msgid "%.1f MB" +msgid "%s MB" msgstr "" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:817 #, python-format -msgid "%.1f GB" +msgid "%s GB" msgstr "" #: utils/dateformat.py:42 @@ -4348,7 +5059,7 @@ msgstr "Nov." msgid "Dec." msgstr "Dez." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "ou" @@ -4402,383 +5113,37 @@ msgstr "" msgid ", %(number)d %(type)s" msgstr "" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:518 msgid "DATE_FORMAT" msgstr "N j, Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:519 +msgid "DATETIME_FORMAT" +msgstr "N j, Y, P" + +#: utils/translation/trans_real.py:520 msgid "TIME_FORMAT" msgstr "P" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:541 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:542 msgid "MONTH_DAY_FORMAT" msgstr "F j" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, 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:156 +#: views/generic/create_update.py:158 #, 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:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "O(A) %(verbose_name)s foi removido(a)." - -#~ msgid "headline" -#~ msgstr "título" - -#~ msgid "rating #1" -#~ msgstr "avaliação #1" - -#~ msgid "rating #2" -#~ msgstr "avaliação #2" - -#~ msgid "rating #3" -#~ msgstr "avaliação #3" - -#~ msgid "rating #4" -#~ msgstr "avaliação #4" - -#~ msgid "rating #5" -#~ msgstr "avaliação #5" - -#~ msgid "rating #6" -#~ msgstr "avaliação #6" - -#~ msgid "rating #7" -#~ msgstr "avaliação #7" - -#~ msgid "rating #8" -#~ msgstr "avaliação #8" - -#~ msgid "is valid rating" -#~ msgstr "é uma avaliação válida" - -#~ msgid "Content object" -#~ msgstr "Objecto de conteúdo" - -#~ msgid "person's name" -#~ msgstr "nome da pessoa" - -#~ msgid "ip address" -#~ msgstr "endereço ip" - -#~ msgid "approved by staff" -#~ msgstr "aprovado pela equipa" - -#~ msgid "free comments" -#~ msgstr "comentários livres" - -#~ msgid "score" -#~ msgstr "pontuação" - -#~ msgid "karma score" -#~ msgstr "pontuação do karma" - -#~ msgid "karma scores" -#~ msgstr "pontuações do karma" - -#~ msgid "%(score)d rating by %(user)s" -#~ msgstr "Avaliação %(score)d por %(user)s" - -#~ 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" - -#~ msgid "flag date" -#~ msgstr "data da flag" - -#~ msgid "user flag" -#~ msgstr "flag do utilizador" - -#~ msgid "user flags" -#~ msgstr "flags do utilizador" - -#~ msgid "Flag by %r" -#~ msgstr "Flag por %r" - -#~ msgid "deletion date" -#~ msgstr "data de remoção" - -#~ msgid "moderator deletion" -#~ msgstr "remoção pelo moderador" - -#~ msgid "moderator deletions" -#~ msgstr "remoções pelo moderador" - -#~ msgid "Moderator deletion by %r" -#~ msgstr "Remoção de moderador %r" - -#~ msgid "Anonymous users cannot vote" -#~ msgstr "Utilizadores anónimos não podem votar" - -#~ msgid "No voting for yourself" -#~ msgstr "Não pode votar em si" - -#~ 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." - -#~ 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" - -#~ msgid "Only POSTs are allowed" -#~ msgstr "Apenas POSTs são autorizados" - -#~ msgid "One or more of the required fields wasn't submitted" -#~ msgstr "Um ou mais campos obrigatórios não foram submetidos" - -#~ msgid "Somebody tampered with the comment form (security violation)" -#~ msgstr "Alguém modificou o formulário de comentário (violação de segurança)" - -#~ 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" - -#~ 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'" - -#~ msgid "Forgotten your password?" -#~ msgstr "Esqueceu-se da palavra-passe?" - -#~ msgid "Required" -#~ msgstr "Obrigatório" - -#~ msgid "Post a photo" -#~ msgstr "Colocar uma foto" - -#~ msgid "Your name:" -#~ msgstr "O seu nome:" - -#~ msgid "Added %s." -#~ msgstr "Foi adicionado %s" - -#~ msgid "Deleted %s." -#~ msgstr "Foi removido %s." - -#~ msgid "DATE_WITH_TIME_FULL" -#~ msgstr "N j, Y, P" - -#~ msgid "Have you forgotten your password?" -#~ msgstr "Esqueceu-se a sua palavra-passe?" - -#~ msgid "Ordering" -#~ msgstr "Ordenação" - -#~ msgid "Your new password is: %(new_password)s" -#~ msgstr "A sua nova palavra-chave é: %(new_password)s" - -#~ 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:" - -#~ msgid "Use '[algo]$[salt]$[hexdigest]'" -#~ msgstr "Use '[algo]$[salt]$[hexdigest]'" - -#~ msgid "Uppercase letters are not allowed here." -#~ msgstr "Letras em maiúsculas não são permitidas aqui." - -#~ msgid "Lowercase letters are not allowed here." -#~ msgstr "Letras em minúsculas não são permitidas aqui." - -#~ msgid "Enter valid e-mail addresses separated by commas." -#~ msgstr "Introduza endereços de e-mail válidos separados por vírgulas." - -#~ msgid "Empty values are not allowed here." -#~ msgstr "Valores em branco não são permitidos aqui." - -#~ msgid "Non-numeric characters aren't allowed here." -#~ msgstr "Caracteres não númericos não são permitidos aqui." - -#~ msgid "This value can't be comprised solely of digits." -#~ msgstr "Este valor não pode ser constituido apenas por números." - -#~ msgid "Only alphabetical characters are allowed here." -#~ msgstr "Apenas letras são válidas aqui." - -#~ msgid "Year must be 1900 or later." -#~ msgstr "O ano deve ser 1900 ou superior." - -#~ msgid "The URL %s does not point to a valid image." -#~ msgstr "O URL %s não aponta para uma imagem válida." - -#~ 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." - -#~ msgid "A valid URL is required." -#~ msgstr "É obrigatório um URL válido" - -#~ 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" - -#~ msgid "Badly formed XML: %s" -#~ msgstr "XML mal formatado: %s" - -#~ msgid "Enter a valid U.S. state abbreviation." -#~ msgstr "Introduza uma abreviação de um estado dos E.U.A. válido." - -#~ msgid "This field must match the '%s' field." -#~ msgstr "Este campo deve ser igual ao campo '%s'." - -#~ msgid "Please enter something for at least one field." -#~ msgstr "Por favor preencha pelo menos um campo." - -#~ msgid "Please enter both fields or leave them both empty." -#~ msgstr "Por favor preencha ambos os campos ou deixe ambos vazios." - -#~ 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" - -#~ msgid "Duplicate values are not allowed." -#~ msgstr "Valores duplicados não são permitidos." - -#~ 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." - -#, 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 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." - -#~ 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." - -#~ msgid "Make sure your uploaded file is at least %s bytes big." -#~ msgstr "Verifique que o ficheiro introduzido tem pelo menos %s bytes." - -#~ msgid "Make sure your uploaded file is at most %s bytes big." -#~ msgstr "Verifique se o ficheiro introduzido tem no máximo %s bytes." - -#~ msgid "The format for this field is wrong." -#~ msgstr "O formato deste campo é errado." - -#~ msgid "Could not retrieve anything from %s." -#~ msgstr "Não foi possível extrair nada de %s." - -#, fuzzy -#~ 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'." - -#~ 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\".)" - -#~ 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\".)" - -#~ 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\".)" - -#~ 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\".)" - -#~ 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\".)" - -#~ 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\".)" - -#~ msgid "Separate multiple IDs with commas." -#~ msgstr "Separe múltiplos IDs através de vírgulas." - -#~ 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." - -#~ msgid "Line breaks are not allowed here." -#~ msgstr "Quebras de linha não são permitas aqui." - -#~ msgid "Enter a whole number between -32,768 and 32,767." -#~ msgstr "Introduza um número entre -32,768 e 32,767." - -#~ msgid "Enter a whole number between 0 and 32,767." -#~ msgstr "Introduza um número entre 0 e 32,767." diff --git a/django/conf/locale/pt/LC_MESSAGES/djangojs.mo b/django/conf/locale/pt/LC_MESSAGES/djangojs.mo index d0afe6c1b52f8bea9a698c9aa666b3476b604312..41c259b076506ab0bfeb8fe1aef8e62049f044f8 100644 GIT binary patch delta 30 lcmdnPvxjHHS!O{)16>1CT?0b}BLgcV6Kw;d&G(q&m;i}92u1(^ delta 30 kcmdnPvxjHHS!O{43tb>GvQ#jzv@*2NHZa_Lk2#JB0E+?$V*mgE diff --git a/django/conf/locale/pt/LC_MESSAGES/djangojs.po b/django/conf/locale/pt/LC_MESSAGES/djangojs.po index c0de82f46..95df4a23e 100644 --- a/django/conf/locale/pt/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/pt/LC_MESSAGES/djangojs.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-29 09:18+0100\n" +"POT-Creation-Date: 2010-05-01 20:24+0200\n" "PO-Revision-Date: 2008-08-29 09:24+0100\n" "Last-Translator: Nuno Mariz \n" "Language-Team: pt_PT \n" @@ -13,36 +13,43 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: contrib/admin/media/js/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "Disponível %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Escolher todos" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Adicionar" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "Remover" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "Escolhido %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "Seleccione a(s) sua(s) escolha(s) e clique " -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Limpar tudo" +#: contrib/admin/media/js/actions.js:17 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "" +msgstr[1] "" + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -56,62 +63,63 @@ msgstr "" msgid "S M T W T F S" msgstr "D S T Q Q S S" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Mostrar" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Ocultar" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "Domingo Segunda Terça Quarta Quinta Sexta Sábado" -#: 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" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Agora" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "Relógio" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Escolha a hora" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "Meia-noite" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "6 a.m." -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "Meio-dia" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Cancelar" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "Hoje" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Calendário" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "Ontem" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "Amanhã" diff --git a/django/conf/locale/pt/__init__.py b/django/conf/locale/pt/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/pt/formats.py b/django/conf/locale/pt/formats.py new file mode 100644 index 000000000..931759547 --- /dev/null +++ b/django/conf/locale/pt/formats.py @@ -0,0 +1,35 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = r'j \de F \de Y' +TIME_FORMAT = 'H:i:s' +DATETIME_FORMAT = r'j \de F \de Y à\s H:i' +YEAR_MONTH_FORMAT = r'F \de Y' +MONTH_DAY_FORMAT = r'j \de F' +SHORT_DATE_FORMAT = 'd/m/Y' +SHORT_DATETIME_FORMAT = 'd/m/Y H:i' +FIRST_DAY_OF_WEEK = 0 # Sunday +DATE_INPUT_FORMATS = ( + '%Y-%m-%d', '%d/%m/%Y', '%d/%m/%y', # '2006-10-25', '25/10/2006', '25/10/06' + # '%d de %b de %Y', '%d de %b, %Y', # '25 de Out de 2006', '25 Out, 2006' + # '%d de %B de %Y', '%d de %B, %Y', # '25 de Outubro de 2006', '25 de Outubro, 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' + '%d/%m/%Y %H:%M', # '25/10/2006 14:30' + '%d/%m/%Y', # '25/10/2006' + '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' + '%d/%m/%y %H:%M', # '25/10/06 14:30' + '%d/%m/%y', # '25/10/06' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/pt_BR/LC_MESSAGES/django.mo b/django/conf/locale/pt_BR/LC_MESSAGES/django.mo index e2d0cc4aeb7a1fd38ca25b6a2a1686c5ebcc45cb..a56fbb6299e964ddb942044d47cef3fb2c8a656e 100644 GIT binary patch literal 75613 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\n" -"POT-Creation-Date: 2009-07-23 10:00-0300\n" -"PO-Revision-Date: 2009-07-23 10:03-0300\n" +"POT-Creation-Date: 2010-03-19 17:38-0300\n" +"PO-Revision-Date: 2010-03-19 17:58-0300\n" "Last-Translator: Guilherme Gondim \n" "Language-Team: Grupo de Localização para o Português \n" "MIME-Version: 1.0\n" @@ -19,218 +19,238 @@ msgid "Arabic" msgstr "Árabe" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "Bengali" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "Búlgaro" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Bengali" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Bósnia" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "Catalão" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "Tcheco" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "Galês" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "Dinamarquês" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "Alemão" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "Grego" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "Inglês" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 msgid "Spanish" msgstr "Espanhol" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "Estoniano" - #: conf/global_settings.py:56 msgid "Argentinean Spanish" msgstr "Espanhol Argentino" #: conf/global_settings.py:57 +msgid "Estonian" +msgstr "Estoniano" + +#: conf/global_settings.py:58 msgid "Basque" msgstr "Basco" -#: conf/global_settings.py:58 +#: conf/global_settings.py:59 msgid "Persian" msgstr "Persa" -#: conf/global_settings.py:59 +#: conf/global_settings.py:60 msgid "Finnish" msgstr "Finlandês" -#: conf/global_settings.py:60 +#: conf/global_settings.py:61 msgid "French" msgstr "Francês" -#: conf/global_settings.py:61 +#: conf/global_settings.py:62 +msgid "Frisian" +msgstr "Frísia" + +#: conf/global_settings.py:63 msgid "Irish" msgstr "Irlandês" -#: conf/global_settings.py:62 +#: conf/global_settings.py:64 msgid "Galician" msgstr "Galiciano" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "Húngaro" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:65 msgid "Hebrew" msgstr "Hebraico" -#: conf/global_settings.py:65 +#: conf/global_settings.py:66 msgid "Hindi" msgstr "Hindi" -#: conf/global_settings.py:66 +#: conf/global_settings.py:67 msgid "Croatian" msgstr "Croata" -#: conf/global_settings.py:67 +#: conf/global_settings.py:68 +msgid "Hungarian" +msgstr "Húngaro" + +#: conf/global_settings.py:69 msgid "Icelandic" msgstr "Islandês" -#: conf/global_settings.py:68 +#: conf/global_settings.py:70 msgid "Italian" msgstr "Italiano" -#: conf/global_settings.py:69 +#: conf/global_settings.py:71 msgid "Japanese" msgstr "Japonês" -#: conf/global_settings.py:70 +#: conf/global_settings.py:72 msgid "Georgian" msgstr "Georgiano" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "Coreano" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:73 msgid "Khmer" msgstr "Khmer" -#: conf/global_settings.py:73 +#: conf/global_settings.py:74 msgid "Kannada" msgstr "Canarês" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "Letão" - #: conf/global_settings.py:75 +msgid "Korean" +msgstr "Coreano" + +#: conf/global_settings.py:76 msgid "Lithuanian" msgstr "Lituano" -#: conf/global_settings.py:76 +#: conf/global_settings.py:77 +msgid "Latvian" +msgstr "Letão" + +#: conf/global_settings.py:78 msgid "Macedonian" msgstr "Macedônio" -#: conf/global_settings.py:77 +#: conf/global_settings.py:79 msgid "Dutch" msgstr "Neerlandês" -#: conf/global_settings.py:78 +#: conf/global_settings.py:80 msgid "Norwegian" msgstr "Norueguês" -#: conf/global_settings.py:79 +#: conf/global_settings.py:81 msgid "Polish" msgstr "Polonês" -#: conf/global_settings.py:80 +#: conf/global_settings.py:82 msgid "Portuguese" msgstr "Português" -#: conf/global_settings.py:81 +#: conf/global_settings.py:83 msgid "Brazilian Portuguese" msgstr "Português Brasileiro" -#: conf/global_settings.py:82 +#: conf/global_settings.py:84 msgid "Romanian" msgstr "Romeno" -#: conf/global_settings.py:83 +#: conf/global_settings.py:85 msgid "Russian" msgstr "Russo" -#: conf/global_settings.py:84 +#: conf/global_settings.py:86 msgid "Slovak" msgstr "Eslovaco" -#: conf/global_settings.py:85 +#: conf/global_settings.py:87 msgid "Slovenian" msgstr "Esloveno" -#: conf/global_settings.py:86 +#: conf/global_settings.py:88 +msgid "Albanian" +msgstr "Albanesa" + +#: conf/global_settings.py:89 msgid "Serbian" msgstr "Sérvio" -#: conf/global_settings.py:87 +#: conf/global_settings.py:90 +msgid "Serbian Latin" +msgstr "Sérvio Latino" + +#: conf/global_settings.py:91 msgid "Swedish" msgstr "Sueco" -#: conf/global_settings.py:88 +#: conf/global_settings.py:92 msgid "Tamil" msgstr "Tâmil" -#: conf/global_settings.py:89 +#: conf/global_settings.py:93 msgid "Telugu" msgstr "Telugu" -#: conf/global_settings.py:90 +#: conf/global_settings.py:94 msgid "Thai" msgstr "Tailandês" -#: conf/global_settings.py:91 +#: conf/global_settings.py:95 msgid "Turkish" msgstr "Turco" -#: conf/global_settings.py:92 +#: conf/global_settings.py:96 msgid "Ukrainian" msgstr "Ucraniano" -#: conf/global_settings.py:93 +#: conf/global_settings.py:97 +msgid "Vietnamese" +msgstr "Vietnamita" + +#: conf/global_settings.py:98 msgid "Simplified Chinese" msgstr "Chinês Simplificado" -#: conf/global_settings.py:94 +#: conf/global_settings.py:99 msgid "Traditional Chinese" msgstr "Chinês Tradicional" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:52 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Removido %(count)d %(items)s com sucesso." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 +#: contrib/admin/actions.py:59 contrib/admin/options.py:1101 msgid "Are you sure?" msgstr "Tem certeza?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:77 #, python-format msgid "Delete selected %(verbose_name_plural)s" -msgstr "Remover %(verbose_name_plural)s selecionado" +msgstr "Remover %(verbose_name_plural)s selecionados" #: contrib/admin/filterspecs.py:44 #, python-format @@ -266,19 +286,19 @@ msgstr "Este mês" msgid "This year" msgstr "Este ano" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:470 msgid "Yes" msgstr "Sim" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:470 msgid "No" msgstr "Não" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:470 msgid "Unknown" msgstr "Desconhecido" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:19 msgid "Action:" msgstr "Ação:" @@ -310,61 +330,60 @@ msgstr "entrada de log" msgid "log entries" msgstr "entradas de log" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:139 contrib/admin/options.py:154 msgid "None" msgstr "Nenhum" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:558 #, python-format msgid "Changed %s." msgstr "Modificado %s." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 forms/models_flymake.py:388 forms/models_flymake.py:600 +#: contrib/admin/options.py:558 contrib/admin/options.py:568 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:840 +#: forms/models.py:556 msgid "and" msgstr "e" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:563 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Adicionado %(name)s \"%(object)s\"" -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:567 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Modificado %(list)s para %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:572 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Deletado %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:576 msgid "No fields changed." msgstr "Nenhum campo modificado." -#: contrib/admin/options.py:599 contrib/auth/admin.py:67 +#: contrib/admin/options.py:642 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\": adicionado com sucesso." -#: contrib/admin/options.py:603 contrib/admin/options.py:636 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:646 contrib/admin/options.py:679 msgid "You may edit it again below." msgstr "Você pode editar novamente abaixo." -#: contrib/admin/options.py:613 contrib/admin/options.py:646 +#: contrib/admin/options.py:656 contrib/admin/options.py:689 #, python-format msgid "You may add another %s below." msgstr "Você pode adicionar outro %s abaixo." -#: contrib/admin/options.py:634 +#: contrib/admin/options.py:677 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\": modificado com sucesso." -#: contrib/admin/options.py:642 +#: contrib/admin/options.py:685 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." @@ -372,44 +391,70 @@ msgstr "" "%(name)s \"%(obj)s\": adicionado com sucesso. Você pode editar novamente " "abaixo." -#: contrib/admin/options.py:773 +#: contrib/admin/options.py:743 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Os itens devem ser selecionados a fim de executar ações sobre eles. Nenhum " +"item foi modificado." + +#: contrib/admin/options.py:761 +msgid "No action selected." +msgstr "Nenhuma ação selecionada." + +#: contrib/admin/options.py:841 #, python-format msgid "Add %s" msgstr "Adicionar %s" -#: contrib/admin/options.py:804 contrib/admin/options.py:1005 +#: contrib/admin/options.py:867 contrib/admin/options.py:1081 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Objeto %(name)s com chave primária %(key)r não existe." -#: contrib/admin/options.py:861 +#: contrib/admin/options.py:932 #, python-format msgid "Change %s" msgstr "Modificar %s" -#: contrib/admin/options.py:905 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Erro no banco de dados" -#: contrib/admin/options.py:941 +#: contrib/admin/options.py:1013 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." msgstr[0] "%(count)s %(name)s modificado com sucesso." msgstr[1] "%(count)s %(name)s modificados com sucesso." -#: contrib/admin/options.py:1020 +#: contrib/admin/options.py:1040 +#, python-format +msgid "of %(count)d selected" +msgid_plural "of %(count)d selected" +msgstr[0] "de %(count)d selecionado" +msgstr[1] "de %(count)d selecionados" + +#: contrib/admin/options.py:1042 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s selecionado" +msgstr[1] "Todos %(total_count)s selecionados" + +#: contrib/admin/options.py:1094 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\": excluído com sucesso." -#: contrib/admin/options.py:1057 +#: contrib/admin/options.py:1131 #, python-format msgid "Change history: %s" msgstr "Histórico de modificações: %s" -#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:22 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -417,11 +462,11 @@ msgstr "" "Por favor, entre com um usuário e senha corretos. Note que ambos os campos " "diferenciam maiúsculas e minúsculas." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Por favor acesse novamente, pois sua sessão expirou." -#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:318 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -429,64 +474,54 @@ 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/sites.py:308 contrib/admin/sites.py:314 +#: contrib/admin/sites.py:334 contrib/admin/sites.py:340 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Nomes de usuário não podem conter o caractere '@'." -#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:337 contrib/admin/views/decorators.py:62 #, 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/sites.py:367 +#: contrib/admin/sites.py:393 msgid "Site administration" msgstr "Administração do Site" -#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:407 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Acessar" -#: contrib/admin/sites.py:426 +#: contrib/admin/sites.py:452 #, python-format msgid "%s administration" msgstr "Administração de %s" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "1 ou mais %(fieldname)s em %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "1 ou mais %(fieldname)s em %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Data:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Hora:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Atualmente:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Modificar:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Olhar" -#: contrib/admin/widgets.py:235 +#: contrib/admin/widgets.py:244 msgid "Add Another" -msgstr "Adicionar outro" +msgstr "Adicionar Outro(a)" #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 @@ -500,16 +535,16 @@ msgstr "Desculpe, mas a página requisitada não pode ser encontrada." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 #: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:39 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -546,6 +581,19 @@ msgstr "Executar ação selecionada" msgid "Go" msgstr "Ir" +#: contrib/admin/templates/admin/actions.html:10 +msgid "Click here to select the objects across all pages" +msgstr "Clique aqui para selecionar os objetos de todas as páginas" + +#: contrib/admin/templates/admin/actions.html:10 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Selecionar todos %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:12 +msgid "Clear selection" +msgstr "Limpar seleção" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format @@ -558,22 +606,22 @@ msgstr "Bem vindo," #: contrib/admin/templates/admin/base.html:32 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Documentação" #: contrib/admin/templates/admin/base.html:40 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Alterar senha" #: contrib/admin/templates/admin/base.html:47 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Encerrar sessão" @@ -585,41 +633,42 @@ msgstr "Site de administração do Django" msgid "Django administration" msgstr "Administração do Django" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Adicionar" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Histórico" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Ver no site" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:68 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 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_list.html:46 +#: contrib/admin/templates/admin/change_list.html:60 #, python-format msgid "Add %(name)s" msgstr "Adicionar %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:79 msgid "Filter" msgstr "Filtro" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:297 msgid "Delete" msgstr "Apagar" @@ -667,7 +716,7 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" "Você tem certeza que quer remover os objetos %(object_name)s selecionados? " "Todos os seguintes objetos e seus itens relacionados serão removidos:" @@ -733,15 +782,9 @@ msgid "User" msgstr "Usuário" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Ação" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j \\de N \\de Y à\\s H:i" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -787,7 +830,7 @@ msgstr "Salvar e adicionar outro" msgid "Save and continue editing" msgstr "Salvar e continuar editando" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -795,33 +838,39 @@ msgstr "" "Primeiro, informe um nome de usuário e senha. Depois você será capaz de " "editar mais opções do usuário." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Usuário" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Senha" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Senha (novamente)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -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/change_password.html:27 +#: 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:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Senha" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Senha (novamente)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Informe a mesma senha digitada acima, para verificação." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:53 +#: contrib/admin/templates/admin/edit_inline/tabular.html:99 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Adicionar outro %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:56 +#: contrib/admin/templates/admin/edit_inline/tabular.html:102 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Remover" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Apagar?" @@ -835,9 +884,9 @@ msgid "Log in again" msgstr "Acessar novamente" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Alterar senha" @@ -850,7 +899,7 @@ msgstr "Senha alterada com sucesso" msgid "Your password was changed." msgstr "Sua senha foi alterada." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -858,21 +907,17 @@ msgstr "" "Por favor, informe sua senha antiga, por segurança, e então informe sua nova " "senha duas vezes para que possamos verificar se você digitou corretamente." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Senha antiga:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Senha antiga" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Nova senha:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Nova senha" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Confirme a senha:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Alterar minha senha" @@ -911,6 +956,14 @@ msgstr "" "Por favor, informe sua nova senha duas vezes para que possamos verificar se " "você a digitou corretamente." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Nova senha:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Confirme a senha:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Recuperação de senha sem sucesso" @@ -978,7 +1031,7 @@ msgstr "Endereço de e-mail:" msgid "Reset my password" msgstr "Reinicializar minha senha" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:240 msgid "All dates" msgstr "Todas as datas" @@ -992,11 +1045,11 @@ msgstr "Selecione %s" msgid "Select %s to change" msgstr "Selecione %s para modificar" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "site" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "template" @@ -1056,89 +1109,7 @@ msgstr "número de %s" msgid "Fields on %s objects" msgstr "Campos nos objetos %s" -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 -#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 -#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 -msgid "Integer" -msgstr "Inteiro" - -#: contrib/admindocs/views.py:335 -msgid "Boolean (Either True or False)" -msgstr "Booleano (Verdadeiro ou Falso)" - -#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (até %(max_length)s)" - -#: contrib/admindocs/views.py:337 -msgid "Comma-separated integers" -msgstr "Inteiros separados por vírgula" - -#: contrib/admindocs/views.py:338 -msgid "Date (without time)" -msgstr "Data (sem hora)" - -#: contrib/admindocs/views.py:339 -msgid "Date (with time)" -msgstr "Data e hora" - -#: contrib/admindocs/views.py:340 -msgid "Decimal number" -msgstr "Número decimal" - -#: contrib/admindocs/views.py:341 -msgid "E-mail address" -msgstr "Endereço de e-mail" - -#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 -#: contrib/admindocs/views.py:346 -msgid "File path" -msgstr "Caminho de arquivo" - -#: contrib/admindocs/views.py:344 -msgid "Floating point number" -msgstr "Número de ponto flutuante" - -#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 -msgid "IP address" -msgstr "Endereço IP" - -#: contrib/admindocs/views.py:350 -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (Verdadeiro, Falso ou Nada)" - -#: contrib/admindocs/views.py:351 -msgid "Relation to parent model" -msgstr "Relação com o modelo pai" - -#: contrib/admindocs/views.py:352 -msgid "Phone number" -msgstr "Número de telefone" - -#: contrib/admindocs/views.py:357 -msgid "Text" -msgstr "Texto" - -#: contrib/admindocs/views.py:358 -msgid "Time" -msgstr "Hora" - -#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:360 -msgid "U.S. state (two uppercase letters)" -msgstr "Estado dos EUA (duas letras maiúsculas)" - #: contrib/admindocs/views.py:361 -msgid "XML text" -msgstr "Texto XML" - -#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s não aparenta ser um objeto urlpattern" @@ -1208,66 +1179,61 @@ 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/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Informações pessoais" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Permissões" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Datas importantes" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Grupos" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Adicionar usuário" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Senha modificada com sucesso." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Alterar senha: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -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/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Usuário" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Este valor deve conter apenas letras, números e sublinhados (_)." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Obrigatório. 30 caracteres ou menos. Somente letras, dígitos e @/./+/-/_." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Este valor deve conter apenas letras, números e os caracteres @/./+/-/_." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Confirmação de senha" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Um usuário com este nome de usuário já existe." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Os dois campos de senha não combinam." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Esta conta está inativa." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1275,105 +1241,102 @@ msgstr "" "Seu navegador Web não parece estar com os cookies habilitados. Cookies são " "requeridos para acessar." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-mail" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 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?" +"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:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Recuperar senha em %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Nova senha" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Confirmação da nova senha" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Senha antiga" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 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/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "nome" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "apelido" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "permissão" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "permissões" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "grupo" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "grupos" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "usuário" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "Obrigatório. 30 caracteres ou menos. Letras, números e os caracteres @/./+/-/_" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "primeiro nome" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "último nome" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "endereço de e-mail" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "senha" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." msgstr "" "Use '[algo]$[salt]$[hexdigest]' ou Altere a senha." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "membro da equipe" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "Indica que usuário consegue acessar este site de administração." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "ativo" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1381,11 +1344,11 @@ msgstr "" "Indica que o usuário será tratado como ativo. Ao invés de excluir contas de " "usuário, desmarque isso." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "status de superusuário" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -1393,15 +1356,15 @@ msgstr "" "Indica que este usuário tem todas as permissões sem atribuí-las " "explicitamente." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "último login" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "data de registro" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1409,39 +1372,77 @@ 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:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "permissões do usuário" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "usuário" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "usuários" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "mensagem" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Sessão encerrada" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:416 msgid "Enter a valid e-mail address." msgstr "Informe um endereço de email válido." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Conteúdo" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Meta-dados" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "marcado" +msgstr[1] "marcados" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Marcar comentários selecionados" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "aprovado" +msgstr[1] "aprovados" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Aprovar comentários selecionados" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "removido" +msgstr[1] "removidos" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Remover comentários selecionados" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 comentários foi %(action)s com sucesso." +msgstr[1] "%(count)s comentários foram %(action)s com sucesso." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1453,7 +1454,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Últimos comentários em %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Nome" @@ -1461,26 +1461,30 @@ msgstr "Nome" msgid "Email address" msgstr "Endereço de e-mail" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1121 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Comentário" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "" "Se você inserir qualquer coisa neste campo, seu comentário será tratado como " "spam" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "tipo de conteúdo" @@ -1509,6 +1513,10 @@ msgstr "comentário" msgid "date/time submitted" msgstr "data/hora de envio" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:916 +msgid "IP address" +msgstr "Endereço IP" + #: contrib/comments/models.py:61 msgid "is public" msgstr "é público" @@ -1592,7 +1600,6 @@ msgid "Really make this comment public?" msgstr "Realmente tornar este comentário público?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Aprovar" @@ -1617,11 +1624,6 @@ msgstr "Remover um comentário" msgid "Really remove this comment?" msgstr "Realmente remover este comentário?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Remover" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Obrigado pela remoção" @@ -1652,39 +1654,6 @@ msgstr "Publicar" msgid "Preview" msgstr "Visualizar" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Fila de moderação de comentário" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Nenhum comentário para moderar" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Email" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Autenticado?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "Endereço IP" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Data de publicação" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "sim" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "não" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Obrigado por comentar" @@ -1712,11 +1681,11 @@ msgstr "Publique seu comentário" msgid "or make changes" msgstr "ou faça modificações" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "nome da classe model em python" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "tipos de conteúdo" @@ -1778,7 +1747,7 @@ msgstr "página plana" msgid "flat pages" msgstr "páginas planas" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1786,6 +1755,38 @@ msgstr "" "Desculpe, mas seu formulário expirou. Por favor, continue preenchendo o " "formulário desta página." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: contrib/gis/db/models/fields.py:269 +msgid "Point" +msgstr "Ponto" + +#: contrib/gis/db/models/fields.py:273 +msgid "Line string" +msgstr "Linha string" + +#: contrib/gis/db/models/fields.py:277 +msgid "Polygon" +msgstr "Polígono" + +#: contrib/gis/db/models/fields.py:281 +msgid "Multi-point" +msgstr "Multiponto" + +#: contrib/gis/db/models/fields.py:285 +msgid "Multi-line string" +msgstr "Multilinha string" + +#: contrib/gis/db/models/fields.py:289 +msgid "Multi polygon" +msgstr "Multipolígono" + +#: contrib/gis/db/models/fields.py:293 +msgid "Geometry collection" +msgstr "Coleção geométrica" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Nenhum valor geométrico fornecido." @@ -1891,25 +1892,25 @@ msgstr "amanhã" msgid "yesterday" msgstr "ontem" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Informe um código postal no formato NNNN ou ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:97 +#: contrib/localflavor/br/forms.py:136 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Este campo requer somente números." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Este campo requer 7 ou 8 dígitos." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Informe um CUIT válido no formato XX-XXXXXXXX-X ou XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "CUIT inválido." @@ -1949,8 +1950,8 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Viena" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Informe um código postal no formato XXXX." @@ -1959,19 +1960,19 @@ msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." msgstr "" "Informe um número de Seguro Social Austríaco válido no formato XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Informe um código postal de 4 dígitos." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:22 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Informe um código postal no formato XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:31 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Números de telefone devem estar no formato XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:59 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." @@ -1979,27 +1980,27 @@ msgstr "" "Selecione um estado brasileiro válido. O estado escolhido não é um dos " "estados disponíveis." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:95 msgid "Invalid CPF number." msgstr "Número de CPF inválido." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:96 msgid "This field requires at most 11 digits or 14 characters." msgstr "Este campo requer no máximo 11 dígitos ou 14 caracteres." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:135 msgid "Invalid CNPJ number." msgstr "Número de CNPJ inválido." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:137 msgid "This field requires at least 14 digits" msgstr "Este campo requer ao menos 14 dígitos" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Informe um código postal no formato XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" "Informe um número de Canadian Social Insurance válido no formato XXX-XXX-XXX." @@ -2108,7 +2109,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurique" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2116,15 +2117,15 @@ msgstr "" "Informe uma indentidade Suíça ou número de passaporte válido no formato " "X1234567<0 ou 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Informe um RUT chileno válido." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Informe um RUT chileno válido. O formato é XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "O RUT chileno não é válido." @@ -2184,23 +2185,23 @@ msgstr "Região de Zlín" msgid "Moravian-Silesian Region" msgstr "Região de Morávia-Silésia" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Informe um código postal no formato XXXXX ou XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "Informe um número de nascimento no formato XXXXXX/XXXX ou XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "Parâmetro opcional Gênero inválido, os valores válidos são 'f' e 'm'" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Informe um número de nascimento válido." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Informe um número IC válido." @@ -2268,12 +2269,12 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Turíngia" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Informe um código postal no formato XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2548,11 +2549,11 @@ msgstr "Comunidade Foral de Navarra" msgid "Valencian Community" msgstr "Comunidade Valenciana" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Informe um código postal válido no intervalo e formato 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." @@ -2560,63 +2561,495 @@ msgstr "" "Informe um número de telefone válido em um destes formatos 6XXXXXXXX, " "8XXXXXXXX ou 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Por favor, informe um NIF, NIE OU CIF válido." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Por favor, informe um NIF ou FIE válido." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "O NIF é incorreto." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "O NIE é incorreto." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "O CIF é incorreto." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" "Por favor, informe um número de conta bancária válida no formato XXXX-XXXX-" "XX-XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Número de verificação de conta bancária incorreto." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Informe um número de seguro social finlandês válido." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Números de telefone devem estar no formato 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Informe um código postal válido." + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Informe um número de telefone válido." + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Informe uma placa de licença de veículo válida." + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Informe um número NIK/KTP válido." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jacarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Java Ocidental" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Java Central" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Java Oriental" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Ocicental" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan do Sul" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Central" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Oriental" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Ilhas Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Ilhas Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Molucas" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Molucas do Norte" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Achém" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Sonda Ocidental" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Sonda Oriental" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Ocidental" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Celebes Ocidental" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Celebes do Sul" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Celebes Central" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Celebes do Sudeste" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Celebes do Norte" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatra Ocidental" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatra do Sul" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatra do Norte" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Ilhas Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua e Papua Ocidental" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surubaia" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Governo Federal" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Condado" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Condado" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Condado" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Informe um código postal no formato XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "Informe um número de identificação islandês válido." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "O número de identificação islandês não é válido." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Informe um código postal válido." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Informe um número de Segurança Social válido." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Informe um número IVA válido." @@ -2812,6 +3245,10 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Informe um ID Civil Kuwaitiano válido." + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2940,15 +3377,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Informe um código postal válido." -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Informe um número de telefone válido." - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Informe um número SoFi válido." @@ -3000,15 +3433,15 @@ msgstr "Zelândia" msgid "Zuid-Holland" msgstr "Holanda do Sul" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Informe um número de segurança social norueguês válido." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Este campo requer 8 dígitos." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Este campo requer 11 dígitos." @@ -3108,6 +3541,15 @@ msgstr "Grande Polônia" msgid "West Pomerania" msgstr "Pomerânia Ocidental" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Informe um código postal no formato XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" +"Números de telefone precisam conter 9 dígios, ou começarem com + ou 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Informe um CIF válido." @@ -3128,6 +3570,106 @@ msgstr "Números de telefone devem estar no formato XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Informe um código postal no formato XXXXXX." +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Informe um número de organização sueco válido." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Informe um número sueco de identidade pessoal válido." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Números de coordenação não são permitidos." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Informe um código postal sueco válido no formato XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Estocolmo" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotlândia" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banská Bystrica" @@ -3760,20 +4302,45 @@ msgstr "Escócia" msgid "Wales" msgstr "País de Gales" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Informe um código postal no formato XXXXX ou XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Números de telefone devem estar no formato XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" "Informe um número de Seguro Social dos EUA válido no formato XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Insira um estado ou território dos E.U.A." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Estado dos E.U.A. (duas letras maiúsculas)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Número de telefone" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" +"Informe um número CI válido no formato X.XXX.XXX-X,XXXXXXX-X ou XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Informe um número CI válido." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Informe um ID sul-africado válido." -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Informe um código postal sul-africado válido." @@ -3813,6 +4380,10 @@ msgstr "Noroeste" msgid "Western Cape" msgstr "Cabo Ocidental" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "mensagem lazy" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "redirecionar de" @@ -3877,60 +4448,221 @@ msgstr "nome para exibição" msgid "sites" msgstr "sites" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Este valor deve ser um inteiro." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Informe um valor válido." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Este valor deve ser True ou False." +#: core/validators.py:87 forms/fields.py:517 +msgid "Enter a valid URL." +msgstr "Informe uma URL válida." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Este campo não pode ser nulo." +#: core/validators.py:89 forms/fields.py:518 +msgid "This URL appears to be a broken link." +msgstr "A URL %s aparenta ser um link quebrado." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:861 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Insira um \"slug\" válido consistindo de letras, números, sublinhados (_) ou " +"hífens." + +#: core/validators.py:126 forms/fields.py:854 +msgid "Enter a valid IPv4 address." +msgstr "Informe um endereço IPv4 válido." + +#: core/validators.py:129 db/models/fields/__init__.py:598 msgid "Enter only digits separated by commas." msgstr "Informe apenas dígitos separados por vírgulas." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Certifique-se de que o valor é %(limit_value)s (ele é %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:196 forms/fields.py:246 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Certifique-se que este valor seja menor ou igual a %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:197 forms/fields.py:247 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Certifique-se que este valor seja maior ou igual a %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Certifique-se de que o valor tenha no mínimo %(limit_value)d caracteres (ele " +"possui %(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Certifique-se de que o valor tenha no máximo %(limit_value)d caracteres (ele " +"possui %(show_value)d)." + +#: db/models/base.py:818 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s deverá ser único para %(date_field)s %(lookup)s." + +#: db/models/base.py:833 db/models/base.py:841 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s com este %(field_label)s já existe." + +#: db/models/fields/__init__.py:62 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "O valor %r não é uma escolha válida." + +#: db/models/fields/__init__.py:63 +msgid "This field cannot be null." +msgstr "Este campo não pode ser nulo." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be blank." +msgstr "Este campo não pode estar em branco." + +#: db/models/fields/__init__.py:69 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Campo do tipo: %(field_type)s" + +#: db/models/fields/__init__.py:477 db/models/fields/__init__.py:878 +#: db/models/fields/__init__.py:981 db/models/fields/__init__.py:992 +#: db/models/fields/__init__.py:1019 +msgid "Integer" +msgstr "Inteiro" + +#: db/models/fields/__init__.py:481 db/models/fields/__init__.py:876 +msgid "This value must be an integer." +msgstr "Este valor deve ser um inteiro." + +#: db/models/fields/__init__.py:516 +msgid "This value must be either True or False." +msgstr "Este valor deve ser True ou False." + +#: db/models/fields/__init__.py:518 +msgid "Boolean (Either True or False)" +msgstr "Booleano (Verdadeiro ou Falso)" + +#: db/models/fields/__init__.py:565 db/models/fields/__init__.py:1002 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (até %(max_length)s)" + +#: db/models/fields/__init__.py:593 +msgid "Comma-separated integers" +msgstr "Inteiros separados por vírgula" + +#: db/models/fields/__init__.py:607 +msgid "Date (without time)" +msgstr "Data (sem hora)" + +#: db/models/fields/__init__.py:611 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:483 +#: db/models/fields/__init__.py:612 #, python-format msgid "Invalid date: %s" msgstr "Data inválida: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:693 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "" "Informe uma data/hora válida no formato YYYY-MM-DD HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:695 +msgid "Date (with time)" +msgstr "Data e hora" + +#: db/models/fields/__init__.py:761 msgid "This value must be a decimal number." msgstr "Este valor deve ser um número decimal." -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:763 +msgid "Decimal number" +msgstr "Número decimal" + +#: db/models/fields/__init__.py:818 +msgid "E-mail address" +msgstr "Endereço de e-mail" + +#: db/models/fields/__init__.py:825 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Caminho de arquivo" + +#: db/models/fields/__init__.py:848 msgid "This value must be a float." msgstr "Este valor deve ser um ponto flutuante." -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:850 +msgid "Floating point number" +msgstr "Número de ponto flutuante" + +#: db/models/fields/__init__.py:903 +msgid "Big (8 byte) integer" +msgstr "Inteiro grande (8 byte)" + +#: db/models/fields/__init__.py:932 msgid "This value must be either None, True or False." msgstr "Este valor deve ser None, True ou False." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:934 +msgid "Boolean (Either True, False or None)" +msgstr "Booleano (Verdadeiro, Falso ou Nada)" + +#: db/models/fields/__init__.py:1025 +msgid "Text" +msgstr "Texto" + +#: db/models/fields/__init__.py:1041 +msgid "Time" +msgstr "Hora" + +#: db/models/fields/__init__.py:1045 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Informe uma hora válida no formato HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:816 +#: db/models/fields/__init__.py:1129 +msgid "XML text" +msgstr "Texto XML" + +#: db/models/fields/related.py:755 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Model %(model)s com chave primária %(pk)r não existe." + +#: db/models/fields/related.py:757 +msgid "Foreign Key (type determined by related field)" +msgstr "Chave Estrangeira (tipo determinado pelo campo relacionado)" + +#: db/models/fields/related.py:879 +msgid "One-to-one relationship" +msgstr "Relacionamento um-para-um" + +#: db/models/fields/related.py:939 +msgid "Many-to-many relationship" +msgstr "Relacionamento muitos-para-muitos" + +#: db/models/fields/related.py:959 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:894 +#: db/models/fields/related.py:1020 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3941,87 +4673,59 @@ msgstr[1] "" "Por favor, informe IDs válidos para %(self)s. Os valores %(value)r são " "inválidos." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Este campo é obrigatório." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Informe um valor válido." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Certifique-se de que o valor tenha no máximo %(max)d caracteres (ele possui %" -"(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Certifique-se de que o valor tenha no mínimo %(min)d caracteres (ele possui %" -"(length)d)." - -#: forms/fields.py:166 +#: forms/fields.py:195 msgid "Enter a whole number." msgstr "Informe um número inteiro." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, 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." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, 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." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:225 forms/fields.py:245 msgid "Enter a number." msgstr "Informe um número." -#: forms/fields.py:227 +#: forms/fields.py:248 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Certifique-se de que não tenha mais de %s dígitos no total." -#: forms/fields.py:228 +#: forms/fields.py:249 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Certifique-se de que não tenha mais de %s casa decimais." -#: forms/fields.py:229 +#: forms/fields.py:250 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "" "Certifique-se de que não tenha mais de %s dígitos antes do ponto decimal." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:311 forms/fields.py:826 msgid "Enter a valid date." msgstr "Informe uma data válida." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:339 forms/fields.py:827 msgid "Enter a valid time." msgstr "Informe uma hora válida." -#: forms/fields.py:361 +#: forms/fields.py:365 msgid "Enter a valid date/time." msgstr "Informe uma data/hora válida." -#: forms/fields.py:447 +#: forms/fields.py:423 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." -#: forms/fields.py:448 +#: forms/fields.py:424 msgid "No file was submitted." msgstr "Não foi enviado nenhum arquivo." -#: forms/fields.py:449 +#: forms/fields.py:425 msgid "The submitted file is empty." msgstr "O arquivo enviado está vazio." -#: forms/fields.py:450 +#: forms/fields.py:426 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." @@ -4029,7 +4733,7 @@ msgstr "" "Certifique-se de que o arquivo tenha no máximo %(max)d caracteres (ele " "possui %(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:461 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -4037,62 +4741,31 @@ msgstr "" "Envie uma imagem válida. O arquivo enviado não é uma imagem ou está " "corrompido." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Informe uma URL válida." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "A URL %s aparenta ser um link quebrado." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:584 forms/fields.py:659 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Faça uma escolha válida. %(value)s não está disponível." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 -#: forms/models_flymake.py:1003 +#: forms/fields.py:660 forms/fields.py:722 forms/models.py:989 msgid "Enter a list of values." msgstr "Informe uma lista de valores." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Informe um endereço IPv4 válido." - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Insira um \"slug\" válido consistindo de letras, números, sublinhados (_) ou " -"hífens." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:293 forms/formsets.py:295 msgid "Order" msgstr "Ordem" -#: forms/models.py:367 forms/models_flymake.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "%(field_name)s deverá ser único para %(date_field)s %(lookup)s." - -#: forms/models.py:381 forms/models.py:389 forms/models_flymake.py:381 -#: forms/models_flymake.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s com este %(field_label)s já existe." - -#: forms/models.py:594 forms/models_flymake.py:594 +#: forms/models.py:550 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Por favor, corrija o valor duplicado para %(field)s." -#: forms/models.py:598 forms/models_flymake.py:598 +#: forms/models.py:554 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "" "Por favor, corrija o valor duplicado para %(field)s, o qual deve ser único" -#: forms/models.py:604 forms/models_flymake.py:604 +#: forms/models.py:560 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " @@ -4101,55 +4774,55 @@ msgstr "" "Por favor corrija os dados duplicados em %(field_name)s que deverá ser único " "para o %(lookup)s em %(date_field)s." -#: forms/models.py:612 forms/models_flymake.py:612 +#: forms/models.py:568 msgid "Please correct the duplicate values below." msgstr "Por favor, corrija os valores duplicados abaixo." -#: forms/models.py:867 forms/models_flymake.py:867 +#: forms/models.py:842 msgid "The inline foreign key did not match the parent instance primary key." msgstr "" "A chave estrangeira no inline não coincide com a chave primária na instância " "pai." -#: forms/models.py:930 forms/models_flymake.py:930 +#: forms/models.py:908 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Faça uma escolha válida. Sua escolha não é uma das disponíveis." -#: forms/models.py:1004 forms/models_flymake.py:1004 +#: forms/models.py:990 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Faça uma escolha válida. %s não está disponível." -#: forms/models.py:1006 forms/models_flymake.py:1006 +#: forms/models.py:992 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" não é um valor válido para uma chave primária." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:781 msgid "yes,no,maybe" msgstr "sim,não,talvez" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:812 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d byte" msgstr[1] "%(size)d bytes" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:814 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:816 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:817 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4355,7 +5028,7 @@ msgstr "Nov." msgid "Dec." msgstr "Dez." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "ou" @@ -4409,33 +5082,38 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:512 msgid "DATE_FORMAT" msgstr "j \\de N \\de Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:513 +msgid "DATETIME_FORMAT" +msgstr "j \\de N \\de Y à\\s H:i" + +#: utils/translation/trans_real.py:514 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:535 msgid "YEAR_MONTH_FORMAT" msgstr "F \\de Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:536 msgid "MONTH_DAY_FORMAT" msgstr "j \\de F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s: criado com sucesso." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s: atualizado com sucesso." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s: excluído." + diff --git a/django/conf/locale/pt_BR/__init__.py b/django/conf/locale/pt_BR/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/pt_BR/formats.py b/django/conf/locale/pt_BR/formats.py new file mode 100644 index 000000000..9cb5701ab --- /dev/null +++ b/django/conf/locale/pt_BR/formats.py @@ -0,0 +1,35 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = r'j \de N \de Y' +TIME_FORMAT = 'H:i' +DATETIME_FORMAT = r'j \de N \de Y à\s H:i' +YEAR_MONTH_FORMAT = r'F \de Y' +MONTH_DAY_FORMAT = r'j \de F' +SHORT_DATE_FORMAT = 'd/m/Y' +SHORT_DATETIME_FORMAT = 'd/m/Y H:i' +FIRST_DAY_OF_WEEK = 0 # Sunday +DATE_INPUT_FORMATS = ( + '%Y-%m-%d', '%d/%m/%Y', '%d/%m/%y', # '2006-10-25', '25/10/2006', '25/10/06' + # '%d de %b de %Y', '%d de %b, %Y', # '25 de Out de 2006', '25 Out, 2006' + # '%d de %B de %Y', '%d de %B, %Y', # '25 de Outubro de 2006', '25 de Outubro, 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' + '%d/%m/%Y %H:%M', # '25/10/2006 14:30' + '%d/%m/%Y', # '25/10/2006' + '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' + '%d/%m/%y %H:%M', # '25/10/06 14:30' + '%d/%m/%y', # '25/10/06' + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/ro/LC_MESSAGES/django.mo b/django/conf/locale/ro/LC_MESSAGES/django.mo index c4ca6e660b5782d0b67e6b10d6f02b9d38fc53ba..3f8014bc8bc53821818426473cbfde31123cb0c0 100644 GIT binary patch literal 66578 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 l_FdrUV^+sew;dRE?1f<7RR2{mQ@7X6|=02 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 diff --git a/django/conf/locale/ro/LC_MESSAGES/django.po b/django/conf/locale/ro/LC_MESSAGES/django.po index cdbe7a49f..dc52b377d 100644 --- a/django/conf/locale/ro/LC_MESSAGES/django.po +++ b/django/conf/locale/ro/LC_MESSAGES/django.po @@ -17,19 +17,19 @@ msgstr "" #: .\conf\global_settings.py:39 msgid "Arabic" -msgstr "Araba" +msgstr "Arabă" #: .\conf\global_settings.py:40 msgid "Bengali" -msgstr "Bengaleza" +msgstr "Bengaleză" #: .\conf\global_settings.py:41 msgid "Bulgarian" -msgstr "Bulgara" +msgstr "Bulgară" #: .\conf\global_settings.py:42 msgid "Catalan" -msgstr "Catalana" +msgstr "Catalană" #: .\conf\global_settings.py:43 msgid "Czech" @@ -37,11 +37,11 @@ msgstr "Cehă" #: .\conf\global_settings.py:44 msgid "Welsh" -msgstr "Galeza" +msgstr "Galeză" #: .\conf\global_settings.py:45 msgid "Danish" -msgstr "Daneza" +msgstr "Daneză" #: .\conf\global_settings.py:46 msgid "German" @@ -49,7 +49,7 @@ msgstr "Germană" #: .\conf\global_settings.py:47 msgid "Greek" -msgstr "Greaca" +msgstr "Greacă" #: .\conf\global_settings.py:48 msgid "English" @@ -61,19 +61,19 @@ msgstr "Spaniolă" #: .\conf\global_settings.py:50 msgid "Argentinean Spanish" -msgstr "Spaniola argentiniana" +msgstr "Spaniolă argentiniană" #: .\conf\global_settings.py:51 msgid "Basque" -msgstr "Basca" +msgstr "Bască" #: .\conf\global_settings.py:52 msgid "Persian" -msgstr "Persana" +msgstr "Persană" #: .\conf\global_settings.py:53 msgid "Finnish" -msgstr "Finlandeza" +msgstr "Finlandeză" #: .\conf\global_settings.py:54 msgid "French" @@ -81,7 +81,7 @@ msgstr "Franceză" #: .\conf\global_settings.py:55 msgid "Irish" -msgstr "Irlandeza" +msgstr "Irlandeză" #: .\conf\global_settings.py:56 msgid "Galician" @@ -89,19 +89,19 @@ msgstr "Galiciană" #: .\conf\global_settings.py:57 msgid "Hungarian" -msgstr "Ungara" +msgstr "Ungară" #: .\conf\global_settings.py:58 msgid "Hebrew" -msgstr "Ebraica" +msgstr "Ebraică" #: .\conf\global_settings.py:59 msgid "Croatian" -msgstr "Croata" +msgstr "Croată" #: .\conf\global_settings.py:60 msgid "Icelandic" -msgstr "Islandeza" +msgstr "Islandeză" #: .\conf\global_settings.py:61 msgid "Italian" @@ -109,19 +109,19 @@ msgstr "Italiană" #: .\conf\global_settings.py:62 msgid "Japanese" -msgstr "Japoneza" +msgstr "Japoneză" #: .\conf\global_settings.py:63 msgid "Georgian" -msgstr "Georgiana" +msgstr "Georgiană" #: .\conf\global_settings.py:64 msgid "Korean" -msgstr "Koreana" +msgstr "Koreană" #: .\conf\global_settings.py:65 msgid "Khmer" -msgstr "Khmera" +msgstr "Khmeră" #: .\conf\global_settings.py:66 msgid "Kannada" @@ -129,15 +129,15 @@ msgstr "Limba kannada" #: .\conf\global_settings.py:67 msgid "Latvian" -msgstr "Letona" +msgstr "Letonă" #: .\conf\global_settings.py:68 msgid "Macedonian" -msgstr "Macedoneana" +msgstr "Macedoneană" #: .\conf\global_settings.py:69 msgid "Dutch" -msgstr "Olandeza" +msgstr "Olandeză" #: .\conf\global_settings.py:70 msgid "Norwegian" @@ -145,19 +145,19 @@ msgstr "Norvegiană" #: .\conf\global_settings.py:71 msgid "Polish" -msgstr "Poloneza" +msgstr "Poloneză" #: .\conf\global_settings.py:72 msgid "Portugese" -msgstr "Portugheza" +msgstr "Portugheză" #: .\conf\global_settings.py:73 msgid "Brazilian Portuguese" -msgstr "Portugheza braziliana" +msgstr "Portugheză braziliană" #: .\conf\global_settings.py:74 msgid "Romanian" -msgstr "Romana" +msgstr "Română" #: .\conf\global_settings.py:75 msgid "Russian" @@ -165,19 +165,19 @@ msgstr "Rusă" #: .\conf\global_settings.py:76 msgid "Slovak" -msgstr "Slovaca" +msgstr "Slovacă" #: .\conf\global_settings.py:77 msgid "Slovenian" -msgstr "Slovena" +msgstr "Slovenă" #: .\conf\global_settings.py:78 msgid "Serbian" -msgstr "Sîrbă" +msgstr "Sârbă" #: .\conf\global_settings.py:79 msgid "Swedish" -msgstr "Suedeza" +msgstr "Suedeză" #: .\conf\global_settings.py:80 msgid "Tamil" @@ -189,11 +189,11 @@ msgstr "Limba telugu" #: .\conf\global_settings.py:82 msgid "Turkish" -msgstr "Turca" +msgstr "Turcă" #: .\conf\global_settings.py:83 msgid "Ukrainian" -msgstr "Ucraineana" +msgstr "Ucraineană" #: .\conf\global_settings.py:84 msgid "Simplified Chinese" @@ -201,7 +201,7 @@ msgstr "Chineză simplificată" #: .\conf\global_settings.py:85 msgid "Traditional Chinese" -msgstr "Chineza traditionala" +msgstr "Chineză tradițională" #: .\contrib\admin\filterspecs.py:44 #, python-format @@ -209,7 +209,7 @@ msgid "" "

                                        By %s:

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

                                          Dupa %s:

                                          \n" +"

                                          După %s:

                                          \n" "
                                            \n" #: .\contrib\admin\filterspecs.py:74 @@ -225,7 +225,7 @@ msgstr "orice data" #: .\contrib\admin\filterspecs.py:114 msgid "Today" -msgstr "Astazi" +msgstr "Astăzi" #: .\contrib\admin\filterspecs.py:117 msgid "Past 7 days" @@ -325,7 +325,7 @@ msgstr "Eroare server (500)" #: .\contrib\admin\templates\admin\500.html.py:10 msgid "There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience." -msgstr "A apărut o eroare. Este raportată către administrator via emailşi va fi fixată în scurt timp. Mulţumim pentru înţelegere." +msgstr "A apărut o eroare. Este raportată către administrator via email şi va fi reparată în scurt timp. Mulţumim pentru înţelegere." #: .\contrib\admin\templates\admin\base.html.py:26 msgid "Welcome," @@ -334,7 +334,7 @@ msgstr "Bine ai venit," #: .\contrib\admin\templates\admin\base.html.py:28 #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:3 msgid "Documentation" -msgstr "Documentatie" +msgstr "Documentație" #: .\contrib\admin\templates\admin\base.html.py:29 #: .\contrib\admin\templates\admin\auth\user\change_password.html.py:14 @@ -367,18 +367,18 @@ msgstr "Istoric" #: .\contrib\admin\templates\admin\change_form.html.py:21 msgid "View on site" -msgstr "Vizualizeaza pe site" +msgstr "Vizualizează pe site" #: .\contrib\admin\templates\admin\change_form.html.py:31 #: .\contrib\admin\templates\admin\auth\user\change_password.html.py:23 msgid "Please correct the error below." msgid_plural "Please correct the errors below." -msgstr[0] "Va rugam sa corectati eroarea de mai jos" -msgstr[1] "Va rugam sa corectati erorile de mai jos" +msgstr[0] "Vă rugăm să corectați eroarea de mai jos" +msgstr[1] "Vă rugăm să corectați erorile de mai jos" #: .\contrib\admin\templates\admin\change_form.html.py:49 msgid "Ordering" -msgstr "Ordonate dupa" +msgstr "Ordonate după" #: .\contrib\admin\templates\admin\change_form.html.py:52 msgid "Order:" @@ -392,12 +392,12 @@ msgstr "Adaugă %(name)s" #: .\contrib\admin\templates\admin\delete_confirmation.html.py:8 #: .\contrib\admin\templates\admin\submit_line.html.py:3 msgid "Delete" -msgstr "Sterge" +msgstr "Șterge" #: .\contrib\admin\templates\admin\delete_confirmation.html.py:13 #, python-format msgid "Deleting the %(object_name)s '%(escaped_object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" -msgstr "Ştergînd %(object_name)s '%(escaped_object)s' va avea ca rezultat ştergerea şi a obiectelor ce au legătură, dar contul tău nu are permisiunea de a şterge următoarele tipuri de obiecte:" +msgstr "Ştergerea %(object_name)s '%(escaped_object)s' ar cauza și ştergerea obiectelor asociate, dar contul tău nu are permisiunea de a şterge următoarele tipuri de obiecte:" #: .\contrib\admin\templates\admin\delete_confirmation.html.py:20 #, python-format @@ -406,12 +406,12 @@ msgstr "Eşti sigur că vrei să ştergi %(object_name)s \"%(escaped_object)s\"? #: .\contrib\admin\templates\admin\delete_confirmation.html.py:25 msgid "Yes, I'm sure" -msgstr "Da, sînt sigur" +msgstr "Da, sunt sigur" #: .\contrib\admin\templates\admin\filter.html.py:2 #, python-format msgid " By %(filter_title)s " -msgstr "Dupa %(filter_title)s " +msgstr "După %(filter_title)s " #: .\contrib\admin\templates\admin\filters.html.py:4 msgid "Filter" @@ -420,7 +420,7 @@ msgstr "Filtru" #: .\contrib\admin\templates\admin\index.html.py:17 #, python-format msgid "Models available in the %(name)s application." -msgstr "Modele disponibile in applicatia %(name)s" +msgstr "Modele disponibile în aplicația %(name)s" #: .\contrib\admin\templates\admin\index.html.py:18 #, python-format @@ -437,11 +437,11 @@ msgstr "Nu ai drepturi de editare." #: .\contrib\admin\templates\admin\index.html.py:52 msgid "Recent Actions" -msgstr "Acţiuni Recente" +msgstr "Acţiuni recente" #: .\contrib\admin\templates\admin\index.html.py:53 msgid "My Actions" -msgstr "Acţiunile Mele" +msgstr "Acţiunile mele" #: .\contrib\admin\templates\admin\index.html.py:57 msgid "None available" @@ -449,7 +449,7 @@ msgstr "Indisponibil" #: .\contrib\admin\templates\admin\invalid_setup.html.py:8 msgid "Something's wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user." -msgstr "Exista o problema cu baza de date. Verificati daca tabelele necesare din baza de date au fost create si verificati daca baza de date poate fi citita de utilizatorul potrivit." +msgstr "Există o problema cu baza de date. Verificați dacă tabelele necesare din baza de date au fost create și verificați dacă baza de date poate fi citită de utilizatorul potrivit." #: .\contrib\admin\templates\admin\login.html.py:17 #: .\contrib\comments\templates\comments\form.html.py:6 @@ -460,7 +460,7 @@ msgstr "Utilizator:" #: .\contrib\admin\templates\admin\login.html.py:20 #: .\contrib\comments\templates\comments\form.html.py:8 msgid "Password:" -msgstr "Parola:" +msgstr "Parolă:" #: .\contrib\admin\templates\admin\login.html.py:25 #: .\contrib\admin\views\decorators.py:31 @@ -485,11 +485,11 @@ msgstr "N j, Y, P" #: .\contrib\admin\templates\admin\object_history.html.py:35 msgid "This object doesn't have a change history. It probably wasn't added via this admin site." -msgstr "Acest obiect nu are un istoric al schimbărilor. Probabil nu a fost adăugat prinintermediul acestui sit de administrare." +msgstr "Acest obiect nu are un istoric al schimbărilor. Probabil nu a fost adăugat prin intermediul acestui sit de administrare." #: .\contrib\admin\templates\admin\pagination.html.py:10 msgid "Show all" -msgstr "Arata tot/toate" +msgstr "Arată tot/toate" #: .\contrib\admin\templates\admin\search_form.html.py:8 msgid "Go" @@ -509,23 +509,23 @@ msgstr "%(full_result_count)s total" #: .\contrib\admin\templates\admin\submit_line.html.py:4 msgid "Save as new" -msgstr "Salvati ca nou" +msgstr "Salvați ca nou" #: .\contrib\admin\templates\admin\submit_line.html.py:5 msgid "Save and add another" -msgstr "Salvati si adaugati altul" +msgstr "Salvați și adăugați altul" #: .\contrib\admin\templates\admin\submit_line.html.py:6 msgid "Save and continue editing" -msgstr "Salvati si continuati" +msgstr "Salvați și continuați" #: .\contrib\admin\templates\admin\submit_line.html.py:7 msgid "Save" -msgstr "Salveaza" +msgstr "Salvează" #: .\contrib\admin\templates\admin\auth\user\add_form.html.py:6 msgid "First, enter a username and password. Then, you'll be able to edit more user options." -msgstr "Intai introduceti un nume de utilizator si o parola. Apoi veti putea modifica mai multe optiuni de utilizator." +msgstr "Introduceți mai întâi un nume de utilizator și o parolă. Apoi veți putea modifica mai multe opțiuni de utilizator." #: .\contrib\admin\templates\admin\auth\user\add_form.html.py:12 msgid "Username" @@ -534,30 +534,30 @@ msgstr "Utilizator" #: .\contrib\admin\templates\admin\auth\user\add_form.html.py:18 #: .\contrib\admin\templates\admin\auth\user\change_password.html.py:33 msgid "Password" -msgstr "Parola" +msgstr "Parolă" #: .\contrib\admin\templates\admin\auth\user\add_form.html.py:23 #: .\contrib\admin\templates\admin\auth\user\change_password.html.py:38 msgid "Password (again)" -msgstr "Parola (repeta)" +msgstr "Parolă (din nou)" #: .\contrib\admin\templates\admin\auth\user\add_form.html.py:24 #: .\contrib\admin\templates\admin\auth\user\change_password.html.py:39 msgid "Enter the same password as above, for verification." -msgstr "Introduceti parola din nou pentru verificare." +msgstr "Introduceți parola din nou pentru verificare." #: .\contrib\admin\templates\admin\auth\user\change_password.html.py:27 #, python-format msgid "Enter a new password for the user %(username)s." -msgstr "Introduceti o parola noua pentru utilizatorul %(username)s." +msgstr "Introduceți o parolă nouă pentru utilizatorul %(username)s." #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:3 msgid "Bookmarklets" -msgstr "" +msgstr "Bookmarklet-uri" #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:4 msgid "Documentation bookmarklets" -msgstr "" +msgstr "Bookmarklet-uri documentație" #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:8 msgid "" @@ -569,42 +569,49 @@ msgid "" "as \"internal\" (talk to your system administrator if you aren't sure if\n" "your computer is \"internal\").

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

                                            Pentru a instala bookmarklet-uri, trage link-ul în bara de\n" +"bookmark-uri, sau click dreapta pe link și adaugă la bookmark-uri. Acum poți\n" +"selecta bookmarklet-ul din orice pagina a sitului. Este posibil ca unele din\n" +"aceste bookmarklet-uri sunt accesibile doar de pe un computer desemnat ca\n" +"\"intern\" (vorbește cu administratorul tău de sistem dacă nu ești sigur că\n" +"al tău este \"intern\").

                                            \n" #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:18 msgid "Documentation for this page" -msgstr "Documentatie pentru aceasta pagina" +msgstr "Documentație pentru această pagină" #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:19 msgid "Jumps you from any page to the documentation for the view that generates that page." -msgstr "Te trimite de la orice pagina la documentatia pentru view-ul care genereaza acea pagina." +msgstr "Te trimite de la orice pagină la documentația pentru view-ul care generează acea pagină." #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:21 msgid "Show object ID" -msgstr "Arata ID-ul obiectului" +msgstr "Arată ID-ul obiectului" #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:22 msgid "Shows the content-type and unique ID for pages that represent a single object." -msgstr "Arata tipul de continut si ID-ul unic pentru paginile care reprezinta un singur obiect." +msgstr "Arată tipul de conținut și ID-ul unic pentru paginile ce reprezintă un singur obiect." #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:24 msgid "Edit this object (current window)" -msgstr "Modifica acest obiect (in aceasta fereastra)" +msgstr "Modifică acest obiect (în fereastra curentă)" #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:25 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "Sare la pagina de administrare pentru pagini care reprezinta un singur obiect." +msgstr "Sare la pagina de administrare pentru pagini ce reprezintă un singur obiect." #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:27 msgid "Edit this object (new window)" -msgstr "Modifica acest obiect (intr-o fereastra noua)" +msgstr "Modifică acest obiect (într-o fereastra nouă)" #: .\contrib\admin\templates\admin_doc\bookmarklets.html.py:28 msgid "As above, but opens the admin page in a new window." -msgstr "La fel ca deasupra, dar deschide pagina de administrare intr-o fereastra noua" +msgstr "La fel ca mai sus, dar deschide pagina de administrare într-o fereastră nouă" #: .\contrib\admin\templates\registration\logged_out.html.py:8 msgid "Thanks for spending some quality time with the Web site today." -msgstr "Mulţumesc pentru petrecerea folositoare a timpului cu saitul astăzi." +msgstr "Mulţumesc pentru petrecerea folositoare a timpului cu situl astăzi." #: .\contrib\admin\templates\registration\logged_out.html.py:10 msgid "Log in again" @@ -628,7 +635,7 @@ msgstr "Parola a fost schimbată." #: .\contrib\admin\templates\registration\password_change_form.html.py:11 msgid "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly." -msgstr "Introdu te rog vechea parolă, pentru motive de siguranţă, şi apoi tastează noua parolă de două ori aşa încît putem verifica dacă ai tastat corect." +msgstr "Introdu te rog vechea parolă, pentru motive de siguranţă, şi apoi tastează noua parolă de două ori pentru a verifica dacă ai tastat corect." #: .\contrib\admin\templates\registration\password_change_form.html.py:16 msgid "Old password:" @@ -660,7 +667,7 @@ msgstr "Parola resetată cu succes" #: .\contrib\admin\templates\registration\password_reset_done.html.py:12 msgid "We've e-mailed a new password to the e-mail address you submitted. You should be receiving it shortly." -msgstr "Am trimis o nouă parolă prin email la adresa furnizată. Ar trebuisă o primeşti în scurt timp." +msgstr "Am trimis o nouă parolă prin email la adresa furnizată. Ar trebui să o primeşti în scurt timp." #: .\contrib\admin\templates\registration\password_reset_email.html.py:2 msgid "You're receiving this e-mail because you requested a password reset" @@ -678,15 +685,15 @@ msgstr "Noua ta parolă este: %(new_password)s" #: .\contrib\admin\templates\registration\password_reset_email.html.py:7 msgid "Feel free to change this password by going to this page:" -msgstr "Poţi schmiba această parolă vizitînd această pagină:" +msgstr "Poţi schmiba această parolă vizitând această pagină:" #: .\contrib\admin\templates\registration\password_reset_email.html.py:11 msgid "Your username, in case you've forgotten:" -msgstr "Numele tău utilizator, în caz că ai uitat:" +msgstr "Numele tău de utilizator, în caz că ai uitat:" #: .\contrib\admin\templates\registration\password_reset_email.html.py:13 msgid "Thanks for using our site!" -msgstr "Mulţumesc pentru folosirea saitului nostru!" +msgstr "Mulţumesc pentru folosirea sitului nostru!" #: .\contrib\admin\templates\registration\password_reset_email.html.py:15 #, python-format @@ -734,7 +741,7 @@ msgstr "%(name)s \"%(obj)s\" a fost inserat cu succes." #: .\contrib\admin\views\main.py:271 #: .\contrib\admin\views\main.py:356 msgid "You may edit it again below." -msgstr "Va puteti edita datele din nou mai jos." +msgstr "Vă puteți edita datele din nou mai jos." #: .\contrib\admin\views\auth.py:31 msgid "Add user" @@ -752,24 +759,24 @@ msgstr "Schimbă parola: %s" #: .\contrib\admin\views\decorators.py:17 #: .\contrib\auth\forms.py:60 msgid "Please enter a correct username and password. Note that both fields are case-sensitive." -msgstr "Va rugam sa introduceti username-ul si parola corecta. Aveti grija deoarececasutele sunt case sensitive." +msgstr "Va rugăm să introduceți numele de utilizator și parola corecte. Aveți grijă deoarece căsuțele sunt case sensitive." #: .\contrib\admin\views\decorators.py:69 msgid "Please log in again, because your session has expired. Don't worry: Your submission has been saved." -msgstr "Va rugam sa va inregistrati din nou, deoarece sesiunea a expirat. Nu va faceti griji datele au fost salvate." +msgstr "Vă rugăm să vă înregistrați din nou, deoarece sesiunea a expirat. Nu vă faceti griji: datele au fost salvate." #: .\contrib\admin\views\decorators.py:76 msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." -msgstr "Se pare ca browserul dumneavostra nu este configurat sa accepte cookies. Va rugam sa va setati browserul sa accepte cookies, dati un reload la pagina si incercati din nou." +msgstr "Se pare că browserul dumneavostră nu este configurat să accepte cookies. Vă rugăm să vă setați browserul să accepte cookies, dați un reload la pagină și încercați din nou." #: .\contrib\admin\views\decorators.py:90 msgid "Usernames cannot contain the '@' character." -msgstr "Username-ul nu are voie sa contina caracterul '@'." +msgstr "Username-ul nu are voie să conțină caracterul '@'." #: .\contrib\admin\views\decorators.py:92 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "Adresa ta de e-mail nu este numele tau de utilizator. Incearca '%s' in schimb." +msgstr "Adresa ta de e-mail nu este numele tău de utilizator. Incearcă '%s' în schimb." #: .\contrib\admin\views\doc.py:48 #: .\contrib\admin\views\doc.py:50 @@ -797,7 +804,7 @@ msgstr "Applicatia %r inexistenta" #: .\contrib\admin\views\doc.py:173 #, python-format msgid "Model %(name)r not found in app %(label)r" -msgstr "Modelul %(name)r nu a fost gasit in aplicatia %(label)r" +msgstr "Modelul %(name)r nu a fost gasit în aplicatia %(label)r" #: .\contrib\admin\views\doc.py:185 #, python-format @@ -824,12 +831,12 @@ msgstr "toate %s" #: .\contrib\admin\views\doc.py:226 #, python-format msgid "number of %s" -msgstr "numarul de %s" +msgstr "numărul de %s" #: .\contrib\admin\views\doc.py:231 #, python-format msgid "Fields on %s objects" -msgstr "Campuri in %s obiecte" +msgstr "Campuri în %s obiecte" #: .\contrib\admin\views\doc.py:293 #: .\contrib\admin\views\doc.py:304 @@ -852,7 +859,7 @@ msgstr "Sir de caractere (pana la %(max_length)s caractere)" #: .\contrib\admin\views\doc.py:296 msgid "Comma-separated integers" -msgstr "Numere intregi separate de virgule" +msgstr "Numere întregi separate de virgule" #: .\contrib\admin\views\doc.py:297 msgid "Date (without time)" @@ -864,7 +871,7 @@ msgstr "Data (cu ora)" #: .\contrib\admin\views\doc.py:299 msgid "Decimal number" -msgstr "Numar zecimal" +msgstr "Număr zecimal" #: .\contrib\admin\views\doc.py:300 msgid "E-mail address" @@ -878,7 +885,7 @@ msgstr "Calea fisierului" #: .\contrib\admin\views\doc.py:303 msgid "Floating point number" -msgstr "Numar cu virgula" +msgstr "Număr cu virgula" #: .\contrib\admin\views\doc.py:307 #: .\contrib\comments\models.py:89 @@ -895,7 +902,7 @@ msgstr "Relatia cu un model parinte" #: .\contrib\admin\views\doc.py:311 msgid "Phone number" -msgstr "Numar de telefon" +msgstr "Număr de telefon" #: .\contrib\admin\views\doc.py:316 msgid "Text" @@ -931,7 +938,7 @@ msgstr "Administrare site" #: .\contrib\admin\views\main.py:365 #, python-format msgid "You may add another %s below." -msgstr "Mai puteti adauga un alt %s mai jos." +msgstr "Mai puteți adauga un alt %s mai jos." #: .\contrib\admin\views\main.py:298 #, python-format @@ -941,7 +948,7 @@ msgstr "Adaugă %s" #: .\contrib\admin\views\main.py:344 #, python-format msgid "Added %s." -msgstr "Adaugat %s." +msgstr "Am adăugat %s." #: .\contrib\admin\views\main.py:344 #: .\contrib\admin\views\main.py:346 @@ -949,21 +956,21 @@ msgstr "Adaugat %s." #: .\core\validators.py:283 #: .\db\models\manipulators.py:309 msgid "and" -msgstr "si" +msgstr "și" #: .\contrib\admin\views\main.py:346 #, python-format msgid "Changed %s." -msgstr "Schimbă %s." +msgstr "Am schimbat %s." #: .\contrib\admin\views\main.py:348 #, python-format msgid "Deleted %s." -msgstr "Am sters %s." +msgstr "Am șters %s." #: .\contrib\admin\views\main.py:351 msgid "No fields changed." -msgstr "Nu s-a facut nicio schimbare." +msgstr "Nici-un câmp nu a fost schimbat." #: .\contrib\admin\views\main.py:354 #, python-format @@ -973,7 +980,7 @@ msgstr "%(name)s \"%(obj)s\" au fost modificate cu succes." #: .\contrib\admin\views\main.py:362 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "%(name)s \"%(obj)s\" au fost adaugate cu succes. Le puteti edita mai jos." +msgstr "%(name)s \"%(obj)s\" au fost adăugate cu succes. Le puteți edita mai jos." #: .\contrib\admin\views\main.py:400 #, python-format @@ -983,45 +990,45 @@ msgstr "Schimbă %s" #: .\contrib\admin\views\main.py:487 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Unul sau mai multe %(fieldname)s in %(name)s: %(obj)s" +msgstr "Unul sau mai multe %(fieldname)s în %(name)s: %(obj)s" #: .\contrib\admin\views\main.py:492 #, python-format msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Unul sau mai multe %(fieldname)s in %(name)s:" +msgstr "Unul sau mai multe %(fieldname)s în %(name)s:" #: .\contrib\admin\views\main.py:524 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" au fost sterse cu succes." +msgstr "%(name)s \"%(obj)s\" au fost șterse cu succes." #: .\contrib\admin\views\main.py:527 msgid "Are you sure?" -msgstr "Sunteti sigur?" +msgstr "Sunteți sigur?" #: .\contrib\admin\views\main.py:549 #, python-format msgid "Change history: %s" -msgstr "Schimbari facute: %s" +msgstr "Schimbări făcute: %s" #: .\contrib\admin\views\main.py:583 #, python-format msgid "Select %s" -msgstr "Selecteaza %s" +msgstr "Selectează %s" #: .\contrib\admin\views\main.py:583 #, python-format msgid "Select %s to change" -msgstr "Selecteaza %s pentru schimbare" +msgstr "Selectează %s pentru schimbare" #: .\contrib\admin\views\main.py:784 msgid "Database error" -msgstr "Erroare de baza de date" +msgstr "Eroare de bază de date" #: .\contrib\auth\forms.py:17 #: .\contrib\auth\forms.py:138 msgid "The two password fields didn't match." -msgstr "Cele doua campuri pentru parole nu au coincis." +msgstr "Cele doua câmpuri pentru parole nu au coincis." #: .\contrib\auth\forms.py:25 msgid "A user with that username already exists." @@ -1029,7 +1036,7 @@ msgstr "Un utilizator cu acest nume de utilizator exista deja," #: .\contrib\auth\forms.py:53 msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." -msgstr "Se pare ca browserul dumneavoastra nu suporta cookies. Aveti nevoie de un browser care suporta cookies ca sa va logati." +msgstr "Se pare că browserul dumneavoastra nu suporta cookies. Aveti nevoie de un browser care suporta cookies ca să vă logati." #: .\contrib\auth\forms.py:62 msgid "This account is inactive." @@ -1037,20 +1044,20 @@ msgstr "Acest cont este inactiv." #: .\contrib\auth\forms.py:84 msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" -msgstr "Acea adresa de e-mail nu are un nume de utilizator asociat. Sunteti sigur ca v-ati inregistrat?" +msgstr "Acea adresa de e-mail nu are un nume de utilizator asociat. Sunteți sigur că v-ați înregistrat?" #: .\contrib\auth\forms.py:107 #, python-format msgid "Password reset on %s" -msgstr "Parola resetata pe %s" +msgstr "Parola resetată pe %s" #: .\contrib\auth\forms.py:117 msgid "The two 'new password' fields didn't match." -msgstr "Cele doua campuri 'parola noua' nu au coincis." +msgstr "Cele două câmpuri 'parola noua' nu au coincis." #: .\contrib\auth\forms.py:124 msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "Parola veche a dumneavoastra a fost introdusa incorect. Va rugam introduceti-o din nou." +msgstr "Parola dumneavoastră veche a fost introdusă incorect. Vă rugăm să o introduceți din nou." #: .\contrib\auth\models.py:73 #: .\contrib\auth\models.py:93 @@ -1085,7 +1092,7 @@ msgstr "nume utilizator" #: .\contrib\auth\models.py:131 msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." -msgstr "Necesar. 30 de caractere sau mai putin. Doar caractere alfanumerice (litere, cifre, liniute de subliniere)." +msgstr "Necesar. 30 de caractere sau mai puțin. Doar caractere alfanumerice (litere, cifre, liniuțe de subliniere)." #: .\contrib\auth\models.py:132 msgid "first name" @@ -1097,15 +1104,15 @@ msgstr "Nume" #: .\contrib\auth\models.py:134 msgid "e-mail address" -msgstr "adresa email" +msgstr "adresă email" #: .\contrib\auth\models.py:135 msgid "password" -msgstr "parola" +msgstr "parolă" #: .\contrib\auth\models.py:135 msgid "Use '[algo]$[salt]$[hexdigest]' or use the
                                            change password form." -msgstr "Folositi '[algo]$[salt]$[hexdigest]' sau folositi formularul de schimbare a parolei." +msgstr "Folosiți '[algo]$[salt]$[hexdigest]' sau folosiți formularul de schimbare a parolei." #: .\contrib\auth\models.py:136 msgid "staff status" @@ -1113,7 +1120,7 @@ msgstr "stare staff" #: .\contrib\auth\models.py:136 msgid "Designates whether the user can log into this admin site." -msgstr "Decide cînd utilizatorul se poate loga în acest sit de adminstrare." +msgstr "Decide când utilizatorul se poate loga în acest sit de adminstrare." #: .\contrib\auth\models.py:137 msgid "active" @@ -1121,7 +1128,7 @@ msgstr "activ" #: .\contrib\auth\models.py:137 msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts." -msgstr "Indica daca acest user va fi tratat ca activ sau nu. Deselecteaza-l in loc de a sterge conturi." +msgstr "Indică dacă acest utilizator va fi tratat ca activ sau nu. Deselectează-l în loc de a șterge conturi." #: .\contrib\auth\models.py:138 msgid "superuser status" @@ -1129,7 +1136,7 @@ msgstr "stare superutilizator" #: .\contrib\auth\models.py:138 msgid "Designates that this user has all permissions without explicitly assigning them." -msgstr "Indica daca acest user are toate permisiile fara a le selecta explicit." +msgstr "Indică daca acest user are toate permisiunile fără a le selecta explicit." #: .\contrib\auth\models.py:139 msgid "last login" @@ -1182,7 +1189,7 @@ msgstr "Deautentificat" #: .\contrib\comments\models.py:71 #: .\contrib\comments\models.py:176 msgid "object ID" -msgstr "id obiect" +msgstr "ID obiect" #: .\contrib\comments\models.py:72 msgid "headline" @@ -1233,7 +1240,7 @@ msgstr "este rating valid" #: .\contrib\comments\models.py:87 #: .\contrib\comments\models.py:179 msgid "date/time submitted" -msgstr "data/ora crearii" +msgstr "data/ora creării" #: .\contrib\comments\models.py:88 #: .\contrib\comments\models.py:180 @@ -1242,11 +1249,11 @@ msgstr "public" #: .\contrib\comments\models.py:90 msgid "is removed" -msgstr "sters" +msgstr "șters" #: .\contrib\comments\models.py:90 msgid "Check this box if the comment is inappropriate. A \"This comment has been removed\" message will be displayed instead." -msgstr "Bifeaza aceasta casuta daca comentariul nu este adecvat. Un mesaj de tipul \"Acest comentariu a fost sters\" va fi afisat in schimb." +msgstr "Bifează această casuța dacă comentariul nu este adecvat. Un mesaj de tipul \"Acest comentariu a fost șters\" va fi afișat în schimb." #: .\contrib\comments\models.py:96 msgid "comments" @@ -1255,7 +1262,7 @@ msgstr "comentarii" #: .\contrib\comments\models.py:140 #: .\contrib\comments\models.py:222 msgid "Content object" -msgstr "Obiect-referinta" +msgstr "Obiect comentariu" #: .\contrib\comments\models.py:168 #, python-format @@ -1282,15 +1289,15 @@ msgstr "adresa ip" #: .\contrib\comments\models.py:183 msgid "approved by staff" -msgstr "aprobat de echipa" +msgstr "aprobat de echipă" #: .\contrib\comments\models.py:187 msgid "free comment" -msgstr "permite comentariu fara inregistrare" +msgstr "permite comentariu fara înregistrare" #: .\contrib\comments\models.py:188 msgid "free comments" -msgstr "permite comentarii fara inregistrare" +msgstr "permite comentarii fara înregistrare" #: .\contrib\comments\models.py:250 msgid "score" @@ -1313,7 +1320,7 @@ msgstr "punctaje karmice" #: .\contrib\comments\models.py:260 #, fuzzy, python-format msgid "%(score)d rating by %(user)s" -msgstr "Punctaj %(score)d atribuit de catre %(user)s" +msgstr "Punctaj %(score)d atribuit de către %(user)s" #: .\contrib\comments\models.py:277 #, python-format @@ -1328,17 +1335,17 @@ msgstr "" #: .\contrib\comments\models.py:285 msgid "flag date" -msgstr "data marcarii" +msgstr "data marcării" #: .\contrib\comments\models.py:289 #, fuzzy msgid "user flag" -msgstr "stegulet de utilizator" +msgstr "steguleț de utilizator" #: .\contrib\comments\models.py:290 #, fuzzy msgid "user flags" -msgstr "stegulete de utilizatori" +msgstr "stegulețe de utilizatori" #: .\contrib\comments\models.py:294 #, python-format @@ -1347,20 +1354,20 @@ msgstr "Marcajul lui %r" #: .\contrib\comments\models.py:300 msgid "deletion date" -msgstr "data stergerii" +msgstr "data ștergerii" #: .\contrib\comments\models.py:303 msgid "moderator deletion" -msgstr "sters de moderator" +msgstr "șters de moderator" #: .\contrib\comments\models.py:304 msgid "moderator deletions" -msgstr "sterse de moderator" +msgstr "șterse de moderator" #: .\contrib\comments\models.py:308 #, python-format msgid "Moderator deletion by %r" -msgstr "Sters de moderatorul %r" +msgstr "Șters de moderatorul %r" #: .\contrib\comments\templates\comments\form.html.py:8 msgid "Forgotten your password?" @@ -1378,11 +1385,11 @@ msgstr "Necesar" #: .\contrib\comments\templates\comments\form.html.py:12 #: .\contrib\comments\templates\comments\form.html.py:23 msgid "Optional" -msgstr "Optional" +msgstr "Opțional" #: .\contrib\comments\templates\comments\form.html.py:23 msgid "Post a photo" -msgstr "Adauga o poza" +msgstr "Adaugă o poză" #: .\contrib\comments\templates\comments\form.html.py:28 #: .\contrib\comments\templates\comments\freeform.html.py:5 @@ -1396,11 +1403,11 @@ msgstr "Previzualizare comentariu" #: .\contrib\comments\templates\comments\freeform.html.py:4 msgid "Your name:" -msgstr "numele dumneavoastra" +msgstr "numele dumneavoastră" #: .\contrib\comments\views\comments.py:28 msgid "This rating is required because you've entered at least one other rating." -msgstr "Acest rating este necesar deoarece ai introdus cel putin un alt rating." +msgstr "Acest rating este necesar deoarece ai introdus cel puțin un alt rating." #: .\contrib\comments\views\comments.py:112 #, python-format @@ -1413,11 +1420,11 @@ msgid_plural "" "\n" "%(text)s" msgstr[0] "" -"Acest comentariu a fost postat de un utilizator care a postat mai putin de %(count)s comentariu:\n" +"Acest comentariu a fost postat de un utilizator care a postat mai puțin de %(count)s comentariu:\n" "\n" "%(text)s" msgstr[1] "" -"Acest comentariu a fost postat de un utilizator care a postat mai putin de %(count)s comentarii:\n" +"Acest comentariu a fost postat de un utilizator care a postat mai puțin de %(count)s comentarii:\n" "\n" "%(text)s" @@ -1435,27 +1442,27 @@ msgstr "" #: .\contrib\comments\views\comments.py:190 #: .\contrib\comments\views\comments.py:283 msgid "Only POSTs are allowed" -msgstr "Doar postarile sunt permise" +msgstr "Doar postările sunt permise" #: .\contrib\comments\views\comments.py:194 #: .\contrib\comments\views\comments.py:287 msgid "One or more of the required fields wasn't submitted" -msgstr "Unul sau mai multe campuri necesare nu a fost completat" +msgstr "Unul sau mai multe câmpuri necesare nu au fost completate" #: .\contrib\comments\views\comments.py:198 #: .\contrib\comments\views\comments.py:289 msgid "Somebody tampered with the comment form (security violation)" -msgstr "Cineva a modificat formularul de comentarii (incalcare a securitatii)" +msgstr "Cineva a modificat formularul de comentarii (încălcare a securității)" #: .\contrib\comments\views\comments.py:208 #: .\contrib\comments\views\comments.py:295 msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid" -msgstr "Formularul de comentariu a avut un parametru 'tinta' invalid -- ID-ul obiectului a fost invalid" +msgstr "Formularul de comentariu a avut un parametru 'țintă' invalid -- ID-ul obiectului a fost invalid" #: .\contrib\comments\views\comments.py:259 #: .\contrib\comments\views\comments.py:324 msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "Formularul de comentariu nu specifica nici 'previzualizare' nici 'postare'" +msgstr "Formularul de comentariu nu specifică nici 'previzualizare' nici 'postare'" #: .\contrib\comments\views\karma.py:21 msgid "Anonymous users cannot vote" @@ -1467,12 +1474,12 @@ msgstr "Comentariu cu ID invalid" #: .\contrib\comments\views\karma.py:27 msgid "No voting for yourself" -msgstr "Nu poti vota pentru tine" +msgstr "Nu poți vota pentru tine" #: .\contrib\contenttypes\models.py:67 #, fuzzy msgid "python model class name" -msgstr "nume clasa model python" +msgstr "nume clasă model python" #: .\contrib\contenttypes\models.py:71 msgid "content type" @@ -1480,11 +1487,11 @@ msgstr "tip conţinut" #: .\contrib\contenttypes\models.py:72 msgid "content types" -msgstr "tipuri conţinute" +msgstr "tipuri conţinut" #: .\contrib\flatpages\models.py:9 msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "Exemplu: '/about/contact'. Asiguraţi-vă că aveţi slash-uri la început şi la sfîrşit." +msgstr "Exemplu: '/despre/contact'. Asiguraţi-vă că aveţi slash-uri la început şi la sfârşit." #: .\contrib\flatpages\models.py:10 msgid "title" @@ -1524,7 +1531,7 @@ msgstr "pagini plate" #: .\contrib\flatpages\models.py:27 msgid "Advanced options" -msgstr "Optiuni avansate" +msgstr "Opțiuni avansate" #: .\contrib\humanize\templatetags\humanize.py:19 msgid "th" @@ -1577,7 +1584,7 @@ msgstr "trei" #: .\contrib\humanize\templatetags\humanize.py:73 msgid "four" -msgstr "patry" +msgstr "patru" #: .\contrib\humanize\templatetags\humanize.py:73 msgid "five" @@ -1585,11 +1592,11 @@ msgstr "cinci" #: .\contrib\humanize\templatetags\humanize.py:73 msgid "six" -msgstr "sase" +msgstr "șase" #: .\contrib\humanize\templatetags\humanize.py:73 msgid "seven" -msgstr "sapte" +msgstr "șapte" #: .\contrib\humanize\templatetags\humanize.py:73 msgid "eight" @@ -1597,15 +1604,15 @@ msgstr "opt" #: .\contrib\humanize\templatetags\humanize.py:73 msgid "nine" -msgstr "noua" +msgstr "nouă" #: .\contrib\humanize\templatetags\humanize.py:93 msgid "today" -msgstr "astazi" +msgstr "astăzi" #: .\contrib\humanize\templatetags\humanize.py:95 msgid "tomorrow" -msgstr "maine" +msgstr "mâine" #: .\contrib\humanize\templatetags\humanize.py:97 msgid "yesterday" @@ -1613,7 +1620,7 @@ msgstr "ieri" #: .\contrib\localflavor\ar\forms.py:27 msgid "Enter a postal code in the format NNNN or ANNNNAAA." -msgstr "Introduceti un cod postal valid de forma NNNN sau ANNNNAAA." +msgstr "Introduceți un cod poștal valid de forma NNNN sau ANNNNAAA." #: .\contrib\localflavor\ar\forms.py:49 #: .\contrib\localflavor\br\forms.py:96 @@ -1621,15 +1628,15 @@ msgstr "Introduceti un cod postal valid de forma NNNN sau ANNNNAAA." #: .\contrib\localflavor\pe\forms.py:23 #: .\contrib\localflavor\pe\forms.py:51 msgid "This field requires only numbers." -msgstr "Acest camp accepta doar numere." +msgstr "Acest câmp acceptă doar numere." #: .\contrib\localflavor\ar\forms.py:50 msgid "This field requires 7 or 8 digits." -msgstr "Acest camp are nevoie de 7 sau 8 cifre." +msgstr "Acest câmp are nevoie de 7 sau 8 cifre." #: .\contrib\localflavor\ar\forms.py:79 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." -msgstr "Introduceti un CUIT valid de forma XX-XXXXXXXX-X sau XXXXXXXXXXXX." +msgstr "Introduceți un CUIT valid de forma XX-XXXXXXXX-X sau XXXXXXXXXXXX." #: .\contrib\localflavor\ar\forms.py:80 msgid "Invalid CUIT." @@ -1637,43 +1644,43 @@ msgstr "CUIT invalid." #: .\contrib\localflavor\au\forms.py:16 msgid "Enter a 4 digit post code." -msgstr "Introduceti un cod postal de 4 cifre." +msgstr "Introduceți un cod poștal de 4 cifre." #: .\contrib\localflavor\br\forms.py:21 msgid "Enter a zip code in the format XXXXX-XXX." -msgstr "Adaugati un cod postal de forma XXXXX-XXX." +msgstr "Adăugați un cod poștal de forma XXXXX-XXX." #: .\contrib\localflavor\br\forms.py:30 msgid "Phone numbers must be in XX-XXXX-XXXX format." -msgstr "Numerele de telefon trebuie să fie in format XXX-XXX-XXXX." +msgstr "Numerele de telefon trebuie să fie în format XXX-XXX-XXXX." #: .\contrib\localflavor\br\forms.py:58 msgid "Select a valid brazilian state. That state is not one of the available states." -msgstr "Selectati un stat brazilian valid. Acest stat nu se afla printre statele disponibile." +msgstr "Selectați un stat brazilian valid. Acest stat nu se află printre statele disponibile." #: .\contrib\localflavor\br\forms.py:94 msgid "Invalid CPF number." -msgstr "Numar CPF invalid." +msgstr "Număr CPF invalid." #: .\contrib\localflavor\br\forms.py:95 msgid "This field requires at most 11 digits or 14 characters." -msgstr "Acest camp are nevoie de cel mult 11 cifre sau 14 caractere." +msgstr "Acest câmp are nevoie de cel mult 11 cifre sau 14 caractere." #: .\contrib\localflavor\br\forms.py:134 msgid "Invalid CNPJ number." -msgstr "Numar CNPJ invalid." +msgstr "Număr CNPJ invalid." #: .\contrib\localflavor\br\forms.py:136 msgid "This field requires at least 14 digits" -msgstr "Acest camd are nevoie de cel putin 14 cifre." +msgstr "Acest câmp are nevoie de cel puțin 14 cifre." #: .\contrib\localflavor\ca\forms.py:17 msgid "Enter a postal code in the format XXX XXX." -msgstr "Introduceti un cod postal de forma XXX XXX." +msgstr "Introduceți un cod poștal de forma XXX XXX." #: .\contrib\localflavor\ca\forms.py:88 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." -msgstr "Introduceti un numar canadia de asigurare sociala valid de forma XXX-XXX-XXX." +msgstr "Introduceți un număr canadian de asigurare socială valid de forma XXX-XXX-XXX." #: .\contrib\localflavor\ch\ch_states.py:5 msgid "Aargau" @@ -1782,19 +1789,19 @@ msgstr "Zurich" #: .\contrib\localflavor\ch\forms.py:16 #: .\contrib\localflavor\no\forms.py:12 msgid "Enter a zip code in the format XXXX." -msgstr "Introduceti un cod postal de forma XXXX." +msgstr "Introduceți un cod poștal de forma XXXX." #: .\contrib\localflavor\ch\forms.py:64 msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." -msgstr "Introduceti un numar elvetian de identitate sau pasaport, valid, de forma X1234567<0 sau 1234567890." +msgstr "Introduceți un număr elvetian de identitate sau pașaport, valid, de forma X1234567<0 sau 1234567890." #: .\contrib\localflavor\cl\forms.py:29 msgid "Enter a valid Chilean RUT." -msgstr "Introduceti RUT chilian valid." +msgstr "Introduceți RUT chilian valid." #: .\contrib\localflavor\cl\forms.py:30 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." -msgstr "Introduceti un RUT chilian valid. Formatul este XX.XXX.XXX-X." +msgstr "Introduceți un RUT chilian valid. Formatul este XX.XXX.XXX-X." #: .\contrib\localflavor\cl\forms.py:31 msgid "The Chilean RUT is not valid." @@ -1868,11 +1875,11 @@ msgstr "Turingia" #: .\contrib\localflavor\fi\forms.py:12 #: .\contrib\localflavor\fr\forms.py:15 msgid "Enter a zip code in the format XXXXX." -msgstr "Introduceti un cod postal de forma XXXXX." +msgstr "Introduceți un cod poștal de forma XXXXX." #: .\contrib\localflavor\de\forms.py:41 msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." -msgstr "Introduceti un numar german de identitate valid, de forma XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." +msgstr "Introduceți un număr german de identitate valid, de forma XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." #: .\contrib\localflavor\es\es_provinces.py:5 msgid "Arava" @@ -2115,7 +2122,7 @@ msgstr "Castile-La Mancha" #: .\contrib\localflavor\es\es_regions.py:13 msgid "Castile and Leon" -msgstr "Castilia si Leon" +msgstr "Castilia și Leon" #: .\contrib\localflavor\es\es_regions.py:14 msgid "Catalonia" @@ -2135,7 +2142,7 @@ msgstr "Regiunea Murcia" #: .\contrib\localflavor\es\es_regions.py:20 msgid "Foral Community of Navarre" -msgstr "Comunitatea Forala Navara" +msgstr "Comunitatea Forală Navara" #: .\contrib\localflavor\es\es_regions.py:21 msgid "Valencian Community" @@ -2143,11 +2150,11 @@ msgstr "Comunitatea Valencia" #: .\contrib\localflavor\es\forms.py:19 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." -msgstr "Introduceti un cod postal valid in intervalul si de forma 01XXX - 52XXX." +msgstr "Introduceți un cod poștal valid în intervalul și de forma 01XXX - 52XXX." #: .\contrib\localflavor\es\forms.py:39 msgid "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX." -msgstr "Introduceti un numa de telefon valid intr-unul dintre formatele 6XXXXXXXX, 8XXXXXXXX sau 9XXXXXXXX." +msgstr "Introduceți un număr de telefon valid într-unul dintre formatele 6XXXXXXXX, 8XXXXXXXX sau 9XXXXXXXX." #: .\contrib\localflavor\es\forms.py:66 msgid "Please enter a valid NIF, NIE, or CIF." @@ -2155,59 +2162,59 @@ msgstr "Introduceţi vă rog un NIF, NIE sau CIF valid." #: .\contrib\localflavor\es\forms.py:67 msgid "Please enter a valid NIF or NIE." -msgstr "Introduceti va rog un NIF sau NIE valid." +msgstr "Introduceți vă rog un NIF sau NIE valid." #: .\contrib\localflavor\es\forms.py:68 msgid "Invalid checksum for NIF." -msgstr "Suma de control invalda pentru NIF." +msgstr "Sumă de control invalidă pentru NIF." #: .\contrib\localflavor\es\forms.py:69 msgid "Invalid checksum for NIE." -msgstr "Suma de control invalida pentru NIE." +msgstr "Sumă de control invalidă pentru NIE." #: .\contrib\localflavor\es\forms.py:70 msgid "Invalid checksum for CIF." -msgstr "Suma de control invalida pentru CIF." +msgstr "Sumă de control invalidă pentru CIF." #: .\contrib\localflavor\es\forms.py:142 msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." -msgstr "Introduceti un numar de cont bancar valid de forma XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Introduceți un număr de cont bancar valid de forma XXXX-XXXX-XX-XXXXXXXXXX." #: .\contrib\localflavor\es\forms.py:143 msgid "Invalid checksum for bank account number." -msgstr "Suma de control invalida pentru numarul de cont bancar." +msgstr "Sumă de control invalidă pentru numărul de cont bancar." #: .\contrib\localflavor\fi\forms.py:28 msgid "Enter a valid Finnish social security number." -msgstr "Introduceti un numar finlandez de securitate sociala valid." +msgstr "Introduceți un număr finlandez de securitate socială valid." #: .\contrib\localflavor\in_\forms.py:14 msgid "Enter a zip code in the format XXXXXXX." -msgstr "Introduceti un cod postal de forma XXXXXXX." +msgstr "Introduceți un cod poștal de forma XXXXXXX." #: .\contrib\localflavor\is_\forms.py:17 msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." -msgstr "Introduceti un numa islandez de autentificare valid. Formatul este XXXXXX-XXXX." +msgstr "Introduceți un număr islandez de autentificare valid. Formatul este XXXXXX-XXXX." #: .\contrib\localflavor\is_\forms.py:18 msgid "The Icelandic identification number is not valid." -msgstr "Numarul islandez de identificare nu este valid." +msgstr "Numărul islandez de identificare nu este valid." #: .\contrib\localflavor\it\forms.py:14 msgid "Enter a valid zip code." -msgstr "Introduceti un cod postal valid." +msgstr "Introduceți un cod poștal valid." #: .\contrib\localflavor\it\forms.py:43 msgid "Enter a valid Social Security number." -msgstr "Introduceti un numar de securitate sociala valid." +msgstr "Introduceți un număr de securitate socială valid." #: .\contrib\localflavor\it\forms.py:68 msgid "Enter a valid VAT number." -msgstr "Introduceti un numar VAT valid." +msgstr "Introduceți un număr TVA valid." #: .\contrib\localflavor\jp\forms.py:17 msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." -msgstr "Introduceti un cod postal de forma XXXXXXX sau XXX-XXXX." +msgstr "Introduceți un cod poștal de forma XXXXXXX sau XXX-XXXX." #: .\contrib\localflavor\jp\jp_prefectures.py:4 msgid "Hokkaido" @@ -2527,15 +2534,15 @@ msgstr "Zacatecas" #: .\contrib\localflavor\nl\forms.py:21 msgid "Enter a valid postal code" -msgstr "Introduceti un cod postal valid" +msgstr "Introduceți un cod poștal valid" #: .\contrib\localflavor\nl\forms.py:52 msgid "Enter a valid phone number" -msgstr "Introduceţi un număr îde telefon valid" +msgstr "Introduceţi un număr de telefon valid" #: .\contrib\localflavor\nl\forms.py:78 msgid "Enter a valid SoFi number" -msgstr "Introduceti un numar SoFi valid" +msgstr "Introduceți un număr SoFi valid" #: .\contrib\localflavor\nl\nl_provinces.py:4 msgid "Drente" @@ -2587,47 +2594,47 @@ msgstr "Olanda de Sud" #: .\contrib\localflavor\no\forms.py:33 msgid "Enter a valid Norwegian social security number." -msgstr "Introduceti un numar norvegian de securitate sociala valid." +msgstr "Introduceți un număr norvegian de securitate socială valid." #: .\contrib\localflavor\pe\forms.py:24 msgid "This field requires 8 digits." -msgstr "Acest camp are nevoie de 8 cifre." +msgstr "Acest câmp are nevoie de 8 cifre." #: .\contrib\localflavor\pe\forms.py:52 msgid "This field requires 11 digits." -msgstr "Acest camp are nevoie de 11 cifre." +msgstr "Acest câmp are nevoie de 11 cifre." #: .\contrib\localflavor\pl\forms.py:39 msgid "National Identification Number consists of 11 digits." -msgstr "Numarul National de Identificare contine 11 cifre." +msgstr "Numărul Național de Identificare conține 11 cifre." #: .\contrib\localflavor\pl\forms.py:40 msgid "Wrong checksum for the National Identification Number." -msgstr "Suma de control gresita pentru Numarul National de Identificare." +msgstr "Sumă de control greșită pentru Numărul Național de Identificare." #: .\contrib\localflavor\pl\forms.py:72 msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." -msgstr "Introduceti un numar de taxa(NIP) de forma XXX-XXX-XX-XX sau XX-XX-XXX-XXX." +msgstr "Introduceți un număr de taxă(NIP) de forma XXX-XXX-XX-XX sau XX-XX-XXX-XXX." #: .\contrib\localflavor\pl\forms.py:73 msgid "Wrong checksum for the Tax Number (NIP)." -msgstr "Suma de control gresita pentru Numarul de Taxa (NIP)." +msgstr "Sumă de control greșită pentru Numărul de Taxa (NIP)." #: .\contrib\localflavor\pl\forms.py:112 msgid "National Business Register Number (REGON) consists of 7 or 9 digits." -msgstr "Numarul National din Registrul pentru Afaceri (REGON) contine 7 sau 9 cifre." +msgstr "Numărul National din Registrul pentru Afaceri (REGON) contine 7 sau 9 cifre." #: .\contrib\localflavor\pl\forms.py:113 msgid "Wrong checksum for the National Business Register Number (REGON)." -msgstr "Suma de control gresita pentru Numarul National din Registrul pentru Afaceri (REGON)." +msgstr "Suma de control gresita pentru Numărul National din Registrul pentru Afaceri (REGON)." #: .\contrib\localflavor\pl\forms.py:156 msgid "Enter a postal code in the format XX-XXX." -msgstr "Introduceti un cod postal de forma XX-XXX." +msgstr "Introduceți un cod poștal de forma XX-XXX." #: .\contrib\localflavor\pl\pl_voivodeships.py:8 msgid "Lower Silesia" -msgstr "Silezia Inferioara" +msgstr "Silezia Inferioară" #: .\contrib\localflavor\pl\pl_voivodeships.py:9 msgid "Kuyavia-Pomerania" @@ -2647,7 +2654,7 @@ msgstr "Lodz" #: .\contrib\localflavor\pl\pl_voivodeships.py:13 msgid "Lesser Poland" -msgstr "Polonia Mica" +msgstr "Polonia Mică" #: .\contrib\localflavor\pl\pl_voivodeships.py:14 msgid "Masovia" @@ -2687,11 +2694,11 @@ msgstr "Polonia Mare" #: .\contrib\localflavor\pl\pl_voivodeships.py:23 msgid "West Pomerania" -msgstr "Pomerania Occidentala" +msgstr "Pomerania Occidentală" #: .\contrib\localflavor\sk\forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." -msgstr "Introduceti un cod postal de forma XXXXX or XXX XX." +msgstr "Introduceți un cod poștal de forma XXXXX or XXX XX." #: .\contrib\localflavor\sk\sk_districts.py:8 msgid "Banska Bystrica" @@ -3043,7 +3050,7 @@ msgstr "Regiunea Zilina" #: .\contrib\localflavor\uk\forms.py:21 msgid "Enter a valid postcode." -msgstr "Introduceti un cod postal valid." +msgstr "Introduceți un cod poștal valid." #: .\contrib\localflavor\uk\uk_regions.py:11 msgid "Bedfordshire" @@ -3059,7 +3066,7 @@ msgstr "Cheshire" #: .\contrib\localflavor\uk\uk_regions.py:15 msgid "Cornwall and Isles of Scilly" -msgstr "Cornwall si Insulele Scilly" +msgstr "Cornwall și Insulele Scilly" #: .\contrib\localflavor\uk\uk_regions.py:16 msgid "Cumbria" @@ -3179,7 +3186,7 @@ msgstr "Surrey" #: .\contrib\localflavor\uk\uk_regions.py:45 msgid "Tyne and Wear" -msgstr "Tyne si Wear" +msgstr "Tyne și Wear" #: .\contrib\localflavor\uk\uk_regions.py:46 msgid "Warwickshire" @@ -3271,7 +3278,7 @@ msgstr "Central Scotland" #: .\contrib\localflavor\uk\uk_regions.py:77 msgid "Dumfries and Galloway" -msgstr "Dumfries si Galloway" +msgstr "Dumfries și Galloway" #: .\contrib\localflavor\uk\uk_regions.py:78 msgid "Fife" @@ -3323,23 +3330,23 @@ msgstr "Scotia" #: .\contrib\localflavor\uk\uk_regions.py:93 msgid "Wales" -msgstr "Tara Galilor" +msgstr "Țara Galilor" #: .\contrib\localflavor\us\forms.py:16 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." -msgstr "Introduceti un cod postal de forma XXXXX or XXXXX-XXXX." +msgstr "Introduceți un cod poștal de forma XXXXX or XXXXX-XXXX." #: .\contrib\localflavor\us\forms.py:54 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." -msgstr "Introduceti un numar SUA de Securitate Sociala de forma XXX-XX-XXXX format." +msgstr "Introduceți un număr SUA de Securitate Sociala de forma XXX-XX-XXXX format." #: .\contrib\localflavor\za\forms.py:20 msgid "Enter a valid South African ID number" -msgstr "Introduceti un ID sud african valid" +msgstr "Introduceți un ID sud african valid" #: .\contrib\localflavor\za\forms.py:54 msgid "Enter a valid South African postal code" -msgstr "Introduceti un cod postal sud african valid" +msgstr "Introduceți un cod poștal sud african valid" #: .\contrib\localflavor\za\za_provinces.py:4 msgid "Eastern Cape" @@ -3383,7 +3390,7 @@ msgstr "redirectat de la " #: .\contrib\redirects\models.py:8 msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." -msgstr "Aceasta ar trebui să fie o cale absolută, excluzînd numele de domeniu. Exemplu: '/evenimente/cautare/'." +msgstr "Aceasta ar trebui să fie o cale absolută, excluzând numele de domeniu. Exemplu: '/evenimente/cautare/'." #: .\contrib\redirects\models.py:9 msgid "redirect to" @@ -3391,7 +3398,7 @@ msgstr "redirectat la" #: .\contrib\redirects\models.py:10 msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." -msgstr "Aceasta poate fi o cale absolută (ca mai sus) sau un URL începînd cu 'http://'." +msgstr "Aceasta poate fi o cale absolută (ca mai sus) sau un URL începând cu 'http://'." #: .\contrib\redirects\models.py:13 msgid "redirect" @@ -3443,7 +3450,7 @@ msgstr "Această valoare trebuie să conţină numai litere, numere şi liniuţe #: .\core\validators.py:76 msgid "This value must contain only letters, numbers, underscores, dashes or slashes." -msgstr "Această valoare trebuie să conţină numai litere, numere, liniuţe de subliniere, slash-uri si dash-uri." +msgstr "Această valoare trebuie să conţină numai litere, numere, liniuţe de subliniere, slash-uri și dash-uri." #: .\core\validators.py:80 msgid "This value must contain only letters, numbers, underscores or hyphens." @@ -3451,11 +3458,11 @@ msgstr "Această valoare trebuie să conţină numai litere, numere, liniuţe de #: .\core\validators.py:84 msgid "Uppercase letters are not allowed here." -msgstr "Literele mari nu sînt permise aici." +msgstr "Literele mari nu sunt permise aici." #: .\core\validators.py:88 msgid "Lowercase letters are not allowed here." -msgstr "Literele mici nu sînt permise aici." +msgstr "Literele mici nu sunt permise aici." #: .\core\validators.py:95 msgid "Enter only digits separated by commas." @@ -3471,11 +3478,11 @@ msgstr "Introduceţi vă rog o adresă IP validă." #: .\core\validators.py:115 msgid "Empty values are not allowed here." -msgstr "Valorile vide nu sînt permise aici." +msgstr "Valorile vide nu sunt permise aici." #: .\core\validators.py:119 msgid "Non-numeric characters aren't allowed here." -msgstr "Caracterele ne-numerice nu sînt permise aici." +msgstr "Caracterele ne-numerice nu sunt permise aici." #: .\core\validators.py:123 msgid "This value can't be comprised solely of digits." @@ -3488,11 +3495,11 @@ msgstr "Introduceţi un număr întreg." #: .\core\validators.py:132 msgid "Only alphabetical characters are allowed here." -msgstr "Numai caractere alfabetice sînt permise aici." +msgstr "Numai caractere alfabetice sunt permise aici." #: .\core\validators.py:147 msgid "Year must be 1900 or later." -msgstr "Anul trebuie sa fie 1900 sau posterior." +msgstr "Anul trebuie să fie 1900 sau posterior." #: .\core\validators.py:151 #, python-format @@ -3502,7 +3509,7 @@ msgstr "Data invalida: %s" #: .\core\validators.py:156 #: .\db\models\fields\__init__.py:527 msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Introduceţi o dată validă in format: AAAA-LL-ZZ." +msgstr "Introduceţi o dată validă în format: AAAA-LL-ZZ." #: .\core\validators.py:161 msgid "Enter a valid time in HH:MM format." @@ -3537,7 +3544,7 @@ msgstr "URL-ul %s nu pointează către o imagine validă." #: .\core\validators.py:204 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "Numerele de telefon trebuie să fie in format XXX-XXX-XXXX. \"%s\" e invalid." +msgstr "Numerele de telefon trebuie să fie în format XXX-XXX-XXXX. \"%s\" e invalid." #: .\core\validators.py:212 #, python-format @@ -3554,7 +3561,7 @@ msgid "" "Valid HTML is required. Specific errors are:\n" "%s" msgstr "" -"E necesar cod HTML valid. Erorile specifice sînt:\n" +"E necesar cod HTML valid. Erorile specifice sunt:\n" "%s" #: .\core\validators.py:237 @@ -3581,46 +3588,46 @@ msgstr "Introduceţi o abreviere validă în U.S." #, 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] "Îngrijiţi-vă limbajul! Cuvîntul %s nu este permis aici." -msgstr[1] "Îngrijiţi-vă limbajul! Cuvintele %s nu sînt permise aici." +msgstr[0] "Îngrijiţi-vă limbajul! Cuvântul %s nu este permis aici." +msgstr[1] "Îngrijiţi-vă limbajul! Cuvintele %s nu sunt permise aici." #: .\core\validators.py:288 #, python-format msgid "This field must match the '%s' field." -msgstr "Acest camp trebuie sa fie identic cu '%s'." +msgstr "Acest câmp trebuie să fie identic cu '%s'." #: .\core\validators.py:307 msgid "Please enter something for at least one field." -msgstr "Va rog completati cel putin un camp." +msgstr "Vă rog completați cel puțin un câmp." #: .\core\validators.py:316 #: .\core\validators.py:327 msgid "Please enter both fields or leave them both empty." -msgstr "Vă rog comletaţi ambele cîmpuri sau lăsaţi-le goale pe ambele." +msgstr "Vă rog completaţi ambele câmpuri sau lăsaţi-le goale pe ambele." #: .\core\validators.py:335 #, python-format msgid "This field must be given if %(field)s is %(value)s" -msgstr "Acest cîmp e necesar dacă %(field)s este %(value)s" +msgstr "Acest câmp e necesar dacă %(field)s este %(value)s" #: .\core\validators.py:348 #, python-format msgid "This field must be given if %(field)s is not %(value)s" -msgstr "Acest cîmp e necesar dacă %(field)s nu este %(value)s" +msgstr "Acest câmp e necesar dacă %(field)s nu este %(value)s" #: .\core\validators.py:367 msgid "Duplicate values are not allowed." -msgstr "Valorile duplicate nu sînt permise." +msgstr "Valorile duplicate nu sunt permise." #: .\core\validators.py:382 #, python-format msgid "This value must be between %(lower)s and %(upper)s." -msgstr "Aceasta valoare trebuie sa fie cuprinsa intre %(lower)s si %(upper)s." +msgstr "Această valoare trebuie să fie cuprinsa între %(lower)s și %(upper)s." #: .\core\validators.py:384 #, python-format msgid "This value must be at least %s." -msgstr "Această valoare trebuie să fie cel putin %s." +msgstr "Această valoare trebuie să fie cel puțin %s." #: .\core\validators.py:386 #, python-format @@ -3647,8 +3654,8 @@ msgstr[1] "Vă rog introduceţi un număr zecimal valid cu cel mult %s cifre." #, 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] "Vă rog introduceţi un număr zecimal valid cu partea intreaga cel mult %s cifră." -msgstr[1] "Vă rog introduceţi un număr zecimal valid cu partea intreaga cel mult %s cifre." +msgstr[0] "Vă rog introduceţi un număr zecimal valid cu partea întreagă de cel mult %s cifră." +msgstr[1] "Vă rog introduceţi un număr zecimal valid cu partea întreagă de cel mult %s cifre." #: .\core\validators.py:450 #, python-format @@ -3659,12 +3666,12 @@ msgstr[1] "Vă rog introduceţi un număr zecimal valid cu cel mult %s zecimale. #: .\core\validators.py:458 msgid "Please enter a valid floating point number." -msgstr "Vă rog introduceţi un număr cu virgula valid." +msgstr "Vă rog introduceţi un număr cu virgulă valid." #: .\core\validators.py:467 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Asigură-te că fişierul încărcact are cel puţin %s octeţi." +msgstr "Asigură-te că fişierul încărcat are cel puţin %s octeţi." #: .\core\validators.py:468 #, python-format @@ -3673,11 +3680,11 @@ msgstr "Asigură-te că fişierul încărcact are cel mult %s octeţi." #: .\core\validators.py:485 msgid "The format for this field is wrong." -msgstr "Formatul acestui cîmp este invalid." +msgstr "Formatul acestui câmp este invalid." #: .\core\validators.py:500 msgid "This field is invalid." -msgstr "Cîmpul este invalid." +msgstr "Câmpul este invalid." #: .\core\validators.py:536 #, python-format @@ -3697,12 +3704,12 @@ msgstr "Te rog închide tagurile %(tag)s din linia %(line)s. ( Linia începe cu #: .\core\validators.py:576 #, python-format msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" -msgstr "Textul începînd cu linia %(line)s nu e permis în acest context. (Linia începînd cu \"%(start)s\".)" +msgstr "Textul începând cu linia %(line)s nu e permis în acest context. (Linia începând cu \"%(start)s\".)" #: .\core\validators.py:581 #, python-format msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" -msgstr "\"%(attr)s\" în linia %(line)s e un atribut invalid. (Linia începînd cu \"%(start)s\".)" +msgstr "\"%(attr)s\" în linia %(line)s e un atribut invalid. (Linia începând cu \"%(start)s\".)" #: .\core\validators.py:586 #, python-format @@ -3722,12 +3729,12 @@ msgstr "Atributul \"%(attr)s\" din linia %(line)s are o valoare invalidă. ( Lin #: .\db\models\manipulators.py:308 #, python-format msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "%(object)s de acest tip %(type)s exista deja pentru %(field)s dat." +msgstr "%(object)s de acest tip %(type)s există deja pentru %(field)s dat." #: .\db\models\fields\__init__.py:52 #, python-format msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s cu acest %(fieldname)s exista deja." +msgstr "%(optname)s cu acest %(fieldname)s există deja." #: .\db\models\fields\__init__.py:161 #: .\db\models\fields\__init__.py:327 @@ -3736,36 +3743,36 @@ msgstr "%(optname)s cu acest %(fieldname)s exista deja." #: .\newforms\fields.py:46 #: .\oldforms\__init__.py:374 msgid "This field is required." -msgstr "Campul acesta trebuie completat obligatoriu." +msgstr "Acest câmp este obligatoriu." #: .\db\models\fields\__init__.py:427 msgid "This value must be an integer." -msgstr "Această valoare trebuie să fie un numar intreg" +msgstr "Această valoare trebuie să fie un număr intreg." #: .\db\models\fields\__init__.py:466 msgid "This value must be either True or False." -msgstr "Această valoare trebuie să fie ori falsa ori adevarata" +msgstr "Această valoare trebuie să fie ori falsă ori adevarată." #: .\db\models\fields\__init__.py:490 msgid "This field cannot be null." -msgstr "Cîmpul nu poate fi gol" +msgstr "Câmpul nu poate fi gol" #: .\db\models\fields\__init__.py:668 msgid "This value must be a decimal number." -msgstr "Această valoare trebuie să fie un numar zecimal." +msgstr "Această valoare trebuie să fie un număr zecimal." #: .\db\models\fields\__init__.py:779 msgid "Enter a valid filename." -msgstr "Introduceti un nume de fisier valid." +msgstr "Introduceți un nume de fișier valid." #: .\db\models\fields\__init__.py:960 msgid "This value must be either None, True or False." -msgstr "Această valoare trebuie să fie falsa, adevarata sau nici una." +msgstr "Această valoare trebuie să fie falsă, adevarată sau nici una." #: .\db\models\fields\related.py:93 #, python-format msgid "Please enter a valid %s." -msgstr "Introduceti va rog un %s valid." +msgstr "Introduceți vă rog un %s valid." #: .\db\models\fields\related.py:701 msgid "Separate multiple IDs with commas." @@ -3773,42 +3780,42 @@ msgstr "Separă ID-urile multiple cu virgulă." #: .\db\models\fields\related.py:703 msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr " Ţine apăsat \"Control\", sau \"Command\" pe un Mac, pentru a selectie multipla." +msgstr " Ţine apăsat \"Control\", sau \"Command\" pe un Mac, pentru selecție multiplă." #: .\db\models\fields\related.py:750 #, 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] "Introduceti un ID valid pentru %(self)s. Valoarea %(value)r nu este valida." -msgstr[1] "Introduceti ID-uri valide pentru %(self)s. Valorile %(value)r nu sunt valide." +msgstr[0] "Introduceți un ID valid pentru %(self)s. Valoarea %(value)r nu este validă." +msgstr[1] "Introduceți ID-uri valide pentru %(self)s. Valorile %(value)r nu sunt valide." #: .\newforms\fields.py:47 msgid "Enter a valid value." -msgstr "Introduceti o valoare valida." +msgstr "Introduceți o valoare validă." #: .\newforms\fields.py:124 #, python-format msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "Asigurati-va ca aceasta valoare are cel mult %(max)d caractere (are %(length)d)." +msgstr "Asigurați-vă că această valoare are cel mult %(max)d caractere (are %(length)d)." #: .\newforms\fields.py:125 #, python-format msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "Asigurati-va ca aceasta valoare are cel putin %(min)d caractere (are %(length)d)." +msgstr "Asigurați-vă că această valoare are cel puțin %(min)d caractere (are %(length)d)." #: .\newforms\fields.py:153 #: .\newforms\fields.py:182 #: .\newforms\fields.py:211 #, python-format msgid "Ensure this value is less than or equal to %s." -msgstr "Asigurati-va ca aceasta valoare este mai mica sau egala cu %s." +msgstr "Asigurați-vă că această valoare este mai mică sau egală cu %s." #: .\newforms\fields.py:154 #: .\newforms\fields.py:183 #: .\newforms\fields.py:212 #, python-format msgid "Ensure this value is greater than or equal to %s." -msgstr "Asigurati-va ca aceasta valoare este mai mare sau egala cu %s." +msgstr "Asigurați-vă că aceasta valoare este mai mare sau egală cu %s." #: .\newforms\fields.py:181 #: .\newforms\fields.py:210 @@ -3818,44 +3825,44 @@ msgstr "Introduceţi un număr." #: .\newforms\fields.py:213 #, python-format msgid "Ensure that there are no more than %s digits in total." -msgstr "Asigurati-va ca nu exista mai mult de %s cifre in total." +msgstr "Asigurați-vă că nu exista mai mult de %s cifre în total." #: .\newforms\fields.py:214 #, python-format msgid "Ensure that there are no more than %s decimal places." -msgstr "Asigurati-va ca nu exista mai mult de %s spatii zecimale." +msgstr "Asigurați-vă că nu exista mai mult de %s spații zecimale." #: .\newforms\fields.py:215 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "Asigurati-va ca nu exista mai mult de %s cifre inainte de virgula." +msgstr "Asigurați-vă că nu exista mai mult de %s cifre înainte de virgulă." #: .\newforms\fields.py:263 #: .\newforms\fields.py:751 msgid "Enter a valid date." -msgstr "Introduceti o data valida." +msgstr "Introduceți o dată validă." #: .\newforms\fields.py:296 #: .\newforms\fields.py:752 msgid "Enter a valid time." -msgstr "Introduceti o ora valida." +msgstr "Introduceți o oră validă." #: .\newforms\fields.py:335 msgid "Enter a valid date/time." -msgstr "Introduceti o data/ora valida." +msgstr "Introduceți o dată/oră validă." #: .\newforms\fields.py:434 msgid "No file was submitted." -msgstr "Nici un fisier nu a fost trimis." +msgstr "Nici un fișier nu a fost trimis." #: .\newforms\fields.py:435 #: .\oldforms\__init__.py:689 msgid "The submitted file is empty." -msgstr "Fisierul uploadat este gol" +msgstr "Fișierul uploadat este gol" #: .\newforms\fields.py:497 msgid "Enter a valid URL." -msgstr "Introduceti un URL valid." +msgstr "Introduceți un URL valid." #: .\newforms\fields.py:498 msgid "This URL appears to be a broken link." @@ -3864,49 +3871,49 @@ msgstr "URL-ul e invalid." #: .\newforms\fields.py:560 #: .\newforms\models.py:299 msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Selectati o optiune valida. Aceasta optiune nu face parte din optiunile disponibile." +msgstr "Selectați o opțiune validă. Această opțiune nu face parte din opțiunile disponibile." #: .\newforms\fields.py:599 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Selectati o optiune valida. %(value)s nu face parte din optiunile disponibile." +msgstr "Selectați o opțiune validă. %(value)s nu face parte din opțiunile disponibile." #: .\newforms\fields.py:600 #: .\newforms\fields.py:662 #: .\newforms\models.py:371 msgid "Enter a list of values." -msgstr "Introduceti o lista de valori." +msgstr "Introduceți o listă de valori." #: .\newforms\fields.py:780 msgid "Enter a valid IPv4 address." -msgstr "Introduceţi o adresă IPv4 valida." +msgstr "Introduceţi o adresă IPv4 validă." #: .\newforms\models.py:372 #, python-format msgid "Select a valid choice. %s is not one of the available choices." -msgstr "Selectati o optiune valida. %s nu face parte din optiunile disponibile." +msgstr "Selectați o opțiune validă. %s nu face parte din opțiunile disponibile." #: .\oldforms\__init__.py:409 #, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Asigurati-va ca textul dumneavoastra are mai putin de %s caracter." -msgstr[1] "Asigurati-va ca textul dumneavoastra are mai putin de %s caractere." +msgstr[0] "Asigurați-va că textul dumneavoastră are mai puțin de %s caracter." +msgstr[1] "Asigurați-va că textul dumneavoastră are mai puțin de %s caractere." #: .\oldforms\__init__.py:414 msgid "Line breaks are not allowed here." -msgstr "Randurile noi nu sînt permise aici." +msgstr "Randurile noi nu sunt permise aici." #: .\oldforms\__init__.py:512 #: .\oldforms\__init__.py:586 #: .\oldforms\__init__.py:625 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Selectati o optiune valida. '%(data)s' nu face parte din %(choices)s." +msgstr "Selectați o opțiune validă. '%(data)s' nu face parte din %(choices)s." #: .\oldforms\__init__.py:745 msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Introduceţi un număr întreg cu valoare intre -32,768 si 32,767." +msgstr "Introduceţi un număr întreg cu valoare intre -32,768 și 32,767." #: .\oldforms\__init__.py:755 msgid "Enter a positive number." @@ -3914,7 +3921,7 @@ msgstr "Introduceţi un număr pozitiv." #: .\oldforms\__init__.py:765 msgid "Enter a whole number between 0 and 32,767." -msgstr "Introduceţi un număr întreg cu valoare intre 0 si 32,767." +msgstr "Introduceţi un număr întreg cu valoare intre 0 și 32,767." #: .\template\defaultfilters.py:698 msgid "yes,no,maybe" @@ -3929,18 +3936,18 @@ msgstr[1] "%(size)d bytes" #: .\template\defaultfilters.py:731 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" #: .\template\defaultfilters.py:733 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" #: .\template\defaultfilters.py:734 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: .\utils\dateformat.py:41 msgid "p.m." @@ -3960,11 +3967,11 @@ msgstr "AM" #: .\utils\dateformat.py:97 msgid "midnight" -msgstr "miezul noptii" +msgstr "miezul nopții" #: .\utils\dateformat.py:99 msgid "noon" -msgstr "amiaza" +msgstr "amiază" #: .\utils\dates.py:6 msgid "Monday" @@ -3988,7 +3995,7 @@ msgstr "Vineri" #: .\utils\dates.py:7 msgid "Saturday" -msgstr "Sîmbătă" +msgstr "Sâmbătă" #: .\utils\dates.py:7 msgid "Sunday" @@ -4016,7 +4023,7 @@ msgstr "Vin" #: .\utils\dates.py:11 msgid "Sat" -msgstr "Sam" +msgstr "Sâm" #: .\utils\dates.py:11 msgid "Sun" @@ -4164,14 +4171,14 @@ msgstr[1] "ani" #: .\utils\timesince.py:22 msgid "month" msgid_plural "months" -msgstr[0] "luna" +msgstr[0] "lună" msgstr[1] "luni" #: .\utils\timesince.py:23 msgid "week" msgid_plural "weeks" -msgstr[0] "saptamana" -msgstr[1] "saptamani" +msgstr[0] "săptămână" +msgstr[1] "săptămâni" #: .\utils\timesince.py:24 msgid "day" @@ -4182,7 +4189,7 @@ msgstr[1] "zile" #: .\utils\timesince.py:25 msgid "hour" msgid_plural "hours" -msgstr[0] "ora" +msgstr[0] "oră" msgstr[1] "ore" #: .\utils\timesince.py:26 @@ -4238,7 +4245,7 @@ msgstr "%(verbose_name)s a fost actualizat cu succes." #: .\views\generic\create_update.py:184 #, python-format msgid "The %(verbose_name)s was deleted." -msgstr "%(verbose_name)s a fost sters." +msgstr "%(verbose_name)s a fost șters." #~ msgid "Have you forgotten your password?" #~ msgstr "Ai uitat parola?" diff --git a/django/conf/locale/ro/__init__.py b/django/conf/locale/ro/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/ro/formats.py b/django/conf/locale/ro/formats.py new file mode 100644 index 000000000..6d6e80046 --- /dev/null +++ b/django/conf/locale/ro/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F Y' +TIME_FORMAT = 'H:i:s' +DATETIME_FORMAT = 'j F Y, H:i:s' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'd.m.Y' +SHORT_DATETIME_FORMAT = 'd.m.Y, H:i:s' +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +# NUMBER_GROUPING = diff --git a/django/conf/locale/ru/LC_MESSAGES/django.mo b/django/conf/locale/ru/LC_MESSAGES/django.mo index 52f61715298a8207bbfb2e11242f1fab372d6e96..340a921273488de79111c0d07bfbdaa6058bfc61 100644 GIT binary patch delta 34685 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

                                            #|KHrqzZ^|Du<(r`b+6@)Zepm*cg!213R3Pue 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 delta 24000 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 NX8QuXb;sG^{|li4xT637 diff --git a/django/conf/locale/ru/LC_MESSAGES/django.po b/django/conf/locale/ru/LC_MESSAGES/django.po index 2a5574906..f2ce79658 100644 --- a/django/conf/locale/ru/LC_MESSAGES/django.po +++ b/django/conf/locale/ru/LC_MESSAGES/django.po @@ -5,229 +5,272 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-23 00:31+0400\n" -"PO-Revision-Date: 2009-04-10 18:37+0400\n" -"Last-Translator: Andrew Fedorov \n" +"POT-Creation-Date: 2010-05-11 14:51+0400\n" +"PO-Revision-Date: 2010-05-11 17:36+0300\n" +"Last-Translator: alexey boriskin \n" "Language-Team: Russian\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: Russian\n" +"X-Poedit-Country: RUSSIAN FEDERATION\n" #: conf/global_settings.py:44 msgid "Arabic" msgstr "Арабский" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "Бенгальский" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "Болгарский" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Бенгальский" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Боснийский" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "Каталанский" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "Чешский" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "Уэльский" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "Датский" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "Немецкий" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "Греческий" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "Английский" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "Британский английский" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "Испанский" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "Эстонский" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "Аргентинский испанский" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "Эстонский" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "Баскский" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "Персидский" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "Финский" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "Французский" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Фризский" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "Ирландский" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "Галисийский" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "Венгерский" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "Иврит" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "Хинди" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "Хорватский" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Венгерский" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "Индонезийский" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "Исландский" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "Итальянский" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "Японский" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "Грузинский" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "Корейский" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "Кхмерский" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "Каннада" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "Латвийский" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "Корейский" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "Литовский" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "Латвийский" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "Македонский" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Mongolian" +msgstr "Монгольский" + +#: conf/global_settings.py:82 msgid "Dutch" msgstr "Голландский" -#: conf/global_settings.py:78 +#: conf/global_settings.py:83 msgid "Norwegian" msgstr "Норвежский" -#: conf/global_settings.py:79 +#: conf/global_settings.py:84 +msgid "Norwegian Bokmal" +msgstr "Норвежский (Букмол)" + +#: conf/global_settings.py:85 +msgid "Norwegian Nynorsk" +msgstr "Норвежский (Нюнорск)" + +#: conf/global_settings.py:86 msgid "Polish" msgstr "Польский" -#: conf/global_settings.py:80 +#: conf/global_settings.py:87 msgid "Portuguese" msgstr "Португальский" -#: conf/global_settings.py:81 +#: conf/global_settings.py:88 msgid "Brazilian Portuguese" msgstr "Бразильский португальский" -#: conf/global_settings.py:82 +#: conf/global_settings.py:89 msgid "Romanian" msgstr "Румынский" -#: conf/global_settings.py:83 +#: conf/global_settings.py:90 msgid "Russian" msgstr "Русский" -#: conf/global_settings.py:84 +#: conf/global_settings.py:91 msgid "Slovak" msgstr "Словацкий" -#: conf/global_settings.py:85 +#: conf/global_settings.py:92 msgid "Slovenian" msgstr "Словенский" -#: conf/global_settings.py:86 +#: conf/global_settings.py:93 +msgid "Albanian" +msgstr "Албанский" + +#: conf/global_settings.py:94 msgid "Serbian" msgstr "Сербский" -#: conf/global_settings.py:87 +#: conf/global_settings.py:95 +msgid "Serbian Latin" +msgstr "Сербский (латиница)" + +#: conf/global_settings.py:96 msgid "Swedish" msgstr "Шведский" -#: conf/global_settings.py:88 +#: conf/global_settings.py:97 msgid "Tamil" msgstr "Тамильский" -#: conf/global_settings.py:89 +#: conf/global_settings.py:98 msgid "Telugu" msgstr "Телугу" -#: conf/global_settings.py:90 +#: conf/global_settings.py:99 msgid "Thai" msgstr "Тайский" -#: conf/global_settings.py:91 +#: conf/global_settings.py:100 msgid "Turkish" msgstr "Турецкий" -#: conf/global_settings.py:92 +#: conf/global_settings.py:101 msgid "Ukrainian" msgstr "Украинский" -#: conf/global_settings.py:93 +#: conf/global_settings.py:102 +msgid "Vietnamese" +msgstr "Вьетнамский" + +#: conf/global_settings.py:103 msgid "Simplified Chinese" msgstr "Упрощенный китайский" -#: conf/global_settings.py:94 +#: conf/global_settings.py:104 msgid "Traditional Chinese" msgstr "Традиционный китайский" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Успешно удалены %(count)d %(items)s." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1027 +#: contrib/admin/actions.py:55 +#: contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "Вы уверены?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Удалить выбранные %(verbose_name_plural)s" @@ -241,8 +284,10 @@ msgstr "" "

                                            По %s:

                                            \n" "
                                              \n" -#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 -#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +#: contrib/admin/filterspecs.py:75 +#: contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 +#: contrib/admin/filterspecs.py:173 msgid "All" msgstr "Все" @@ -266,19 +311,22 @@ msgstr "Этот месяц" msgid "This year" msgstr "Этот год" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 +#: forms/widgets.py:469 msgid "Yes" msgstr "Да" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 +#: forms/widgets.py:469 msgid "No" msgstr "Нет" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 +#: forms/widgets.py:469 msgid "Unknown" msgstr "Неизвестно" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Действие:" @@ -310,184 +358,194 @@ msgstr "запись в журнале" msgid "log entries" msgstr "записи в журнале" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 +#: contrib/admin/options.py:153 msgid "None" msgstr "Нет" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." -msgstr "Изменён %s." +msgstr "Изменен %s." -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:600 +#: contrib/admin/options.py:559 +#: contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 +#: db/models/base.py:844 +#: forms/models.py:568 msgid "and" msgstr "и" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Добавлен %(name)s \"%(object)s\"." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Изменены %(list)s для %(name)s \"%(object)s\"." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." -msgstr "Удалён %(name)s \"%(object)s\"." +msgstr "Удален %(name)s \"%(object)s\"." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Ни одно поле не изменено." -#: contrib/admin/options.py:599 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" был успешно добавлен." -#: contrib/admin/options.py:603 contrib/admin/options.py:636 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 +#: contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "Ниже вы можете снова его отредактировать." -#: contrib/admin/options.py:613 contrib/admin/options.py:646 +#: contrib/admin/options.py:657 +#: contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "Ниже вы можете добавить еще один %s." -#: contrib/admin/options.py:634 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "%(name)s \"%(obj)s\" был успешно изменён." +msgstr "%(name)s \"%(obj)s\" был успешно изменен." -#: contrib/admin/options.py:642 +#: contrib/admin/options.py:686 #, 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/options.py:773 +#: contrib/admin/options.py:740 +#: contrib/admin/options.py:997 +msgid "Items must be selected in order to perform actions on them. No items have been changed." +msgstr "Чтобы произвести действия над объектами, необходимо их выбрать. Объекты не были изменены." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Действие не выбрано." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Добавить %s" -#: contrib/admin/options.py:804 contrib/admin/options.py:1005 +#: contrib/admin/options.py:866 +#: contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "%(name)s с первичным ключом %(key)r не существует." -#: contrib/admin/options.py:861 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "Изменить %s" -#: contrib/admin/options.py:905 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Ошибка базы данных" -#: contrib/admin/options.py:941 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s был успешно изменён." +msgstr[0] "%(count)s %(name)s был успешно изменен." msgstr[1] "%(count)s %(name)s были успешно изменены." msgstr[2] "%(count)s %(name)s были успешно изменены." -#: contrib/admin/options.py:1020 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Все объекты общим количеством %(total_count)s были выбраны" +msgstr[1] "Выбраны все %(total_count)s объекта" +msgstr[2] "Выбраны все %(total_count)s объектов" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "Выбрано 0 объектов из %(cnt)s " + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" был успешно удалён." +msgstr "%(name)s \"%(obj)s\" был успешно удален." -#: contrib/admin/options.py:1057 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "История изменений: %s" -#: contrib/admin/sites.py:21 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" -"Пожалуйста, введите верные имя пользователя и пароль. Помните, оба поля " -"чувствительны к регистру." +#: contrib/admin/sites.py:18 +#: contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "Please enter a correct username and password. Note that both fields are case-sensitive." +msgstr "Пожалуйста, введите верные имя пользователя и пароль. Помните, оба поля чувствительны к регистру." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 +#: contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Пожалуйста, войдите снова, поскольку ваша сессия устарела." -#: contrib/admin/sites.py:292 contrib/admin/views/decorators.py:47 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "" -"Похоже, ваш браузер не настроен на прием cookies. Пожалуйста, включите " -"cookies, перезагрузите страницу и попытайтесь снова." +#: contrib/admin/sites.py:314 +#: contrib/admin/views/decorators.py:47 +msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." +msgstr "Похоже, ваш браузер не настроен на прием cookies. Пожалуйста, включите cookies, перезагрузите страницу и попытайтесь снова." -#: contrib/admin/sites.py:308 contrib/admin/sites.py:314 +#: contrib/admin/sites.py:330 +#: contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Имя пользователя не может содержать символ '@'." -#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 +#: contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "" -"Ваш адрес электронной почты не является вашим именем пользователя. " -"Попробуйте '%s' взамен." +msgstr "Ваш адрес электронной почты не является вашим именем пользователя. Попробуйте '%s' взамен." -#: contrib/admin/sites.py:367 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Администрирование сайта" -#: contrib/admin/sites.py:381 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 +#: contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Войти" -#: contrib/admin/sites.py:426 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "%s администрирование" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Один или более %(fieldname)s в %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Один или более %(fieldname)s в %(name)s:" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Дата:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Время:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Текущий файл:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Изменить:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Поиск" -#: contrib/admin/widgets.py:235 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Добавить еще" @@ -502,17 +560,17 @@ msgstr "К сожалению, запрашиваемая вами страни #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -534,12 +592,8 @@ 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/actions.html:4 msgid "Run the selected action" @@ -549,34 +603,47 @@ msgstr "Выполнить выбранное действие" msgid "Go" msgstr "Выполнить" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Нажмите здесь, чтобы выбрать объекты на всех страницах" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Выбрать все %(module_name)s (%(total_count)s)" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Снять выделение" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:27 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Добро пожаловать," -#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Документация" -#: contrib/admin/templates/admin/base.html:40 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Изменить пароль" -#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Выйти" @@ -588,64 +655,56 @@ msgstr "Административный сайт Django" msgid "Django administration" msgstr "Администрирование Django" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Добавить" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "История" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Смотреть на сайте" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Пожалуйста, исправьте ошибку ниже." msgstr[1] "Пожалуйста, исправьте ошибки ниже." msgstr[2] "Пожалуйста, исправьте ошибки ниже." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Добавить %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Фильтр" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 +#: forms/formsets.py:302 msgid "Delete" msgstr "Удалить" #: contrib/admin/templates/admin/delete_confirmation.html:16 #, 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' приведет к удалению связанных " -"объектов, но ваша учетная запись не имеет прав для удаления следующих типов " -"объектов:" +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:23 #, 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\"? Все " -"следующие связанные объекты также будут удалены:" +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:28 #: contrib/admin/templates/admin/delete_selected_confirmation.html:33 @@ -658,22 +717,13 @@ msgstr "Удалить несколько объектов" #: contrib/admin/templates/admin/delete_selected_confirmation.html:15 #, python-format -msgid "" -"Deleting the %(object_name)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 приведет к удалению связанных объектов, но ваша " -"учетная запись не имеет прав для удаления следующих типов объектов:" +msgid "Deleting the %(object_name)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 приведет к удалению связанных объектов, но ваша учетная запись не имеет прав для удаления следующих типов объектов:" #: contrib/admin/templates/admin/delete_selected_confirmation.html:22 #, python-format -msgid "" -"Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" -msgstr "" -"Вы уверены, что хотите удалить выбранные %(object_name)s? Все следующие " -"объекты (и все связанные с ними) также будут удалены:" +msgid "Are you sure you want to delete the selected %(object_name)s objects? All of the following objects and their related items will be deleted:" +msgstr "Вы уверены, что хотите удалить выбранные объекты типа \"%(object_name)s\"? Все следующие объекты (и все связанные с ними) также будут удалены:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -710,14 +760,8 @@ msgid "Unknown content" msgstr "Неизвестный тип" #: 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 "" -"Ваша база данных неправильно настроена. Убедитесь, что соответствующие " -"таблицы были созданы, и что соответствующему пользователю разрешен к ним " -"доступ." +msgid "Something's wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user." +msgstr "Ваша база данных неправильно настроена. Убедитесь, что соответствующие таблицы были созданы, и что соответствующему пользователю разрешен к ним доступ." #: contrib/admin/templates/admin/login.html:19 msgid "Username:" @@ -736,22 +780,12 @@ msgid "User" msgstr "Пользователь" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Действие" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "d.m.Y H:i" - #: contrib/admin/templates/admin/object_history.html:38 -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/pagination.html:10 msgid "Show all" @@ -770,7 +804,7 @@ msgstr "Найти" #, python-format msgid "1 result" msgid_plural "%(counter)s results" -msgstr[0] "1 результат" +msgstr[0] "%(counter)s результат" msgstr[1] "%(counter)s результата" msgstr[2] "%(counter)s результатов" @@ -791,41 +825,45 @@ msgstr "Сохранить и добавить другой объект" msgid "Save and continue editing" 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:5 +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:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Имя пользователя" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Пароль" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Пароль (еще раз)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Введите тот же пароль, что и выше, для подтверждения." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: 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:35 +#: contrib/auth/forms.py:17 +#: contrib/auth/forms.py:61 +#: contrib/auth/forms.py:186 +msgid "Password" +msgstr "Пароль" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Пароль (еще раз)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Введите тот же пароль, что и выше, для подтверждения." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Добавить еще один %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Удалить" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Удалить?" @@ -839,44 +877,36 @@ msgid "Log in again" 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 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 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 "Пароль успешно изменён" +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 " -"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 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Новый пароль:" +msgstr "Ваш пароль был изменен." #: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -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:23 +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Старый пароль" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Новый пароль" + +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Изменить мой пароль" @@ -897,7 +927,7 @@ msgstr "Восстановление пароля завершено" #: contrib/admin/templates/registration/password_reset_complete.html:12 msgid "Your password has been set. You may go ahead and log in now." -msgstr "Ваш пароль был сохранён. Теперь вы можете войти." +msgstr "Ваш пароль был сохранен. Теперь вы можете войти." #: contrib/admin/templates/registration/password_reset_confirm.html:4 msgid "Password reset confirmation" @@ -908,24 +938,24 @@ msgid "Enter new password" msgstr "Введите новый пароль:" #: contrib/admin/templates/registration/password_reset_confirm.html:14 -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Пожалуйста, введите новый пароль дважды, чтобы мы могли убедиться в " -"правильности написания." +msgid "Please enter your new password twice so we can verify you typed it in correctly." +msgstr "Пожалуйста, введите новый пароль дважды, чтобы мы могли убедиться в правильности написания." + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Новый пароль:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Подтвердите пароль:" #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Ошибка восстановления пароля" #: contrib/admin/templates/registration/password_reset_confirm.html:28 -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Неверная ссылка для восстановления пароля. Возможно, ей уже воспользовались. " -"Пожалуйста, попробуйте восстановить пароль еще раз." +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "Неверная ссылка для восстановления пароля. Возможно, ей уже воспользовались. Пожалуйста, попробуйте восстановить пароль еще раз." #: contrib/admin/templates/registration/password_reset_done.html:6 #: contrib/admin/templates/registration/password_reset_done.html:10 @@ -933,17 +963,12 @@ msgid "Password reset successful" msgstr "Пароль успешно восстановлен" #: contrib/admin/templates/registration/password_reset_done.html:12 -msgid "" -"We've e-mailed you instructions for setting your password to the e-mail " -"address you submitted. You should be receiving it shortly." -msgstr "" -"Мы отправили инструкцию по восстановлению пароля на адрес электронной почты, " -"который вы указали. Вы должны ее вскоре получить." +msgid "We've e-mailed you instructions for setting your 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 "" -"Вы получили это письмо, потому что было запрошено восстановление пароля" +msgstr "Вы получили это письмо, потому что было запрошено восстановление пароля" #: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format @@ -968,12 +993,8 @@ msgid "The %(site_name)s team" msgstr "Команда сайта %(site_name)s" #: contrib/admin/templates/registration/password_reset_form.html:12 -msgid "" -"Forgotten your password? Enter your e-mail address below, and we'll e-mail " -"instructions for setting a new one." -msgstr "" -"Забыли пароль? Введите свой адрес электронной почты ниже, и мы вышлем вам " -"инструкцию, как установить новый пароль." +msgid "Forgotten your password? Enter your e-mail address below, and we'll e-mail instructions for setting a new one." +msgstr "Забыли пароль? Введите свой адрес электронной почты ниже, и мы вышлем вам инструкцию, как установить новый пароль." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -983,39 +1004,43 @@ msgstr "Адрес электронной почты:" msgid "Reset my password" msgstr "Восстановить мой пароль" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Все даты" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "Выберите %s" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "Выберите %s для изменения" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 +#: contrib/sites/models.py:38 msgid "site" msgstr "сайт" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "шаблон" -#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:61 +#: contrib/admindocs/views.py:63 #: contrib/admindocs/views.py:65 msgid "tag:" msgstr "метка:" -#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:94 +#: contrib/admindocs/views.py:96 #: contrib/admindocs/views.py:98 msgid "filter:" msgstr "фильтр:" -#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:158 +#: contrib/admindocs/views.py:160 #: contrib/admindocs/views.py:162 msgid "view:" msgstr "view:" @@ -1035,23 +1060,29 @@ msgstr "Модель %(model_name)r не найдена в приложении msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "зависимый `%(app_label)s.%(data_type)s` объект" -#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 -#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 -#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 +#: contrib/admindocs/views.py:209 +#: contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 +#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 +#: contrib/admindocs/views.py:266 msgid "model:" msgstr "модель:" -#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 +#: contrib/admindocs/views.py:224 +#: contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "зависимые `%(app_label)s.%(object_name)s` объекты" -#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 +#: contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "все %s" -#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 +#: contrib/admindocs/views.py:233 +#: contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "количество %s" @@ -1061,89 +1092,7 @@ msgstr "количество %s" msgid "Fields on %s objects" msgstr "Поля для %s объектов" -#: contrib/admindocs/views.py:334 contrib/admindocs/views.py:345 -#: contrib/admindocs/views.py:347 contrib/admindocs/views.py:353 -#: contrib/admindocs/views.py:354 contrib/admindocs/views.py:356 -msgid "Integer" -msgstr "Целое" - -#: contrib/admindocs/views.py:335 -msgid "Boolean (Either True or False)" -msgstr "Логическое (True или False)" - -#: contrib/admindocs/views.py:336 contrib/admindocs/views.py:355 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Строка (до %(max_length)s)" - -#: contrib/admindocs/views.py:337 -msgid "Comma-separated integers" -msgstr "Целые, разделенные запятыми" - -#: contrib/admindocs/views.py:338 -msgid "Date (without time)" -msgstr "Дата (без указания времени)" - -#: contrib/admindocs/views.py:339 -msgid "Date (with time)" -msgstr "Дата (с указанием времени)" - -#: contrib/admindocs/views.py:340 -msgid "Decimal number" -msgstr "Десятичное число" - -#: contrib/admindocs/views.py:341 -msgid "E-mail address" -msgstr "Адрес электронной почты" - -#: contrib/admindocs/views.py:342 contrib/admindocs/views.py:343 -#: contrib/admindocs/views.py:346 -msgid "File path" -msgstr "Путь к файлу" - -#: contrib/admindocs/views.py:344 -msgid "Floating point number" -msgstr "Число с плавающей запятой" - -#: contrib/admindocs/views.py:348 contrib/comments/models.py:60 -msgid "IP address" -msgstr "IP-адрес" - -#: contrib/admindocs/views.py:350 -msgid "Boolean (Either True, False or None)" -msgstr "Логическое (True, False или None)" - -#: contrib/admindocs/views.py:351 -msgid "Relation to parent model" -msgstr "Связь с родительской моделью" - -#: contrib/admindocs/views.py:352 -msgid "Phone number" -msgstr "Номер телефона" - -#: contrib/admindocs/views.py:357 -msgid "Text" -msgstr "Текст" - -#: contrib/admindocs/views.py:358 -msgid "Time" -msgstr "Время" - -#: contrib/admindocs/views.py:359 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:360 -msgid "U.S. state (two uppercase letters)" -msgstr "Штат США (две заглавные буквы)" - #: contrib/admindocs/views.py:361 -msgid "XML text" -msgstr "XML текст" - -#: contrib/admindocs/views.py:387 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s не похож на объект urlpattern" @@ -1180,24 +1129,16 @@ msgid "Documentation for this page" msgstr "Документация для данной страницы" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 -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/admindocs/templates/admin_doc/bookmarklets.html:21 msgid "Show object ID" msgstr "Показать идентификатор объекта" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "" -"Показывает content-type и уникальный ID для страниц, представляющих один " -"объект." +msgid "Shows the content-type and unique ID for pages that represent a single object." +msgstr "Показывает content-type и уникальный ID для страниц, представляющих один объект." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 msgid "Edit this object (current window)" @@ -1205,9 +1146,7 @@ msgstr "Редактировать данный объект (в текущем #: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "" -"Перейдет на административную страницу для страниц, представляющих один " -"объект." +msgstr "Перейдет на административную страницу для страниц, представляющих один объект." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 msgid "Edit this object (new window)" @@ -1217,248 +1156,269 @@ msgstr "Редактировать данный объект (в новом ок msgid "As above, but opens the admin page in a new window." msgstr "То же, что и выше, но откроет административную страницу в новом окне." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Персональная информация" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Права" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Важные даты" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Группы" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Добавить пользователя" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." -msgstr "Пароль успешно изменён." +msgstr "Пароль успешно изменен." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Изменение пароля: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Обязательное поле. 30 символов или менее. Используйте только буквы, цифры и " -"знак подчеркивания." +#: contrib/auth/forms.py:14 +#: contrib/auth/forms.py:48 +#: contrib/auth/forms.py:60 +msgid "Username" +msgstr "Имя пользователя" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Значение должно состоять только из букв, цифр и знаков подчеркивания." +#: contrib/auth/forms.py:15 +#: contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Обязательное поле. Введите 30 символов или менее. Используйте только буквы, цифры и знаки из набора @/./+/-/_." + +#: contrib/auth/forms.py:16 +#: contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Значение должно состоять только из букв, цифр и знаков @/./+/-/_." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Подтверждение пароля" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Пользователь с таким именем уже существует." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 +#: contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Два поля с паролями не совпадают." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Эта учетная запись отключена." -#: contrib/auth/forms.py:87 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." +#: contrib/auth/forms.py:88 +msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." msgstr "У вашего браузера не включены cookies. Cookies необходимы для входа." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "Адрес электронной почты" -#: contrib/auth/forms.py:109 -msgid "" -"That e-mail address doesn't have an associated user account. Are you sure " -"you've registered?" -msgstr "" -"Этот адрес электронной почты не связан ни с одной учетной записью. Вы " -"уверены, что зарегистрированы?" +#: contrib/auth/forms.py:110 +msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" +msgstr "Этот адрес электронной почты не связан ни с одной учетной записью. Вы уверены, что зарегистрированы?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Восстановление пароля на %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Новый пароль" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Подтверждение нового пароля" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Старый пароль" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Ваш старый пароль введен неправильно. Пожалуйста, введите его снова." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 +#: contrib/auth/models.py:94 msgid "name" msgstr "имя" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "кодовое название" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "право" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 +#: contrib/auth/models.py:95 msgid "permissions" msgstr "права" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "группа" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 +#: contrib/auth/models.py:206 msgid "groups" msgstr "группы" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "имя пользователя" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "Обязательное поле. Введите 30 символов или менее. Используйте только буквы, цифры и знаки из набора @/./+/-/_" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "имя" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "фамилия" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "адрес электронной почты" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "пароль" -#: contrib/auth/models.py:132 -msgid "" -"Use '[algo]$[salt]$[hexdigest]' or use the change " -"password form." -msgstr "" -"Используйте '[algo]$[salt]$[hexdigest]' или форму для " -"изменения пароля." +#: contrib/auth/models.py:200 +msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." +msgstr "Используйте '[algo]$[salt]$[hexdigest]' или форму для изменения пароля." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "статус персонала" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." -msgstr "" -"Отметьте, если пользователь может входить в административную часть сайта." +msgstr "Отметьте, если пользователь может входить в административную часть сайта." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "активный" -#: contrib/auth/models.py:134 -msgid "" -"Designates whether this user should be treated as active. Unselect this " -"instead of deleting accounts." -msgstr "" -"Отметьте, если пользователь должен считаться активным. Уберите эту отметку " -"вместо удаления аккаунта." +#: contrib/auth/models.py:202 +msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts." +msgstr "Отметьте, если пользователь должен считаться активным. Уберите эту отметку вместо удаления аккаунта." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "статус суперпользователя" -#: contrib/auth/models.py:135 -msgid "" -"Designates that this user has all permissions without explicitly assigning " -"them." +#: contrib/auth/models.py:203 +msgid "Designates that this user has all permissions without explicitly assigning them." msgstr "Указывает, что пользователь имеет все права без явного их назначения." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "последний вход" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "дата регистрации" -#: contrib/auth/models.py:139 -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:207 +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:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "права пользователя" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 +#: contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "пользователь" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "пользователи" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "сообщение" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Не авторизован" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 +#: forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Введите правильный адрес электронной почты." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Содержание" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Метаданные" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "отмечен" +msgstr[1] "отмечены" +msgstr[2] "отмечены" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Отметить выбранные комментарии" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "подтвержден" +msgstr[1] "подтверждены" +msgstr[2] "подтверждены" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Подтвердить выбранные комментарии" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "удален" +msgstr[1] "удалены" +msgstr[2] "удалены" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Удалить выбранные комментарии" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "%(count)s комментарий был успешно %(action)s" +msgstr[1] "%(count)s комментария были успешно %(action)s" +msgstr[2] "%(count)s комментариев были успешно %(action)s" + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" -msgstr "Комменарии %(site_name)s" +msgstr "Комментарии %(site_name)s" #: contrib/comments/feeds.py:23 #, python-format msgid "Latest comments on %(site_name)s" -msgstr "Последнии комментарии на %(site_name)s" +msgstr "Последние комментарии на %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Имя" @@ -1466,12 +1426,18 @@ msgstr "Имя" msgid "Email address" msgstr "Адрес электронной почты" +#: contrib/comments/forms.py:95 +#: contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 +#: db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Комментарий" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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." @@ -1479,13 +1445,12 @@ msgstr[0] "Следите за своими словами! Слово %s зде msgstr[1] "Следите за своими словами! Слова %s здесь запрещены." msgstr[2] "Следите за своими словами! Слова %s здесь запрещены." -#: contrib/comments/forms.py:180 -msgid "" -"If you enter anything in this field your comment will be treated as spam" -msgstr "" -"Если что-нибудь введете в это поле, то ваш комментарий будет признан спамом" +#: contrib/comments/forms.py:182 +msgid "If you enter anything in this field your comment will be treated as spam" +msgstr "Если что-нибудь введете в это поле, то ваш комментарий будет признан спамом" -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 +#: contrib/contenttypes/models.py:81 msgid "content type" msgstr "тип содержимого" @@ -1505,7 +1470,8 @@ msgstr "адрес электронной почты пользователя" msgid "user's URL" msgstr "URL пользователя" -#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:56 +#: contrib/comments/models.py:76 #: contrib/comments/models.py:169 msgid "comment" msgstr "комментарий" @@ -1514,46 +1480,38 @@ msgstr "комментарий" msgid "date/time submitted" msgstr "дата и время добавления" +#: contrib/comments/models.py:60 +#: db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP-адрес" + #: contrib/comments/models.py:61 msgid "is public" msgstr "публичный" #: contrib/comments/models.py:62 -msgid "" -"Uncheck this box to make the comment effectively disappear from the site." +msgid "Uncheck this box to make the comment effectively disappear from the site." msgstr "Снимите выделение, чтобы убрать комментарий с сайта." #: contrib/comments/models.py:64 msgid "is removed" -msgstr "удалён" +msgstr "удален" #: contrib/comments/models.py:65 -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:77 msgid "comments" msgstr "Комментарии" #: contrib/comments/models.py:119 -msgid "" -"This comment was posted by an authenticated user and thus the name is read-" -"only." -msgstr "" -"Комментарий был добавлен зарегистрированным пользователем, поэтому имя " -"пользователя доступно только для чтения." +msgid "This comment was posted by an authenticated user and thus the name is read-only." +msgstr "Комментарий был добавлен зарегистрированным пользователем, поэтому имя пользователя доступно только для чтения." #: contrib/comments/models.py:128 -msgid "" -"This comment was posted by an authenticated user and thus the email is read-" -"only." -msgstr "" -"Комментарий был добавлен зарегистрированным пользователем, поэтому адрес " -"электронной почты доступен только для чтения." +msgid "This comment was posted by an authenticated user and thus the email is read-only." +msgstr "Комментарий был добавлен зарегистрированным пользователем, поэтому адрес электронной почты доступен только для чтения." #: contrib/comments/models.py:153 #, python-format @@ -1595,7 +1553,6 @@ msgid "Really make this comment public?" msgstr "Вы уверены, что хотите опубликовать этот комментарий?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Подтвердить" @@ -1606,8 +1563,7 @@ msgstr "Спасибо за подтверждение" #: contrib/comments/templates/comments/approved.html:7 #: contrib/comments/templates/comments/deleted.html:7 #: contrib/comments/templates/comments/flagged.html:7 -msgid "" -"Thanks for taking the time to improve the quality of discussion on our site" +msgid "Thanks for taking the time to improve the quality of discussion on our site" msgstr "Спасибо, что заботитесь о качестве общения на нашем сайте" #: contrib/comments/templates/comments/delete.html:4 @@ -1618,11 +1574,6 @@ msgstr "Удалить комментарий" msgid "Really remove this comment?" msgstr "Вы уверены, что хотите удалить этот комментарий?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Удалить" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Спасибо за удаление" @@ -1653,39 +1604,6 @@ msgstr "Опубликовать" msgid "Preview" msgstr "Предпросмотр" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Очередь модерации комментариев" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Нет комментариев для модерации" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Адрес электронной почты" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Зарегистрирован?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "IP-адрес" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Дата публикации" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "да" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "нет" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Спасибо за комментарий" @@ -1714,28 +1632,21 @@ msgstr "Опубликуйте ваш комментарий" msgid "or make changes" msgstr "или внесите изменения" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "имя класса модели" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "типы содержимого" #: contrib/flatpages/admin.py:9 -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/admin.py:11 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "" -"Значение должно состоять только из букв, цифр, знаков подчеркивания, дефиса " -"или наклонной черты вправо." +msgid "This value must contain only letters, numbers, underscores, dashes or slashes." +msgstr "Значение должно состоять только из букв, цифр, знаков подчеркивания, дефиса или наклонной черты вправо." #: contrib/flatpages/admin.py:22 msgid "Advanced options" @@ -1758,12 +1669,8 @@ msgid "template name" msgstr "имя шаблона" #: contrib/flatpages/models.py:12 -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'." +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:13 msgid "registration required" @@ -1781,13 +1688,41 @@ msgstr "простая страница" msgid "flat pages" msgstr "простые страницы" -#: contrib/formtools/wizard.py:130 -msgid "" -"We apologize, but your form has expired. Please continue filling out the " -"form from this page." -msgstr "" -"Мы сожалеем, но ваша форма устарела. Пожалуйста, продолжите заполнять форму " -"на этой странице." +#: contrib/formtools/wizard.py:140 +msgid "We apologize, but your form has expired. Please continue filling out the form from this page." +msgstr "Мы сожалеем, но ваша форма устарела. Пожалуйста, продолжите заполнять форму на этой странице." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "Базовое ГИС-поле. Его потомки отражают конкретные геометрические типы по спецификации OpenGIS." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Точка" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Ломаная" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Многоугольник" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Набор точек" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Набор ломаных" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Набор многоугольников" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Набор геометрических объектов" #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." @@ -1802,9 +1737,7 @@ msgid "Invalid geometry type." msgstr "Неверный тип геометрии." #: contrib/gis/forms/fields.py:20 -msgid "" -"An error occurred when transforming the geometry to the SRID of the geometry " -"form field." +msgid "An error occurred when transforming the geometry to the SRID of the geometry form field." msgstr "Произошла ошибка во время преобразования геометрии в SRID." #: contrib/humanize/templatetags/humanize.py:19 @@ -1895,25 +1828,27 @@ msgstr "завтра" msgid "yesterday" msgstr "вчера" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Введите почтовый индекс в формате NNNN или ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 +#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Это поле принимает только числа." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Это поле требует 7 или 8 цифр." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Введите правильный CUIT в формате XX-XXXXXXXX-X или XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Неверный CUIT." @@ -1953,62 +1888,55 @@ msgstr "Ворарлберг" msgid "Vienna" msgstr "Вена" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 +#: contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Введите правильный индекс в формате XXXX." #: contrib/localflavor/at/forms.py:48 msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." -msgstr "" -"Введите правильный номер социального страхования Австрии в формате XXXX " -"XXXXXX." +msgstr "Введите правильный номер социального страхования Австрии в формате XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Введите почтовый индекс из 4 цифр." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Введите почтовый индекс в формате XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Телефонные номера должны быть в формате XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 -msgid "" -"Select a valid brazilian state. That state is not one of the available " -"states." -msgstr "" -"Выберите корректный бразильский штат. Указанного варианта нет среди " -"допустимых значений." +#: contrib/localflavor/br/forms.py:54 +msgid "Select a valid brazilian state. That state is not one of the available states." +msgstr "Выберите корректный бразильский штат. Указанного варианта нет среди допустимых значений." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Неправильный CPF номер." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "Это поле требует 11 цифр или 14 символов." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "Неправильный CNPJ номер." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "Это поле требует как минимум 14 цифр" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Введите почтовый индекс в формате XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." -msgstr "" -"Введите правильный номер социального страхования Канады в формате XXX-XXX-" -"XXX." +msgstr "Введите правильный номер социального страхования Канады в формате XXX-XXX-XXX." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -2114,23 +2042,19 @@ msgstr "Цуг" msgid "Zurich" msgstr "Цюрих" -#: contrib/localflavor/ch/forms.py:64 -msgid "" -"Enter a valid Swiss identity or passport card number in X1234567<0 or " -"1234567890 format." -msgstr "" -"Введите правильный номер швейцарского паспорта личности или номер карты в " -"формате X1234567<0 или 1234567890." +#: contrib/localflavor/ch/forms.py:65 +msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." +msgstr "Введите правильный номер швейцарского паспорта личности или номер карты в формате X1234567<0 или 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Введите правильный RUT Чили." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Введите правильный RUT Чили. Формат: XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Чилийский RUT недействителен." @@ -2190,24 +2114,24 @@ msgstr "Злинский край" msgid "Moravian-Silesian Region" msgstr "Моравскосилезский край" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 +#: contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Введите почтовый индекс в формате XXXXX или XXX-XX." -#: contrib/localflavor/cz/forms.py:47 -msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." -msgstr "" -"Введите номер свидетельства о рождении в формате XXXXXX/XXXX или XXXXXXXXXX." - #: contrib/localflavor/cz/forms.py:48 -msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" -msgstr "Неверный аргумент 'gender', допустимые значения: 'f' и 'm'" +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "Введите номер свидетельства о рождении в формате XXXXXX/XXXX или XXXXXXXXXX." #: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "Неверный аргумент для пола, допустимые значения: 'f' и 'm'" + +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Введите правильный номер свидетельства о рождении." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Введите правильный IC номер." @@ -2275,18 +2199,15 @@ msgstr "Шлезвиг-Гольштейн" msgid "Thuringia" msgstr "Тюрингия" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 +#: contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Введите почтовый индекс в формате XXXXX." -#: contrib/localflavor/de/forms.py:41 -msgid "" -"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " -"format." -msgstr "" -"Введите правильный номер паспорта личности в формате XXXXXXXXXXX-XXXXXXX-" -"XXXXXXX-X." +#: contrib/localflavor/de/forms.py:42 +msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." +msgstr "Введите правильный номер паспорта личности в формате XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." #: contrib/localflavor/es/es_provinces.py:5 msgid "Arava" @@ -2555,76 +2476,500 @@ msgstr "Наварра" msgid "Valencian Community" msgstr "Валенсия" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Введите почтовый индекс в диапазоне и формате 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 -msgid "" -"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " -"9XXXXXXXX." -msgstr "" -"Введите правильный телефонный номер в одном из форматов 6XXXXXXXX, 8XXXXXXXX " -"или 9XXXXXXXX." +#: contrib/localflavor/es/forms.py:40 +msgid "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX." +msgstr "Введите правильный телефонный номер в одном из форматов 6XXXXXXXX, 8XXXXXXXX или 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Пожалуйста, введите правильный NIF, NIE или CIF." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Пожалуйста, введите правильный NIF или NIE." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Неверная проверочная сумма для NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Неверная проверочная сумма для NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Неверная проверочная сумма для CIF." -#: contrib/localflavor/es/forms.py:142 -msgid "" -"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." -msgstr "" -"Пожалуйста, введите правильный банковский номер в формате XXXX-XXXX-XX-" -"XXXXXXXXXX." - #: contrib/localflavor/es/forms.py:143 +msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Пожалуйста, введите правильный банковский номер в формате XXXX-XXXX-XX-XXXXXXXXXX." + +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Неверная проверочная сумма для банковского номера." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Введите правильный номер социального страхования Финляндии." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Телефонные номера должны быть в формате 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Введите правильный почтовый индекс" + +#: contrib/localflavor/id/forms.py:68 +#: contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Введите правильный телефонный номер" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Введите правильный регистрационный номер автомобиля" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Введите правильный NIK/KTP номер" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Бали" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Бантен" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Бенгкулу" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Джокьякарта" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Джакарта" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Горонтало" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Джамби" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Западная Ява" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Центральная Ява" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Восточная Ява" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Западный Калимантан" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Южный Калимантан" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Центральный Калимантан" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Восточный Калимантан" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Острова Бангка-Белитунг" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Острова Риау" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Лампунг" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Молукку" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Северное Молукку" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Ачех" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Западные Малые Зондские острова" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Восточные Малые Зондские острова" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Папуа" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Западное Папуа" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Риау" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Западное Сулавеси" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Южное Сулавеси" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Центральное Сулавеси" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Юго-Восточное Сулавеси" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Северное Сулавеси" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Западная Суматра" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Южная Суматра" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Северная Суматра" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Магеланг" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Суракарта - Соло" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Мадиун" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Кедири" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Тапанули" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Бангка-Белитунг" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Консульский корпус" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Дипломатический корпус" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Бандунг" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Северное Сулавеси" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Тимор" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Северное Сулавеси" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Ломбок" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Папуа и Западное Папуа" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Чиребон" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Сумбава" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Флорес" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Сумба" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Богор" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Пекалонган" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Семаранг" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Пати" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Сурабая" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Мадура" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Маланг" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Джембер" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Банджумас" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Федеральное правительство" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Боджонегоро" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Пурвакарта" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Сидоарджо" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Гарут" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Антрим" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Арма" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Карлоу" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Каван" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Клэр" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Корк" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Дерри" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Донегол" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Даун" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Дублин" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Фермана" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Голуэй" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Керри" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Килдэр" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Килкенни" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Лиишь" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Литрим" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Лимерик" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Лонгфорд" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Лаут" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Мейо" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Мит" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Монахан" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Оффали" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Роскоммон" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Слайго" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Типперэри" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Тирон" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Уотерфорд" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Уэстмит" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Уэксфорд" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Уиклоу" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Введите почтовый индекс в формате XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 -msgid "" -"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." -msgstr "" -"Введите правильный исландский идентификационный номер. Формат: XXXXXX-XXXX." - #: contrib/localflavor/is_/forms.py:18 +msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Введите правильный исландский идентификационный номер. Формат: XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Неправильный исландский идентификационный номер." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Введите правильный почтовый индекс." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Введите правильный номер социального страхования." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Введите правильный VAT номер." @@ -2820,6 +3165,10 @@ msgstr "Кагосима" msgid "Okinawa" msgstr "Окинава" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Введите правильный номер кувейтского удостоверения личности" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Агуаскальентес" @@ -2948,15 +3297,11 @@ msgstr "Юкатан" msgid "Zacatecas" msgstr "Сакатекас" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Введите правильный почтовый индекс" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Введите правильный телефонный номер" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Введите правильный SoFi номер" @@ -3008,15 +3353,15 @@ msgstr "Зеландия" msgid "Zuid-Holland" msgstr "Южная Голландия" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Введите правильный номер социального страхования Норвегии." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Это поле требует 8 цифр." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Это поле требует 11 цифр." @@ -3029,10 +3374,8 @@ msgid "Wrong checksum for the National Identification Number." msgstr "Неверная проверочная сумма для NIF." #: contrib/localflavor/pl/forms.py:71 -msgid "" -"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." -msgstr "" -"Введите налоговый номер (NIP) в формате XXX-XXX-XX-XX или XX-XX-XXX-XXX." +msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "Введите налоговый номер (NIP) в формате XXX-XXX-XX-XX или XX-XX-XXX-XXX." #: contrib/localflavor/pl/forms.py:72 msgid "Wrong checksum for the Tax Number (NIP)." @@ -3040,14 +3383,11 @@ msgstr "Неверная проверочная сумма для NIP." #: contrib/localflavor/pl/forms.py:109 msgid "National Business Register Number (REGON) consists of 9 or 14 digits." -msgstr "" -"Национальный деловой регистрационный номер (REGON) состоит из 9 или 14 цифр." +msgstr "Национальный деловой регистрационный номер (REGON) состоит из 9 или 14 цифр." #: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." -msgstr "" -"Неверная проверочная сумма для национального делового регистрационного " -"номера (REGON)." +msgstr "Неверная проверочная сумма для национального делового регистрационного номера (REGON)." #: contrib/localflavor/pl/forms.py:148 msgid "Enter a postal code in the format XX-XXX." @@ -3117,6 +3457,14 @@ msgstr "Великопольское" msgid "West Pomerania" msgstr "Западнопоморское" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Введите почтовый индекс в формате XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Телефонные номера должны состоять из 9 цифр или начинаться с + или 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Введите правильный CIF." @@ -3137,6 +3485,106 @@ msgstr "Телефонные номера должны быть в формат msgid "Enter a valid postal code in the format XXXXXX" msgstr "Введите почтовый индекс в формате XXXXXX." +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Введите правильный шведский идентификационный номер организации." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Введите правильный шведский персональный идентификационный номер." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Координационные номера запрещены" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Введите шведский почтовый индекс в формате XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Стокгольм" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Вестерботтен" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Норрботтен" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Уппсала" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Сёдерманланд" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Эстергётланд" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Йёнчёпинг" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Крунуберг" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Кальмар" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Готланд" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Блекинге" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Сконе" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Халланд" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Вестра-Гёталанд" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Вермланд" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Эребру" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Вестманланд" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Даларна" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Евлеборг" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Вестерноррланд" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Емтланд" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Банска Бистрица" @@ -3769,20 +4217,43 @@ msgstr "Шотландия" msgid "Wales" msgstr "Уэльс" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Введите почтовый индекс в формате XXXXX или XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 -msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." -msgstr "" -"Введите правильный номер социального страхования США в формате XXX-XX-XXXX." +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Телефонные номера должны быть в формате XXX-XXX-XXXX." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:55 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Введите правильный номер социального страхования США в формате XXX-XX-XXXX." + +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Введите штат или территорию США" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Штат США (две заглавные буквы)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Номер телефона" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Введите правильный CI-номер в формате X.XXX.XXX-X,XXXXXXX-X или XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Введите правильный CI-номер." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Введите правильный идентификационный номер Южной Африки." -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Введите правильный почтовый индекс Южной Африки" @@ -3822,29 +4293,25 @@ msgstr "Северо-запад" msgid "Western Cape" msgstr "Западная Капская провинция" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +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/'." +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://'." +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" @@ -3886,261 +4353,351 @@ msgstr "выводимое имя" msgid "sites" msgstr "сайты" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Это значение должно быть целым числом." - -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Значение должно быть либо True, либо False." - -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Это поле не может быть нулевым." - -#: db/models/fields/__init__.py:443 -msgid "Enter only digits separated by commas." -msgstr "Введите цифры, разделенные запятыми." - -#: db/models/fields/__init__.py:474 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Введите правильную дату в формате YYYY-MM-DD." - -#: db/models/fields/__init__.py:483 -#, python-format -msgid "Invalid date: %s" -msgstr "Неправильная дата: %s" - -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." -msgstr "" -"Введите правильные дату и время в формате YYYY-MM-DD HH:MM[:ss[.uuuuuu]." - -#: db/models/fields/__init__.py:601 -msgid "This value must be a decimal number." -msgstr "Это значение должно быть целым числом." - -#: db/models/fields/__init__.py:686 -msgid "This value must be a float." -msgstr "Это значение должно быть числом с плавающей запятой." - -#: db/models/fields/__init__.py:746 -msgid "This value must be either None, True or False." -msgstr "Значение должно быть None, True или False." - -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 -msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." -msgstr "Введите правильное время в формате HH:MM[:ss[.uuuuuu]]." - -#: db/models/fields/related.py:816 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Удерживайте \"Control\" (или \"Command\" на Mac) для выбора нескольких " -"значений." - -#: db/models/fields/related.py:894 -#, 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 неверны." -msgstr[2] "" -"Пожалуйста, введите корректные идентификаторы для %(self)s. Значения %(value)" -"r неверны." - -#: forms/fields.py:54 -msgid "This field is required." -msgstr "Обязательное поле." - -#: forms/fields.py:55 +#: core/validators.py:20 +#: forms/fields.py:66 msgid "Enter a valid value." msgstr "Введите правильное значение." -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Убедитесь, что это значение содержит не более %(max)d символов (сейчас %" -"(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Убедитесь, что это значение содержит не менее %(min)d символов (сейчас %" -"(length)d)." - -#: forms/fields.py:166 -msgid "Enter a whole number." -msgstr "Введите целое число." - -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Убедитесь, что это значение меньше либо равно %s." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Убедитесь, что это значение больше либо равно %s" - -#: forms/fields.py:195 forms/fields.py:224 -msgid "Enter a number." -msgstr "Введите число." - -#: forms/fields.py:227 -#, python-format -msgid "Ensure that there are no more than %s digits in total." -msgstr "Убедитесь, что ввели не больше %s цифр." - -#: forms/fields.py:228 -#, python-format -msgid "Ensure that there are no more than %s decimal places." -msgstr "Убедитесь, что ввели не больше %s цифр после запятой." - -#: forms/fields.py:229 -#, python-format -msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "Убедитесь, что ввели не больше %s цифр до запятой." - -#: forms/fields.py:288 forms/fields.py:863 -msgid "Enter a valid date." -msgstr "Введите правильную дату." - -#: forms/fields.py:322 forms/fields.py:864 -msgid "Enter a valid time." -msgstr "Введите правильное время." - -#: forms/fields.py:361 -msgid "Enter a valid date/time." -msgstr "Введите правильную дату и время." - -#: forms/fields.py:447 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Ни одного файла не было отправлено. Проверьте тип кодировки формы." - -#: forms/fields.py:448 -msgid "No file was submitted." -msgstr "Ни одного файла не было отправлено." - -#: forms/fields.py:449 -msgid "The submitted file is empty." -msgstr "Отправленный файл пуст." - -#: forms/fields.py:450 -#, python-format -msgid "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Убедитесь, что это имя файла содержит не более %(max)d символов (сейчас %" -"(length)d)." - -#: forms/fields.py:483 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Загрузите правильное изображение. Файл, который вы загрузили, поврежден или " -"не является изображением." - -#: forms/fields.py:544 +#: core/validators.py:87 +#: forms/fields.py:529 msgid "Enter a valid URL." msgstr "Введите правильный URL." -#: forms/fields.py:545 +#: core/validators.py:89 +#: forms/fields.py:530 msgid "This URL appears to be a broken link." -msgstr "Похоже, что это нерабочая ссылка." +msgstr "Эта ссылка не работает." -#: forms/fields.py:625 forms/fields.py:703 -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Выберите корректный вариант. %(value)s нет среди допустимых значений." +#: core/validators.py:123 +#: forms/fields.py:873 +msgid "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "Значение должно состоять только из букв, цифр, знаков подчеркивания или дефиса." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:1003 -msgid "Enter a list of values." -msgstr "Введите список значений." - -#: forms/fields.py:892 +#: core/validators.py:126 +#: forms/fields.py:866 msgid "Enter a valid IPv4 address." msgstr "Введите правильный IPv4 адрес." -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Значение должно состоять только из букв, цифр, знаков подчеркивания или " -"дефиса." +#: core/validators.py:129 +#: db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "Введите цифры, разделенные запятыми." -#: forms/formsets.py:271 forms/formsets.py:273 -msgid "Order" -msgstr "Порядок" +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Убедитесь, что это значение — %(limit_value)s (сейчас оно — %(show_value)s)." -#: forms/models.py:367 +#: core/validators.py:153 +#: forms/fields.py:205 +#: forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Убедитесь, что это значение меньше либо равно %(limit_value)s." + +#: core/validators.py:158 +#: forms/fields.py:206 +#: forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Убедитесь, что это значение больше либо равно %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "Ensure this value has at least %(limit_value)d characters (it has %(show_value)d)." +msgstr "Убедитесь, что это значение содержит не менее %(limit_value)d символов (сейчас %(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "Ensure this value has at most %(limit_value)d characters (it has %(show_value)d)." +msgstr "Убедитесь, что это значение содержит не более %(limit_value)d символов (сейчас %(show_value)d)." + +#: db/models/base.py:822 #, python-format msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "" -"Значение в поле %(field_name)s должно быть уникальным для %(lookup)s в поле %" -"(date_field)s." +msgstr "Значение в поле %(field_name)s должно быть уникальным для %(lookup)s в поле %(date_field)s." -#: forms/models.py:381 forms/models.py:389 +#: db/models/base.py:837 +#: db/models/base.py:845 #, python-format msgid "%(model_name)s with this %(field_label)s already exists." msgstr "%(model_name)s с таким %(field_label)s уже существует." -#: forms/models.py:594 +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Значения %r нет среди допустимых вариантов." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Это поле не может иметь значение NULL." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Это поле не может быть пустым." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Поле типа %(field_type)s" + +#: db/models/fields/__init__.py:451 +#: db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 +#: db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Целое" + +#: db/models/fields/__init__.py:455 +#: db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Это значение должно быть целым числом." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Значение должно быть либо True, либо False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Логическое (True или False)" + +#: db/models/fields/__init__.py:539 +#: db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Строка (до %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Целые, разделенные запятыми" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Дата (без указания времени)" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Введите правильную дату в формате YYYY-MM-DD." + +#: db/models/fields/__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "Неправильная дата: %s" + +#: db/models/fields/__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "Введите правильные дату и время в формате YYYY-MM-DD HH:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Дата (с указанием времени)" + +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "Это значение должно быть целым числом." + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Число с фиксированной запятой" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "Адрес электронной почты" + +#: db/models/fields/__init__.py:799 +#: db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Путь к файлу" + +#: db/models/fields/__init__.py:822 +msgid "This value must be a float." +msgstr "Это значение должно быть числом с плавающей запятой." + +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Число с плавающей запятой" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Длинное целое (8 байт)" + +#: db/models/fields/__init__.py:912 +msgid "This value must be either None, True or False." +msgstr "Значение должно быть None, True или False." + +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Логическое (True, False или None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Текст" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Время" + +#: db/models/fields/__init__.py:1025 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "Введите правильное время в формате HH:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML текст" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Объект модели %(model)s с первичным ключом %(pk)r не существует." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Внешний ключ (тип определен по связанному полю)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Связь \"один к одному\"" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Связь \"многие ко многим\"" + +#: db/models/fields/related.py:1000 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Удерживайте \"Control\" (или \"Command\" на Mac) для выбора нескольких значений." + +#: db/models/fields/related.py:1061 +#, 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 неверны." +msgstr[2] "Пожалуйста, введите корректные идентификаторы для %(self)s. Значения %(value)r неверны." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Обязательное поле." + +#: forms/fields.py:204 +msgid "Enter a whole number." +msgstr "Введите целое число." + +#: forms/fields.py:235 +#: forms/fields.py:256 +msgid "Enter a number." +msgstr "Введите число." + +#: forms/fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Убедитесь, что ввели не больше %s цифр." + +#: forms/fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Убедитесь, что ввели не больше %s цифр после запятой." + +#: forms/fields.py:261 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Убедитесь, что ввели не больше %s цифр до запятой." + +#: forms/fields.py:323 +#: forms/fields.py:838 +msgid "Enter a valid date." +msgstr "Введите правильную дату." + +#: forms/fields.py:351 +#: forms/fields.py:839 +msgid "Enter a valid time." +msgstr "Введите правильное время." + +#: forms/fields.py:377 +msgid "Enter a valid date/time." +msgstr "Введите правильную дату и время." + +#: forms/fields.py:435 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ни одного файла не было отправлено. Проверьте тип кодировки формы." + +#: forms/fields.py:436 +msgid "No file was submitted." +msgstr "Ни одного файла не было отправлено." + +#: forms/fields.py:437 +msgid "The submitted file is empty." +msgstr "Отправленный файл пуст." + +#: forms/fields.py:438 +#, python-format +msgid "Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "Убедитесь, что это имя файла содержит не более %(max)d символов (сейчас %(length)d)." + +#: forms/fields.py:473 +msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." +msgstr "Загрузите правильное изображение. Файл, который вы загрузили, поврежден или не является изображением." + +#: forms/fields.py:596 +#: forms/fields.py:671 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Выберите корректный вариант. %(value)s нет среди допустимых значений." + +#: forms/fields.py:672 +#: forms/fields.py:734 +#: forms/models.py:1002 +msgid "Enter a list of values." +msgstr "Введите список значений." + +#: forms/formsets.py:298 +#: forms/formsets.py:300 +msgid "Order" +msgstr "Порядок" + +#: forms/models.py:562 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Пожалуйста, измените повторяющееся значение в поле %(field)s." -#: forms/models.py:598 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Пожалуйста, измените значение в поле %(field)s, оно должно быть уникальным." +msgstr "Пожалуйста, измените значение в поле %(field)s, оно должно быть уникальным." -#: forms/models.py:604 +#: forms/models.py:572 #, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Пожалуйста, измените значение в поле %(field_name)s, оно должно быть " -"уникальным для %(lookup)s в поле %(date_field)s." +msgid "Please correct the duplicate data for %(field_name)s which must be unique for the %(lookup)s in %(date_field)s." +msgstr "Пожалуйста, измените значение в поле %(field_name)s, оно должно быть уникальным для %(lookup)s в поле %(date_field)s." -#: forms/models.py:612 +#: forms/models.py:580 msgid "Please correct the duplicate values below." msgstr "Пожалуйста, измените повторяющиеся значения ниже." -#: forms/models.py:867 +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "Внешний ключ не совпадает с первичным ключом родителя." -#: forms/models.py:930 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Выберите корректный вариант. Вашего варианта нет среди допустимых значений." +msgstr "Выберите корректный вариант. Вашего варианта нет среди допустимых значений." -#: forms/models.py:1004 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Выберите корректный вариант. %s нет среди допустимых значений." -#: forms/models.py:1006 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "\"%s\" не является верным значением для первичного ключа." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "да,нет,может быть" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" @@ -4148,20 +4705,20 @@ msgstr[0] "%(size)d байт" msgstr[1] "%(size)d байта" msgstr[2] "%(size)d байт" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f КБ" +msgid "%s KB" +msgstr "%s КБ" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f МБ" +msgid "%s MB" +msgstr "%s МБ" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f ГБ" +msgid "%s GB" +msgstr "%s ГБ" #: utils/dateformat.py:42 msgid "p.m." @@ -4251,23 +4808,28 @@ msgstr "Январь" msgid "February" msgstr "Февраль" -#: utils/dates.py:18 utils/dates.py:31 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "March" msgstr "Март" -#: utils/dates.py:18 utils/dates.py:31 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "April" msgstr "Апрель" -#: utils/dates.py:18 utils/dates.py:31 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "May" msgstr "Май" -#: utils/dates.py:18 utils/dates.py:31 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "June" msgstr "Июнь" -#: utils/dates.py:19 utils/dates.py:31 +#: utils/dates.py:19 +#: utils/dates.py:31 msgid "July" msgstr "Июль" @@ -4367,7 +4929,7 @@ msgstr "Нояб." msgid "Dec." msgstr "Дек." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "или" @@ -4427,33 +4989,81 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" msgstr "d.m.Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "d.m.Y H:i" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "j F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s был успешно создан." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." -msgstr "%(verbose_name)s был успешно изменён." +msgstr "%(verbose_name)s был успешно изменен." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." -msgstr "%(verbose_name)s был успешно удалён." +msgstr "%(verbose_name)s был успешно удален." + +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "Один или более %(fieldname)s в %(name)s: %(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "Один или более %(fieldname)s в %(name)s:" + +#~ msgid "" +#~ "0 of %(total_count)s %(module_name)s selected" +#~ msgstr "" +#~ "Выбрано 0 из %(total_count)s %(module_name)s" + +#~ msgid "Old password:" +#~ msgstr "Старый пароль:" + +#~ msgid "Relation to parent model" +#~ msgstr "Связь с родительской моделью" + +#~ msgid "Add user" +#~ msgstr "Добавить пользователя" + +#~ msgid "Comment moderation queue" +#~ msgstr "Очередь модерации комментариев" + +#~ msgid "No comments to moderate" +#~ msgstr "Нет комментариев для модерации" + +#~ msgid "Email" +#~ msgstr "Адрес электронной почты" + +#~ msgid "Authenticated?" +#~ msgstr "Зарегистрирован?" + +#~ msgid "IP Address" +#~ msgstr "IP-адрес" + +#~ msgid "Date posted" +#~ msgstr "Дата публикации" + +#~ msgid "yes" +#~ msgstr "да" + +#~ msgid "no" +#~ msgstr "нет" diff --git a/django/conf/locale/ru/LC_MESSAGES/djangojs.mo b/django/conf/locale/ru/LC_MESSAGES/djangojs.mo index 1db3cb510df06ccb42e14b2db0a9ec29ab33b637..21a52a70487a528f10eceb1d833badd09a356128 100644 GIT binary patch literal 3735 zcmbVMU2GiH6&^}j!2RK`K>r?2gA9qtY<5Ek(Z&wAP7DS%w!E9BJXPbJ>)lCa=Pq|< zOjhC{PMSmzz%(Qf5F|1nMF^@oj!iaByb({8+Lt@;2p+1ww0-0OBoy(TJG=HKSU|h> z%y)mzJ?A^$Id?w2W6enmzu&Z2r8{2}I7fop(k;A}VW79jiiBaqjtK>S-Zyg2SNK=!*I zNWddNwmS>l3j7ere*XnzKmP%8+|Pk;0koB z^J6@}#KXRjve5`&-HM0#Gk4Cf`-f6lzru4n9_GkD*7_HCxCVFPxf>58Hk?^6{xLtM z)A@0aS-tB*;ja%#PEhZlIh$jQ_))`06;1Cx&DJLA5f-q0F!d=a>g z!XPLM-x{n+847YJ@@isv=9`UB1m=h@97PVV`Levvdfan`^@J0|j%v`57*}Rca8$WU z19j#3RB#&fL>vgb{00rgl{k#3DC&`@jSEF13RI#!c!sEG6^#Pakg=k2ReEKyE?iGe;8NN5%KOMFR&lf#BhdyGq=8Z_ zLZ0psZjg>j)mWLOA?5K-(TQS(fmM>}yC#)_pQl9_3A6FEjH&8Oiscd@COPHElfecP z9*m4ZaDPNK$Azvz0}P#@B2dDByukG)JvVlIn(&10h8cp-`<0-&lH;gRgM2CXc|nCH zq@t)Q=rKv-aTMXOaxmvb1m&F~GfDR{*0)lF5sS4}WDPVd%2EE`gDOqU$|9 z>w&_!fNWuuu|}2Li@RYDyY}ye3Q?Cl?bwS9WzU$XOBLCLu;RJ)@8U{mmt>xLMn_8a zpb`$((B9!hB2SyLxvZUi$j;>`w>kgN!w+OPXR|Q0$Hb(^K3B2ZlHUZo2VwV=6GnDP zIYH<Z>SGdDO)!n`czKy{9l-*twEqE|cvUltCl{1aH)lMI`n|8|%K~1>3j-RVbqV z-K8OW>xvzdoDj<18I+}qp3BqLaWCo_^<(Au_K;MyFi%0)*`7b;hhOm!;>POOL=NyB=q9IJ0S6&mZhj$z5P~ zbjZ_K9EP3~tZWU+IEYjOJG+a;;elN=v~$PKv4PU?$gUnsA5V_ybIAcctC#ShOuw1B zg{2qtf?iAxl5Xk?olodB=DM}&0X_S_A8F~iYY%Oq-5K=AIsCP-h!)_~&LhG+!lCM~gU}r4pdg&ZQR5`-6s~ILW*~bq zgf5z@qYasty&NWHP~Q6QF7RjMAqzi z&Zu(*HY~ygAomc21A}QoEpZUdzlirmT5E2xG3KCbwiaHIKA3&ecm}=?bI!}gAa$~x zLGltSO)QsQ+`!nnzL;yfuN4BJiC~4^I>x-Y4ohg#WvrUdUMb6bDaU?s!O5S&^_ypX(ai@E{}B@=e7T u@Bfgj(|CN}h(8bAIdEawf7it`W#{63Uz+Fe37F@GH05mf;WXDhV|@)xwuQ$4 delta 715 zcmZY6IZFdU6u|K@-dDU2@L)v*K{l>Qz__RgiXsS#7g(;kE&-FkCPo6$blTWR6bl7g z3p>Ar_yuglR!bWT8}a`(D+msm{APCMy_tP`)%O@IytY7IS zRpA(xV+=*oimU`Z~npu%0Ztf2Y;a? zmWLVyQ4)+|45KKC6DWDoCQfduf7?`h8D8)U_Z(R({}~C znD3z+aE!A56pMI)K^*3`;yB9sygy&VcIMkSh=(W_xyB6Vt9u3#I8a>*G*C)7h4K~1 z?Cr7A|{&8QHiC^f3Bn&>V5TuNE*kAHc% z3v8AZZz~rHMoi}yp3uUEIW|6GL=B^EWm#Xfv+;C1mDJ~~jBT>`cV9R%Vno=tWTi9u zx@#rV`&K69n%aUJcT#RnnR=fHAoeciSardD*S Kjvhiag}@K4R!$87 diff --git a/django/conf/locale/ru/LC_MESSAGES/djangojs.po b/django/conf/locale/ru/LC_MESSAGES/djangojs.po index 319086969..20e49550e 100644 --- a/django/conf/locale/ru/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/ru/LC_MESSAGES/djangojs.po @@ -7,44 +7,70 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-29 20:17+0400\n" -"PO-Revision-Date: 2008-08-29 20:23+0300\n" -"Last-Translator: Grigory Fateyev \n" +"POT-Creation-Date: 2010-05-11 14:57+0400\n" +"PO-Revision-Date: 2010-05-11 16:27+0300\n" +"Last-Translator: alexey boriskin \n" "Language-Team: Dialcom Service \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: Russian\n" +"X-Poedit-Country: RUSSIAN FEDERATION\n" -#: contrib/admin/media/js/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "Доступные %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Выбрать все" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Добавить" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "Удалить" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "Выбранные %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "Выберите и нажмите " -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Очистить всё" +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "Выбран %(sel)s объект из %(cnt)s" +msgstr[1] "Выбрано %(sel)s объекта из %(cnt)s" +msgstr[2] "Выбрано %(sel)s объектов из %(cnt)s" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost." +msgstr "Имеются несохраненные изменения в отдельных полях для редактирования. Если вы запустите действие, несохраненные изменения будут потеряны." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action." +msgstr "Вы выбрали действие, но еще не сохранили изменения, внесенные в некоторых полях для редактирования. Нажмите OK, чтобы сохранить изменения. После сохранения вам придется запустить действие еще раз." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button." +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" @@ -54,63 +80,65 @@ msgstr "Январь Февраль Март Апрель Май Июнь Июл msgid "S M T W T F S" msgstr "В П В С Ч П С" +#: contrib/admin/media/js/collapse.js:9 +#: contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Показать" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Скрыть" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "Воскресенье Понедельник Вторник Среда Четверг Пятница Суббота" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "Показать" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "Скрыть" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Сейчас" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "Часы" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Выберите время" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "Полночь" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "6 часов" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "Полдень" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Отмена" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "Сегодня" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Календарь" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "Вчера" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "Завтра" diff --git a/django/conf/locale/ru/__init__.py b/django/conf/locale/ru/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/ru/formats.py b/django/conf/locale/ru/formats.py new file mode 100644 index 000000000..6a32e5cc3 --- /dev/null +++ b/django/conf/locale/ru/formats.py @@ -0,0 +1,35 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F Y г.' +TIME_FORMAT = 'G:i:s' +DATETIME_FORMAT = 'j F Y г. G:i:s' +YEAR_MONTH_FORMAT = 'F Y г.' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'd.m.Y' +SHORT_DATETIME_FORMAT = 'd.m.Y H:i' +FIRST_DAY_OF_WEEK = 1 # Monday +DATE_INPUT_FORMATS = ( + '%d.%m.%Y', # '25.10.2006' + '%d.%m.%y', # '25.10.06' + '%Y-%m-%d', # '2006-10-25' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' + '%d.%m.%Y %H:%M', # '25.10.2006 14:30' + '%d.%m.%Y', # '25.10.2006' + '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' + '%d.%m.%y %H:%M', # '25.10.06 14:30' + '%d.%m.%y', # '25.10.06' + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = ' ' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/sk/LC_MESSAGES/django.mo b/django/conf/locale/sk/LC_MESSAGES/django.mo index 8ebfbdf6bbb1b2382e4d824aefc47bf3413db370..d2f6b993165a9d81f5bc05705d517ee520e9ed86 100644 GIT binary patch literal 77057 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
                                            • u|e~F(j>;^}mZ-KN z8LIt#0sF%h@Ad2Ijp2Os6>u!P5{`i%8MnO8rz2rZ8}m@<*#{1QheMU~^eu2b z^ckq|kA=#Qi(oH!8(ah412=-tLizI*>;-=`{qhg_`1Xd!A@2tdf#*Wi-vJN%@n#s5 z`wF-{oCW32F>nQVs+pe!mHzYLO7Ie>^1lWuoew~z<9Vp~eFWwHS19|-KjPET2P*$J zHT~95_NPI`V>hVq>)^_;#q@dD8~y&U4?GIW{4^;0=NT`9Y7f^#*}u!=4?)G_DX4h8 z2t)Xq$%99|KfR#RxjK~lb)mu;00+YoSO#Z9`FALkyLD?H@@}b7%teI;`^oPgJ=EvwLg@6JE(L_ zhRTOZsPxpDey(vZsQTLk70y0T?v6F{Q=#I0HdMSWG5J+c;oJz7FLy)b%QH~r`a0YK zegZXat@WIDza5mjouKlo0;(R>!f|j8=!v>t_9yV{s1SSU+opY-?1~?2>nHHB)r@BJ&d6r`l?U= zNl^Yh0XKvnL*>WHulaS-Y^eHn5|lsJL)m*DmcbQY_w9IFxC8n<;81u590ebMX}H`Q z-ro#Vcy~eh^CFc0-$D7e?wdaUroeLad%}(3WpDs|!1y7oM!)J?zQ5YjcnsVT`K@qg z_%$qrQ{MLZor7zmzXJA$|ANEef1vF3dB>0YJHYMGSHrF0kx=#F4wJ9&u0MYq4ONb9 zQ1$#0sP=k0R5`x`SA^@o=lh!wsy=QF6~ECi0gs2O-`~R(;0o{i`nxh*9sL?m?ly<( z!7`IigR(yl_J#AI+EW^?1Q){$JQ((Z-$3R2uTcJM@PW5K0xI6)pxm`UjRRR2hv!52 z+w(&o&(+~_=r@A$H-tUm5YrDc?f{kk2~hq{gDb;o)6au)UkBB$TcG?|1m*4kD0hd! z-tainpJ_ZFsyr`)z2RL@{yhYhFHb@F_q_2{sC;?{%HB6n@%a@hoL(P!c|R!qdQj!E zDOCSh3e_KthRVO0Q1%i~{_Jh~ePAE-hrr(O1gP--0%h+asPtWJyb;Qu+o0^gT>N`EO9}SN_Bqr3%%?*aAE zErKeqolzG<7J50Vmls|_<<;#h%4?NrSmqLYm15|yy4bFmh!4|ms7hb-f@n9(b zj)3y#Bq;ainEYbc5B)Vz_3)o?b@-IY--fdP4OBXRhVpO4FTK1kR6N#!uKgQFz}1k? zgi7b0Q0^L_{7FION4x0{fC}eG)1Ls9{xhNCcM+8PznlCnsPsH!`e&iSdmYN&XHfqC z02N-3ul%^s8>(Jx2^HSVtIGxJYjU-aLazUS9I+|{7muM1a!n?SiMfos8SpwczX3!Vz zG*q}RnEBhrkBnbJx&Hwwy~};;{poF7-Pj+xe1HnS1S+26&3vlKtDwTKH#S4rYlWH@ zWTE^y0V=$|LgmlJ#%qnY8}EavA5XyL;j2*Td=o0(AHW^pmv9U$`Oe?(ZGjrUPJyy_ zy74@y@GgUE!yBRE@sP=%glnLG87kb*jK4sI+vj`lehn!7Mo{V59LoN1(~pJ9_Zh}r zq3kz6#is=-pK?&~>45#=p(Z~E&PIPB)O_cAsCaJsgXd_d`ZozGoGREK&V!0i*31ut za(6UTIh+htug-+Z&�ZUsu7^;UiGA41~f4fVtP9Lav^oN>f4TcJ5 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 delta 24493 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 In#cA302UuJfdBvi diff --git a/django/conf/locale/sk/LC_MESSAGES/django.po b/django/conf/locale/sk/LC_MESSAGES/django.po index 71d55d394..d122e4e2e 100644 --- a/django/conf/locale/sk/LC_MESSAGES/django.po +++ b/django/conf/locale/sk/LC_MESSAGES/django.po @@ -5,219 +5,269 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-03-20 20:16+0100\n" -"PO-Revision-Date: 2009-03-18 19:18+0100\n" -"Last-Translator: Marian Andre \n" -"Language-Team: Slovak \n" +"POT-Creation-Date: 2010-05-06 12:15+0100\n" +"PO-Revision-Date: 2010-05-08 16:32+0200\n" +"Last-Translator: Martin Kosír \n" +"Language-Team: Slovak <>\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==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n>1 && n<5 ? 1 : 2;\n" #: conf/global_settings.py:44 msgid "Arabic" msgstr "arabský" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "bengálsky" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "bulharský" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "bengálsky" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "bosniansky" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "katalánsky" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "český" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "waleský" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "dánsky" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "nemecký" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "grécky" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "anglický" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "britský" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "španielsky" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "estónsky" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "argentínska španielčina" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "estónsky" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "baskický" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "perzský" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "fínsky" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "francúzsky" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "frízsky" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "írsky" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "galícijský" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "maďarský" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "hebrejský" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "hindský" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "chorvátsky" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "maďarský" + +#: conf/global_settings.py:70 msgid "Icelandic" msgstr "islandský" -#: conf/global_settings.py:68 +#: conf/global_settings.py:71 msgid "Italian" msgstr "taliansky" -#: conf/global_settings.py:69 +#: conf/global_settings.py:72 msgid "Japanese" msgstr "japonský" -#: conf/global_settings.py:70 +#: conf/global_settings.py:73 msgid "Georgian" msgstr "gruzínsky" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "kórejský" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:74 msgid "Khmer" msgstr "kmérsky" -#: conf/global_settings.py:73 +#: conf/global_settings.py:75 msgid "Kannada" msgstr "kanadský" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "lotyšský" +#: conf/global_settings.py:76 +msgid "Korean" +msgstr "kórejský" -#: conf/global_settings.py:75 +#: conf/global_settings.py:77 msgid "Lithuanian" msgstr "litovský" -#: conf/global_settings.py:76 +#: conf/global_settings.py:78 +msgid "Latvian" +msgstr "lotyšský" + +#: conf/global_settings.py:79 msgid "Macedonian" msgstr "macedónsky" -#: conf/global_settings.py:77 +#: conf/global_settings.py:80 +msgid "Mongolian" +msgstr "mongolský" + +#: conf/global_settings.py:81 msgid "Dutch" msgstr "holandský" -#: conf/global_settings.py:78 +#: conf/global_settings.py:82 msgid "Norwegian" msgstr "nórsky" -#: conf/global_settings.py:79 +#: conf/global_settings.py:83 +msgid "Norwegian Bokmal" +msgstr "nórsky (Bokmal)" + +#: conf/global_settings.py:84 +msgid "Norwegian Nynorsk" +msgstr "nórsky (Nynorsk)" + +#: conf/global_settings.py:85 msgid "Polish" msgstr "poľský" -#: conf/global_settings.py:80 +#: conf/global_settings.py:86 msgid "Portuguese" msgstr "portugalský" -#: conf/global_settings.py:81 +#: conf/global_settings.py:87 msgid "Brazilian Portuguese" msgstr "portugalský (Brazília)" -#: conf/global_settings.py:82 +#: conf/global_settings.py:88 msgid "Romanian" msgstr "rumunský" -#: conf/global_settings.py:83 +#: conf/global_settings.py:89 msgid "Russian" msgstr "ruský" -#: conf/global_settings.py:84 +#: conf/global_settings.py:90 msgid "Slovak" msgstr "slovenský" -#: conf/global_settings.py:85 +#: conf/global_settings.py:91 msgid "Slovenian" msgstr "slovinský" -#: conf/global_settings.py:86 +#: conf/global_settings.py:92 +msgid "Albanian" +msgstr "albánsky" + +#: conf/global_settings.py:93 msgid "Serbian" msgstr "srbský" -#: conf/global_settings.py:87 +#: conf/global_settings.py:94 +msgid "Serbian Latin" +msgstr "srbský (Latin)" + +#: conf/global_settings.py:95 msgid "Swedish" msgstr "švédsky" -#: conf/global_settings.py:88 +#: conf/global_settings.py:96 msgid "Tamil" msgstr "tamilský" -#: conf/global_settings.py:89 +#: conf/global_settings.py:97 msgid "Telugu" msgstr "telúgsky" -#: conf/global_settings.py:90 +#: conf/global_settings.py:98 msgid "Thai" msgstr "thajský" -#: conf/global_settings.py:91 +#: conf/global_settings.py:99 msgid "Turkish" msgstr "turecký" -#: conf/global_settings.py:92 +#: conf/global_settings.py:100 msgid "Ukrainian" msgstr "ukrajinský" -#: conf/global_settings.py:93 +#: conf/global_settings.py:101 +msgid "Vietnamese" +msgstr "vietnamský" + +#: conf/global_settings.py:102 msgid "Simplified Chinese" msgstr "čínsky (zjednodušene)" -#: conf/global_settings.py:94 +#: conf/global_settings.py:103 msgid "Traditional Chinese" msgstr "čínsky (tradične)" +#: contrib/admin/actions.py:48 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Úspešne zmazaných %(count)d %(items)s." + +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 +msgid "Are you sure?" +msgstr "Ste si istý?" + +#: contrib/admin/actions.py:73 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Zmazať označené %(verbose_name_plural)s" + #: contrib/admin/filterspecs.py:44 #, python-format msgid "" @@ -227,46 +277,50 @@ msgstr "" "

                                              Od %s:

                                              \n" "
                                                \n" -#: contrib/admin/filterspecs.py:74 contrib/admin/filterspecs.py:91 -#: contrib/admin/filterspecs.py:146 contrib/admin/filterspecs.py:172 +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 msgid "All" msgstr "Všetko" -#: contrib/admin/filterspecs.py:112 +#: contrib/admin/filterspecs.py:113 msgid "Any date" msgstr "Ľubovoľný dátum" -#: contrib/admin/filterspecs.py:113 +#: contrib/admin/filterspecs.py:114 msgid "Today" msgstr "Dnes" -#: contrib/admin/filterspecs.py:116 +#: contrib/admin/filterspecs.py:117 msgid "Past 7 days" msgstr "Posledných 7 dní" -#: contrib/admin/filterspecs.py:118 +#: contrib/admin/filterspecs.py:119 msgid "This month" msgstr "Tento mesiac" -#: contrib/admin/filterspecs.py:120 +#: contrib/admin/filterspecs.py:121 msgid "This year" msgstr "Tento rok" -#: contrib/admin/filterspecs.py:146 forms/widgets.py:390 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "Áno" -#: contrib/admin/filterspecs.py:146 forms/widgets.py:390 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "Nie" -#: contrib/admin/filterspecs.py:153 forms/widgets.py:390 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "Neznámy" +#: contrib/admin/helpers.py:20 +msgid "Action:" +msgstr "Akcia:" + #: contrib/admin/models.py:19 msgid "action time" -msgstr "čas udalosti" +msgstr "čas akcie" #: contrib/admin/models.py:22 msgid "object id" @@ -274,11 +328,11 @@ msgstr "identifikátor objektu" #: contrib/admin/models.py:23 msgid "object repr" -msgstr "objekt repr" +msgstr "reprezentácia objektu" #: contrib/admin/models.py:24 msgid "action flag" -msgstr "príznak udalosti" +msgstr "príznak akcie" #: contrib/admin/models.py:25 msgid "change message" @@ -292,60 +346,60 @@ msgstr "položka záznamu" msgid "log entries" msgstr "položky záznamu" -#: contrib/admin/options.py:130 contrib/admin/options.py:144 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "Žiadne" -#: contrib/admin/options.py:400 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "Zmenené %s." -#: contrib/admin/options.py:400 contrib/admin/options.py:410 -#: contrib/comments/templates/comments/preview.html:15 forms/models.py:296 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:568 msgid "and" msgstr "a" -#: contrib/admin/options.py:405 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Pridaný %(name)s \"%(object)s\"." -#: contrib/admin/options.py:409 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Zmenený %(list)s pre %(name)s \"%(object)s\"." -#: contrib/admin/options.py:414 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Zmazaný %(name)s \"%(object)s\"." -#: contrib/admin/options.py:418 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Polia nezmenené." -#: contrib/admin/options.py:479 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "Objekt %(name)s \"%(obj)s\" bol úspešne pridaný." -#: contrib/admin/options.py:483 contrib/admin/options.py:516 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." -msgstr "Nižšie to môžete znova upraviť." +msgstr "Nižšie môžete znova robiť úpravy." -#: contrib/admin/options.py:493 contrib/admin/options.py:526 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "Nižšie môžete pridať ďalšie %s." -#: contrib/admin/options.py:514 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "Objekt %(name)s \"%(obj)s\" bol úspešne zmenený." -#: contrib/admin/options.py:522 +#: contrib/admin/options.py:686 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." @@ -353,49 +407,70 @@ msgstr "" "Objekt %(name)s \"%(obj)s\" bol úspešne pridaný. Ďalšie zmeny môžete urobiť " "nižšie." -#: contrib/admin/options.py:601 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Položky musia byť vybrané, ak chcete na nich vykonať akcie. Neboli vybrané " +"žiadne položky." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Nebola vybraná žiadna akcia." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Pridať %s" -#: contrib/admin/options.py:632 contrib/admin/options.py:802 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Objekt %(name)s s primárnym kľúčom %(key)r neexistuje." -#: contrib/admin/options.py:689 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "Zmeniť %s" -#: contrib/admin/options.py:721 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Chyba databázy" -#: contrib/admin/options.py:749 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s bolo úspešne zmenených." -msgstr[1] "%(count)s %(name)s bol úspešne zmenený." -msgstr[2] "%(count)s %(name)s boli úspešne zmenené." +msgstr[0] "%(count)s %(name)s bola úspešne zmenená." +msgstr[1] "%(count)s %(name)s boli úspešne zmenené." +msgstr[2] "%(count)s %(name)s bolo úspešne zmenených." -#: contrib/admin/options.py:817 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s vybraná" +msgstr[1] "Všetky %(total_count)s vybrané" +msgstr[2] "Všetkých %(total_count)s vybraných" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 z %(cnt)s vybraných" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "Objekt %(name)s \"%(obj)s\" bol úspešne vymazaný." -#: contrib/admin/options.py:824 -msgid "Are you sure?" -msgstr "Ste si istý?" - -#: contrib/admin/options.py:853 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Zmeniť históriu: %s" -#: contrib/admin/sites.py:15 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -403,76 +478,66 @@ msgstr "" "Prosím, zadajte správne používateľské meno a heslo. Rešpektujte malé a veľké " "písmená." -#: contrib/admin/sites.py:243 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Vaše prihlásenie vypršalo. Prosím, prihláste sa znovu." -#: contrib/admin/sites.py:250 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." msgstr "" "Zdá sa, že váš prehliadač nemá povolené cookies. Prosím, povoľte cookies, " -"znova načítajte túto stránku a skúste to znova." +"znova načítajte túto stránku a pokúste sa znova prihlásiť." -#: contrib/admin/sites.py:266 contrib/admin/sites.py:272 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Používateľské mená nemožu obsahovať znak '@'." -#: contrib/admin/sites.py:269 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "" -"Vaša e-mail adresa nie je vašim používateľským menom. Skúste namiesto toho " -"použiť '%s'." +"Vaša e-mailová adresa nie je vašim používateľským menom. Skúste namiesto " +"toho použiť '%s'." -#: contrib/admin/sites.py:329 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Správa stránky" -#: contrib/admin/sites.py:342 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Prihlásenie" -#: contrib/admin/sites.py:389 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "%s správa" -#: contrib/admin/util.py:144 -#, 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/util.py:149 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Jeden alebo viac %(fieldname)s v %(name)s:" - -#: contrib/admin/widgets.py:70 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Dátum:" -#: contrib/admin/widgets.py:70 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Čas:" -#: contrib/admin/widgets.py:94 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Aktuálne:" -#: contrib/admin/widgets.py:94 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Zmeniť:" -#: contrib/admin/widgets.py:123 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Vyhľadanie" -#: contrib/admin/widgets.py:230 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Pridať ďalší" @@ -487,16 +552,17 @@ msgstr "Ľutujeme, ale požadovanú stránku nie je možné nájsť." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:33 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:20 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -523,7 +589,28 @@ msgid "" "mail and should be fixed shortly. Thanks for your patience." msgstr "" "Vyskytla sa chyba. Bola oznámená správcovi stránky e-mailom a mala by byť " -"čoskoro opravená.Ďakujeme za pochopenie." +"čoskoro opravená. Ďakujeme za pochopenie." + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "Vykonať vybranú akciu" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "Vykonať" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Kliknite sem pre výber objektov na všetkých stránkach" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Vybrať všetkých %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Zrušiť výber" #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 @@ -535,24 +622,24 @@ msgstr "%(name)s" msgid "Welcome," msgstr "Vitajte," -#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentácia" -#: contrib/admin/templates/admin/base.html:28 -#: contrib/admin/templates/admin/auth/user/change_password.html:13 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Zmeniť heslo" -#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Odhlásiť" @@ -564,42 +651,43 @@ msgstr "Správa Django stránky" msgid "Django administration" msgstr "Správa Django" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Pridať" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "História" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Pozrieť na stránke" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:49 -#: contrib/admin/templates/admin/auth/user/change_password.html:22 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." -msgstr[0] "Prosím, opravte chyby uvedené nižšie." -msgstr[1] "Prosím, opravte chybu uvedenú nižšie." +msgstr[0] "Prosím, opravte chybu uvedenú nižšie." +msgstr[1] "Prosím, opravte chyby uvedené nižšie." msgstr[2] "Prosím, opravte chyby uvedené nižšie." -#: contrib/admin/templates/admin/change_list.html:41 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Pridať %(name)s" -#: contrib/admin/templates/admin/change_list.html:60 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filtrovať" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:251 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Odstrániť" @@ -611,7 +699,7 @@ msgid "" "following types of objects:" msgstr "" "Odstránenie objektu %(object_name)s '%(escaped_object)s' by malo za následok " -"aj odstránenie súvisiacich objektov, avšak váš účet nemá oprávnenie na " +"aj odstránenie súvisiacich objektov. Váš účet však nemá oprávnenie na " "odstránenie nasledujúcich typov objektov:" #: contrib/admin/templates/admin/delete_confirmation.html:23 @@ -624,9 +712,34 @@ msgstr "" "\"? Všetky nasledujúce súvisiace objekty budú odstránené:" #: contrib/admin/templates/admin/delete_confirmation.html:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 msgid "Yes, I'm sure" msgstr "Áno, som si istý" +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "Zmazať viacero objektov" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)s would result in deleting related objects, but " +"your account doesn't have permission to delete the following types of " +"objects:" +msgstr "" +"Odstránenie objektu %(object_name)s by malo za následok aj odstránenie " +"súvisiacich objektov, Váš účet však nemá oprávnenie na odstránenie " +"nasledujúcich typov objektov:" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" +"Ste si istý, že chcete odstrániť objekty %(object_name)s? Budú odstránené " +"nasledujúce objekty a položky s nimi súvisiace:" + #: contrib/admin/templates/admin/filter.html:2 #, python-format msgid " By %(filter_title)s " @@ -647,16 +760,20 @@ msgstr "Nemáte právo na vykonávanie zmien." #: contrib/admin/templates/admin/index.html:53 msgid "Recent Actions" -msgstr "Posledné udalosti" +msgstr "Posledné akcie" #: contrib/admin/templates/admin/index.html:54 msgid "My Actions" -msgstr "Moje udalosti" +msgstr "Moje akcie" #: contrib/admin/templates/admin/index.html:58 msgid "None available" msgstr "Nedostupné" +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "Neznámy obsah" + #: contrib/admin/templates/admin/invalid_setup.html:7 msgid "" "Something's wrong with your database installation. Make sure the appropriate " @@ -684,14 +801,8 @@ msgid "User" msgstr "Používateľ" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" -msgstr "Udalosť" - -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j. F Y o G:i" +msgstr "Akcia" #: contrib/admin/templates/admin/object_history.html:38 msgid "" @@ -705,40 +816,41 @@ msgstr "" msgid "Show all" msgstr "Zobraziť všetky" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Uložiť" + #: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Ísť" +msgid "Search" +msgstr "Vyhľadávanie" #: contrib/admin/templates/admin/search_form.html:10 #, python-format msgid "1 result" msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s výsledkov" -msgstr[1] "1 výsledok" -msgstr[2] "%(counter)s výsledky" +msgstr[0] "%(counter)s výsledok" +msgstr[1] "%(counter)s výsledky" +msgstr[2] "%(counter)s výsledkov" #: 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/submit_line.html:3 -msgid "Save" -msgstr "Uložiť" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "Uložiť ako nový" #: contrib/admin/templates/admin/submit_line.html:6 msgid "Save and add another" -msgstr "Uložiť a pridať ďaľší" +msgstr "Uložiť a pridať ďalší" #: contrib/admin/templates/admin/submit_line.html:7 msgid "Save and continue editing" msgstr "Uložiť a pokračovať v úpravách" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -746,36 +858,42 @@ msgstr "" "Najskôr zadajte používateľské meno a heslo. Potom budete môcť upraviť viac " "používateľských nastavení." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Používateľské meno" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:33 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Heslo" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:39 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Heslo (znova)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -msgid "Enter the same password as above, for verification." -msgstr "Kvôli overeniu zadajte rovnaké heslo ako vyššie." - -#: contrib/admin/templates/admin/auth/user/change_password.html:26 +#: 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 používateľa %(username)s." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Heslo" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Heslo (znova)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Kvôli overeniu zadajte rovnaké heslo ako vyššie." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Pridať ďalší %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Odstrániť" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" -msgstr "Odstrániť?" +msgstr "Zmazať?" #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." @@ -786,9 +904,9 @@ msgid "Log in again" msgstr "Znova sa prihlásiť" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Zmena hesla" @@ -801,7 +919,7 @@ msgstr "Zmena hesla úspešná" msgid "Your password was changed." msgstr "Vaše heslo bolo zmenené." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -809,24 +927,20 @@ msgstr "" "Z bezpečnostných dôvodov zadajte staré heslo a potom nové heslo dvakrát, aby " "sme mohli overiť, že ste ho zadali správne." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Staré heslo:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Staré heslo" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Nové heslo:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Nové heslo" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Potvrdenie hesla:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" -msgstr "Zmena môjho hesla" +msgstr "Zmeniť moje heslo" #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:6 @@ -861,6 +975,14 @@ msgid "" msgstr "" "Zadajte nové heslo dvakrát, aby sme mohli overiť, že ste ho zadali správne." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Nové heslo:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Potvrdenie hesla:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Obnova hesla sa nepodarila" @@ -870,8 +992,8 @@ msgid "" "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." msgstr "" -"Odkaz na obnovenie hesla je neplatný, pretože pravdepodobne už bol raz " -"použitý. Požiadajte znovu o obnovu hesla, prosím." +"Odkaz na obnovenie hesla je neplatný, pretože už bol pravdepodobne raz " +"použitý. Prosím, požiadajte znovu o obnovu hesla." #: contrib/admin/templates/registration/password_reset_done.html:6 #: contrib/admin/templates/registration/password_reset_done.html:10 @@ -883,13 +1005,12 @@ msgid "" "We've e-mailed you instructions for setting your password to the e-mail " "address you submitted. You should be receiving it shortly." msgstr "" -"Poslali sme vám e-mailom návod na nastavenie vášho hesla na mailovú adresu, " -"ktorú ste zadali.Mali by ste ho zakrátko dostať." +"Na uvedenú e-mailovú adresu sme vám poslali návod na obnovenie hesla. Mali " +"by ste ho zakrátko dostať." #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" -msgstr "" -"Dostávate túto elektronickú poštu, pretože ste si vyžiadali obnovenie hesla." +msgstr "Obdržali ste tento e-mail, pretože ste si vyžiadali obnovenie hesla." #: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format @@ -918,177 +1039,96 @@ msgid "" "Forgotten your password? Enter your e-mail address below, and we'll e-mail " "instructions for setting a new one." msgstr "" -"Zabudli ste svoje heslo? Zadajte svoju e-mail adresu a my Vám pošleme " -"inštrukcie pre nastavenie nového." +"Zabudli ste heslo? Zadajte svoju e-mail adresu a my Vám pošleme inštrukcie " +"pre nastavenie nového." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" -msgstr "E-mail adresa:" +msgstr "E-mailová adresa:" #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "Reset my password" msgstr "Obnova môjho hesla" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:239 msgid "All dates" msgstr "Všetky dátumy" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "Vybrať %s" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "Vybrať \"%s\" na úpravu" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "stránka" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "šablóna" -#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60 -#: contrib/admindocs/views.py:62 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "značka:" -#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93 -#: contrib/admindocs/views.py:95 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "filter:" -#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157 -#: contrib/admindocs/views.py:159 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "pohľad:" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "Aplikácia %r nenájdená" -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "Model %(model_name)r sa nenachádza v aplikácii %(app_label)r" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "súvisiaci objekt `%(app_label)s.%(data_type)s`" -#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:228 -#: contrib/admindocs/views.py:242 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "model:" -#: contrib/admindocs/views.py:237 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "súvisiace objekty `%(app_label)s.%(object_name)s`" -#: contrib/admindocs/views.py:242 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "všetky %s" -#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "počet %s" -#: contrib/admindocs/views.py:252 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "Polia objektov %s" -#: contrib/admindocs/views.py:315 contrib/admindocs/views.py:326 -#: contrib/admindocs/views.py:328 contrib/admindocs/views.py:334 -#: contrib/admindocs/views.py:335 contrib/admindocs/views.py:337 -msgid "Integer" -msgstr "Celé číslo" - -#: contrib/admindocs/views.py:316 -msgid "Boolean (Either True or False)" -msgstr "Logická hodnota (buď True alebo False)" - -#: contrib/admindocs/views.py:317 contrib/admindocs/views.py:336 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Reťazec (až do %(max_length)s)" - -#: contrib/admindocs/views.py:318 -msgid "Comma-separated integers" -msgstr "Celé čísla oddelené čiarkou" - -#: contrib/admindocs/views.py:319 -msgid "Date (without time)" -msgstr "Dátum (bez času)" - -#: contrib/admindocs/views.py:320 -msgid "Date (with time)" -msgstr "Dátum (a čas)" - -#: contrib/admindocs/views.py:321 -msgid "Decimal number" -msgstr "Desatinné číslo" - -#: contrib/admindocs/views.py:322 -msgid "E-mail address" -msgstr "E-mail adresa" - -#: contrib/admindocs/views.py:323 contrib/admindocs/views.py:324 -#: contrib/admindocs/views.py:327 -msgid "File path" -msgstr "Cesta k súboru" - -#: contrib/admindocs/views.py:325 -msgid "Floating point number" -msgstr "Číslo s plávajúcou desatinnou čiarkou" - -#: contrib/admindocs/views.py:329 contrib/comments/models.py:58 -msgid "IP address" -msgstr "IP adresa" - -#: contrib/admindocs/views.py:331 -msgid "Boolean (Either True, False or None)" -msgstr "Logická hodnota (buď True, False alebo None)" - -#: contrib/admindocs/views.py:332 -msgid "Relation to parent model" -msgstr "Vzťah k nadradenému modelu" - -#: contrib/admindocs/views.py:333 -msgid "Phone number" -msgstr "Telefónne číslo" - -#: contrib/admindocs/views.py:338 -msgid "Text" -msgstr "Text" - -#: contrib/admindocs/views.py:339 -msgid "Time" -msgstr "Čas" - -#: contrib/admindocs/views.py:340 contrib/comments/forms.py:19 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:341 -msgid "U.S. state (two uppercase letters)" -msgstr "Štát USA (dve veľké písmená)" - -#: contrib/admindocs/views.py:342 -msgid "XML text" -msgstr "XML text" - -#: contrib/admindocs/views.py:368 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s nevyzerá ako urlpattern objekt" @@ -1099,7 +1139,7 @@ msgstr "Záložky" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:4 msgid "Documentation bookmarklets" -msgstr "Dokumentačné záložky" +msgstr "Záložky dokumentácie" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:8 msgid "" @@ -1161,77 +1201,72 @@ msgstr "Upraviť tento objekt (nové okno)" msgid "As above, but opens the admin page in a new window." msgstr "Ako predtým, ale otvorí stránku správy v novom okne." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Osobné údaje" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Práva" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Dôležité dátumy" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Skupiny" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Pridať používateľa" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Heslo úspešne zmenené." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Zmeniť heslo: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:127 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Povinné. 30 znakov alebo menej. Len alfanumerické znaky (písmená, čísla a " -"podčiarkovníky)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Používateľské meno" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -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." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Povinné. 30 znakov alebo menej. Iba písmená, čísla a @/./+/-/_." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Táto hodnota môže obsahovať len písmená, číslice a znaky @/./+/-/_." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Potvrdenie hesla" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Používateľ s takým používateľským menom už existuje." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." -msgstr "Pole hesla a jeho potvrdenie sa nezhodujú." +msgstr "Heslo a jeho potvrdenie sa nezhodujú." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Tento účet je neaktívny." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 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 prihlásenie." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-mail" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1239,72 +1274,70 @@ msgstr "" "Táto e-mail adresa nemá priradený žiadny používateľský účet. Ste si istý, že " "ste sa zaregistrovali?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Obnovenie hesla na %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Nové heslo" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Potvrdenie nového hesla" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Staré heslo" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Nezadali ste správne svoje staré heslo. Napíšte ho znovu, prosím." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "meno" -#: contrib/auth/models.py:65 -msgid "codename" -msgstr "kódový názov" - #: contrib/auth/models.py:68 +msgid "codename" +msgstr "kódové meno" + +#: contrib/auth/models.py:72 msgid "permission" msgstr "oprávnenie" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "oprávnenia" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "skupina" -#: contrib/auth/models.py:91 contrib/auth/models.py:137 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "skupiny" -#: contrib/auth/models.py:127 +#: contrib/auth/models.py:196 msgid "username" msgstr "používateľské meno" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Povinné. 30 znakov alebo menej. Len písmená, číslice a znaky @/./+/-/_." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "krstné meno" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:198 msgid "last name" msgstr "priezvisko" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:199 msgid "e-mail address" -msgstr "e-mail adresa" +msgstr "e-mailová adresa" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:200 msgid "password" msgstr "heslo" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1312,30 +1345,30 @@ msgstr "" "Použite '[algo]$[salt]$[hexdigest]' alebo formulár na " "zmenu hesla." -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "postavenie zamestnanca" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "Určuje, či sa používateľ môže prihlásiť do správy stránok." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:202 msgid "active" msgstr "aktívny" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "" "Určuje, či je účet aktívny. Odškrtnite, ak chcete vypnúť používateľský účet." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:203 msgid "superuser status" -msgstr "stav superpoužívateľa" +msgstr "status superpoužívateľa" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -1343,15 +1376,15 @@ msgstr "" "Určuje, či používateľ získava automaticky všetky práva aj bez priameho " "priradenia." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:204 msgid "last login" msgstr "naposledy prihlásený" -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "dátum registrácie" -#: contrib/auth/models.py:138 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1359,105 +1392,170 @@ msgstr "" "Okrem ručne zadaných práv bude mať používateľ aj všetky práva prislúchajúce " "skupinám, v ktorých sa nachádza." -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:208 msgid "user permissions" -msgstr "používateľské práva" +msgstr "používateľské oprávnenia" -#: contrib/auth/models.py:143 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 msgid "user" msgstr "používateľ" -#: contrib/auth/models.py:144 +#: contrib/auth/models.py:213 msgid "users" msgstr "používatelia" -#: contrib/auth/models.py:300 +#: contrib/auth/models.py:394 msgid "message" msgstr "správa" -#: contrib/auth/views.py:50 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Odhlásený" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:428 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." -msgstr "Zadajte platnú e-mail adresu." +msgstr "Zadajte platnú e-mailovú adresu." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Obsah" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metaúdaje" -#: contrib/comments/forms.py:17 -#: contrib/comments/templates/comments/moderation_queue.html:34 +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "označený" +msgstr[1] "označené" +msgstr[2] "označených" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Označiť vybraný komentár" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "schválený" +msgstr[1] "schválené" +msgstr[2] "schválených" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Schváliť vybraný komentár" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "odstránený" +msgstr[1] "odstránené" +msgstr[2] "odstránených" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Odstrániť vybrané komentáre" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "1 komentár bol úspešne %(action)s." +msgstr[1] "%(count)s komentáre boli úspešne %(action)s." +msgstr[2] "%(count)s komentárov bolo úspešne %(action)s." + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "%(site_name)s komentáre" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "Najnovšie komentáre na %(site_name)s" + +#: contrib/comments/forms.py:93 msgid "Name" msgstr "Meno" -#: contrib/comments/forms.py:18 +#: contrib/comments/forms.py:94 msgid "Email address" msgstr "E-mail adresa" -#: contrib/comments/forms.py:20 -#: contrib/comments/templates/comments/moderation_queue.html:35 +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + +#: contrib/comments/forms.py:96 msgid "Comment" msgstr "Komentár" -#: contrib/comments/forms.py:23 +#: contrib/comments/forms.py:175 +#, 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] "Vyjadrujte sa slušne! Slovo %s tu nie je dovolené používať." +msgstr[1] "Vyjadrujte sa slušne! Slová %s tu nie je dovolené používať." +msgstr[2] "Vyjadrujte sa slušne! Slová %s tu nie je dovolené používať." + +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "" "Ak ste do tohoto poľa čokoľvek zadali, váš komentár bude považovaný za spam" -#: contrib/comments/forms.py:146 -#, 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] "Vyjadrujte sa slušne! Slová %s tu nie je dovolené používať." -msgstr[1] "Vyjadrujte sa slušne! Slovo %s tu nie je dovolené používať." -msgstr[2] "Vyjadrujte sa slušne! Slová %s tu nie je dovolené používať." +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "typ obsahu" -#: contrib/comments/models.py:23 +#: contrib/comments/models.py:24 msgid "object ID" msgstr "identifikátor objektu" -#: contrib/comments/models.py:50 +#: contrib/comments/models.py:52 msgid "user's name" msgstr "meno používateľa" -#: contrib/comments/models.py:51 +#: contrib/comments/models.py:53 msgid "user's email address" msgstr "e-mail adresa používateľa" -#: contrib/comments/models.py:52 +#: contrib/comments/models.py:54 msgid "user's URL" msgstr "URL používateľa" -#: contrib/comments/models.py:54 +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 msgid "comment" msgstr "komentár" -#: contrib/comments/models.py:57 +#: contrib/comments/models.py:59 msgid "date/time submitted" msgstr "dátum a čas odoslania" -#: contrib/comments/models.py:59 +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP adresa" + +#: contrib/comments/models.py:61 msgid "is public" msgstr "je verejný" -#: contrib/comments/models.py:60 +#: contrib/comments/models.py:62 msgid "" "Uncheck this box to make the comment effectively disappear from the site." msgstr "" "Ak chcete, aby komentár zmizol zo stránky, zrušte zaškrtnutie tohoto políčka." -#: contrib/comments/models.py:62 +#: contrib/comments/models.py:64 msgid "is removed" msgstr "je odstránený" -#: contrib/comments/models.py:63 +#: contrib/comments/models.py:65 msgid "" "Check this box if the comment is inappropriate. A \"This comment has been " "removed\" message will be displayed instead." @@ -1465,7 +1563,11 @@ msgstr "" "Zaškrtnite toto pole, ak je komentár nevhodný. Namiesto neho sa zobrazí " "správa \"Tento komenár bol odstránený\"." -#: contrib/comments/models.py:115 +#: contrib/comments/models.py:77 +msgid "comments" +msgstr "komentáre" + +#: contrib/comments/models.py:119 msgid "" "This comment was posted by an authenticated user and thus the name is read-" "only." @@ -1473,7 +1575,7 @@ msgstr "" "Tento komentár je od autentifikovaného používateľa a preto je jeho meno len " "na čítanie." -#: contrib/comments/models.py:124 +#: contrib/comments/models.py:128 msgid "" "This comment was posted by an authenticated user and thus the email is read-" "only." @@ -1481,7 +1583,7 @@ msgstr "" "Tento komentár je od autentifikovaného používateľa a preto je jeho e-mail " "len na čítanie." -#: contrib/comments/models.py:149 +#: contrib/comments/models.py:153 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -1496,6 +1598,22 @@ msgstr "" "\n" "http://%(domain)s%(url)s" +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "príznak" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "dátum" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "komentárový príznak" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "komentárové príznaky" + #: contrib/comments/templates/comments/approve.html:4 msgid "Approve a comment" msgstr "Povoliť komentár" @@ -1505,7 +1623,6 @@ msgid "Really make this comment public?" msgstr "Skutočne chcete zverejniť tento komentár?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Povoliť" @@ -1529,11 +1646,6 @@ msgstr "Zmazať komentár" msgid "Really remove this comment?" msgstr "Naozaj chcete zmazať tento komentár?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Odstrániť" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Ďakujeme za odstránenie" @@ -1554,49 +1666,16 @@ msgstr "Príznak" msgid "Thanks for flagging" msgstr "Ďakujeme za označenie" -#: contrib/comments/templates/comments/form.html:16 -#: contrib/comments/templates/comments/preview.html:31 +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 msgid "Post" msgstr "Poslať" -#: contrib/comments/templates/comments/form.html:17 -#: contrib/comments/templates/comments/preview.html:32 +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 msgid "Preview" msgstr "Náhľad" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Rad komentárov čakajúcich na schválenie" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Žiadne komentáre na schválenie" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Email" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Autentifikovaný?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "IP adresa" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Dátum odoslania" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "áno" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "nie" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Vďaka za komentár" @@ -1606,34 +1685,30 @@ msgid "Thank you for your comment" msgstr "Ďakujeme za váš komentár" #: contrib/comments/templates/comments/preview.html:4 -#: contrib/comments/templates/comments/preview.html:12 +#: contrib/comments/templates/comments/preview.html:13 msgid "Preview your comment" msgstr "Náhľad komentára" -#: contrib/comments/templates/comments/preview.html:10 +#: contrib/comments/templates/comments/preview.html:11 msgid "Please correct the error below" msgid_plural "Please correct the errors below" -msgstr[0] "Opravte, prosím, chyby uvedené nižšie" -msgstr[1] "Opravte, prosím, chybu uvedenú nižšie" +msgstr[0] "Opravte, prosím, chybu uvedenú nižšie" +msgstr[1] "Opravte, prosím, chyby uvedené nižšie" msgstr[2] "Opravte, prosím, chyby uvedené nižšie" -#: contrib/comments/templates/comments/preview.html:15 +#: contrib/comments/templates/comments/preview.html:16 msgid "Post your comment" msgstr "Poslať váš komentár" -#: contrib/comments/templates/comments/preview.html:15 +#: contrib/comments/templates/comments/preview.html:16 msgid "or make changes" msgstr "alebo urobiť zmeny" -#: contrib/contenttypes/models.py:67 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "pythonovské meno triedy modelu" -#: contrib/contenttypes/models.py:71 -msgid "content type" -msgstr "typ obsahu" - -#: contrib/contenttypes/models.py:72 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "typy obsahu" @@ -1697,7 +1772,7 @@ msgstr "statická stránka" msgid "flat pages" msgstr "statické stránky" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1705,18 +1780,56 @@ msgstr "" "Ospravedlňujeme sa, ale platnosť formulára vypršala. Prosím, pokračujte vo " "vypĺňaní z tejto stránky." -#: contrib/gis/forms/fields.py:14 +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "Základné GIS pole -- mapuje na typ OpenGIS Specification Geometry" + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Bod" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Čiara" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Polygón" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Viacero bodov" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Viacero čiar" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Viacero polygónov" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Goemetrická kolekcia" + +#: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Nie je zadaná žiadna geometrická hodnota." -#: contrib/gis/forms/fields.py:15 +#: contrib/gis/forms/fields.py:18 msgid "Invalid geometry value." msgstr "Chybná geometrická hodnota." -#: contrib/gis/forms/fields.py:16 +#: contrib/gis/forms/fields.py:19 msgid "Invalid geometry type." msgstr "Chybný geometrický typ." +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "Nastala chyba pri prevode geometrie do SRID z formulárového poľa." + #: contrib/humanize/templatetags/humanize.py:19 msgid "th" msgstr "th" @@ -1737,25 +1850,25 @@ msgstr "rd" #, python-format msgid "%(value).1f million" msgid_plural "%(value).1f million" -msgstr[0] "%(value).1f miliónov" -msgstr[1] "%(value).1f milión" -msgstr[2] "%(value).1f milióny" +msgstr[0] "%(value).1f milión" +msgstr[1] "%(value).1f milióny" +msgstr[2] "%(value).1f miliónov" #: contrib/humanize/templatetags/humanize.py:54 #, python-format msgid "%(value).1f billion" msgid_plural "%(value).1f billion" -msgstr[0] "%(value).1f miliárd" -msgstr[1] "%(value).1f miliarda" -msgstr[2] "%(value).1f miliardy" +msgstr[0] "%(value).1f miliárda" +msgstr[1] "%(value).1f miliardy" +msgstr[2] "%(value).1f miliárd" #: contrib/humanize/templatetags/humanize.py:57 #, python-format msgid "%(value).1f trillion" msgid_plural "%(value).1f trillion" -msgstr[0] "%(value).1f biliónov" -msgstr[1] "%(value).1f bilión" -msgstr[2] "%(value).1f bilióny" +msgstr[0] "%(value).1f bilión" +msgstr[1] "%(value).1f bilióny" +msgstr[2] "%(value).1f biliónov" #: contrib/humanize/templatetags/humanize.py:73 msgid "one" @@ -1805,25 +1918,25 @@ msgstr "zajtra" msgid "yesterday" msgstr "včera" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Zadajte poštové smerovacie číslo v tvare NNNN alebo ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Toto pole môže obsahovať len čísla." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Toto pole vyžaduje 7 alebo 8 číslic." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Vložte platné CUIT vo formáte XX-XXXXXXXX-X alebo XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Neplatné CUIT." @@ -1863,8 +1976,8 @@ msgstr "Vorarlbersko" msgid "Vienna" msgstr "Viedeň" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Zadajte poštové smerovacie číslo v tvare XXXX." @@ -1873,46 +1986,46 @@ msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." msgstr "" "Zadajte platné rakúske číslo sociálneho poistenia vo formáte XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Zadajte štvorciferné poštové smerovacie číslo." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Zadajte poštové smerovacie číslo v tvare XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Telefónne čísla musia byť vo formáte XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "" "Vyberte platný brazílsky štát. Tento štát nepatrí medzi existujúce štáty." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Chybné CPF číslo." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "Toto pole môže mať najviac 11 čísel alebo 14 písmen." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "Chybné CNPJ číslo." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "Toto pole vyžaduje minimálne 14 číslic" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Zadajte poštové smerovacie číslo v tvare XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" "Zadajte platné číslo kanadského sociálneho poistenia vo formáte XXX-XXX-XX." @@ -2021,7 +2134,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2029,15 +2142,15 @@ msgstr "" "Vložte platné švajčiarske číslo občianskeho preukazu alebo pasu vo formáte " "X1234567<0 alebo 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Vložte platné čilské RUT." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Vložte platné čilské RUT. Formát je XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Čilské RUT nie je platné." @@ -2097,23 +2210,23 @@ msgstr "Žlínsky kraj" msgid "Moravian-Silesian Region" msgstr "Moravskosliezsky kraj" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Zadajte poštové smerovacie číslo v tvare XXXXX alebo XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "Zadajte rodné číslo vo formáte XXXXXX/XXXX alebo XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 -msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" -msgstr "Neplatný voliteľný parameter Pohlavie, platné hodnoty sú 'f' a 'm'" - #: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "Neplatný voliteľný parameter pohlavie, platné hodnoty sú 'f' a 'm'" + +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Zadajte platné rodné číslo." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Zadajte platné IC číslo." @@ -2181,12 +2294,12 @@ msgstr "Schleswigsko-Holsteinsko" msgid "Thuringia" msgstr "Thuringia" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Vložte poštové smerovacie číslo v tvare XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2461,74 +2574,506 @@ msgstr "Navarra" msgid "Valencian Community" msgstr "Valencijské spoločenstvo" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "" "Zadajte platné poštové smerovacie číslo v rozmedzí a v tvare 01XXX - 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." msgstr "" "Zadajte platné telefónne číslo v tvare 6XXXXXXXX, 8XXXXXXXX alebo 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Zadajte platné NIF, NIE alebo CIF, prosím." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Zadajte platné NIF alebo NIE, prosím." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Neplatný kontrolný súčet pre NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Neplatný kontrolný súčet pre NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Neplatný kontrolný súčet pre CIF." -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" "Zadajte, prosím, platné číslo bankového účtu v tvare XXXX-XXXX-XX-XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Neplatný kontrolný súčet čísla bankového účtu." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Vložte platné fínske číslo sociálneho poistenia." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Telefónne čísla musia mať formát 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Zadajte platné poštové smerovacie číslo" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Zadajte platné telofónne číslo" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Zadajte platnú štátnu poznávaciu značku auta" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Zadajte platné NIK/KTP číslo" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Jawa Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Jawa Tengah" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Jawa Timur" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Barat" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Selatan" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Tengah" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Timur" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Kepulauan Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Maluku" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Maluku Utara" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara Barat" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara Timur" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Barat" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Sulawesi Barat" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi Selatan" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi Tengah" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi Tenggara" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi Utara" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatera Barat" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera Selatan" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera Utara" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps Consulate" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Federálna vláda" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wicklow" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Vložte poštové smerovacie číslo v tvare XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "Zadajte platné islandské identifikačné číslo. Formát je XXXXXX-XXXX." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Islandské identifikačné číslo je neplatné." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Zadajte platné poštové smerovacie číslo." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Vložte platné číslo sociálneho poistenia." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Zadajte platné VAT číslo." @@ -2724,6 +3269,10 @@ msgstr "Kagošima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Zadajte platné kuvaitské civilné identifikačné číslo" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2758,7 +3307,7 @@ msgstr "Colima" #: contrib/localflavor/mx/mx_states.py:20 msgid "Distrito Federal" -msgstr "Federálny dištrikt" +msgstr "Distrito Federal" #: contrib/localflavor/mx/mx_states.py:21 msgid "Durango" @@ -2852,15 +3401,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Zadajte platné poštové smerovacie číslo" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Zadajte platné telofónne číslo" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Zadajte platné SoFi číslo" @@ -2912,15 +3457,15 @@ msgstr "Zéland" msgid "Zuid-Holland" msgstr "Južný Holland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Vložte platné nórske číslo sociálneho poistenia." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Toto pole vyžaduje 8 číslic." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Toto pole vyžaduje 11 číslic." @@ -2943,17 +3488,17 @@ msgstr "" msgid "Wrong checksum for the Tax Number (NIP)." msgstr "Nesprávny kontrolný súčet pre daňové číslo (NIP)." -#: contrib/localflavor/pl/forms.py:111 -msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." msgstr "" -"Číslo národného obchodného registra (REGON) sa skladá zo 7 alebo z 9 číslic." +"Číslo národného obchodného registra (REGON) sa skladá z 9 alebo zo 14 číslic." -#: contrib/localflavor/pl/forms.py:112 +#: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." msgstr "" "Nesprávny kontrolný súčet pre číslo národného obchodného registra (REGON)." -#: contrib/localflavor/pl/forms.py:155 +#: contrib/localflavor/pl/forms.py:148 msgid "Enter a postal code in the format XX-XXX." msgstr "Vložte poštové smerovacie číslo v tvare XX-XXX." @@ -3021,6 +3566,14 @@ msgstr "Veľkopoľské vojvodstvo" msgid "West Pomerania" msgstr "Západopomoranské vojvodstvo" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Zadajte poštové smerovacie číslo v tvare XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Telefónne čísla musia obsahovať 9 číslic a začína znakom + alebo 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Zadajte platné CIF." @@ -3041,6 +3594,106 @@ msgstr "Telefónne čísla musia mať formát XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Zadajte platné poštové smerovacie číslo v tvare XXXXXX" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Zadajte platné švédske číslo organizácie." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Zadajte platné švédske osobné identifikačné číslo." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Koordinačné čísla nie sú povolené." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Zadajte švédske poštové smerovacie číslo v tvare XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stockholm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banská Bystrica" @@ -3673,19 +4326,43 @@ msgstr "Škótsko" msgid "Wales" msgstr "Wales" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Zadajte poštové smerovacie číslo vo formáte XXXXX alebo XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Telefónne čísla musia byť vo formáte XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "Vložte platné číslo U.S. sociálneho poistenia vo formáte XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Zadajte štát USA alebo teritórium." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Štát USA (dve veľké písmená)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Telefónne číslo" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "Vložte platné CI vo formáte X.XXX.XXX-X,XXXXXXX-X alebo XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Zadajte platné IC číslo." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Zadajte platné juhoafrické ID číslo." -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Zadajte platné juhoafrické poštové smerovacie číslo" @@ -3725,6 +4402,10 @@ msgstr "North West" msgid "Western Cape" msgstr "Western Cape" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "lenivá správa" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "presmerovať z" @@ -3789,148 +4470,290 @@ msgstr "zobrazené meno" msgid "sites" msgstr "weby" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:700 -msgid "This value must be an integer." -msgstr "Táto hodnota musí byť celé číslo." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Zadajte platnú hodnotu." -#: db/models/fields/__init__.py:387 -msgid "This value must be either True or False." -msgstr "Táto hodnota musí byť True alebo False." +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Zadajte platnú URL adresu." -#: db/models/fields/__init__.py:420 -msgid "This field cannot be null." -msgstr "Toto pole nemôže byť prázdne." +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Toto URL je chybný odkaz." -#: db/models/fields/__init__.py:436 +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Zadajte platný 'slug' pozostávajúci z písmen, čísel, podčiarkovníkov alebo " +"pomlčiek." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Zadajte platnú IPv4 adresu." + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "Zadajte len číslice oddelené čiarkami." -#: db/models/fields/__init__.py:467 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Uistite sa, že táto hodnota je %(limit_value)s (je to %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Uistite sa, že táto hodnota je menšia alebo rovná %(limit_value)s." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Uistite sa, že hodnota je väčšia alebo rovná %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Uistite sa, že zadaná hodnota má najmenej %(limit_value)d znakov (má %" +"(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Uistite sa, že táto hodnota má najviac %(limit_value)d znakov (má %" +"(show_value)d)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s musí byť unikátne pre %(date_field)s %(lookup)s." + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s s týmto %(field_label)s už existuje." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Hodnota %r nie je platná možnosť." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Toto pole nemôže byť prázdne." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Toto pole nemôže byť prázdne." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Pole typu: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Celé číslo" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Táto hodnota musí byť celé číslo." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Táto hodnota musí byť True alebo False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Logická hodnota (buď True alebo False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Reťazec (až do %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Celé čísla oddelené čiarkou" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Dátum (bez času)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Zadajte platný dátum vo formáte RRRR-MM-DD." -#: db/models/fields/__init__.py:476 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Neplatný dátum: %s" -#: db/models/fields/__init__.py:540 db/models/fields/__init__.py:558 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "Zadajte platný dátum a čas vo formáte RRRR-MM-DD HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/__init__.py:594 -msgid "This value must be a decimal number." -msgstr "Táto hodnota musí byť desiatkové číslo." +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Dátum (a čas)" -#: db/models/fields/__init__.py:676 +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "Táto hodnota musí byť desatinné číslo." + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Desatinné číslo" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "E-mail adresa" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Cesta k súboru" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "Táto hodnota musí byť číslo s plávajúcou desatinnou čiarkou." -#: db/models/fields/__init__.py:736 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Číslo s plávajúcou desatinnou čiarkou" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Veľké celé číslo (8 bajtov)" + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "Táto hodnota musí byť buď None, True alebo False." -#: db/models/fields/__init__.py:839 db/models/fields/__init__.py:853 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Logická hodnota (buď True, False alebo None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Text" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Čas" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Zadajte platný čas vo formáte HH:MM[:ss[.uuuuuu]]." -#: db/models/fields/related.py:779 +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML text" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Model %(model)s s primárnym kľúčom %(pk)r neexistuje." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Cudzí kľúč (typ určuje pole v relácii)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Typ relácie: jedna k jednej" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Typ relácie: M ku N" + +#: db/models/fields/related.py:1000 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Ak chcete vybrať viac ako jednu položku, podržte \"Control\", alebo \"Command" "\" na počítači Mac." -#: db/models/fields/related.py:857 +#: db/models/fields/related.py:1061 #, 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, zadajte platný identifikátor %(self)s. Hodnoty %(value)r sú neplatné." -msgstr[1] "" "Prosím, zadajte platný identifikátor %(self)s. Hodnota %(value)r je neplatná." +msgstr[1] "" +"Prosím, zadajte platný identifikátor %(self)s. Hodnoty %(value)r sú neplatné." msgstr[2] "" "Prosím, zadajte platný identifikátor %(self)s. Hodnoty %(value)r sú neplatné." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Toto pole je povinné." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Zadajte platnú hodnotu." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "Uistite sa, že táto hodnota má najviac %(max)d znakov (má %(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Uistite sa, že zadaná hodnota má najmenej %(min)d znakov (má %(length)d)." - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "Zadajte celé číslo." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, 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." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Uistite sa, že hodnota je väčšia alebo rovná %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "Zadajte číslo." -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Uistite sa, že nie je zadaných celkovo viac ako %s číslic." -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Uistite sa, že nie je zadaných viac ako %s desatinných miest." -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "" "Uistite sa, že nie je zadaných viac ako %s číslic pred desatinnou čiarkou." -#: forms/fields.py:287 forms/fields.py:849 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "Zadajte platný dátum." -#: forms/fields.py:321 forms/fields.py:850 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "Zadajte platný čas." -#: forms/fields.py:360 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "Zadajte platný dátum a čas." -#: forms/fields.py:446 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "Súbor nebol odoslaný. Skontrolujte typ kódovania vo formulári." -#: forms/fields.py:447 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "Žiaden súbor nebol odoslaný." -#: forms/fields.py:448 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "Odoslaný súbor je prázdny." -#: forms/fields.py:477 +#: forms/fields.py:438 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "Uistite sa, že názov súboru má najviac %(max)d znakov (má %(length)d)." + +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -3938,106 +4761,110 @@ msgstr "" "Nahrajte platný obrázok. Súbor, ktorý ste odoslali nebol obrázok alebo bol " "poškodený." -#: forms/fields.py:538 -msgid "Enter a valid URL." -msgstr "Zadajte platnú URL adresu." - -#: forms/fields.py:539 -msgid "This URL appears to be a broken link." -msgstr "Toto URL je chybný odkaz." - -#: forms/fields.py:618 forms/fields.py:696 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Vyberte platnú voľbu. %(value)s nepatrí medzi dostupné možnosti." -#: forms/fields.py:697 forms/fields.py:758 forms/models.py:729 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 msgid "Enter a list of values." msgstr "Vložte zoznam hodnôt." -#: forms/fields.py:878 -msgid "Enter a valid IPv4 address." -msgstr "Zadajte platnú IPv4 adresu." - -#: forms/fields.py:888 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Zadajte platný 'slug' pozostávajúci z písmen, čísel, podčiarkovníkov alebo " -"pomlčiek." - -#: forms/formsets.py:247 forms/formsets.py:249 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "Poradie" -#: forms/models.py:289 forms/models.py:298 +#: forms/models.py:562 #, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s s týmto %(field_label)s už existuje." +msgid "Please correct the duplicate data for %(field)s." +msgstr "Prosím, opravte duplicitné dáta pre %(field)s." -#: forms/models.py:602 +#: forms/models.py:566 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "Dáta pre %(field)s musia byť unikátne, prosím, opravte duplikáty." + +#: forms/models.py:572 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Dáta pre %(field_name)s musia byť unikátne pre %(lookup)s v %(date_field)s, " +"prosím, opravte duplikáty." + +#: forms/models.py:580 +msgid "Please correct the duplicate values below." +msgstr "Prosím, opravte nižšie uvedené duplicitné hodnoty. " + +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "" "Vnorený cudzí kľúč sa nezhoduje s nadradenou inštanciou primárnho kľúča." -#: forms/models.py:659 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" "Vyberte platnú možnosť. Vybraná položka nepatrí medzi dostupné možnosti." -#: forms/models.py:730 +#: forms/models.py:1003 #, 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." -#: template/defaultfilters.py:751 +#: forms/models.py:1005 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "\"%s\" nie je platná hodnota pre primárny kľúč." + +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "áno,nie,možno" -#: template/defaultfilters.py:782 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bajtov" -msgstr[1] "%(size)d bajt" -msgstr[2] "%(size)d bajty" +msgstr[0] "%(size)d bajt" +msgstr[1] "%(size)d bajty" +msgstr[2] "%(size)d bajtov" -#: template/defaultfilters.py:784 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:786 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:787 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" -#: utils/dateformat.py:41 +#: utils/dateformat.py:42 msgid "p.m." msgstr "popoludní" -#: utils/dateformat.py:42 +#: utils/dateformat.py:43 msgid "a.m." msgstr "dopoludnia" -#: utils/dateformat.py:47 +#: utils/dateformat.py:48 msgid "PM" msgstr "popoludní" -#: utils/dateformat.py:48 +#: utils/dateformat.py:49 msgid "AM" msgstr "dopoludnia" -#: utils/dateformat.py:97 +#: utils/dateformat.py:98 msgid "midnight" msgstr "polnoc" -#: utils/dateformat.py:99 +#: utils/dateformat.py:100 msgid "noon" msgstr "poludnie" @@ -4221,93 +5048,136 @@ msgstr "nov." msgid "Dec." msgstr "dec." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "alebo" #: utils/timesince.py:21 msgid "year" msgid_plural "years" -msgstr[0] "rokov" -msgstr[1] "rok" -msgstr[2] "roky" +msgstr[0] "rok" +msgstr[1] "roky" +msgstr[2] "rokov" #: utils/timesince.py:22 msgid "month" msgid_plural "months" -msgstr[0] "mesiacov" -msgstr[1] "mesiac" -msgstr[2] "mesiace" +msgstr[0] "mesiac" +msgstr[1] "mesiace" +msgstr[2] "mesiacov" #: utils/timesince.py:23 msgid "week" msgid_plural "weeks" -msgstr[0] "týždňov" -msgstr[1] "týždeň" -msgstr[2] "týždne" +msgstr[0] "týždeň" +msgstr[1] "týždne" +msgstr[2] "týždnov" #: utils/timesince.py:24 msgid "day" msgid_plural "days" -msgstr[0] "dní" -msgstr[1] "deň" -msgstr[2] "dni" +msgstr[0] "deň" +msgstr[1] "dni" +msgstr[2] "dní" #: utils/timesince.py:25 msgid "hour" msgid_plural "hours" -msgstr[0] "hodín" -msgstr[1] "hodina" -msgstr[2] "hodiny" +msgstr[0] "hodina" +msgstr[1] "hodiny" +msgstr[2] "hodín" #: utils/timesince.py:26 msgid "minute" msgid_plural "minutes" -msgstr[0] "minút" -msgstr[1] "minúta" -msgstr[2] "minúty" +msgstr[0] "minúta" +msgstr[1] "minúty" +msgstr[2] "minút" -#: utils/timesince.py:43 +#: utils/timesince.py:45 msgid "minutes" msgstr "minúty" -#: utils/timesince.py:48 +#: utils/timesince.py:50 #, python-format msgid "%(number)d %(type)s" msgstr "%(number)d %(type)s" -#: utils/timesince.py:54 +#: utils/timesince.py:56 #, python-format msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:518 msgid "DATE_FORMAT" msgstr "j. F Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:519 +msgid "DATETIME_FORMAT" +msgstr "j. F Y G:i" + +#: utils/translation/trans_real.py:520 msgid "TIME_FORMAT" msgstr "G:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:541 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:542 msgid "MONTH_DAY_FORMAT" msgstr "j. F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "Objekt %(verbose_name)s bol úspešne vytvorený." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "Objekt %(verbose_name)s bol úspešne zmenený." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "Objekt %(verbose_name)s bol zmazaný." + +#~ msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +#~ msgstr "Jeden alebo viac %(fieldname)s v %(name)s: %(obj)s" + +#~ msgid "One or more %(fieldname)s in %(name)s:" +#~ msgstr "Jeden alebo viac %(fieldname)s v %(name)s:" + +#~ msgid "Old password:" +#~ msgstr "Staré heslo:" + +#~ msgid "Relation to parent model" +#~ msgstr "Vzťah k nadradenému modelu" + +#~ msgid "Add user" +#~ msgstr "Pridať používateľa" + +#~ msgid "Comment moderation queue" +#~ msgstr "Rad komentárov čakajúcich na schválenie" + +#~ msgid "No comments to moderate" +#~ msgstr "Žiadne komentáre na schválenie" + +#~ msgid "Email" +#~ msgstr "Email" + +#~ msgid "Authenticated?" +#~ msgstr "Autentifikovaný?" + +#~ msgid "IP Address" +#~ msgstr "IP adresa" + +#~ msgid "Date posted" +#~ msgstr "Dátum odoslania" + +#~ msgid "yes" +#~ msgstr "áno" + +#~ msgid "no" +#~ msgstr "nie" diff --git a/django/conf/locale/sk/LC_MESSAGES/djangojs.mo b/django/conf/locale/sk/LC_MESSAGES/djangojs.mo index 7d8d805dcd14c9e177ba93ec577ff374f511b2c0..bbca8a05521adab28cfd4e6b3aa301168f77d982 100644 GIT binary patch literal 2659 zcmbW2O>7%Q6vqcB9}Q5Te1A#rl76VQ>jaVpw`mDUL)+jc#BNJ-f${Dno_Kf0ot<^- zAaSGOQZB#&I6w{+s-O}QNJy24gq%pI7t{+U1Sc-Qu}4(#f4fdv71RSO&;I7)&3kX& zn|=Ou>!yzcp67b)Z?GTjmpkyn)4EfLz2Ir^9`GV~7x*>!0QfCo9aWuB|G#cB2OPLKIJIj+G)QD$!;-&|w z63?JLg7#Q%o_&7`jeU9)?Flr5IE%qnkRQ%J$8i1OJ0|*fBr4jOke#Rg9f9%aVnPL8 zg|}TBCRvP&Vk`{BSX=5y)+0szi5QoWGNE+nm_S8hykTvkNRrpF+89OILZVEzB~sFn ztOlud;uakS3n0s^wK&SB|Cw zZ<)tzJD-?PLDmr!9U8sR@Zy-Y2Cp+>R>hDKRjN>pPNGdxRaCPGP{*c@f`-+B+L7!e zX+jDj9W+T)8`xS+anKG`Y=&B@5+0sZp~-u-M(VPuNvCL_2N8KfUKB#-R$6hV^r=blFq83kRKbgJOe+_O9+H#wD>+~j|ULWSCA z_j5faN9HqkS=~(m#t9tVs_Be|3w4FCCB7(ToL$7XQ8*G7PAHckFJ+oo#0hQRtZG^3 z3zcL+hlN+tg``lkW$K%mt`)|elAOcBg!HORgQbB|p)^z|4b#A2d0=Q4#w7?AW>s6W z&Rga7Qt74gizB;AgOGboCcaQ}(j<}e)|K%wIIj&&*`#~P(f&9azMP|J6YYvd`2*Nz z7E-yO3Nm2$=9McPGJy?oxym$B*S>EiN}Y@flh(yanM^AiCZjLxqr5w6Mn?zeAe9KK z2L@={HZuE%Ffo9M!F_!j1!!rbHnlr-80%jAUrXNy4KZ9Um5@e!kZTvj1d^JzppMJX zR93mV%TCO>bZuE<{RCTEyFjbwWwJ47uPrOzwE4KV_e4HNOY1uia~wLN+H@W0!3{~F znC7{daR=E^0m+u@UWzF0E-%tz_p;$vL^3aD$woP|P2c^7>zP@vXW@E1o3W9xfdEnz zHYIAx$t5uzCf;?I4Ikkc&CqeG(%R?fRK;A|uC91Rv0Ym+Ho@5>H6z_L8k1tq;=D_| z&8SeVu1IR3xT(lCDaBm_pjd^H)|P$Sd5l{cmk`soZoL!}sC;5hE_x@$iPiIPCXZ62 zu@S|p8R!&+4F42Hr6@?cx3IRNC8{PZ#R~PTO^c|Z)%;4rc*OJyu|irl*QD#wSJX3>AdpG|>v4Y`C<9L`t}U9L0gY<+NO^ufJBnLG&P^C+S7RoByYC5QohE_RUP*o0aT4VKB^;x^I?Idvv0^9Y zaFTcl58^5w#wN;!`qmx1Pdu>kdz3t%ke~Wy-Leo=R`a;@h_!spx?dy\n" -"Language-Team: Slovak \n" +"POT-Creation-Date: 2010-05-06 12:15+0100\n" +"PO-Revision-Date: 2010-05-07 09:48+0200\n" +"Last-Translator: Martin Kosír \n" +"Language-Team: Slovak <>\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==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n>1 && n<5 ? 1 : 2;\n" -#: contrib/admin/media/js/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "Dostupné %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Vybrať všetko" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Pridať" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" -msgstr "Vymazať" +msgstr "Odstrániť" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "Vybrané %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " -msgstr "Zvoľte si a kliknite " +msgstr "Zvoľte možnosť a kliknite " -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Všetko zrušiť" +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s z %(cnt)s vybrané" +msgstr[1] "%(sel)s z %(cnt)s vybrané" +msgstr[2] "%(sel)s z %(cnt)s vybraných" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Vrámci jednotlivých editovateľných polí máte neuložené zmeny. Ak vykonáte " +"akciu, vaše zmeny budú stratené." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Vybrali ste akciu, ale neuložili ste jednotlivé polia. Prosím, uložte zmeny " +"kliknutím na OK. Akciu budete musieť vykonať znova." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Vybrali ste akciu, ale neurobili ste žiadne zmeny v jednotlivých poliach. " +"Pravdepodobne ste chceli použiť tlačidlo vykonať namiesto uložiť." + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -57,62 +94,63 @@ msgstr "" msgid "S M T W T F S" msgstr "N P U S Š P S" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Zobraziť" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Skryť" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "nedeľa pondelok utorok streda štvrtok piatok sobota" -#: 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 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Teraz" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "Hodiny" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Vybrať čas" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "Polnoc" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "6:00" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "Poludnie" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Zrušiť" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "Dnes" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Kalendár" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "Včera" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "Zajtra" diff --git a/django/conf/locale/sk/__init__.py b/django/conf/locale/sk/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/sk/formats.py b/django/conf/locale/sk/formats.py new file mode 100644 index 000000000..bf90c1a64 --- /dev/null +++ b/django/conf/locale/sk/formats.py @@ -0,0 +1,32 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j. F Y' +TIME_FORMAT = 'G:i:s' +DATETIME_FORMAT = 'j. F Y G:i:s' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'd.m.Y' +SHORT_DATETIME_FORMAT = 'd.m.Y G:i:s' +FIRST_DAY_OF_WEEK = 1 # Monday +DATE_INPUT_FORMATS = ( + '%d.%m.%Y', '%d.%m.%y', # '25.10.2006', '25.10.06' + '%Y-%m-%d', '%y-%m-%d', # '2006-10-25', '06-10-25' + # '%d. %B %Y', '%d. %b. %Y', # '25. October 2006', '25. Oct. 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' + '%d.%m.%Y %H:%M', # '25.10.2006 14:30' + '%d.%m.%Y', # '25.10.2006' + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = ' ' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/sl/LC_MESSAGES/django.mo b/django/conf/locale/sl/LC_MESSAGES/django.mo index 5d0a05c936bae7a04a038c0ac2ff5850f2f6dee3..dcce29cc560c3875bf8d968a244a963f3f7143e9 100644 GIT binary patch literal 76461 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 delta 23874 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 Cvjn;T diff --git a/django/conf/locale/sl/LC_MESSAGES/django.po b/django/conf/locale/sl/LC_MESSAGES/django.po index c4227996f..766ad5782 100644 --- a/django/conf/locale/sl/LC_MESSAGES/django.po +++ b/django/conf/locale/sl/LC_MESSAGES/django.po @@ -1,224 +1,276 @@ -# translation of django.po to +# translation of django.po to Slovenian +# Gasper Zejn , 2010. +# Jure Cuhalev , 2010. # This file is distributed under the same license as the Django package. - msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-03-28 21:56+0100\n" -"PO-Revision-Date: 2009-03-29 13:24+0200\n" -"Last-Translator: Gasper Zejn \n" +"POT-Creation-Date: 2010-05-08 14:39+0200\n" +"PO-Revision-Date: 2010-05-08 13:47+0100\n" +"Last-Translator: Jure Cuhalev \n" "Language-Team: \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=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #: conf/global_settings.py:44 msgid "Arabic" msgstr "Arabščina" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "Bengalščina" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "Bolgarščina" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Bengalščina" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Bosanščina" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "Katalonščina" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "Češčina" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "Valežanski jezik" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "Danščina" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "Nemščina" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "Grščina" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "Angleščina" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "Britanska Angleščina" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "Španščina" -#: conf/global_settings.py:55 +#: conf/global_settings.py:57 +msgid "Argentinean Spanish" +msgstr "Argentinska španščina" + +#: conf/global_settings.py:58 msgid "Estonian" msgstr "Estonščina" -#: conf/global_settings.py:56 -msgid "Argentinean Spanish" -msgstr "Argentinska Španščina" - -#: conf/global_settings.py:57 +#: conf/global_settings.py:59 msgid "Basque" msgstr "Baskovščina" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "Perzijščina" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "Finščina" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "Francoščina" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Frizijščina" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "Irščina" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "Galičanski jezik" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "Madžarščina" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "Hebrejski jezik" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "Hindujščina" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "Hrvaščina" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Madžarščina" + +#: conf/global_settings.py:70 msgid "Icelandic" msgstr "Islandski jezik" -#: conf/global_settings.py:68 +#: conf/global_settings.py:71 msgid "Italian" msgstr "Italijanščina" -#: conf/global_settings.py:69 +#: conf/global_settings.py:72 msgid "Japanese" msgstr "Japonščina" -#: conf/global_settings.py:70 +#: conf/global_settings.py:73 msgid "Georgian" msgstr "Gruzijščina" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "Korejščina" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:74 msgid "Khmer" msgstr "Kmerščina" -#: conf/global_settings.py:73 +#: conf/global_settings.py:75 msgid "Kannada" msgstr "Kanareščina" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "Latvijščina" +#: conf/global_settings.py:76 +msgid "Korean" +msgstr "Korejščina" -#: conf/global_settings.py:75 +#: conf/global_settings.py:77 msgid "Lithuanian" msgstr "Litvanščina" -#: conf/global_settings.py:76 +#: conf/global_settings.py:78 +msgid "Latvian" +msgstr "Latvijščina" + +#: conf/global_settings.py:79 msgid "Macedonian" msgstr "Makedonščina" -#: conf/global_settings.py:77 +#: conf/global_settings.py:80 +msgid "Mongolian" +msgstr "Mongolščina" + +#: conf/global_settings.py:81 msgid "Dutch" msgstr "Nizozemščina" -#: conf/global_settings.py:78 +#: conf/global_settings.py:82 msgid "Norwegian" msgstr "Norveščina" -#: conf/global_settings.py:79 +#: conf/global_settings.py:83 +msgid "Norwegian Bokmal" +msgstr "Norveščina Bokmal" + +#: conf/global_settings.py:84 +msgid "Norwegian Nynorsk" +msgstr "Norveščina Nynorsk" + +#: conf/global_settings.py:85 msgid "Polish" msgstr "Poljščina" -#: conf/global_settings.py:80 +#: conf/global_settings.py:86 msgid "Portuguese" msgstr "Portugalščina" -#: conf/global_settings.py:81 +#: conf/global_settings.py:87 msgid "Brazilian Portuguese" msgstr "Brazilska portugalščina" -#: conf/global_settings.py:82 +#: conf/global_settings.py:88 msgid "Romanian" msgstr "Romunščina" -#: conf/global_settings.py:83 +#: conf/global_settings.py:89 msgid "Russian" msgstr "Ruščina" -#: conf/global_settings.py:84 +#: conf/global_settings.py:90 msgid "Slovak" msgstr "Slovaščina" -#: conf/global_settings.py:85 +#: conf/global_settings.py:91 msgid "Slovenian" msgstr "Slovenščina" -#: conf/global_settings.py:86 +#: conf/global_settings.py:92 +msgid "Albanian" +msgstr "Albanščina" + +#: conf/global_settings.py:93 msgid "Serbian" msgstr "Srbščina" -#: conf/global_settings.py:87 +#: conf/global_settings.py:94 +msgid "Serbian Latin" +msgstr "Srbščina v latinici" + +#: conf/global_settings.py:95 msgid "Swedish" msgstr "Švedščina" -#: conf/global_settings.py:88 +#: conf/global_settings.py:96 msgid "Tamil" msgstr "Tamilščina" -#: conf/global_settings.py:89 +#: conf/global_settings.py:97 msgid "Telugu" msgstr "Teluščina" -#: conf/global_settings.py:90 +#: conf/global_settings.py:98 msgid "Thai" msgstr "Tajski jezik" -#: conf/global_settings.py:91 +#: conf/global_settings.py:99 msgid "Turkish" msgstr "Turščina" -#: conf/global_settings.py:92 +#: conf/global_settings.py:100 msgid "Ukrainian" msgstr "Ukrajinščina" -#: conf/global_settings.py:93 +#: conf/global_settings.py:101 +msgid "Vietnamese" +msgstr "Vietnamščina" + +#: conf/global_settings.py:102 msgid "Simplified Chinese" msgstr "Poenostavljena kitajščina" -#: conf/global_settings.py:94 +#: conf/global_settings.py:103 msgid "Traditional Chinese" msgstr "Tradicionalna kitajščina" +#: contrib/admin/actions.py:48 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "Uspešno izbrisano %(count)d %(items)s." + +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 +msgid "Are you sure?" +msgstr "Ste prepričani?" + +#: contrib/admin/actions.py:73 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Izbriši izbrano: %(verbose_name_plural)s" + #: contrib/admin/filterspecs.py:44 #, python-format msgid "" @@ -253,19 +305,19 @@ msgstr "Ta mesec" msgid "This year" msgstr "Letos" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:413 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "Da" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:413 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "Ne" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:413 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "Neznano" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Dejanje:" @@ -297,98 +349,98 @@ msgstr "dnevniški vnos" msgid "log entries" msgstr "dnevniški vnosi" -#: contrib/admin/options.py:131 contrib/admin/options.py:145 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "Brez vrednosti" -#: contrib/admin/options.py:498 -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Uspešno izbrisano %(count)d %(items)s" - -#: contrib/admin/options.py:505 contrib/admin/options.py:1012 -msgid "Are you sure?" -msgstr "Ste prepričani?" - -#: contrib/admin/options.py:523 -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Izbriši izbrano: %(verbose_name_plural)s" - -#: contrib/admin/options.py:531 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "Spremenjen %s." -#: contrib/admin/options.py:531 contrib/admin/options.py:541 -#: contrib/comments/templates/comments/preview.html:15 forms/models.py:296 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:568 msgid "and" msgstr "in" -#: contrib/admin/options.py:536 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Dodal %(name)s \"%(object)s\"." -#: contrib/admin/options.py:540 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Spremenjeno %(list)s za %(name)s \"%(object)s\"." -#: contrib/admin/options.py:545 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Izbrisan %(name)s \"%(object)s\"." -#: contrib/admin/options.py:549 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Nobeno polje ni bilo spremenjeno." -#: contrib/admin/options.py:610 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" je bil uspešno dodan." -#: contrib/admin/options.py:614 contrib/admin/options.py:647 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." msgstr "Vsebino lahko znova uredite spodaj." -#: contrib/admin/options.py:624 contrib/admin/options.py:657 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." msgstr "Spodaj lahko dodate še en %s." -#: contrib/admin/options.py:645 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" je bil uspešno spremenjen." -#: contrib/admin/options.py:653 +#: contrib/admin/options.py:686 #, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "%(name)s \"%(obj)s\" je bil uspešno dodan. Ponovno ga lahko uredite spodaj." +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"%(name)s \"%(obj)s\" je bil uspešno dodan. Ponovno ga lahko uredite spodaj." -#: contrib/admin/options.py:774 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Izbrati morate vnose, nad katerimi želite izvesti operacijo. Noben vnos ni " +"bil spremenjen." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Brez dejanja." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Dodaj %s" -#: contrib/admin/options.py:805 contrib/admin/options.py:990 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Objekt %(name)s z glavnim ključem %(key)r ne obstaja." -#: contrib/admin/options.py:862 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "Spremeni %s" -#: contrib/admin/options.py:894 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Napaka v podatkovni bazi" -#: contrib/admin/options.py:930 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." @@ -397,18 +449,32 @@ msgstr[1] "%(count)s %(name)s sta bila uspešno spremenjena." msgstr[2] "%(count)s %(name)s so bili uspešno spremenjeni." msgstr[3] "%(count)s %(name)s je bilo uspešno spremenjenih." -#: contrib/admin/options.py:1005 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s izbran" +msgstr[1] "%(total_count)s izbrana" +msgstr[2] "%(total_count)s izbrani" +msgstr[3] "%(total_count)s izbranih" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 od %(cnt)s izbranih" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" je bil uspešno izbrisan." -#: contrib/admin/options.py:1041 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Zgodovina sprememb: %s" -#: contrib/admin/sites.py:15 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -416,11 +482,11 @@ msgstr "" "Prosimo, vnesite veljavno uporabniško ime in geslo. Opomba: obe polji " "upoštevata velikost črk." -#: contrib/admin/sites.py:250 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Vaša seja je pretekla; prosimo da se ponovno prijavite." -#: contrib/admin/sites.py:257 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -428,62 +494,52 @@ msgstr "" "Izgleda, da vaš brskalnik nima podpore za piškotke. Prosimo, vključite " "piškotke, osvežite stran in poskusite ponovno." -#: contrib/admin/sites.py:273 contrib/admin/sites.py:279 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Uporabniška imena ne smejo vsebovati znaka '@'." -#: contrib/admin/sites.py:276 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "Vaš e-main naslov ni vaše uporabniško ime. Poskusite uporabiti '%s'." +msgstr "Vaš e-mail naslov ni vaše uporabniško ime. Poskusite uporabiti '%s'." -#: contrib/admin/sites.py:336 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Administracija strani" -#: contrib/admin/sites.py:349 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Prijavite se" -#: contrib/admin/sites.py:396 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "Administracija %s" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Eden ali več %(fieldname)s v %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Eden ali več %(fieldname)s v %(name)s:" - -#: contrib/admin/widgets.py:70 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Datum:" -#: contrib/admin/widgets.py:70 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Ura:" -#: contrib/admin/widgets.py:94 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Trenutno:" -#: contrib/admin/widgets.py:94 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Sprememba:" -#: contrib/admin/widgets.py:123 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Poizvedba" -#: contrib/admin/widgets.py:230 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Dodaj še enega" @@ -498,17 +554,17 @@ msgstr "Opravičujemo se, a zahtevane strani ni mogoče najti." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:33 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:20 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -534,19 +590,30 @@ 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. Napaka je bila prijavljena " -"administratorjem spletne strani in naj bi jo v kratkem odpravili. Hvala za " -"potrpljenje." +"Prišlo je do nepričakovane napake. Napaka je bila javljena administratorjem " +"spletne strani in naj bi jo v kratkem odpravili. Hvala za potrpljenje." #: contrib/admin/templates/admin/actions.html:4 msgid "Run the selected action" msgstr "Izvedi izbrano dejanje" #: contrib/admin/templates/admin/actions.html:4 -#: contrib/admin/templates/admin/search_form.html:8 msgid "Go" msgstr "Pojdi" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Kliknite tu za izbiro vseh vnosov na vseh straneh" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Izberi vse %(total_count)s %(module_name)s" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Počisti izbiro" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format @@ -557,24 +624,24 @@ msgstr "%(name)s" msgid "Welcome," msgstr "Dobrodošli," -#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentacija" -#: contrib/admin/templates/admin/base.html:28 -#: contrib/admin/templates/admin/auth/user/change_password.html:13 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Spremeni geslo" -#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Odjava" @@ -586,25 +653,26 @@ msgstr "Django administrativni vmesnik" msgid "Django administration" msgstr "Django administracija" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Dodaj" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Zgodovina" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Poglej na strani" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:49 -#: contrib/admin/templates/admin/auth/user/change_password.html:22 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Prosimo, odpravite sledečo napako." @@ -612,17 +680,17 @@ 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_list.html:41 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Dodaj %(name)s" -#: contrib/admin/templates/admin/change_list.html:60 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filter" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:251 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Izbriši" @@ -652,7 +720,7 @@ msgstr "Ja, prepričan sem" #: contrib/admin/templates/admin/delete_selected_confirmation.html:9 msgid "Delete multiple objects" -msgstr "Izbriši več objektov." +msgstr "Izbriši več objektov" #: contrib/admin/templates/admin/delete_selected_confirmation.html:15 #, python-format @@ -661,17 +729,17 @@ msgid "" "your account doesn't have permission to delete the following types of " "objects:" msgstr "" -"Izbris %(object_name)s bi pomenil izbris povezanih " -"objektov, vendar nimate dovoljenja za izbris naslednjih tipov objektov:" +"Izbris %(object_name)s bi pomenil izbris povezanih objektov, vendar nimate " +"dovoljenja za izbris naslednjih tipov objektov:" #: contrib/admin/templates/admin/delete_selected_confirmation.html:22 #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" -"Ste prepričani, da želite izbrisati izbrane objekte %(object_name)s? " -"Vsi naslednji vnosi in povezani vnosi bodo izbrisani:" +"Ste prepričani, da želite izbrisati izbrane objekte %(object_name)s? Vsi " +"naslednji vnosi in povezani vnosi bodo izbrisani:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -703,6 +771,10 @@ msgstr "Moja dejanja" msgid "None available" msgstr "Ni na voljo" +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "Neznana vsebina" + #: contrib/admin/templates/admin/invalid_setup.html:7 msgid "" "Something's wrong with your database installation. Make sure the appropriate " @@ -730,15 +802,9 @@ msgid "User" msgstr "Uporabnik" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Dejanje" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j. F Y, H:i:s" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -751,6 +817,15 @@ msgstr "" msgid "Show all" msgstr "Prikaži vse" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Shrani" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Search" +msgstr "Išči" + #: contrib/admin/templates/admin/search_form.html:10 #, python-format msgid "1 result" @@ -765,10 +840,6 @@ msgstr[3] "%(counter)s rezultatov" msgid "%(full_result_count)s total" msgstr "%(full_result_count)s skupno" -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "Shrani" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "Shrani kot novo" @@ -781,7 +852,7 @@ msgstr "Shrani in dodaj še eno" msgid "Save and continue editing" msgstr "Shrani in nadaljuj z urejanjem" -#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#: contrib/admin/templates/admin/auth/user/add_form.html:5 msgid "" "First, enter a username and password. Then, you'll be able to edit more user " "options." @@ -789,36 +860,42 @@ msgstr "" "Najprej vpišite uporabniško ime in geslo, nato boste lahko urejali druge " "lastnosti uporabnika." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Uporabniško ime" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:33 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Geslo" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:39 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Geslo (ponovno)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -msgid "Enter the same password as above, for verification." -msgstr "Vpišite enako geslo kot zgoraj, da se izognete tipkarskim napakam." - -#: contrib/admin/templates/admin/auth/user/change_password.html:26 +#: contrib/admin/templates/admin/auth/user/change_password.html:28 #, python-format msgid "Enter a new password for the user %(username)s." msgstr "Vpišite novo geslo za uporabnika %(username)s." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Geslo" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Geslo (ponovno)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Vpišite enako geslo kot zgoraj, da se izognete tipkarskim napakam." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Dodaj še en %(verbose_name)s" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Odstrani" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" -msgstr "Izbriši?" +msgstr "Izbrišem?" #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." @@ -829,9 +906,9 @@ msgid "Log in again" msgstr "Ponovna prijava" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Sprememba gesla" @@ -844,29 +921,25 @@ msgstr "Sprememba gesla je uspela" msgid "Your password was changed." msgstr "Vaše geslo je bilo spremenjeno." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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 se izognete tipkarskim napakam." +"Vnesite vaše staro geslo (zaradi varnosti) in nato še dvakrat novo, da se " +"izognete tipkarskim napakam." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Staro geslo:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Staro geslo" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Novo geslo:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Novo geslo" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Potrditev gesla:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Spremeni moje geslo" @@ -901,7 +974,15 @@ msgstr "Vpišite novo geslo" msgid "" "Please enter your new password twice so we can verify you typed it in " "correctly." -msgstr "Prosim, vnesite vaše novo geslo dvakrat, da se izognete tipkarskim napakam." +msgstr "Vnesite vaše novo geslo dvakrat, da se izognete tipkarskim napakam." + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Novo geslo:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Potrditev gesla:" #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" @@ -970,166 +1051,85 @@ msgstr "Naslov e-pošte:" msgid "Reset my password" msgstr "Ponastavi moje geslo" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:239 msgid "All dates" msgstr "Vsi datumi" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "Izberite %s" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "Izberite %s, ki ga želite spremeniti" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "stran" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "predloga" -#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60 -#: contrib/admindocs/views.py:62 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "značka:" -#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93 -#: contrib/admindocs/views.py:95 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "filter:" -#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157 -#: contrib/admindocs/views.py:159 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "pogled:" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "Aplikacije %r ni mogoče najti" -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "Modela %(model_name)r ni v aplikaciji %(app_label)r" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "povezani `%(app_label)s.%(data_type)s` objekt" -#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:228 -#: contrib/admindocs/views.py:242 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "model:" -#: contrib/admindocs/views.py:237 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "povezani `%(app_label)s.%(object_name)s` objekti" -#: contrib/admindocs/views.py:242 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "vse %s" -#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "število %s" -#: contrib/admindocs/views.py:252 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "Polja na %s objektih" -#: contrib/admindocs/views.py:315 contrib/admindocs/views.py:326 -#: contrib/admindocs/views.py:328 contrib/admindocs/views.py:334 -#: contrib/admindocs/views.py:335 contrib/admindocs/views.py:337 -msgid "Integer" -msgstr "Celo število (integer)" - -#: contrib/admindocs/views.py:316 -msgid "Boolean (Either True or False)" -msgstr "Boolova vrednost (True ali False)" - -#: contrib/admindocs/views.py:317 contrib/admindocs/views.py:336 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Niz znakov (vse do %(max_length)s)" - -#: contrib/admindocs/views.py:318 -msgid "Comma-separated integers" -msgstr "Z vejico ločena cela števila (integer)" - -#: contrib/admindocs/views.py:319 -msgid "Date (without time)" -msgstr "Datum (brez ure)" - -#: contrib/admindocs/views.py:320 -msgid "Date (with time)" -msgstr "Datum (z uro)" - -#: contrib/admindocs/views.py:321 -msgid "Decimal number" -msgstr "Decimalno število" - -#: contrib/admindocs/views.py:322 -msgid "E-mail address" -msgstr "E-mail naslov" - -#: contrib/admindocs/views.py:323 contrib/admindocs/views.py:324 -#: contrib/admindocs/views.py:327 -msgid "File path" -msgstr "Pot do datoteke" - -#: contrib/admindocs/views.py:325 -msgid "Floating point number" -msgstr "Število s plavajočo vejico" - -#: contrib/admindocs/views.py:329 contrib/comments/models.py:58 -msgid "IP address" -msgstr "IP naslov" - -#: contrib/admindocs/views.py:331 -msgid "Boolean (Either True, False or None)" -msgstr "Boolova vrednost (True, False ali None)" - -#: contrib/admindocs/views.py:332 -msgid "Relation to parent model" -msgstr "Razmerje s starševskim modelom" - -#: contrib/admindocs/views.py:333 -msgid "Phone number" -msgstr "Telefonska številka" - -#: contrib/admindocs/views.py:338 -msgid "Text" -msgstr "Besedilo" - -#: contrib/admindocs/views.py:339 -msgid "Time" -msgstr "Čas" - -#: contrib/admindocs/views.py:340 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL (spletni naslov)" - -#: contrib/admindocs/views.py:341 -msgid "U.S. state (two uppercase letters)" -msgstr "Koda ameriške zvezne države (dve veliki črki)" - -#: contrib/admindocs/views.py:342 -msgid "XML text" -msgstr "XML besedilo" - -#: contrib/admindocs/views.py:368 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s ne izgleda veljaven urlpattern objekt" @@ -1170,7 +1170,8 @@ msgstr "Dokumentacija te strani" msgid "" "Jumps you from any page to the documentation for the view that generates " "that page." -msgstr "Skok na stran z dokumentacijo za pogled (view), ki generira trenutno stran." +msgstr "" +"Skok na stran z dokumentacijo za pogled (view), ki generira trenutno stran." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 msgid "Show object ID" @@ -1180,7 +1181,8 @@ msgstr "Pokaži ID objekta" msgid "" "Shows the content-type and unique ID for pages that represent a single " "object." -msgstr "Pokaže content-type in unikatni ID za strani, ki predstavljajo en objekt." +msgstr "" +"Pokaže content-type in unikatni ID za strani, ki predstavljajo en objekt." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 msgid "Edit this object (current window)" @@ -1188,7 +1190,8 @@ msgstr "Uredi objekt (v trenutnem oknu)" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "Skok na administracijsko stran za vse strani, ki predstavljajo en objekt." +msgstr "" +"Skok na administracijsko stran za vse strani, ki predstavljajo en objekt." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 msgid "Edit this object (new window)" @@ -1198,66 +1201,64 @@ msgstr "Uredi ta objekt (v novem oknu)" msgid "As above, but opens the admin page in a new window." msgstr "Kot zgoraj, le da odpre administracijsko stran v novem oknu." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Osebni podatki" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Dovoljenja" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Pomembni datumi" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Skupine" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Dodaj uporabnika" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Geslo je bilo uspešno spremenjeno." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Spremeni geslo: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:127 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Zahtevano. 30 znakov ali manj. Samo alfanumerični znaki (črke, števke in " -"opdčrtaji)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Uporabniško ime" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Ta vrednost sme vsebovati le črke, števila in podčrtaje (_)." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Zahtevano. 30 znakov ali manj. Samo alfanumerični znaki ali naslednji znaki " +"@/./+/-/_." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "" +"Ta vrednost sme vsebovati le črke, števila ali kateri znak izmed @/./+/-/_." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Potrditev gesla" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Uporabnik s tem uporabniškim imenom že obstaja." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Gesli se ne ujemata." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Ta uporabniški račun ni aktiven." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1265,11 +1266,11 @@ msgstr "" "Izgleda, da vaš brskalnik nima omogočenih piškotkov. Piškotki so potrebni za " "prijavo." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-poštni naslov" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1277,72 +1278,71 @@ msgstr "" "Tega e-mail naslova ni mogoče pripisati nobenemu uporabniku. Ali ste " "prepričani, da ste registrirani?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Ponastavitev gesla za %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Novo geslo" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Potrditev novega gesla" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Staro geslo" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Vaše staro geslo ni pravilno. Prosim, poskusite ponovno." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "ime" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "kodno ime" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "dovoljenje" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "dovoljenja" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "skupina" -#: contrib/auth/models.py:91 contrib/auth/models.py:137 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "skupine" -#: contrib/auth/models.py:127 +#: contrib/auth/models.py:196 msgid "username" msgstr "uporabniško ime" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Zahtevano. 30 znakov ali manj. Samo alfanumerični znaki in kateri znak izmed " +"@/./+/-/_" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "ime" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:198 msgid "last name" msgstr "priimek" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "e-mail naslov" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:200 msgid "password" msgstr "geslo" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1350,19 +1350,19 @@ msgstr "" "Uporabite '[algo]$[salt]$[hexdigest]' ali obrazec za " "spremembo gesla." -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "status osebja" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "Določi, če se sme uporabnik prijaviti v to administracijsko stran." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:202 msgid "active" msgstr "aktiven" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1370,25 +1370,27 @@ msgstr "" "Določi, če se uporabnik smatra za aktivega. Odstranite to možnost namesto da " "brišete račune." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "status superuporabnika" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." -msgstr "Uporabnik bo imel vse pravice brez posamičnega dodeljevanja pravic." +msgstr "" +"Uporabnik bo imel vse pravice brez da bi mu morali posamično dodeljevati " +"pravice." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:204 msgid "last login" msgstr "zadnja prijava" -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "registriran od" -#: contrib/auth/models.py:138 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1396,40 +1398,96 @@ msgstr "" "Poleg ročno določenih dovoljenj bo ta uporabnik dobil tudi vsa dovoljenja, " "ki pripadajo skupinam, katerih član je." -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "uporabniška dovoljenja" -#: contrib/auth/models.py:143 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 msgid "user" msgstr "uporabnik" -#: contrib/auth/models.py:144 +#: contrib/auth/models.py:213 msgid "users" msgstr "uporabniki" -#: contrib/auth/models.py:300 +#: contrib/auth/models.py:394 msgid "message" msgstr "sporočilo" -#: contrib/auth/views.py:50 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Odjavljen" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Vnesite veljaven e-mail." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Vsebina" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metapodatki" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "označen" +msgstr[1] "označena" +msgstr[2] "označeni" +msgstr[3] "označenih" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Označi izbrane komentarje" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "odobren" +msgstr[1] "odobrena" +msgstr[2] "odobreni" +msgstr[3] "odobrenih" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Odobri izbrane komentarje" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "odstranjen" +msgstr[1] "odstranjena" +msgstr[2] "odstranjeni" +msgstr[3] "odstranjenih" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Odstrani izbrane komentarje" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "%(count)s komentar je bil uspešno %(action)s." +msgstr[1] "%(count)s komentarja sta bila uspešno %(action)s." +msgstr[2] "%(count)s komentarji so bili uspešno %(action)s." +msgstr[3] "%(count)s komentarjev je bilo uspešno %(action)s." + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "%(site_name)s komentarji" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "Zadnji komentarji na %(site_name)s" + #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Ime" @@ -1437,12 +1495,16 @@ msgstr "Ime" msgid "Email address" msgstr "E-poštni naslov" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL (spletni naslov)" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Komentar" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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." @@ -1451,55 +1513,70 @@ 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." -#: contrib/comments/forms.py:180 -msgid "If you enter anything in this field your comment will be treated as spam" +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" msgstr "Če v to polje vnesete karkoli, bo vaš komentar označen kot nezaželen" -#: contrib/comments/models.py:23 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "tip vsebine" + +#: contrib/comments/models.py:24 msgid "object ID" msgstr "ID objekta" -#: contrib/comments/models.py:50 +#: contrib/comments/models.py:52 msgid "user's name" msgstr "uporabnikovo ime" -#: contrib/comments/models.py:51 +#: contrib/comments/models.py:53 msgid "user's email address" msgstr "e-poštni naslov" -#: contrib/comments/models.py:52 +#: contrib/comments/models.py:54 msgid "user's URL" msgstr "uporabnikov URL" -#: contrib/comments/models.py:54 +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 msgid "comment" msgstr "komentar" -#: contrib/comments/models.py:57 +#: contrib/comments/models.py:59 msgid "date/time submitted" msgstr "datum/čas vnosa" -#: contrib/comments/models.py:59 +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP naslov" + +#: contrib/comments/models.py:61 msgid "is public" msgstr "je javno" -#: contrib/comments/models.py:60 -msgid "Uncheck this box to make the comment effectively disappear from the site." +#: contrib/comments/models.py:62 +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." msgstr "Odkljukajte tu da komentar izgine s strani." -#: contrib/comments/models.py:62 +#: contrib/comments/models.py:64 msgid "is removed" msgstr "je odstranjen" -#: contrib/comments/models.py:63 +#: contrib/comments/models.py:65 msgid "" "Check this box if the comment is inappropriate. A \"This comment has been " "removed\" message will be displayed instead." msgstr "" -"Odkljukaj, če je komentar neprimeren. Namesto komentarja bo vidno obvestilo " -"\"Ta komentar je bil odstranjen\"." +"Odkljukajte, če je komentar neprimeren. Namesto komentarja bo vidno " +"obvestilo \"Ta komentar je bil odstranjen\"." -#: contrib/comments/models.py:115 +#: contrib/comments/models.py:77 +msgid "comments" +msgstr "komentarji" + +#: contrib/comments/models.py:119 msgid "" "This comment was posted by an authenticated user and thus the name is read-" "only." @@ -1507,7 +1584,7 @@ msgstr "" "Ta komentar je poslal prijavljen uporabnik, zato je ime na voljo samo za " "branje." -#: contrib/comments/models.py:124 +#: contrib/comments/models.py:128 msgid "" "This comment was posted by an authenticated user and thus the email is read-" "only." @@ -1515,7 +1592,7 @@ msgstr "" "Ta komentar je poslal prijavljen uporabnik, zato je e-poštni naslov samo za " "branje." -#: contrib/comments/models.py:149 +#: contrib/comments/models.py:153 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -1530,6 +1607,22 @@ msgstr "" "\n" "http://%(domain)s%(url)s" +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "Označi" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "datum" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "označen komentar" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "oznake komentarja" + #: contrib/comments/templates/comments/approve.html:4 msgid "Approve a comment" msgstr "Odobritev komentarja" @@ -1539,7 +1632,6 @@ msgid "Really make this comment public?" msgstr "Ste prepričani, da želite ta komentar objaviti?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Odobritev" @@ -1550,8 +1642,11 @@ msgstr "Hvala za odobritev komentarja" #: contrib/comments/templates/comments/approved.html:7 #: contrib/comments/templates/comments/deleted.html:7 #: contrib/comments/templates/comments/flagged.html:7 -msgid "Thanks for taking the time to improve the quality of discussion on our site" -msgstr "Hvala, da ste si vzeli čas in pomagali izboljšati kvaliteto dialoga na naši strani" +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "" +"Hvala, da ste si vzeli čas in pomagali izboljšati kvaliteto dialoga na naši " +"strani" #: contrib/comments/templates/comments/delete.html:4 msgid "Remove a comment" @@ -1561,11 +1656,6 @@ msgstr "Odstrani komentar" msgid "Really remove this comment?" msgstr "Zares želite odstraniti ta komentar?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Odstrani" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Hvala, ker ste odstranili" @@ -1586,49 +1676,16 @@ msgstr "Prijavi" msgid "Thanks for flagging" msgstr "Hvala, ker ste prijavili komentar" -#: contrib/comments/templates/comments/form.html:16 -#: contrib/comments/templates/comments/preview.html:31 +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 msgid "Post" msgstr "Pošlji" -#: contrib/comments/templates/comments/form.html:17 -#: contrib/comments/templates/comments/preview.html:32 +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 msgid "Preview" msgstr "Predogled" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Vrsta za moderiranje komentarjev" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Ni komentarjev ki bi potrebovali moderiranje" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "E-poštni naslov" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Overovljeno?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "IP naslov" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Datum objave" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "Da" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "Ne" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Hvala za komentiranje" @@ -1638,11 +1695,11 @@ msgid "Thank you for your comment" msgstr "Hvala za vaš komentar" #: contrib/comments/templates/comments/preview.html:4 -#: contrib/comments/templates/comments/preview.html:12 +#: contrib/comments/templates/comments/preview.html:13 msgid "Preview your comment" msgstr "Predogled vašega komentarja" -#: contrib/comments/templates/comments/preview.html:10 +#: contrib/comments/templates/comments/preview.html:11 msgid "Please correct the error below" msgid_plural "Please correct the errors below" msgstr[0] "Prosimo, odpravite sledečo napako" @@ -1650,28 +1707,25 @@ msgstr[1] "Prosimo, odpravite sledeči napaki" msgstr[2] "Prosimo, odpravite sledeče napake" msgstr[3] "Prosimo, odpravite sledeče napake" -#: contrib/comments/templates/comments/preview.html:15 +#: contrib/comments/templates/comments/preview.html:16 msgid "Post your comment" msgstr "Pošlji svoj komentar" -#: contrib/comments/templates/comments/preview.html:15 +#: contrib/comments/templates/comments/preview.html:16 msgid "or make changes" msgstr "ali naredite spremembe" -#: contrib/contenttypes/models.py:67 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "python ime razreda modela" -#: contrib/contenttypes/models.py:71 -msgid "content type" -msgstr "tip vsebine" - -#: contrib/contenttypes/models.py:72 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "tipi vsebine" #: contrib/flatpages/admin.py:9 -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 "" "Primer: '/about/contact/'. Preverite ali vsebuje / (poševnico) na začetku in " "koncu vnosa." @@ -1730,7 +1784,7 @@ msgstr "enostavna stran" msgid "flat pages" msgstr "enostavne strani" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1738,18 +1792,59 @@ msgstr "" "Se opravičujemo, ampak vaš obrazec je potekel. Prosimo, da nadaljujete z " "izpolnjevanjem obrazca na tej strani." -#: contrib/gis/forms/fields.py:14 +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" +"Osnovno GIS polje -- se preslika v tip Geometry po OpenGIS specifikaciji." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Točka" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Črtni zapis" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Poligon" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Večtočkovje" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Več črtni zapis" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Več poligonov" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Niz likov" + +#: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Niste navedli geometrijske vrednosti." -#: contrib/gis/forms/fields.py:15 +#: contrib/gis/forms/fields.py:18 msgid "Invalid geometry value." msgstr "Neveljavna geometrijska vrednost." -#: contrib/gis/forms/fields.py:16 +#: contrib/gis/forms/fields.py:19 msgid "Invalid geometry type." msgstr "Neveljaven tip geometrije." +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" +"Pri pretvorbi geometrijskega zapisa v SRID geometrijskega polja je prišlo do " +"napake." + #: contrib/humanize/templatetags/humanize.py:19 msgid "th" msgstr "th" @@ -1779,10 +1874,10 @@ msgstr[3] "%(value).1f milijonov" #, python-format msgid "%(value).1f billion" msgid_plural "%(value).1f billion" -msgstr[0] "%(value).1f bilijon" -msgstr[1] "%(value).1f bilijona" -msgstr[2] "%(value).1f bilijoni" -msgstr[3] "%(value).1f bilijonov" +msgstr[0] "%(value).1f miljarda" +msgstr[1] "%(value).1f miljardi" +msgstr[2] "%(value).1f miljarde" +msgstr[3] "%(value).1f miljard" #: contrib/humanize/templatetags/humanize.py:57 #, python-format @@ -1841,25 +1936,25 @@ msgstr "jutri" msgid "yesterday" msgstr "včeraj" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Vpišite poštno številko v zapisu NNNN or ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "To polje lahko vsebuje samo številke." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "To polje mora vsebovati 7 ali 8 števk." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Vpišite veljavno CUIT v zapisu XX-XXXXXXXX-X or XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Neveljaven CUIT vnos." @@ -1873,11 +1968,11 @@ msgstr "Koroška" #: contrib/localflavor/at/at_states.py:7 msgid "Lower Austria" -msgstr "Nizka Avstrija" +msgstr "Spodnja Avstrija" #: contrib/localflavor/at/at_states.py:8 msgid "Upper Austria" -msgstr "Visoka Avstrija" +msgstr "Zgornja Avstrija" #: contrib/localflavor/at/at_states.py:9 msgid "Salzburg" @@ -1899,8 +1994,8 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Dunaj" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Vnesite veljavno poštno številko v obliki XXXX." @@ -1910,45 +2005,46 @@ msgstr "" "Vpišite veljavno številko avstrijskega socialnega zavarovanja v zapisu XXXX " "XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Vnesite 4-mestno poštno številko." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Vnesite poštno številko v zapisu XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Telefonska številka mora biti v zapisu XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." -msgstr "Izberite veljavno brazilsko državo. Ta država ni med ponujenimi izbirami." +msgstr "" +"Izberite veljavno brazilsko državo. Ta država ni med ponujenimi izbirami." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Nepravilna CPF številka." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "To polje zahteva največ 11 števk ali 14 znakov." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "Nepravilna CNPJ številka." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "To polje mora vsebovati vsaj 14 števk." -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "Vnesite veljavno poštno številko v obliki XXX XXX." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" "Vpišite veljavno številko kanadskega socialnega zavarovanja v zapisu XXX-XXX-" @@ -2058,7 +2154,7 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -2066,15 +2162,15 @@ msgstr "" "Vpišite veljavno številko švicarske osebne izkaznice ali potnega lista v " "zapisu X1234567<0 ali 1234567890." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Vnesite veljaven čilski RUT." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Vpišite veljaven čilenski RUT v zapisu XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Ta čilenski RUT ni veljaven." @@ -2134,23 +2230,23 @@ msgstr "Zlin Region" msgid "Moravian-Silesian Region" msgstr "Moravian-Silesian Region" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Vpišite poštno številko v zapisu XXXXX ali XXX XX." -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "Vnesite rojstno številko v obliki XXXXXX/XXXX ali XXXXXXXXXX." -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "Neveljaven neobvezni vnos Spol, veljavne vrednosti sta 'f' in 'm'" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "Vnesite veljavno rojstno številko." -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "Vnesite veljavno IC številko." @@ -2218,12 +2314,12 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringia" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "Vnesite veljavno poštno številko v obliki XXXXX." -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2498,11 +2594,11 @@ msgstr "Foral Community of Navarre" msgid "Valencian Community" msgstr "Valencian Community" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Vpišite veljavno poštno številko v obsegu in zapisu od 01XXX do 52XXX." -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." @@ -2510,61 +2606,497 @@ msgstr "" "Vpišite veljavno telefonsko številko v zapisu 6XXXXXXXX, 8XXXXXXXX ali " "9XXXXXXXX." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Prosimo, vnesite veljavni NIF, NIE, ali CIF." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Prosimo, vnesite veljaven NIF ali NIE." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Neveljavna preverjevalna vsota za NIF." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Neveljavna preverjevalna vsota za NIE." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Neveljavna preverjevalna vsota za CIF." -#: contrib/localflavor/es/forms.py:142 -msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." -msgstr "Vpišite veljavno številko bančnega računa v zapisu XXXX-XXXX-XX-XXXXXXXXXX." - #: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" +"Vpišite veljavno številko bančnega računa v zapisu XXXX-XXXX-XX-XXXXXXXXXX." + +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Neveljavna preverjevalna vsota za številko bančnega računa." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Vnesite veljavno številko finskega socialnega zavarovanja." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Telefonska številka mora biti v zapisu 0X XX XX XX XX." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Vnesite veljavno poštno številko" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Vnesite veljavno telefonsko številko" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Vnesite veljavno avtomobilsko registrsko številko" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Vnesite veljavno NIK/KTP številko." + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Jawa Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Jawa Tengah" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Jawa Timur" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Barat" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Selatan" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Tengah" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Timur" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Kepulauan Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Maluku" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Maluku Utara" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara Barat" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara Timur" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Barat" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Sulawesi Barat" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi Selatan" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi Tengah" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi Tenggara" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi Utara" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatera Barat" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera Selatan" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera Utara" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps Consulate" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Zvezna vlada" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wicklow" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "Vnesite poštno številko v zapisu XXXXXXX." -#: contrib/localflavor/is_/forms.py:17 -msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." -msgstr "Vpišite pravilno islandsko identifikacijsko številko v zapisu XXXXXX-XXXX." - #: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" +"Vpišite pravilno islandsko identifikacijsko številko v zapisu XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Islandska identifikacijska številka ni pravilna." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Vnesite veljavno poštno številko." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Vnesite veljavno številko socialnega zavarovanja." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." -msgstr "Vnesite veljavno davčno (VAT) številko." +msgstr "Vnesite veljavno davčno (DDV) številko." #: contrib/localflavor/jp/forms.py:16 msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." @@ -2758,6 +3290,10 @@ msgstr "Kagošima" msgid "Okinawa" msgstr "Okinava" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Vnesite veljavno Kuvajtsko osebno ID številko" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2886,15 +3422,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Vnesite veljavno poštno številko" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Vnesite veljavno telefonsko številko" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Vnesite veljavno nizozemsko davčno številko" @@ -2946,15 +3478,15 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Vnesite veljavno številko norveškega socialnega zavarovanja." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "To polje mora vsebovati 8 števk." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "To polje mora vsebovati 11 števk." @@ -2964,29 +3496,32 @@ msgstr "Nacionalna identifikacijska številka je sestavljena iz 11 števk." #: contrib/localflavor/pl/forms.py:39 msgid "Wrong checksum for the National Identification Number." -msgstr "Preverjevalna vsota za nacionalno identifikacijsko številko ne ustreza." +msgstr "" +"Preverjevalna vsota za nacionalno identifikacijsko številko ne ustreza." #: contrib/localflavor/pl/forms.py:71 -msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." -msgstr "Vnesite davčno številko (NIP) v obliki XXX-XXX-XX-XX ali XX-XX-XXX-XXX." +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "" +"Vnesite davčno številko (NIP) v obliki XXX-XXX-XX-XX ali XX-XX-XXX-XXX." #: contrib/localflavor/pl/forms.py:72 msgid "Wrong checksum for the Tax Number (NIP)." msgstr "Napačna preverjevalna vsota za davčno številko (NIP)." -#: contrib/localflavor/pl/forms.py:111 -msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." msgstr "" -"Nacionalna poslovna registracijska številka (REGON) je sestavljena iz 7 ali " -"9 števk." +"Nacionalna poslovna registracijska številka (REGON) je sestavljena iz 9 ali " +"14 števk." -#: contrib/localflavor/pl/forms.py:112 +#: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." msgstr "" "Napačna preverjevalna vsota za nacionalno poslovno registracijsko številko " "(REGON)." -#: contrib/localflavor/pl/forms.py:155 +#: contrib/localflavor/pl/forms.py:148 msgid "Enter a postal code in the format XX-XXX." msgstr "Vnesite veljavno poštno številko v obliki XX-XXX." @@ -3054,6 +3589,14 @@ msgstr "Greater Poland" msgid "West Pomerania" msgstr "West Pomerania" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "Vnesite poštno številko v zapisu XXXX-XXX." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "Telefonske številke morajo imeti 9 števk ali pa se začeti z + ali 00." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Vnesite veljaven CIF." @@ -3074,6 +3617,106 @@ msgstr "Telefonska številka mora biti v zapisu XXXX-XXXXXX." msgid "Enter a valid postal code in the format XXXXXX" msgstr "Vnesite veljavno poštno številko v obliki XXXXXX." +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Vnesite veljavno švedsko številko organizacije." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Vnesite veljavno švedsko osebno identifikacijsko številko." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Koordinacijske številke niso dovoljene." + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "Vnesite veljavno švedsko poštno številko v obliki XXXXX." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stockholm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "Banska Bystrica" @@ -3706,21 +4349,46 @@ msgstr "Scotland" msgid "Wales" msgstr "Wales" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Vnesite poštno številko v zapisu XXXXX ali XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Telefonska številka mora biti zapisana v formatu XXX-XXX-XXXX." + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" "Vpišite veljavno številko ameriškega socialnega zavarovanja v zapisu XXX-XX-" "XXXX." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "Vpiši zvezno državno ZDA ali ozemlje ZDA." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Koda ameriške zvezne države (dve veliki črki)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Telefonska številka" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" +"Vpišite veljavno CI številko v formatu X.XXX.XXX-X,XXXXXXX-X ali XXXXXXXX." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Vnesite veljavno CI številko." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Vnesite veljavno južnoafriško ID številko" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Vnesite veljavno južnoafriško poštno številko." @@ -3760,6 +4428,10 @@ msgstr "North West" msgid "Western Cape" msgstr "Western Cape" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "leno sporočilo" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "preusmeritev iz" @@ -3768,7 +4440,8 @@ msgstr "preusmeritev iz" msgid "" "This should be an absolute path, excluding the domain name. Example: '/" "events/search/'." -msgstr "Ta pot mora biti absolutna, brez imena domene. Primer: '/events/search/'." +msgstr "" +"Ta pot mora biti absolutna, brez imena domene. Primer: '/events/search/'." #: contrib/redirects/models.py:9 msgid "redirect to" @@ -3822,148 +4495,297 @@ msgstr "prikazno ime" msgid "sites" msgstr "strani" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:700 -msgid "This value must be an integer." -msgstr "Ta vrednost mora biti celo število." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Vnesite veljavno vrednost." -#: db/models/fields/__init__.py:387 -msgid "This value must be either True or False." -msgstr "Ta vrednost mora biti \"True\" ali \"False\"." +#: core/validators.py:87 forms/fields.py:529 +msgid "Enter a valid URL." +msgstr "Vnesite veljaven URL naslov." -#: db/models/fields/__init__.py:420 -msgid "This field cannot be null." -msgstr "To polje ne more biti prazno." +#: core/validators.py:89 forms/fields.py:530 +msgid "This URL appears to be a broken link." +msgstr "Izgleda, da povezava na ta URL ne deluje." -#: db/models/fields/__init__.py:436 +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Vnesite veljavno URL okrajšavo. Vrednost sme vsebovati le črke, števila, " +"podčrtaje ali pomišljaje." + +#: core/validators.py:126 forms/fields.py:866 +msgid "Enter a valid IPv4 address." +msgstr "Vnesite veljaven IPv4 naslov." + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "Vnesite samo števila, ločena z vejicami." -#: db/models/fields/__init__.py:467 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Poskrbite, da bo ta vrednost %(limit_value)s. Trenutno je %(show_value)s." + +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Poskrbite, da bo ta vrednost manj kot ali natanko %(limit_value)s znakov." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Poskrbite, da bo ta vrednost večja ali enaka %(limit_value)s." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Poskrbite, da bo ta vrednost vsaj %(limit_value)d znakov. Trenutno jih ima %" +"(show_value)d." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Poskrbite, da bo imela ta vrednost največ %(limit_value)d znakov. Trenutno " +"jih ima %(show_value)d." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s mora biti edinstveno za %(date_field)s %(lookup)s." + +#: db/models/base.py:837 db/models/base.py:845 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s s tem %(field_label)s že obstaja." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Vrednost %r ni veljavna izbira." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "To polje ne more biti prazno." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "To polje ne more biti prazno." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Polje tipa: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Celo število (integer)" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Ta vrednost mora biti celo število." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Ta vrednost mora biti \"True\" ali \"False\"." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Boolova vrednost (True ali False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Niz znakov (vse do %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Z vejico ločena cela števila (integer)" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Datum (brez ure)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Vnesite veljaven datum v zapisu YYYY-MM-DD (leto-mesec-dan)." -#: db/models/fields/__init__.py:476 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Nepravilen datum: %s" -#: db/models/fields/__init__.py:540 db/models/fields/__init__.py:558 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "" "Vnesite veljaven datum/čas v zapisu YYYY-MM-DD HH:MM[:ss[.uuuuuu]] (leto-" "mesec-dan ura:minuta:sekunde.mikrosekunde)." -#: db/models/fields/__init__.py:594 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Datum (z uro)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "Ta vrednost mora biti decimalno število." -#: db/models/fields/__init__.py:676 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Decimalno število" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "E-mail naslov" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Pot do datoteke" + +#: db/models/fields/__init__.py:822 msgid "This value must be a float." msgstr "Ta vrednost mora biti decimalno število." -#: db/models/fields/__init__.py:736 +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Število s plavajočo vejico" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Velika (8 bajtna) cela števila " + +#: db/models/fields/__init__.py:912 msgid "This value must be either None, True or False." msgstr "Ta vrednost mora biti None, True ali False." -#: db/models/fields/__init__.py:839 db/models/fields/__init__.py:853 +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Boolova vrednost (True, False ali None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Besedilo" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Čas" + +#: db/models/fields/__init__.py:1025 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "" "Vnesite veljavni čas v zapisu HH:MM[:ss[.uuuuuu]] (ura:minuta:sekunde." "mikrosekunde)." -#: db/models/fields/related.py:787 -msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML besedilo" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Model %(model)s z glavnim ključem %(pk)r ne obstaja." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Tuji ključ (tip odvisen od povezanega polja)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Relacija ena-na-ena" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Relacija več-na-več" + +#: db/models/fields/related.py:1000 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "Držite \"Control\" (ali \"Command\" na Mac-u) za izbiro več kot enega." -#: db/models/fields/related.py:865 +#: db/models/fields/related.py:1061 #, 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-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." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +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." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "To polje je obvezno." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Vnesite veljavno vrednost." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Poskrbite, da bo imela ta vrednost največ %(max)d znakov. Trenutno jih ima %" -"(length)d." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Poskrbite, da bo imela ta vrednost vsaj %(min)d znakov. Trenutno jih ima %" -"(length)d." - -#: forms/fields.py:166 +#: forms/fields.py:204 msgid "Enter a whole number." msgstr "Vnesite celo število." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Poskrbite, da bo imela ta vrednost manj manj kot ali natanko %s znakov." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Poskrbite, da bo ta vrednost večja ali kvečjemu enaka %s." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:235 forms/fields.py:256 msgid "Enter a number." msgstr "Vnesite število." -#: forms/fields.py:227 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Poskrbite, da skupno ne bo več kot %s števil." -#: forms/fields.py:228 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Poskrbite, da skupno ne bo več kot %s decimalnih mest." -#: forms/fields.py:229 +#: forms/fields.py:261 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Poskrbite, da ne bo več kot %s števil pred decimalno piko." -#: forms/fields.py:288 forms/fields.py:850 +#: forms/fields.py:323 forms/fields.py:838 msgid "Enter a valid date." msgstr "Vnesite veljaven datum." -#: forms/fields.py:322 forms/fields.py:851 +#: forms/fields.py:351 forms/fields.py:839 msgid "Enter a valid time." msgstr "Vnesite veljaven čas." -#: forms/fields.py:361 +#: forms/fields.py:377 msgid "Enter a valid date/time." msgstr "Vnesite veljaven datum/čas." -#: forms/fields.py:447 +#: forms/fields.py:435 msgid "No file was submitted. Check the encoding type on the form." msgstr "Datoteka ni bila poslana. Preverite nabor znakov v formi." -#: forms/fields.py:448 +#: forms/fields.py:436 msgid "No file was submitted." msgstr "Poslali niste nobene datoteke." -#: forms/fields.py:449 +#: forms/fields.py:437 msgid "The submitted file is empty." msgstr "Poslana datoteka je prazna." -#: forms/fields.py:478 +#: forms/fields.py:438 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" +"Poskrbite, da bo imela ta datoteka največ %(max)d znakov (trenutno jih ima %" +"(length)d)." + +#: forms/fields.py:473 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -3971,60 +4793,66 @@ msgstr "" "Naložite veljavno sliko. Naložena datoteka ni bila slika ali pa je bila le-" "ta okvarjena." -#: forms/fields.py:539 -msgid "Enter a valid URL." -msgstr "Vnesite veljaven URL naslov." - -#: forms/fields.py:540 -msgid "This URL appears to be a broken link." -msgstr "Izgleda, da povezava na ta URL ne deluje." - -#: forms/fields.py:619 forms/fields.py:697 +#: forms/fields.py:596 forms/fields.py:671 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Izberite veljavno možnost. %(value)s ni med ponujenimi izbirami." -#: forms/fields.py:698 forms/fields.py:759 forms/models.py:729 +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1002 msgid "Enter a list of values." msgstr "Vnesite seznam vrednosti." -#: forms/fields.py:879 -msgid "Enter a valid IPv4 address." -msgstr "Vnesite veljaven IPv4 naslov." - -#: forms/fields.py:889 -msgid "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Vnesite veljavno URL okrajšavo. Vrednost sme vsebovati le črke, števila, " -"podčrtaje ali pomišljaje." - -#: forms/formsets.py:247 forms/formsets.py:249 +#: forms/formsets.py:298 forms/formsets.py:300 msgid "Order" msgstr "Razvrsti" -#: forms/models.py:289 forms/models.py:298 +#: forms/models.py:562 #, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s s tem %(field_label)s že obstaja." +msgid "Please correct the duplicate data for %(field)s." +msgstr "Prosimo, odpravite podvojene vrednosti za %(field)s." -#: forms/models.py:602 +#: forms/models.py:566 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Prosimo popravite podvojene vrednosti za %(field)s, ki morajo biti unikatne." + +#: forms/models.py:572 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Prosimo popravite podvojene vrednosti za polje %(field_name)s, ki mora biti " +"edinstveno za %(lookup)s po %(date_field)s." + +#: forms/models.py:580 +msgid "Please correct the duplicate values below." +msgstr "Prosimo odpravite podvojene vrednosti spodaj." + +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "Tuji ključ se ne ujema z glavnim ključem povezanega vnosa." -#: forms/models.py:659 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Izberite veljavno možnost. Te možnosti ni med ponujenimi izbirami." -#: forms/models.py:730 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Izberite veljavno možnost. %s ni med ponujenimi izbirami." -#: template/defaultfilters.py:751 +#: forms/models.py:1005 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "\"%s\" ni veljavna vrednost za glavni ključ." + +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "da,ne,morda" -#: template/defaultfilters.py:782 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" @@ -4033,42 +4861,42 @@ msgstr[1] "%(size)d bajta" msgstr[2] "%(size)d bajti" msgstr[3] "%(size)d bajtov" -#: template/defaultfilters.py:784 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:786 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:787 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" -#: utils/dateformat.py:41 +#: utils/dateformat.py:42 msgid "p.m." msgstr "p.m." -#: utils/dateformat.py:42 +#: utils/dateformat.py:43 msgid "a.m." msgstr "a.m." -#: utils/dateformat.py:47 +#: utils/dateformat.py:48 msgid "PM" msgstr "PM" -#: utils/dateformat.py:48 +#: utils/dateformat.py:49 msgid "AM" msgstr "AM" -#: utils/dateformat.py:97 +#: utils/dateformat.py:98 msgid "midnight" msgstr "polnoč" -#: utils/dateformat.py:99 +#: utils/dateformat.py:100 msgid "noon" msgstr "poldne" @@ -4252,7 +5080,7 @@ msgstr "nov." msgid "Dec." msgstr "dec." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "ali" @@ -4304,48 +5132,51 @@ msgstr[1] "minuti" msgstr[2] "minute" msgstr[3] "minut" -#: utils/timesince.py:43 +#: utils/timesince.py:45 msgid "minutes" msgstr "minute" -#: utils/timesince.py:48 +#: utils/timesince.py:50 #, python-format msgid "%(number)d %(type)s" msgstr "%(number)d %(type)s" -#: utils/timesince.py:54 +#: utils/timesince.py:56 #, python-format msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:518 msgid "DATE_FORMAT" msgstr "j.n.Y" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:519 +msgid "DATETIME_FORMAT" +msgstr "j. F Y, H:i:s" + +#: utils/translation/trans_real.py:520 msgid "TIME_FORMAT" msgstr "H:i:s" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:541 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:542 msgid "MONTH_DAY_FORMAT" msgstr "j. F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s je bil uspešno ustvarjen." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s je bil uspešno posodobljen." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s je bil uspešno izbrisan." - diff --git a/django/conf/locale/sl/LC_MESSAGES/djangojs.mo b/django/conf/locale/sl/LC_MESSAGES/djangojs.mo index 3ab232e52cd53a82d1ac7100d612a17ec0a4ee61..3fb28cc5b8455279370a8b37ee7f3b444ec30fba 100644 GIT binary patch literal 2794 zcma)-PmEJV9LER6Kh*!=e?9y>Y=E$@w#$lGSY+8{ae?mEZ2>u%Y2R!+?R2Khn^!0y zdh;YVP1K7a9*oh0i5~PqqS?K8<8I_+Oyr^oi5Els{$9Jg1ZCq(XFfCYoB92l_kR6l z`_>Nyo)<^$Z*UCl=Pl^)^zISjRqz~mKllZBFZeb1F!(L_Ao#;b{uB5J=GVX+cpcmZ z{yySO@IK6Mfm^|?P<9I32C|;FL0)fx_=zq$wtEg_y%#_N-vfEy=iq+uE0Fd63bLLX zAltnOegfVCKL9_*p&ppW=Ie;@Q?P^iyAKS{-x%>vkk9`G;wQF1DbKfo?8gp}<9lhe zJ`Qp|_JJ@ZWHac9DcpmKu zv?oW)?8CEYd@u7(X5VnH>6iZ_+* zBbo2!#dI8t>AuuP){UaEM9fH|Y%DznwxNueX*riDk`#1TtNiR03y(hq1()qOT7OW$bGbkA!;WjUbZsa5FAfTq)Cngpt93AQqgn=+28J)x|DRr83p%4B8x3MK#L+4P5G}(Q>+>b|t$>+L#(f zH##J$EgY?;2y{SYm!X!bgr{dzY=@&-EA`pZoYyR=%8+^tM9mHRuJayx&Z;D+OmNnv z)RKL*eg&{evJteiN2 zxPLoG0~PXA!S&+}8D@6z1YswiA9`*KSp{8K^eXb{(6eDmZgVQNLzDlV3Ki>+y`O72 znP1M_Wp%eD7!i27Q`3137wQUWOF~{$yldmzi00$ywDJk=r9^QX5xRDgTT(seLsU+h zI*yK{%_OS166Gq3wP?mG$+sBI%AiU#Q79Io!Yff>KNTlSlf^xSi9!Jzqb1eXto6=) z`>0SX6({!KTp@Q-CLyYMX%i!Z^Cf%*xZs(zg-@?f2b*|LrCC1g&NpOU+hunMCu}p7 zO%>IY?3RcQCg!lwdFPvla^?B*(T!k=`9f~S*`O>;40`Z2s0-oco{`!f;5W@DDomZK z%|-h+_OUC=%11|S!^L>FO0>VOL+-7p;yCrun)wn{4L&xjrQHzDxYPzefb8Vr>7xtt z(-0j~R^e^r*iIagb!DiSFBbEYxr#}>G|`;%-K0demrawY$pbVTPVKT|NYT_(kzS_) zVasqjfoXALx|c3pS`$q|Gy&1x-3M|T6)#?|hWcV1@!ee_?=I4th+1N?PWxJ77PX)) z%5L>4${FhC31<|S&x%(aqgO6#F@F)YOb10Pmt``VQ9n^UglBw+M|$;&&X!LtO^a&B z>-MOIu9Z+!O|Kg36|~J2RC908PxtSvp`E+c(26tGty~t1J!eqrP%Jru#W)G@MvDci zpo&&$<$VmQ8{TV62&iK@5=5sva`h^9t5}(~q>8iINOh>@5IR*o)Iy00K44l=+*e)Q z1u14FDy%r32Cv2GmCJZl+QVcRO(>-lD}0h|HBNZfkV~?fS1rPiHMUs%IauAIq~}!^ z{|k^%&n2>}F7h(MYU@^>@PW5gu&7(BS6~DhnkhC{Tswvi>`qXWsx1yW|3Azp*-rLw zbF(Mbk_4}Io<`M+)1BjlT+~s4@Xs((lc(8Xl%sY0mq;k@IqUlD^Tj^=gJTQ-5!*O* zH0iEvJ91su#APZRK@l0H4I<8$%51gqEw1~Fs*EccnPeL=Y_6xf?qWxMxq9U;hv8K- KtsB;u7ykfZH5MiS delta 685 zcmZ9}yDvjg9Ki8Yw58Ou#USZ5h=I$cx6w9@7$jowNIep^lAETUO)Cbebka#8(%6WY zSS-YBF!>WCA~p$&#bERO)v-9azwK3wOhYz$(-WU4iM~)0f1_+H zg9bFBY%qvXv{5$RMA;{glDL4cT%x4s(=4j2qmubNddaW$^}qp2q9c?Woayl^lpEh5 zd#QWmQ4dtyKs}-tL!4IZMVTK&IZy-}aTJ3%rN>v%CcoOCAun8LFHttSM)?aeCkK!c zAmniJyX3GesU(3)l6I7L{})LtrI~1}w0^&$-9blg)v5>i+Nz0Y(S7+;^}7AX?N!yH zt96NbFIMt!Gx8TsD(U4Q%Jq<$2Fjx!*f?`{A8-{QxcqM5+J) diff --git a/django/conf/locale/sl/LC_MESSAGES/djangojs.po b/django/conf/locale/sl/LC_MESSAGES/djangojs.po index 4c219fe23..f41c3cac9 100644 --- a/django/conf/locale/sl/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/sl/LC_MESSAGES/djangojs.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: djangojs\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-07-02 13:55+0200\n" -"PO-Revision-Date: 2008-09-03 09:44+0200\n" -"Last-Translator: Gasper Zejn \n" +"POT-Creation-Date: 2010-05-08 14:41+0200\n" +"PO-Revision-Date: 2010-05-06 01:12+0100\n" +"Last-Translator: Jure Cuhalev \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,104 +17,149 @@ msgstr "" "X-Poedit-Language: Slovenian\n" "X-Poedit-Country: SLOVENIA\n" "X-Generator: KBabel 1.11.4\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" + +#: contrib/admin/media/js/SelectFilter2.js:37 +#, perl-format +msgid "Available %s" +msgstr "Možne %s" + +#: contrib/admin/media/js/SelectFilter2.js:45 +msgid "Choose all" +msgstr "Izberi vse" + +#: contrib/admin/media/js/SelectFilter2.js:50 +msgid "Add" +msgstr "Dodaj" + +#: contrib/admin/media/js/SelectFilter2.js:52 +msgid "Remove" +msgstr "Odstrani" + +#: contrib/admin/media/js/SelectFilter2.js:57 +#, perl-format +msgid "Chosen %s" +msgstr "Izbran %s" + +#: contrib/admin/media/js/SelectFilter2.js:58 +msgid "Select your choice(s) and click " +msgstr "Izberite in kliknite " + +#: contrib/admin/media/js/SelectFilter2.js:63 +msgid "Clear all" +msgstr "Izbriši vse" + +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s od %(cnt)s izbran" +msgstr[1] "%(sel)s od %(cnt)s izbrana" +msgstr[2] "%(sel)s od %(cnt)s izbrani" +msgstr[3] "%(sel)s od %(cnt)s izbranih" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Na posameznih poljih, ki imajo omogočeno urejanje, imate neshranjene " +"spremembe. Če boste izvedli dejanje, bodo vaše neshranjene spremembe " +"izgubljene." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "" +"Izbrali ste dejanje, vendar niste shranili sprememb na posameznih poljih. " +"Kliknite na 'V redu', da boste shranili. Dejanje boste morali ponovno " +"izvesti." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "" +"Izbrali ste dejanje, vendar niste naredili nobenih sprememb na posameznih " +"poljih. Verjetno iščete gumb Pojdi namesto Shrani." #: 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 "Januar Februar Marec April Maj Junij Julij Avgust September Oktober November December" +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/calendar.js:25 msgid "S M T W T F S" msgstr "N P T S Č P S" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Prikaži" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Skrij" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "Nedelja Ponedeljek Torek Sreda Četrtek Petek Sobota" -#: 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 "Izbran %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/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Sedaj" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "URA" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Izberite čas" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "Polnoč" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "Ob 6h" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "Opoldne" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Prekliči" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "Danes" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Koledar" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "Včeraj" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "Jutri" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "Prikaži" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "Skrij" - diff --git a/django/conf/locale/sl/__init__.py b/django/conf/locale/sl/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/sl/formats.py b/django/conf/locale/sl/formats.py new file mode 100644 index 000000000..4007f1070 --- /dev/null +++ b/django/conf/locale/sl/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'd. F Y' +TIME_FORMAT = 'H:i:s' +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'j. M. Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +# NUMBER_GROUPING = diff --git a/django/conf/locale/sq/LC_MESSAGES/django.mo b/django/conf/locale/sq/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..379de3faea49f70cfe75503ac32cb81927712dcd GIT binary patch literal 5125 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 DvYj=3 literal 0 HcmV?d00001 diff --git a/django/conf/locale/sq/LC_MESSAGES/django.po b/django/conf/locale/sq/LC_MESSAGES/django.po new file mode 100644 index 000000000..1d02b5675 --- /dev/null +++ b/django/conf/locale/sq/LC_MESSAGES/django.po @@ -0,0 +1,5011 @@ +# This file is distributed under the same license as the Django package. +# +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-27 22:39-0800\n" +"PO-Revision-Date: 2010-01-27 23:01+0200\n" +"Last-Translator: Besnik Bleta \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

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

                                                \n" +msgstr "" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +#: forms/models.py:964 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "" + +#: contrib/admin/options.py:1006 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#: db/models/base.py:775 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +#: db/models/base.py:790 db/models/base.py:798 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "Ka tashmë një %(model_name)s me këtë %(field_label)s." + +#: contrib/admin/templates/admin/app_index.html:10 +#: contrib/admin/templates/admin/index.html:19 +#, python-format +msgid "%(name)s" +msgstr "" + +#: contrib/admin/options.py:860 contrib/admin/options.py:1072 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "" + +#: utils/timesince.py:50 +#, python-format +msgid "%(number)d %(type)s" +msgstr "" + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "" + +#: template/defaultfilters.py:806 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:54 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:51 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:57 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "" +msgstr[1] "" + +#: template/defaultfilters.py:811 +#, python-format +msgid "%s GB" +msgstr "" + +#: template/defaultfilters.py:808 +#, python-format +msgid "%s KB" +msgstr "" + +#: template/defaultfilters.py:810 +#, python-format +msgid "%s MB" +msgstr "" + +#: contrib/admin/sites.py:447 +#, python-format +msgid "%s administration" +msgstr "" + +#: contrib/admindocs/views.py:361 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "" + +#: utils/timesince.py:56 +#, python-format +msgid ", %(number)d %(type)s" +msgstr "" + +#: contrib/comments/admin.py:60 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/filterspecs.py:44 +#, python-format +msgid "" +"

                                                By %s:

                                                \n" +"
                                                  \n" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:7 +#, python-format +msgid "" +"0 of %(total_count)s %(module_name)s selected" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "" + +#: contrib/auth/forms.py:31 +msgid "A user with that username already exists." +msgstr "" + +#: utils/dateformat.py:49 +msgid "AM" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:24 +msgid "Action" +msgstr "" + +#: contrib/admin/helpers.py:19 +msgid "Action:" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:21 +#: contrib/admin/templates/admin/index.html:29 +msgid "Add" +msgstr "" + +#: contrib/admin/templates/admin/change_list.html:57 +#, python-format +msgid "Add %(name)s" +msgstr "" + +#: contrib/admin/options.py:834 +#, python-format +msgid "Add %s" +msgstr "" + +#: contrib/admin/widgets.py:238 +msgid "Add Another" +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:33 +#: contrib/admin/templates/admin/edit_inline/tabular.html:78 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +#: contrib/admin/options.py:561 +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "" + +#: contrib/flatpages/admin.py:22 +msgid "Advanced options" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:26 +msgid "Aichi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:8 +msgid "Akita" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "" + +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "All %(total_count)s %(module_name)s selected" +msgstr "" + +#: contrib/admin/templatetags/admin_list.py:240 +msgid "All dates" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "" + +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:5 +msgid "Aomori" +msgstr "" + +#: contrib/admindocs/views.py:190 +#, python-format +msgid "App %r not found" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:7 +msgid "Appenzell Ausserrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:6 +msgid "Appenzell Innerrhoden" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:4 +msgid "Approve a comment" +msgstr "" + +#: contrib/comments/admin.py:44 +msgid "Approve selected comments" +msgstr "" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "" + +#: conf/global_settings.py:44 +msgid "Arabic" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:23 +#, 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_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" + +#: contrib/admin/actions.py:67 contrib/admin/options.py:1094 +msgid "Are you sure?" +msgstr "" + +#: conf/global_settings.py:56 +msgid "Argentinean Spanish" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "" + +#: utils/dates.py:32 +msgid "Aug." +msgstr "" + +#: utils/dates.py:19 +msgid "August" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "" + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:9 +msgid "Basel-Land" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:8 +msgid "Basel-Stadt" +msgstr "" + +#: conf/global_settings.py:58 +msgid "Basque" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:10 +msgid "Berne" +msgstr "" + +#: db/models/fields/__init__.py:892 +msgid "Big (8 byte) integer" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "" + +#: db/models/fields/__init__.py:512 +msgid "Boolean (Either True or False)" +msgstr "" + +#: db/models/fields/__init__.py:923 +msgid "Boolean (Either True, False or None)" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "" + +#: conf/global_settings.py:83 +msgid "Brazilian Portuguese" +msgstr "" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: conf/global_settings.py:45 +msgid "Bulgarian" +msgstr "" + +#: contrib/localflavor/at/at_states.py:5 +msgid "Burgenland" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "" + +#: contrib/localflavor/at/at_states.py:6 +msgid "Carinthia" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "" + +#: conf/global_settings.py:48 +msgid "Catalan" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "" + +#: contrib/admin/templates/admin/index.html:35 +msgid "Change" +msgstr "" + +#: contrib/admin/options.py:925 +#, python-format +msgid "Change %s" +msgstr "" + +#: contrib/admin/options.py:1124 +#, python-format +msgid "Change history: %s" +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:43 +#: contrib/admin/templates/registration/password_reset_confirm.html:21 +msgid "Change my password" +msgstr "" + +#: contrib/admin/templates/admin/base.html:40 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Change password" +msgstr "" + +#: contrib/auth/admin.py:121 +#, python-format +msgid "Change password: %s" +msgstr "" + +#: contrib/admin/widgets.py:96 +msgid "Change:" +msgstr "" + +#: contrib/admin/options.py:565 +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "" + +#: contrib/admin/options.py:556 +#, python-format +msgid "Changed %s." +msgstr "" + +#: contrib/comments/models.py:65 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:15 +msgid "Chiba" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:16 +msgid "Clear selection" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:14 +msgid "Click here to select all objects across all pages" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "" + +#: db/models/fields/__init__.py:582 +msgid "Comma-separated integers" +msgstr "" + +#: contrib/comments/forms.py:96 +msgid "Comment" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "" + +#: contrib/comments/admin.py:12 +msgid "Content" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: conf/global_settings.py:67 +msgid "Croatian" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/admin/widgets.py:96 +msgid "Currently:" +msgstr "" + +#: conf/global_settings.py:49 +msgid "Czech" +msgstr "" + +#: utils/translation/trans_real.py:531 +msgid "DATETIME_FORMAT" +msgstr "" + +#: utils/translation/trans_real.py:530 +msgid "DATE_FORMAT" +msgstr "N j, Y" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: conf/global_settings.py:51 +msgid "Danish" +msgstr "" + +#: contrib/admin/options.py:970 +msgid "Database error" +msgstr "" + +#: db/models/fields/__init__.py:684 +msgid "Date (with time)" +msgstr "" + +#: db/models/fields/__init__.py:596 +msgid "Date (without time)" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:22 +msgid "Date/time" +msgstr "" + +#: contrib/admin/widgets.py:72 +msgid "Date:" +msgstr "" + +#: utils/dates.py:32 +msgid "Dec." +msgstr "" + +#: utils/dates.py:20 +msgid "December" +msgstr "" + +#: db/models/fields/__init__.py:752 +msgid "Decimal number" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:10 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:291 +msgid "Delete" +msgstr "" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "" + +#: contrib/admin/actions.py:85 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/tabular.html:15 +msgid "Delete?" +msgstr "" + +#: contrib/admin/options.py:570 +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:16 +#, 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_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)s would result in deleting related objects, but " +"your account doesn't have permission to delete the following types of " +"objects:" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/auth/models.py:187 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" + +#: contrib/auth/models.py:185 +msgid "Designates whether the user can log into this admin site." +msgstr "" + +#: contrib/auth/models.py:186 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "" + +#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drenthe" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: conf/global_settings.py:79 +msgid "Dutch" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/auth/forms.py:101 +msgid "E-mail" +msgstr "" + +#: db/models/fields/__init__.py:807 +msgid "E-mail address" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:41 +msgid "Ehime" +msgstr "" + +#: contrib/comments/forms.py:94 +msgid "Email address" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "" + +#: conf/global_settings.py:54 +msgid "English" +msgstr "" + +#: forms/fields.py:251 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Sigurohuni që nuk ka më shumë se %s vende dhjetore." + +#: forms/fields.py:252 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Sigurohuni që nuk ka më tepër se %s shifra para presjes dhjetore." + +#: forms/fields.py:250 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Sigurohuni që nuk ka më tepër se %s shifra gjithsej." + +#: forms/fields.py:424 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" + +#: core/validators.py:129 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" + +#: core/validators.py:135 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" + +#: core/validators.py:100 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#: core/validators.py:123 forms/fields.py:197 forms/fields.py:249 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#: core/validators.py:118 forms/fields.py:196 forms/fields.py:248 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#: contrib/localflavor/au/forms.py:17 +msgid "Enter a 4 digit post code." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "" + +#: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "" + +#: forms/fields.py:653 forms/fields.py:715 forms/models.py:961 +msgid "Enter a list of values." +msgstr "Jepni një listë vlerash." + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +#: forms/fields.py:225 forms/fields.py:247 +msgid "Enter a number." +msgstr "Jepni një numër." + +#: contrib/localflavor/ar/forms.py:28 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "" + +#: contrib/localflavor/pl/forms.py:148 +msgid "Enter a postal code in the format XX-XXX." +msgstr "" + +#: contrib/localflavor/ca/forms.py:25 +msgid "Enter a postal code in the format XXX XXX." +msgstr "" + +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "" + +#: contrib/localflavor/jp/forms.py:16 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "" + +#: contrib/localflavor/pl/forms.py:71 +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "" + +#: core/validators.py:88 forms/fields.py:854 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Jepni një 'slug' të vlefshëm, të përbërë nga shkronja, numra, nëvija ose " +"vija në mes." + +#: contrib/localflavor/at/forms.py:48 +msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." +msgstr "" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "" + +#: contrib/localflavor/ro/forms.py:19 +msgid "Enter a valid CIF." +msgstr "" + +#: contrib/localflavor/ro/forms.py:56 +msgid "Enter a valid CNP." +msgstr "" + +#: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "" + +#: contrib/localflavor/ca/forms.py:96 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "" + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT." +msgstr "" + +#: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "" + +#: contrib/localflavor/fi/forms.py:29 +msgid "Enter a valid Finnish social security number." +msgstr "" + +#: contrib/localflavor/de/forms.py:42 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" + +#: contrib/localflavor/ro/forms.py:141 +msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" +msgstr "" + +#: contrib/localflavor/cz/forms.py:107 +msgid "Enter a valid IC number." +msgstr "" + +#: core/validators.py:91 forms/fields.py:847 +msgid "Enter a valid IPv4 address." +msgstr "Jepni një vendndodhje të vlefshme IPv4." + +#: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "" + +#: contrib/localflavor/no/forms.py:34 +msgid "Enter a valid Norwegian social security number." +msgstr "" + +#: contrib/localflavor/nl/forms.py:79 +msgid "Enter a valid SoFi number" +msgstr "" + +#: contrib/localflavor/it/forms.py:44 +msgid "Enter a valid Social Security number." +msgstr "" + +#: contrib/localflavor/za/forms.py:21 +msgid "Enter a valid South African ID number" +msgstr "" + +#: contrib/localflavor/za/forms.py:55 +msgid "Enter a valid South African postal code" +msgstr "" + +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "" + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "" + +#: contrib/localflavor/ch/forms.py:65 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" + +#: contrib/localflavor/us/forms.py:55 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" + +#: core/validators.py:69 forms/fields.py:510 +msgid "Enter a valid URL." +msgstr "Jepni një URL të vlefshme." + +#: contrib/localflavor/it/forms.py:69 +msgid "Enter a valid VAT number." +msgstr "" + +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "" + +#: db/models/fields/__init__.py:600 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Jepni një datë të vlefshme në formatin YYYY-MM-DD." + +#: forms/fields.py:309 forms/fields.py:819 +msgid "Enter a valid date." +msgstr "Jepni një datë të vlefshme." + +#: db/models/fields/__init__.py:682 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "" +"Jepni një datë/kohë të vlefshme, në formatin YYYY-MM-DD HH:MM[:ss[.uuuuuu]]." + +#: forms/fields.py:363 +msgid "Enter a valid date/time." +msgstr "Jepni një datë/kohë të vlefshme." + +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:85 forms/fields.py:414 +msgid "Enter a valid e-mail address." +msgstr "" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "" + +#: contrib/localflavor/es/forms.py:40 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "" + +#: contrib/localflavor/nl/forms.py:22 +msgid "Enter a valid postal code" +msgstr "" + +#: contrib/localflavor/ro/forms.py:194 +msgid "Enter a valid postal code in the format XXXXXX" +msgstr "" + +#: contrib/localflavor/es/forms.py:20 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "" + +#: db/models/fields/__init__.py:1027 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "Jepni një kohë të vlefshme, në formatin HH:MM[:ss[.uuuuuu]]." + +#: forms/fields.py:337 forms/fields.py:820 +msgid "Enter a valid time." +msgstr "Jepni një kohë të vlefshme." + +#: core/validators.py:19 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Jepni vlerë të vlefshme." + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "" + +#: contrib/localflavor/it/forms.py:15 +msgid "Enter a valid zip code." +msgstr "" + +#: forms/fields.py:195 +msgid "Enter a whole number." +msgstr "Jepni një numër të tërë." + +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "" + +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 +msgid "Enter a zip code in the format XXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/br/forms.py:22 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "" + +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:12 +msgid "Enter new password" +msgstr "" + +#: core/validators.py:94 db/models/fields/__init__.py:587 +msgid "Enter only digits separated by commas." +msgstr "Jepni vetëm shifra të ndara nga presje." + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "" + +#: conf/global_settings.py:57 +msgid "Estonian" +msgstr "" + +#: contrib/flatpages/admin.py:9 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" + +#: contrib/flatpages/models.py:12 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "" + +#: utils/dates.py:31 +msgid "Feb." +msgstr "" + +#: utils/dates.py:18 +msgid "February" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: db/models/fields/__init__.py:72 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#: contrib/admindocs/views.py:271 +#, python-format +msgid "Fields on %s objects" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: db/models/fields/__init__.py:814 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "" + +#: contrib/admin/templates/admin/change_list.html:76 +msgid "Filter" +msgstr "" + +#: conf/global_settings.py:60 +msgid "Finnish" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/add_form.html:5 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" + +#: contrib/comments/templates/comments/flag.html:12 +msgid "Flag" +msgstr "" + +#: contrib/comments/admin.py:40 +msgid "Flag selected comments" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "" + +#: db/models/fields/__init__.py:839 +msgid "Floating point number" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "" + +#: db/models/fields/related.py:757 +msgid "Foreign Key (type determined by related field)" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll e-mail " +"instructions for setting a new one." +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "" + +#: conf/global_settings.py:61 +msgid "French" +msgstr "" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "" + +#: conf/global_settings.py:62 +msgid "Frisian" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:23 +msgid "Fukui" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:43 +msgid "Fukuoka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:10 +msgid "Fukushima" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "" + +#: conf/global_settings.py:64 +msgid "Galician" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "" + +#: contrib/gis/db/models/fields.py:293 +msgid "Geometry collection" +msgstr "" + +#: conf/global_settings.py:72 +msgid "Georgian" +msgstr "" + +#: conf/global_settings.py:52 +msgid "German" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:24 +msgid "Gifu" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:13 +msgid "Glarus" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "" + +#: conf/global_settings.py:53 +msgid "Greek" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "" + +#: contrib/auth/admin.py:29 +msgid "Groups" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:13 +msgid "Gunma" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: conf/global_settings.py:65 +msgid "Hebrew" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: conf/global_settings.py:66 +msgid "Hindi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:37 +msgid "Hiroshima" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:28 +#: contrib/admin/templates/admin/object_history.html:10 +msgid "History" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:4 +msgid "Hokkaido" +msgstr "" + +#: db/models/fields/related.py:959 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Mbani të shtypur \"Control\", ose \"Command\" në Mac, për të përzgjedhur më " +"shumë se një." + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/app_index.html:8 +#: contrib/admin/templates/admin/base.html:54 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:36 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: 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:5 +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:15 +msgid "Hradec Region" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "" + +#: conf/global_settings.py:68 +msgid "Hungarian" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:31 +msgid "Hyogo" +msgstr "" + +#: contrib/comments/models.py:60 db/models/fields/__init__.py:905 +msgid "IP address" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:11 +msgid "Ibaraki" +msgstr "" + +#: conf/global_settings.py:69 +msgid "Icelandic" +msgstr "" + +#: contrib/flatpages/models.py:13 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "" + +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "" + +#: contrib/auth/admin.py:28 +msgid "Important dates" +msgstr "" + +#: contrib/auth/models.py:191 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" + +#: db/models/fields/__init__.py:471 db/models/fields/__init__.py:867 +#: db/models/fields/__init__.py:963 db/models/fields/__init__.py:974 +#: db/models/fields/__init__.py:1001 +msgid "Integer" +msgstr "" + +#: contrib/localflavor/br/forms.py:135 +msgid "Invalid CNPJ number." +msgstr "" + +#: contrib/localflavor/br/forms.py:95 +msgid "Invalid CPF number." +msgstr "" + +#: contrib/localflavor/ar/forms.py:81 +msgid "Invalid CUIT." +msgstr "" + +#: contrib/localflavor/es/forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:144 +msgid "Invalid checksum for bank account number." +msgstr "" + +#: db/models/fields/__init__.py:601 +#, python-format +msgid "Invalid date: %s" +msgstr "Datë e pavlefshme: %s" + +#: contrib/gis/forms/fields.py:19 +msgid "Invalid geometry type." +msgstr "" + +#: contrib/gis/forms/fields.py:18 +msgid "Invalid geometry value." +msgstr "" + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" + +#: conf/global_settings.py:63 +msgid "Irish" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:22 +msgid "Ishikawa" +msgstr "" + +#: conf/global_settings.py:70 +msgid "Italian" +msgstr "" + +#: contrib/admin/options.py:736 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:6 +msgid "Iwate" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "" + +#: utils/dates.py:18 +msgid "January" +msgstr "" + +#: conf/global_settings.py:71 +msgid "Japanese" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:40 +msgid "Kagawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:49 +msgid "Kagoshima" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:17 +msgid "Kanagawa" +msgstr "" + +#: conf/global_settings.py:74 +msgid "Kannada" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "" + +#: conf/global_settings.py:73 +msgid "Khmer" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:42 +msgid "Kochi" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "" + +#: conf/global_settings.py:75 +msgid "Korean" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:46 +msgid "Kumamoto" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:29 +msgid "Kyoto" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "" + +#: conf/global_settings.py:77 +msgid "Latvian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:14 +msgid "Liberec Region" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/gis/db/models/fields.py:273 +msgid "Line string" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "" + +#: conf/global_settings.py:76 +msgid "Lithuanian" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "" + +#: contrib/admin/sites.py:402 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/templates/registration/password_reset_complete.html:14 +#: contrib/admin/views/decorators.py:20 +msgid "Log in" +msgstr "" + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "" + +#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Log out" +msgstr "" + +#: contrib/auth/views.py:60 +msgid "Logged out" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/admin/sites.py:313 contrib/admin/views/decorators.py:47 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" + +#: contrib/admin/widgets.py:126 +msgid "Lookup" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/at/at_states.py:7 +msgid "Lower Austria" +msgstr "" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:16 +msgid "Lucerne" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "" + +#: utils/translation/trans_real.py:554 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" + +#: conf/global_settings.py:78 +msgid "Macedonian" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: db/models/fields/related.py:939 +msgid "Many-to-many relationship" +msgstr "" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/comments/admin.py:15 +msgid "Metadata" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:27 +msgid "Mie" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:7 +msgid "Miyagi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:48 +msgid "Miyazaki" +msgstr "" + +#: db/models/fields/related.py:755 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "" + +#: contrib/admindocs/views.py:197 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr "" + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: contrib/gis/db/models/fields.py:289 +msgid "Multi polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:285 +msgid "Multi-line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:281 +msgid "Multi-point" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "" + +#: contrib/admin/templates/admin/index.html:54 +msgid "My Actions" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:19 +msgid "Nagano" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:45 +msgid "Nagasaki" +msgstr "" + +#: contrib/comments/forms.py:93 +msgid "Name" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:32 +msgid "Nara" +msgstr "" + +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:38 +msgid "National Identification Number consists of 11 digits." +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "" + +#: contrib/auth/forms.py:145 +msgid "New password confirmation" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:18 +msgid "Nidwalden" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:20 +msgid "Niigata" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:435 +msgid "No" +msgstr "" + +#: contrib/admin/options.py:754 +msgid "No action selected." +msgstr "" + +#: contrib/admin/options.py:574 +msgid "No fields changed." +msgstr "" + +#: forms/fields.py:422 +msgid "No file was submitted." +msgstr "Nuk u parashtrua kartelë." + +#: forms/fields.py:421 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"Nuk u parashtrua ndonjë kartelë. Kontrolloni llojin e kodimit te forma." + +#: contrib/gis/forms/fields.py:17 +msgid "No geometry value provided." +msgstr "" + +#: contrib/admin/options.py:137 contrib/admin/options.py:152 +msgid "None" +msgstr "" + +#: contrib/admin/templates/admin/index.html:58 +msgid "None available" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/de/de_states.py:14 +msgid "North Rhine-Westphalia" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: conf/global_settings.py:80 +msgid "Norwegian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: utils/dates.py:32 +msgid "Nov." +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "" + +#: utils/dates.py:19 +msgid "November" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:19 +msgid "Obwalden" +msgstr "" + +#: utils/dates.py:32 +msgid "Oct." +msgstr "" + +#: utils/dates.py:19 +msgid "October" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:47 +msgid "Oita" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:36 +msgid "Okayama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:50 +msgid "Okinawa" +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "" + +#: contrib/admin/util.py:175 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "" + +#: contrib/admin/util.py:170 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "" + +#: db/models/fields/related.py:879 +msgid "One-to-one relationship" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "" + +#: forms/formsets.py:287 forms/formsets.py:289 +msgid "Order" +msgstr "Rend" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:30 +msgid "Osaka" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: utils/dateformat.py:48 +msgid "PM" +msgstr "" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:16 +msgid "Pardubice Region" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "" + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 +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/auth/admin.py:111 +msgid "Password changed successfully." +msgstr "" + +#: contrib/auth/forms.py:18 +msgid "Password confirmation" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:6 +#: 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_complete.html:6 +#: contrib/admin/templates/registration/password_reset_complete.html:10 +msgid "Password reset complete" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +msgid "Password reset confirmation" +msgstr "" + +#: contrib/auth/forms.py:136 +#, python-format +msgid "Password reset on %s" +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_confirm.html:26 +msgid "Password reset unsuccessful" +msgstr "" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Password:" +msgstr "" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/auth/admin.py:27 +msgid "Permissions" +msgstr "" + +#: conf/global_settings.py:59 +msgid "Persian" +msgstr "" + +#: contrib/auth/admin.py:26 +msgid "Personal info" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "" + +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "" + +#: contrib/localflavor/br/forms.py:31 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "" + +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "" + +#: contrib/localflavor/ro/forms.py:171 +msgid "Phone numbers must be in XXXX-XXXXXX format." +msgstr "" + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:11 +msgid "Pilsen Region" +msgstr "" + +#: forms/models.py:542 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#: forms/models.py:538 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#: forms/models.py:548 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +#: forms/models.py:556 +msgid "Please correct the duplicate values below." +msgstr "" + +#: contrib/comments/templates/comments/preview.html:11 +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/sites.py:22 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" + +#: contrib/localflavor/es/forms.py:68 +msgid "Please enter a valid NIF or NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" + +#: db/models/fields/related.py:1020 +#, 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] "" +"Ju lutem, jepni ID-ra %(self)s të vlefshme. Vlera %(value)r është e " +"pavlefshme." +msgstr[1] "" +"Ju lutem, jepni ID-ra %(self)s të vlefshme. Vlerat %(value)r janë të " +"pavlefshme" + +#: contrib/admin/templates/registration/password_reset_confirm.html:14 +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" + +#: contrib/admin/templates/registration/password_change_form.html:21 +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_reset_email.html:5 +msgid "Please go to the following page and choose a new password:" +msgstr "" + +#: contrib/admin/sites.py:306 contrib/admin/views/decorators.py:40 +msgid "Please log in again, because your session has expired." +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "" + +#: contrib/gis/db/models/fields.py:269 +msgid "Point" +msgstr "" + +#: conf/global_settings.py:81 +msgid "Polish" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "" + +#: contrib/gis/db/models/fields.py:277 +msgid "Polygon" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "" + +#: conf/global_settings.py:82 +msgid "Portuguese" +msgstr "" + +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +msgid "Post" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "" + +#: contrib/comments/models.py:153 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "" + +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +msgid "Preview" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "" + +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "" + +#: contrib/admin/templates/admin/index.html:53 +msgid "Recent Actions" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:36 +#: contrib/admin/templates/admin/edit_inline/tabular.html:81 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "" + +#: contrib/comments/templates/comments/delete.html:4 +msgid "Remove a comment" +msgstr "" + +#: contrib/comments/admin.py:48 +msgid "Remove selected comments" +msgstr "" + +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +#: contrib/auth/models.py:180 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "" + +#: conf/global_settings.py:84 +msgid "Romanian" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "" + +#: conf/global_settings.py:85 +msgid "Russian" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:44 +msgid "Saga" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:14 +msgid "Saitama" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "" + +#: contrib/localflavor/at/at_states.py:9 +msgid "Salzburg" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "" + +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and add another" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save and continue editing" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save as new" +msgstr "" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:20 +msgid "Schaffhausen" +msgstr "" + +#: contrib/localflavor/de/de_states.py:19 +msgid "Schleswig-Holstein" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:21 +msgid "Schwyz" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Search" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "" + +#: contrib/admin/views/main.py:70 +#, python-format +msgid "Select %s" +msgstr "" + +#: contrib/admin/views/main.py:70 +#, python-format +msgid "Select %s to change" +msgstr "" + +#: contrib/localflavor/br/forms.py:59 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" + +#: forms/fields.py:577 forms/fields.py:652 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Përzgjidhni një zgjedhje të vlefshme. %(value)s nuk është nga zgjedhjet e " +"mundshme." + +#: forms/models.py:962 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "" +"Përzgjidhni një zgjedhje të vlefshme. %s nuk është një nga zgjedhjet e " +"mundshme." + +#: forms/models.py:886 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Përzgjidhni një zgjedhje të vlefshme. Ajo zgjedhje nuk është një nga " +"zgjedhjet e mundshme." + +#: contrib/admin/templates/admin/actions.html:14 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "" + +#: utils/dates.py:32 +msgid "Sept." +msgstr "" + +#: utils/dates.py:19 +msgid "September" +msgstr "" + +#: conf/global_settings.py:88 +msgid "Serbian" +msgstr "" + +#: conf/global_settings.py:89 +msgid "Serbian Latin" +msgstr "" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +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/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:28 +msgid "Shiga" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:35 +msgid "Shimane" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:25 +msgid "Shizuoka" +msgstr "" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "" + +#: conf/global_settings.py:96 +msgid "Simplified Chinese" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "" + +#: contrib/admin/sites.py:388 +msgid "Site administration" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: conf/global_settings.py:86 +msgid "Slovak" +msgstr "" + +#: conf/global_settings.py:87 +msgid "Slovenian" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:22 +msgid "Solothurn" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: 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 "" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: conf/global_settings.py:55 +msgid "Spanish" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:23 +msgid "St. Gallen" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: db/models/fields/__init__.py:554 db/models/fields/__init__.py:984 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "" + +#: contrib/localflavor/at/at_states.py:10 +msgid "Styria" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "" + +#: contrib/admin/actions.py:60 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "" + +#: conf/global_settings.py:90 +msgid "Swedish" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: utils/translation/trans_real.py:532 +msgid "TIME_FORMAT" +msgstr "P" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "" + +#: conf/global_settings.py:91 +msgid "Tamil" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: conf/global_settings.py:92 +msgid "Telugu" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "" + +#: db/models/fields/__init__.py:1007 +msgid "Text" +msgstr "" + +#: conf/global_settings.py:93 +msgid "Thai" +msgstr "" + +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "" + +#: contrib/comments/templates/comments/approved.html:4 +msgid "Thanks for approving" +msgstr "" + +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "" + +#: contrib/comments/templates/comments/flagged.html:4 +msgid "Thanks for flagging" +msgstr "" + +#: contrib/comments/templates/comments/deleted.html:4 +msgid "Thanks for removing" +msgstr "" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Thanks for using our site!" +msgstr "" + +#: contrib/auth/forms.py:110 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" + +#: contrib/admin/options.py:640 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "" + +#: contrib/admin/options.py:683 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" + +#: contrib/admin/options.py:675 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "" + +#: contrib/admin/options.py:1087 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +#: views/generic/create_update.py:115 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s u krijua me sukses." + +#: views/generic/create_update.py:201 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s u fshi." + +#: views/generic/create_update.py:158 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s u përditësua me sukses." + +#: contrib/localflavor/cl/forms.py:32 +msgid "The Chilean RUT is not valid." +msgstr "" + +#: contrib/localflavor/is_/forms.py:19 +msgid "The Icelandic identification number is not valid." +msgstr "" + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: forms/models.py:820 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_confirm.html:28 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" + +#: forms/fields.py:423 +msgid "The submitted file is empty." +msgstr "Kartela e parashtruar është bosh." + +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 +msgid "The two password fields didn't match." +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 "" + +#: core/validators.py:71 forms/fields.py:511 +msgid "This URL appears to be a broken link." +msgstr "Kjo URL duket se është lidhje e dëmtuar." + +#: contrib/auth/forms.py:83 +msgid "This account is inactive." +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/comments/models.py:128 +msgid "" +"This comment was posted by an authenticated user and thus the email is read-" +"only." +msgstr "" + +#: contrib/comments/models.py:119 +msgid "" +"This comment was posted by an authenticated user and thus the name is read-" +"only." +msgstr "" + +#: db/models/fields/__init__.py:67 +msgid "This field cannot be blank." +msgstr "" + +#: db/models/fields/__init__.py:66 +msgid "This field cannot be null." +msgstr "Kjo fushë nuk mund të jetë bosh." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Kjo fushë është e domosdoshme." + +#: contrib/localflavor/pe/forms.py:53 +msgid "This field requires 11 digits." +msgstr "" + +#: contrib/localflavor/ar/forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "" + +#: contrib/localflavor/pe/forms.py:25 +msgid "This field requires 8 digits." +msgstr "" + +#: contrib/localflavor/br/forms.py:137 +msgid "This field requires at least 14 digits" +msgstr "" + +#: contrib/localflavor/br/forms.py:96 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "" + +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:97 +#: contrib/localflavor/br/forms.py:136 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires only numbers." +msgstr "" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:38 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" + +#: db/models/fields/__init__.py:750 +msgid "This value must be a decimal number." +msgstr "Kjo vlerë duhet të jetë një numër dhjetor." + +#: db/models/fields/__init__.py:837 db/models/fields/__init__.py:865 +msgid "This value must be a float." +msgstr "" + +#: db/models/fields/__init__.py:475 +msgid "This value must be an integer." +msgstr "Kjo vlerë duhet të jetë numër i plotë." + +#: db/models/fields/__init__.py:921 +msgid "This value must be either None, True or False." +msgstr "Kjo vlerë duhet të jetë None, True ose False." + +#: db/models/fields/__init__.py:510 +msgid "This value must be either True or False." +msgstr "Kjo vlerë duhet të jetë True ose False." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value must contain only letters, numbers and underscores." +msgstr "" + +#: contrib/flatpages/admin.py:11 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:24 +msgid "Thurgau" +msgstr "" + +#: contrib/localflavor/de/de_states.py:20 +msgid "Thuringia" +msgstr "" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:25 +msgid "Ticino" +msgstr "" + +#: db/models/fields/__init__.py:1023 +msgid "Time" +msgstr "" + +#: contrib/admin/widgets.py:72 +msgid "Time:" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:12 +msgid "Tochigi" +msgstr "" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:39 +msgid "Tokushima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:16 +msgid "Tokyo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:34 +msgid "Tottori" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:21 +msgid "Toyama" +msgstr "" + +#: conf/global_settings.py:97 +msgid "Traditional Chinese" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "" + +#: conf/global_settings.py:94 +msgid "Turkish" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/at/at_states.py:11 +msgid "Tyrol" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "" + +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1103 +msgid "URL" +msgstr "" + +#: conf/global_settings.py:95 +msgid "Ukrainian" +msgstr "" + +#: contrib/comments/models.py:62 +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." +msgstr "" + +#: contrib/admin/filterspecs.py:154 forms/widgets.py:435 +msgid "Unknown" +msgstr "" + +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "" + +#: forms/fields.py:459 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Ngarkoni një figurë të vlefshme. Kartela që ngarkuat ose nuk qe figurë, ose " +"qe figurë e dëmtuar." + +#: contrib/localflavor/at/at_states.py:8 +msgid "Upper Austria" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:26 +msgid "Uri" +msgstr "" + +#: contrib/auth/models.py:184 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:23 +msgid "User" +msgstr "" + +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "" + +#: contrib/admin/templates/admin/login.html:19 +msgid "Username:" +msgstr "" + +#: contrib/admin/sites.py:329 contrib/admin/sites.py:335 +#: contrib/admin/views/decorators.py:66 +msgid "Usernames cannot contain the '@' character." +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:13 +msgid "Usti Region" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:27 +msgid "Valais" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "" + +#: db/models/fields/__init__.py:65 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:28 +msgid "Vaud" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "" + +#: contrib/localflavor/at/at_states.py:13 +msgid "Vienna" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 +msgid "View on site" +msgstr "" + +#: contrib/localflavor/at/at_states.py:12 +msgid "Vorarlberg" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:17 +msgid "Vysocina Region" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:33 +msgid "Wakayama" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/comments/forms.py:175 +#, 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] "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/formtools/wizard.py:132 +msgid "" +"We apologize, but your form has expired. Please continue filling out the " +"form from this page." +msgstr "" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed you instructions for setting your password to the e-mail " +"address you submitted. You should be receiving it shortly." +msgstr "" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "" + +#: contrib/admin/templates/admin/base.html:27 +msgid "Welcome," +msgstr "" + +#: conf/global_settings.py:50 +msgid "Welsh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/pl/forms.py:110 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:39 +msgid "Wrong checksum for the National Identification Number." +msgstr "" + +#: contrib/localflavor/pl/forms.py:72 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "" + +#: db/models/fields/__init__.py:1111 +msgid "XML text" +msgstr "" + +#: utils/translation/trans_real.py:553 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: contrib/localflavor/jp/jp_prefectures.py:9 +msgid "Yamagata" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:38 +msgid "Yamaguchi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:18 +msgid "Yamanashi" +msgstr "" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:435 +msgid "Yes" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 +msgid "Yes, I'm sure" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/admin/templates/admin/index.html:45 +msgid "You don't have permission to edit anything." +msgstr "" + +#: contrib/admin/options.py:654 contrib/admin/options.py:687 +#, python-format +msgid "You may add another %s below." +msgstr "" + +#: contrib/admin/options.py:644 contrib/admin/options.py:677 +msgid "You may edit it again below." +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/auth/forms.py:88 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" + +#: contrib/admin/sites.py:332 contrib/admin/views/decorators.py:62 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" + +#: contrib/auth/forms.py:178 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_complete.html:12 +msgid "Your password has been set. You may go ahead and log in now." +msgstr "" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:9 +msgid "Your username, in case you've forgotten:" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:20 +msgid "Zlin Region" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:29 +msgid "Zug" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:30 +msgid "Zurich" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "" + +#: utils/dateformat.py:43 +msgid "a.m." +msgstr "" + +#: contrib/admin/models.py:24 +msgid "action flag" +msgstr "" + +#: contrib/admin/models.py:19 +msgid "action time" +msgstr "" + +#: contrib/auth/models.py:186 +msgid "active" +msgstr "" + +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 +#, python-format +msgid "all %s" +msgstr "" + +#: contrib/admin/options.py:556 contrib/admin/options.py:566 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:797 +#: forms/models.py:544 +msgid "and" +msgstr "" + +#: contrib/comments/admin.py:43 +msgid "approved" +msgstr "" + +#: utils/dates.py:23 +msgid "apr" +msgstr "" + +#: utils/dates.py:24 +msgid "aug" +msgstr "" + +#: contrib/admin/models.py:25 +msgid "change message" +msgstr "" + +#: contrib/auth/models.py:68 +msgid "codename" +msgstr "" + +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 +msgid "comment" +msgstr "" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "" + +#: contrib/comments/models.py:77 +msgid "comments" +msgstr "" + +#: contrib/flatpages/models.py:9 +msgid "content" +msgstr "" + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "" + +#: contrib/contenttypes/models.py:82 +msgid "content types" +msgstr "" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "" + +#: contrib/auth/models.py:189 +msgid "date joined" +msgstr "" + +#: contrib/comments/models.py:59 +msgid "date/time submitted" +msgstr "" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: utils/dates.py:24 +msgid "dec" +msgstr "" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "" + +#: contrib/auth/models.py:183 +msgid "e-mail address" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "eight" +msgstr "" + +#: contrib/flatpages/models.py:10 +msgid "enable comments" +msgstr "" + +#: contrib/sessions/models.py:48 +msgid "expire date" +msgstr "" + +#: utils/dates.py:23 +msgid "feb" +msgstr "" + +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 +msgid "filter:" +msgstr "" + +#: contrib/auth/models.py:181 +msgid "first name" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "five" +msgstr "" + +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "" + +#: contrib/comments/admin.py:39 +msgid "flagged" +msgstr "" + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "four" +msgstr "" + +#: contrib/auth/models.py:98 +msgid "group" +msgstr "" + +#: contrib/auth/models.py:99 contrib/auth/models.py:190 +msgid "groups" +msgstr "" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/models.py:61 +msgid "is public" +msgstr "" + +#: contrib/comments/models.py:64 +msgid "is removed" +msgstr "" + +#: utils/dates.py:23 +msgid "jan" +msgstr "" + +#: utils/dates.py:24 +msgid "jul" +msgstr "" + +#: utils/dates.py:23 +msgid "jun" +msgstr "" + +#: contrib/auth/models.py:188 +msgid "last login" +msgstr "" + +#: contrib/auth/models.py:182 +msgid "last name" +msgstr "" + +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "" + +#: contrib/admin/models.py:29 +msgid "log entries" +msgstr "" + +#: contrib/admin/models.py:28 +msgid "log entry" +msgstr "" + +#: utils/dates.py:23 +msgid "mar" +msgstr "" + +#: utils/dates.py:23 +msgid "may" +msgstr "" + +#: contrib/auth/models.py:367 +msgid "message" +msgstr "" + +#: utils/dateformat.py:98 +msgid "midnight" +msgstr "" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:45 +msgid "minutes" +msgstr "" + +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 +msgid "model:" +msgstr "" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "" +msgstr[1] "" + +#: contrib/auth/models.py:66 contrib/auth/models.py:94 +msgid "name" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "nd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "nine" +msgstr "" + +#: utils/dateformat.py:100 +msgid "noon" +msgstr "" + +#: utils/dates.py:24 +msgid "nov" +msgstr "" + +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 +#, python-format +msgid "number of %s" +msgstr "" + +#: contrib/comments/models.py:24 +msgid "object ID" +msgstr "" + +#: contrib/admin/models.py:22 +msgid "object id" +msgstr "" + +#: contrib/admin/models.py:23 +msgid "object repr" +msgstr "" + +#: utils/dates.py:24 +msgid "oct" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "one" +msgstr "" + +#: utils/text.py:128 +msgid "or" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "or make changes" +msgstr "" + +#: utils/dateformat.py:42 +msgid "p.m." +msgstr "" + +#: contrib/auth/models.py:184 +msgid "password" +msgstr "" + +#: contrib/auth/models.py:72 +msgid "permission" +msgstr "" + +#: contrib/auth/models.py:73 contrib/auth/models.py:95 +msgid "permissions" +msgstr "" + +#: contrib/contenttypes/models.py:77 +msgid "python model class name" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "rd" +msgstr "" + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "" + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "" + +#: contrib/flatpages/models.py:13 +msgid "registration required" +msgstr "" + +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "" + +#: contrib/comments/admin.py:47 +msgid "removed" +msgstr "" + +#: utils/dates.py:24 +msgid "sep" +msgstr "" + +#: contrib/sessions/models.py:53 +msgid "session" +msgstr "" + +#: contrib/sessions/models.py:47 +msgid "session data" +msgstr "" + +#: contrib/sessions/models.py:45 +msgid "session key" +msgstr "" + +#: contrib/sessions/models.py:54 +msgid "sessions" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "seven" +msgstr "" + +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 +msgid "site" +msgstr "" + +#: contrib/sites/models.py:39 +msgid "sites" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "six" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "st" +msgstr "" + +#: contrib/auth/models.py:185 +msgid "staff status" +msgstr "" + +#: contrib/auth/models.py:187 +msgid "superuser status" +msgstr "" + +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 +msgid "tag:" +msgstr "" + +#: contrib/admin/views/template.py:40 +msgid "template" +msgstr "" + +#: contrib/flatpages/models.py:11 +msgid "template name" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "th" +msgstr "" + +#: contrib/admindocs/views.py:209 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "three" +msgstr "" + +#: contrib/flatpages/models.py:8 +msgid "title" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:93 +msgid "today" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:95 +msgid "tomorrow" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "two" +msgstr "" + +#: contrib/auth/models.py:196 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 +msgid "user" +msgstr "" + +#: contrib/auth/models.py:192 +msgid "user permissions" +msgstr "" + +#: contrib/comments/models.py:54 +msgid "user's URL" +msgstr "" + +#: contrib/comments/models.py:53 +msgid "user's email address" +msgstr "" + +#: contrib/comments/models.py:52 +msgid "user's name" +msgstr "" + +#: contrib/auth/models.py:180 +msgid "username" +msgstr "" + +#: contrib/auth/models.py:197 +msgid "users" +msgstr "" + +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 +msgid "view:" +msgstr "" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "" +msgstr[1] "" + +#: template/defaultfilters.py:775 +msgid "yes,no,maybe" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:97 +msgid "yesterday" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#~ msgid "" +#~ "Ensure this value has at least %(min)d characters (it has %(length)d)." +#~ msgstr "" +#~ "Sigurohuni që kjo vlerë ka të paktën %(min)d shenja (ka gjatësinë %" +#~ "(length)d)." + +#~ msgid "" +#~ "Ensure this value has at most %(max)d characters (it has %(length)d)." +#~ msgstr "" +#~ "Sigurohuni që kjo vlerë ka e shumta %(max)d shenja (ka gjatësinë %(length)" +#~ "d)." + +#~ msgid "Ensure this value is greater than or equal to %s." +#~ msgstr "Sigurohuni që vlera është më e madhe ose e barabartë me %s." + +#~ msgid "Ensure this value is less than or equal to %s." +#~ msgstr "Sigurohuni që vlera është më e vogël ose e barabartë me %s." diff --git a/django/conf/locale/sq/LC_MESSAGES/djangojs.mo b/django/conf/locale/sq/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..96682be6953bf15dc70b32aa7b886c534def24da GIT binary patch literal 367 zcmYL^K~KUk7=|%=+R?Lz9=z#?WyUxv5-KaW*luJD61`QZvj$tz6{A1IzvpkUON_k9 zlOFnf?fd;4AANU14gx2E)4*ZiJkTZyT!qViI9umGGiTq_%0sq>rE-n7hM*Z8KhP;d zOIFUaB9BV7wa$ZRYQ2WLUEM%s35sS#1!JeA4?~bjuLz294+HK&e2wCmT=oGc7zYtb z^`YCx|GY;=OArO56x|m@WM@xB&LS=w50#Uq*+_34L6ZgND5rv<0TVRiBbufqo6m, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-27 22:39-0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \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 "" + +#: 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 "" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "" + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "" + +#: contrib/admin/media/js/calendar.js:24 +#: contrib/admin/media/js/dateparse.js:32 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "" + +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +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:83 +msgid "Midnight" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "6 a.m." +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 +msgid "Noon" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:89 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 +msgid "Cancel" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:129 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:178 +msgid "Today" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +msgid "Calendar" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:176 +msgid "Yesterday" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 +msgid "Tomorrow" +msgstr "" diff --git a/django/conf/locale/sq/__init__.py b/django/conf/locale/sq/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/sq/formats.py b/django/conf/locale/sq/formats.py new file mode 100644 index 000000000..1a668763e --- /dev/null +++ b/django/conf/locale/sq/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'd F Y' +TIME_FORMAT = 'g.i.s.A' +# DATETIME_FORMAT = +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'Y-m-d' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +# NUMBER_GROUPING = diff --git a/django/conf/locale/sr/LC_MESSAGES/django.mo b/django/conf/locale/sr/LC_MESSAGES/django.mo index 6f3d087f0a40b74f48ca93716232b1df16f8bb3c..7f8d14d609bdec69d02460bc5e71ca701fbff13c 100644 GIT binary patch delta 17031 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 I;nkG?1^zK+J^%m! delta 13413 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 Lua&VIeHQUQSi}Am diff --git a/django/conf/locale/sr/LC_MESSAGES/django.po b/django/conf/locale/sr/LC_MESSAGES/django.po index f441837c7..f57b48d04 100644 --- a/django/conf/locale/sr/LC_MESSAGES/django.po +++ b/django/conf/locale/sr/LC_MESSAGES/django.po @@ -4,232 +4,277 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-05-08 22:50+0200\n" -"PO-Revision-Date: 2009-04-01 18:38+0200\n" +"POT-Creation-Date: 2010-08-06 19:53+0200\n" +"PO-Revision-Date: 2010-08-06 19:47+0100\n" "Last-Translator: Janos Guljas \n" "Language-Team: Branko Vukelic & Janos Guljas " " & Nesh & Petar \n" +"Language: \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" #: conf/global_settings.py:44 msgid "Arabic" msgstr "арапски" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "бенгалски" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "бугарски" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "бенгалски" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "босански" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "каталонски" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "чешки" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "велшки" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "дански" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "немачки" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "грчки" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "енглески" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "британски енглески" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "шпански" -#: conf/global_settings.py:55 +#: conf/global_settings.py:57 +msgid "Argentinian Spanish" +msgstr "аргентински шпански" + +#: conf/global_settings.py:58 msgid "Estonian" msgstr "естонски" -#: conf/global_settings.py:56 -msgid "Argentinean Spanish" -msgstr "аргентински шпански" - -#: conf/global_settings.py:57 +#: conf/global_settings.py:59 msgid "Basque" msgstr "баскијски" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "персијски" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "фински" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "француски" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "фризијски" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "ирски" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "галски" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "мађарски" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "хебрејски" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "хинду" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "хрватски" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "мађарски" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "индонежански" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "исландски" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "италијански" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "јапански" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "грузијски" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "корејски" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "камбодијски" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "канада" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "латвијски" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "корејски" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "литвански" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "латвијски" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "македонски" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Malayalam" +msgstr "малајаламски" + +#: conf/global_settings.py:82 +msgid "Mongolian" +msgstr "монголски" + +#: conf/global_settings.py:83 msgid "Dutch" msgstr "холандски" -#: conf/global_settings.py:78 +#: conf/global_settings.py:84 msgid "Norwegian" msgstr "норвешки" -#: conf/global_settings.py:79 +#: conf/global_settings.py:85 +msgid "Norwegian Bokmal" +msgstr "норвешки кнјжевни" + +#: conf/global_settings.py:86 +msgid "Norwegian Nynorsk" +msgstr "норвешки нови" + +#: conf/global_settings.py:87 msgid "Polish" msgstr "пољски" -#: conf/global_settings.py:80 +#: conf/global_settings.py:88 msgid "Portuguese" msgstr "португалски" -#: conf/global_settings.py:81 +#: conf/global_settings.py:89 msgid "Brazilian Portuguese" msgstr "бразилски португалски" -#: conf/global_settings.py:82 +#: conf/global_settings.py:90 msgid "Romanian" msgstr "румунски" -#: conf/global_settings.py:83 +#: conf/global_settings.py:91 msgid "Russian" msgstr "руски" -#: conf/global_settings.py:84 +#: conf/global_settings.py:92 msgid "Slovak" msgstr "словачки" -#: conf/global_settings.py:85 +#: conf/global_settings.py:93 msgid "Slovenian" msgstr "словеначки" -#: conf/global_settings.py:86 +#: conf/global_settings.py:94 +msgid "Albanian" +msgstr "албански" + +#: conf/global_settings.py:95 msgid "Serbian" msgstr "српски" -#: conf/global_settings.py:87 +#: conf/global_settings.py:96 +msgid "Serbian Latin" +msgstr "српски (латиница)" + +#: conf/global_settings.py:97 msgid "Swedish" msgstr "шведски" -#: conf/global_settings.py:88 +#: conf/global_settings.py:98 msgid "Tamil" msgstr "тамилски" -#: conf/global_settings.py:89 +#: conf/global_settings.py:99 msgid "Telugu" msgstr "телугу" -#: conf/global_settings.py:90 +#: conf/global_settings.py:100 msgid "Thai" msgstr "тајландски" -#: conf/global_settings.py:91 +#: conf/global_settings.py:101 msgid "Turkish" msgstr "турски" -#: conf/global_settings.py:92 +#: conf/global_settings.py:102 msgid "Ukrainian" msgstr "украјински" -#: conf/global_settings.py:93 +#: conf/global_settings.py:103 +msgid "Vietnamese" +msgstr "вијетнамски" + +#: conf/global_settings.py:104 msgid "Simplified Chinese" msgstr "новокинески" -#: conf/global_settings.py:94 +#: conf/global_settings.py:105 msgid "Traditional Chinese" msgstr "старокинески" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Успешно обрисано: %(count)d %(items)s." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1025 +#: contrib/admin/actions.py:55 contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "Да ли сте сигурни?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Бриши означене објекте класе %(verbose_name_plural)s" @@ -268,19 +313,19 @@ msgstr "Овај месец" msgid "This year" msgstr "Ова година" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:478 msgid "Yes" msgstr "Да" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:478 msgid "No" msgstr "Не" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:478 msgid "Unknown" msgstr "Непознато" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Радња:" @@ -312,61 +357,60 @@ msgstr "запис у логовима" msgid "log entries" msgstr "записи у логовима" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 contrib/admin/options.py:153 msgid "None" msgstr "Ништа" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "Измењена поља %s" -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:587 +#: contrib/admin/options.py:559 contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:845 +#: forms/models.py:568 msgid "and" msgstr "и" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Сачуван објекат „%(object)s“ класе %(name)s." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Измењена поља %(list)s објеката „%(object)s“ класе %(name)s ." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Обрисан објекат „%(object)s“ класе %(name)s." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Без измена у пољима." -#: contrib/admin/options.py:598 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "Објекат „%(obj)s“ класе %(name)s сачуван је успешно." -#: contrib/admin/options.py:602 contrib/admin/options.py:635 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 contrib/admin/options.py:680 msgid "You may edit it again below." -msgstr "Доле можете поново уносити измене." +msgstr "Доле можете поново да уносите измене." -#: contrib/admin/options.py:612 contrib/admin/options.py:645 +#: contrib/admin/options.py:657 contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." -msgstr "Доле можете додати нови објекат класе %s" +msgstr "Доле можете да додате нови објекат класе %s" -#: contrib/admin/options.py:633 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "Објекат „%(obj)s“ класе %(name)s измењен је успешно." -#: contrib/admin/options.py:641 +#: contrib/admin/options.py:686 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." @@ -374,26 +418,38 @@ msgstr "" "Објекат „%(obj)s“ класе %(name)s додат је успешно. Доле можете унети додатне " "измене." -#: contrib/admin/options.py:772 +#: contrib/admin/options.py:740 contrib/admin/options.py:997 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"Потребно је изабрати објекте да би се извршила акција над њима. Ниједан " +"објекат није промењен." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Није изабрана ниједна акција." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Додај објекат класе %s" -#: contrib/admin/options.py:803 contrib/admin/options.py:1003 +#: contrib/admin/options.py:866 contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Објекат класе %(name)s са примарним кључем %(key)r не постоји." -#: contrib/admin/options.py:860 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "Измени објекат класе %s" -#: contrib/admin/options.py:904 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Грешка у бази података" -#: contrib/admin/options.py:940 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." @@ -401,30 +457,43 @@ msgstr[0] "%(count)s објекат класе %(name)s измењен је ус msgstr[1] "%(count)s објеката класе %(name)s измењени су успешно." msgstr[2] "%(count)s објекта класе %(name)s измењено је успешно." -#: contrib/admin/options.py:1018 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s изабран" +msgstr[1] "%(total_count)s изабрано" +msgstr[2] "%(total_count)s изабраних" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 од %(cnt)s изабрано" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Објекат „%(obj)s“ класе %(name)s обрисан је успешно." +msgstr "Објекат „%(obj)s“ класе %(name)s успешно је обрисан." -#: contrib/admin/options.py:1054 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Историјат измена: %s" -#: contrib/admin/sites.py:20 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 +#: contrib/admin/sites.py:18 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." msgstr "" "Унесите тачно корисничко име и лозинку. Пазите на разлику између малих и " -"великих слова у оба поља" +"великих слова у оба поља." -#: contrib/admin/sites.py:278 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Пријавите се поново пошто је ваша сесија истекла." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:47 +#: contrib/admin/sites.py:314 contrib/admin/views/decorators.py:47 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -432,62 +501,52 @@ msgstr "" "Изгледа да ваш браузер није подешен да прима колачиће. Укључите колачиће, " "освежите ову страницу и пробајте поново." -#: contrib/admin/sites.py:301 contrib/admin/sites.py:307 +#: contrib/admin/sites.py:330 contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." -msgstr "Корисничка имена не смеју садржати знак „@“." +msgstr "Корисничка имена не смеју да садрже знак „@“." -#: contrib/admin/sites.py:304 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Ваша имејл адреса није ваше корисничко име. Пробајте са „%s“." -#: contrib/admin/sites.py:360 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Администрација система" -#: contrib/admin/sites.py:373 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Пријава" -#: contrib/admin/sites.py:417 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "Администрација %s" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Једно или више поља %(fieldname)s у %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Једно или више поља %(fieldname)s у %(name)s" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Датум:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Време:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Тренутно:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Измена:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Претражи" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Додај још један" @@ -502,17 +561,17 @@ msgstr "Жао нам је, тражена страница није прона #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:31 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -549,34 +608,47 @@ msgstr "Покрени одабрану радњу" msgid "Go" msgstr "Почни" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Изабери све објекте на овој страници." + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Изабери све %(module_name)s од %(total_count)s укупно." + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Поништи избор" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Добродошли," -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Документација" -#: contrib/admin/templates/admin/base.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Промена лозинке" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Одјава" @@ -588,42 +660,43 @@ msgstr "Django администрација сајта" msgid "Django administration" msgstr "Django администрација" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Додај" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Историјат" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Преглед на сајту" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Исправите грешку доле." msgstr[1] "Исправите грешке доле." msgstr[2] "Исправите грешке доле." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Додај објекат класе %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Филтер" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:300 msgid "Delete" msgstr "Обриши" @@ -671,7 +744,7 @@ msgstr "" #, python-format msgid "" "Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" +"the following objects and their related items will be deleted:" msgstr "" "Да сигурни да желите да обришете одабране %(object_name)s? Следећи објекти " "који су у вези са овим објектом ће такође бити обрисани:" @@ -736,15 +809,9 @@ msgid "User" msgstr "Корисник" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Радња" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j. N. Y. G:i T" - #: contrib/admin/templates/admin/object_history.html:38 msgid "" "This object doesn't have a change history. It probably wasn't added via this " @@ -757,6 +824,11 @@ msgstr "" msgid "Show all" msgstr "Прикажи све" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Сачувај" + #: contrib/admin/templates/admin/search_form.html:8 msgid "Search" msgstr "Претрага" @@ -774,10 +846,6 @@ msgstr[2] "%(counter)s резултата" msgid "%(full_result_count)s total" msgstr "укупно %(full_result_count)s" -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "Сачувај" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "Сачувај као нови" @@ -798,33 +866,43 @@ msgstr "" "Прво унесите корисничко име и лозинку. Потом ћете моћи да мењате још " "корисничких подешавања." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Корисник" +#: contrib/admin/templates/admin/auth/user/add_form.html:8 +msgid "Enter a username and password." +msgstr "Унесите корисничко име и лозинку" -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Лозинка" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Лозинка (поновите)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Ради провере тачности поново унесите лозинку коју сте унели горе." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: 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:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Лозинка" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Лозинка (поновите)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Ради провере тачности поново унесите лозинку коју сте унели горе." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Додај још један објекат класе %(verbose_name)s." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Обриши" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Брисање?" @@ -838,9 +916,9 @@ msgid "Log in again" 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 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Измена лозинке" @@ -853,7 +931,7 @@ msgstr "Успешна измена лозинке" msgid "Your password was changed." msgstr "Ваша лозинка је измењена." -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:21 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." @@ -861,21 +939,17 @@ msgstr "" "Из безбедносних разлога прво унесите своју стару лозинку, а нову затим " "унесите два пута да бисмо могли да проверимо да ли сте је правилно унели." -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Стара лозинка:" +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Стара лозинка" -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Нова лозинка:" +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Нова лозинка" -#: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Потврда лозинке:" - -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Измени моју лозинку" @@ -914,6 +988,14 @@ msgstr "" "Унесите нову лозинку два пута како бисмо могли да проверимо да ли сте је " "правилно унели." +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Нова лозинка:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Потврда лозинке:" + #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Ресетовање лозинке неуспешно" @@ -981,175 +1063,94 @@ msgstr "Имејл адреса:" msgid "Reset my password" msgstr "Ресетуј моју лозинку" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Сви датуми" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "Одабери објекат класе %s" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "Одабери објекат класе %s за измену" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "сајт" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "темплејт" -#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60 -#: contrib/admindocs/views.py:62 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "таг:" -#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93 -#: contrib/admindocs/views.py:95 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "филтер:" -#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157 -#: contrib/admindocs/views.py:159 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "вју:" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "Апликација %r није пронађена" -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "Модел %(model_name)r није пронађен у апликацији %(app_label)r" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "повезани објекти класе `%(app_label)s.%(data_type)s`" -#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:228 -#: contrib/admindocs/views.py:242 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "модел:" # WARN: possible breakage in future # This string is interpolated in strings below, which can cause breakage in # future releases. -#: contrib/admindocs/views.py:237 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "класе `%(app_label)s.%(object_name)s`" # WARN: possible breakage in future -#: contrib/admindocs/views.py:242 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "сви повезани објекти %s" # WARN: possible breakage in future -#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "број повезаних објеката %s" # WARN: possible breakage in future -#: contrib/admindocs/views.py:252 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "Поља у повезаним објектима %s" -#: contrib/admindocs/views.py:315 contrib/admindocs/views.py:326 -#: contrib/admindocs/views.py:328 contrib/admindocs/views.py:334 -#: contrib/admindocs/views.py:335 contrib/admindocs/views.py:337 -msgid "Integer" -msgstr "Цео број" - -#: contrib/admindocs/views.py:316 -msgid "Boolean (Either True or False)" -msgstr "Булова вредност (True или False)" - -#: contrib/admindocs/views.py:317 contrib/admindocs/views.py:336 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Стринг (највише %(max_length)s знакова)" - -#: contrib/admindocs/views.py:318 -msgid "Comma-separated integers" -msgstr "Цели бројеви раздвојени запетама" - -#: contrib/admindocs/views.py:319 -msgid "Date (without time)" -msgstr "Датум (без времена)" - -#: contrib/admindocs/views.py:320 -msgid "Date (with time)" -msgstr "Датум (са временом)" - -#: contrib/admindocs/views.py:321 -msgid "Decimal number" -msgstr "Децимални број" - -#: contrib/admindocs/views.py:322 -msgid "E-mail address" -msgstr "Имејл адреса" - -#: contrib/admindocs/views.py:323 contrib/admindocs/views.py:324 -#: contrib/admindocs/views.py:327 -msgid "File path" -msgstr "Путања фајла" - -#: contrib/admindocs/views.py:325 -msgid "Floating point number" -msgstr "Број са покреном запетом" - -#: contrib/admindocs/views.py:329 contrib/comments/models.py:60 -msgid "IP address" -msgstr "IP адреса" - -#: contrib/admindocs/views.py:331 -msgid "Boolean (Either True, False or None)" -msgstr "Булова вредност (True, False или None)" - -#: contrib/admindocs/views.py:332 -msgid "Relation to parent model" -msgstr "Веза са родитељским моделом" - -#: contrib/admindocs/views.py:333 -msgid "Phone number" -msgstr "Број телефона" - -#: contrib/admindocs/views.py:338 -msgid "Text" -msgstr "Текст" - -#: contrib/admindocs/views.py:339 -msgid "Time" -msgstr "Време" - -#: contrib/admindocs/views.py:340 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:341 -msgid "U.S. state (two uppercase letters)" -msgstr "Држава у САД (два велика слова)" - -#: contrib/admindocs/views.py:342 -msgid "XML text" -msgstr "XML текст" - -#: contrib/admindocs/views.py:368 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" -msgstr "%s не изгледа као urlpattern објекат" +msgstr "%s не изгледа као „urlpattern“ објекат" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" @@ -1219,66 +1220,63 @@ msgid "As above, but opens the admin page in a new window." msgstr "" "Исто као претходни, али отвара администрациону страницу у новом прозору." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Лични подаци" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Дозволе" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Важни датуми" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Групе" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Додај корисника" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Лозинка успешно измењена." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Измени лозинку: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Корисник" + +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." msgstr "" "Неопходно. Највише 30 словних места. Само алфанумерички знаци (слова, бројке " -"и доња црта)." +"и @/./+/-/_)." -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Ова вредност може садржати само слова, бројке и доње црте." +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Ова вредност може садржати само слова, бројке и @/./+/-/_." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Потврда лозинке" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Корисник са тим корисничким именом већ постоји." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Два поља за лозинке се нису поклопила." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Овај налог је неактиван." -#: contrib/auth/forms.py:87 +#: contrib/auth/forms.py:88 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -1286,11 +1284,11 @@ msgstr "" "Изгледа да су колачићи искључени у вашем браузеру. Они морају бити укључени " "да би сте се пријавили." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "Имејл адреса" -#: contrib/auth/forms.py:109 +#: contrib/auth/forms.py:110 msgid "" "That e-mail address doesn't have an associated user account. Are you sure " "you've registered?" @@ -1298,72 +1296,71 @@ msgstr "" "Та имејл адреса није у вези ни са једним налогом. Да ли сте сигурни да сте " "се већ регистровали?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Ресетовање лозинке на %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Нова лозинка" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Потврда нове лозинке" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Стара лозинка" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Ваша стара лознка није правилно унесена. Унесите је поново." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "име" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "шифра дозволе" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "дозвола" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "дозволе" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "група" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "групе" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "корисничко име" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Неопходно. Највише 30 словних места. Само алфанумерички знаци (слова, бројке " +"и @/./+/-/_)." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "име" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "презиме" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "имејл адреса" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "лозинка" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1371,20 +1368,20 @@ msgstr "" "Користите '[algo]$[salt]$[hexdigest]' или формулар за " "унос лозинке." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "статус члана посаде" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." msgstr "" "Означава да ли корисник може да се пријави на овај сајт за администрацију." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "активан" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -1392,26 +1389,26 @@ msgstr "" "Означава да ли се корисник сматра активним. Деселектујте ово уместо да " "бришете налог." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "статус администратора" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "" "Означава да ли корисник има све дозволе без додељивања појединачних дозвола." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "последња пријава" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "датум регистрације" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:207 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1419,39 +1416,81 @@ msgstr "" "Поред ручно додељених дозвола, овај корисник ће имати и дозволе додељене " "гурпама којима припада." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "корисничке дозволе" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "корисник" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "корисници" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "порука" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Одјављен" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:24 +#: core/validators.py:120 forms/fields.py:427 msgid "Enter a valid e-mail address." msgstr "Унесите важећу имејл адресу." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Садржај" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Метаподаци" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "означен" +msgstr[1] "означена" +msgstr[2] "означених" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Означавање изабраних коментара" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "одобрен" +msgstr[1] "одобрена" +msgstr[2] "одобрених" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Одобрење изабраних коментара" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "уклоњен" +msgstr[1] "уклоњена" +msgstr[2] "уклоњених" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Обриши изабране коментаре" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "Над једним коментаром је успешно урађено: %(action)s." +msgstr[1] "Над %(count)s коментара је успешно урађено: %(action)s." +msgstr[2] "Над %(count)s коментара је успешно урађено: %(action)s." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1463,7 +1502,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Скорији коментари на сајту %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Име" @@ -1471,12 +1509,16 @@ msgstr "Име" msgid "Email address" msgstr "Имејл адреса" +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1109 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Коментари" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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." @@ -1484,12 +1526,12 @@ msgstr[0] "Пази на језик! Реч „%s“ овде није дозв msgstr[1] "Пази на језик! Речи „%s“ овде нису дозвољене." msgstr[2] "Пази на језик! Речи „%s“ овде нису дозвољене." -#: contrib/comments/forms.py:180 +#: contrib/comments/forms.py:182 msgid "" "If you enter anything in this field your comment will be treated as spam" msgstr "Ако ишта унесете у ово поље, Ваш коментар ће се сматрати спамом." -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 msgid "content type" msgstr "тип садржаја" @@ -1518,6 +1560,10 @@ msgstr "коментар" msgid "date/time submitted" msgstr "датум/време постављања" +#: contrib/comments/models.py:60 db/models/fields/__init__.py:904 +msgid "IP address" +msgstr "IP адреса" + #: contrib/comments/models.py:61 msgid "is public" msgstr "јавно" @@ -1526,7 +1572,7 @@ msgstr "јавно" msgid "" "Uncheck this box to make the comment effectively disappear from the site." msgstr "" -"Деселектујте ову кућицу ако желите да порука фактични нестане са овог сајта." +"Деселектујте ово поље ако желите да порука фактички нестане са овог сајта." #: contrib/comments/models.py:64 msgid "is removed" @@ -1600,7 +1646,6 @@ msgid "Really make this comment public?" msgstr "Да ли заиста желите да означите овај коментар јавним?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Одобри" @@ -1623,11 +1668,6 @@ msgstr "Обриши коментар" msgid "Really remove this comment?" msgstr "Да ли заиста желите да обришете овај коментар?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Обриши" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Хвала што користите наш сајт!" @@ -1658,39 +1698,6 @@ msgstr "Постави" msgid "Preview" msgstr "Преглед" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Коментари који чекају на одобрење" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Нема коментара на чекању" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Имејл адреса" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Пријављен?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "IP адреса" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Датум постављања" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "да" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "не" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Хвала на коментару" @@ -1719,11 +1726,11 @@ msgstr "Постави коментар" msgid "or make changes" msgstr "или изврши измене" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "име python класе модела" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "типови садржаја" @@ -1787,7 +1794,7 @@ msgstr "флет страница" msgid "flat pages" msgstr "флет странице" -#: contrib/formtools/wizard.py:130 +#: contrib/formtools/wizard.py:140 msgid "" "We apologize, but your form has expired. Please continue filling out the " "form from this page." @@ -1795,6 +1802,39 @@ msgstr "" "Жао нам је, али Ваша сесија је истекла. Попуњавање формулара наставите на " "овој страници." +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" +"Основно „GIS“ поље које мапира тип геометрије по „OpenGIS“ спецификацији." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Тачка" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Линија" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Полигон" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Више тачака" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Више линија" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Више полигона" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Колекција геопметријских облика" + #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Нисте задали параметре за геометрију." @@ -1811,7 +1851,7 @@ msgstr "Непостојећи тип геометрије." msgid "" "An error occurred when transforming the geometry to the SRID of the geometry " "form field." -msgstr "" +msgstr "Грешка се десила током трансформације геометрије на „SRID“ тип поља." #: contrib/humanize/templatetags/humanize.py:19 msgid "th" @@ -1901,25 +1941,25 @@ msgstr "сутра" msgid "yesterday" msgstr "јуче" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Унесите поштански број у формату НННН или АННННААА." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." -msgstr "Ово поље мора садржати само бројке." +msgstr "Ово поље мора да садржи само бројке." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." -msgstr "Ово поље мора садржати 7 или 8 цифара" +msgstr "Ово поље мора да садржи 7 или 8 цифара" -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Унестие важећи CUIT у формату XX-XXXXXXXX-X or XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Неважећи CUIT" @@ -1959,8 +1999,8 @@ msgstr "Воралбер" msgid "Vienna" msgstr "Беч" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Унесите поштански број у формату XXXX." @@ -1969,45 +2009,45 @@ msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." msgstr "" "Унесите важећи аустријски број социјалног осигурања у формату XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Унесите четвороцифрени поштански број" -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Унесите поштански број у формату XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Број телефона мора бити у формату XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 +#: contrib/localflavor/br/forms.py:54 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." msgstr "Одаберите постојећу бразилску државу. Та држава није међу понуђенима." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Неважећи CPF број" -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "" -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "" -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "" -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" @@ -2115,21 +2155,21 @@ msgstr "" msgid "Zurich" msgstr "" -#: contrib/localflavor/ch/forms.py:64 +#: contrib/localflavor/ch/forms.py:65 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." msgstr "" -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "" -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "" -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "" @@ -2189,23 +2229,23 @@ msgstr "" msgid "Moravian-Silesian Region" msgstr "" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "" -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "" -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "" -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "" @@ -2273,12 +2313,12 @@ msgstr "" msgid "Thuringia" msgstr "" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "" -#: contrib/localflavor/de/forms.py:41 +#: contrib/localflavor/de/forms.py:42 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2551,71 +2591,503 @@ msgstr "" msgid "Valencian Community" msgstr "" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "" -#: contrib/localflavor/es/forms.py:39 +#: contrib/localflavor/es/forms.py:40 msgid "" "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " "9XXXXXXXX." msgstr "" -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "" -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "" -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "" -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "" -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "" -#: contrib/localflavor/es/forms.py:142 +#: contrib/localflavor/es/forms.py:143 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "" -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "" -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "" + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "" -#: contrib/localflavor/is_/forms.py:17 +#: contrib/localflavor/is_/forms.py:18 msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "" -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "" -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "" -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "" -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "" @@ -2811,6 +3283,10 @@ msgstr "" msgid "Okinawa" msgstr "" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "" @@ -2939,15 +3415,11 @@ msgstr "" msgid "Zacatecas" msgstr "" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "" @@ -2999,15 +3471,15 @@ msgstr "" msgid "Zuid-Holland" msgstr "" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "" -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "" -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "" @@ -3104,6 +3576,14 @@ msgstr "" msgid "West Pomerania" msgstr "" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "" + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "" @@ -3124,6 +3604,106 @@ msgstr "" msgid "Enter a valid postal code in the format XXXXXX" msgstr "" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "" + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "" + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "" @@ -3756,19 +4336,43 @@ msgstr "" msgid "Wales" msgstr "" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "" -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "" + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Држава у САД (два велика слова)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Број телефона" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "" + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "" @@ -3808,6 +4412,10 @@ msgstr "" msgid "Western Cape" msgstr "" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "порука" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "преусмерен са" @@ -3872,59 +4480,220 @@ msgstr "приказано име" msgid "sites" msgstr "сајтови" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Ова вредност мора бити целобројна." +#: core/validators.py:20 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Унесите исправну вредност." -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Ова вредност мора бити True или False." +#: core/validators.py:87 forms/fields.py:528 +msgid "Enter a valid URL." +msgstr "Унесите исправан URL." -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Ово поље не може остати празно." +#: core/validators.py:89 forms/fields.py:529 +msgid "This URL appears to be a broken link." +msgstr "Овај URL изгледа не води никуда." -#: db/models/fields/__init__.py:443 +#: core/validators.py:123 forms/fields.py:877 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "" +"Унесите исрпаван „слаг“, који се састоји од слова, бројки, доњих црта или " +"циртица." + +#: core/validators.py:126 forms/fields.py:870 +msgid "Enter a valid IPv4 address." +msgstr "Унесите исправну IPv4 адресу." + +#: core/validators.py:129 db/models/fields/__init__.py:572 msgid "Enter only digits separated by commas." msgstr "Унесите само бројке раздвојене запетама." -#: db/models/fields/__init__.py:474 +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Ово поље мора да буде %(limit_value)s (тренутно има %(show_value)s)." + +#: core/validators.py:153 forms/fields.py:204 forms/fields.py:256 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Ова вредност мора да буде мања од %(limit_value)s. или тачно толико." + +#: core/validators.py:158 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Ова вредност мора бити већа од %(limit_value)s или тачно толико." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr "" +"Ово поље мора да садржи најмање %(limit_value)d словних места (тренутно има " +"%(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has " +"%(show_value)d)." +msgstr "" +"Ово поље мора да садржи највише %(limit_value)d словних места (тренутно има " +"%(show_value)d)." + +#: db/models/base.py:823 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "%(field_name)s мора да буде јединствен за %(date_field)s %(lookup)s." + +#: db/models/base.py:838 db/models/base.py:846 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s са овом вредношћу %(field_label)s већ постоји." + +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Вредност %r није дозвољена." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Ово поље не може да остане празно." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Ово поље не може да остане празно." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Поње типа: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:860 +#: db/models/fields/__init__.py:969 db/models/fields/__init__.py:980 +#: db/models/fields/__init__.py:1007 +msgid "Integer" +msgstr "Цео број" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:858 +msgid "This value must be an integer." +msgstr "Ова вредност мора бити целобројна." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Ова вредност мора бити True или False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Булова вредност (True или False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:990 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Стринг (највише %(max_length)s знакова)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Цели бројеви раздвојени запетама" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Датум (без времена)" + +#: db/models/fields/__init__.py:585 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Унесите исправан датум у формату ГГГГ-ММ-ДД." -#: db/models/fields/__init__.py:483 +#: db/models/fields/__init__.py:586 #, python-format msgid "Invalid date: %s" msgstr "Неисправан датум: %s" -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:667 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." msgstr "Унесите исправан датум/време у формату ГГГГ-ММ-ДД ЧЧ:ММ[:сс[.уууууу]." -#: db/models/fields/__init__.py:601 +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Датум (са временом)" + +#: db/models/fields/__init__.py:735 msgid "This value must be a decimal number." msgstr "Ова вредност мора бити децимални број" -#: db/models/fields/__init__.py:686 +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Децимални број" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "Имејл адреса" + +#: db/models/fields/__init__.py:807 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Путања фајла" + +#: db/models/fields/__init__.py:830 msgid "This value must be a float." msgstr "Ова вредност мора бити број са клизећом запетом" -#: db/models/fields/__init__.py:746 +#: db/models/fields/__init__.py:832 +msgid "Floating point number" +msgstr "Број са покреном запетом" + +#: db/models/fields/__init__.py:891 +msgid "Big (8 byte) integer" +msgstr "Велики цео број" + +#: db/models/fields/__init__.py:920 msgid "This value must be either None, True or False." msgstr "Ова вредност мора бити или None, или True, или False." -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 +#: db/models/fields/__init__.py:922 +msgid "Boolean (Either True, False or None)" +msgstr "Булова вредност (True, False или None)" + +#: db/models/fields/__init__.py:1013 +msgid "Text" +msgstr "Текст" + +#: db/models/fields/__init__.py:1029 +msgid "Time" +msgstr "Време" + +#: db/models/fields/__init__.py:1033 msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." msgstr "Унесите исправно време у формату ЧЧ:ММ[:сс[.уууууу]]." -#: db/models/fields/related.py:792 +#: db/models/fields/__init__.py:1125 +msgid "XML text" +msgstr "XML текст" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Објекат класе %(model)s са примарним кључем %(pk)r не постоји." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Страни кључ (тип одређује референтно поље)" + +#: db/models/fields/related.py:919 +msgid "One-to-one relationship" +msgstr "Релација један на један" + +#: db/models/fields/related.py:981 +msgid "Many-to-many relationship" +msgstr "Релација више на више" + +#: db/models/fields/related.py:1001 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Држите „Control“, или „Command“ на Mac-у да бисте обележили више од једне " "ставке." -#: db/models/fields/related.py:870 +#: db/models/fields/related.py:1062 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3933,94 +4702,66 @@ msgstr[0] "Унесите исправан %(self)s IDs. Вредност %(valu msgstr[1] "Унесите исправан %(self)s IDs. Вредности %(value)r су неисправне." msgstr[2] "Унесите исправан %(self)s IDs. Вредности %(value)r су неисправне." -#: forms/fields.py:54 +#: forms/fields.py:65 msgid "This field is required." msgstr "Ово поље се мора попунити." -#: forms/fields.py:55 -msgid "Enter a valid value." -msgstr "Унесите исправну вредност." - -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Ово поље мора садржати највише %(max)d словних места (тренутно има %(length)" -"d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Ово поље мора садржати најмање %(min)d словних места (тренутно има %(length)" -"d." - -#: forms/fields.py:166 +#: forms/fields.py:203 msgid "Enter a whole number." msgstr "Унесите цео број." -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Ова вредност мора да буде мања од %s или тачно толико." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Ова вредност мора бити већа од %s или тачно толико." - -#: forms/fields.py:195 forms/fields.py:224 +#: forms/fields.py:234 forms/fields.py:255 msgid "Enter a number." msgstr "Унесите број." -#: forms/fields.py:227 +#: forms/fields.py:258 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Не сме бити укупно више од %s цифара. Проверите." -#: forms/fields.py:228 +#: forms/fields.py:259 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Не сме бити укупно више од %s децималних места. Проверите." -#: forms/fields.py:229 +#: forms/fields.py:260 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Не сме бити укупно више од %s цифара пре запете. Проверите." -#: forms/fields.py:288 forms/fields.py:863 +#: forms/fields.py:322 forms/fields.py:837 msgid "Enter a valid date." msgstr "Унесите исправан датум." -#: forms/fields.py:322 forms/fields.py:864 +#: forms/fields.py:350 forms/fields.py:838 msgid "Enter a valid time." msgstr "Унесите исправно време" -#: forms/fields.py:361 +#: forms/fields.py:376 msgid "Enter a valid date/time." msgstr "Унесите исправан датум/време." -#: forms/fields.py:447 +#: forms/fields.py:434 msgid "No file was submitted. Check the encoding type on the form." msgstr "Фајл није пребачен. Проверите тип енкодирања формулара." -#: forms/fields.py:448 +#: forms/fields.py:435 msgid "No file was submitted." msgstr "Фајл није пребачен." -#: forms/fields.py:449 +#: forms/fields.py:436 msgid "The submitted file is empty." msgstr "Пребачен фајл је празан." -#: forms/fields.py:450 +#: forms/fields.py:437 #, python-format msgid "" "Ensure this filename has at most %(max)d characters (it has %(length)d)." msgstr "" -"Назив фајла мора да садржи бар %(max)d словних места (тренутно има %(length)" -"d)." +"Назив фајла мора да садржи бар %(max)d словних места (тренутно има " +"%(length)d)." -#: forms/fields.py:483 +#: forms/fields.py:472 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -4028,61 +4769,32 @@ msgstr "" "Пребаците исправан фајл. Фајл који је пребачен или није слика, или је " "оштећен." -#: forms/fields.py:544 -msgid "Enter a valid URL." -msgstr "Унесите исправан URL." - -#: forms/fields.py:545 -msgid "This URL appears to be a broken link." -msgstr "Овај URL изгледа не води никуда." - -#: forms/fields.py:625 forms/fields.py:703 +#: forms/fields.py:595 forms/fields.py:670 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "" "%(value)s није међу понуђеним вредностима. Одаберите једну од понуђених." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:962 +#: forms/fields.py:671 forms/fields.py:733 forms/models.py:1002 msgid "Enter a list of values." msgstr "Унесите листу вредности." -#: forms/fields.py:892 -msgid "Enter a valid IPv4 address." -msgstr "Унесите исправну IPv4 адресу." - -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Унесите исрпаван „слаг“, који се састоји од слова, бројки, доњих црта или " -"циртица." - -#: forms/formsets.py:271 forms/formsets.py:273 +#: forms/formsets.py:296 forms/formsets.py:298 msgid "Order" msgstr "Редослед" -#: forms/models.py:367 -#, python-format -msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." -msgstr "%(field_name)s мора да буде јединствен за %(date_field)s %(lookup)s." - -#: forms/models.py:381 forms/models.py:389 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s са овом вредношћу %(field_label)s већ постоји." - -#: forms/models.py:581 +#: forms/models.py:562 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Исправите дуплиран садржај за поља: %(field)s." -#: forms/models.py:585 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." msgstr "" "Исправите дуплиран садржај за поља: %(field)s, који мора да буде јединствен." -#: forms/models.py:591 +#: forms/models.py:572 #, python-format msgid "" "Please correct the duplicate data for %(field_name)s which must be unique " @@ -4091,33 +4803,33 @@ msgstr "" "Исправите дуплиран садржај за поља: %(field_name)s, који мора да буде " "јединствен за %(lookup)s у %(date_field)s." -#: forms/models.py:599 +#: forms/models.py:580 msgid "Please correct the duplicate values below." msgstr "Исправите дуплиране вредности доле." -#: forms/models.py:837 +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "Страни кључ се није поклопио са инстанцом родитељског кључа." -#: forms/models.py:892 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Одабрана вредност није међу понуђенима. Одаберите једну од понуђених." -#: forms/models.py:963 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "%s није међу понуђеним вредностима. Одаберите једну од понуђених." -#: forms/models.py:965 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "„%s“ није исправна вредност за примарни кључ." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "да,не,можда" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" @@ -4125,20 +4837,20 @@ msgstr[0] "%(size)d бајт" msgstr[1] "%(size)d бајта" msgstr[2] "%(size)d бајтова" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4344,7 +5056,7 @@ msgstr "нов." msgid "Dec." msgstr "дец." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "или" @@ -4404,33 +5116,37 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" -msgstr "j. N Y." +msgstr "j. F Y." -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j. F Y. H:i Т" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "G:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "F Y." -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "j. F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s је успешно креиран." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s је успешно ажуриран." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s је обрисан." diff --git a/django/conf/locale/sr/LC_MESSAGES/djangojs.mo b/django/conf/locale/sr/LC_MESSAGES/djangojs.mo index f4ccb23ecc4f9445b430e626c732f40ab5563107..b74e78cc4b8b119ac483560bc5822646050f335a 100644 GIT binary patch literal 2683 zcmbVM&vO(-6do0S#ovf}Q1p2qfHLcBf*6)80)ZgNh7?&qE=uoiXLpj>nYCvouvHvL zf`+47P!*t*LaOw-KvrWQOO+SP!b8u|3x5M%Jo~+wWl7XR%C749x?jH^-}}0EZ?9Z& z*1&if^EJ%hFjr%qcnBYiJHYpVe*hl?u7B7to&Z`v-fspz1Kb9D5;z2W6!;Nv1@L3w zL0}QcaX+=~KLa1Z{udy}-)h@`2lioq8_0QHffL8A26Fyx;CY}0JOjK1tO1Xr*z1Ui zfS+Q22jsYZ;c>%w9#{rG3p@^d6*vQY0eBh6eKdhj18)FXkY9maz)w(|aSX_DA#fG& zOCbAy2RsVA24ufgAj$X!5GLa-paAv)j{?sEPXYe~vcxZ8uEYfOc)W-&^X3{n_+EH$ z4?H+0kEardxkG}uChNtVp2Otcc%Y3~UzCgcH`c84rL*2AZLC+@f@hfr{t(k^}{IRT=}16pDlcyW+yJWj1 zd%`Y-!l6-HIwe0v$hlTYswuA^3Q)oEym8wt)2OE?s7TuFQ6UTh1S^3(8&Q-`Mwm%* zmNM>34Nl9b`G}0kst&op`zJZ7%OFL=xK>2kUy0z+Iyf6sKx28DuzY<`e3hLtyl*KF=7nTMqE zaW5I#IR^Q?t^=~>sld$nWxHhV2+O{i_cGKqygzRaC@J_3&7C5U8S1gpmTC2w)+S1C z&b-_Ew$)=58kOc!gjatQ&PSRvIp~nX5T$OmSR*YbC+B6N_g2B>MPhm*RT^R;h2M-s`?pn zYw_04_HLnMnRVBst!y?;-QC1X>&hC2=qk^VkjUrJ&Z!0rdu3MrsgGdiamq;JMLb_{xf;;b!HXz*q-E(LKZnnBDIi;FLx zA(jnow`ugy;;o_2z_y4ECm}Is<6MS5jU`eTdUnZcxgOsN!kR4J0-DEVMAN+CBcz#U zG5MGuS#qb)zkLSb<7Q$J&-mol+q6>V^51Jot+&mr@9wj>D_>}P%dE^@q delta 857 zcmZY6&ubGw6u|K@rcJaptxdH;Jq&6^4{bMXl~hD1LPfBbM$z7ko7Dt2jWk*iiv1zf zi-@ucBK`oyizizw2F3J0(3zWu&}*+z@StA&zGV@?ftkEa?uZzi+`ddmPHLIlmvsA#SxUmWt2Qsl#Ayu&Dmv?_$LI(i@m@!zQIoJ zS9K;S7QSFFZs1P*g%a4#TgbCUd7&W&slX^o>BdnKHzGGt@_a{$OC^-*#$Fsk2W8#G zi`=iSF_8o|vVmbmQ2qk%5gvdrk;KaHlB#e=7z^P?>_(3L*LFoKohTnAO{#LHhk**I zF1j=-raI{I#nPmdZQ<;n;i%3Jln2yUp`gZQ^Cdrj$@g?$H5iQPbg@#YdOGj>>SU4G zw5(6WZXKEQ%9UA9<@AI;tIyNNbx!3x-*d0)o0S_g+AUT}u6L+\n" "Language-Team: Branko Vukelic & Janos Guljas " " & Nesh & Petar \n" +"Language: \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" -#: 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 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Врати све" +#: contrib/admin/media/js/actions.js:18 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s од %(cnt)s изабран" +msgstr[1] "%(sel)s од %(cnt)s изабрано" +msgstr[2] "%(sel)s од %(cnt)s изабраних" + +#: contrib/admin/media/js/actions.js:109 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Имате несачиване измене. Ако покренете акцију, измене ће бити изгубљене." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "Изабрали сте акцију али нисте сачували промене поља." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "Изабрали сте акцију али нисте изменили ни једно поље." + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -59,62 +64,81 @@ msgstr "" msgid "S M T W T F S" msgstr "Н П У С Ч П С" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Покажи" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Сакриј" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "недеља понедељак уторак среда четвртак петак субота" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "Покажи" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "Сакриј" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Тренутно време" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "Сат" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Одабир времена" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "Поноћ" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "18ч" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "Подне" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Поништи" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "Данас" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Календар" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "Јуче" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "Сутра" + +#~ msgid "Available %s" +#~ msgstr "Доступни %s" + +#~ msgid "Choose all" +#~ msgstr "Додај све" + +#~ msgid "Add" +#~ msgstr "Додај" + +#~ msgid "Remove" +#~ msgstr "Уклони" + +#~ msgid "Chosen %s" +#~ msgstr "Одабрани %s" + +#~ msgid "Select your choice(s) and click " +#~ msgstr "Направите избор и кликните " diff --git a/django/conf/locale/sr/__init__.py b/django/conf/locale/sr/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/sr/formats.py b/django/conf/locale/sr/formats.py new file mode 100644 index 000000000..cb0478ed0 --- /dev/null +++ b/django/conf/locale/sr/formats.py @@ -0,0 +1,44 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j. F Y.' +TIME_FORMAT = 'H:i' +DATETIME_FORMAT = 'j. F Y. H:i' +YEAR_MONTH_FORMAT = 'F Y.' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'j.m.Y.' +SHORT_DATETIME_FORMAT = 'j.m.Y. H:i' +FIRST_DAY_OF_WEEK = 1 +DATE_INPUT_FORMATS = ( + '%d.%m.%Y.', '%d.%m.%y.', # '25.10.2006.', '25.10.06.' + '%d. %m. %Y.', '%d. %m. %y.', # '25. 10. 2006.', '25. 10. 06.' + '%Y-%m-%d', # '2006-10-25' + # '%d. %b %y.', '%d. %B %y.', # '25. Oct 06.', '25. October 06.' + # '%d. %b \'%y.', '%d. %B \'%y.', # '25. Oct '06.', '25. October '06.' + # '%d. %b %Y.', '%d. %B %Y.', # '25. Oct 2006.', '25. October 2006.' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%d.%m.%Y. %H:%M:%S', # '25.10.2006. 14:30:59' + '%d.%m.%Y. %H:%M', # '25.10.2006. 14:30' + '%d.%m.%Y.', # '25.10.2006.' + '%d.%m.%y. %H:%M:%S', # '25.10.06. 14:30:59' + '%d.%m.%y. %H:%M', # '25.10.06. 14:30' + '%d.%m.%y.', # '25.10.06.' + '%d. %m. %Y. %H:%M:%S', # '25. 10. 2006. 14:30:59' + '%d. %m. %Y. %H:%M', # '25. 10. 2006. 14:30' + '%d. %m. %Y.', # '25. 10. 2006.' + '%d. %m. %y. %H:%M:%S', # '25. 10. 06. 14:30:59' + '%d. %m. %y. %H:%M', # '25. 10. 06. 14:30' + '%d. %m. %y.', # '25. 10. 06.' + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/sr_Latn/LC_MESSAGES/django.mo b/django/conf/locale/sr_Latn/LC_MESSAGES/django.mo index 15f3af540e93ccdfdb5b32345554ffee5edea6be..fdd276016253ccd166c82a595563b2337bbbed85 100644 GIT binary patch delta 16320 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 ajs9}ux|Ejv!fwBc$iBw{j-{86YyBU3IiL9e delta 13279 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\n" -"Language-Team: Branko Vukelic & Janos Guljas " -" & Nesh & Petar \n" +"Language-Team: Branko Vukelic & Janos Guljas & Nesh & Petar \n" +"Language: \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" #: conf/global_settings.py:44 msgid "Arabic" msgstr "arapski" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "bengalski" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "bugarski" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "bengalski" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "bosanski" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "katalonski" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "češki" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "velški" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "danski" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "nemački" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "grčki" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "engleski" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "britanski engleski" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "španski" -#: conf/global_settings.py:55 +#: conf/global_settings.py:57 +msgid "Argentinian Spanish" +msgstr "argentinski španski" + +#: conf/global_settings.py:58 msgid "Estonian" msgstr "estonski" -#: conf/global_settings.py:56 -msgid "Argentinean Spanish" -msgstr "argentinski španski" - -#: conf/global_settings.py:57 +#: conf/global_settings.py:59 msgid "Basque" msgstr "baskijski" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "persijski" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "finski" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "francuski" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "frizijski" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "irski" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "galski" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "mađarski" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "hebrejski" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Hindi" msgstr "hindu" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Croatian" msgstr "hrvatski" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "mađarski" + +#: conf/global_settings.py:70 +msgid "Indonesian" +msgstr "indonežanski" + +#: conf/global_settings.py:71 msgid "Icelandic" msgstr "islandski" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Italian" msgstr "italijanski" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Japanese" msgstr "japanski" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Georgian" msgstr "gruzijski" -#: conf/global_settings.py:71 -msgid "Korean" -msgstr "korejski" - -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Khmer" msgstr "kambodijski" -#: conf/global_settings.py:73 +#: conf/global_settings.py:76 msgid "Kannada" msgstr "kanada" -#: conf/global_settings.py:74 -msgid "Latvian" -msgstr "latvijski" +#: conf/global_settings.py:77 +msgid "Korean" +msgstr "korejski" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 msgid "Lithuanian" msgstr "litvanski" -#: conf/global_settings.py:76 +#: conf/global_settings.py:79 +msgid "Latvian" +msgstr "latvijski" + +#: conf/global_settings.py:80 msgid "Macedonian" msgstr "makedonski" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 +msgid "Malayalam" +msgstr "malajalamski" + +#: conf/global_settings.py:82 +msgid "Mongolian" +msgstr "mongolski" + +#: conf/global_settings.py:83 msgid "Dutch" msgstr "holandski" -#: conf/global_settings.py:78 +#: conf/global_settings.py:84 msgid "Norwegian" msgstr "norveški" -#: conf/global_settings.py:79 +#: conf/global_settings.py:85 +msgid "Norwegian Bokmal" +msgstr "norveški knjževni" + +#: conf/global_settings.py:86 +msgid "Norwegian Nynorsk" +msgstr "norveški novi" + +#: conf/global_settings.py:87 msgid "Polish" msgstr "poljski" -#: conf/global_settings.py:80 +#: conf/global_settings.py:88 msgid "Portuguese" msgstr "portugalski" -#: conf/global_settings.py:81 +#: conf/global_settings.py:89 msgid "Brazilian Portuguese" msgstr "brazilski portugalski" -#: conf/global_settings.py:82 +#: conf/global_settings.py:90 msgid "Romanian" msgstr "rumunski" -#: conf/global_settings.py:83 +#: conf/global_settings.py:91 msgid "Russian" msgstr "ruski" -#: conf/global_settings.py:84 +#: conf/global_settings.py:92 msgid "Slovak" msgstr "slovački" -#: conf/global_settings.py:85 +#: conf/global_settings.py:93 msgid "Slovenian" msgstr "slovenački" -#: conf/global_settings.py:86 +#: conf/global_settings.py:94 +msgid "Albanian" +msgstr "albanski" + +#: conf/global_settings.py:95 msgid "Serbian" msgstr "srpski" -#: conf/global_settings.py:87 +#: conf/global_settings.py:96 +msgid "Serbian Latin" +msgstr "srpski (latinica)" + +#: conf/global_settings.py:97 msgid "Swedish" msgstr "švedski" -#: conf/global_settings.py:88 +#: conf/global_settings.py:98 msgid "Tamil" msgstr "tamilski" -#: conf/global_settings.py:89 +#: conf/global_settings.py:99 msgid "Telugu" msgstr "telugu" -#: conf/global_settings.py:90 +#: conf/global_settings.py:100 msgid "Thai" msgstr "tajlandski" -#: conf/global_settings.py:91 +#: conf/global_settings.py:101 msgid "Turkish" msgstr "turski" -#: conf/global_settings.py:92 +#: conf/global_settings.py:102 msgid "Ukrainian" msgstr "ukrajinski" -#: conf/global_settings.py:93 +#: conf/global_settings.py:103 +msgid "Vietnamese" +msgstr "vijetnamski" + +#: conf/global_settings.py:104 msgid "Simplified Chinese" msgstr "novokineski" -#: conf/global_settings.py:94 +#: conf/global_settings.py:105 msgid "Traditional Chinese" msgstr "starokineski" -#: contrib/admin/actions.py:60 +#: contrib/admin/actions.py:48 #, python-format msgid "Successfully deleted %(count)d %(items)s." msgstr "Uspešno obrisano: %(count)d %(items)s." -#: contrib/admin/actions.py:67 contrib/admin/options.py:1025 +#: contrib/admin/actions.py:55 +#: contrib/admin/options.py:1125 msgid "Are you sure?" msgstr "Da li ste sigurni?" -#: contrib/admin/actions.py:85 +#: contrib/admin/actions.py:73 #, python-format msgid "Delete selected %(verbose_name_plural)s" msgstr "Briši označene objekte klase %(verbose_name_plural)s" @@ -243,8 +286,10 @@ msgstr "" "

                                                  %s:

                                                  \n" "
                                                    \n" -#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 -#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +#: contrib/admin/filterspecs.py:75 +#: contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 +#: contrib/admin/filterspecs.py:173 msgid "All" msgstr "Svi" @@ -268,19 +313,22 @@ msgstr "Ovaj mesec" msgid "This year" msgstr "Ova godina" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 +#: forms/widgets.py:478 msgid "Yes" msgstr "Da" -#: contrib/admin/filterspecs.py:147 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:147 +#: forms/widgets.py:478 msgid "No" msgstr "Ne" -#: contrib/admin/filterspecs.py:154 forms/widgets.py:434 +#: contrib/admin/filterspecs.py:154 +#: forms/widgets.py:478 msgid "Unknown" msgstr "Nepoznato" -#: contrib/admin/helpers.py:14 +#: contrib/admin/helpers.py:20 msgid "Action:" msgstr "Radnja:" @@ -312,88 +360,99 @@ msgstr "zapis u logovima" msgid "log entries" msgstr "zapisi u logovima" -#: contrib/admin/options.py:133 contrib/admin/options.py:147 +#: contrib/admin/options.py:138 +#: contrib/admin/options.py:153 msgid "None" msgstr "Ništa" -#: contrib/admin/options.py:519 +#: contrib/admin/options.py:559 #, python-format msgid "Changed %s." msgstr "Izmenjena polja %s" -#: contrib/admin/options.py:519 contrib/admin/options.py:529 -#: contrib/comments/templates/comments/preview.html:16 forms/models.py:388 -#: forms/models.py:587 +#: contrib/admin/options.py:559 +#: contrib/admin/options.py:569 +#: contrib/comments/templates/comments/preview.html:16 +#: db/models/base.py:845 +#: forms/models.py:568 msgid "and" msgstr "i" -#: contrib/admin/options.py:524 +#: contrib/admin/options.py:564 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "Sačuvan objekat „%(object)s“ klase %(name)s." -#: contrib/admin/options.py:528 +#: contrib/admin/options.py:568 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "Izmenjena polja %(list)s objekata „%(object)s“ klase %(name)s ." -#: contrib/admin/options.py:533 +#: contrib/admin/options.py:573 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "Obrisan objekat „%(object)s“ klase %(name)s." -#: contrib/admin/options.py:537 +#: contrib/admin/options.py:577 msgid "No fields changed." msgstr "Bez izmena u poljima." -#: contrib/admin/options.py:598 contrib/auth/admin.py:67 +#: contrib/admin/options.py:643 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "Objekat „%(obj)s“ klase %(name)s sačuvan je uspešno." -#: contrib/admin/options.py:602 contrib/admin/options.py:635 -#: contrib/auth/admin.py:75 +#: contrib/admin/options.py:647 +#: contrib/admin/options.py:680 msgid "You may edit it again below." -msgstr "Dole možete ponovo unositi izmene." +msgstr "Dole možete ponovo da unosite izmene." -#: contrib/admin/options.py:612 contrib/admin/options.py:645 +#: contrib/admin/options.py:657 +#: contrib/admin/options.py:690 #, python-format msgid "You may add another %s below." -msgstr "Dole možete dodati novi objekat klase %s" +msgstr "Dole možete da dodate novi objekat klase %s" -#: contrib/admin/options.py:633 +#: contrib/admin/options.py:678 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "Objekat „%(obj)s“ klase %(name)s izmenjen je uspešno." -#: contrib/admin/options.py:641 +#: contrib/admin/options.py:686 #, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" -"Objekat „%(obj)s“ klase %(name)s dodat je uspešno. Dole možete uneti dodatne " -"izmene." +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "Objekat „%(obj)s“ klase %(name)s dodat je uspešno. Dole možete uneti dodatne izmene." -#: contrib/admin/options.py:772 +#: contrib/admin/options.py:740 +#: contrib/admin/options.py:997 +msgid "Items must be selected in order to perform actions on them. No items have been changed." +msgstr "Potrebno je izabrati objekte da bi se izvršila akcija nad njima. Nijedan objekat nije promenjen." + +#: contrib/admin/options.py:759 +msgid "No action selected." +msgstr "Nije izabrana nijedna akcija." + +#: contrib/admin/options.py:840 #, python-format msgid "Add %s" msgstr "Dodaj objekat klase %s" -#: contrib/admin/options.py:803 contrib/admin/options.py:1003 +#: contrib/admin/options.py:866 +#: contrib/admin/options.py:1105 #, python-format msgid "%(name)s object with primary key %(key)r does not exist." msgstr "Objekat klase %(name)s sa primarnim ključem %(key)r ne postoji." -#: contrib/admin/options.py:860 +#: contrib/admin/options.py:931 #, python-format msgid "Change %s" msgstr "Izmeni objekat klase %s" -#: contrib/admin/options.py:904 +#: contrib/admin/options.py:977 msgid "Database error" msgstr "Greška u bazi podataka" -#: contrib/admin/options.py:940 +#: contrib/admin/options.py:1039 #, python-format msgid "%(count)s %(name)s was changed successfully." msgid_plural "%(count)s %(name)s were changed successfully." @@ -401,93 +460,94 @@ msgstr[0] "%(count)s objekat klase %(name)s izmenjen je uspešno." msgstr[1] "%(count)s objekata klase %(name)s izmenjeni su uspešno." msgstr[2] "%(count)s objekta klase %(name)s izmenjeno je uspešno." -#: contrib/admin/options.py:1018 +#: contrib/admin/options.py:1066 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "%(total_count)s izabran" +msgstr[1] "%(total_count)s izabrano" +msgstr[2] "%(total_count)s izabranih" + +#: contrib/admin/options.py:1071 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "0 od %(cnt)s izabrano" + +#: contrib/admin/options.py:1118 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Objekat „%(obj)s“ klase %(name)s obrisan je uspešno." +msgstr "Objekat „%(obj)s“ klase %(name)s uspešno je obrisan." -#: contrib/admin/options.py:1054 +#: contrib/admin/options.py:1155 #, python-format msgid "Change history: %s" msgstr "Istorijat izmena: %s" -#: contrib/admin/sites.py:20 contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" -"Unesite tačno korisničko ime i lozinku. Pazite na razliku između malih i " -"velikih slova u oba polja" +#: contrib/admin/sites.py:18 +#: contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "Please enter a correct username and password. Note that both fields are case-sensitive." +msgstr "Unesite tačno korisničko ime i lozinku. Pazite na razliku između malih i velikih slova u oba polja." -#: contrib/admin/sites.py:278 contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:307 +#: contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Prijavite se ponovo pošto je vaša sesija istekla." -#: contrib/admin/sites.py:285 contrib/admin/views/decorators.py:47 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "" -"Izgleda da vaš brauzer nije podešen da prima kolačiće. Uključite kolačiće, " -"osvežite ovu stranicu i probajte ponovo." +#: contrib/admin/sites.py:314 +#: contrib/admin/views/decorators.py:47 +msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." +msgstr "Izgleda da vaš brauzer nije podešen da prima kolačiće. Uključite kolačiće, osvežite ovu stranicu i probajte ponovo." -#: contrib/admin/sites.py:301 contrib/admin/sites.py:307 +#: contrib/admin/sites.py:330 +#: contrib/admin/sites.py:336 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." -msgstr "Korisnička imena ne smeju sadržati znak „@“." +msgstr "Korisnička imena ne smeju da sadrže znak „@“." -#: contrib/admin/sites.py:304 contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:333 +#: contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Vaša imejl adresa nije vaše korisničko ime. Probajte sa „%s“." -#: contrib/admin/sites.py:360 +#: contrib/admin/sites.py:389 msgid "Site administration" msgstr "Administracija sistema" -#: contrib/admin/sites.py:373 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:403 +#: contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Prijava" -#: contrib/admin/sites.py:417 +#: contrib/admin/sites.py:448 #, python-format msgid "%s administration" msgstr "Administracija %s" -#: contrib/admin/util.py:168 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Jedno ili više polja %(fieldname)s u %(name)s: %(obj)s" - -#: contrib/admin/util.py:173 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Jedno ili više polja %(fieldname)s u %(name)s" - -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Datum:" -#: contrib/admin/widgets.py:71 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Vreme:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Trenutno:" -#: contrib/admin/widgets.py:95 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Izmena:" -#: contrib/admin/widgets.py:124 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Pretraži" -#: contrib/admin/widgets.py:236 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Dodaj još jedan" @@ -502,17 +562,17 @@ msgstr "Žao nam je, tražena stranica nije pronađena." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:31 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:25 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -534,12 +594,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 "" -"Došlo je do greške. Administrator sajta je obavešten imejlom i greška će " -"biti uskoro otklonjena. Hvala 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 "Došlo je do greške. Administrator sajta je obavešten imejlom i greška će biti uskoro otklonjena. Hvala na strpljenju." #: contrib/admin/templates/admin/actions.html:4 msgid "Run the selected action" @@ -549,34 +605,47 @@ msgstr "Pokreni odabranu radnju" msgid "Go" msgstr "Počni" +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Izaberi sve objekte na ovoj stranici." + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Izaberi sve %(module_name)s od %(total_count)s ukupno." + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Poništi izbor" + #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 #, python-format msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Dobrodošli," -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokumentacija" -#: contrib/admin/templates/admin/base.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:14 -#: contrib/admin/templates/admin/auth/user/change_password.html:47 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" msgstr "Promena lozinke" -#: contrib/admin/templates/admin/base.html:26 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Odjava" @@ -588,64 +657,56 @@ msgstr "Django administracija sajta" msgid "Django administration" msgstr "Django administracija" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" msgstr "Dodaj" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Istorijat" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:27 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Pregled na sajtu" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/change_list.html:54 -#: contrib/admin/templates/admin/auth/user/change_password.html:23 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Ispravite grešku dole." msgstr[1] "Ispravite greške dole." msgstr[2] "Ispravite greške dole." -#: contrib/admin/templates/admin/change_list.html:46 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" msgstr "Dodaj objekat klase %(name)s" -#: contrib/admin/templates/admin/change_list.html:65 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filter" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:275 +#: contrib/admin/templates/admin/submit_line.html:4 +#: forms/formsets.py:300 msgid "Delete" msgstr "Obriši" #: contrib/admin/templates/admin/delete_confirmation.html:16 #, 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 "" -"Uklanjanje %(object_name)s „%(escaped_object)s“ povlači uklanjanje svih objekata " -"koji su povezani sa ovim objektom, ali vaš nalog nema dozvole za brisanje " -"sledećih tipova objekata:" +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 "Uklanjanje %(object_name)s „%(escaped_object)s“ povlači uklanjanje svih objekata koji su povezani sa ovim objektom, ali vaš nalog nema dozvole za brisanje sledećih tipova objekata:" #: contrib/admin/templates/admin/delete_confirmation.html:23 #, 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 "" -"Da sigurni da želite da obrišete %(object_name)s „%(escaped_object)s“? " -"Sledeći objekti koji su u vezi sa ovim objektom će takođe biti obrisani:" +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 "Da sigurni da želite da obrišete %(object_name)s „%(escaped_object)s“? Sledeći objekti koji su u vezi sa ovim objektom će takođe biti obrisani:" #: contrib/admin/templates/admin/delete_confirmation.html:28 #: contrib/admin/templates/admin/delete_selected_confirmation.html:33 @@ -658,23 +719,13 @@ msgstr "Brisanje više objekata" #: contrib/admin/templates/admin/delete_selected_confirmation.html:15 #, python-format -msgid "" -"Deleting the %(object_name)s would result in deleting related objects, but " -"your account doesn't have permission to delete the following types of " -"objects:" -msgstr "" -"Uklanjanje %(object_name)s povlači uklanjanje svih objekata koji su povezani sa " -"ovim objektom, ali vaš nalog nema dozvole za brisanje sledećih tipova " -"objekata:" +msgid "Deleting the %(object_name)s would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" +msgstr "Uklanjanje %(object_name)s povlači uklanjanje svih objekata koji su povezani sa ovim objektom, ali vaš nalog nema dozvole za brisanje sledećih tipova objekata:" #: contrib/admin/templates/admin/delete_selected_confirmation.html:22 #, python-format -msgid "" -"Are you sure you want to delete the selected %(object_name)s objects? All of " -"the following objects and it's related items will be deleted:" -msgstr "" -"Da sigurni da želite da obrišete odabrane %(object_name)s? Sledeći objekti " -"koji su u vezi sa ovim objektom će takođe biti obrisani:" +msgid "Are you sure you want to delete the selected %(object_name)s objects? All of the following objects and their related items will be deleted:" +msgstr "Da sigurni da želite da obrišete odabrane %(object_name)s? Sledeći objekti koji su u vezi sa ovim objektom će takođe biti obrisani:" #: contrib/admin/templates/admin/filter.html:2 #, python-format @@ -711,13 +762,8 @@ msgid "Unknown content" msgstr "Nepoznat sadržaj" #: 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 "" -"Nešto nije uredu sa vašom bazom podataka. Proverite da li postoje " -"odgovarajuće tabele i da li odgovarajući korisnik ima pristup bazi." +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 "Nešto nije uredu sa vašom bazom podataka. Proverite da li postoje odgovarajuće tabele i da li odgovarajući korisnik ima pristup bazi." #: contrib/admin/templates/admin/login.html:19 msgid "Username:" @@ -736,27 +782,22 @@ msgid "User" msgstr "Korisnik" #: contrib/admin/templates/admin/object_history.html:24 -#: contrib/comments/templates/comments/moderation_queue.html:33 msgid "Action" msgstr "Radnja" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:400 -msgid "DATETIME_FORMAT" -msgstr "j. N. Y. G:i T" - #: contrib/admin/templates/admin/object_history.html:38 -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Ovaj objekat nema zabeležen istorijat izmena. Verovatno nije dodat kroz ovaj " -"sajt za administraciju." +msgid "This object doesn't have a change history. It probably wasn't added via this admin site." +msgstr "Ovaj objekat nema zabeležen istorijat izmena. Verovatno nije dodat kroz ovaj sajt za administraciju." #: contrib/admin/templates/admin/pagination.html:10 msgid "Show all" msgstr "Prikaži sve" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Sačuvaj" + #: contrib/admin/templates/admin/search_form.html:8 msgid "Search" msgstr "Pretraga" @@ -774,10 +815,6 @@ msgstr[2] "%(counter)s rezultata" msgid "%(full_result_count)s total" msgstr "ukupno %(full_result_count)s" -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "Sačuvaj" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "Sačuvaj kao novi" @@ -791,40 +828,48 @@ msgid "Save and continue editing" msgstr "Sačuvaj i nastavi sa izmenama" #: 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 "" -"Prvo unesite korisničko ime i lozinku. Potom ćete moći da menjate još " -"korisničkih podešavanja." +msgid "First, enter a username and password. Then, you'll be able to edit more user options." +msgstr "Prvo unesite korisničko ime i lozinku. Potom ćete moći da menjate još korisničkih podešavanja." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 contrib/auth/forms.py:47 contrib/auth/forms.py:59 -msgid "Username" -msgstr "Korisnik" +#: contrib/admin/templates/admin/auth/user/add_form.html:8 +msgid "Enter a username and password." +msgstr "Unesite korisničko ime i lozinku" -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/auth/forms.py:17 contrib/auth/forms.py:60 contrib/auth/forms.py:185 -msgid "Password" -msgstr "Lozinka" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/auth/forms.py:186 -msgid "Password (again)" -msgstr "Lozinka (ponovite)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:41 -msgid "Enter the same password as above, for verification." -msgstr "Radi provere tačnosti ponovo unesite lozinku koju ste uneli gore." - -#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#: contrib/admin/templates/admin/auth/user/change_password.html:28 #, python-format msgid "Enter a new password for the user %(username)s." msgstr "Unesite novu lozinku za korisnika %(username)s." +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 +#: contrib/auth/forms.py:61 +#: contrib/auth/forms.py:186 +msgid "Password" +msgstr "Lozinka" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Lozinka (ponovite)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Radi provere tačnosti ponovo unesite lozinku koju ste uneli gore." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Dodaj još jedan objekat klase %(verbose_name)s." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Obriši" + #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" msgstr "Brisanje?" @@ -838,9 +883,9 @@ msgid "Log in again" msgstr "Ponovna prijava" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" msgstr "Izmena lozinke" @@ -853,29 +898,21 @@ msgstr "Uspešna izmena lozinke" msgid "Your password was changed." msgstr "Vaša lozinka je izmenjena." -#: 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 "" -"Iz bezbednosnih razloga prvo unesite svoju staru lozinku, a novu zatim " -"unesite dva puta da bismo mogli da proverimo da li ste je pravilno uneli." - -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Stara lozinka:" - -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Nova lozinka:" - #: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Potvrda lozinke:" +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 "Iz bezbednosnih razloga prvo unesite svoju staru lozinku, a novu zatim unesite dva puta da bismo mogli da proverimo da li ste je pravilno uneli." -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Stara lozinka" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Nova lozinka" + +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" msgstr "Izmeni moju lozinku" @@ -907,24 +944,24 @@ msgid "Enter new password" msgstr "Unesite novu lozinku" #: contrib/admin/templates/registration/password_reset_confirm.html:14 -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Unesite novu lozinku dva puta kako bismo mogli da proverimo da li ste je " -"pravilno uneli." +msgid "Please enter your new password twice so we can verify you typed it in correctly." +msgstr "Unesite novu lozinku dva puta kako bismo mogli da proverimo da li ste je pravilno uneli." + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Nova lozinka:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Potvrda lozinke:" #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" msgstr "Resetovanje lozinke neuspešno" #: contrib/admin/templates/registration/password_reset_confirm.html:28 -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Link za resetovanje lozinke nije važeći, verovatno zato što je već " -"iskorišćen. Ponovo zatražite resetovanje lozinke." +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "Link za resetovanje lozinke nije važeći, verovatno zato što je već iskorišćen. Ponovo zatražite resetovanje lozinke." #: contrib/admin/templates/registration/password_reset_done.html:6 #: contrib/admin/templates/registration/password_reset_done.html:10 @@ -932,12 +969,8 @@ msgid "Password reset successful" msgstr "Resetovanje lozinke uspešno." #: contrib/admin/templates/registration/password_reset_done.html:12 -msgid "" -"We've e-mailed you instructions for setting your password to the e-mail " -"address you submitted. You should be receiving it shortly." -msgstr "" -"Poslali smo uputstva za postavljanje nove lozinke na imejl adresu koju ste nam " -"dali. Uputstva ćete dobiti uskoro." +msgid "We've e-mailed you instructions for setting your password to the e-mail address you submitted. You should be receiving it shortly." +msgstr "Poslali smo uputstva za postavljanje nove lozinke na imejl adresu koju ste nam dali. Uputstva ćete dobiti uskoro." #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" @@ -966,12 +999,8 @@ msgid "The %(site_name)s team" msgstr "Ekipa sajta %(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 e-mail " -"instructions for setting a new one." -msgstr "" -"Zaboravili ste lozinku? Unesite svoju imejl adresu dole i poslaćemo vam " -"uputstva za postavljanje nove." +msgid "Forgotten your password? Enter your e-mail address below, and we'll e-mail instructions for setting a new one." +msgstr "Zaboravili ste lozinku? Unesite svoju imejl adresu dole i poslaćemo vam uputstva za postavljanje nove." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -981,175 +1010,104 @@ msgstr "Imejl adresa:" msgid "Reset my password" msgstr "Resetuj moju lozinku" -#: contrib/admin/templatetags/admin_list.py:299 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Svi datumi" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s" msgstr "Odaberi objekat klase %s" -#: contrib/admin/views/main.py:70 +#: contrib/admin/views/main.py:65 #, python-format msgid "Select %s to change" msgstr "Odaberi objekat klase %s za izmenu" -#: contrib/admin/views/template.py:37 contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 +#: contrib/sites/models.py:38 msgid "site" msgstr "sajt" -#: contrib/admin/views/template.py:39 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "templejt" -#: contrib/admindocs/views.py:58 contrib/admindocs/views.py:60 -#: contrib/admindocs/views.py:62 +#: contrib/admindocs/views.py:61 +#: contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "tag:" -#: contrib/admindocs/views.py:91 contrib/admindocs/views.py:93 -#: contrib/admindocs/views.py:95 +#: contrib/admindocs/views.py:94 +#: contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "filter:" -#: contrib/admindocs/views.py:155 contrib/admindocs/views.py:157 -#: contrib/admindocs/views.py:159 +#: contrib/admindocs/views.py:158 +#: contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" msgstr "vju:" -#: contrib/admindocs/views.py:187 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "Aplikacija %r nije pronađena" -#: contrib/admindocs/views.py:194 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "Model %(model_name)r nije pronađen u aplikaciji %(app_label)r" -#: contrib/admindocs/views.py:206 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "povezani objekti klase `%(app_label)s.%(data_type)s`" -#: contrib/admindocs/views.py:206 contrib/admindocs/views.py:228 -#: contrib/admindocs/views.py:242 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:209 +#: contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 +#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 +#: contrib/admindocs/views.py:266 msgid "model:" msgstr "model:" # WARN: possible breakage in future # This string is interpolated in strings below, which can cause breakage in # future releases. -#: contrib/admindocs/views.py:237 +#: contrib/admindocs/views.py:224 +#: contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "klase `%(app_label)s.%(object_name)s`" # WARN: possible breakage in future -#: contrib/admindocs/views.py:242 +#: contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "svi povezani objekti %s" # WARN: possible breakage in future -#: contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:233 +#: contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "broj povezanih objekata %s" # WARN: possible breakage in future -#: contrib/admindocs/views.py:252 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "Polja u povezanim objektima %s" -#: contrib/admindocs/views.py:315 contrib/admindocs/views.py:326 -#: contrib/admindocs/views.py:328 contrib/admindocs/views.py:334 -#: contrib/admindocs/views.py:335 contrib/admindocs/views.py:337 -msgid "Integer" -msgstr "Ceo broj" - -#: contrib/admindocs/views.py:316 -msgid "Boolean (Either True or False)" -msgstr "Bulova vrednost (True ili False)" - -#: contrib/admindocs/views.py:317 contrib/admindocs/views.py:336 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (najviše %(max_length)s znakova)" - -#: contrib/admindocs/views.py:318 -msgid "Comma-separated integers" -msgstr "Celi brojevi razdvojeni zapetama" - -#: contrib/admindocs/views.py:319 -msgid "Date (without time)" -msgstr "Datum (bez vremena)" - -#: contrib/admindocs/views.py:320 -msgid "Date (with time)" -msgstr "Datum (sa vremenom)" - -#: contrib/admindocs/views.py:321 -msgid "Decimal number" -msgstr "Decimalni broj" - -#: contrib/admindocs/views.py:322 -msgid "E-mail address" -msgstr "Imejl adresa" - -#: contrib/admindocs/views.py:323 contrib/admindocs/views.py:324 -#: contrib/admindocs/views.py:327 -msgid "File path" -msgstr "Putanja fajla" - -#: contrib/admindocs/views.py:325 -msgid "Floating point number" -msgstr "Broj sa pokrenom zapetom" - -#: contrib/admindocs/views.py:329 contrib/comments/models.py:60 -msgid "IP address" -msgstr "IP adresa" - -#: contrib/admindocs/views.py:331 -msgid "Boolean (Either True, False or None)" -msgstr "Bulova vrednost (True, False ili None)" - -#: contrib/admindocs/views.py:332 -msgid "Relation to parent model" -msgstr "Veza sa roditeljskim modelom" - -#: contrib/admindocs/views.py:333 -msgid "Phone number" -msgstr "Broj telefona" - -#: contrib/admindocs/views.py:338 -msgid "Text" -msgstr "Tekst" - -#: contrib/admindocs/views.py:339 -msgid "Time" -msgstr "Vreme" - -#: contrib/admindocs/views.py:340 contrib/comments/forms.py:95 -#: contrib/comments/templates/comments/moderation_queue.html:37 -#: contrib/flatpages/admin.py:8 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:341 -msgid "U.S. state (two uppercase letters)" -msgstr "Država u SAD (dva velika slova)" - -#: contrib/admindocs/views.py:342 -msgid "XML text" -msgstr "XML tekst" - -#: contrib/admindocs/views.py:368 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" -msgstr "%s ne izgleda kao urlpattern objekat" +msgstr "%s ne izgleda kao „urlpattern“ objekat" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" @@ -1182,24 +1140,16 @@ msgid "Documentation for this page" msgstr "Dokumentacija za ovu stranicu" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 -msgid "" -"Jumps you from any page to the documentation for the view that generates " -"that page." -msgstr "" -"Vodi od bilo koje stranice do dokumentaicje pogleda koji je generisao tu " -"stranicu." +msgid "Jumps you from any page to the documentation for the view that generates that page." +msgstr "Vodi od bilo koje stranice do dokumentaicje pogleda koji je generisao tu stranicu." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 msgid "Show object ID" msgstr "Prikaži ID objekta" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "" -"Prikazuje content-type i jedinstveni ID za stranicu koja prestavlja jedan " -"objekat." +msgid "Shows the content-type and unique ID for pages that represent a single object." +msgstr "Prikazuje content-type i jedinstveni ID za stranicu koja prestavlja jedan objekat." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 msgid "Edit this object (current window)" @@ -1207,8 +1157,7 @@ msgstr "Izmeni ovaj objekat (u ovom prozoru)" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "" -"Vodi u administracioni stranicu za stranice koje prestavljaju jedan objekat" +msgstr "Vodi u administracioni stranicu za stranice koje prestavljaju jedan objekat" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 msgid "Edit this object (new window)" @@ -1216,242 +1165,260 @@ msgstr "Izmeni ovaj objekat (novi prozor)" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:28 msgid "As above, but opens the admin page in a new window." -msgstr "" -"Isto kao prethodni, ali otvara administracionu stranicu u novom prozoru." +msgstr "Isto kao prethodni, ali otvara administracionu stranicu u novom prozoru." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Lični podaci" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "Dozvole" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Važni datumi" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Grupe" -#: contrib/auth/admin.py:80 -msgid "Add user" -msgstr "Dodaj korisnika" - -#: contrib/auth/admin.py:106 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." msgstr "Lozinka uspešno izmenjena." -#: contrib/auth/admin.py:112 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" msgstr "Izmeni lozinku: %s" -#: contrib/auth/forms.py:15 contrib/auth/forms.py:48 -#: contrib/auth/models.py:128 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Neophodno. Najviše 30 slovnih mesta. Samo alfanumerički znaci (slova, brojke " -"i donja crta)." +#: contrib/auth/forms.py:14 +#: contrib/auth/forms.py:48 +#: contrib/auth/forms.py:60 +msgid "Username" +msgstr "Korisnik" -#: contrib/auth/forms.py:16 contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Ova vrednost može sadržati samo slova, brojke i donje crte." +#: contrib/auth/forms.py:15 +#: contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "Neophodno. Najviše 30 slovnih mesta. Samo alfanumerički znaci (slova, brojke i @/./+/-/_)." + +#: contrib/auth/forms.py:16 +#: contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Ova vrednost može sadržati samo slova, brojke i @/./+/-/_." #: contrib/auth/forms.py:18 msgid "Password confirmation" msgstr "Potvrda lozinke" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Korisnik sa tim korisničkim imenom već postoji." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:155 -#: contrib/auth/forms.py:197 +#: contrib/auth/forms.py:37 +#: contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." msgstr "Dva polja za lozinke se nisu poklopila." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Ovaj nalog je neaktivan." -#: contrib/auth/forms.py:87 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" -"Izgleda da su kolačići isključeni u vašem brauzeru. Oni moraju biti uključeni " -"da bi ste se prijavili." +#: contrib/auth/forms.py:88 +msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." +msgstr "Izgleda da su kolačići isključeni u vašem brauzeru. Oni moraju biti uključeni da bi ste se prijavili." -#: contrib/auth/forms.py:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "Imejl adresa" -#: contrib/auth/forms.py:109 -msgid "" -"That e-mail address doesn't have an associated user account. Are you sure " -"you've registered?" -msgstr "" -"Ta imejl adresa nije u vezi ni sa jednim nalogom. Da li ste sigurni da ste " -"se već registrovali?" +#: contrib/auth/forms.py:110 +msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" +msgstr "Ta imejl adresa nije u vezi ni sa jednim nalogom. Da li ste sigurni da ste se već registrovali?" -#: contrib/auth/forms.py:135 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" msgstr "Resetovanje lozinke na %s" -#: contrib/auth/forms.py:143 -msgid "New password" -msgstr "Nova lozinka" - -#: contrib/auth/forms.py:144 +#: contrib/auth/forms.py:145 msgid "New password confirmation" msgstr "Potvrda nove lozinke" -#: contrib/auth/forms.py:169 -msgid "Old password" -msgstr "Stara lozinka" - -#: contrib/auth/forms.py:177 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." msgstr "Vaša stara loznka nije pravilno unesena. Unesite je ponovo." -#: contrib/auth/models.py:63 contrib/auth/models.py:86 +#: contrib/auth/models.py:66 +#: contrib/auth/models.py:94 msgid "name" msgstr "ime" -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:68 msgid "codename" msgstr "šifra dozvole" -#: contrib/auth/models.py:68 +#: contrib/auth/models.py:72 msgid "permission" msgstr "dozvola" -#: contrib/auth/models.py:69 contrib/auth/models.py:87 +#: contrib/auth/models.py:73 +#: contrib/auth/models.py:95 msgid "permissions" msgstr "dozvole" -#: contrib/auth/models.py:90 +#: contrib/auth/models.py:98 msgid "group" msgstr "grupa" -#: contrib/auth/models.py:91 contrib/auth/models.py:138 +#: contrib/auth/models.py:99 +#: contrib/auth/models.py:206 msgid "groups" msgstr "grupe" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:196 msgid "username" msgstr "korisničko ime" -#: contrib/auth/models.py:129 +#: contrib/auth/models.py:196 +msgid "Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "Neophodno. Najviše 30 slovnih mesta. Samo alfanumerički znaci (slova, brojke i @/./+/-/_)." + +#: contrib/auth/models.py:197 msgid "first name" msgstr "ime" -#: contrib/auth/models.py:130 +#: contrib/auth/models.py:198 msgid "last name" msgstr "prezime" -#: contrib/auth/models.py:131 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "imejl adresa" -#: contrib/auth/models.py:132 +#: contrib/auth/models.py:200 msgid "password" msgstr "lozinka" -#: contrib/auth/models.py:132 -msgid "" -"Use '[algo]$[salt]$[hexdigest]' or use the change " -"password form." -msgstr "" -"Koristite '[algo]$[salt]$[hexdigest]' ili formular za " -"unos lozinke." +#: contrib/auth/models.py:200 +msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." +msgstr "Koristite '[algo]$[salt]$[hexdigest]' ili formular za unos lozinke." -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "staff status" msgstr "status člana posade" -#: contrib/auth/models.py:133 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." -msgstr "" -"Označava da li korisnik može da se prijavi na ovaj sajt za administraciju." +msgstr "Označava da li korisnik može da se prijavi na ovaj sajt za administraciju." -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:202 msgid "active" msgstr "aktivan" -#: contrib/auth/models.py:134 -msgid "" -"Designates whether this user should be treated as active. Unselect this " -"instead of deleting accounts." -msgstr "" -"Označava da li se korisnik smatra aktivnim. Deselektujte ovo umesto da " -"brišete nalog." +#: contrib/auth/models.py:202 +msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts." +msgstr "Označava da li se korisnik smatra aktivnim. Deselektujte ovo umesto da brišete nalog." -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:203 msgid "superuser status" msgstr "status administratora" -#: contrib/auth/models.py:135 -msgid "" -"Designates that this user has all permissions without explicitly assigning " -"them." -msgstr "" -"Označava da li korisnik ima sve dozvole bez dodeljivanja pojedinačnih dozvola." +#: contrib/auth/models.py:203 +msgid "Designates that this user has all permissions without explicitly assigning them." +msgstr "Označava da li korisnik ima sve dozvole bez dodeljivanja pojedinačnih dozvola." -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:204 msgid "last login" msgstr "poslednja prijava" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "datum registracije" -#: contrib/auth/models.py:139 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"Pored ručno dodeljenih dozvola, ovaj korisnik će imati i dozvole dodeljene " -"gurpama kojima pripada." +#: contrib/auth/models.py:207 +msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." +msgstr "Pored ručno dodeljenih dozvola, ovaj korisnik će imati i dozvole dodeljene gurpama kojima pripada." -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "korisničke dozvole" -#: contrib/auth/models.py:144 contrib/comments/models.py:50 +#: contrib/auth/models.py:212 +#: contrib/comments/models.py:50 #: contrib/comments/models.py:168 msgid "user" msgstr "korisnik" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:213 msgid "users" msgstr "korisnici" -#: contrib/auth/models.py:301 +#: contrib/auth/models.py:394 msgid "message" msgstr "poruka" -#: contrib/auth/views.py:56 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Odjavljen" -#: contrib/auth/management/commands/createsuperuser.py:23 forms/fields.py:429 +#: contrib/auth/management/commands/createsuperuser.py:24 +#: core/validators.py:120 +#: forms/fields.py:427 msgid "Enter a valid e-mail address." msgstr "Unesite važeću imejl adresu." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "Sadržaj" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Metapodaci" +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "označen" +msgstr[1] "označena" +msgstr[2] "označenih" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Označavanje izabranih komentara" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "odobren" +msgstr[1] "odobrena" +msgstr[2] "odobrenih" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Odobrenje izabranih komentara" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "uklonjen" +msgstr[1] "uklonjena" +msgstr[2] "uklonjenih" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Obriši izabrane komentare" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "Nad jednim komentarom je uspešno urađeno: %(action)s." +msgstr[1] "Nad %(count)s komentara je uspešno urađeno: %(action)s." +msgstr[2] "Nad %(count)s komentara je uspešno urađeno: %(action)s." + #: contrib/comments/feeds.py:13 #, python-format msgid "%(site_name)s comments" @@ -1463,7 +1430,6 @@ msgid "Latest comments on %(site_name)s" msgstr "Skoriji komentari na sajtu %(site_name)s" #: contrib/comments/forms.py:93 -#: contrib/comments/templates/comments/moderation_queue.html:34 msgid "Name" msgstr "Ime" @@ -1471,12 +1437,18 @@ msgstr "Ime" msgid "Email address" msgstr "Imejl adresa" +#: contrib/comments/forms.py:95 +#: contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 +#: db/models/fields/__init__.py:1109 +msgid "URL" +msgstr "URL" + #: contrib/comments/forms.py:96 -#: contrib/comments/templates/comments/moderation_queue.html:35 msgid "Comment" msgstr "Komentari" -#: contrib/comments/forms.py:173 +#: contrib/comments/forms.py:175 #, 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." @@ -1484,12 +1456,12 @@ msgstr[0] "Pazi na jezik! Reč „%s“ ovde nije dozvoljena." msgstr[1] "Pazi na jezik! Reči „%s“ ovde nisu dozvoljene." msgstr[2] "Pazi na jezik! Reči „%s“ ovde nisu dozvoljene." -#: contrib/comments/forms.py:180 -msgid "" -"If you enter anything in this field your comment will be treated as spam" +#: contrib/comments/forms.py:182 +msgid "If you enter anything in this field your comment will be treated as spam" msgstr "Ako išta unesete u ovo polje, Vaš komentar će se smatrati spamom." -#: contrib/comments/models.py:22 contrib/contenttypes/models.py:74 +#: contrib/comments/models.py:22 +#: contrib/contenttypes/models.py:81 msgid "content type" msgstr "tip sadržaja" @@ -1509,7 +1481,8 @@ msgstr "korisnikova imejl adresa" msgid "user's URL" msgstr "korisnikov URL" -#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:56 +#: contrib/comments/models.py:76 #: contrib/comments/models.py:169 msgid "comment" msgstr "komentar" @@ -1518,47 +1491,38 @@ msgstr "komentar" msgid "date/time submitted" msgstr "datum/vreme postavljanja" +#: contrib/comments/models.py:60 +#: db/models/fields/__init__.py:904 +msgid "IP address" +msgstr "IP adresa" + #: contrib/comments/models.py:61 msgid "is public" msgstr "javno" #: contrib/comments/models.py:62 -msgid "" -"Uncheck this box to make the comment effectively disappear from the site." -msgstr "" -"Deselektujte ovu kućicu ako želite da poruka faktični nestane sa ovog sajta." +msgid "Uncheck this box to make the comment effectively disappear from the site." +msgstr "Deselektujte ovo polje ako želite da poruka faktički nestane sa ovog sajta." #: contrib/comments/models.py:64 msgid "is removed" msgstr "uklonjen" #: contrib/comments/models.py:65 -msgid "" -"Check this box if the comment is inappropriate. A \"This comment has been " -"removed\" message will be displayed instead." -msgstr "" -"Obeležite ovu kućicu ako je komentar neprikladan. Poruka o uklanjanju će biti " -"prikazana umesto komentara." +msgid "Check this box if the comment is inappropriate. A \"This comment has been removed\" message will be displayed instead." +msgstr "Obeležite ovu kućicu ako je komentar neprikladan. Poruka o uklanjanju će biti prikazana umesto komentara." #: contrib/comments/models.py:77 msgid "comments" msgstr "komentari" #: contrib/comments/models.py:119 -msgid "" -"This comment was posted by an authenticated user and thus the name is read-" -"only." -msgstr "" -"Ovaj komentar je postavio prijavljen korisnik i zato je polje sa imenom " -"zaključano." +msgid "This comment was posted by an authenticated user and thus the name is read-only." +msgstr "Ovaj komentar je postavio prijavljen korisnik i zato je polje sa imenom zaključano." #: contrib/comments/models.py:128 -msgid "" -"This comment was posted by an authenticated user and thus the email is read-" -"only." -msgstr "" -"Ovaj komentar je postavio prijavljen korisnik i zato je polje sa imejl adresom " -"zaključano." +msgid "This comment was posted by an authenticated user and thus the email is read-only." +msgstr "Ovaj komentar je postavio prijavljen korisnik i zato je polje sa imejl adresom zaključano." #: contrib/comments/models.py:153 #, python-format @@ -1600,7 +1564,6 @@ msgid "Really make this comment public?" msgstr "Da li zaista želite da označite ovaj komentar javnim?" #: contrib/comments/templates/comments/approve.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:49 msgid "Approve" msgstr "Odobri" @@ -1611,8 +1574,7 @@ msgstr "Hvala na odobrenju!" #: contrib/comments/templates/comments/approved.html:7 #: contrib/comments/templates/comments/deleted.html:7 #: contrib/comments/templates/comments/flagged.html:7 -msgid "" -"Thanks for taking the time to improve the quality of discussion on our site" +msgid "Thanks for taking the time to improve the quality of discussion on our site" msgstr "Hvala na učešću u unapređenju kvaliteta diskusija na našem sajtu." #: contrib/comments/templates/comments/delete.html:4 @@ -1623,11 +1585,6 @@ msgstr "Obriši komentar" msgid "Really remove this comment?" msgstr "Da li zaista želite da obrišete ovaj komentar?" -#: contrib/comments/templates/comments/delete.html:12 -#: contrib/comments/templates/comments/moderation_queue.html:53 -msgid "Remove" -msgstr "Obriši" - #: contrib/comments/templates/comments/deleted.html:4 msgid "Thanks for removing" msgstr "Hvala što koristite naš sajt!" @@ -1658,39 +1615,6 @@ msgstr "Postavi" msgid "Preview" msgstr "Pregled" -#: contrib/comments/templates/comments/moderation_queue.html:4 -#: contrib/comments/templates/comments/moderation_queue.html:19 -msgid "Comment moderation queue" -msgstr "Komentari koji čekaju na odobrenje" - -#: contrib/comments/templates/comments/moderation_queue.html:26 -msgid "No comments to moderate" -msgstr "Nema komentara na čekanju" - -#: contrib/comments/templates/comments/moderation_queue.html:36 -msgid "Email" -msgstr "Imejl adresa" - -#: contrib/comments/templates/comments/moderation_queue.html:38 -msgid "Authenticated?" -msgstr "Prijavljen?" - -#: contrib/comments/templates/comments/moderation_queue.html:39 -msgid "IP Address" -msgstr "IP adresa" - -#: contrib/comments/templates/comments/moderation_queue.html:40 -msgid "Date posted" -msgstr "Datum postavljanja" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "yes" -msgstr "da" - -#: contrib/comments/templates/comments/moderation_queue.html:63 -msgid "no" -msgstr "ne" - #: contrib/comments/templates/comments/posted.html:4 msgid "Thanks for commenting" msgstr "Hvala na komentaru" @@ -1719,28 +1643,21 @@ msgstr "Postavi komentar" msgid "or make changes" msgstr "ili izvrši izmene" -#: contrib/contenttypes/models.py:70 +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "ime python klase modela" -#: contrib/contenttypes/models.py:75 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "tipovi sadržaja" #: contrib/flatpages/admin.py:9 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "" -"Primer: '/about/contact/'. Pazite na to da postoje i početne i završne kose " -"crte." +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Primer: '/about/contact/'. Pazite na to da postoje i početne i završne kose crte." #: contrib/flatpages/admin.py:11 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "" -"Ova vrednost može sadržati samo slova, brojke, donje crte, crtice ili kose " -"crte." +msgid "This value must contain only letters, numbers, underscores, dashes or slashes." +msgstr "Ova vrednost može sadržati samo slova, brojke, donje crte, crtice ili kose crte." #: contrib/flatpages/admin.py:22 msgid "Advanced options" @@ -1763,12 +1680,8 @@ msgid "template name" msgstr "naziv templejta" #: contrib/flatpages/models.py:12 -msgid "" -"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " -"will use 'flatpages/default.html'." -msgstr "" -"Primer: 'flatpages/contact_page.html'. Ako ovo ostavite praznim, sistem će " -"koristiti 'flatpages/default.html'." +msgid "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'." +msgstr "Primer: 'flatpages/contact_page.html'. Ako ovo ostavite praznim, sistem će koristiti 'flatpages/default.html'." #: contrib/flatpages/models.py:13 msgid "registration required" @@ -1776,8 +1689,7 @@ msgstr "potrebna registracija" #: contrib/flatpages/models.py:13 msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "" -"Ako je ovo obeleženo, samo će prijavljeni korisnici moći da vide ovu stranicu." +msgstr "Ako je ovo obeleženo, samo će prijavljeni korisnici moći da vide ovu stranicu." #: contrib/flatpages/models.py:18 msgid "flat page" @@ -1787,13 +1699,41 @@ msgstr "flet stranica" msgid "flat pages" msgstr "flet stranice" -#: contrib/formtools/wizard.py:130 -msgid "" -"We apologize, but your form has expired. Please continue filling out the " -"form from this page." -msgstr "" -"Žao nam je, ali Vaša sesija je istekla. Popunjavanje formulara nastavite na " -"ovoj stranici." +#: contrib/formtools/wizard.py:140 +msgid "We apologize, but your form has expired. Please continue filling out the form from this page." +msgstr "Žao nam je, ali Vaša sesija je istekla. Popunjavanje formulara nastavite na ovoj stranici." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "Osnovno „GIS“ polje koje mapira tip geometrije po „OpenGIS“ specifikaciji." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Tačka" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Linija" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Poligon" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Više tačaka" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Više linija" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Više poligona" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Kolekcija geopmetrijskih oblika" #: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." @@ -1808,10 +1748,8 @@ msgid "Invalid geometry type." msgstr "Nepostojeći tip geometrije." #: contrib/gis/forms/fields.py:20 -msgid "" -"An error occurred when transforming the geometry to the SRID of the geometry " -"form field." -msgstr "" +msgid "An error occurred when transforming the geometry to the SRID of the geometry form field." +msgstr "Greška se desila tokom transformacije geometrije na „SRID“ tip polja." #: contrib/humanize/templatetags/humanize.py:19 msgid "th" @@ -1901,25 +1839,27 @@ msgstr "sutra" msgid "yesterday" msgstr "juče" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Unesite poštanski broj u formatu NNNN ili ANNNNAAA." -#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 -msgid "This field requires only numbers." -msgstr "Ovo polje mora sadržati samo brojke." - #: contrib/localflavor/ar/forms.py:50 -msgid "This field requires 7 or 8 digits." -msgstr "Ovo polje mora sadržati 7 ili 8 cifara" +#: contrib/localflavor/br/forms.py:92 +#: contrib/localflavor/br/forms.py:131 +#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires only numbers." +msgstr "Ovo polje mora da sadrži samo brojke." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "Ovo polje mora da sadrži 7 ili 8 cifara" + +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Unestie važeći CUIT u formatu XX-XXXXXXXX-X or XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Nevažeći CUIT" @@ -1959,55 +1899,53 @@ msgstr "Voralber" msgid "Vienna" msgstr "Beč" -#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 +#: contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "Unesite poštanski broj u formatu XXXX." #: contrib/localflavor/at/forms.py:48 msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." -msgstr "" -"Unesite važeći austrijski broj socijalnog osiguranja u formatu XXXX XXXXXX." +msgstr "Unesite važeći austrijski broj socijalnog osiguranja u formatu XXXX XXXXXX." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "Unesite četvorocifreni poštanski broj" -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:17 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Unesite poštanski broj u formatu XXXXX-XXX." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:26 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Broj telefona mora biti u formatu XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:58 -msgid "" -"Select a valid brazilian state. That state is not one of the available " -"states." +#: contrib/localflavor/br/forms.py:54 +msgid "Select a valid brazilian state. That state is not one of the available states." msgstr "Odaberite postojeću brazilsku državu. Ta država nije među ponuđenima." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:90 msgid "Invalid CPF number." msgstr "Nevažeći CPF broj" -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:91 msgid "This field requires at most 11 digits or 14 characters." msgstr "" -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:130 msgid "Invalid CNPJ number." msgstr "" -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:132 msgid "This field requires at least 14 digits" msgstr "" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "" -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" @@ -2115,21 +2053,19 @@ msgstr "" msgid "Zurich" msgstr "" -#: contrib/localflavor/ch/forms.py:64 -msgid "" -"Enter a valid Swiss identity or passport card number in X1234567<0 or " -"1234567890 format." -msgstr "" - -#: contrib/localflavor/cl/forms.py:29 -msgid "Enter a valid Chilean RUT." +#: contrib/localflavor/ch/forms.py:65 +msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." msgstr "" #: contrib/localflavor/cl/forms.py:30 -msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgid "Enter a valid Chilean RUT." msgstr "" #: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "" + +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "" @@ -2189,23 +2125,24 @@ msgstr "" msgid "Moravian-Silesian Region" msgstr "" -#: contrib/localflavor/cz/forms.py:27 contrib/localflavor/sk/forms.py:30 +#: contrib/localflavor/cz/forms.py:28 +#: contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "" -#: contrib/localflavor/cz/forms.py:47 +#: contrib/localflavor/cz/forms.py:48 msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." msgstr "" -#: contrib/localflavor/cz/forms.py:48 +#: contrib/localflavor/cz/forms.py:49 msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" msgstr "" -#: contrib/localflavor/cz/forms.py:49 +#: contrib/localflavor/cz/forms.py:50 msgid "Enter a valid birth number." msgstr "" -#: contrib/localflavor/cz/forms.py:106 +#: contrib/localflavor/cz/forms.py:107 msgid "Enter a valid IC number." msgstr "" @@ -2273,15 +2210,14 @@ msgstr "" msgid "Thuringia" msgstr "" -#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 +#: contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "" -#: contrib/localflavor/de/forms.py:41 -msgid "" -"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " -"format." +#: contrib/localflavor/de/forms.py:42 +msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." msgstr "" #: contrib/localflavor/es/es_provinces.py:5 @@ -2551,71 +2487,500 @@ msgstr "" msgid "Valencian Community" msgstr "" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "" -#: contrib/localflavor/es/forms.py:39 -msgid "" -"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " -"9XXXXXXXX." -msgstr "" - -#: contrib/localflavor/es/forms.py:66 -msgid "Please enter a valid NIF, NIE, or CIF." +#: contrib/localflavor/es/forms.py:40 +msgid "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX." msgstr "" #: contrib/localflavor/es/forms.py:67 -msgid "Please enter a valid NIF or NIE." +msgid "Please enter a valid NIF, NIE, or CIF." msgstr "" #: contrib/localflavor/es/forms.py:68 -msgid "Invalid checksum for NIF." +msgid "Please enter a valid NIF or NIE." msgstr "" #: contrib/localflavor/es/forms.py:69 -msgid "Invalid checksum for NIE." +msgid "Invalid checksum for NIF." msgstr "" #: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "" -#: contrib/localflavor/es/forms.py:142 -msgid "" -"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +#: contrib/localflavor/es/forms.py:143 +msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" -#: contrib/localflavor/es/forms.py:143 +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "" -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "" -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "" + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "" + +#: contrib/localflavor/id/forms.py:68 +#: contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "" -#: contrib/localflavor/is_/forms.py:17 -msgid "" -"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +#: contrib/localflavor/is_/forms.py:18 +msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "" -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "" -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "" -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "" -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "" @@ -2811,6 +3176,10 @@ msgstr "" msgid "Okinawa" msgstr "" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "" @@ -2939,15 +3308,11 @@ msgstr "" msgid "Zacatecas" msgstr "" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "" @@ -2999,15 +3364,15 @@ msgstr "" msgid "Zuid-Holland" msgstr "" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "" -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "" -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "" @@ -3020,8 +3385,7 @@ msgid "Wrong checksum for the National Identification Number." msgstr "" #: contrib/localflavor/pl/forms.py:71 -msgid "" -"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." msgstr "" #: contrib/localflavor/pl/forms.py:72 @@ -3104,6 +3468,14 @@ msgstr "" msgid "West Pomerania" msgstr "" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "" + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "" @@ -3124,6 +3496,106 @@ msgstr "" msgid "Enter a valid postal code in the format XXXXXX" msgstr "" +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "" + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "" + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "" @@ -3756,19 +4228,43 @@ msgstr "" msgid "Wales" msgstr "" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "" -#: contrib/localflavor/us/forms.py:54 +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "" + +#: contrib/localflavor/us/forms.py:55 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Država u SAD (dva velika slova)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Broj telefona" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "" + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "" @@ -3808,29 +4304,25 @@ msgstr "" msgid "Western Cape" msgstr "" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "poruka" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "preusmeren sa" #: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." -msgstr "" -"Ovo mora biti apsolutna putanja bez imena domena. Na primer: '/events/" -"search/'." +msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." +msgstr "Ovo mora biti apsolutna putanja bez imena domena. Na primer: '/events/search/'." #: contrib/redirects/models.py:9 msgid "redirect to" 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 ili apsolutna putanja (kao gore) ili pun URL koji počinje sa " -"'http://'." +msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." +msgstr "Ovo može biti ili apsolutna putanja (kao gore) ili pun URL koji počinje sa 'http://'." #: contrib/redirects/models.py:13 msgid "redirect" @@ -3872,252 +4364,351 @@ msgstr "prikazano ime" msgid "sites" msgstr "sajtovi" -#: db/models/fields/__init__.py:356 db/models/fields/__init__.py:710 -msgid "This value must be an integer." -msgstr "Ova vrednost mora biti celobrojna." - -#: db/models/fields/__init__.py:388 -msgid "This value must be either True or False." -msgstr "Ova vrednost mora biti True ili False." - -#: db/models/fields/__init__.py:427 -msgid "This field cannot be null." -msgstr "Ovo polje ne može ostati prazno." - -#: db/models/fields/__init__.py:443 -msgid "Enter only digits separated by commas." -msgstr "Unesite samo brojke razdvojene zapetama." - -#: db/models/fields/__init__.py:474 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Unesite ispravan datum u formatu GGGG-MM-DD." - -#: db/models/fields/__init__.py:483 -#, python-format -msgid "Invalid date: %s" -msgstr "Neispravan datum: %s" - -#: db/models/fields/__init__.py:547 db/models/fields/__init__.py:565 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." -msgstr "Unesite ispravan datum/vreme u formatu GGGG-MM-DD ČČ:MM[:ss[.uuuuuu]." - -#: db/models/fields/__init__.py:601 -msgid "This value must be a decimal number." -msgstr "Ova vrednost mora biti decimalni broj" - -#: db/models/fields/__init__.py:686 -msgid "This value must be a float." -msgstr "Ova vrednost mora biti broj sa klizećom zapetom" - -#: db/models/fields/__init__.py:746 -msgid "This value must be either None, True or False." -msgstr "Ova vrednost mora biti ili None, ili True, ili False." - -#: db/models/fields/__init__.py:849 db/models/fields/__init__.py:863 -msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." -msgstr "Unesite ispravno vreme u formatu ČČ:MM[:ss[.uuuuuu]]." - -#: db/models/fields/related.py:792 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Držite „Control“, ili „Command“ na Mac-u da biste obeležili više od jedne " -"stavke." - -#: db/models/fields/related.py:870 -#, 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] "Unesite ispravan %(self)s IDs. Vrednost %(value)r je neispravna." -msgstr[1] "Unesite ispravan %(self)s IDs. Vrednosti %(value)r su neispravne." -msgstr[2] "Unesite ispravan %(self)s IDs. Vrednosti %(value)r su neispravne." - -#: forms/fields.py:54 -msgid "This field is required." -msgstr "Ovo polje se mora popuniti." - -#: forms/fields.py:55 +#: core/validators.py:20 +#: forms/fields.py:66 msgid "Enter a valid value." msgstr "Unesite ispravnu vrednost." -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Ovo polje mora sadržati najviše %(max)d slovnih mesta (trenutno ima %(length)" -"d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" -"Ovo polje mora sadržati najmanje %(min)d slovnih mesta (trenutno ima %(length)" -"d." - -#: forms/fields.py:166 -msgid "Enter a whole number." -msgstr "Unesite ceo broj." - -#: forms/fields.py:167 forms/fields.py:196 forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Ova vrednost mora da bude manja od %s ili tačno toliko." - -#: forms/fields.py:168 forms/fields.py:197 forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Ova vrednost mora biti veća od %s ili tačno toliko." - -#: forms/fields.py:195 forms/fields.py:224 -msgid "Enter a number." -msgstr "Unesite broj." - -#: forms/fields.py:227 -#, python-format -msgid "Ensure that there are no more than %s digits in total." -msgstr "Ne sme biti ukupno više od %s cifara. Proverite." - -#: forms/fields.py:228 -#, python-format -msgid "Ensure that there are no more than %s decimal places." -msgstr "Ne sme biti ukupno više od %s decimalnih mesta. Proverite." - -#: forms/fields.py:229 -#, python-format -msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "Ne sme biti ukupno više od %s cifara pre zapete. Proverite." - -#: forms/fields.py:288 forms/fields.py:863 -msgid "Enter a valid date." -msgstr "Unesite ispravan datum." - -#: forms/fields.py:322 forms/fields.py:864 -msgid "Enter a valid time." -msgstr "Unesite ispravno vreme" - -#: forms/fields.py:361 -msgid "Enter a valid date/time." -msgstr "Unesite ispravan datum/vreme." - -#: forms/fields.py:447 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Fajl nije prebačen. Proverite tip enkodiranja formulara." - -#: forms/fields.py:448 -msgid "No file was submitted." -msgstr "Fajl nije prebačen." - -#: forms/fields.py:449 -msgid "The submitted file is empty." -msgstr "Prebačen fajl je prazan." - -#: forms/fields.py:450 -#, python-format -msgid "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr "" -"Naziv fajla mora da sadrži bar %(max)d slovnih mesta (trenutno ima %(length)" -"d)." - -#: forms/fields.py:483 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Prebacite ispravan fajl. Fajl koji je prebačen ili nije slika, ili je " -"oštećen." - -#: forms/fields.py:544 +#: core/validators.py:87 +#: forms/fields.py:528 msgid "Enter a valid URL." msgstr "Unesite ispravan URL." -#: forms/fields.py:545 +#: core/validators.py:89 +#: forms/fields.py:529 msgid "This URL appears to be a broken link." msgstr "Ovaj URL izgleda ne vodi nikuda." -#: forms/fields.py:625 forms/fields.py:703 -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"%(value)s nije među ponuđenim vrednostima. Odaberite jednu od ponuđenih." +#: core/validators.py:123 +#: forms/fields.py:877 +msgid "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "Unesite isrpavan „slag“, koji se sastoji od slova, brojki, donjih crta ili cirtica." -#: forms/fields.py:704 forms/fields.py:765 forms/models.py:962 -msgid "Enter a list of values." -msgstr "Unesite listu vrednosti." - -#: forms/fields.py:892 +#: core/validators.py:126 +#: forms/fields.py:870 msgid "Enter a valid IPv4 address." msgstr "Unesite ispravnu IPv4 adresu." -#: forms/fields.py:902 -msgid "" -"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Unesite isrpavan „slag“, koji se sastoji od slova, brojki, donjih crta ili " -"cirtica." +#: core/validators.py:129 +#: db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "Unesite samo brojke razdvojene zapetama." -#: forms/formsets.py:271 forms/formsets.py:273 -msgid "Order" -msgstr "Redosled" +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "Ovo polje mora da bude %(limit_value)s (trenutno ima %(show_value)s)." -#: forms/models.py:367 +#: core/validators.py:153 +#: forms/fields.py:204 +#: forms/fields.py:256 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "Ova vrednost mora da bude manja od %(limit_value)s. ili tačno toliko." + +#: core/validators.py:158 +#: forms/fields.py:205 +#: forms/fields.py:257 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "Ova vrednost mora biti veća od %(limit_value)s ili tačno toliko." + +#: core/validators.py:164 +#, python-format +msgid "Ensure this value has at least %(limit_value)d characters (it has %(show_value)d)." +msgstr "Ovo polje mora da sadrži najmanje %(limit_value)d slovnih mesta (trenutno ima %(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "Ensure this value has at most %(limit_value)d characters (it has %(show_value)d)." +msgstr "Ovo polje mora da sadrži najviše %(limit_value)d slovnih mesta (trenutno ima %(show_value)d)." + +#: db/models/base.py:823 #, python-format msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." msgstr "%(field_name)s mora da bude jedinstven za %(date_field)s %(lookup)s." -#: forms/models.py:381 forms/models.py:389 +#: db/models/base.py:838 +#: db/models/base.py:846 #, python-format msgid "%(model_name)s with this %(field_label)s already exists." msgstr "%(model_name)s sa ovom vrednošću %(field_label)s već postoji." -#: forms/models.py:581 +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "Vrednost %r nije dozvoljena." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Ovo polje ne može da ostane prazno." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Ovo polje ne može da ostane prazno." + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Ponje tipa: %(field_type)s" + +#: db/models/fields/__init__.py:451 +#: db/models/fields/__init__.py:860 +#: db/models/fields/__init__.py:969 +#: db/models/fields/__init__.py:980 +#: db/models/fields/__init__.py:1007 +msgid "Integer" +msgstr "Ceo broj" + +#: db/models/fields/__init__.py:455 +#: db/models/fields/__init__.py:858 +msgid "This value must be an integer." +msgstr "Ova vrednost mora biti celobrojna." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Ova vrednost mora biti True ili False." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Bulova vrednost (True ili False)" + +#: db/models/fields/__init__.py:539 +#: db/models/fields/__init__.py:990 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "String (najviše %(max_length)s znakova)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Celi brojevi razdvojeni zapetama" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Datum (bez vremena)" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Unesite ispravan datum u formatu GGGG-MM-DD." + +#: db/models/fields/__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "Neispravan datum: %s" + +#: db/models/fields/__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "Unesite ispravan datum/vreme u formatu GGGG-MM-DD ČČ:MM[:ss[.uuuuuu]." + +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Datum (sa vremenom)" + +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "Ova vrednost mora biti decimalni broj" + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Decimalni broj" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "Imejl adresa" + +#: db/models/fields/__init__.py:807 +#: db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Putanja fajla" + +#: db/models/fields/__init__.py:830 +msgid "This value must be a float." +msgstr "Ova vrednost mora biti broj sa klizećom zapetom" + +#: db/models/fields/__init__.py:832 +msgid "Floating point number" +msgstr "Broj sa pokrenom zapetom" + +#: db/models/fields/__init__.py:891 +msgid "Big (8 byte) integer" +msgstr "Veliki ceo broj" + +#: db/models/fields/__init__.py:920 +msgid "This value must be either None, True or False." +msgstr "Ova vrednost mora biti ili None, ili True, ili False." + +#: db/models/fields/__init__.py:922 +msgid "Boolean (Either True, False or None)" +msgstr "Bulova vrednost (True, False ili None)" + +#: db/models/fields/__init__.py:1013 +msgid "Text" +msgstr "Tekst" + +#: db/models/fields/__init__.py:1029 +msgid "Time" +msgstr "Vreme" + +#: db/models/fields/__init__.py:1033 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "Unesite ispravno vreme u formatu ČČ:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:1125 +msgid "XML text" +msgstr "XML tekst" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Objekat klase %(model)s sa primarnim ključem %(pk)r ne postoji." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Strani ključ (tip određuje referentno polje)" + +#: db/models/fields/related.py:919 +msgid "One-to-one relationship" +msgstr "Relacija jedan na jedan" + +#: db/models/fields/related.py:981 +msgid "Many-to-many relationship" +msgstr "Relacija više na više" + +#: db/models/fields/related.py:1001 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Držite „Control“, ili „Command“ na Mac-u da biste obeležili više od jedne stavke." + +#: db/models/fields/related.py:1062 +#, 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] "Unesite ispravan %(self)s IDs. Vrednost %(value)r je neispravna." +msgstr[1] "Unesite ispravan %(self)s IDs. Vrednosti %(value)r su neispravne." +msgstr[2] "Unesite ispravan %(self)s IDs. Vrednosti %(value)r su neispravne." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Ovo polje se mora popuniti." + +#: forms/fields.py:203 +msgid "Enter a whole number." +msgstr "Unesite ceo broj." + +#: forms/fields.py:234 +#: forms/fields.py:255 +msgid "Enter a number." +msgstr "Unesite broj." + +#: forms/fields.py:258 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Ne sme biti ukupno više od %s cifara. Proverite." + +#: forms/fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Ne sme biti ukupno više od %s decimalnih mesta. Proverite." + +#: forms/fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Ne sme biti ukupno više od %s cifara pre zapete. Proverite." + +#: forms/fields.py:322 +#: forms/fields.py:837 +msgid "Enter a valid date." +msgstr "Unesite ispravan datum." + +#: forms/fields.py:350 +#: forms/fields.py:838 +msgid "Enter a valid time." +msgstr "Unesite ispravno vreme" + +#: forms/fields.py:376 +msgid "Enter a valid date/time." +msgstr "Unesite ispravan datum/vreme." + +#: forms/fields.py:434 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Fajl nije prebačen. Proverite tip enkodiranja formulara." + +#: forms/fields.py:435 +msgid "No file was submitted." +msgstr "Fajl nije prebačen." + +#: forms/fields.py:436 +msgid "The submitted file is empty." +msgstr "Prebačen fajl je prazan." + +#: forms/fields.py:437 +#, python-format +msgid "Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "Naziv fajla mora da sadrži bar %(max)d slovnih mesta (trenutno ima %(length)d)." + +#: forms/fields.py:472 +msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." +msgstr "Prebacite ispravan fajl. Fajl koji je prebačen ili nije slika, ili je oštećen." + +#: forms/fields.py:595 +#: forms/fields.py:670 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "%(value)s nije među ponuđenim vrednostima. Odaberite jednu od ponuđenih." + +#: forms/fields.py:671 +#: forms/fields.py:733 +#: forms/models.py:1002 +msgid "Enter a list of values." +msgstr "Unesite listu vrednosti." + +#: forms/formsets.py:296 +#: forms/formsets.py:298 +msgid "Order" +msgstr "Redosled" + +#: forms/models.py:562 #, python-format msgid "Please correct the duplicate data for %(field)s." msgstr "Ispravite dupliran sadržaj za polja: %(field)s." -#: forms/models.py:585 +#: forms/models.py:566 #, python-format msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Ispravite dupliran sadržaj za polja: %(field)s, koji mora da bude jedinstven." +msgstr "Ispravite dupliran sadržaj za polja: %(field)s, koji mora da bude jedinstven." -#: forms/models.py:591 +#: forms/models.py:572 #, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Ispravite dupliran sadržaj za polja: %(field_name)s, koji mora da bude " -"jedinstven za %(lookup)s u %(date_field)s." +msgid "Please correct the duplicate data for %(field_name)s which must be unique for the %(lookup)s in %(date_field)s." +msgstr "Ispravite dupliran sadržaj za polja: %(field_name)s, koji mora da bude jedinstven za %(lookup)s u %(date_field)s." -#: forms/models.py:599 +#: forms/models.py:580 msgid "Please correct the duplicate values below." msgstr "Ispravite duplirane vrednosti dole." -#: forms/models.py:837 +#: forms/models.py:855 msgid "The inline foreign key did not match the parent instance primary key." msgstr "Strani ključ se nije poklopio sa instancom roditeljskog ključa." -#: forms/models.py:892 +#: forms/models.py:921 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Odabrana vrednost nije među ponuđenima. Odaberite jednu od ponuđenih." -#: forms/models.py:963 +#: forms/models.py:1003 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "%s nije među ponuđenim vrednostima. Odaberite jednu od ponuđenih." -#: forms/models.py:965 +#: forms/models.py:1005 #, python-format msgid "\"%s\" is not a valid value for a primary key." msgstr "„%s“ nije ispravna vrednost za primarni ključ." -#: template/defaultfilters.py:767 +#: template/defaultfilters.py:776 msgid "yes,no,maybe" msgstr "da,ne,možda" -#: template/defaultfilters.py:798 +#: template/defaultfilters.py:807 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" @@ -4125,20 +4716,20 @@ msgstr[0] "%(size)d bajt" msgstr[1] "%(size)d bajta" msgstr[2] "%(size)d bajtova" -#: template/defaultfilters.py:800 +#: template/defaultfilters.py:809 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:802 +#: template/defaultfilters.py:811 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:803 +#: template/defaultfilters.py:812 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:42 msgid "p.m." @@ -4228,23 +4819,28 @@ msgstr "januar" msgid "February" msgstr "februar" -#: utils/dates.py:18 utils/dates.py:31 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "March" msgstr "mart" -#: utils/dates.py:18 utils/dates.py:31 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "April" msgstr "april" -#: utils/dates.py:18 utils/dates.py:31 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "May" msgstr "maj" -#: utils/dates.py:18 utils/dates.py:31 +#: utils/dates.py:18 +#: utils/dates.py:31 msgid "June" msgstr "jun" -#: utils/dates.py:19 utils/dates.py:31 +#: utils/dates.py:19 +#: utils/dates.py:31 msgid "July" msgstr "jul" @@ -4344,7 +4940,7 @@ msgstr "nov." msgid "Dec." msgstr "dec." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "ili" @@ -4404,33 +5000,38 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:519 msgid "DATE_FORMAT" -msgstr "j. N Y." +msgstr "j. F Y." -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:520 +msgid "DATETIME_FORMAT" +msgstr "j. F Y. H:i T" + +#: utils/translation/trans_real.py:521 msgid "TIME_FORMAT" msgstr "G:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:542 msgid "YEAR_MONTH_FORMAT" msgstr "F Y." -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:543 msgid "MONTH_DAY_FORMAT" msgstr "j. F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s je uspešno kreiran." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s je uspešno ažuriran." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s je obrisan." + diff --git a/django/conf/locale/sr_Latn/LC_MESSAGES/djangojs.mo b/django/conf/locale/sr_Latn/LC_MESSAGES/djangojs.mo index c893429a850f2d331847832f1623a8d200d50d42..0217ff7d98acfdf2dda9af74e051ac986bd624c0 100644 GIT binary patch delta 1416 zcmaKqJxmlq6vyZI5K%z+@Y|S|7y>5TX~^8}95;7+v&Vj%9?e#2 zWnshu8%twiVRCjBMnggDtSmHG*=Xn}4e|f()&<2d;oWcNy_x^}Gcz0A%LCDRU)xiG zaXOA);2`2_3O^W?79qyKMQ|VZ5^M!ugI(Yoa6kAyu73o(G5-V}0Kb8q;E$M_U_0hp zV4Dz;XoK1;5}hCm&4Vb20*F6R#t%1M1X=hVNZ_dc<=B3PpgH6zs(5Zr=A0Ti zu3OS(f%2|LK|#?CmvUhcV6zuVBshz%T$*Mp&0yON3*6oAsHTDp zO*u;XiYzD6R*7y+5|*++)4Su4Q4mAYQ)w@3T5BH44p*UR_Wb{0C|d{k?^SXt6ZwW; zmfJq!vz+tjU#Ytq9&!pN=LeZ5_glw%&S%rvOX=(wUC3U!I9mVG`Ytt{+`OG!u3nNk zPnzv}-&Jz=sOds|rF|w9O*B*-O@4s;E?K%5lEl<#PUxkwGP*IPqOy%k71t@MjM#gd zFIOLhRhGfSfC3%}wn=O&OQ;&f3v^W)b+y?7w{gA1;w2BO6DK2al~y0(spvpsz7Xc% Hz`(BUKq9*YITBNZIZpb20?8Qbzi6H&}L9kHUK&(>Ph}uXXje@Og zXJg?%ur&x)u@OX6un>H|WeRa%=9x1yduI3SS@AX7e9EWKjW$J}p?B%C^tQ)93sYwO zSiwH5;V>>?fGci)9kaw+IEXtqfCtV7`ot|v<1yCFns&lOiF$714Rz5c>f&!yVl9>+ zhe|MqHH=V+_fUBbQ5QF`z_TsX`3nx|T!&!@uQ1?#yGbTyx0qw&9+lt$b+GH=7bKUx zqh9O_*YL;1t1L3LIx5dL>fEl2_i>u|2s7BmdG5DMCVKGE`RweW{(|;YaNaG@Ml U%hj+{i59~!{_yX-I1_Amzb~XOrvLx| diff --git a/django/conf/locale/sr_Latn/LC_MESSAGES/djangojs.po b/django/conf/locale/sr_Latn/LC_MESSAGES/djangojs.po index 1394e1be0..584ee7bb0 100644 --- a/django/conf/locale/sr_Latn/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/sr_Latn/LC_MESSAGES/djangojs.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-03-30 14:00+0200\n" +"POT-Creation-Date: 2010-05-07 20:46+0200\n" "PO-Revision-Date: 2009-03-30 14:04+0200\n" "Last-Translator: Janos Guljas \n" "Language-Team: Branko Vukelic & Janos Guljas " @@ -16,36 +16,68 @@ msgstr "" "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" -#: contrib/admin/media/js/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" msgstr "Dostupni %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Dodaj sve" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Dodaj" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "Ukloni" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "Odabrani %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " msgstr "Napravite izbor i kliknite " -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Vrati sve" +#: contrib/admin/media/js/actions.js:18 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s od %(cnt)s izabran" +msgstr[1] "%(sel)s od %(cnt)s izabrano" +msgstr[2] "%(sel)s od %(cnt)s izabranih" + +#: contrib/admin/media/js/actions.js:109 +#: contrib/admin/media/js/actions.min.js:5 +msgid "" +"You have unsaved changes on individual editable fields. If you run an " +"action, your unsaved changes will be lost." +msgstr "" +"Imate nesačivane izmene. Ako pokrenete akciju, izmene će biti izgubljene." + +#: contrib/admin/media/js/actions.js:121 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, but you haven't saved your changes to " +"individual fields yet. Please click OK to save. You'll need to re-run the " +"action." +msgstr "Izabrali ste akciju ali niste sačuvali promene polja." + +#: contrib/admin/media/js/actions.js:123 +#: contrib/admin/media/js/actions.min.js:6 +msgid "" +"You have selected an action, and you haven't made any changes on individual " +"fields. You're probably looking for the Go button rather than the Save " +"button." +msgstr "Izabrali ste akciju ali niste izmenili ni jedno polje." + #: contrib/admin/media/js/calendar.js:24 #: contrib/admin/media/js/dateparse.js:32 msgid "" @@ -59,62 +91,63 @@ msgstr "" msgid "S M T W T F S" msgstr "N P U S Č P S" +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Pokaži" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Sakrij" + #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" msgstr "nedelja ponedeljak utorak sreda četvrtak petak subota" -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 -msgid "Show" -msgstr "Pokaži" - -#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 -msgid "Hide" -msgstr "Sakrij" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Now" msgstr "Trenutno vreme" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 msgid "Clock" msgstr "Sat" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Choose a time" msgstr "Odabir vremena" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 msgid "Midnight" msgstr "Ponoć" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 msgid "6 a.m." msgstr "18č" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 msgid "Noon" msgstr "Podne" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 msgid "Cancel" msgstr "Poništi" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 msgid "Today" msgstr "Danas" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 msgid "Calendar" msgstr "Kalendar" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 msgid "Yesterday" msgstr "Juče" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 msgid "Tomorrow" msgstr "Sutra" diff --git a/django/conf/locale/sr_Latn/__init__.py b/django/conf/locale/sr_Latn/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/sr_Latn/formats.py b/django/conf/locale/sr_Latn/formats.py new file mode 100644 index 000000000..cb0478ed0 --- /dev/null +++ b/django/conf/locale/sr_Latn/formats.py @@ -0,0 +1,44 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j. F Y.' +TIME_FORMAT = 'H:i' +DATETIME_FORMAT = 'j. F Y. H:i' +YEAR_MONTH_FORMAT = 'F Y.' +MONTH_DAY_FORMAT = 'j. F' +SHORT_DATE_FORMAT = 'j.m.Y.' +SHORT_DATETIME_FORMAT = 'j.m.Y. H:i' +FIRST_DAY_OF_WEEK = 1 +DATE_INPUT_FORMATS = ( + '%d.%m.%Y.', '%d.%m.%y.', # '25.10.2006.', '25.10.06.' + '%d. %m. %Y.', '%d. %m. %y.', # '25. 10. 2006.', '25. 10. 06.' + '%Y-%m-%d', # '2006-10-25' + # '%d. %b %y.', '%d. %B %y.', # '25. Oct 06.', '25. October 06.' + # '%d. %b \'%y.', '%d. %B \'%y.', # '25. Oct '06.', '25. October '06.' + # '%d. %b %Y.', '%d. %B %Y.', # '25. Oct 2006.', '25. October 2006.' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%d.%m.%Y. %H:%M:%S', # '25.10.2006. 14:30:59' + '%d.%m.%Y. %H:%M', # '25.10.2006. 14:30' + '%d.%m.%Y.', # '25.10.2006.' + '%d.%m.%y. %H:%M:%S', # '25.10.06. 14:30:59' + '%d.%m.%y. %H:%M', # '25.10.06. 14:30' + '%d.%m.%y.', # '25.10.06.' + '%d. %m. %Y. %H:%M:%S', # '25. 10. 2006. 14:30:59' + '%d. %m. %Y. %H:%M', # '25. 10. 2006. 14:30' + '%d. %m. %Y.', # '25. 10. 2006.' + '%d. %m. %y. %H:%M:%S', # '25. 10. 06. 14:30:59' + '%d. %m. %y. %H:%M', # '25. 10. 06. 14:30' + '%d. %m. %y.', # '25. 10. 06.' + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/sv/LC_MESSAGES/django.mo b/django/conf/locale/sv/LC_MESSAGES/django.mo index 3ad6d0d1809eaec8bbfc325ad92c2e2ab3b7d061..194d38b3718922909715579038b6ab7123c161b7 100644 GIT binary patch delta 15911 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 G(EkJ0XbGMG delta 15915 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 K_VG9S\n" +"Last-Translator: Mikko Hellsing \n" "Language-Team: Django I18N \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -4092,18 +4092,18 @@ msgstr[1] "%(size)d byte" #: template/defaultfilters.py:800 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" #: template/defaultfilters.py:802 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" #: template/defaultfilters.py:803 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" #: utils/dateformat.py:41 msgid "p.m." @@ -4131,107 +4131,107 @@ msgstr "middag" #: 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:10 msgid "Mon" -msgstr "Mån" +msgstr "mån" #: utils/dates.py:10 msgid "Tue" -msgstr "Tis" +msgstr "tis" #: utils/dates.py:10 msgid "Wed" -msgstr "Ons" +msgstr "ons" #: utils/dates.py:10 msgid "Thu" -msgstr "Tors" +msgstr "tors" #: utils/dates.py:10 msgid "Fri" -msgstr "Fre" +msgstr "fre" #: utils/dates.py:11 msgid "Sat" -msgstr "Lör" +msgstr "lör" #: utils/dates.py:11 msgid "Sun" -msgstr "Sön" +msgstr "sön" #: utils/dates.py:18 msgid "January" -msgstr "Januari" +msgstr "januari" #: utils/dates.py:18 msgid "February" -msgstr "Februari" +msgstr "februari" #: utils/dates.py:18 utils/dates.py:31 msgid "March" -msgstr "Mars" +msgstr "mars" #: utils/dates.py:18 utils/dates.py:31 msgid "April" -msgstr "April" +msgstr "april" #: utils/dates.py:18 utils/dates.py:31 msgid "May" -msgstr "Maj" +msgstr "maj" #: utils/dates.py:18 utils/dates.py:31 msgid "June" -msgstr "Juni" +msgstr "juni" #: utils/dates.py:19 utils/dates.py:31 msgid "July" -msgstr "Juli" +msgstr "juli" #: utils/dates.py:19 msgid "August" -msgstr "Augusti" +msgstr "augusti" #: utils/dates.py:19 msgid "September" -msgstr "September" +msgstr "september" #: utils/dates.py:19 msgid "October" -msgstr "Oktober" +msgstr "oktober" #: utils/dates.py:19 msgid "November" -msgstr "November" +msgstr "november" #: utils/dates.py:20 msgid "December" -msgstr "December" +msgstr "december" #: utils/dates.py:23 msgid "jan" @@ -4283,31 +4283,31 @@ msgstr "dec" #: utils/dates.py:31 msgid "Jan." -msgstr "Jan." +msgstr "jan." #: utils/dates.py:31 msgid "Feb." -msgstr "Feb." +msgstr "feb." #: utils/dates.py:32 msgid "Aug." -msgstr "Aug." +msgstr "aug." #: utils/dates.py:32 msgid "Sept." -msgstr "Sept." +msgstr "sept." #: utils/dates.py:32 msgid "Oct." -msgstr "Okt." +msgstr "okt." #: utils/dates.py:32 msgid "Nov." -msgstr "Nov." +msgstr "nov." #: utils/dates.py:32 msgid "Dec." -msgstr "Dec." +msgstr "dec." #: utils/text.py:128 msgid "or" diff --git a/django/conf/locale/sv/__init__.py b/django/conf/locale/sv/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/sv/formats.py b/django/conf/locale/sv/formats.py new file mode 100644 index 000000000..db3b2ff0c --- /dev/null +++ b/django/conf/locale/sv/formats.py @@ -0,0 +1,35 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F Y' +TIME_FORMAT = 'H:i' +DATETIME_FORMAT = 'j F Y H:i' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'Y-m-d' +SHORT_DATETIME_FORMAT = 'Y-m-d H:i' +FIRST_DAY_OF_WEEK = 1 +DATE_INPUT_FORMATS = ( + '%Y-%m-%d', # '2006-10-25' + '%m/%d/%Y', # '10/25/2006' + '%m/%d/%y', # '10/25/06' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' + '%m/%d/%Y %H:%M', # '10/25/2006 14:30' + '%m/%d/%Y', # '10/25/2006' + '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' + '%m/%d/%y %H:%M', # '10/25/06 14:30' + '%m/%d/%y', # '10/25/06' +) +DECIMAL_SEPARATOR = '.' +THOUSAND_SEPARATOR = ' ' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/ta/__init__.py b/django/conf/locale/ta/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/ta/formats.py b/django/conf/locale/ta/formats.py new file mode 100644 index 000000000..69fa17df3 --- /dev/null +++ b/django/conf/locale/ta/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F, Y' +TIME_FORMAT = 'g:i:s A' +# DATETIME_FORMAT = +# YEAR_MONTH_FORMAT = +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'j M, Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +# DECIMAL_SEPARATOR = +# THOUSAND_SEPARATOR = +# NUMBER_GROUPING = diff --git a/django/conf/locale/te/LC_MESSAGES/django.mo b/django/conf/locale/te/LC_MESSAGES/django.mo index 4c481def27b5837b6e49c6f3503f8c6644965d9f..03048f88eff8993059a9367561b42b118de94e55 100644 GIT binary patch delta 13379 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 JJ%0PF{{uvK(Nq8c delta 13398 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 p>A|HvlP>Mqd1>$DOMBkCw0G*IJ~s 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 b2buJX_H=UdrNHm}W|YTujEPI=E+6y1z{kFO delta 23558 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\n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" @@ -20,210 +20,262 @@ msgid "Arabic" msgstr "Arapça" #: conf/global_settings.py:45 -msgid "Bengali" -msgstr "Bengali Dili" - -#: conf/global_settings.py:46 msgid "Bulgarian" msgstr "Bulgarca" +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "Bengali Dili" + #: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "Boşnakça" + +#: conf/global_settings.py:48 msgid "Catalan" msgstr "Katalanca" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Czech" msgstr "Çekçe" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Welsh" msgstr "Galce" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Danish" msgstr "Danca" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "German" msgstr "Almanca" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Greek" msgstr "Yunanca" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "English" msgstr "İngilizce" -#: conf/global_settings.py:54 +#: conf/global_settings.py:55 +msgid "British English" +msgstr "İngiltere İngilizce" + +#: conf/global_settings.py:56 msgid "Spanish" msgstr "İspanyolca" -#: conf/global_settings.py:55 -msgid "Estonian" -msgstr "Estonca" - -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Argentinean Spanish" msgstr "Arjantin İspanyolcası" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 +msgid "Estonian" +msgstr "Estonca" + +#: conf/global_settings.py:59 msgid "Basque" msgstr "Baskça" -#: conf/global_settings.py:58 +#: conf/global_settings.py:60 msgid "Persian" msgstr "Farsça" -#: conf/global_settings.py:59 +#: conf/global_settings.py:61 msgid "Finnish" msgstr "Fince" -#: conf/global_settings.py:60 +#: conf/global_settings.py:62 msgid "French" msgstr "Fransızca" -#: conf/global_settings.py:61 +#: conf/global_settings.py:63 +msgid "Frisian" +msgstr "Frisce" + +#: conf/global_settings.py:64 msgid "Irish" msgstr "İrlandaca" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 msgid "Galician" msgstr "Galler Dili" -#: conf/global_settings.py:63 -msgid "Hungarian" -msgstr "Macarca" - -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Hebrew" msgstr "İbranice" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 +msgid "Hindi" +msgstr "Hinduca" + +#: conf/global_settings.py:68 msgid "Croatian" msgstr "Hırvatça" -#: conf/global_settings.py:66 +#: conf/global_settings.py:69 +msgid "Hungarian" +msgstr "Macarca" + +#: conf/global_settings.py:70 msgid "Icelandic" msgstr "İzlanda dili" -#: conf/global_settings.py:67 +#: conf/global_settings.py:71 msgid "Italian" msgstr "İtalyanca" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Japanese" msgstr "Japonca" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Georgian" msgstr "Gürcüce" -#: conf/global_settings.py:70 -msgid "Korean" -msgstr "Korece" - -#: conf/global_settings.py:71 +#: conf/global_settings.py:74 msgid "Khmer" msgstr "Kamboçyaca" -#: conf/global_settings.py:72 +#: conf/global_settings.py:75 msgid "Kannada" msgstr "Kannada Dili" -#: conf/global_settings.py:73 -msgid "Latvian" -msgstr "Leton Dili" +#: conf/global_settings.py:76 +msgid "Korean" +msgstr "Korece" -#: conf/global_settings.py:74 +#: conf/global_settings.py:77 msgid "Lithuanian" msgstr "Litovca" -#: conf/global_settings.py:75 +#: conf/global_settings.py:78 +msgid "Latvian" +msgstr "Leton Dili" + +#: conf/global_settings.py:79 msgid "Macedonian" msgstr "Makedonca" -#: conf/global_settings.py:76 +#: conf/global_settings.py:80 msgid "Dutch" msgstr "Flamanca" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 msgid "Norwegian" msgstr "Norveç Dili" -#: conf/global_settings.py:78 +#: conf/global_settings.py:82 +msgid "Norwegian Bokmal" +msgstr "Norveçce (Bokmal)" + +#: conf/global_settings.py:83 +msgid "Norwegian Nynorsk" +msgstr "Norveçce (Nynorsk)" + +#: conf/global_settings.py:84 msgid "Polish" msgstr "Lehçe" -#: conf/global_settings.py:79 -msgid "Portugese" +#: conf/global_settings.py:85 +msgid "Portuguese" msgstr "Portekizce" -#: conf/global_settings.py:80 +#: conf/global_settings.py:86 msgid "Brazilian Portuguese" msgstr "Brezilya Portekizcesi" -#: conf/global_settings.py:81 +#: conf/global_settings.py:87 msgid "Romanian" msgstr "Romence" -#: conf/global_settings.py:82 +#: conf/global_settings.py:88 msgid "Russian" msgstr "Rusça" -#: conf/global_settings.py:83 +#: conf/global_settings.py:89 msgid "Slovak" msgstr "Slovakça" -#: conf/global_settings.py:84 +#: conf/global_settings.py:90 msgid "Slovenian" msgstr "Slovence" -#: conf/global_settings.py:85 +#: conf/global_settings.py:91 +msgid "Albanian" +msgstr "Arnavutça" + +#: conf/global_settings.py:92 msgid "Serbian" msgstr "Sırpça" -#: conf/global_settings.py:86 +#: conf/global_settings.py:93 +msgid "Serbian Latin" +msgstr "Sırp Latini" + +#: conf/global_settings.py:94 msgid "Swedish" msgstr "İsveççe" -#: conf/global_settings.py:87 +#: conf/global_settings.py:95 msgid "Tamil" msgstr "Tamilce" -#: conf/global_settings.py:88 +#: conf/global_settings.py:96 msgid "Telugu" msgstr "Telugu Dili" -#: conf/global_settings.py:89 +#: conf/global_settings.py:97 +msgid "Thai" +msgstr "Tayca" + +#: conf/global_settings.py:98 msgid "Turkish" msgstr "Türkçe" -#: conf/global_settings.py:90 +#: conf/global_settings.py:99 msgid "Ukrainian" msgstr "Ukraynaca" -#: conf/global_settings.py:91 +#: conf/global_settings.py:100 +msgid "Vietnamese" +msgstr "Vyetnamca" + +#: conf/global_settings.py:101 msgid "Simplified Chinese" msgstr "Basiteştirilmiş Çince" -#: conf/global_settings.py:92 +#: conf/global_settings.py:102 msgid "Traditional Chinese" msgstr "Geleneksel Çince" +#: contrib/admin/actions.py:52 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "%(count)d adet %(items)s başarıyla silindi." + +#: contrib/admin/actions.py:59 contrib/admin/options.py:1100 +msgid "Are you sure?" +msgstr "Emin misiniz?" + +#: contrib/admin/actions.py:77 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "Seçili %(verbose_name_plural)s nesnelerini sil" + #: contrib/admin/filterspecs.py:44 #, python-format msgid "" "

                                                    By %s:

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

                                                      %s nesnesine göre:

                                                      \n" +"

                                                      %s alanına göre:

                                                      \n" "
                                                        \n" -#: contrib/admin/filterspecs.py:74 -#: contrib/admin/filterspecs.py:92 -#: contrib/admin/filterspecs.py:147 -#: contrib/admin/filterspecs.py:173 +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 msgid "All" msgstr "Tümü" @@ -247,21 +299,22 @@ msgstr "Bu ay" msgid "This year" msgstr "Bu yıl" -#: contrib/admin/filterspecs.py:147 -#: forms/widgets.py:391 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "Yes" msgstr "Evet" -#: contrib/admin/filterspecs.py:147 -#: forms/widgets.py:391 +#: contrib/admin/filterspecs.py:147 forms/widgets.py:469 msgid "No" msgstr "Hayır" -#: contrib/admin/filterspecs.py:154 -#: forms/widgets.py:391 +#: contrib/admin/filterspecs.py:154 forms/widgets.py:469 msgid "Unknown" msgstr "Bilinmiyor" +#: contrib/admin/helpers.py:20 +msgid "Action:" +msgstr "İşlem:" + #: contrib/admin/models.py:19 msgid "action time" msgstr "işlem zamanı" @@ -284,178 +337,197 @@ msgstr "mesajı değiştir" #: contrib/admin/models.py:28 msgid "log entry" -msgstr "girişi kaydet" +msgstr "log kaydı" #: contrib/admin/models.py:29 msgid "log entries" -msgstr "girişleri kaydet" +msgstr "log kayıtları" -#: contrib/admin/options.py:60 -#: contrib/admin/options.py:121 +#: contrib/admin/options.py:142 contrib/admin/options.py:157 msgid "None" msgstr "Hiç biri" -#: contrib/admin/options.py:338 +#: contrib/admin/options.py:563 #, python-format msgid "Changed %s." msgstr "%s değiştirildi." -#: contrib/admin/options.py:338 -#: contrib/admin/options.py:348 -#: forms/models.py:275 +#: contrib/admin/options.py:563 contrib/admin/options.py:573 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:844 +#: forms/models.py:573 msgid "and" msgstr "ve" -#: contrib/admin/options.py:343 +#: contrib/admin/options.py:568 #, python-format msgid "Added %(name)s \"%(object)s\"." msgstr "%(name)s \"%(object)s\" eklenmiştir." -#: contrib/admin/options.py:347 +#: contrib/admin/options.py:572 #, python-format msgid "Changed %(list)s for %(name)s \"%(object)s\"." msgstr "%(list)s %(name)s \"%(object)s\" ile değiştirildi." -#: contrib/admin/options.py:352 +#: contrib/admin/options.py:577 #, python-format msgid "Deleted %(name)s \"%(object)s\"." msgstr "%(name)s \"%(object)s\" silinmiştir." -#: contrib/admin/options.py:356 +#: contrib/admin/options.py:581 msgid "No fields changed." msgstr "Hiçbir alan değiştirilmedi." -#: contrib/admin/options.py:417 -#: contrib/auth/admin.py:51 +#: contrib/admin/options.py:647 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "\"%(obj)s\" isimli %(name)s eklendi." -#: contrib/admin/options.py:421 -#: contrib/admin/options.py:454 -#: contrib/auth/admin.py:59 +#: contrib/admin/options.py:651 contrib/admin/options.py:684 msgid "You may edit it again below." msgstr "Tekrar düzenleyebilirsiniz." -#: contrib/admin/options.py:431 -#: contrib/admin/options.py:464 +#: contrib/admin/options.py:661 contrib/admin/options.py:694 #, python-format msgid "You may add another %s below." msgstr "Yeni bir %s ekleyebilirsiniz." -#: contrib/admin/options.py:452 +#: contrib/admin/options.py:682 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "\"%(obj)s\" isimli %(name)s değiştirildi." -#: contrib/admin/options.py:460 +#: contrib/admin/options.py:690 #, 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/options.py:536 +#: contrib/admin/options.py:744 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" +"İşlemlerin uygulanabilmesi için bir veya daha fazla nesne seçilmelidir. " +"Herhangi bir değişiklik gerçekleştirilmedi." + +#: contrib/admin/options.py:762 +msgid "No action selected." +msgstr "İşlem seçimi yapılmamış. Lütfen bir işlem seçiniz." + +#: contrib/admin/options.py:842 #, python-format msgid "Add %s" msgstr "%s ekle" -#: contrib/admin/options.py:614 +#: contrib/admin/options.py:868 contrib/admin/options.py:1080 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "%(key)r birincil anahtarına sahip %(name)s nesnesi mevcut değil." + +#: contrib/admin/options.py:933 #, python-format msgid "Change %s" msgstr "%s değiştir" -#: contrib/admin/options.py:646 +#: contrib/admin/options.py:978 msgid "Database error" msgstr "Veritabanı hatası" -#: contrib/admin/options.py:696 +#: contrib/admin/options.py:1014 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "%(count)s adet %(name)s başarıyla değiştirildi." + +#: contrib/admin/options.py:1041 +#, python-format +msgid "%(total_count)s selected" +msgid_plural "All %(total_count)s selected" +msgstr[0] "Toplam %(total_count)s nesne seçili" + +#: contrib/admin/options.py:1046 +#, python-format +msgid "0 of %(cnt)s selected" +msgstr "%(cnt)s nesne arasından seçim yapılmamış" + +#: contrib/admin/options.py:1093 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "\"%(obj)s\" isimli %(name)s silindi." -#: contrib/admin/options.py:703 -msgid "Are you sure?" -msgstr "Emin misiniz?" - -#: contrib/admin/options.py:732 +#: contrib/admin/options.py:1130 #, python-format msgid "Change history: %s" msgstr "%s için değişiklik geçmişi:" -#: contrib/admin/sites.py:16 -#: contrib/admin/views/decorators.py:14 -#: contrib/auth/forms.py:80 -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/sites.py:22 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +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 şifre girin. Tüm alanlar büyük/küçük " +"harf duyarlıdır." -#: contrib/admin/sites.py:227 -#: contrib/admin/views/decorators.py:40 +#: contrib/admin/sites.py:311 contrib/admin/views/decorators.py:40 msgid "Please log in again, because your session has expired." msgstr "Oturumunuzun süresi geçti. Lütfen tekrar giriş yapın." -#: contrib/admin/sites.py:234 -#: contrib/admin/views/decorators.py:47 -msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." -msgstr "Görünüşe göre tarayıcınız çerezleri kabul etmiyor. Çerez kullanımını aktif hale getirin ve sayfayı yeniden yükleyin." +#: contrib/admin/sites.py:318 contrib/admin/views/decorators.py:47 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Görünüşe göre tarayıcınız çerezleri kabul etmiyor. Çerez kullanımını aktif " +"hale getirin ve sayfayı yeniden yükleyin." -#: contrib/admin/sites.py:250 -#: contrib/admin/sites.py:256 +#: contrib/admin/sites.py:334 contrib/admin/sites.py:340 #: contrib/admin/views/decorators.py:66 msgid "Usernames cannot contain the '@' character." msgstr "Kullanıcı isminde '@' karakteri bulunamaz." -#: contrib/admin/sites.py:253 -#: contrib/admin/views/decorators.py:62 +#: contrib/admin/sites.py:337 contrib/admin/views/decorators.py:62 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "E-posta adresiniz kullanıcı adınız değil. '%s' kullanın." -#: contrib/admin/sites.py:313 +#: contrib/admin/sites.py:393 msgid "Site administration" msgstr "Site yönetimi" -#: contrib/admin/sites.py:326 -#: contrib/admin/templates/admin/login.html:26 +#: contrib/admin/sites.py:407 contrib/admin/templates/admin/login.html:26 #: contrib/admin/templates/registration/password_reset_complete.html:14 #: contrib/admin/views/decorators.py:20 msgid "Log in" msgstr "Giriş yap" -#: contrib/admin/sites.py:373 +#: contrib/admin/sites.py:452 #, python-format msgid "%s administration" msgstr "%s yönetimi" -#: contrib/admin/util.py:138 -#, 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/util.py:143 -#, 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/widgets.py:70 +#: contrib/admin/widgets.py:75 msgid "Date:" msgstr "Tarih:" -#: contrib/admin/widgets.py:70 +#: contrib/admin/widgets.py:75 msgid "Time:" msgstr "Saat:" -#: contrib/admin/widgets.py:94 +#: contrib/admin/widgets.py:99 msgid "Currently:" msgstr "Geçerli:" -#: contrib/admin/widgets.py:94 +#: contrib/admin/widgets.py:99 msgid "Change:" msgstr "Değiştir:" -#: contrib/admin/widgets.py:121 +#: contrib/admin/widgets.py:129 msgid "Lookup" msgstr "Arama" -#: contrib/admin/widgets.py:228 +#: contrib/admin/widgets.py:244 msgid "Add Another" msgstr "Yenisini Ekle" @@ -470,16 +542,17 @@ msgstr "Üzgünüz, aradığınız sayfa bulunamadı." #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/app_index.html:8 -#: contrib/admin/templates/admin/base.html:30 -#: contrib/admin/templates/admin/change_form.html:17 -#: contrib/admin/templates/admin/change_list.html:8 +#: contrib/admin/templates/admin/base.html:55 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:42 #: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:10 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: 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_change_form.html:5 #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:4 #: contrib/admin/templates/registration/password_reset_done.html:4 @@ -501,8 +574,33 @@ msgid "Server Error (500)" msgstr "Sunucu Hatası (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 "Bir hata oluştu. Hata, e-psota ile site yöneticisine bildirildi ve kısa süre içinde çözülecktir. Sabrınız için teşekkürler." +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 "" +"Bir hata oluştu. Hata, e-psota ile site yöneticisine bildirildi ve kısa süre " +"içinde çözülecktir. Sabrınız için teşekkürler." + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "Seçili işlemi uygula" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "Git" + +#: contrib/admin/templates/admin/actions.html:11 +msgid "Click here to select the objects across all pages" +msgstr "Tüm sayfalardaki nesneleri seçmek için buraya tıklayınız" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "Tüm %(total_count)s %(module_name)s nesnelerini seç" + +#: contrib/admin/templates/admin/actions.html:13 +msgid "Clear selection" +msgstr "Seçimi kaldır" #: contrib/admin/templates/admin/app_index.html:10 #: contrib/admin/templates/admin/index.html:19 @@ -510,28 +608,28 @@ msgstr "Bir hata oluştu. Hata, e-psota ile site yöneticisine bildirildi ve kı msgid "%(name)s" msgstr "%(name)s" -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/base.html:28 msgid "Welcome," msgstr "Hoşgeldiniz," -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/base.html:33 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" msgstr "Dokümantasyon" -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/auth/user/change_password.html:13 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 +#: contrib/admin/templates/admin/base.html:41 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Change password" -msgstr "Parola değiştir" +msgstr "Şifre değiştir" -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/base.html:48 #: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 msgid "Log out" msgstr "Çık" @@ -543,62 +641,96 @@ msgstr "Django site yöneticisi" msgid "Django administration" msgstr "Django yönetimi" -#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/change_form.html:21 #: contrib/admin/templates/admin/index.html:29 msgid "Add" -msgstr "Ekleme" +msgstr "Yeni" -#: contrib/admin/templates/admin/change_form.html:27 +#: contrib/admin/templates/admin/change_form.html:28 #: contrib/admin/templates/admin/object_history.html:10 msgid "History" msgstr "Geçmiş" -#: contrib/admin/templates/admin/change_form.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:13 -#: contrib/admin/templates/admin/edit_inline/tabular.html:25 +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 msgid "View on site" msgstr "Sitede görüntüle" -#: contrib/admin/templates/admin/change_form.html:38 -#: contrib/admin/templates/admin/auth/user/change_password.html:22 +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:71 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 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." +msgstr[0] "Lütfen aşağıdaki hataları düzeltin." -#: contrib/admin/templates/admin/change_list.html:16 +#: contrib/admin/templates/admin/change_list.html:63 #, python-format msgid "Add %(name)s" -msgstr "%(name)s Ekle" +msgstr "Yeni %(name)s" -#: contrib/admin/templates/admin/change_list.html:26 +#: contrib/admin/templates/admin/change_list.html:82 msgid "Filter" msgstr "Filtrele" #: contrib/admin/templates/admin/delete_confirmation.html:10 -#: contrib/admin/templates/admin/submit_line.html:4 -#: forms/formsets.py:246 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:302 msgid "Delete" msgstr "Sil" #: contrib/admin/templates/admin/delete_confirmation.html:16 #, 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' isimli %(object_name)s nesnesini silmek, bağlantılı nesnelerin silinmesini gerektiriyor, ancak aşağıdaki nesneleri silme yetkiniz yok." +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' isimli %(object_name)s nesnesini silmek, bağlantılı " +"nesnelerin silinmesini gerektiriyor, ancak aşağıdaki nesneleri silme " +"yetkiniz yok." #: contrib/admin/templates/admin/delete_confirmation.html:23 #, 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 "\"%(escaped_object)s\" isimli %(object_name)s nesnesini silmek istediğinizden emin misiniz? Aşağıdaki bağlantılı öğeler silinecek:" +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 "" +"\"%(escaped_object)s\" isimli %(object_name)s nesnesini silmek " +"istediğinizden emin misiniz? Aşağıdaki bağlantılı öğeler silinecek:" #: contrib/admin/templates/admin/delete_confirmation.html:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 msgid "Yes, I'm sure" msgstr "Evet, eminim" +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "Birden fazla nesneyi sil" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)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 isimli nesneyi silmek, bağlantılı nesnelerin silinmesini " +"gerektiriyor, fakat aşağıdaki nesneleri silme yetkiniz yok:" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" +"%(object_name)s nesnelerini silmek istediğinizden emin misiniz? Aşağıdaki " +"nesneler ve bağlantılı öğeleri de silinecektir:" + #: contrib/admin/templates/admin/filter.html:2 #, python-format msgid " By %(filter_title)s " -msgstr " %(filter_title)s nesnesine göre " +msgstr " %(filter_title)s durumuna göre " #: contrib/admin/templates/admin/index.html:18 #, python-format @@ -607,7 +739,7 @@ msgstr "%(name)s uygulamasındaki modeller." #: contrib/admin/templates/admin/index.html:35 msgid "Change" -msgstr "Değiştirme" +msgstr "Düzenle" #: contrib/admin/templates/admin/index.html:45 msgid "You don't have permission to edit anything." @@ -615,7 +747,7 @@ msgstr "Düzenleme yapmaya yetkiniz yok." #: contrib/admin/templates/admin/index.html:53 msgid "Recent Actions" -msgstr "Geçmiş İşlemler" +msgstr "İşlem Geçmişi" #: contrib/admin/templates/admin/index.html:54 msgid "My Actions" @@ -623,11 +755,21 @@ msgstr "İşlemlerim" #: contrib/admin/templates/admin/index.html:58 msgid "None available" -msgstr "Hiç yok" +msgstr "İşlem geçmişi bulunamadı" + +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "Bilinmeyen içerik" #: 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 "Veritabanı kurulumu ile ilgili bir problem var. İlgili veritabanı tablolarının kurulu olduğundan ve veritabanının ilgili kullanıcı tarafından okunabilir olduğundan emin olun." +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 "" +"Veritabanı kurulumu ile ilgili bir problem var. İlgili veritabanı " +"tablolarının kurulu olduğundan ve veritabanının ilgili kullanıcı tarafından " +"okunabilir olduğundan emin olun." #: contrib/admin/templates/admin/login.html:19 msgid "Username:" @@ -635,7 +777,7 @@ msgstr "Kullanıcı adı:" #: contrib/admin/templates/admin/login.html:22 msgid "Password:" -msgstr "Parola:" +msgstr "Şifre:" #: contrib/admin/templates/admin/object_history.html:22 msgid "Date/time" @@ -649,39 +791,38 @@ msgstr "Kullanıcı" msgid "Action" msgstr "İşlem" -#: contrib/admin/templates/admin/object_history.html:30 -#: utils/translation/trans_real.py:404 -msgid "DATETIME_FORMAT" -msgstr "j F Y, H:i" - #: contrib/admin/templates/admin/object_history.html:38 -msgid "This object doesn't have a change history. It probably wasn't added via this admin site." -msgstr "Bu nesnenin işlem geçmişi yok. Muhtemelen yönetici sayfası dışında bir yerden eklendi." +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Bu nesnenin işlem geçmişi yok. Muhtemelen yönetici sayfası dışında bir " +"yerden eklendi." #: contrib/admin/templates/admin/pagination.html:10 msgid "Show all" msgstr "Tümünü göster" +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Kaydet" + #: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Git" +msgid "Search" +msgstr "Ara" #: contrib/admin/templates/admin/search_form.html:10 #, python-format msgid "1 result" msgid_plural "%(counter)s results" -msgstr[0] "1 sonuç" -msgstr[1] "%(counter)s sonuç" +msgstr[0] "%(counter)s sonuç" #: contrib/admin/templates/admin/search_form.html:10 #, python-format msgid "%(full_result_count)s total" msgstr "toplam %(full_result_count)s" -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Save" -msgstr "Kaydet" - #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save as new" msgstr "Yeni olarak kaydet" @@ -694,40 +835,46 @@ msgstr "Kaydet ve yenisini ekle" msgid "Save and continue editing" msgstr "Kaydet ve düzenlemeye devam et" -#: 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:5 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Önce bir kullanıcı adı ve şifre girin. Daha sonra daha fazla bilgi " +"girebilirsiniz." -#: contrib/admin/templates/admin/auth/user/add_form.html:13 -#: contrib/auth/forms.py:14 -#: contrib/auth/forms.py:47 -#: contrib/auth/forms.py:59 -msgid "Username" -msgstr "Kullanıcı adı" - -#: contrib/admin/templates/admin/auth/user/add_form.html:20 -#: contrib/admin/templates/admin/auth/user/change_password.html:33 -#: contrib/auth/forms.py:17 -#: contrib/auth/forms.py:60 -#: contrib/auth/forms.py:184 -msgid "Password" -msgstr "Parola" - -#: contrib/admin/templates/admin/auth/user/add_form.html:26 -#: contrib/admin/templates/admin/auth/user/change_password.html:39 -#: contrib/auth/forms.py:185 -msgid "Password (again)" -msgstr "Parola (tekrar)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:27 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -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/change_password.html:26 +#: 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." +msgstr "%(username)s için yeni şifre girin." + +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Şifre" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Şifre (tekrar)" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Onaylamak için, yukarıdaki şifrenin aynısını girin." + +#: contrib/admin/templates/admin/edit_inline/stacked.html:64 +#: contrib/admin/templates/admin/edit_inline/tabular.html:110 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "Yeni bir %(verbose_name)s ekle" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:67 +#: contrib/admin/templates/admin/edit_inline/tabular.html:113 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "Sil" #: contrib/admin/templates/admin/edit_inline/tabular.html:15 msgid "Delete?" @@ -742,43 +889,43 @@ msgid "Log in again" msgstr "Tekrar giriş yap" #: 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_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 msgid "Password change" -msgstr "Parola değişimi" +msgstr "Şifre değişimi" #: contrib/admin/templates/registration/password_change_done.html:6 #: contrib/admin/templates/registration/password_change_done.html:10 msgid "Password change successful" -msgstr "Parola değişimi başarılı" +msgstr "Şifre değişimi başarılı" #: contrib/admin/templates/registration/password_change_done.html:12 msgid "Your password was changed." -msgstr "Parolanız değiştirildi." - -#: 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 "Güvenliğiniz için, lütfen eski parolanızı girin, sonra da yeni parolanızı iki kere girin ve böylece doğru yazdığınızdan emin olun." - -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Eski parola:" - -#: contrib/admin/templates/registration/password_change_form.html:19 -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "New password:" -msgstr "Yeni parola:" +msgstr "Şifreniz değiştirildi." #: contrib/admin/templates/registration/password_change_form.html:21 -#: contrib/admin/templates/registration/password_reset_confirm.html:20 -msgid "Confirm password:" -msgstr "Parolayı onayla:" +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 "" +"Güvenliğiniz için, lütfen eski şifrenizi girin, sonra yeni şifrenizi iki " +"kere girerek doğru yazdığınızdan emin olun." -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Eski şifre" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Yeni şifre" + +#: contrib/admin/templates/registration/password_change_form.html:43 #: contrib/admin/templates/registration/password_reset_confirm.html:21 msgid "Change my password" -msgstr "Parolamı değiştir" +msgstr "Şifremi değiştir" #: contrib/admin/templates/registration/password_reset_complete.html:4 #: contrib/admin/templates/registration/password_reset_confirm.html:6 @@ -787,12 +934,12 @@ msgstr "Parolamı değiştir" #: contrib/admin/templates/registration/password_reset_form.html:6 #: contrib/admin/templates/registration/password_reset_form.html:10 msgid "Password reset" -msgstr "Parolayı sıfırla" +msgstr "Şifreyi sıfırla" #: contrib/admin/templates/registration/password_reset_complete.html:6 #: contrib/admin/templates/registration/password_reset_complete.html:10 msgid "Password reset complete" -msgstr "Parola sıfırlama tamamlandı" +msgstr "Şifre sıfırlama tamamlandı" #: contrib/admin/templates/registration/password_reset_complete.html:12 msgid "Your password has been set. You may go ahead and log in now." @@ -800,32 +947,52 @@ msgstr "Şifreniz atanmıştır. Şimdi sisteme giriş yapabilirsiniz." #: contrib/admin/templates/registration/password_reset_confirm.html:4 msgid "Password reset confirmation" -msgstr "Parola sıfırlama onayı" +msgstr "Şifre sıfırlama onayı" #: contrib/admin/templates/registration/password_reset_confirm.html:12 msgid "Enter new password" -msgstr "Yeni parolayı girin" +msgstr "Yeni şifreyi girin" #: contrib/admin/templates/registration/password_reset_confirm.html:14 -msgid "Please enter your new password twice so we can verify you typed it in correctly." -msgstr "Lütfen yeni parolanızı iki kere girin, böylece doğru yazdığınızdan emin olun." +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Lütfen yeni şifrenizi iki kere girin, böylece doğru yazdığınızdan emin olun." + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Yeni şifre:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Şifreyi onayla:" #: contrib/admin/templates/registration/password_reset_confirm.html:26 msgid "Password reset unsuccessful" -msgstr "Parola sıfırlaması başarısız oldu" +msgstr "Şifre sıfırlaması başarısız oldu" #: contrib/admin/templates/registration/password_reset_confirm.html:28 -msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "Parola sıfırlama linki geçersiz bulunmuştur, büyük ihtimalle daha önce kullanılmış olduğu içindir. Lütfen yeni bir parola sıfırlama talebinde bulunun." +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "" +"Şifre sıfırlama linki geçersiz bulunmuştur, büyük ihtimalle daha önce " +"kullanılmış olduğu içindir. Lütfen yeni bir şifre sıfırlama talebinde " +"bulunun." #: contrib/admin/templates/registration/password_reset_done.html:6 #: contrib/admin/templates/registration/password_reset_done.html:10 msgid "Password reset successful" -msgstr "Parola başarıyla sıfırlandı" +msgstr "Şifre başarıyla sıfırlandı" #: contrib/admin/templates/registration/password_reset_done.html:12 -msgid "We've e-mailed you instructions for setting your password to the e-mail address you submitted. You should be receiving it shortly." -msgstr "Yeni parolanızı alabilmeniz için gereken talimatları belirtmiş olduğunuz e-posta adresinize gönderilmiştir, kısa süre içinde size ulaşacaktır." +msgid "" +"We've e-mailed you instructions for setting your password to the e-mail " +"address you submitted. You should be receiving it shortly." +msgstr "" +"Yeni şifrenizi alabilmeniz için gereken talimatları belirtmiş olduğunuz e-" +"posta adresinize gönderilmiştir, kısa süre içinde size ulaşacaktır." #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" @@ -834,7 +1001,9 @@ msgstr "Bu e-postayı alıyorsunuz, çünkü" #: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format msgid "for your user account at %(site_name)s" -msgstr "%(site_name)s adresindeki kullanıcı hesabınız için parola sıfırlama talebinde bulundunuz." +msgstr "" +"%(site_name)s adresindeki kullanıcı hesabınız için şifre sıfırlama talebinde " +"bulundunuz." #: contrib/admin/templates/registration/password_reset_email.html:5 msgid "Please go to the following page and choose a new password:" @@ -854,8 +1023,12 @@ msgid "The %(site_name)s team" msgstr "%(site_name)s Ekibi" #: contrib/admin/templates/registration/password_reset_form.html:12 -msgid "Forgotten your password? Enter your e-mail address below, and we'll e-mail instructions for setting a new one." -msgstr "Parolanızı mı unuttunuz? E-posta adresinizi aşağıya girin, yenisini almanız için gereken talimatları e-posta adresinize gönderelim." +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll e-mail " +"instructions for setting a new one." +msgstr "" +"Şifrenizi mı unuttunuz? E-posta adresinizi aşağıya girin, yenisini almanız " +"için gereken talimatları e-posta adresinize gönderilsin." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -863,181 +1036,87 @@ msgstr "E-posta adresi:" #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "Reset my password" -msgstr "Parolamı sıfırla" +msgstr "Şifremi sıfırla" -#: contrib/admin/templatetags/admin_list.py:288 +#: contrib/admin/templatetags/admin_list.py:239 msgid "All dates" msgstr "Tüm tarihler" -#: contrib/admin/views/main.py:69 +#: contrib/admin/views/main.py:70 #, python-format msgid "Select %s" msgstr "%s seç" -#: contrib/admin/views/main.py:69 +#: contrib/admin/views/main.py:70 #, python-format msgid "Select %s to change" msgstr "Değiştirilecek %s nesnesini seçin" -#: contrib/admin/views/template.py:36 -#: contrib/sites/models.py:38 +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 msgid "site" msgstr "site" -#: contrib/admin/views/template.py:38 +#: contrib/admin/views/template.py:40 msgid "template" msgstr "şablon" -#: contrib/admindocs/views.py:57 -#: contrib/admindocs/views.py:59 -#: contrib/admindocs/views.py:61 +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 msgid "tag:" msgstr "etiket:" -#: contrib/admindocs/views.py:90 -#: contrib/admindocs/views.py:92 -#: contrib/admindocs/views.py:94 +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 msgid "filter:" msgstr "filtre:" -#: contrib/admindocs/views.py:154 -#: contrib/admindocs/views.py:156 -#: contrib/admindocs/views.py:158 +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 msgid "view:" -msgstr "view:" +msgstr "görünüm:" -#: contrib/admindocs/views.py:186 +#: contrib/admindocs/views.py:190 #, python-format msgid "App %r not found" msgstr "%r uygulaması bulunamadı" -#: contrib/admindocs/views.py:193 +#: contrib/admindocs/views.py:197 #, python-format msgid "Model %(model_name)r not found in app %(app_label)r" msgstr "%(app_label)r uygulamasında %(model_name)r modeli bulunamadı" -#: contrib/admindocs/views.py:205 +#: contrib/admindocs/views.py:209 #, python-format msgid "the related `%(app_label)s.%(data_type)s` object" msgstr "İlgili `%(app_label)s.%(data_type)s` nesnesi" -#: contrib/admindocs/views.py:205 -#: contrib/admindocs/views.py:227 -#: contrib/admindocs/views.py:241 -#: contrib/admindocs/views.py:246 +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 msgid "model:" msgstr "model:" -#: contrib/admindocs/views.py:236 +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 #, python-format msgid "related `%(app_label)s.%(object_name)s` objects" msgstr "ilgili `%(app_label)s.%(object_name)s` nesneleri" -#: contrib/admindocs/views.py:241 +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 #, python-format msgid "all %s" msgstr "tüm %s" -#: contrib/admindocs/views.py:246 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 #, python-format msgid "number of %s" msgstr "%s sayısı" -#: contrib/admindocs/views.py:251 +#: contrib/admindocs/views.py:271 #, python-format msgid "Fields on %s objects" msgstr "%s nesnesindeki alanlar" -#: contrib/admindocs/views.py:314 -#: contrib/admindocs/views.py:325 -#: contrib/admindocs/views.py:327 -#: contrib/admindocs/views.py:333 -#: contrib/admindocs/views.py:334 -#: contrib/admindocs/views.py:336 -msgid "Integer" -msgstr "Tamsayı" - -#: contrib/admindocs/views.py:315 -msgid "Boolean (Either True or False)" -msgstr "Mantıksal (True ya da False)" - -#: contrib/admindocs/views.py:316 -#: contrib/admindocs/views.py:335 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Karakter disizi (en fazla %(max_length)s)" - -#: contrib/admindocs/views.py:317 -msgid "Comma-separated integers" -msgstr "Virgülle ayrılmış tamsayılar" - -#: contrib/admindocs/views.py:318 -msgid "Date (without time)" -msgstr "Tarih (saat yok)" - -#: contrib/admindocs/views.py:319 -msgid "Date (with time)" -msgstr "Tarih (saat var)" - -#: contrib/admindocs/views.py:320 -msgid "Decimal number" -msgstr "Ondalık sayı:" - -#: contrib/admindocs/views.py:321 -msgid "E-mail address" -msgstr "E-posta adresi" - -#: contrib/admindocs/views.py:322 -#: contrib/admindocs/views.py:323 -#: contrib/admindocs/views.py:326 -msgid "File path" -msgstr "Dosya yolu" - -#: contrib/admindocs/views.py:324 -msgid "Floating point number" -msgstr "Floating point rakamı" - -#: contrib/admindocs/views.py:328 -#: contrib/comments/models.py:58 -msgid "IP address" -msgstr "IP adresi" - -#: contrib/admindocs/views.py:330 -msgid "Boolean (Either True, False or None)" -msgstr "Mantıksal (True, False, ya da None)" - -#: contrib/admindocs/views.py:331 -msgid "Relation to parent model" -msgstr "Ana modelle ilişki" - -#: contrib/admindocs/views.py:332 -msgid "Phone number" -msgstr "Telefon numarası" - -#: contrib/admindocs/views.py:337 -msgid "Text" -msgstr "Metin" - -#: contrib/admindocs/views.py:338 -msgid "Time" -msgstr "Saat" - -#: contrib/admindocs/views.py:339 -#: contrib/comments/forms.py:22 -#: contrib/flatpages/admin.py:8 -#: contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admindocs/views.py:340 -msgid "U.S. state (two uppercase letters)" -msgstr "Şehir Kodu (iki karakter)" - -#: contrib/admindocs/views.py:341 -msgid "XML text" -msgstr "XML metni" - -#: contrib/admindocs/views.py:367 +#: contrib/admindocs/views.py:361 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s geçerli bir adres kalıbı değil" @@ -1061,9 +1140,12 @@ msgid "" "your computer is \"internal\").

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

                                                        Kısayolları kullanabilmek için, bağlantıyı tarayıcınızdaki araç\n" -"çubuğuna sürükleyin, ya da sağ tıklayıp sık kullanılan adresler listenize ekleyin. \n" -"Bazı kısayollar, uygulamayı çalıştıran sunucu ile aynı adreste bulunan istemciler \n" +"

                                                        Kısayolları kullanabilmek için, bağlantıyı tarayıcınızdaki " +"araç\n" +"çubuğuna sürükleyin, ya da sağ tıklayıp sık kullanılan adresler listenize " +"ekleyin. \n" +"Bazı kısayollar, uygulamayı çalıştıran sunucu ile aynı adreste bulunan " +"istemciler \n" "tarafından kullanılabilir.

                                                        \n" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 @@ -1071,7 +1153,9 @@ msgid "Documentation for this page" msgstr "Bu sayfa için dokümantasyon" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 -msgid "Jumps you from any page to the documentation for the view that generates that page." +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." msgstr "Sizi, bu sayfayı üreten betiğin dokümantasyonuna yönlendirir." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 @@ -1079,8 +1163,11 @@ msgid "Show object ID" msgstr "Nesne numarasını göster" #: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 -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." +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." #: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 msgid "Edit this object (current window)" @@ -1098,290 +1185,383 @@ 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." -#: contrib/auth/admin.py:21 +#: contrib/auth/admin.py:29 msgid "Personal info" msgstr "Kişisel bilgiler" -#: contrib/auth/admin.py:22 +#: contrib/auth/admin.py:30 msgid "Permissions" msgstr "İzinler" -#: contrib/auth/admin.py:23 +#: contrib/auth/admin.py:31 msgid "Important dates" msgstr "Önemli tarihler" -#: contrib/auth/admin.py:24 +#: contrib/auth/admin.py:32 msgid "Groups" msgstr "Gruplar" -#: contrib/auth/admin.py:64 -msgid "Add user" -msgstr "Kullanıcı ekle" - -#: contrib/auth/admin.py:90 +#: contrib/auth/admin.py:114 msgid "Password changed successfully." -msgstr "Parola başarı ile değiştirildi." +msgstr "Şifre başarı ile değiştirildi." -#: contrib/auth/admin.py:96 +#: contrib/auth/admin.py:124 #, python-format msgid "Change password: %s" -msgstr "Parola değiştir: %s" +msgstr "Şifre değiştir: %s" -#: contrib/auth/forms.py:15 -#: contrib/auth/forms.py:48 -#: contrib/auth/models.py:136 -msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." -msgstr "Zorunlu alan. 30 karakter ya da da az olmalı. Alfanumerik (harf, rakam ve alt çizgi) karakterler kullanılabilir." +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Kullanıcı adı" -#: contrib/auth/forms.py:16 -#: contrib/auth/forms.py:49 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Bu değer sadece karakter, rakam ve altçizgiden oluşabilir." +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" +"Zorunlu alan. 30 karakter ya da az olmalı. Harf, rakam ve @/./+/-/_ " +"karakterleri kullanılabilir." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value may contain only letters, numbers and @/./+/-/_ characters." +msgstr "Bu değer sadece harf, rakam ve @/./+/-/_ karakterlerini içerebilir." #: contrib/auth/forms.py:18 msgid "Password confirmation" -msgstr "Parola onayı" +msgstr "Şifre onayı" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:31 msgid "A user with that username already exists." msgstr "Bu isimde bir kullanıcı zaten mevcuttur." -#: contrib/auth/forms.py:36 -#: contrib/auth/forms.py:154 -#: contrib/auth/forms.py:196 +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 msgid "The two password fields didn't match." -msgstr "İki parola alanı uyuşmuyor." +msgstr "İki şifre alanı uyuşmuyor." -#: contrib/auth/forms.py:82 +#: contrib/auth/forms.py:83 msgid "This account is inactive." msgstr "Bu hesap aktif değil." -#: contrib/auth/forms.py:87 -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:88 +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:100 +#: contrib/auth/forms.py:101 msgid "E-mail" msgstr "E-posta adresi" -#: contrib/auth/forms.py:109 -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:110 +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:134 +#: contrib/auth/forms.py:136 #, python-format msgid "Password reset on %s" -msgstr "%s sitesindeki hesabınızın parolasının sıfırlanması" +msgstr "%s sitesindeki hesabınızın şifresinin sıfırlanması" -#: contrib/auth/forms.py:142 -msgid "New password" -msgstr "Yeni parola" - -#: contrib/auth/forms.py:143 +#: contrib/auth/forms.py:145 msgid "New password confirmation" -msgstr "Yeni parola tekrarı" +msgstr "Yeni şifre tekrarı" -#: contrib/auth/forms.py:168 -msgid "Old password" -msgstr "Eski parola" - -#: contrib/auth/forms.py:176 +#: contrib/auth/forms.py:178 msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "Eski parolanız hatalı. Lütfen tekrar girin." +msgstr "Eski şifreniz hatalı. Lütfen tekrar girin." -#: contrib/auth/models.py:72 -#: contrib/auth/models.py:95 +#: contrib/auth/models.py:66 contrib/auth/models.py:94 msgid "name" msgstr "isim" -#: contrib/auth/models.py:74 +#: contrib/auth/models.py:68 msgid "codename" msgstr "takma ad" -#: contrib/auth/models.py:77 +#: contrib/auth/models.py:72 msgid "permission" msgstr "izin" -#: contrib/auth/models.py:78 -#: contrib/auth/models.py:96 +#: contrib/auth/models.py:73 contrib/auth/models.py:95 msgid "permissions" msgstr "izinler" -#: contrib/auth/models.py:99 +#: contrib/auth/models.py:98 msgid "group" msgstr "grup" -#: contrib/auth/models.py:100 -#: contrib/auth/models.py:146 +#: contrib/auth/models.py:99 contrib/auth/models.py:206 msgid "groups" msgstr "gruplar" -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:196 msgid "username" msgstr "kullanıcı adı" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:196 +msgid "" +"Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters" +msgstr "" +"Zorunlu alan. 30 karakter ya da az olmalı. Harf, rakam ve @/./+/-/_ " +"karakterleri kullanılabilir" + +#: contrib/auth/models.py:197 msgid "first name" msgstr "isim" -#: contrib/auth/models.py:138 +#: contrib/auth/models.py:198 msgid "last name" msgstr "soyisim" -#: contrib/auth/models.py:139 +#: contrib/auth/models.py:199 msgid "e-mail address" msgstr "e-posta adresi" -#: contrib/auth/models.py:140 +#: contrib/auth/models.py:200 msgid "password" -msgstr "parola" +msgstr "şifre" -#: contrib/auth/models.py:140 -msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." +#: contrib/auth/models.py:200 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." msgstr "" -"'[algo]$[salt]$[hexdigest]' yazın ya da parola\n" +"'[algo]$[salt]$[hexdigest]' yazın ya da şifre\n" "değiştir formunu kullanın." -#: contrib/auth/models.py:141 +#: contrib/auth/models.py:201 msgid "staff status" -msgstr "yönetici modu" +msgstr "yönetici" -#: contrib/auth/models.py:141 +#: contrib/auth/models.py:201 msgid "Designates whether the user can log into this admin site." -msgstr "Kullanıcının yönetici sayfasına girip giremeyeceğini belirler." +msgstr "Kullanıcının yönetim (admin) paneline girip giremeyeceğini belirler." -#: contrib/auth/models.py:142 +#: contrib/auth/models.py:202 msgid "active" msgstr "aktif" -#: contrib/auth/models.py:142 -msgid "Designates whether this user should be treated as active. Unselect this instead of deleting accounts." -msgstr "Kullanıcının aktif olup olmadığını belirler. Kullanıcı hesabı silmek yerine bu işareti kaldırın." +#: contrib/auth/models.py:202 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" +"Kullanıcının aktif olup olmadığını belirler. Kullanıcı hesabını silmek " +"yerine bu işareti kaldırın." -#: contrib/auth/models.py:143 +#: contrib/auth/models.py:203 msgid "superuser status" -msgstr "süper kullanıcı modu" +msgstr "süper kullanıcı" -#: contrib/auth/models.py:143 -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:203 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Kullanıcıya ayrı ayrı izin atamasına gerek kalmadan tüm hakların verilip " +"verilmeyeceğini belirler." -#: contrib/auth/models.py:144 +#: contrib/auth/models.py:204 msgid "last login" msgstr "son ziyaret" -#: contrib/auth/models.py:145 +#: contrib/auth/models.py:205 msgid "date joined" msgstr "kayıt tarihi" -#: contrib/auth/models.py:147 -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:207 +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ı, üyesi olduğu grupların " +"haklarını da alır." -#: contrib/auth/models.py:148 +#: contrib/auth/models.py:208 msgid "user permissions" msgstr "kullanıcı izinleri" -#: contrib/auth/models.py:152 +#: contrib/auth/models.py:212 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 msgid "user" msgstr "kullanıcı" -#: contrib/auth/models.py:153 +#: contrib/auth/models.py:213 msgid "users" msgstr "kullanıcılar" -#: contrib/auth/models.py:308 +#: contrib/auth/models.py:394 msgid "message" msgstr "mesaj" -#: contrib/auth/views.py:50 +#: contrib/auth/views.py:79 msgid "Logged out" msgstr "Çıkış yapıldı" #: contrib/auth/management/commands/createsuperuser.py:23 -#: forms/fields.py:428 +#: core/validators.py:120 forms/fields.py:428 msgid "Enter a valid e-mail address." msgstr "Geçerli bir e-posta adresi girin." -#: contrib/comments/admin.py:11 +#: contrib/comments/admin.py:12 msgid "Content" msgstr "İçerik" -#: contrib/comments/admin.py:14 +#: contrib/comments/admin.py:15 msgid "Metadata" msgstr "Meta bilgi" -#: contrib/comments/forms.py:20 +#: contrib/comments/admin.py:40 +msgid "flagged" +msgid_plural "flagged" +msgstr[0] "işaretli" + +#: contrib/comments/admin.py:41 +msgid "Flag selected comments" +msgstr "Seçili yorumları işaretle" + +#: contrib/comments/admin.py:45 +msgid "approved" +msgid_plural "approved" +msgstr[0] "onaylandı" + +#: contrib/comments/admin.py:46 +msgid "Approve selected comments" +msgstr "Seçili yorumları onayla" + +#: contrib/comments/admin.py:50 +msgid "removed" +msgid_plural "removed" +msgstr[0] "silinmiş" + +#: contrib/comments/admin.py:51 +msgid "Remove selected comments" +msgstr "Seçili yorumları sil" + +#: contrib/comments/admin.py:63 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "%(count)s adet yorum başarıyla %(action)s." + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "%(site_name)s sitesine ait yorumlar" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "%(site_name)s sitesindeki son yorumlar" + +#: contrib/comments/forms.py:93 msgid "Name" msgstr "İsim" -#: contrib/comments/forms.py:21 +#: contrib/comments/forms.py:94 msgid "Email address" msgstr "E-posta adresi" -#: contrib/comments/forms.py:23 +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1101 +msgid "URL" +msgstr "URL" + +#: contrib/comments/forms.py:96 msgid "Comment" msgstr "Yorum" -#: contrib/comments/forms.py:26 -msgid "If you enter anything in this field your comment will be treated as spam" -msgstr "Eğer bu alana herhangi bir şey girerseniz, yorumunuz spam olarak kabul edilecektir" - -#: contrib/comments/forms.py:126 +#: contrib/comments/forms.py:175 #, 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 kelimeleri burada kullanılamaz." -#: contrib/comments/models.py:23 +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "" +"Eğer bu alana herhangi bir şey girerseniz, yorumunuz spam olarak kabul " +"edilecektir" + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "içerik türü" + +#: contrib/comments/models.py:24 msgid "object ID" msgstr "nesne no" -#: contrib/comments/models.py:50 +#: contrib/comments/models.py:52 msgid "user's name" msgstr "kullanıcının adı" -#: contrib/comments/models.py:51 +#: contrib/comments/models.py:53 msgid "user's email address" msgstr "kullanıcının e-posta adresi" -#: contrib/comments/models.py:52 +#: contrib/comments/models.py:54 msgid "user's URL" msgstr "kullanıcının URL'si" -#: contrib/comments/models.py:54 +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 msgid "comment" msgstr "yorum" -#: contrib/comments/models.py:57 +#: contrib/comments/models.py:59 msgid "date/time submitted" msgstr "gönderim tarihi/saati" -#: contrib/comments/models.py:59 +#: contrib/comments/models.py:60 db/models/fields/__init__.py:896 +msgid "IP address" +msgstr "IP adresi" + +#: contrib/comments/models.py:61 msgid "is public" msgstr "görünürlük" -#: contrib/comments/models.py:60 -msgid "Uncheck this box to make the comment effectively disappear from the site." +#: contrib/comments/models.py:62 +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." msgstr "Yorumu site üzerinden kaldırmak için bu kutucuğun seçimini kaldırın." -#: contrib/comments/models.py:62 +#: contrib/comments/models.py:64 msgid "is removed" msgstr "silinmiş" -#: contrib/comments/models.py:63 -msgid "Check this box if the comment is inappropriate. A \"This comment has been removed\" message will be displayed instead." -msgstr "Yorum uygunsuz ise bu işareti kaldırın. \"Yorum silindi\" uyarısı görüntülenecek." +#: contrib/comments/models.py:65 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"Yorum uygunsuz ise bu işareti kaldırın. \"Yorum silindi\" uyarısı " +"görüntülenecek." -#: contrib/comments/models.py:115 -msgid "This comment was posted by an authenticated user and thus the name is read-only." -msgstr "Bu yorum kayıtlı kullanıcı tarafından yazıldığı için başlığı salt okunurdur." +#: contrib/comments/models.py:77 +msgid "comments" +msgstr "yorumlar" -#: contrib/comments/models.py:124 -msgid "This comment was posted by an authenticated user and thus the email is read-only." -msgstr "Bu yorum kayıtlı kullanıcı tarafından yazıldığı için e-posta adresi salt okunurdur." +#: contrib/comments/models.py:119 +msgid "" +"This comment was posted by an authenticated user and thus the name is read-" +"only." +msgstr "" +"Bu yorum kayıtlı kullanıcı tarafından yazıldığı için başlığı salt okunurdur." -#: contrib/comments/models.py:149 +#: contrib/comments/models.py:128 +msgid "" +"This comment was posted by an authenticated user and thus the email is read-" +"only." +msgstr "" +"Bu yorum kayıtlı kullanıcı tarafından yazıldığı için e-posta adresi salt " +"okunurdur." + +#: contrib/comments/models.py:153 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -1396,25 +1576,132 @@ msgstr "" "\n" "http://%(domain)s%(url)s" -#: contrib/contenttypes/models.py:67 +#: contrib/comments/models.py:170 +msgid "flag" +msgstr "işaret" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "tarih" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "yorum işareti" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "yorum işaretleri" + +#: contrib/comments/templates/comments/approve.html:4 +msgid "Approve a comment" +msgstr "Yorumu onayla" + +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "Bu yorum gerçekten umuma açılsın mı?" + +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "Onayla" + +#: contrib/comments/templates/comments/approved.html:4 +msgid "Thanks for approving" +msgstr "Onayınız için teşekkürler" + +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "" +"Sitemizdeki tartışma kalitesini yükseltmek amacıyla ayırdığınız zaman için " +"teşekkür ederiz." + +#: contrib/comments/templates/comments/delete.html:4 +msgid "Remove a comment" +msgstr "Yorumu sil" + +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "Yorum silinsin mi?" + +#: contrib/comments/templates/comments/deleted.html:4 +msgid "Thanks for removing" +msgstr "Sildiğiniz için teşekkürler" + +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "Bu yorumu işlaretle" + +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "Yorum işaretlensin mi?" + +#: contrib/comments/templates/comments/flag.html:12 +msgid "Flag" +msgstr "İşaret" + +#: contrib/comments/templates/comments/flagged.html:4 +msgid "Thanks for flagging" +msgstr "İşaretlediğiniz için teşekkürler" + +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +msgid "Post" +msgstr "Gönderi" + +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +msgid "Preview" +msgstr "Önizleme" + +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "Yorumunuz için teşekkürler" + +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "Yorumunuz için teşekkür ederiz" + +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" +msgstr "Yorumunuzun önüzlemesini görün" + +#: contrib/comments/templates/comments/preview.html:11 +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "Lütfen aşağıdaki hataları düzeltin" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "Yorumunuzu gönderin" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "or make changes" +msgstr "veya düzenleme yapmak" + +#: contrib/contenttypes/models.py:77 msgid "python model class name" msgstr "python model sınıf adı" -#: contrib/contenttypes/models.py:71 -msgid "content type" -msgstr "içerik türü" - -#: contrib/contenttypes/models.py:72 +#: contrib/contenttypes/models.py:82 msgid "content types" msgstr "içerik türleri" #: contrib/flatpages/admin.py:9 -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." +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/admin.py:11 -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." +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." #: contrib/flatpages/admin.py:22 msgid "Advanced options" @@ -1437,8 +1724,12 @@ msgid "template name" msgstr "şablon adı" #: contrib/flatpages/models.py:12 -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." +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:13 msgid "registration required" @@ -1456,22 +1747,67 @@ msgstr "düz sayfa" msgid "flat pages" msgstr "düz sayfalar" -#: contrib/formtools/wizard.py:130 -msgid "We apologize, but your form has expired. Please continue filling out the form from this page." -msgstr "Özür dileriz, form bilgileriniz zaman aşımına uğramış. Lütfen formu bu sayfada doldurmaya devam edin." +#: contrib/formtools/wizard.py:140 +msgid "" +"We apologize, but your form has expired. Please continue filling out the " +"form from this page." +msgstr "" +"Özür dileriz, form bilgileriniz zaman aşımına uğramış. Lütfen formu bu " +"sayfada doldurmaya devam edin." -#: contrib/gis/forms/fields.py:14 +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" +"Taban GIS alanı -- OpenGIS Spesifikasyonu Geometri türüne eşleşmektedir." + +#: contrib/gis/db/models/fields.py:270 +msgid "Point" +msgstr "Nokta" + +#: contrib/gis/db/models/fields.py:274 +msgid "Line string" +msgstr "Satır dizisi" + +#: contrib/gis/db/models/fields.py:278 +msgid "Polygon" +msgstr "Poligon" + +#: contrib/gis/db/models/fields.py:282 +msgid "Multi-point" +msgstr "Çok noktalı" + +#: contrib/gis/db/models/fields.py:286 +msgid "Multi-line string" +msgstr "Çok satırlı metin" + +#: contrib/gis/db/models/fields.py:290 +msgid "Multi polygon" +msgstr "Çoklu poligon" + +#: contrib/gis/db/models/fields.py:294 +msgid "Geometry collection" +msgstr "Geometri kolleksiyonu" + +#: contrib/gis/forms/fields.py:17 msgid "No geometry value provided." msgstr "Hiçbir geometri değeri verilmemiştir." -#: contrib/gis/forms/fields.py:15 +#: contrib/gis/forms/fields.py:18 msgid "Invalid geometry value." msgstr "Geçersiz geometri değeri." -#: contrib/gis/forms/fields.py:16 +#: contrib/gis/forms/fields.py:19 msgid "Invalid geometry type." msgstr "Geçersiz geometri türü." +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" +"Geometri verisi geometri form alanının SRID değerine dönüştürülürken hata " +"oluştu." + #: contrib/humanize/templatetags/humanize.py:19 msgid "th" msgstr "." @@ -1493,21 +1829,18 @@ msgstr "." msgid "%(value).1f million" msgid_plural "%(value).1f million" msgstr[0] "%(value).1f milyon" -msgstr[1] "%(value).1f milyon" #: contrib/humanize/templatetags/humanize.py:54 #, python-format msgid "%(value).1f billion" msgid_plural "%(value).1f billion" msgstr[0] "%(value).1f milyar" -msgstr[1] "%(value).1f milyar" #: contrib/humanize/templatetags/humanize.py:57 #, python-format msgid "%(value).1f trillion" msgid_plural "%(value).1f trillion" msgstr[0] "%(value).1f trilyon" -msgstr[1] "%(value).1f trilyon" #: contrib/humanize/templatetags/humanize.py:73 msgid "one" @@ -1557,27 +1890,25 @@ msgstr "yarın" msgid "yesterday" msgstr "dün" -#: contrib/localflavor/ar/forms.py:27 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "NNNN ya da ANNNNAAA formatında bir posta kodu yazın." -#: contrib/localflavor/ar/forms.py:49 -#: contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 -#: contrib/localflavor/pe/forms.py:23 -#: contrib/localflavor/pe/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:97 +#: contrib/localflavor/br/forms.py:136 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires only numbers." msgstr "Bu alan sadece rakam gerektirmektedir." -#: contrib/localflavor/ar/forms.py:50 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Bu alan 7 veya 8 rakam gerektirmektedir." -#: contrib/localflavor/ar/forms.py:79 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "XX-XXXXXXXX-X ya da XXXXXXXXXXXX formatında bir CUIT girin." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Geçersiz CUIT." @@ -1617,55 +1948,62 @@ msgstr "Vorarlberg" msgid "Vienna" msgstr "Vyana" -#: contrib/localflavor/at/forms.py:20 -#: contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 msgid "Enter a zip code in the format XXXX." msgstr "XXXX formatında posta kodu girin." #: contrib/localflavor/at/forms.py:48 msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." -msgstr "Lütfen XXXX XXXXXX formatında geçerli bir Avusturya Sosyal Güvenlik Numarası giriniz." +msgstr "" +"Lütfen XXXX XXXXXX formatında geçerli bir Avusturya Sosyal Güvenlik Numarası " +"giriniz." -#: contrib/localflavor/au/forms.py:16 +#: contrib/localflavor/au/forms.py:17 msgid "Enter a 4 digit post code." msgstr "4 rakamlı posta kodu girin." -#: contrib/localflavor/br/forms.py:21 +#: contrib/localflavor/br/forms.py:22 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "XXXXX-XXX formatında posta kodu girin." -#: contrib/localflavor/br/forms.py:30 +#: contrib/localflavor/br/forms.py:31 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Telefon numaraları XX-XXXX-XXXX formatında olmalıdır." -#: contrib/localflavor/br/forms.py:58 -msgid "Select a valid brazilian state. That state is not one of the available states." -msgstr "Lütfen geçerli bir Brezilya bölgesi seçin. Seçilen bölge mevcutlar arasında yoktur." +#: contrib/localflavor/br/forms.py:59 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" +"Lütfen geçerli bir Brezilya bölgesi seçin. Seçilen bölge mevcutlar arasında " +"yoktur." -#: contrib/localflavor/br/forms.py:94 +#: contrib/localflavor/br/forms.py:95 msgid "Invalid CPF number." msgstr "Geçersiz CPF numarası." -#: contrib/localflavor/br/forms.py:95 +#: contrib/localflavor/br/forms.py:96 msgid "This field requires at most 11 digits or 14 characters." msgstr "Bu en fazla 11 rakam veya 14 karakter gerektirmektedir." -#: contrib/localflavor/br/forms.py:134 +#: contrib/localflavor/br/forms.py:135 msgid "Invalid CNPJ number." msgstr "Geçersiz CNPJ numarası." -#: contrib/localflavor/br/forms.py:136 +#: contrib/localflavor/br/forms.py:137 msgid "This field requires at least 14 digits" msgstr "Bu alan en az 14 rakam gerektirmektedir" -#: contrib/localflavor/ca/forms.py:17 +#: contrib/localflavor/ca/forms.py:25 msgid "Enter a postal code in the format XXX XXX." msgstr "XXX XXX formatında posta kodunu girin." -#: contrib/localflavor/ca/forms.py:88 +#: contrib/localflavor/ca/forms.py:96 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." -msgstr "Lütfen XXX-XXX-XXX formatında geçerli bir Kanada Sosyal Güvenlik Numarası girin." +msgstr "" +"Lütfen XXX-XXX-XXX formatında geçerli bir Kanada Sosyal Güvenlik Numarası " +"girin." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -1771,22 +2109,104 @@ msgstr "Zug" msgid "Zurich" msgstr "Zürih" -#: contrib/localflavor/ch/forms.py:64 -msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." -msgstr "Lütfen X1234567<0 veya 1234567890 formatında geçerli bir İsviçre kimlik veya pasaport numarası giriniz." +#: contrib/localflavor/ch/forms.py:65 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" +"Lütfen X1234567<0 veya 1234567890 formatında geçerli bir İsviçre kimlik veya " +"pasaport numarası giriniz." -#: contrib/localflavor/cl/forms.py:29 +#: contrib/localflavor/cl/forms.py:30 msgid "Enter a valid Chilean RUT." msgstr "Geçerli bir Şili RUT numarası girin." -#: contrib/localflavor/cl/forms.py:30 +#: contrib/localflavor/cl/forms.py:31 msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Geçerli bir Şili RUT numarası girin. Format: XX.XXX.XXX-X." -#: contrib/localflavor/cl/forms.py:31 +#: contrib/localflavor/cl/forms.py:32 msgid "The Chilean RUT is not valid." msgstr "Şili RUT numarası geçersizdir." +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "Prag" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "Merkezi Bohemia Bölgesi" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "Güney Bohemia Bölgesi" + +#: contrib/localflavor/cz/cz_regions.py:11 +msgid "Pilsen Region" +msgstr "Pilsen Bölgesi" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "Carlsbad Bölgesi" + +#: contrib/localflavor/cz/cz_regions.py:13 +msgid "Usti Region" +msgstr "Usti Bölgesi" + +#: contrib/localflavor/cz/cz_regions.py:14 +msgid "Liberec Region" +msgstr "Liberec Bölgesi" + +#: contrib/localflavor/cz/cz_regions.py:15 +msgid "Hradec Region" +msgstr "Hradec Bölgesi" + +#: contrib/localflavor/cz/cz_regions.py:16 +msgid "Pardubice Region" +msgstr "Pardubice Bölgesi" + +#: contrib/localflavor/cz/cz_regions.py:17 +msgid "Vysocina Region" +msgstr "Vysocina Bölgesi" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "South Moravian Bölgesi" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "Olomouc Bölgesi" + +#: contrib/localflavor/cz/cz_regions.py:20 +msgid "Zlin Region" +msgstr "Zlin Bölgesi" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "Moravian-Silesian Bölgesi" + +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "XXXXX ya da XXX XX formatında bir posta kodu girin." + +#: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "" +"XXXXXX/XXXX veya XXXXXXXXXX formatında geçerli bir doğum numarası girin." + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" +"Geçersiz isteğe bağlı Cinsiyet parametresi, geçerli değerler 'f' ve 'm'dir" + +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "Geçerli bir doğum numarası girin." + +#: contrib/localflavor/cz/forms.py:107 +msgid "Enter a valid IC number." +msgstr "Geçerli bir IC numarası girin." + #: contrib/localflavor/de/de_states.py:5 msgid "Baden-Wuerttemberg" msgstr "Baden-Wuerttemberg" @@ -1851,15 +2271,18 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringia" -#: contrib/localflavor/de/forms.py:14 -#: contrib/localflavor/fi/forms.py:12 -#: contrib/localflavor/fr/forms.py:15 +#: contrib/localflavor/de/forms.py:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 msgid "Enter a zip code in the format XXXXX." msgstr "XXXXX formatında posta kodu girin." -#: contrib/localflavor/de/forms.py:41 -msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." -msgstr "Lütfen XXXXXXXXXXX-XXXXXXX-XXXXXXX-X formatında geçerli bir Alman kimlik numarası giriniz." +#: contrib/localflavor/de/forms.py:42 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"Lütfen XXXXXXXXXXX-XXXXXXX-XXXXXXX-X formatında geçerli bir Alman kimlik " +"numarası giriniz." #: contrib/localflavor/es/es_provinces.py:5 msgid "Arava" @@ -2128,67 +2551,507 @@ msgstr "Foral Community of Navarre" msgid "Valencian Community" msgstr "Valencian Community" -#: contrib/localflavor/es/forms.py:19 +#: contrib/localflavor/es/forms.py:20 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "01XXX - 52XXX aralığında ve formatında geçerli bir posta kodu girin." -#: contrib/localflavor/es/forms.py:39 -msgid "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX." -msgstr "6XXXXXXXX, 8XXXXXXXX ya da 9XXXXXXXX formatlarından birisine uyan geçerli bir posta kodu girin." +#: contrib/localflavor/es/forms.py:40 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" +"6XXXXXXXX, 8XXXXXXXX ya da 9XXXXXXXX formatlarından birisine uyan geçerli " +"bir posta kodu girin." -#: contrib/localflavor/es/forms.py:66 +#: contrib/localflavor/es/forms.py:67 msgid "Please enter a valid NIF, NIE, or CIF." msgstr "Lütfen geçerli bir NIF, NIE ya da CIF girin." -#: contrib/localflavor/es/forms.py:67 +#: contrib/localflavor/es/forms.py:68 msgid "Please enter a valid NIF or NIE." msgstr "Lütfen geçerli bir NIF ya da NIE girin." -#: contrib/localflavor/es/forms.py:68 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIF." msgstr "Yanlış NIF sağlama toplamı." -#: contrib/localflavor/es/forms.py:69 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for NIE." msgstr "Yanlış NIE sağlama toplamı." -#: contrib/localflavor/es/forms.py:70 +#: contrib/localflavor/es/forms.py:71 msgid "Invalid checksum for CIF." msgstr "Yanlış CIF sağlama toplamı." -#: contrib/localflavor/es/forms.py:142 -msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." -msgstr "Lütfen XXXX-XXXX-XX-XXXXXXXXXX formatında geçerli bir banka hesabı numarası girin." - #: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" +"Lütfen XXXX-XXXX-XX-XXXXXXXXXX formatında geçerli bir banka hesabı numarası " +"girin." + +#: contrib/localflavor/es/forms.py:144 msgid "Invalid checksum for bank account number." msgstr "Banka hesabı numarası için geçersiz sağlama toplamı." -#: contrib/localflavor/fi/forms.py:28 +#: contrib/localflavor/fi/forms.py:29 msgid "Enter a valid Finnish social security number." msgstr "Geçerli bir Finlandiya sosyal güvenlik numarası girin." -#: contrib/localflavor/in_/forms.py:14 +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "Telefon numaraları 0X XX XX XX XX formatında olmalıdır." + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "Geçerli bir posta kodu girin" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Geçerli bir telefon numarası girin" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "Geçerli bir araç plaka numarası girin" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "Geçerli bir NIK/KTP numarası girin" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "Bali" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "Banten" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "Bengkulu" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "Yogyakarta" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "Jakarta" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "Gorontalo" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "Jambi" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "Jawa Barat" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "Jawa Tengah" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "Jawa Timur" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "Kalimantan Barat" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "Kalimantan Selatan" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "Kalimantan Tengah" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "Kalimantan Timur" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "Kepulauan Bangka-Belitung" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "Kepulauan Riau" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "Lampung" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "Maluku" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "Maluku Utara" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "Nanggroe Aceh Darussalam" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "Nusa Tenggara Barat" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "Nusa Tenggara Timur" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "Papua" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "Papua Barat" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "Riau" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "Sulawesi Barat" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "Sulawesi Selatan" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "Sulawesi Tengah" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "Sulawesi Tenggara" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "Sulawesi Utara" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "Sumatera Barat" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "Sumatera Selatan" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "Sumatera Utara" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "Magelang" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "Surakarta - Solo" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "Madiun" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "Kediri" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "Tapanuli" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "Kepulauan Bangka Belitung" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "Corps Consulate" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "Corps Diplomatic" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "Bandung" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "Sulawesi Utara Daratan" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "NTT - Timor" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "Sulawesi Utara Kepulauan" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "NTB - Lombok" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "Papua dan Papua Barat" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "Cirebon" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "NTB - Sumbawa" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "NTT - Flores" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "NTT - Sumba" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "Bogor" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "Pekalongan" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "Semarang" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "Pati" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "Surabaya" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "Madura" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "Malang" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "Jember" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "Banyumas" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "Federal Hükümet" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "Bojonegoro" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "Purwakarta" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "Sidoarjo" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "Garut" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "Antrim" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "Armagh" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "Carlow" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "Cavan" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "Clare" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "Cork" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "Derry" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "Donegal" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "Down" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "Dublin" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "Fermanagh" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "Galway" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "Kerry" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "Kildare" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "Kilkenny" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "Laois" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "Leitrim" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "Limerick" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "Longford" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "Louth" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "Mayo" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "Meath" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "Monaghan" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "Offaly" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "Roscommon" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "Sligo" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "Tipperary" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "Tyrone" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "Waterford" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "Westmeath" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "Wexford" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "Wicklow" + +#: contrib/localflavor/in_/forms.py:15 msgid "Enter a zip code in the format XXXXXXX." msgstr "XXXXXXX formatında bir posta kodu girin." -#: contrib/localflavor/is_/forms.py:17 -msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +#: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "Geçerli bir İzlanda kimlik numarası girin. Format: XXXXXX-XXXX." -#: contrib/localflavor/is_/forms.py:18 +#: contrib/localflavor/is_/forms.py:19 msgid "The Icelandic identification number is not valid." msgstr "Geçersiz İzlanda kimlik numarası." -#: contrib/localflavor/it/forms.py:14 +#: contrib/localflavor/it/forms.py:15 msgid "Enter a valid zip code." msgstr "Geçerli bir posta kodu girin." -#: contrib/localflavor/it/forms.py:43 +#: contrib/localflavor/it/forms.py:44 msgid "Enter a valid Social Security number." msgstr "Geçerli bir Sosyal Güvenlik numarası girin." -#: contrib/localflavor/it/forms.py:68 +#: contrib/localflavor/it/forms.py:69 msgid "Enter a valid VAT number." msgstr "Geçerli bir VAT girin." @@ -2384,6 +3247,10 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "Geçerli bir Kuveyt kimlik numarası girin" + #: contrib/localflavor/mx/mx_states.py:12 msgid "Aguascalientes" msgstr "Aguascalientes" @@ -2512,15 +3379,11 @@ msgstr "Yucatán" msgid "Zacatecas" msgstr "Zacatecas" -#: contrib/localflavor/nl/forms.py:21 +#: contrib/localflavor/nl/forms.py:22 msgid "Enter a valid postal code" msgstr "Geçerli bir posta kodu girin" -#: contrib/localflavor/nl/forms.py:52 -msgid "Enter a valid phone number" -msgstr "Geçerli bir telefon numarası girin" - -#: contrib/localflavor/nl/forms.py:78 +#: contrib/localflavor/nl/forms.py:79 msgid "Enter a valid SoFi number" msgstr "Geçerli bir SoFi numarası girin" @@ -2572,15 +3435,15 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:33 +#: contrib/localflavor/no/forms.py:34 msgid "Enter a valid Norwegian social security number." msgstr "Geçerli bir Norveç Sosyal Güvenlik numarası girin." -#: contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:25 msgid "This field requires 8 digits." msgstr "Bu alan 8 rakam gerektirmektedir." -#: contrib/localflavor/pe/forms.py:52 +#: contrib/localflavor/pe/forms.py:53 msgid "This field requires 11 digits." msgstr "Bu alan 11 rakam gerektirmektedir." @@ -2593,22 +3456,25 @@ msgid "Wrong checksum for the National Identification Number." msgstr "Ulusal Kimlik Numarası için geçersiz sağlama toplamı." #: contrib/localflavor/pl/forms.py:71 -msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." -msgstr "XXX-XXX-XX-XX or XX-XX-XXX-XXX formatında geçerli bir vergi numarası (NIP) girin." +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "" +"XXX-XXX-XX-XX or XX-XX-XXX-XXX formatında geçerli bir vergi numarası (NIP) " +"girin." #: contrib/localflavor/pl/forms.py:72 msgid "Wrong checksum for the Tax Number (NIP)." msgstr "Vergi Numarası (NIP) için geçersiz sağlama toplamı." -#: contrib/localflavor/pl/forms.py:111 -msgid "National Business Register Number (REGON) consists of 7 or 9 digits." -msgstr "Ulusal İş Kayıt Numarası (REGON) 7 veya 9 rakamdan oluşmaktadır." +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." +msgstr "Ulusal İş Kayıt Numarası (REGON) 9 veya 17 rakamdan oluşmaktadır." -#: contrib/localflavor/pl/forms.py:112 +#: contrib/localflavor/pl/forms.py:110 msgid "Wrong checksum for the National Business Register Number (REGON)." msgstr "Ulusal İş Kayıt Numarası (REGON) için geçersiz sağlama toplamı." -#: contrib/localflavor/pl/forms.py:155 +#: contrib/localflavor/pl/forms.py:148 msgid "Enter a postal code in the format XX-XXX." msgstr "XX-XXX formatında bir posta kodu girin." @@ -2676,6 +3542,15 @@ msgstr "Büyük Polonya" msgid "West Pomerania" msgstr "Batı Pomerania" +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "XXXX-XXX formatında posta kodu girin." + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" +"Telefon numaraları 9 rakamdan oluşmalı, veyahut + veya 00 ile başlamalıdır." + #: contrib/localflavor/ro/forms.py:19 msgid "Enter a valid CIF." msgstr "Geçerli bir CIF girin." @@ -2696,9 +3571,105 @@ msgstr "Telefon numaraları XXXX-XXXXXX formatında olmalıdır." msgid "Enter a valid postal code in the format XXXXXX" msgstr "XXXXXX formatında bir posta kodu girin." -#: contrib/localflavor/sk/forms.py:30 -msgid "Enter a postal code in the format XXXXX or XXX XX." -msgstr "XXXXX ya da XXX XX formatında bir posta kodu girin." +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "Geçerli bir İsveç organizasyon numarası girin." + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "Geçerli bir İsveç kimlik numarası girin." + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "Kordinat numaralarına izin verilmemektedir" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "XXXXX formatında geçerli bir İsveç posta kodu girin." + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "Stockholm" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "Västerbotten" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "Norrbotten" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "Uppsala" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "Södermanland" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "Östergötland" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "Jönköping" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "Kronoberg" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "Kalmar" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "Gotland" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "Blekinge" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "Skåne" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "Halland" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "Västra Götaland" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "Värmland" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "Örebro" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "Västmanland" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "Dalarna" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "Gävleborg" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "Västernorrland" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "Jämtland" #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" @@ -3332,19 +4303,44 @@ msgstr "İskoçya" msgid "Wales" msgstr "Wales" -#: contrib/localflavor/us/forms.py:16 +#: contrib/localflavor/us/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "XXXXX ya da XXXXX-XXXX biçiminde bir posta kodu yazın." -#: contrib/localflavor/us/forms.py:54 -msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." -msgstr "XXX-XX-XXXX formatında geçerli bir A.B.D. Sosyal Güvenlik Numarası giriniz." +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "Telefon numaraları XXX-XXX-XXXX formatında olmalıdır." -#: contrib/localflavor/za/forms.py:20 +#: contrib/localflavor/us/forms.py:55 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" +"XXX-XX-XXXX formatında geçerli bir A.B.D. Sosyal Güvenlik Numarası giriniz." + +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "ABD devlet veya bölge adı girin." + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "Şehir Kodu (iki karakter)" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Telefon numarası" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX formatında geçerli bir CI girin." + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "Geçerli bir CI numarası girin." + +#: contrib/localflavor/za/forms.py:21 msgid "Enter a valid South African ID number" msgstr "Geçerli bir Güney Afrika Cumhuriyeti kimlik numarası girin" -#: contrib/localflavor/za/forms.py:54 +#: contrib/localflavor/za/forms.py:55 msgid "Enter a valid South African postal code" msgstr "Geçerli bir Güney Afrika Cumhuriyeti posta kodu girin" @@ -3384,21 +4380,33 @@ msgstr "Kuzey Batı" msgid "Western Cape" msgstr "Batı Cape" +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "tembel mesaj" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "eski adres" #: contrib/redirects/models.py:8 -msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." -msgstr "Buraya tam dosya yolu, alan adı kullanılmadan yazılmalı. Örnek: '/events/search/'." +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Buraya tam dosya yolu, alan adı kullanılmadan yazılmalı. Örnek: '/events/" +"search/'." #: contrib/redirects/models.py:9 msgid "redirect to" msgstr "yeni adres" #: contrib/redirects/models.py:10 -msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." -msgstr "Buraya tam dosya yolu (yukarıdaki gibi), ya da 'http://' ile başlayan tam adres yazılmalı." +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Buraya tam dosya yolu (yukarıdaki gibi), ya da 'http://' ile başlayan tam " +"adres yazılmalı." #: contrib/redirects/models.py:13 msgid "redirect" @@ -3440,241 +4448,404 @@ msgstr "görünen isim" msgid "sites" msgstr "siteler" -#: db/models/fields/__init__.py:348 -#: db/models/fields/__init__.py:683 -msgid "This value must be an integer." -msgstr "Bu değer tamsayı olmalı." - -#: db/models/fields/__init__.py:379 -msgid "This value must be either True or False." -msgstr "Bu değer True ya da False olabilir." - -#: db/models/fields/__init__.py:412 -msgid "This field cannot be null." -msgstr "Bu alan boş bırakılamaz." - -#: db/models/fields/__init__.py:428 -msgid "Enter only digits separated by commas." -msgstr "Sadece virgülle ayrılmış sayılar girin." - -#: db/models/fields/__init__.py:459 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "YYYY-AA-GG formatında tarih girin." - -#: db/models/fields/__init__.py:468 -#, python-format -msgid "Invalid date: %s" -msgstr "Geçersiz tarih: %s" - -#: db/models/fields/__init__.py:532 -#: db/models/fields/__init__.py:550 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." -msgstr "YYYY-MM-DD HH:MM[:ss[.uuuuuu]] formatında geçerli bir tarih ve saat girin." - -#: db/models/fields/__init__.py:586 -msgid "This value must be a decimal number." -msgstr "Bu değer ondalık sayı olmalıdır." - -#: db/models/fields/__init__.py:719 -msgid "This value must be either None, True or False." -msgstr "Bu değer None, True ya da False olabilir." - -#: db/models/fields/__init__.py:817 -#: db/models/fields/__init__.py:831 -msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." -msgstr "HH:MM[:ss[.uuuuuu]] formatında geçerli bir saat girin." - -#: db/models/fields/related.py:761 -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:838 -#, 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." - -#: forms/fields.py:54 -msgid "This field is required." -msgstr "Bu alan zorunludur." - -#: forms/fields.py:55 +#: core/validators.py:20 forms/fields.py:66 msgid "Enter a valid value." msgstr "Geçerli bir değer girin." -#: forms/fields.py:138 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "Bu değerin en fazla %(max)d karakterden oluştuğundan emin olun (şu anki karakter sayısı: %(length)d)." - -#: forms/fields.py:139 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "Bu değerin en az %(min)d karakterden oluştuğundan emin olun (şu anki karakter sayısı: %(length)d)." - -#: forms/fields.py:166 -msgid "Enter a whole number." -msgstr "Tam sayı girin." - -#: forms/fields.py:167 -#: forms/fields.py:196 -#: forms/fields.py:225 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Bu değerin %s karakterden az veya eşit olduğundan emin ol." - -#: forms/fields.py:168 -#: forms/fields.py:197 -#: forms/fields.py:226 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Bu değerin %s karakterden çok veya eşit olduğundan emin ol." - -#: forms/fields.py:195 -#: forms/fields.py:224 -msgid "Enter a number." -msgstr "Bir sayı girin." - -#: forms/fields.py:227 -#, python-format -msgid "Ensure that there are no more than %s digits in total." -msgstr "Toplamda en fazla %s sayının olduğundan emin olun." - -#: forms/fields.py:228 -#, python-format -msgid "Ensure that there are no more than %s decimal places." -msgstr "En fazla %s onluk yerin olduğundan emin olun." - -#: forms/fields.py:229 -#, python-format -msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "Onluk kısımdan önce en fazla %s sayı olduğundan emin olun." - -#: forms/fields.py:287 -#: forms/fields.py:848 -msgid "Enter a valid date." -msgstr "Geçerli bir tarih girin." - -#: forms/fields.py:321 -#: forms/fields.py:849 -msgid "Enter a valid time." -msgstr "Geçerli bir zaman girin." - -#: forms/fields.py:360 -msgid "Enter a valid date/time." -msgstr "Geçerli bir tarih/zaman girin." - -#: forms/fields.py:446 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Dosya gönderilmedi. Formdaki kodlama türünü kontrol edin." - -#: forms/fields.py:447 -msgid "No file was submitted." -msgstr "Hiçbir dosya gönderilmedi." - -#: forms/fields.py:448 -msgid "The submitted file is empty." -msgstr "Gönderilen dosya boş." - -#: forms/fields.py:477 -msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." -msgstr "Geçerli bir resim girin. Gönderdiğiniz dosya resim değil, ya da bozuk bir dosya." - -#: forms/fields.py:538 +#: core/validators.py:87 forms/fields.py:529 msgid "Enter a valid URL." msgstr "Geçerli bir URL girin." -#: forms/fields.py:539 +#: core/validators.py:89 forms/fields.py:530 msgid "This URL appears to be a broken link." msgstr "Bu URL geçersiz bir link gibi duruyor." -#: forms/fields.py:618 -#: forms/fields.py:696 -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Geçerli bir seçimde bulunun; %(value)s mevcut değerlerden biri değil." +#: core/validators.py:123 forms/fields.py:873 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "Lütfen sadece harf, rakam, altçizgi veya çizgiden oluşan değer girin." -#: forms/fields.py:697 -#: forms/fields.py:758 -#: forms/models.py:654 -msgid "Enter a list of values." -msgstr "Değer listesi giriniz." - -#: forms/fields.py:877 +#: core/validators.py:126 forms/fields.py:866 msgid "Enter a valid IPv4 address." msgstr "Geçerli bir IPv4 adresi girin." -#: forms/fields.py:887 -msgid "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." -msgstr "Lütfen sadece harf, rakam, altçizgi veya çizgiden oluşan değer girin." +#: core/validators.py:129 db/models/fields/__init__.py:572 +msgid "Enter only digits separated by commas." +msgstr "Sadece virgülle ayrılmış sayılar girin." -#: forms/formsets.py:242 -#: forms/formsets.py:244 -msgid "Order" -msgstr "Sıralama" +#: core/validators.py:135 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" +"Bu değerin en az %(limit_value)s karakterden oluştuğundan emin olun (şu anki " +"karakter sayısı: %(show_value)s)." -#: forms/models.py:268 -#: forms/models.py:277 +#: core/validators.py:153 forms/fields.py:205 forms/fields.py:257 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" +"Bu değerin %(limit_value)s karakterden az veya eşit olduğundan emin olun." + +#: core/validators.py:158 forms/fields.py:206 forms/fields.py:258 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" +"Bu değerin %(limit_value)s karakterden çok veya eşit olduğundan emin olun." + +#: core/validators.py:164 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Bu değerin en az %(limit_value)d karakterden oluştuğundan emin olun (şu anki " +"karakter sayısı: %(show_value)d)." + +#: core/validators.py:170 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" +"Bu değerin en fazla %(limit_value)d karakterden oluştuğundan emin olun (şu " +"anki karakter sayısı: %(show_value)d)." + +#: db/models/base.py:822 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" +"%(field_name)s değeri %(date_field)s alanı %(lookup)s işlemi için tek " +"olmalıdır." + +#: db/models/base.py:837 db/models/base.py:845 #, python-format msgid "%(model_name)s with this %(field_label)s already exists." msgstr "%(field_label)s alanına sahip %(model_name)s zaten mevcuttur." -#: forms/models.py:584 -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." +#: db/models/fields/__init__.py:63 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "%r değerli geçerli bir seçim değil." -#: forms/models.py:655 +#: db/models/fields/__init__.py:64 +msgid "This field cannot be null." +msgstr "Bu alan boş bırakılamaz." + +#: db/models/fields/__init__.py:65 +msgid "This field cannot be blank." +msgstr "Bu alan boş bırakılamaz. " + +#: db/models/fields/__init__.py:70 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "Alan türü: %(field_type)s" + +#: db/models/fields/__init__.py:451 db/models/fields/__init__.py:852 +#: db/models/fields/__init__.py:961 db/models/fields/__init__.py:972 +#: db/models/fields/__init__.py:999 +msgid "Integer" +msgstr "Tamsayı" + +#: db/models/fields/__init__.py:455 db/models/fields/__init__.py:850 +msgid "This value must be an integer." +msgstr "Bu değer tamsayı olmalı." + +#: db/models/fields/__init__.py:490 +msgid "This value must be either True or False." +msgstr "Bu değer True ya da False olabilir." + +#: db/models/fields/__init__.py:492 +msgid "Boolean (Either True or False)" +msgstr "Mantıksal (True ya da False)" + +#: db/models/fields/__init__.py:539 db/models/fields/__init__.py:982 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Karakter disizi (en fazla %(max_length)s)" + +#: db/models/fields/__init__.py:567 +msgid "Comma-separated integers" +msgstr "Virgülle ayrılmış tamsayılar" + +#: db/models/fields/__init__.py:581 +msgid "Date (without time)" +msgstr "Tarih (saat yok)" + +#: db/models/fields/__init__.py:585 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "YYYY-AA-GG formatında tarih girin." + +#: db/models/fields/__init__.py:586 +#, python-format +msgid "Invalid date: %s" +msgstr "Geçersiz tarih: %s" + +#: db/models/fields/__init__.py:667 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "" +"YYYY-MM-DD HH:MM[:ss[.uuuuuu]] formatında geçerli bir tarih ve saat girin." + +#: db/models/fields/__init__.py:669 +msgid "Date (with time)" +msgstr "Tarih (saat var)" + +#: db/models/fields/__init__.py:735 +msgid "This value must be a decimal number." +msgstr "Bu değer ondalık sayı olmalıdır." + +#: db/models/fields/__init__.py:737 +msgid "Decimal number" +msgstr "Ondalık sayı:" + +#: db/models/fields/__init__.py:792 +msgid "E-mail address" +msgstr "E-posta adresi" + +#: db/models/fields/__init__.py:799 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Dosya yolu" + +#: db/models/fields/__init__.py:822 +msgid "This value must be a float." +msgstr "Bu değer ondalık sayı olmalı." + +#: db/models/fields/__init__.py:824 +msgid "Floating point number" +msgstr "Floating point rakamı" + +#: db/models/fields/__init__.py:883 +msgid "Big (8 byte) integer" +msgstr "Büyük (8 bayt) integer" + +#: db/models/fields/__init__.py:912 +msgid "This value must be either None, True or False." +msgstr "Bu değer None, True ya da False olabilir." + +#: db/models/fields/__init__.py:914 +msgid "Boolean (Either True, False or None)" +msgstr "Mantıksal (True, False, ya da None)" + +#: db/models/fields/__init__.py:1005 +msgid "Text" +msgstr "Metin" + +#: db/models/fields/__init__.py:1021 +msgid "Time" +msgstr "Saat" + +#: db/models/fields/__init__.py:1025 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "HH:MM[:ss[.uuuuuu]] formatında geçerli bir saat girin." + +#: db/models/fields/__init__.py:1109 +msgid "XML text" +msgstr "XML metni" + +#: db/models/fields/related.py:799 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "Birincil anahtarı %(pk)r olan %(model)s mevcut değil." + +#: db/models/fields/related.py:801 +msgid "Foreign Key (type determined by related field)" +msgstr "Yabancı Anahtar (türü ilişkili alana göre belirlenir)" + +#: db/models/fields/related.py:918 +msgid "One-to-one relationship" +msgstr "Bire-bir ilişki" + +#: db/models/fields/related.py:980 +msgid "Many-to-many relationship" +msgstr "Çoğa-çok ilişki" + +#: db/models/fields/related.py:1000 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"\"Ctrl\" (Mac'de \"Command\") tuşunu basılı tutularak birden fazla seçim " +"yapılabilir." + +#: db/models/fields/related.py:1061 +#, 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 %(self)s ID'ler giriniz. %(value)r değeri geçersizdir." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Bu alan zorunludur." + +#: forms/fields.py:204 +msgid "Enter a whole number." +msgstr "Tam sayı girin." + +#: forms/fields.py:235 forms/fields.py:256 +msgid "Enter a number." +msgstr "Bir sayı girin." + +#: forms/fields.py:259 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Toplamda en fazla %s sayının olduğundan emin olun." + +#: forms/fields.py:260 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "En fazla %s onluk yerin olduğundan emin olun." + +#: forms/fields.py:261 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Onluk kısımdan önce en fazla %s sayı olduğundan emin olun." + +#: forms/fields.py:323 forms/fields.py:838 +msgid "Enter a valid date." +msgstr "Geçerli bir tarih girin." + +#: forms/fields.py:351 forms/fields.py:839 +msgid "Enter a valid time." +msgstr "Geçerli bir zaman girin." + +#: forms/fields.py:377 +msgid "Enter a valid date/time." +msgstr "Geçerli bir tarih/zaman girin." + +#: forms/fields.py:435 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Dosya gönderilmedi. Formdaki kodlama türünü kontrol edin." + +#: forms/fields.py:436 +msgid "No file was submitted." +msgstr "Hiçbir dosya gönderilmedi." + +#: forms/fields.py:437 +msgid "The submitted file is empty." +msgstr "Gönderilen dosya boş." + +#: forms/fields.py:438 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" +"Bu dosya adının en fazla %(max)d karakterden oluştuğundan emin olun (şu anki " +"karakter sayısı: %(length)d)." + +#: forms/fields.py:473 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Geçerli bir resim girin. Gönderdiğiniz dosya resim değil, ya da bozuk bir " +"dosya." + +#: forms/fields.py:596 forms/fields.py:671 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Geçerli bir seçimde bulunun; %(value)s mevcut değerlerden biri değil." + +#: forms/fields.py:672 forms/fields.py:734 forms/models.py:1007 +msgid "Enter a list of values." +msgstr "Değer listesi giriniz." + +#: forms/formsets.py:298 forms/formsets.py:300 +msgid "Order" +msgstr "Sıralama" + +#: forms/models.py:567 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "Lütfen %(field)s alanları için mükerrer kayıt problemini düzeltin." + +#: forms/models.py:571 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" +"Lütfen %(field)s alanı için mükerrer verileri düzeltin, bunlar eşsiz " +"olmalıdır." + +#: forms/models.py:577 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" +"Lütfen %(field_name)s alanı için mükerrer verileri düzeltin, bunlar %" +"(date_field)s alanı %(lookup)s sorgulamaları için eşsiz olmalıdır." + +#: forms/models.py:585 +msgid "Please correct the duplicate values below." +msgstr "Lütfen aşağıdaki mükerrer kayıtları düzeltin." + +#: forms/models.py:860 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "" +"İçeride belirtilmiş yabancı anahtar ebeveyin nesnenin birincil anahtarı ile " +"uyuşmadı." + +#: forms/models.py:926 +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." + +#: forms/models.py:1008 #, 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." -#: template/defaultfilters.py:706 +#: forms/models.py:1010 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "\"%s\" birincil anahtar için geçerli bir değer değil." + +#: template/defaultfilters.py:781 msgid "yes,no,maybe" msgstr "evet,hayır,olabilir" -#: template/defaultfilters.py:737 +#: template/defaultfilters.py:812 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d bayt" -#: template/defaultfilters.py:739 +#: template/defaultfilters.py:814 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "%s KB" +msgstr "%s KB" -#: template/defaultfilters.py:741 +#: template/defaultfilters.py:816 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" +msgid "%s MB" +msgstr "%s MB" -#: template/defaultfilters.py:742 +#: template/defaultfilters.py:817 #, python-format -msgid "%.1f GB" -msgstr "%.1f GB" +msgid "%s GB" +msgstr "%s GB" -#: utils/dateformat.py:41 +#: utils/dateformat.py:42 msgid "p.m." msgstr "ö.s." -#: utils/dateformat.py:42 +#: utils/dateformat.py:43 msgid "a.m." msgstr "ö.ö." -#: utils/dateformat.py:47 +#: utils/dateformat.py:48 msgid "PM" msgstr "ÖS" -#: utils/dateformat.py:48 +#: utils/dateformat.py:49 msgid "AM" msgstr "ÖÖ" -#: utils/dateformat.py:97 +#: utils/dateformat.py:98 msgid "midnight" msgstr "gece yarısı" -#: utils/dateformat.py:99 +#: utils/dateformat.py:100 msgid "noon" msgstr "öğlen" @@ -3742,28 +4913,23 @@ msgstr "Ocak" msgid "February" msgstr "Şubat" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "March" msgstr "Mart" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "April" msgstr "Nisan" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "May" msgstr "Mayıs" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "June" msgstr "Haziran" -#: utils/dates.py:19 -#: utils/dates.py:31 +#: utils/dates.py:19 utils/dates.py:31 msgid "July" msgstr "Temmuz" @@ -3863,7 +5029,7 @@ msgstr "Kas." msgid "Dec." msgstr "Ara." -#: utils/text.py:128 +#: utils/text.py:130 msgid "or" msgstr "ya da" @@ -3871,80 +5037,77 @@ msgstr "ya da" msgid "year" msgid_plural "years" msgstr[0] "yıl" -msgstr[1] "yıl" #: utils/timesince.py:22 msgid "month" msgid_plural "months" msgstr[0] "ay" -msgstr[1] "ay" #: utils/timesince.py:23 msgid "week" msgid_plural "weeks" msgstr[0] "hafta" -msgstr[1] "hafta" #: utils/timesince.py:24 msgid "day" msgid_plural "days" msgstr[0] "gün" -msgstr[1] "gün" #: utils/timesince.py:25 msgid "hour" msgid_plural "hours" msgstr[0] "saat" -msgstr[1] "saat" #: utils/timesince.py:26 msgid "minute" msgid_plural "minutes" msgstr[0] "dakika" -msgstr[1] "dakika" -#: utils/timesince.py:43 +#: utils/timesince.py:45 msgid "minutes" msgstr "dakika" -#: utils/timesince.py:48 +#: utils/timesince.py:50 #, python-format msgid "%(number)d %(type)s" msgstr "%(number)d %(type)s" -#: utils/timesince.py:54 +#: utils/timesince.py:56 #, python-format msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:403 +#: utils/translation/trans_real.py:518 msgid "DATE_FORMAT" msgstr "j F Y" -#: utils/translation/trans_real.py:405 +#: utils/translation/trans_real.py:519 +msgid "DATETIME_FORMAT" +msgstr "j F Y, H:i" + +#: utils/translation/trans_real.py:520 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:421 +#: utils/translation/trans_real.py:541 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:422 +#: utils/translation/trans_real.py:542 msgid "MONTH_DAY_FORMAT" msgstr "j F" -#: views/generic/create_update.py:114 +#: views/generic/create_update.py:115 #, python-format msgid "The %(verbose_name)s was created successfully." msgstr "%(verbose_name)s başarıyla oluşturuldu." -#: views/generic/create_update.py:156 +#: views/generic/create_update.py:158 #, python-format msgid "The %(verbose_name)s was updated successfully." msgstr "%(verbose_name)s başarıyla güncellendi." -#: views/generic/create_update.py:198 +#: views/generic/create_update.py:201 #, python-format msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s silindi." - diff --git a/django/conf/locale/tr/LC_MESSAGES/djangojs.mo b/django/conf/locale/tr/LC_MESSAGES/djangojs.mo index 787daa49adcd5a794cdf0c7087018fd6dcea46a2..7a6fa8c5c61677c3bbe8413164bf4a02987c9759 100644 GIT binary patch delta 809 zcmZwE&ubGw6u|LGo7h^@R$G5n6y_4FNX*2d)>5?*3LX>$YmdS-+0>=`L$V7J6yrhk zEUOnm)RPxMi}cd=Q0RiUfapaEp1k=Nc=P+}3Kksp&1Yt3cyDHRtN3NG^L-@$T+zme zqr?xQM7+z<(Pny-I)^pfg>CG`hgif%*pE-M^%pqE{0$D^d)$qynJE^ScQLP2M}1{* zlNaAm5>?2~f|^7rbb(F^*H98)L5=e$`|jc--bYEif|6$qrErQqm+7Kha+*zjIFEVi zt6L0YV;!ZCpBdvG=J!x;`Xrk_!(ryHQ4a6{dDIHsbzDQ)UnH628_U!vg^%M9R`61T z!NqLh0iI|67`c) zXJa|`VM4Nx5(f!BliEv+5Ypr)%5`?M(s<-}Cn6m-b!ogF#0+`i)MKZi{=Zh(Ui@f! zUgn0XrfklX&1r3_Q&p2}^&Xks@oM6vnJ{MHs*U3ET+0TLXXCInrLQ@$8|a$vw!&sp zPuo9(nML2a-l=-%Cztc9<-g@C|D0^|t?Rk!hF!3?^;tE$z bF1fm~xt_lAoq!s)9i+=qx*XW#S7G5djc#^v delta 671 zcmZwEzb`{k6u|M@dP=M6NBxQz+QGz&TNR-(B1EMPB@xpj4UHmcOAJlAh{@8t*!U+{ zY&M%oOhh7)7%Ucp#Nd0LI~d&bywCl4PTzg^t&ic_bEkEtXnn*0@k9&~=RO`Z?N=&* z32eX#4C53w7{VWf)hA~l6V&-PZ_0f6%Tlc6KrDq%^^8wv02uG7@)q2dL5=${X5doWeH7 zvnUBxk)K-Ukwph(|0T*FzA@gS6u!dkuK=hn zLatXnm)we+led;8MS6%P_r(`Ycgqy5orrq9->kj#xf0cB=D1$(^*YR0?nbWRZ@W73 zU-%aExUDDcq>kxCDw!D4Nv%WKjJ=dUER+lTd-k+b$){qY`oDc?r(CgfC1, 2010. msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-09-30 01:31+0300\n" -"PO-Revision-Date: 2006-09-30 01:31+0300\n" -"Last-Translator: Bahadır Kandemir \n" +"POT-Creation-Date: 2010-05-02 01:10+0300\n" +"PO-Revision-Date: 2010-05-02 01:13+0300\n" +"Last-Translator: Metin Amiroff \n" "Language-Team: Bahadır Kandemir \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: contrib/admin/media/js/SelectFilter2.js:33 +#: contrib/admin/media/js/SelectFilter2.js:37 #, perl-format msgid "Available %s" -msgstr "Mevcut %s" +msgstr "Toplam %s" -#: contrib/admin/media/js/SelectFilter2.js:41 +#: contrib/admin/media/js/SelectFilter2.js:45 msgid "Choose all" msgstr "Hepsini seç" -#: contrib/admin/media/js/SelectFilter2.js:46 +#: contrib/admin/media/js/SelectFilter2.js:50 msgid "Add" msgstr "Ekle" -#: contrib/admin/media/js/SelectFilter2.js:48 +#: contrib/admin/media/js/SelectFilter2.js:52 msgid "Remove" msgstr "Kaldır" -#: contrib/admin/media/js/SelectFilter2.js:53 +#: contrib/admin/media/js/SelectFilter2.js:57 #, perl-format msgid "Chosen %s" msgstr "Seçilen %s" -#: contrib/admin/media/js/SelectFilter2.js:54 +#: contrib/admin/media/js/SelectFilter2.js:58 msgid "Select your choice(s) and click " -msgstr "Seçiminizi yapın ve tıklayın " +msgstr "Seçiminizi yapın ve yandaki düğmenin aynısına tıklayın " -#: contrib/admin/media/js/SelectFilter2.js:59 +#: contrib/admin/media/js/SelectFilter2.js:63 msgid "Clear all" msgstr "Hepsini temizle" -#: contrib/admin/media/js/dateparse.js:26 +#: contrib/admin/media/js/actions.js:17 +#: contrib/admin/media/js/actions.min.js:1 +msgid "%(sel)s of %(cnt)s selected" +msgid_plural "%(sel)s of %(cnt)s selected" +msgstr[0] "%(sel)s / %(cnt)s seçili" + #: 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 "Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım " -"Aralık" - -#: contrib/admin/media/js/dateparse.js:27 -msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" -msgstr "Pazar Pazartesi Salı Çarşamba Perşembe Cuma Cumartesi" +msgstr "" +"Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık" #: contrib/admin/media/js/calendar.js:25 msgid "S M T W T F S" msgstr "P P S Ç P C C" -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 -msgid "Now" -msgstr "Şimdi" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 -msgid "Clock" -msgstr "Saat" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 -msgid "Choose a time" -msgstr "Saat seçin" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 -msgid "Midnight" -msgstr "Geceyarısı" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 -msgid "6 a.m." -msgstr "Sabah 6" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 -msgid "Noon" -msgstr "Öğle" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 -msgid "Cancel" -msgstr "İptal" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 -msgid "Today" -msgstr "Bugün" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 -msgid "Calendar" -msgstr "Takvim" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 -msgid "Yesterday" -msgstr "Dün" - -#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 -msgid "Tomorrow" -msgstr "Yarın" - +#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 msgid "Show" msgstr "Göster" +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 msgid "Hide" msgstr "Gizle" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Pazar Pazartesi Salı Çarşamba Perşembe Cuma Cumartesi" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "Now" +msgstr "Şimdi" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53 +msgid "Clock" +msgstr "Saat" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Choose a time" +msgstr "Saat seçin" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 +msgid "Midnight" +msgstr "Geceyarısı" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 +msgid "6 a.m." +msgstr "Sabah 6" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +msgid "Noon" +msgstr "Öğle" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 +msgid "Cancel" +msgstr "İptal" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 +msgid "Today" +msgstr "Bugün" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 +msgid "Calendar" +msgstr "Takvim" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 +msgid "Yesterday" +msgstr "Dün" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 +msgid "Tomorrow" +msgstr "Yarın" diff --git a/django/conf/locale/tr/__init__.py b/django/conf/locale/tr/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/tr/formats.py b/django/conf/locale/tr/formats.py new file mode 100644 index 000000000..987298023 --- /dev/null +++ b/django/conf/locale/tr/formats.py @@ -0,0 +1,32 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'd F Y' +TIME_FORMAT = 'H:i:s' +DATETIME_FORMAT = 'd F Y H:i:s' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'd F' +SHORT_DATE_FORMAT = 'd M Y' +SHORT_DATETIME_FORMAT = 'd M Y H:i:s' +FIRST_DAY_OF_WEEK = 1 # Pazartesi +DATE_INPUT_FORMATS = ( + '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' + '%Y-%m-%d', '%y-%m-%d', # '2006-10-25', '06-10-25' + # '%d %B %Y', '%d %b. %Y', # '25 Ekim 2006', '25 Eki. 2006' +) +TIME_INPUT_FORMATS = ( + '%H:%M:%S', # '14:30:59' + '%H:%M', # '14:30' +) +DATETIME_INPUT_FORMATS = ( + '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' + '%d/%m/%Y %H:%M', # '25/10/2006 14:30' + '%d/%m/%Y', # '25/10/2006' + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' +) +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +NUMBER_GROUPING = 3 diff --git a/django/conf/locale/uk/LC_MESSAGES/django.mo b/django/conf/locale/uk/LC_MESSAGES/django.mo index 088549f2503cd714d84e0b3c7778164dc90e26a8..2bd542ff6de684b470d9247da0d413efc93b5cfb 100644 GIT binary patch delta 16319 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 wdgVsOrRu-4UhZk=D$Cu3fKbo;#DgXcg delta 16348 zcmXxr37n4A`^WM7nU%p`3x1AD3Q}&opzwByI zR4OV&5h{sLp_DDDg#16>=Uo5S>sRk{o%<};Irq8m=b4#)Z)^yEdqa56%YLNidF>zc zJlWlR2#XVEV|9EQ<1h~saEHamumJI|_!$0yY1r!_&ntyKhTsy6z~$y@3?*Lokmq}a zDQvO}yRZ=P$Ebn7Ku!1!7Q-7DjbRUaUO2{>rBMq=MD}5!u^8Fc^NL~uYT)Xq#G9k8cem?K;6r^s9Uzx+>M&}5Nd}`pjP@Ts@)yb z_)*y|kr>qYWwN>dx>psc&`N5c?qxb^z*eZtyP|GQZ`1^XP&+mb)$Rq<4lF{AlZSe$ z-at*f0o8vSYP`Lu1U}F9-6=gv#bzq5qY}#Fb=D0xU<15^gD_)&n_z{x8kNwSsGZx1 zTJb?FgWq9U{1cUEv4Jju1XKc*dJ799~6@Q-sw>KZb%bE{zp26_r^Bvj^T!{4ln`9L&IPEsh?{0VVE* zb#OV>#4nJK1Md!MCwe{ZdGR<3o8ufLVc$DIL5J`=OvgVk4O512FtHof#Yw1%H)AI} zZ`K{^d98_k)S>&t{1zJ#UqU6AGR!4195v2ttik-=ZVEl9_#GQ!vnSj=n~3d+7hx?t zi>0yHaL=oZRn2agN<0p=;+5DO|Hc%o|D;Ro5mf)DunNA2G0g96r=XP|z!rEHwIj_& zxO?^>Y756J54wbt@u9v1_#{l&4S? zyP^)`L`=pURASpP4Sz+gJZ7|8aRbzrXQNg+2GxE!*1^LVj)AA#(-DaUh)ZKftoRiB z&tkn1R20Hf7>2)C!^^0Q|FZf*PrK*57)DTE1|zWo_QEt&e;qX8)roH0S-Q0Xt$S_CRIY+v*=d4Kx_FqEV=c$65Vz7SAzrQ2m!!{2FSWbrx?! z&G)`fK@Im>#Ua!Rj#+%dJcC84zknh57pmVaR3af`-3~@!G;v8Rft4+;k4n5PY9XCb z3HVtQwDtW_84g1YJQmgPIaJ3v=6uwIFPke+?bf0O+>AwVyTyA^?LSA2dlWU^_eekA zJ7*1kvj#WJJJ_0r;p5znbU;ne)$ENLxF0HkL8yU8q82jNoPugM7u7Bo+v2O(PS5{& z3hG#MyvzJP)K<5|XR!xrfFl@-Col#tqgEPt#OVCL?ti{b%HM!Q2paM$-171+R+q? z{pu9dARYDQYlP*n87jkmsO!T}6Fr5x1roSKMz!CL>9`y9H2i@z z^!z70=Q?yib?Abcuor5=epWxk;*l0lG^e5_n1kAxg{VWf$l^R~P5e4)M=qhpPYT|8 z{#Av4)S)(N#SO7EwneQ--w}0vB&y>C)D})fwV#c8CBKY%j2EL0>lQ4Dd$19Hhh;Ht zimR`K)u{8@QBdY%P^WhSYT`NOBGkldQ3Gy7?aW@(mQ*bxd z#PeqCH15B)veh)VrR`A}ceS`bYNCOt1c##%8;>D49o2poD)CoP*H>D+9x>p@hJM=i}OiZ@=MW{3JHfqB6&Hbo^kE2$8%Hm6? z9r*)m;5}@LHT)UwS1iL(D_DvT;c8TaJJ=i>&Gfu1oQz3$+`Ng}+LE)}SE?qsi1>Nr ze_qmT-WB*iOvb8n+|QO>u`aPciGuFQW+W-^GV(H6tG@DOU?M^IZh7`3HiQ1@^$>Xy8S zn(#F&g&R=)J~0ns6!B5i)}Kb*!b_NhVK3?ybN?$-&>?DpIxO8#17@QJoM`n^F`M`$ z)C&Hz>k;!@LPbysRz&SkT~y+Y%vPv`I@8J!> zM7;-I#ZcU4*WX2r^D%0NK0~eedn|-EQ40#pcRO1E{lZj~q@XueB~*h9)Pzk?3AI5b z(gpR+=Rxd(!;yRFy@xuifd%fXRdcLQJO_14KSqta&*Cpp;~ihX{%e9CsLUu@g%B!LVY-IH

                                                        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 diff --git a/django/conf/locale/uk/LC_MESSAGES/django.po b/django/conf/locale/uk/LC_MESSAGES/django.po index d3fd66a89..f7793d820 100644 --- a/django/conf/locale/uk/LC_MESSAGES/django.po +++ b/django/conf/locale/uk/LC_MESSAGES/django.po @@ -4185,7 +4185,7 @@ msgstr "" #: .\forms\fields.py:139 .\newforms\fields.py:125 msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." msgstr "" -"Переконайтеся, що це значення має не менще %(max)d символів (зараз %(length)" +"Переконайтеся, що це значення має не менще %(min)d символів (зараз %(length)" "d)." #: .\forms\fields.py:167 .\forms\fields.py:196 .\forms\fields.py:225 @@ -4330,18 +4330,18 @@ msgstr[1] "%(size)d байтів" #: .\template\defaultfilters.py:776 #, python-format -msgid "%.1f KB" -msgstr "%.1f КБ" +msgid "%s KB" +msgstr "%s КБ" #: .\template\defaultfilters.py:778 #, python-format -msgid "%.1f MB" -msgstr "%.1f МБ" +msgid "%s MB" +msgstr "%s МБ" #: .\template\defaultfilters.py:779 #, python-format -msgid "%.1f GB" -msgstr "%.1f ГБ" +msgid "%s GB" +msgstr "%s ГБ" #: .\utils\dateformat.py:41 msgid "p.m." diff --git a/django/conf/locale/uk/__init__.py b/django/conf/locale/uk/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/uk/formats.py b/django/conf/locale/uk/formats.py new file mode 100644 index 000000000..8c01f3ddb --- /dev/null +++ b/django/conf/locale/uk/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = 'j F Y р.' +TIME_FORMAT = 'H:i:s' +# DATETIME_FORMAT = +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'j M Y' +# SHORT_DATETIME_FORMAT = +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = u' ' +# NUMBER_GROUPING = diff --git a/django/conf/locale/vi/LC_MESSAGES/django.mo b/django/conf/locale/vi/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..f0446261d56f2da326d98fae5e1c9076ce60933f GIT binary patch literal 33940 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 XKW5TfVocHoACDQEn{6|&n)m(>)f8)S literal 0 HcmV?d00001 diff --git a/django/conf/locale/vi/LC_MESSAGES/django.po b/django/conf/locale/vi/LC_MESSAGES/django.po new file mode 100644 index 000000000..8d03f350a --- /dev/null +++ b/django/conf/locale/vi/LC_MESSAGES/django.po @@ -0,0 +1,5058 @@ +# This file is distributed under the same license as the Django package. +# +msgid "" +msgstr "" +"Project-Id-Version: Django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-02-21 13:49+0100\n" +"PO-Revision-Date: 2010-02-07 16:11+0700\n" +"Last-Translator: Hung. NGUYEN Manh \n" +"Language-Team: Vietnamese \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" + +#: conf/global_settings.py:44 +msgid "Arabic" +msgstr "Tiếng Ả Rập" + +#: conf/global_settings.py:45 +msgid "Bulgarian" +msgstr "Tiếng Bun-ga-ri" + +#: conf/global_settings.py:46 +msgid "Bengali" +msgstr "" + +#: conf/global_settings.py:47 +msgid "Bosnian" +msgstr "" + +#: conf/global_settings.py:48 +msgid "Catalan" +msgstr "" + +#: conf/global_settings.py:49 +msgid "Czech" +msgstr "Séc" + +#: conf/global_settings.py:50 +msgid "Welsh" +msgstr "Xứ Wales" + +#: conf/global_settings.py:51 +msgid "Danish" +msgstr "Tiếng Đan Mạch" + +#: conf/global_settings.py:52 +msgid "German" +msgstr "Tiếng Đức" + +#: conf/global_settings.py:53 +msgid "Greek" +msgstr "Tiếng Hy Lạp" + +#: conf/global_settings.py:54 +msgid "English" +msgstr "Tiếng Anh" + +#: conf/global_settings.py:55 +msgid "Spanish" +msgstr "Tiếng Tây Ban Nha" + +#: conf/global_settings.py:56 +msgid "Argentinean Spanish" +msgstr "" + +#: conf/global_settings.py:57 +msgid "Estonian" +msgstr "Tiếng Estonia" + +#: conf/global_settings.py:58 +msgid "Basque" +msgstr "Tiếng Baxcơ" + +#: conf/global_settings.py:59 +msgid "Persian" +msgstr "Tiếng Ba Tư" + +#: conf/global_settings.py:60 +msgid "Finnish" +msgstr "Tiếng Phần Lan" + +#: conf/global_settings.py:61 +msgid "French" +msgstr "Tiếng Pháp" + +#: conf/global_settings.py:62 +msgid "Frisian" +msgstr "" + +#: conf/global_settings.py:63 +msgid "Irish" +msgstr "Tiếng Ai-len" + +#: conf/global_settings.py:64 +msgid "Galician" +msgstr "Tiếng Pháp cổ" + +#: conf/global_settings.py:65 +msgid "Hebrew" +msgstr "Tiếng Do Thái cổ" + +#: conf/global_settings.py:66 +msgid "Hindi" +msgstr "" + +#: conf/global_settings.py:67 +msgid "Croatian" +msgstr "Tiếng Croatia" + +#: conf/global_settings.py:68 +msgid "Hungarian" +msgstr "Tiếng Hung-ga-ri" + +#: conf/global_settings.py:69 +msgid "Icelandic" +msgstr "Tiếng Aixơlen" + +#: conf/global_settings.py:70 +msgid "Italian" +msgstr "Tiếng Ý" + +#: conf/global_settings.py:71 +msgid "Japanese" +msgstr "Tiếng Nhật Bản" + +#: conf/global_settings.py:72 +msgid "Georgian" +msgstr "" + +#: conf/global_settings.py:73 +msgid "Khmer" +msgstr "Tiếng Khơ-me" + +#: conf/global_settings.py:74 +msgid "Kannada" +msgstr "Tiếng Kannada" + +#: conf/global_settings.py:75 +msgid "Korean" +msgstr "Tiếng Hàn Quốc" + +#: conf/global_settings.py:76 +msgid "Lithuanian" +msgstr "Tiếng Lat-vi" + +#: conf/global_settings.py:77 +msgid "Latvian" +msgstr "Ngôn ngữ vùng Bantic" + +#: conf/global_settings.py:78 +msgid "Macedonian" +msgstr "Tiếng Maxêđôni" + +#: conf/global_settings.py:79 +msgid "Dutch" +msgstr "Tiếng Hà Lan" + +#: conf/global_settings.py:80 +msgid "Norwegian" +msgstr "Tiếng Nauy" + +#: conf/global_settings.py:81 +msgid "Polish" +msgstr "Tiếng Ba lan" + +#: conf/global_settings.py:82 +msgid "Portuguese" +msgstr "" + +#: conf/global_settings.py:83 +msgid "Brazilian Portuguese" +msgstr "" + +#: conf/global_settings.py:84 +msgid "Romanian" +msgstr "Tiếng Ru-ma-ni" + +#: conf/global_settings.py:85 +msgid "Russian" +msgstr "Tiếng Nga" + +#: conf/global_settings.py:86 +msgid "Slovak" +msgstr "Ngôn ngữ Slô-vac" + +#: conf/global_settings.py:87 +msgid "Slovenian" +msgstr "Tiếng Slôven" + +#: conf/global_settings.py:88 +msgid "Albanian" +msgstr "" + +#: conf/global_settings.py:89 +msgid "Serbian" +msgstr "Tiếng Xéc-bi" + +#: conf/global_settings.py:90 +msgid "Serbian Latin" +msgstr "" + +#: conf/global_settings.py:91 +msgid "Swedish" +msgstr "Tiếng Thụy Điển" + +#: conf/global_settings.py:92 +msgid "Tamil" +msgstr "Tiếng Ta-min" + +#: conf/global_settings.py:93 +msgid "Telugu" +msgstr "" + +#: conf/global_settings.py:94 +msgid "Thai" +msgstr "" + +#: conf/global_settings.py:95 +msgid "Turkish" +msgstr "Tiếng Thổ Nhĩ Kỳ" + +#: conf/global_settings.py:96 +msgid "Ukrainian" +msgstr "Tiếng Ukraina" + +#: conf/global_settings.py:97 +#, fuzzy +msgid "Vietnamese" +msgstr "Thành phố Viên" + +#: conf/global_settings.py:98 +msgid "Simplified Chinese" +msgstr "Tiếng Trung Hoa giản thể" + +#: conf/global_settings.py:99 +msgid "Traditional Chinese" +msgstr "Tiếng Trung Hoa truyền thống" + +#: contrib/admin/actions.py:60 +#, python-format +msgid "Successfully deleted %(count)d %(items)s." +msgstr "" + +#: contrib/admin/actions.py:67 contrib/admin/options.py:1096 +msgid "Are you sure?" +msgstr "Bạn có chắc chắn không?" + +#: contrib/admin/actions.py:85 +#, python-format +msgid "Delete selected %(verbose_name_plural)s" +msgstr "" + +#: contrib/admin/filterspecs.py:44 +#, python-format +msgid "" +"

                                                        By %s:

                                                        \n" +"
                                                          \n" +msgstr "" + +#: contrib/admin/filterspecs.py:75 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "Tất cả" + +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "Bất kì ngày nào" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "Hôm nay" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "7 ngày về trước" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "Tháng này" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "Năm nay" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:435 +msgid "Yes" +msgstr "Có" + +#: contrib/admin/filterspecs.py:147 forms/widgets.py:435 +msgid "No" +msgstr "Không" + +#: contrib/admin/filterspecs.py:154 forms/widgets.py:435 +msgid "Unknown" +msgstr "Chưa xác định" + +#: contrib/admin/helpers.py:19 +msgid "Action:" +msgstr "" + +#: contrib/admin/models.py:19 +msgid "action time" +msgstr "Thời gian tác động" + +#: contrib/admin/models.py:22 +msgid "object id" +msgstr "" + +#: contrib/admin/models.py:23 +msgid "object repr" +msgstr "" + +#: contrib/admin/models.py:24 +msgid "action flag" +msgstr "" + +#: contrib/admin/models.py:25 +msgid "change message" +msgstr "Thay đổi tin nhắn" + +#: contrib/admin/models.py:28 +msgid "log entry" +msgstr "" + +#: contrib/admin/models.py:29 +msgid "log entries" +msgstr "" + +#: contrib/admin/options.py:139 contrib/admin/options.py:154 +msgid "None" +msgstr "Không" + +#: contrib/admin/options.py:558 +#, python-format +msgid "Changed %s." +msgstr "%s đã được thay đổi." + +#: contrib/admin/options.py:558 contrib/admin/options.py:568 +#: contrib/comments/templates/comments/preview.html:16 db/models/base.py:797 +#: forms/models.py:544 +msgid "and" +msgstr "và" + +#: contrib/admin/options.py:563 +#, python-format +msgid "Added %(name)s \"%(object)s\"." +msgstr "%(name)s \"%(object)s\" đã được thêm vào." + +#: contrib/admin/options.py:567 +#, python-format +msgid "Changed %(list)s for %(name)s \"%(object)s\"." +msgstr "%(list)s for %(name)s \"%(object)s\" đã được thay đổi." + +#: contrib/admin/options.py:572 +#, python-format +msgid "Deleted %(name)s \"%(object)s\"." +msgstr "%(name)s \"%(object)s\" đã bị xóa." + +#: contrib/admin/options.py:576 +msgid "No fields changed." +msgstr "Không có trường nào thay đổi" + +#: contrib/admin/options.py:642 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" được thêm vào thành công." + +#: contrib/admin/options.py:646 contrib/admin/options.py:679 +msgid "You may edit it again below." +msgstr "Bạn có thể sửa lại dưới đây." + +#: contrib/admin/options.py:656 contrib/admin/options.py:689 +#, python-format +msgid "You may add another %s below." +msgstr "Bạn có thể thêm vào %s dưới đây." + +#: contrib/admin/options.py:677 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" đã được thay đổi thành công." + +#: contrib/admin/options.py:685 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"%(name)s \"%(obj)s\" đã được thêm vào thành công. Bạn có thể sửa lại dưới " +"đây." + +#: contrib/admin/options.py:738 +msgid "" +"Items must be selected in order to perform actions on them. No items have " +"been changed." +msgstr "" + +#: contrib/admin/options.py:756 +msgid "No action selected." +msgstr "" + +#: contrib/admin/options.py:836 +#, python-format +msgid "Add %s" +msgstr "Thêm %s" + +#: contrib/admin/options.py:862 contrib/admin/options.py:1074 +#, python-format +msgid "%(name)s object with primary key %(key)r does not exist." +msgstr "" + +#: contrib/admin/options.py:927 +#, python-format +msgid "Change %s" +msgstr "Thay đổi %s" + +#: contrib/admin/options.py:972 +msgid "Database error" +msgstr "Cơ sở dữ liệu bị lỗi" + +#: contrib/admin/options.py:1008 +#, python-format +msgid "%(count)s %(name)s was changed successfully." +msgid_plural "%(count)s %(name)s were changed successfully." +msgstr[0] "" +msgstr[1] "" + +#: contrib/admin/options.py:1089 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" đã được xóa thành công." + +#: contrib/admin/options.py:1126 +#, python-format +msgid "Change history: %s" +msgstr "Thay đổi bản ghi: %s" + +#: contrib/admin/sites.py:22 contrib/admin/views/decorators.py:14 +#: contrib/auth/forms.py:81 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "Hãy nhập đúng tên đăng nhập và mật khẩu. Chú ý chữ hoa, chữ thường." + +#: contrib/admin/sites.py:310 contrib/admin/views/decorators.py:40 +msgid "Please log in again, because your session has expired." +msgstr "Hãy đăng nhập lại vì giao dịch của bạn đã hết hiệu lực" + +#: contrib/admin/sites.py:317 contrib/admin/views/decorators.py:47 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" + +#: contrib/admin/sites.py:333 contrib/admin/sites.py:339 +#: contrib/admin/views/decorators.py:66 +msgid "Usernames cannot contain the '@' character." +msgstr "Tên đăng nhập không thể chứa kí tự '@'." + +#: contrib/admin/sites.py:336 contrib/admin/views/decorators.py:62 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "Địa chỉ email của bạn không phải là tên đăng nhập. Hãy thử '%s'." + +#: contrib/admin/sites.py:392 +msgid "Site administration" +msgstr "Site quản trị hệ thống." + +#: contrib/admin/sites.py:406 contrib/admin/templates/admin/login.html:26 +#: contrib/admin/templates/registration/password_reset_complete.html:14 +#: contrib/admin/views/decorators.py:20 +msgid "Log in" +msgstr "Đăng nhập" + +#: contrib/admin/sites.py:451 +#, python-format +msgid "%s administration" +msgstr "%s quản trị" + +#: contrib/admin/util.py:170 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Một hoặc nhiều hơn %(fieldname)s trong %(name)s: %(obj)s" + +#: contrib/admin/util.py:175 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Một hoặc nhiều hơn %(fieldname)s trong %(name)s:" + +#: contrib/admin/widgets.py:75 +msgid "Date:" +msgstr "Ngày:" + +#: contrib/admin/widgets.py:75 +msgid "Time:" +msgstr "Giờ:" + +#: contrib/admin/widgets.py:99 +msgid "Currently:" +msgstr "Hiện tại:" + +#: contrib/admin/widgets.py:99 +msgid "Change:" +msgstr "Thay đổi:" + +#: contrib/admin/widgets.py:129 +msgid "Lookup" +msgstr "Tìm" + +#: contrib/admin/widgets.py:241 +msgid "Add Another" +msgstr "Thêm vào" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Không tìm thấy trang nào" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Xin lỗi bạn! Trang mà bạn yêu cầu không tìm thấy." + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/app_index.html:8 +#: contrib/admin/templates/admin/base.html:54 +#: contrib/admin/templates/admin/change_form.html:18 +#: contrib/admin/templates/admin/change_list.html:39 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:6 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: 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:5 +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Home" +msgstr "" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Lỗi máy chủ" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Lỗi máy chủ (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Lỗi máy chủ (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 "" +"Xảy ra lỗi. Lỗi này sẽ được gửi tới quản trị hệ thống qua email và sẽ sớm " +"được sửa chữa. Xin cảm ơn về sựu kiên nhẫn của bạn." + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Run the selected action" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:4 +msgid "Go" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:7 +#, python-format +msgid "" +"0 of %(total_count)s %(module_name)s selected" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:11 +#, python-format +msgid "All %(total_count)s %(module_name)s selected" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:14 +msgid "Click here to select all objects across all pages" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:14 +#, python-format +msgid "Select all %(total_count)s %(module_name)s" +msgstr "" + +#: contrib/admin/templates/admin/actions.html:16 +msgid "Clear selection" +msgstr "" + +#: contrib/admin/templates/admin/app_index.html:10 +#: contrib/admin/templates/admin/index.html:19 +#, python-format +msgid "%(name)s" +msgstr "" + +#: contrib/admin/templates/admin/base.html:27 +msgid "Welcome," +msgstr "Chào mừng bạn," + +#: contrib/admin/templates/admin/base.html:32 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "" + +#: contrib/admin/templates/admin/base.html:40 +#: contrib/admin/templates/admin/auth/user/change_password.html:15 +#: contrib/admin/templates/admin/auth/user/change_password.html:48 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Change password" +msgstr "Thay đổi mật khẩu" + +#: contrib/admin/templates/admin/base.html:47 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:4 +msgid "Log out" +msgstr "Thoát" + +#: 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/change_form.html:21 +#: contrib/admin/templates/admin/index.html:29 +msgid "Add" +msgstr "Thêm vào" + +#: contrib/admin/templates/admin/change_form.html:28 +#: contrib/admin/templates/admin/object_history.html:10 +msgid "History" +msgstr "Bản ghi nhớ" + +#: contrib/admin/templates/admin/change_form.html:29 +#: contrib/admin/templates/admin/edit_inline/stacked.html:9 +#: contrib/admin/templates/admin/edit_inline/tabular.html:28 +msgid "View on site" +msgstr "" + +#: contrib/admin/templates/admin/change_form.html:39 +#: contrib/admin/templates/admin/change_list.html:68 +#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/registration/password_change_form.html:15 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Hãy sửa lỗi sai dưới đây" +msgstr[1] "Hãy sửa lại những lỗi sai dưới đây" + +#: contrib/admin/templates/admin/change_list.html:60 +#, python-format +msgid "Add %(name)s" +msgstr "Thêm vào %(name)s" + +#: contrib/admin/templates/admin/change_list.html:79 +msgid "Filter" +msgstr "Bộ lọc" + +#: contrib/admin/templates/admin/delete_confirmation.html:10 +#: contrib/admin/templates/admin/submit_line.html:4 forms/formsets.py:294 +msgid "Delete" +msgstr "Xóa" + +#: contrib/admin/templates/admin/delete_confirmation.html:16 +#, 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 "" +"Xóa %(object_name)s '%(escaped_object)s' sẽ làm mất những dữ liệu có liên " +"quan. Tài khoản của bạn không được cấp quyển xóa những dữ liệu đi kèm theo." + +#: contrib/admin/templates/admin/delete_confirmation.html:23 +#, 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 "" +"Bạn có chắc là muốn xóa %(object_name)s \"%(escaped_object)s\"?Tất cả những " +"dữ liệu đi kèm dưới đây cũng sẽ bị mất:" + +#: contrib/admin/templates/admin/delete_confirmation.html:28 +#: contrib/admin/templates/admin/delete_selected_confirmation.html:33 +msgid "Yes, I'm sure" +msgstr "Có, tôi chắc chắn." + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:9 +msgid "Delete multiple objects" +msgstr "" + +#: contrib/admin/templates/admin/delete_selected_confirmation.html:15 +#, python-format +msgid "" +"Deleting the %(object_name)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_selected_confirmation.html:22 +#, python-format +msgid "" +"Are you sure you want to delete the selected %(object_name)s objects? All of " +"the following objects and their related items will be deleted:" +msgstr "" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "" + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "" + +#: contrib/admin/templates/admin/index.html:35 +msgid "Change" +msgstr "Thay đổi" + +#: contrib/admin/templates/admin/index.html:45 +msgid "You don't have permission to edit anything." +msgstr "Bạn không được cấp quyền chỉnh sửa bất cứ cái gì." + +#: contrib/admin/templates/admin/index.html:53 +msgid "Recent Actions" +msgstr "" + +#: contrib/admin/templates/admin/index.html:54 +msgid "My Actions" +msgstr "" + +#: contrib/admin/templates/admin/index.html:58 +msgid "None available" +msgstr "Không có gì tồn tại" + +#: contrib/admin/templates/admin/index.html:72 +msgid "Unknown content" +msgstr "" + +#: 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 "" + +#: contrib/admin/templates/admin/login.html:19 +msgid "Username:" +msgstr "Tên đăng nhập:" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Password:" +msgstr "Mật khẩu:" + +#: contrib/admin/templates/admin/object_history.html:22 +msgid "Date/time" +msgstr "Ngày/giờ" + +#: contrib/admin/templates/admin/object_history.html:23 +msgid "User" +msgstr "Người dùng" + +#: contrib/admin/templates/admin/object_history.html:24 +msgid "Action" +msgstr "Hành động" + +#: contrib/admin/templates/admin/object_history.html:38 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Hiện tất cả" + +#: contrib/admin/templates/admin/pagination.html:11 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Save" +msgstr "Lưu lại" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Search" +msgstr "" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "Một kết quả" +msgstr[1] "%(counter)s kết quả" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save as new" +msgstr "Lưu mới" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and add another" +msgstr "Lưu và thêm vào" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save and continue editing" +msgstr "Lưu và tiếp tục chỉnh sửa" + +#: contrib/admin/templates/admin/auth/user/add_form.html:5 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Đầu tiên, điền tên đăng nhập và mật khẩu. Sau đó mới có thể chỉnh sửa thêm " +"nhiều user khác." + +#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Hãy nhập mật khẩu mới cho người sử dụng %(username)s." + +#: contrib/admin/templates/admin/auth/user/change_password.html:35 +#: contrib/auth/forms.py:17 contrib/auth/forms.py:61 contrib/auth/forms.py:186 +msgid "Password" +msgstr "Mật khẩu" + +#: contrib/admin/templates/admin/auth/user/change_password.html:41 +#: contrib/admin/templates/registration/password_change_form.html:37 +#: contrib/auth/forms.py:187 +msgid "Password (again)" +msgstr "Nhập lại mật khẩu" + +#: contrib/admin/templates/admin/auth/user/change_password.html:42 +#: contrib/auth/forms.py:19 +msgid "Enter the same password as above, for verification." +msgstr "Nhập dãy mật mã trên để xác minh lại" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:53 +#: contrib/admin/templates/admin/edit_inline/tabular.html:99 +#, python-format +msgid "Add another %(verbose_name)s" +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/stacked.html:56 +#: contrib/admin/templates/admin/edit_inline/tabular.html:102 +#: contrib/comments/templates/comments/delete.html:12 +msgid "Remove" +msgstr "" + +#: contrib/admin/templates/admin/edit_inline/tabular.html:15 +msgid "Delete?" +msgstr "Bạn muốn xóa?" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Cảm ơn bạn đã dành thời gian với website này" + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Đăng nhập lại" + +#: contrib/admin/templates/registration/password_change_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:7 +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "Password change" +msgstr "Thay đổi mật khẩu" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Mật khẩu được thay đổi thành công" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Mật khẩu của bạn đã được thay đổi" + +#: contrib/admin/templates/registration/password_change_form.html:21 +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 "" +"Hãy nhập lại mật khẩu cũ và sau đó nhập mật khẩu mới hai lần để chúng tôi có " +"thể kiểm tra lại xem bạn đã gõ chính xác hay chưa." + +#: contrib/admin/templates/registration/password_change_form.html:27 +#: contrib/auth/forms.py:170 +msgid "Old password" +msgstr "Mật khẩu cũ" + +#: contrib/admin/templates/registration/password_change_form.html:32 +#: contrib/auth/forms.py:144 +msgid "New password" +msgstr "Mật khẩu mới" + +#: contrib/admin/templates/registration/password_change_form.html:43 +#: contrib/admin/templates/registration/password_reset_confirm.html:21 +msgid "Change my password" +msgstr "Thay đổi mật khẩu" + +#: contrib/admin/templates/registration/password_reset_complete.html:4 +#: contrib/admin/templates/registration/password_reset_confirm.html:6 +#: 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 "Lập lại mật khẩu" + +#: contrib/admin/templates/registration/password_reset_complete.html:6 +#: contrib/admin/templates/registration/password_reset_complete.html:10 +msgid "Password reset complete" +msgstr "Hoàn thành việc lập lại mật khẩu" + +#: contrib/admin/templates/registration/password_reset_complete.html:12 +msgid "Your password has been set. You may go ahead and log in now." +msgstr "Mật khẩu của bạn đã được lập lại. Bạn hãy thử đăng nhập." + +#: contrib/admin/templates/registration/password_reset_confirm.html:4 +msgid "Password reset confirmation" +msgstr "Xác nhận việc lập lại mật khẩu" + +#: contrib/admin/templates/registration/password_reset_confirm.html:12 +msgid "Enter new password" +msgstr "Nhập mật khẩu mới" + +#: contrib/admin/templates/registration/password_reset_confirm.html:14 +msgid "" +"Please enter your new password twice so we can verify you typed it in " +"correctly." +msgstr "" +"Hãy nhập mật khẩu mới hai lần để chúng tôi có thể kiểm tra xem bạn đã gõ " +"chính xác chưa" + +#: contrib/admin/templates/registration/password_reset_confirm.html:18 +msgid "New password:" +msgstr "Mật khẩu mới" + +#: contrib/admin/templates/registration/password_reset_confirm.html:20 +msgid "Confirm password:" +msgstr "Nhập lại mật khẩu:" + +#: contrib/admin/templates/registration/password_reset_confirm.html:26 +msgid "Password reset unsuccessful" +msgstr "Lập lại mật khẩu không thành công" + +#: contrib/admin/templates/registration/password_reset_confirm.html:28 +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new 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 "Lấy lại mật khẩu thành công" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed you instructions for setting your password to the e-mail " +"address you submitted. You should be receiving it shortly." +msgstr "" +"Chúng tôi vừa gửi cho bạn những hướng dẫn để bạn lập lại mất khẩu tới địa " +"chỉ email bạn đã đăng kí. Bạn sẽ nhận được nó trong chốc lát." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Bạn nhận được email này vì bạn đã yêu cầu lập lại mật khẩu" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "cho tài khoản của bạn ở %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +msgid "Please go to the following page and choose a new password:" +msgstr "Hãy vào đường link dưới đây và chọn một mật khẩu mới" + +#: contrib/admin/templates/registration/password_reset_email.html:9 +msgid "Your username, in case you've forgotten:" +msgstr "Tên đăng nhập của bạn(nếu bạn có quên nó):" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Thanks for using our site!" +msgstr "Cảm ơn bạn đã sử dụng website của chúng tôi!" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll e-mail " +"instructions for setting a new one." +msgstr "" +"Quên mật khẩu? Nhập địa chỉ email của bạn vào bên dưới, chúng tôi sẽ gửi " +"những hướng dẫn để làm lại mật khẩu mới." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Địa chỉ email:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Làm lại mật khẩu" + +#: contrib/admin/templatetags/admin_list.py:240 +msgid "All dates" +msgstr "Tất cả các ngày" + +#: contrib/admin/views/main.py:70 +#, python-format +msgid "Select %s" +msgstr "Chọn %s" + +#: contrib/admin/views/main.py:70 +#, python-format +msgid "Select %s to change" +msgstr "Chọn %s để thay đổi" + +#: contrib/admin/views/template.py:38 contrib/sites/models.py:38 +msgid "site" +msgstr "" + +#: contrib/admin/views/template.py:40 +msgid "template" +msgstr "Mẫu" + +#: contrib/admindocs/views.py:61 contrib/admindocs/views.py:63 +#: contrib/admindocs/views.py:65 +msgid "tag:" +msgstr "Nhãn:" + +#: contrib/admindocs/views.py:94 contrib/admindocs/views.py:96 +#: contrib/admindocs/views.py:98 +msgid "filter:" +msgstr "Lọc:" + +#: contrib/admindocs/views.py:158 contrib/admindocs/views.py:160 +#: contrib/admindocs/views.py:162 +msgid "view:" +msgstr "Xem:" + +#: contrib/admindocs/views.py:190 +#, python-format +msgid "App %r not found" +msgstr "Ứng dụng %r không tìm thấy" + +#: contrib/admindocs/views.py:197 +#, python-format +msgid "Model %(model_name)r not found in app %(app_label)r" +msgstr "Mẫu %(model_name)r không tìm thấy trong ứng dụng %(app_label)r" + +#: contrib/admindocs/views.py:209 +#, python-format +msgid "the related `%(app_label)s.%(data_type)s` object" +msgstr "" + +#: contrib/admindocs/views.py:209 contrib/admindocs/views.py:228 +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:247 +#: contrib/admindocs/views.py:261 contrib/admindocs/views.py:266 +msgid "model:" +msgstr "mẫu:" + +#: contrib/admindocs/views.py:224 contrib/admindocs/views.py:256 +#, python-format +msgid "related `%(app_label)s.%(object_name)s` objects" +msgstr "liên quan tới đối tượng `%(app_label)s.%(object_name)s`" + +#: contrib/admindocs/views.py:228 contrib/admindocs/views.py:261 +#, python-format +msgid "all %s" +msgstr "Tất cả %s" + +#: contrib/admindocs/views.py:233 contrib/admindocs/views.py:266 +#, python-format +msgid "number of %s" +msgstr "số của %s" + +#: contrib/admindocs/views.py:271 +#, python-format +msgid "Fields on %s objects" +msgstr "" + +#: contrib/admindocs/views.py:361 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

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

                                                          \n" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "Hiện ID" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "Sửa lại đối tượng này (ở cửa sổ hiện tại)" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "Sửa lại đối tượng này (trong cửa sổ mới)" + +#: contrib/admindocs/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "Như trên nhưng mở trang quản trị ở một cửa sổ mới." + +#: contrib/auth/admin.py:29 +msgid "Personal info" +msgstr "Thông tin cá nhân" + +#: contrib/auth/admin.py:30 +msgid "Permissions" +msgstr "" + +#: contrib/auth/admin.py:31 +msgid "Important dates" +msgstr "Những ngày quan trọng" + +#: contrib/auth/admin.py:32 +msgid "Groups" +msgstr "Các nhóm" + +#: contrib/auth/admin.py:114 +msgid "Password changed successfully." +msgstr "Mật khẩu thay đổi thành công" + +#: contrib/auth/admin.py:124 +#, python-format +msgid "Change password: %s" +msgstr "Thay đổi mật khẩu: %s" + +#: contrib/auth/forms.py:14 contrib/auth/forms.py:48 contrib/auth/forms.py:60 +msgid "Username" +msgstr "Tên đăng nhập" + +#: contrib/auth/forms.py:15 contrib/auth/forms.py:49 +#: contrib/auth/models.py:180 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Nhập nhiều nhất là 30 ký tự. Chỉ sử dụng kiểu ký tự là chữ, con số hoặc dấu " +"gạch dưới." + +#: contrib/auth/forms.py:16 contrib/auth/forms.py:50 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Giá trị này chỉ chứa chữ cái, số và dấu gạch dưới" + +#: contrib/auth/forms.py:18 +msgid "Password confirmation" +msgstr "Xác nhận mật khẩu" + +#: contrib/auth/forms.py:31 +msgid "A user with that username already exists." +msgstr "Tên đăng nhập đã được sử dụng" + +#: contrib/auth/forms.py:37 contrib/auth/forms.py:156 +#: contrib/auth/forms.py:198 +msgid "The two password fields didn't match." +msgstr "Hai trường mật khẩu không giống nhau" + +#: contrib/auth/forms.py:83 +msgid "This account is inactive." +msgstr "Tài khoản này chưa được kích hoạt." + +#: contrib/auth/forms.py:88 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" + +#: contrib/auth/forms.py:101 +msgid "E-mail" +msgstr "E-mail" + +#: contrib/auth/forms.py:110 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Không tìm thấy địa chỉ email này trong các tài khoản đã có. Bạn có chắc là " +"đã đăng kí không?" + +#: contrib/auth/forms.py:136 +#, python-format +msgid "Password reset on %s" +msgstr "" + +#: contrib/auth/forms.py:145 +msgid "New password confirmation" +msgstr "Xác nhận mật khẩu mới" + +#: contrib/auth/forms.py:178 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Mật khẩu cũ không chính xác. Hãy nhập lại lần nữa" + +#: contrib/auth/models.py:66 contrib/auth/models.py:94 +msgid "name" +msgstr "Tên" + +#: contrib/auth/models.py:68 +msgid "codename" +msgstr "" + +#: contrib/auth/models.py:72 +msgid "permission" +msgstr "" + +#: contrib/auth/models.py:73 contrib/auth/models.py:95 +msgid "permissions" +msgstr "" + +#: contrib/auth/models.py:98 +msgid "group" +msgstr "Nhóm" + +#: contrib/auth/models.py:99 contrib/auth/models.py:190 +msgid "groups" +msgstr "Các nhóm" + +#: contrib/auth/models.py:180 +msgid "username" +msgstr "Tên đăng nhập" + +#: contrib/auth/models.py:181 +msgid "first name" +msgstr "Tên" + +#: contrib/auth/models.py:182 +msgid "last name" +msgstr "Họ" + +#: contrib/auth/models.py:183 +msgid "e-mail address" +msgstr "Địa chỉ email" + +#: contrib/auth/models.py:184 +msgid "password" +msgstr "Mật khẩu" + +#: contrib/auth/models.py:184 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" + +#: contrib/auth/models.py:185 +msgid "staff status" +msgstr "" + +#: contrib/auth/models.py:185 +msgid "Designates whether the user can log into this admin site." +msgstr "Chỉ định người dùng nào được phép truy cập vào trang admin." + +#: contrib/auth/models.py:186 +msgid "active" +msgstr "Kích hoạt" + +#: contrib/auth/models.py:186 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" + +#: contrib/auth/models.py:187 +msgid "superuser status" +msgstr "" + +#: contrib/auth/models.py:187 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" + +#: contrib/auth/models.py:188 +msgid "last login" +msgstr "Lần cuối đăng nhập" + +#: contrib/auth/models.py:189 +msgid "date joined" +msgstr "Ngày tham gia" + +#: contrib/auth/models.py:191 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"Bên cạnh các quyền đã mặc định khi đăng kí, người dùng sẽ được cấp thêm các " +"quyền của các nhóm mà người đó tham gia vào." + +#: contrib/auth/models.py:192 +msgid "user permissions" +msgstr "quyền của người sử dụng" + +#: contrib/auth/models.py:196 contrib/comments/models.py:50 +#: contrib/comments/models.py:168 +msgid "user" +msgstr "Người dùng" + +#: contrib/auth/models.py:197 +msgid "users" +msgstr "" + +#: contrib/auth/models.py:367 +msgid "message" +msgstr "Tin nhắn" + +#: contrib/auth/views.py:60 +msgid "Logged out" +msgstr "Đã thoát" + +#: contrib/auth/management/commands/createsuperuser.py:23 +#: core/validators.py:85 forms/fields.py:414 +msgid "Enter a valid e-mail address." +msgstr "Hãy nhập địa chỉ email hợp lệ." + +#: contrib/comments/admin.py:12 +msgid "Content" +msgstr "Nội dung" + +#: contrib/comments/admin.py:15 +msgid "Metadata" +msgstr "Siêu dữ liệu" + +#: contrib/comments/admin.py:39 +msgid "flagged" +msgstr "" + +#: contrib/comments/admin.py:40 +msgid "Flag selected comments" +msgstr "" + +#: contrib/comments/admin.py:43 +msgid "approved" +msgstr "" + +#: contrib/comments/admin.py:44 +msgid "Approve selected comments" +msgstr "" + +#: contrib/comments/admin.py:47 +msgid "removed" +msgstr "" + +#: contrib/comments/admin.py:48 +msgid "Remove selected comments" +msgstr "" + +#: contrib/comments/admin.py:60 +#, python-format +msgid "1 comment was successfully %(action)s." +msgid_plural "%(count)s comments were successfully %(action)s." +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/feeds.py:13 +#, python-format +msgid "%(site_name)s comments" +msgstr "" + +#: contrib/comments/feeds.py:23 +#, python-format +msgid "Latest comments on %(site_name)s" +msgstr "" + +#: contrib/comments/forms.py:93 +msgid "Name" +msgstr "Tên" + +#: contrib/comments/forms.py:94 +msgid "Email address" +msgstr "Địa chỉ email" + +#: contrib/comments/forms.py:95 contrib/flatpages/admin.py:8 +#: contrib/flatpages/models.py:7 db/models/fields/__init__.py:1107 +msgid "URL" +msgstr "Đường dẫn URL" + +#: contrib/comments/forms.py:96 +msgid "Comment" +msgstr "Bình luận" + +#: contrib/comments/forms.py:175 +#, 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ãy cẩn thận! Từ %s không đc phép sử dụng ở đây." +msgstr[1] "Hãy cẩn thận! Cụm từ %s không được sử dụng ở đây." + +#: contrib/comments/forms.py:182 +msgid "" +"If you enter anything in this field your comment will be treated as spam" +msgstr "Bất kì bình luận nào bạn nhập vào đây cũng sẽ bị coi là thư rác" + +#: contrib/comments/models.py:22 contrib/contenttypes/models.py:81 +msgid "content type" +msgstr "kiểu nội dung" + +#: contrib/comments/models.py:24 +msgid "object ID" +msgstr "" + +#: contrib/comments/models.py:52 +msgid "user's name" +msgstr "Tên người sử dụng" + +#: contrib/comments/models.py:53 +msgid "user's email address" +msgstr "Địa chỉ email của người sử dụng" + +#: contrib/comments/models.py:54 +msgid "user's URL" +msgstr "Đường dẫn URL của người sử dụng" + +#: contrib/comments/models.py:56 contrib/comments/models.py:76 +#: contrib/comments/models.py:169 +msgid "comment" +msgstr "Bình luận" + +#: contrib/comments/models.py:59 +msgid "date/time submitted" +msgstr "Ngày/giờ đã đăng kí" + +#: contrib/comments/models.py:60 db/models/fields/__init__.py:909 +msgid "IP address" +msgstr "Địa chỉ IP" + +#: contrib/comments/models.py:61 +msgid "is public" +msgstr "" + +#: contrib/comments/models.py:62 +msgid "" +"Uncheck this box to make the comment effectively disappear from the site." +msgstr "Không đánh dấu vào hộp này để gỡ bình luận ra khỏi Site" + +#: contrib/comments/models.py:64 +msgid "is removed" +msgstr "Bị xóa" + +#: contrib/comments/models.py:65 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"Đánh dấu vào hộp này nếu bình luận không thích hợp. Tin nhắn \"Bình luận đã " +"bị xóa\" sẽ thay thế vào đó." + +#: contrib/comments/models.py:77 +msgid "comments" +msgstr "" + +#: contrib/comments/models.py:119 +msgid "" +"This comment was posted by an authenticated user and thus the name is read-" +"only." +msgstr "" + +#: contrib/comments/models.py:128 +msgid "" +"This comment was posted by an authenticated user and thus the email is read-" +"only." +msgstr "" + +#: contrib/comments/models.py:153 +#, 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:170 +msgid "flag" +msgstr "" + +#: contrib/comments/models.py:171 +msgid "date" +msgstr "" + +#: contrib/comments/models.py:181 +msgid "comment flag" +msgstr "" + +#: contrib/comments/models.py:182 +msgid "comment flags" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:4 +msgid "Approve a comment" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:7 +msgid "Really make this comment public?" +msgstr "" + +#: contrib/comments/templates/comments/approve.html:12 +msgid "Approve" +msgstr "" + +#: contrib/comments/templates/comments/approved.html:4 +msgid "Thanks for approving" +msgstr "" + +#: contrib/comments/templates/comments/approved.html:7 +#: contrib/comments/templates/comments/deleted.html:7 +#: contrib/comments/templates/comments/flagged.html:7 +msgid "" +"Thanks for taking the time to improve the quality of discussion on our site" +msgstr "" + +#: contrib/comments/templates/comments/delete.html:4 +msgid "Remove a comment" +msgstr "" + +#: contrib/comments/templates/comments/delete.html:7 +msgid "Really remove this comment?" +msgstr "" + +#: contrib/comments/templates/comments/deleted.html:4 +msgid "Thanks for removing" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:4 +msgid "Flag this comment" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:7 +msgid "Really flag this comment?" +msgstr "" + +#: contrib/comments/templates/comments/flag.html:12 +msgid "Flag" +msgstr "" + +#: contrib/comments/templates/comments/flagged.html:4 +msgid "Thanks for flagging" +msgstr "" + +#: contrib/comments/templates/comments/form.html:17 +#: contrib/comments/templates/comments/preview.html:32 +msgid "Post" +msgstr "" + +#: contrib/comments/templates/comments/form.html:18 +#: contrib/comments/templates/comments/preview.html:33 +msgid "Preview" +msgstr "" + +#: contrib/comments/templates/comments/posted.html:4 +msgid "Thanks for commenting" +msgstr "" + +#: contrib/comments/templates/comments/posted.html:7 +msgid "Thank you for your comment" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:4 +#: contrib/comments/templates/comments/preview.html:13 +msgid "Preview your comment" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:11 +msgid "Please correct the error below" +msgid_plural "Please correct the errors below" +msgstr[0] "" +msgstr[1] "" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "Post your comment" +msgstr "" + +#: contrib/comments/templates/comments/preview.html:16 +msgid "or make changes" +msgstr "" + +#: contrib/contenttypes/models.py:77 +msgid "python model class name" +msgstr "" + +#: contrib/contenttypes/models.py:82 +msgid "content types" +msgstr "kiểu nội dung" + +#: contrib/flatpages/admin.py:9 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" + +#: contrib/flatpages/admin.py:11 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Giá trị này chỉ có thể bao gồm chữ cái, chữ số, dấu gạch dưới, gạch ngang " +"hoặc gạch chéo." + +#: contrib/flatpages/admin.py:22 +msgid "Advanced options" +msgstr "Các lựa chọn " + +#: contrib/flatpages/models.py:8 +msgid "title" +msgstr "tiêu đề" + +#: contrib/flatpages/models.py:9 +msgid "content" +msgstr "nội dung" + +#: contrib/flatpages/models.py:10 +msgid "enable comments" +msgstr "mở bình luận" + +#: contrib/flatpages/models.py:11 +msgid "template name" +msgstr "tên mẫu" + +#: contrib/flatpages/models.py:12 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" + +#: contrib/flatpages/models.py:13 +msgid "registration required" +msgstr "Bạn cần phải cần đăng kí" + +#: contrib/flatpages/models.py:13 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "" +"Nếu bạn đánh dấu vào đây, chỉ những tài khoản đã đăng nhập mới có thể xem " +"được trang này." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "" + +#: contrib/formtools/wizard.py:134 +msgid "" +"We apologize, but your form has expired. Please continue filling out the " +"form from this page." +msgstr "" +"Xin lỗi, form mà bạn điền đã hết hiệu lực. Hãy điền vào form lấy từ trang " +"này." + +#: contrib/gis/db/models/fields.py:50 +msgid "The base GIS field -- maps to the OpenGIS Specification Geometry type." +msgstr "" + +#: contrib/gis/db/models/fields.py:269 +msgid "Point" +msgstr "" + +#: contrib/gis/db/models/fields.py:273 +msgid "Line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:277 +msgid "Polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:281 +msgid "Multi-point" +msgstr "" + +#: contrib/gis/db/models/fields.py:285 +msgid "Multi-line string" +msgstr "" + +#: contrib/gis/db/models/fields.py:289 +msgid "Multi polygon" +msgstr "" + +#: contrib/gis/db/models/fields.py:293 +msgid "Geometry collection" +msgstr "" + +#: contrib/gis/forms/fields.py:17 +msgid "No geometry value provided." +msgstr "" + +#: contrib/gis/forms/fields.py:18 +msgid "Invalid geometry value." +msgstr "" + +#: contrib/gis/forms/fields.py:19 +msgid "Invalid geometry type." +msgstr "" + +#: contrib/gis/forms/fields.py:20 +msgid "" +"An error occurred when transforming the geometry to the SRID of the geometry " +"form field." +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "th" +msgstr "th" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "st" +msgstr "st" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "nd" +msgstr "nd" + +#: contrib/humanize/templatetags/humanize.py:19 +msgid "rd" +msgstr "rd" + +#: contrib/humanize/templatetags/humanize.py:51 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:54 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:57 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "one" +msgstr "Một" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "two" +msgstr "Hai" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "three" +msgstr "Ba" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "four" +msgstr "Bốn" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "five" +msgstr "Năm" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "six" +msgstr "Sáu" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "seven" +msgstr "Bảy" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "eight" +msgstr "Tám" + +#: contrib/humanize/templatetags/humanize.py:73 +msgid "nine" +msgstr "Chín" + +#: contrib/humanize/templatetags/humanize.py:93 +msgid "today" +msgstr "Hôm nay" + +#: contrib/humanize/templatetags/humanize.py:95 +msgid "tomorrow" +msgstr "Ngày mai" + +#: contrib/humanize/templatetags/humanize.py:97 +msgid "yesterday" +msgstr "Hôm qua" + +#: contrib/localflavor/ar/forms.py:28 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "Hãy nhập mã bưu điện theo mẫu NNNN hoặc ANNNNAAA." + +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:97 +#: contrib/localflavor/br/forms.py:136 contrib/localflavor/pe/forms.py:24 +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires only numbers." +msgstr "Điền một chữ số duy nhất." + +#: contrib/localflavor/ar/forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "Bạn cần điền 7 hoặc 8 chữ số." + +#: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "Hãy nhập CUIT hợp lệ theo dạng XX-XXXXXXXX-X hoặc XXXXXXXXXXXX." + +#: contrib/localflavor/ar/forms.py:81 +msgid "Invalid CUIT." +msgstr "CUIT không hợp lệ." + +#: contrib/localflavor/at/at_states.py:5 +msgid "Burgenland" +msgstr "" + +#: contrib/localflavor/at/at_states.py:6 +msgid "Carinthia" +msgstr "" + +#: contrib/localflavor/at/at_states.py:7 +msgid "Lower Austria" +msgstr "" + +#: contrib/localflavor/at/at_states.py:8 +msgid "Upper Austria" +msgstr "" + +#: contrib/localflavor/at/at_states.py:9 +msgid "Salzburg" +msgstr "" + +#: contrib/localflavor/at/at_states.py:10 +msgid "Styria" +msgstr "" + +#: contrib/localflavor/at/at_states.py:11 +msgid "Tyrol" +msgstr "" + +#: contrib/localflavor/at/at_states.py:12 +msgid "Vorarlberg" +msgstr "" + +#: contrib/localflavor/at/at_states.py:13 +msgid "Vienna" +msgstr "Thành phố Viên" + +#: contrib/localflavor/at/forms.py:20 contrib/localflavor/ch/forms.py:17 +#: contrib/localflavor/no/forms.py:13 +msgid "Enter a zip code in the format XXXX." +msgstr "Hãy nhập mã bưu điện theo dạng XXXX." + +#: contrib/localflavor/at/forms.py:48 +msgid "Enter a valid Austrian Social Security Number in XXXX XXXXXX format." +msgstr "Hãy nhập số an sinh xã hội của nước Áo theo dạng XXXX XXXXXX." + +#: contrib/localflavor/au/forms.py:17 +msgid "Enter a 4 digit post code." +msgstr "Hãy nhập 4 số của mã bưu điện." + +#: contrib/localflavor/br/forms.py:22 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Hãy nhập mã bưu điện theo dạng XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:31 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Số điện thoại phải dưới dạng XX-XXXX-XXXX." + +#: contrib/localflavor/br/forms.py:59 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" + +#: contrib/localflavor/br/forms.py:95 +msgid "Invalid CPF number." +msgstr "Số CPF không hợp lệ." + +#: contrib/localflavor/br/forms.py:96 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Điền nhiều nhất là 11 chữ số hoặc 14 kí tự." + +#: contrib/localflavor/br/forms.py:135 +msgid "Invalid CNPJ number." +msgstr "Số CNPJ không hợp lệ." + +#: contrib/localflavor/br/forms.py:137 +msgid "This field requires at least 14 digits" +msgstr "Bạn phải cần điền ít nhất là 14 chữ số." + +#: contrib/localflavor/ca/forms.py:25 +msgid "Enter a postal code in the format XXX XXX." +msgstr "Hãy nhập mã bưu điện theo dạng XXX XXX." + +#: contrib/localflavor/ca/forms.py:96 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:6 +msgid "Appenzell Innerrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:7 +msgid "Appenzell Ausserrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:8 +msgid "Basel-Stadt" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:9 +msgid "Basel-Land" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:10 +msgid "Berne" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:13 +msgid "Glarus" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:16 +msgid "Lucerne" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:18 +msgid "Nidwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:19 +msgid "Obwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:20 +msgid "Schaffhausen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:21 +msgid "Schwyz" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:22 +msgid "Solothurn" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:23 +msgid "St. Gallen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:24 +msgid "Thurgau" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:25 +msgid "Ticino" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:26 +msgid "Uri" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:27 +msgid "Valais" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:28 +msgid "Vaud" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:29 +msgid "Zug" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:30 +msgid "Zurich" +msgstr "Thành phố Zurich" + +#: contrib/localflavor/ch/forms.py:65 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT." +msgstr "" + +#: contrib/localflavor/cl/forms.py:31 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "" + +#: contrib/localflavor/cl/forms.py:32 +msgid "The Chilean RUT is not valid." +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:8 +msgid "Prague" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:9 +msgid "Central Bohemian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:10 +msgid "South Bohemian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:11 +msgid "Pilsen Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:12 +msgid "Carlsbad Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:13 +msgid "Usti Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:14 +msgid "Liberec Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:15 +msgid "Hradec Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:16 +msgid "Pardubice Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:17 +msgid "Vysocina Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:18 +msgid "South Moravian Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:19 +msgid "Olomouc Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:20 +msgid "Zlin Region" +msgstr "" + +#: contrib/localflavor/cz/cz_regions.py:21 +msgid "Moravian-Silesian Region" +msgstr "" + +#: contrib/localflavor/cz/forms.py:28 contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "" + +#: contrib/localflavor/cz/forms.py:48 +msgid "Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX." +msgstr "" + +#: contrib/localflavor/cz/forms.py:49 +msgid "Invalid optional parameter Gender, valid values are 'f' and 'm'" +msgstr "" + +#: contrib/localflavor/cz/forms.py:50 +msgid "Enter a valid birth number." +msgstr "" + +#: contrib/localflavor/cz/forms.py:107 +msgid "Enter a valid IC number." +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 "Berlin" + +#: 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 "Hamburg" + +#: 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 "Bang Saxony" + +#: 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:15 contrib/localflavor/fi/forms.py:13 +#: contrib/localflavor/fr/forms.py:16 +msgid "Enter a zip code in the format XXXXX." +msgstr "Hãy nhập mã bưu điện theo mẫu XXXXX." + +#: contrib/localflavor/de/forms.py:42 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "" + +#: contrib/localflavor/es/forms.py:20 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "Hãy nhập mã số bưu điện hợp lệ theo dạng 01XXX - 52XXX." + +#: contrib/localflavor/es/forms.py:40 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" +"Hãy nhập số điện thoại hợp lệ theo dạng 6XXXXXXXX, 8XXXXXXXX hoặc 9XXXXXXXX." + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Hãy nhập NIF, NIE, hoặc CIF hợp lệ." + +#: contrib/localflavor/es/forms.py:68 +msgid "Please enter a valid NIF or NIE." +msgstr "Hãy nhập NIF hoặc NIE hợp lệ." + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:71 +msgid "Invalid checksum for CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:143 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Hãy nhập số tài khoản ngân hàng theo dạng XXXX-XXXX-XX-XXXXXXXXXX." + +#: contrib/localflavor/es/forms.py:144 +msgid "Invalid checksum for bank account number." +msgstr "" + +#: contrib/localflavor/fi/forms.py:29 +msgid "Enter a valid Finnish social security number." +msgstr "" + +#: contrib/localflavor/fr/forms.py:31 +msgid "Phone numbers must be in 0X XX XX XX XX format." +msgstr "" + +#: contrib/localflavor/id/forms.py:28 +msgid "Enter a valid post code" +msgstr "" + +#: contrib/localflavor/id/forms.py:68 contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Hãy nhập số điện thoại có hiệu lực" + +#: contrib/localflavor/id/forms.py:107 +msgid "Enter a valid vehicle license plate number" +msgstr "" + +#: contrib/localflavor/id/forms.py:170 +msgid "Enter a valid NIK/KTP number" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:9 +#: contrib/localflavor/id/id_choices.py:73 +msgid "Bali" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:10 +#: contrib/localflavor/id/id_choices.py:45 +msgid "Banten" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:11 +#: contrib/localflavor/id/id_choices.py:54 +msgid "Bengkulu" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:12 +#: contrib/localflavor/id/id_choices.py:47 +msgid "Yogyakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:13 +#: contrib/localflavor/id/id_choices.py:51 +msgid "Jakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:14 +#: contrib/localflavor/id/id_choices.py:75 +msgid "Gorontalo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:15 +#: contrib/localflavor/id/id_choices.py:57 +msgid "Jambi" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:16 +msgid "Jawa Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:17 +msgid "Jawa Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:18 +msgid "Jawa Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:19 +#: contrib/localflavor/id/id_choices.py:88 +msgid "Kalimantan Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:20 +#: contrib/localflavor/id/id_choices.py:66 +msgid "Kalimantan Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:21 +#: contrib/localflavor/id/id_choices.py:89 +msgid "Kalimantan Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:22 +#: contrib/localflavor/id/id_choices.py:90 +msgid "Kalimantan Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:23 +msgid "Kepulauan Bangka-Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:24 +#: contrib/localflavor/id/id_choices.py:62 +msgid "Kepulauan Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:25 +#: contrib/localflavor/id/id_choices.py:55 +msgid "Lampung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:26 +#: contrib/localflavor/id/id_choices.py:70 +msgid "Maluku" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:27 +#: contrib/localflavor/id/id_choices.py:71 +msgid "Maluku Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:28 +#: contrib/localflavor/id/id_choices.py:59 +msgid "Nanggroe Aceh Darussalam" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:29 +msgid "Nusa Tenggara Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:30 +msgid "Nusa Tenggara Timur" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:31 +msgid "Papua" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:32 +msgid "Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:33 +#: contrib/localflavor/id/id_choices.py:60 +msgid "Riau" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:34 +#: contrib/localflavor/id/id_choices.py:68 +msgid "Sulawesi Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:35 +#: contrib/localflavor/id/id_choices.py:69 +msgid "Sulawesi Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:36 +#: contrib/localflavor/id/id_choices.py:76 +msgid "Sulawesi Tengah" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:37 +#: contrib/localflavor/id/id_choices.py:79 +msgid "Sulawesi Tenggara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:38 +msgid "Sulawesi Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:39 +#: contrib/localflavor/id/id_choices.py:52 +msgid "Sumatera Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:40 +#: contrib/localflavor/id/id_choices.py:56 +msgid "Sumatera Selatan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:41 +#: contrib/localflavor/id/id_choices.py:58 +msgid "Sumatera Utara" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:46 +msgid "Magelang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:48 +msgid "Surakarta - Solo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:49 +msgid "Madiun" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:50 +msgid "Kediri" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:53 +msgid "Tapanuli" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:61 +msgid "Kepulauan Bangka Belitung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:63 +msgid "Corps Consulate" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:64 +msgid "Corps Diplomatic" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:65 +msgid "Bandung" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:67 +msgid "Sulawesi Utara Daratan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:72 +msgid "NTT - Timor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:74 +msgid "Sulawesi Utara Kepulauan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:77 +msgid "NTB - Lombok" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:78 +msgid "Papua dan Papua Barat" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:80 +msgid "Cirebon" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:81 +msgid "NTB - Sumbawa" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:82 +msgid "NTT - Flores" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:83 +msgid "NTT - Sumba" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:84 +msgid "Bogor" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:85 +msgid "Pekalongan" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:86 +msgid "Semarang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:87 +msgid "Pati" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:91 +msgid "Surabaya" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:92 +msgid "Madura" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:93 +msgid "Malang" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:94 +msgid "Jember" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:95 +msgid "Banyumas" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:96 +msgid "Federal Government" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:97 +msgid "Bojonegoro" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:98 +msgid "Purwakarta" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:99 +msgid "Sidoarjo" +msgstr "" + +#: contrib/localflavor/id/id_choices.py:100 +msgid "Garut" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:8 +msgid "Antrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:9 +msgid "Armagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:10 +msgid "Carlow" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:11 +msgid "Cavan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:12 +msgid "Clare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:13 +msgid "Cork" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:14 +msgid "Derry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:15 +msgid "Donegal" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:16 +msgid "Down" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:17 +msgid "Dublin" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:18 +msgid "Fermanagh" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:19 +msgid "Galway" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:20 +msgid "Kerry" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:21 +msgid "Kildare" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:22 +msgid "Kilkenny" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:23 +msgid "Laois" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:24 +msgid "Leitrim" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:25 +msgid "Limerick" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:26 +msgid "Longford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:27 +msgid "Louth" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:28 +msgid "Mayo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:29 +msgid "Meath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:30 +msgid "Monaghan" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:31 +msgid "Offaly" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:32 +msgid "Roscommon" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:33 +msgid "Sligo" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:34 +msgid "Tipperary" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:35 +msgid "Tyrone" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:36 +msgid "Waterford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:37 +msgid "Westmeath" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:38 +msgid "Wexford" +msgstr "" + +#: contrib/localflavor/ie/ie_counties.py:39 +msgid "Wicklow" +msgstr "" + +#: contrib/localflavor/in_/forms.py:15 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "Hãy nhập mã bưu điện theo dạng XXXXXXX." + +#: contrib/localflavor/is_/forms.py:18 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:19 +msgid "The Icelandic identification number is not valid." +msgstr "" + +#: contrib/localflavor/it/forms.py:15 +msgid "Enter a valid zip code." +msgstr "Hãy nhập mã bưu điện hợp lệ." + +#: contrib/localflavor/it/forms.py:44 +msgid "Enter a valid Social Security number." +msgstr "Hãy nhập số Bảo hiểm Xã hội hợp lệ." + +#: contrib/localflavor/it/forms.py:69 +msgid "Enter a valid VAT number." +msgstr "Hãy nhập số VAT hợp lệ." + +#: contrib/localflavor/jp/forms.py:16 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Hãy nhập mã bưu điện theo dạng XXXXXXX hoặc 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 "Thành phố Hirosima" + +#: 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 "Thành phố Okinawa" + +#: contrib/localflavor/kw/forms.py:25 +msgid "Enter a valid Kuwaiti Civil ID number" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "" + +#: contrib/localflavor/nl/forms.py:22 +msgid "Enter a valid postal code" +msgstr "Hãy nhập mã bưu điện có hiệu lực" + +#: contrib/localflavor/nl/forms.py:79 +msgid "Enter a valid SoFi number" +msgstr "Hãy nhập số SoFi hợp lệ" + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drenthe" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "" + +#: contrib/localflavor/no/forms.py:34 +msgid "Enter a valid Norwegian social security number." +msgstr "Hãy nhập số an sinh xã hội có hiệu lực" + +#: contrib/localflavor/pe/forms.py:25 +msgid "This field requires 8 digits." +msgstr "Bạn cần điền 8 chữ số." + +#: contrib/localflavor/pe/forms.py:53 +msgid "This field requires 11 digits." +msgstr "Bạn cần điền 11 chữ số." + +#: contrib/localflavor/pl/forms.py:38 +msgid "National Identification Number consists of 11 digits." +msgstr "Số CMTND gồm 11 chữ số" + +#: contrib/localflavor/pl/forms.py:39 +msgid "Wrong checksum for the National Identification Number." +msgstr "" + +#: contrib/localflavor/pl/forms.py:71 +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "Hãy nhập mã số thuế theo mẫu XXX-XXX-XX-XX hoặc XX-XX-XXX-XXX" + +#: contrib/localflavor/pl/forms.py:72 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:109 +msgid "National Business Register Number (REGON) consists of 9 or 14 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:110 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:148 +msgid "Enter a postal code in the format XX-XXX." +msgstr "Hãy nhập mã bưu điện theo mẫu XX-XXX" + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "" + +#: contrib/localflavor/pt/forms.py:17 +msgid "Enter a zip code in the format XXXX-XXX." +msgstr "" + +#: contrib/localflavor/pt/forms.py:37 +msgid "Phone numbers must have 9 digits, or start by + or 00." +msgstr "" + +#: contrib/localflavor/ro/forms.py:19 +msgid "Enter a valid CIF." +msgstr "" + +#: contrib/localflavor/ro/forms.py:56 +msgid "Enter a valid CNP." +msgstr "" + +#: contrib/localflavor/ro/forms.py:141 +msgid "Enter a valid IBAN in ROXX-XXXX-XXXX-XXXX-XXXX-XXXX format" +msgstr "" + +#: contrib/localflavor/ro/forms.py:171 +msgid "Phone numbers must be in XXXX-XXXXXX format." +msgstr "" + +#: contrib/localflavor/ro/forms.py:194 +msgid "Enter a valid postal code in the format XXXXXX" +msgstr "" + +#: contrib/localflavor/se/forms.py:50 +msgid "Enter a valid Swedish organisation number." +msgstr "" + +#: contrib/localflavor/se/forms.py:107 +msgid "Enter a valid Swedish personal identity number." +msgstr "" + +#: contrib/localflavor/se/forms.py:108 +msgid "Co-ordination numbers are not allowed." +msgstr "" + +#: contrib/localflavor/se/forms.py:150 +msgid "Enter a Swedish postal code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/se/se_counties.py:15 +msgid "Stockholm" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:16 +msgid "Västerbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:17 +msgid "Norrbotten" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:18 +msgid "Uppsala" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:19 +msgid "Södermanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:20 +msgid "Östergötland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:21 +msgid "Jönköping" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:22 +msgid "Kronoberg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:23 +msgid "Kalmar" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:24 +msgid "Gotland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:25 +msgid "Blekinge" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:26 +msgid "Skåne" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:27 +msgid "Halland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:28 +msgid "Västra Götaland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:29 +msgid "Värmland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:30 +msgid "Örebro" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:31 +msgid "Västmanland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:32 +msgid "Dalarna" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:33 +msgid "Gävleborg" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:34 +msgid "Västernorrland" +msgstr "" + +#: contrib/localflavor/se/se_counties.py:35 +msgid "Jämtland" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "Vùng South Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "Nước Anh" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "Bắc Ai-len" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "Sccotland" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "Xứ Wale" + +#: contrib/localflavor/us/forms.py:17 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Hãy nhập mã bưu điện theo mẫu XXXXX hoặc XXXXX-XXXX" + +#: contrib/localflavor/us/forms.py:26 +msgid "Phone numbers must be in XXX-XXX-XXXX format." +msgstr "" + +#: contrib/localflavor/us/forms.py:55 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Hãy nhập số an sinh xã hội dưới dạng XXX-XX-XXXX" + +#: contrib/localflavor/us/forms.py:88 +msgid "Enter a U.S. state or territory." +msgstr "" + +#: contrib/localflavor/us/models.py:8 +msgid "U.S. state (two uppercase letters)" +msgstr "" + +#: contrib/localflavor/us/models.py:17 +msgid "Phone number" +msgstr "Số điện thoại" + +#: contrib/localflavor/uy/forms.py:28 +msgid "Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format." +msgstr "" + +#: contrib/localflavor/uy/forms.py:30 +msgid "Enter a valid CI number." +msgstr "" + +#: contrib/localflavor/za/forms.py:21 +msgid "Enter a valid South African ID number" +msgstr "" + +#: contrib/localflavor/za/forms.py:55 +msgid "Enter a valid South African postal code" +msgstr "Hãy nhập mã bưu điện Nam Phi có hiệu lực" + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "Tây Bắc" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "" + +#: contrib/messages/tests/base.py:101 +msgid "lazy message" +msgstr "" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "Chuyển hướng từ" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Đây phải là đường dẫn tuyệt đối, không bao gồm tên miền. Ví dụ: '/events/" +"search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "Chuyển hướng tới" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Đây có thể là đường dẫn tuyệt đối hoặc địa chỉ đầy đủ bắt đầu với 'http://'" + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "Chuyển hướng" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "Chuyển hướng" + +#: contrib/sessions/models.py:45 +msgid "session key" +msgstr "" + +#: contrib/sessions/models.py:47 +msgid "session data" +msgstr "" + +#: contrib/sessions/models.py:48 +msgid "expire date" +msgstr "Ngày hết hạn" + +#: contrib/sessions/models.py:53 +msgid "session" +msgstr "" + +#: contrib/sessions/models.py:54 +msgid "sessions" +msgstr "" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "Tên miền" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "Tên hiển thị" + +#: contrib/sites/models.py:39 +msgid "sites" +msgstr "" + +#: core/validators.py:19 forms/fields.py:66 +msgid "Enter a valid value." +msgstr "Nhập một giá trị hợp lệ." + +#: core/validators.py:69 forms/fields.py:515 +msgid "Enter a valid URL." +msgstr "Nhập một URL hợp lệ." + +#: core/validators.py:71 forms/fields.py:516 +msgid "This URL appears to be a broken link." +msgstr "URL này có vẻ là một liên kết bị đứt gãy." + +#: core/validators.py:88 forms/fields.py:859 +msgid "" +"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens." +msgstr "Nhập một 'slug' hợp lệ gồm chữ cái, số, gạch dưới và gạch nối." + +#: core/validators.py:91 forms/fields.py:852 +msgid "Enter a valid IPv4 address." +msgstr "Nhập một địa chỉ IPv4 hợp lệ." + +#: core/validators.py:94 db/models/fields/__init__.py:591 +msgid "Enter only digits separated by commas." +msgstr "Chỉ nhập chữ số, cách nhau bằng dấu phẩy." + +#: core/validators.py:100 +#, python-format +msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." +msgstr "" + +#: core/validators.py:118 forms/fields.py:196 forms/fields.py:248 +#, python-format +msgid "Ensure this value is less than or equal to %(limit_value)s." +msgstr "" + +#: core/validators.py:123 forms/fields.py:197 forms/fields.py:249 +#, python-format +msgid "Ensure this value is greater than or equal to %(limit_value)s." +msgstr "" + +#: core/validators.py:129 +#, python-format +msgid "" +"Ensure this value has at least %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" + +#: core/validators.py:135 +#, python-format +msgid "" +"Ensure this value has at most %(limit_value)d characters (it has %" +"(show_value)d)." +msgstr "" + +#: db/models/base.py:775 +#, python-format +msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s." +msgstr "" + +#: db/models/base.py:790 db/models/base.py:798 +#, python-format +msgid "%(model_name)s with this %(field_label)s already exists." +msgstr "%(model_name)s có %(field_label)s đã tồn tại." + +#: db/models/fields/__init__.py:62 +#, python-format +msgid "Value %r is not a valid choice." +msgstr "" + +#: db/models/fields/__init__.py:63 +msgid "This field cannot be null." +msgstr "Trường này không thể để trống." + +#: db/models/fields/__init__.py:64 +msgid "This field cannot be blank." +msgstr "" + +#: db/models/fields/__init__.py:69 +#, python-format +msgid "Field of type: %(field_type)s" +msgstr "" + +#: db/models/fields/__init__.py:475 db/models/fields/__init__.py:871 +#: db/models/fields/__init__.py:967 db/models/fields/__init__.py:978 +#: db/models/fields/__init__.py:1005 +msgid "Integer" +msgstr "Số nguyên" + +#: db/models/fields/__init__.py:479 +msgid "This value must be an integer." +msgstr "Giá trị này phải là số nguyên." + +#: db/models/fields/__init__.py:514 +msgid "This value must be either True or False." +msgstr "Giá trị này phải là True hoặc False." + +#: db/models/fields/__init__.py:516 +msgid "Boolean (Either True or False)" +msgstr "Luận lý (hoặc là Đúng hoặc là Sai)" + +#: db/models/fields/__init__.py:558 db/models/fields/__init__.py:988 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "" + +#: db/models/fields/__init__.py:586 +msgid "Comma-separated integers" +msgstr "Các số nguyên được phân cách bằng dấu phẩy" + +#: db/models/fields/__init__.py:600 +msgid "Date (without time)" +msgstr "Ngày (không có giờ)" + +#: db/models/fields/__init__.py:604 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Nhập một ngày hợp lệ theo dạng YYYY-MM-DD." + +#: db/models/fields/__init__.py:605 +#, python-format +msgid "Invalid date: %s" +msgstr "Ngày không hợp lệ: %s" + +#: db/models/fields/__init__.py:686 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format." +msgstr "" +"Nhập một ngày/thời gian hợp lệ theo dạng YYYY-MM-DD HH:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:688 +msgid "Date (with time)" +msgstr "Ngày (có giờ)" + +#: db/models/fields/__init__.py:754 +msgid "This value must be a decimal number." +msgstr "Giá trị này phải là số thập phân." + +#: db/models/fields/__init__.py:756 +msgid "Decimal number" +msgstr "Số thập phân" + +#: db/models/fields/__init__.py:811 +msgid "E-mail address" +msgstr "Địa chỉ email" + +#: db/models/fields/__init__.py:818 db/models/fields/files.py:220 +#: db/models/fields/files.py:331 +msgid "File path" +msgstr "Đường dẫn tắt tới file" + +#: db/models/fields/__init__.py:841 db/models/fields/__init__.py:869 +msgid "This value must be a float." +msgstr "" + +#: db/models/fields/__init__.py:843 +msgid "Floating point number" +msgstr "Giá trị dấu chấm động" + +#: db/models/fields/__init__.py:896 +msgid "Big (8 byte) integer" +msgstr "" + +#: db/models/fields/__init__.py:925 +msgid "This value must be either None, True or False." +msgstr "Giá trị này phải là None, True hoặc False." + +#: db/models/fields/__init__.py:927 +msgid "Boolean (Either True, False or None)" +msgstr "Luận lý (Có thể Đúng, Sai hoặc Không cái nào đúng)" + +#: db/models/fields/__init__.py:1011 +msgid "Text" +msgstr "Đoạn văn" + +#: db/models/fields/__init__.py:1027 +msgid "Time" +msgstr "Giờ" + +#: db/models/fields/__init__.py:1031 +msgid "Enter a valid time in HH:MM[:ss[.uuuuuu]] format." +msgstr "Nhập một thời gian hợp lệ theo dạng HH:MM[:ss[.uuuuuu]]." + +#: db/models/fields/__init__.py:1115 +msgid "XML text" +msgstr "" + +#: db/models/fields/related.py:755 +#, python-format +msgid "Model %(model)s with pk %(pk)r does not exist." +msgstr "" + +#: db/models/fields/related.py:757 +msgid "Foreign Key (type determined by related field)" +msgstr "" + +#: db/models/fields/related.py:879 +msgid "One-to-one relationship" +msgstr "" + +#: db/models/fields/related.py:939 +msgid "Many-to-many relationship" +msgstr "" + +#: db/models/fields/related.py:959 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Giữ \"Control\", hoặc \"Command\" trên Mac, để chọn nhiều hơn một." + +#: db/models/fields/related.py:1020 +#, 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] "Hãy nhập một ID %(self)s hợp lệ. Giá trị %(value)r không hợp lệ." +msgstr[1] "Hãy nhập một ID %(self)s hợp lệ. Giá trị %(value)r không hợp lệ." + +#: forms/fields.py:65 +msgid "This field is required." +msgstr "Trường này là bắt buộc." + +#: forms/fields.py:195 +msgid "Enter a whole number." +msgstr "Nhập một số tổng thể." + +#: forms/fields.py:225 forms/fields.py:247 +msgid "Enter a number." +msgstr "Nhập một số." + +#: forms/fields.py:250 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Hãy chắc chắn rằng tổng cộng không nhiều hơn %s chữ số." + +#: forms/fields.py:251 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Hãy chắc chắn rằng không có nhiều hơn %s chữ số thập phân." + +#: forms/fields.py:252 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "" +"Hãy chắc chắn rằng không có nhiều hơn %s chữ số trước dấu phẩy thập phân." + +#: forms/fields.py:309 forms/fields.py:824 +msgid "Enter a valid date." +msgstr "Nhập một ngày hợp lệ." + +#: forms/fields.py:337 forms/fields.py:825 +msgid "Enter a valid time." +msgstr "Nhập một thời gian hợp lệ." + +#: forms/fields.py:363 +msgid "Enter a valid date/time." +msgstr "Nhập một ngày/thời gian hợp lệ." + +#: forms/fields.py:421 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Không có tập tin nào được gửi. Hãy kiểm tra kiểu mã hóa của biểu mẫu." + +#: forms/fields.py:422 +msgid "No file was submitted." +msgstr "Không có tập tin nào được gửi." + +#: forms/fields.py:423 +msgid "The submitted file is empty." +msgstr "Tập tin được gửi là rỗng." + +#: forms/fields.py:424 +#, python-format +msgid "" +"Ensure this filename has at most %(max)d characters (it has %(length)d)." +msgstr "" + +#: forms/fields.py:459 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Hãy tải lên một hình ảnh hợp lệ. Tập tin mà bạn đã tải không phải là hình " +"ảnh hoặc đã bị hư hỏng." + +#: forms/fields.py:582 forms/fields.py:657 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "" +"Hãy chọn một lựa chọn hợp lệ. %(value)s không phải là một trong các lựa chọn " +"khả thi." + +#: forms/fields.py:658 forms/fields.py:720 forms/models.py:961 +msgid "Enter a list of values." +msgstr "Nhập một danh sách giá trị." + +#: forms/formsets.py:290 forms/formsets.py:292 +msgid "Order" +msgstr "Thứ tự" + +#: forms/models.py:538 +#, python-format +msgid "Please correct the duplicate data for %(field)s." +msgstr "" + +#: forms/models.py:542 +#, python-format +msgid "Please correct the duplicate data for %(field)s, which must be unique." +msgstr "" + +#: forms/models.py:548 +#, python-format +msgid "" +"Please correct the duplicate data for %(field_name)s which must be unique " +"for the %(lookup)s in %(date_field)s." +msgstr "" + +#: forms/models.py:556 +msgid "Please correct the duplicate values below." +msgstr "" + +#: forms/models.py:820 +msgid "The inline foreign key did not match the parent instance primary key." +msgstr "" + +#: forms/models.py:886 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Hãy chọn một lựa chọn hợp lệ. Lựa chọn đó không phải là một trong các lựa " +"chọn khả thi." + +#: forms/models.py:962 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "" +"Hãy chọn một lựa chọn hợp lệ. %s không phải là một trong các lựa chọn khả " +"thi." + +#: forms/models.py:964 +#, python-format +msgid "\"%s\" is not a valid value for a primary key." +msgstr "" + +#: template/defaultfilters.py:775 +msgid "yes,no,maybe" +msgstr "Có, Không, Có thể" + +#: template/defaultfilters.py:806 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#: template/defaultfilters.py:808 +#, python-format +msgid "%s KB" +msgstr "%s KB" + +#: template/defaultfilters.py:810 +#, python-format +msgid "%s MB" +msgstr "%s MB" + +#: template/defaultfilters.py:811 +#, python-format +msgid "%s GB" +msgstr "%s GB" + +#: utils/dateformat.py:42 +msgid "p.m." +msgstr "p.m." + +#: utils/dateformat.py:43 +msgid "a.m." +msgstr "a.m." + +#: utils/dateformat.py:48 +msgid "PM" +msgstr "chiều" + +#: utils/dateformat.py:49 +msgid "AM" +msgstr "sáng" + +#: utils/dateformat.py:98 +msgid "midnight" +msgstr "Nửa đêm" + +#: utils/dateformat.py:100 +msgid "noon" +msgstr "Buổi trưa" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "Thứ 2" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Thứ 3" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Thứ 4" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Thứ 5" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "Thứ 6" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Thứ 7" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Chủ nhật" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "Thứ 2" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "Thứ 3" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "Thứ 4" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "Thứ 5" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "Thứ 6" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "Thứ 7" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "Chủ nhật" + +#: utils/dates.py:18 +msgid "January" +msgstr "Tháng 1" + +#: utils/dates.py:18 +msgid "February" +msgstr "Tháng 2" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "Tháng 3" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "Tháng 4" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "Tháng 5" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "Tháng 6" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "Tháng 7" + +#: utils/dates.py:19 +msgid "August" +msgstr "Tháng 8" + +#: utils/dates.py:19 +msgid "September" +msgstr "Tháng 9" + +#: utils/dates.py:19 +msgid "October" +msgstr "Tháng 10" + +#: utils/dates.py:19 +msgid "November" +msgstr "Tháng 11" + +#: utils/dates.py:20 +msgid "December" +msgstr "Tháng 12" + +#: utils/dates.py:23 +msgid "jan" +msgstr "Tháng 1" + +#: utils/dates.py:23 +msgid "feb" +msgstr "Tháng 2" + +#: utils/dates.py:23 +msgid "mar" +msgstr "Tháng 3" + +#: utils/dates.py:23 +msgid "apr" +msgstr "Tháng 4" + +#: utils/dates.py:23 +msgid "may" +msgstr "Tháng 5" + +#: utils/dates.py:23 +msgid "jun" +msgstr "Tháng 6" + +#: utils/dates.py:24 +msgid "jul" +msgstr "Tháng 7" + +#: utils/dates.py:24 +msgid "aug" +msgstr "Tháng 8" + +#: utils/dates.py:24 +msgid "sep" +msgstr "Tháng 9" + +#: utils/dates.py:24 +msgid "oct" +msgstr "Tháng 10" + +#: utils/dates.py:24 +msgid "nov" +msgstr "Tháng 11" + +#: utils/dates.py:24 +msgid "dec" +msgstr "Tháng 12" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "Tháng 1" + +#: utils/dates.py:31 +msgid "Feb." +msgstr "Tháng 2" + +#: utils/dates.py:32 +msgid "Aug." +msgstr "Tháng 8" + +#: utils/dates.py:32 +msgid "Sept." +msgstr "Tháng 9" + +#: utils/dates.py:32 +msgid "Oct." +msgstr "Tháng 10" + +#: utils/dates.py:32 +msgid "Nov." +msgstr "Tháng 11" + +#: utils/dates.py:32 +msgid "Dec." +msgstr "Tháng 12" + +#: utils/text.py:130 +msgid "or" +msgstr "hoặc" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "năm" +msgstr[1] "năm" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "tháng" +msgstr[1] "tháng" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "tuần" +msgstr[1] "tuần" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "ngày" +msgstr[1] "ngày" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "phút" +msgstr[1] "phút" + +#: utils/timesince.py:45 +msgid "minutes" +msgstr "phút" + +#: utils/timesince.py:50 +#, python-format +msgid "%(number)d %(type)s" +msgstr "" + +#: utils/timesince.py:56 +#, python-format +msgid ", %(number)d %(type)s" +msgstr "" + +#: utils/translation/trans_real.py:512 +msgid "DATE_FORMAT" +msgstr "N j, Y" + +#: utils/translation/trans_real.py:513 +msgid "DATETIME_FORMAT" +msgstr "N j, Y, P" + +#: utils/translation/trans_real.py:514 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:535 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:536 +msgid "MONTH_DAY_FORMAT" +msgstr "F j" + +#: views/generic/create_update.py:115 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s đã được tạo thành công." + +#: views/generic/create_update.py:158 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s đã được cập nhật thành công." + +#: views/generic/create_update.py:201 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s đã bị xóa." + +#~ msgid "" +#~ "Ensure this value has at most %(max)d characters (it has %(length)d)." +#~ msgstr "" +#~ "Hãy chắc chắn rằng giá trị này có nhiều nhất %(max)d kí tự (nó có %" +#~ "(length)d)." + +#~ msgid "" +#~ "Ensure this value has at least %(min)d characters (it has %(length)d)." +#~ msgstr "" +#~ "Hãy chắc chắn rằng giá trị này có ít nhất %(min)d kí tự (nó có %(length)" +#~ "d)." + +#~ msgid "Ensure this value is less than or equal to %s." +#~ msgstr "Hãy chắc chắn rằng giá trị này nhỏ hơn hoặc bằng %s." + +#~ msgid "Ensure this value is greater than or equal to %s." +#~ msgstr "Hãy chắc chắn rằng giá trị này lớn hơn hoặc bằng %s." + +#~ msgid "Portugese" +#~ msgstr "Tiếng Bồ Đào Nha" + +#~ msgid "Old password:" +#~ msgstr "Mật khẩu cũ" + +#~ msgid "Add user" +#~ msgstr "Thêm người sử dụng khác" diff --git a/django/conf/locale/vi/LC_MESSAGES/djangojs.mo b/django/conf/locale/vi/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..e554d0df7a4fde940bcc817279c6d44f95736040 GIT binary patch literal 1049 zcmZvZJ!lj`6vsysHJ)EFHWn(=S;UQZQ6#Q0h>allf62vIIPm88-kbL|yw5$Iw-`Td-pZWl;-yFrTI2U5NL-~r@jKQrrIwqfhj63aE|je2i_(CqjU z>xR&OX!d^(^`igMY_ubGgp0mpEjJZGfgM@~h%JT*00aYl_47O_rFSn2ZqbSCYj`2AthPXmuI1Ku<@rP2yiDG{3 zFPXk{YE&yL6?!xmFszjq?ZJgm1nL;C)`W?qJw8)8;S8+B(JW`Baq_CFy+HXcAD9bl z3d{0?B)-j~)?MYZO0D&<&I(Cn6*=-{5a<1gw\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:37 +#, perl-format +msgid "Available %s" +msgstr "" + +#: contrib/admin/media/js/SelectFilter2.js:45 +msgid "Choose all" +msgstr "Chọn tất cả" + +#: contrib/admin/media/js/SelectFilter2.js:50 +msgid "Add" +msgstr "Thêm" + +#: contrib/admin/media/js/SelectFilter2.js:52 +msgid "Remove" +msgstr "Xóa" + +#: contrib/admin/media/js/SelectFilter2.js:57 +#, perl-format +msgid "Chosen %s" +msgstr "" + +#: contrib/admin/media/js/SelectFilter2.js:58 +msgid "Select your choice(s) and click " +msgstr "" + +#: contrib/admin/media/js/SelectFilter2.js:63 +msgid "Clear all" +msgstr "Xóa tất cả" + +#: 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/collapse.js:9 contrib/admin/media/js/collapse.js:21 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Show" +msgstr "Hiện ra" + +#: contrib/admin/media/js/collapse.js:16 +#: contrib/admin/media/js/collapse.min.js:1 +msgid "Hide" +msgstr "Dấu đi" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:50 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85 +msgid "Now" +msgstr "Bây giờ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:54 +msgid "Clock" +msgstr "Đồng hồ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Choose a time" +msgstr "Chọn giờ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86 +msgid "Midnight" +msgstr "Nửa đêm" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +msgid "6 a.m." +msgstr "6 giờ sáng" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 +msgid "Noon" +msgstr "Buổi trưa" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:92 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188 +msgid "Cancel" +msgstr "Hủy bỏ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182 +msgid "Today" +msgstr "Hôm nay" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137 +msgid "Calendar" +msgstr "Lịch" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180 +msgid "Yesterday" +msgstr "Hôm qua" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184 +msgid "Tomorrow" +msgstr "Ngày mai" diff --git a/django/conf/locale/vi/__init__.py b/django/conf/locale/vi/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/conf/locale/vi/formats.py b/django/conf/locale/vi/formats.py new file mode 100644 index 000000000..3a4207966 --- /dev/null +++ b/django/conf/locale/vi/formats.py @@ -0,0 +1,18 @@ +# -*- encoding: utf-8 -*- +# This file is distributed under the same license as the Django package. +# + +DATE_FORMAT = r'\N\gà\y d \t\há\n\g n \nă\m Y' +TIME_FORMAT = 'H:i:s' +DATETIME_FORMAT = r'H:i:s \N\gà\y d \t\há\n\g n \nă\m Y' +YEAR_MONTH_FORMAT = 'F Y' +MONTH_DAY_FORMAT = 'j F' +SHORT_DATE_FORMAT = 'd-m-Y' +SHORT_DATETIME_FORMAT = 'H:i:s d-m-Y' +# FIRST_DAY_OF_WEEK = +# DATE_INPUT_FORMATS = +# TIME_INPUT_FORMATS = +# DATETIME_INPUT_FORMATS = +DECIMAL_SEPARATOR = ',' +THOUSAND_SEPARATOR = '.' +# NUMBER_GROUPING = diff --git a/django/conf/locale/zh_CN/LC_MESSAGES/django.mo b/django/conf/locale/zh_CN/LC_MESSAGES/django.mo index 2c58356311205e43e31e45a8070faeac9425fc52..6d2f546d942ddb2b0091b6cd61b84a31dc033431 100644 GIT binary patch delta 15671 zcmZA7cYKa#`^WJ+2_dqq1PN+}h*^~)_ADZet-~rFE0j{RTvm)+Ta=H#F#cdUj!zg3aoC{!ED5hQ1eny8??g^e8c*?V|(JhmOp?Re;ifd**2cr z=n9Ew5}6o<+1t7e3ZqUU4pl%^)Wlk5L(3=QNb)T)9FJojyo8nU0czv8cAP3!K&|tV zM?+Vbgxa7f>dI0vH@3$}?1Nfx1nOj_V_sZp{hKkG_*?70fI5l0sEz-|9H`^aiHD*J z@bb}60fkW;mqXp7Di+s64Qz@ku!ZH@p~iK>!kC67@I&k0fZAvqYTSO*$^3}g@3MM5TwNO`efY@@up(vZ(Qimam5z{|c&*7MLH~qc$2~@i5c{&9eL_ z=xM-O8hY(Eq5mG4mr)ztMV-hK)RpCU(~T>H+BgBV@k^-nl2Es%KC18()Csgkt=A1T zzWWJpqz%{5V-ilgi59;;#4z=+S)cjMZ1+QT#yn`wvPY3sK#^QS7 z>ZrnQVJbfA!1-6B(XgY>*Bw37M%T?dsKPQ)--WI9#9&ezoIQlK0FCSLII@knN;0IV4 z7hpUd!!r07U&P{F-9BwGnf-lJUBh<{8!(_$H}{aGnI0yQpM@&u7^;B0-Q7YJupIIK zuqDpM>UaZnON#xE;;@CvY=xIl^Iz=cPBIzmu)l8v4ISk-sG~lKdJBSkyDwo3 zs=os2A!>{zumkF-$6`Eg!IF3dOJQ&yS9p1hBd&`Y-xIUqBJ}h@SWY85Zo+1`1N&k~ zntRxWU>4$WsBx1}KRz=p|0#wLufbs4jM?xTY=iqz^J7?4`@Mh~U#TzWuPaI-p`&Vn z{V)x4;Ca-7zhMyGMHP@~`F~Ig1u#ih6pGq77b;)C;^JlkYJO#lYxLv%wNV30yo%be zoek`0aSzlL^s{)NIUM!WkHJ8kiP~T`s*sN{6jx#deu;XPc3b?DM?;nWf~xo?s(=Tm ziBC`kW_{Z&oD=<5hMHI0j7M!)!F(Att~P4DCK!&X7I#FA_qx+i#eGo=4n|FU&jw7e z{%PhsY(W1~)QMb2ZE)MnL@oRnwT`d9TQ>*lLUNk1$T-gzM?(Y4V`Hp}ui$7@K?hNl z|A3Kr5l7-()JA;aCfC8ovnjx~(?%o0l-2{A0|i_rKUX?oX%6sMoA1YU8(1 zC({$P(E!U2LtVLN`SBJ{v3MqG-h9h1M|~eY!&Z39@-+vtj^6)zG<1ZGQ74gtTA)2@ z<1VNTds)68s=y)UNYuD-sC7O>ozyJUI?GY(u0h>`%@*%QPe*l#h8Fl4HQ@^8!ds~R ze^DET@YhLhj6{tqhFUPeOvEC@by4fRg%Q{rbpgXr>y1JcI%N>&uSPlvO;}(q$1vj6 zs6w`)HadtJe-gFed5f>0#@|4#^9VKmDN?&H+q-Vw2vq-AR3RU{%lT{KN0wM=12fF8 zP!sl;2T>dUh&k~zYNH#d!XBW;Ke0GqusgZzsQw64e-!G2R>-5FAB&=>LTcN9WYof~ zQAgd$;-2O}^dBW^p(&^hW}wE;!^*f6%i&4XxWFN9TrjE-FPw%pin5L(7MHU4MY9@e z;X0@jXoCKS)#CQpkbDQMf-6uPoHeha#@|9+=tJc75j+#&h z^@(kc`7jmrF!sb~9D)A76HveV$54gdMm>c0Q787?3>&6>*guAb7AS@~iE60Vrvd67 zw?<9uZt+0Wg5yyIr=!MyjM{J==EaSu^}a)$+zHet{XFVc-B4cd|2-O-_&4gxpIV${ zxQj!~T&R;MfGQ{s;rQKs?fO>uSBiC231%Fda7tA4IS+v)P$p`iZ7u0 zuUnjnI+1@+R~$OR{cOi#Vd6xL!ZxUN`k-#raE!%SsFPWb1#sU8&R-oDN$4n_pf(J8 z&l!oTI2Luq#VxLcI*Dpn4jW-v9E2)-88*VzSP?VvZ7jwQM;V-jwQ$Es&c6F?5GQjL>+wr%a`yh zk$`#z5>a2gB-HEF+~Rc9yNP%#LHGx%{}F1PXQ+Y#$GZ#8 zhoO4^E74HJHBm>}0ChAiQ6HF2*8dJ_!C@AUMP12cR6#Q_4=%(M`~r0gpJOd-@V@&4 zXB_HQ9>!qy_x)&zpHT~4LM?m~bu0cr6%;nX6;uG#Ulw)cFJV?}X!&NSLR*<{qHbk( zRAGZqC%zB;|NMW9hOYE9YT;X`E6KDt>qK`#;iv-hqBbmy+Ngx(%US#~enGwt2IC*7 z@qeS9g=c2?B+fq@i9(aym6SwPmWa9)b{SKif4^4P!GvI)CVW<12-`R-z4sZ|}8x|&h4~yYK)UDfzad-h=W`AGM3|DCq=Afekw#S~RPx2ltfdyu|1#4k> zjlhuVNqsEHFTKOMEe z9E+Er?)^&3uSJdDV)>n@d;BeG!?V`^3q}y%M*sW&god7WU%IO}0<}TFwHN1}gzyE8`wxdEFeGAlytVV741!}=< zn1Fjx3*JMWz+b3w&oB=L&#|`#wN6P4#WJXIiKuzC=WzaEG#Zi6y>ErNu%iv^kGjHP zs3Y@GI$1mbHGjA{-lL&Pr=d2Og*xJ; zsMqBP>b1O$^)cIgcg4*xiFg&Nfa_QjOD%A(VRuv^qfuAB3bpY@)X{%qd2gR}96{aF z)2N5!5^CT*RAGObK?_~Mxlkt)g&J4Pj7Qz`il~#UV%D|(=4NZ;!ad&`uHoxsc17Kr z9;nI(qYCp-8%{(OG~4=@TmKr%XP^q$gDT(v>Y+S=TJJa1iQmUCz5fqsXrOPA+c*sM zki?=+qA04r5^7>iR6%u74{a0FhON!lP)FU-`g>v=@j&ZefLebE`rrSRG_=rK)Woe8 z??G*N#5``EwEmw_<9|gJc-P`5sChvjJF}q*4n>_n9@GgJME~!90u9~6%BUl*j=G}8 z7>LOhziM%7i`$_#dJ{FTGpeAz<`7h2V^HI!nln-B&iR=0*Aah2LK}XLs&F0ZM7E$7 z*n|1-C~D$$)VQ0dXCV_c?mtukp^M$mY!p@?PCym#2I?d_p$hJ?nES7ZgGgw>(WrYf z8CB49i)W)2Sb!>EF=~Njm=o8d#_vL{vmaI1QPlYJSP?Iw){k7`jPk4zi<(#zwNV+= zg5^;gR7Rah1I&xBq6+VZn%5t-@Gw*BYW(}=4Ai;{QH3u-os_qh#^C^t8Yke`W$x%g zR=5w$3s{hWZ=k+#Ls1)kfiK}U)a!K@qcPwU_txY`{dko&lgt!Up%+GX`T{)P)SfD38X6YTz;q z#;vFcJ1stJ@d?xwTsCiEAL56ojXHhi{t@kM)WbFjbqls*Fdi{~Lal!eJuP^{5}Bw8 z&rt>C`rKIxm9L3<_)@U|cE=acLp`KRPz!Is?6?Cp?|^w0)&D!H;3uEk?|;ZD*AZf<lLFb4*G;XYUqs4rKR6Q}aHS zAg;R6{!J&w5|2eaWQ(yrZnF3>Rws_gaKHCWup;p=tcI(xCSJp)SZou&pxAd4=ii*h z4ifs1gl=}0#wNrKF&U?$3c7$=C}4}*pffZm0?S(vDqB8VLQx<9Z^5a-7KGmxrOzemyTLz zh2__w*7<4==dXc#EOE>{g_?K)HSu?Bh<{msjlEWw*&J0!JJfoeP#dIK|3Gu3=Ix6mSS5h6dU~}w@ucH?J8uQ~`%!lVuNBaC_<+SfndeX^bJgNZ^RfA#8T_rguyC_6YTYrY6P;wSH_H<9 z%@wFZ*4cosFgx)c>px`qlc*yZ;6D%1iK%o&znfCb5~LoIv=bphuv7;m6{%ZSQ;9TfZC`E zX2TkmZ(#Wp3?knKwZLoE|3B3D{uU2Ktuxk~j2b_~;*aqK;!n`i(eAeaXHf6`HB>?O zEq-GCSq{1@$c5UVs9D;qfO?w}u_X4#5S(i+MHR9dweQx0_WmETjx(r*ubFqu2j&yh z5&90faXGOeVLsH4PzMabDX5L+qQAX|@rzLfEH}SE750sJ0QJxw_h@M2yQm3|Pz41Xad9rQu$h2b zsH$1dOvb$A+hPvvWBI`tMm*Z$si^hmq4xDYv&MRJv-u5bqkZO43?n{+74RCqjCqf` zamlC!+oHyGu(-GN4=_iV?_;3e|LHXJFw8;D-w{yORwJhptq zF*iRJ)nD37GE>Yh<{aa(Caf3wc&h!htIbZRnTfwL0c{U4$Bgs!~_iZ!F}<{ zVRhm})VF>B_QG^5fX`3`=R5BH!YYR?^!_)YQ5qLwIoyxU@BvoET0gqKj)&kV;@zlm zwNJQ*uP{)oE3tJZ%LJth96ksF_4V~qUCeF58HR^nc$1>Z)E zdk-~ly2W!*8?VB`m|^`VQ1i~3zo80xi255d=p^@FjTcV3L=tL3JJd$qP)9Zdwc%9j zpN%SX8EV`u>wk)RJ%diUjS8A&%^Ik6l2LC-t5cl6D(^@_&p=Nb(BB+_>K}zFY?3(# zqllNI-s5ekai`47sEux+3i<=1Fyyo=>;=^L3LcGU8r7^L74>cIjM{KCYT#7Vg7YlD z*z#*I5Bbel8xLXw3_0WC6s%7?4Yke*)H)YT?^kQwM%|lC)IALN*~LXLFL6awK@Bb6 z61C7^&&bf6WQ1c3#3F!a-|5dd_6SFObGq5Y_o(({~o)b~8*#=Z$+c6Xm zqE74-YU4-db2IyScT%}g^9rEG#bbot|H?FUW%W=MzJeOq#^UbgJE)1C#gomss9UkZ zT#fmOzqI~C<{9&vnTcK^1E15Vj8!hUE9r%;i6>z(yoim^chSX-&EBYIV=5NG<>o%~ z8tMeIUUFZ=Sk#BBCU(X?m+bvNLZUEZh{U3Q<=WvB&?Vmu+c*yI;CV4k@h%aA{hB{29` z_fNG6*pT>5)Gb(!x<#u{w=%=rZTX`XpFxek=2^!b)II;xIzS+2Y=)jfbNia&L?cm~PHTy>2T|3vEF?_4`m0j-VDihehxj24U9g zZhQ#pS&Bw&)YS4VurqN-RAIZ2bv)k>G}@6ki<(gBH@87mQ~~v{IKFD}K3_1urz@HndQE2#0e{c``G(a1$2=M6WYm{}Gh$S0x-X^48LTH@ z9)~$_CF+)JK+WG|er@ix{)6cM`~N5ny?$4)H2#Mru=H*BBhnmGh^JyLyns51*gLMj z3F?D08Oz{u48fzQD?VfK4b%l@TK@SR?teBC5x={E(Wr@W7FR^Q|8*?i7Q=`;n|&=m z9J7!gZ~4jQT+|7yK&`tPbuybQzwLK>|96oHqvL@2lMT3H@eT8lCd@e0d-YOc2a^{7HOqYB!E+3|>Z%JP>`S9k}t{sZ$b)I<3XW?_F{j{9z4 zq#11%Lfyj>sDi4ZHcmoq+|X=k`A!!1!iw|{Miuaxx!(FWn|qbl`~L$CRd`wnJZE0D z{7qB=zoRz3kNSW-MHLkJhnrUb)n5cPz8sdvim3HFq1Nwe_D28T{{w8mQ0sUPwa_?> z#2FZkOHmtcHTR$vJZ$j^)J7M~E9Ny+!8cLk|HS}|5Ada@*C<4-85?UX4h&2QOmA6x zXJDV8^xSo(1%4TnzPwI9hUBW76filXdENQ}fpI|@v+BhJXvX^bp9Tb!&uG&yBRFt- zP-ldV{yUC1C!<~+6`0GH i5ty186h5#><9fc51B*1%|7HZYek=9=rAB;`p8S8{^nuv` delta 15682 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 qC$%s' % (escape(force_unicode(capfirst(opts.verbose_name))), obj.pk, escape(obj))), []]) - get_deleted_objects(deletable_objects[i], perms_needed, request.user, obj, opts, 1, modeladmin.admin_site, levels_to_root=2) - i=i+1 + deletable_objects, perms_needed = get_deleted_objects(queryset, opts, request.user, modeladmin.admin_site, levels_to_root=2) # The user has already confirmed the deletion. # Do the deletion and return a None to display the change list view again. @@ -66,7 +54,7 @@ def delete_selected(modeladmin, request, queryset): context = { "title": _("Are you sure?"), "object_name": force_unicode(opts.verbose_name), - "deletable_objects": deletable_objects, + "deletable_objects": [deletable_objects], 'queryset': queryset, "perms_lacking": perms_needed, "opts": opts, @@ -76,7 +64,7 @@ def delete_selected(modeladmin, request, queryset): } # Display the confirmation page - return render_to_response(modeladmin.delete_confirmation_template or [ + return render_to_response(modeladmin.delete_selected_confirmation_template or [ "admin/%s/%s/delete_selected_confirmation.html" % (app_label, opts.object_name.lower()), "admin/%s/delete_selected_confirmation.html" % app_label, "admin/delete_selected_confirmation.html" diff --git a/django/contrib/admin/helpers.py b/django/contrib/admin/helpers.py index 40437c0cd..83af5a180 100644 --- a/django/contrib/admin/helpers.py +++ b/django/contrib/admin/helpers.py @@ -1,31 +1,47 @@ - from django import forms from django.conf import settings -from django.utils.html import escape -from django.utils.safestring import mark_safe -from django.utils.encoding import force_unicode -from django.contrib.admin.util import flatten_fieldsets +from django.contrib.admin.util import flatten_fieldsets, lookup_field +from django.contrib.admin.util import display_for_field, label_for_field, help_text_for_field from django.contrib.contenttypes.models import ContentType +from django.core.exceptions import ObjectDoesNotExist +from django.db.models.fields import FieldDoesNotExist +from django.db.models.fields.related import ManyToManyRel +from django.forms.util import flatatt +from django.template.defaultfilters import capfirst +from django.utils.encoding import force_unicode, smart_unicode +from django.utils.html import escape, conditional_escape +from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ + ACTION_CHECKBOX_NAME = '_selected_action' class ActionForm(forms.Form): action = forms.ChoiceField(label=_('Action:')) + select_across = forms.BooleanField(label='', required=False, initial=0, + widget=forms.HiddenInput({'class': 'select-across'})) checkbox = forms.CheckboxInput({'class': 'action-select'}, lambda value: False) class AdminForm(object): - def __init__(self, form, fieldsets, prepopulated_fields): + def __init__(self, form, fieldsets, prepopulated_fields, readonly_fields=None, model_admin=None): self.form, self.fieldsets = form, normalize_fieldsets(fieldsets) self.prepopulated_fields = [{ 'field': form[field_name], 'dependencies': [form[f] for f in dependencies] } for field_name, dependencies in prepopulated_fields.items()] + self.model_admin = model_admin + if readonly_fields is None: + readonly_fields = () + self.readonly_fields = readonly_fields def __iter__(self): for name, options in self.fieldsets: - yield Fieldset(self.form, name, **options) + yield Fieldset(self.form, name, + readonly_fields=self.readonly_fields, + model_admin=self.model_admin, + **options + ) def first_field(self): try: @@ -49,36 +65,48 @@ class AdminForm(object): media = property(_media) class Fieldset(object): - def __init__(self, form, name=None, fields=(), classes=(), description=None): + def __init__(self, form, name=None, readonly_fields=(), fields=(), classes=(), + description=None, model_admin=None): self.form = form self.name, self.fields = name, fields self.classes = u' '.join(classes) self.description = description + self.model_admin = model_admin + self.readonly_fields = readonly_fields def _media(self): if 'collapse' in self.classes: - return forms.Media(js=['%sjs/admin/CollapsedFieldsets.js' % settings.ADMIN_MEDIA_PREFIX]) + js = ['js/jquery.min.js', 'js/jquery.init.js', 'js/collapse.min.js'] + return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js]) return forms.Media() media = property(_media) def __iter__(self): for field in self.fields: - yield Fieldline(self.form, field) + yield Fieldline(self.form, field, self.readonly_fields, model_admin=self.model_admin) class Fieldline(object): - def __init__(self, form, field): + def __init__(self, form, field, readonly_fields=None, model_admin=None): self.form = form # A django.forms.Form instance - if isinstance(field, basestring): + if not hasattr(field, "__iter__"): self.fields = [field] else: self.fields = field + self.model_admin = model_admin + if readonly_fields is None: + readonly_fields = () + self.readonly_fields = readonly_fields def __iter__(self): for i, field in enumerate(self.fields): - yield AdminField(self.form, field, is_first=(i == 0)) + if field in self.readonly_fields: + yield AdminReadonlyField(self.form, field, is_first=(i == 0), + model_admin=self.model_admin) + else: + yield AdminField(self.form, field, is_first=(i == 0)) def errors(self): - return mark_safe(u'\n'.join([self.form[f].errors.as_ul() for f in self.fields]).strip('\n')) + return mark_safe(u'\n'.join([self.form[f].errors.as_ul() for f in self.fields if f not in self.readonly_fields]).strip('\n')) class AdminField(object): def __init__(self, form, field, is_first): @@ -100,27 +128,109 @@ class AdminField(object): attrs = classes and {'class': u' '.join(classes)} or {} return self.field.label_tag(contents=contents, attrs=attrs) + def errors(self): + return mark_safe(self.field.errors.as_ul()) + +class AdminReadonlyField(object): + def __init__(self, form, field, is_first, model_admin=None): + label = label_for_field(field, form._meta.model, model_admin) + # Make self.field look a little bit like a field. This means that + # {{ field.name }} must be a useful class name to identify the field. + # For convenience, store other field-related data here too. + if callable(field): + class_name = field.__name__ != '' and field.__name__ or '' + else: + class_name = field + self.field = { + 'name': class_name, + 'label': label, + 'field': field, + 'help_text': help_text_for_field(class_name, form._meta.model) + } + self.form = form + self.model_admin = model_admin + self.is_first = is_first + self.is_checkbox = False + self.is_readonly = True + + def label_tag(self): + attrs = {} + if not self.is_first: + attrs["class"] = "inline" + label = self.field['label'] + contents = capfirst(force_unicode(escape(label))) + u":" + return mark_safe('%(contents)s' % { + "attrs": flatatt(attrs), + "contents": contents, + }) + + def contents(self): + from django.contrib.admin.templatetags.admin_list import _boolean_icon + from django.contrib.admin.views.main import EMPTY_CHANGELIST_VALUE + field, obj, model_admin = self.field['field'], self.form.instance, self.model_admin + try: + f, attr, value = lookup_field(field, obj, model_admin) + except (AttributeError, ValueError, ObjectDoesNotExist): + result_repr = EMPTY_CHANGELIST_VALUE + else: + if f is None: + boolean = getattr(attr, "boolean", False) + if boolean: + result_repr = _boolean_icon(value) + else: + result_repr = smart_unicode(value) + if getattr(attr, "allow_tags", False): + result_repr = mark_safe(result_repr) + else: + if value is None: + result_repr = EMPTY_CHANGELIST_VALUE + elif isinstance(f.rel, ManyToManyRel): + result_repr = ", ".join(map(unicode, value.all())) + else: + result_repr = display_for_field(value, f) + return conditional_escape(result_repr) + class InlineAdminFormSet(object): """ A wrapper around an inline formset for use in the admin system. """ - def __init__(self, inline, formset, fieldsets): + def __init__(self, inline, formset, fieldsets, readonly_fields=None, model_admin=None): self.opts = inline self.formset = formset self.fieldsets = fieldsets + self.model_admin = model_admin + if readonly_fields is None: + readonly_fields = () + self.readonly_fields = readonly_fields def __iter__(self): for form, original in zip(self.formset.initial_forms, self.formset.get_queryset()): - yield InlineAdminForm(self.formset, form, self.fieldsets, self.opts.prepopulated_fields, original) + yield InlineAdminForm(self.formset, form, self.fieldsets, + self.opts.prepopulated_fields, original, self.readonly_fields, + model_admin=self.opts) for form in self.formset.extra_forms: - yield InlineAdminForm(self.formset, form, self.fieldsets, self.opts.prepopulated_fields, None) + yield InlineAdminForm(self.formset, form, self.fieldsets, + self.opts.prepopulated_fields, None, self.readonly_fields, + model_admin=self.opts) + yield InlineAdminForm(self.formset, self.formset.empty_form, + self.fieldsets, self.opts.prepopulated_fields, None, + self.readonly_fields, model_admin=self.opts) def fields(self): fk = getattr(self.formset, "fk", None) - for field_name in flatten_fieldsets(self.fieldsets): - if fk and fk.name == field_name: + for i, field in enumerate(flatten_fieldsets(self.fieldsets)): + if fk and fk.name == field: continue - yield self.formset.form.base_fields[field_name] + if field in self.readonly_fields: + yield { + 'label': label_for_field(field, self.opts.model, self.opts), + 'widget': { + 'is_hidden': False + }, + 'required': False + } + else: + yield self.formset.form.base_fields[field] def _media(self): media = self.opts.media + self.formset.media @@ -133,17 +243,21 @@ class InlineAdminForm(AdminForm): """ A wrapper around an inline form for use in the admin system. """ - def __init__(self, formset, form, fieldsets, prepopulated_fields, original): + def __init__(self, formset, form, fieldsets, prepopulated_fields, original, + readonly_fields=None, model_admin=None): self.formset = formset + self.model_admin = model_admin self.original = original if original is not None: self.original_content_type_id = ContentType.objects.get_for_model(original).pk self.show_url = original and hasattr(original, 'get_absolute_url') - super(InlineAdminForm, self).__init__(form, fieldsets, prepopulated_fields) + super(InlineAdminForm, self).__init__(form, fieldsets, prepopulated_fields, + readonly_fields, model_admin) def __iter__(self): for name, options in self.fieldsets: - yield InlineFieldset(self.formset, self.form, name, **options) + yield InlineFieldset(self.formset, self.form, name, + self.readonly_fields, model_admin=self.model_admin, **options) def has_auto_field(self): if self.form._meta.model._meta.has_auto_field: @@ -194,7 +308,8 @@ class InlineFieldset(Fieldset): for field in self.fields: if fk and fk.name == field: continue - yield Fieldline(self.form, field) + yield Fieldline(self.form, field, self.readonly_fields, + model_admin=self.model_admin) class AdminErrorList(forms.util.ErrorList): """ @@ -228,4 +343,3 @@ def normalize_dictionary(data_dict): del data_dict[key] data_dict[str(key)] = value return data_dict - diff --git a/django/contrib/admin/media/css/base.css b/django/contrib/admin/media/css/base.css index 7299c95e3..9a7b656ff 100644 --- a/django/contrib/admin/media/css/base.css +++ b/django/contrib/admin/media/css/base.css @@ -319,11 +319,11 @@ table thead th.sorted a { } table thead th.ascending a { - background: url(../img/admin/arrow-down.gif) right .4em no-repeat; + background: url(../img/admin/arrow-up.gif) right .4em no-repeat; } table thead th.descending a { - background: url(../img/admin/arrow-up.gif) right .4em no-repeat; + background: url(../img/admin/arrow-down.gif) right .4em no-repeat; } /* ORDERABLE TABLES */ @@ -344,7 +344,7 @@ table.orderable-initalized .order-cell, body>tr>td.order-cell { /* FORM DEFAULTS */ -input, textarea, select { +input, textarea, select, .form-row p { margin: 2px 0; padding: 2px 3px; vertical-align: middle; @@ -365,7 +365,7 @@ input[type=text], input[type=password], textarea, select, .vTextField { .button, input[type=submit], input[type=button], .submit-row input { background: white url(../img/admin/nav-bg.gif) bottom repeat-x; - padding: 3px; + padding: 3px 5px; color: black; border: 1px solid #bbb; border-color: #ddd #aaa #aaa #ddd; @@ -445,6 +445,14 @@ ul.messagelist li { background: #ffc url(../img/admin/icon_success.gif) 5px .3em no-repeat; } +ul.messagelist li.warning{ + background-image: url(../img/admin/icon_alert.gif); +} + +ul.messagelist li.error{ + background-image: url(../img/admin/icon_error.gif); +} + .errornote { font-size: 12px !important; display: block; @@ -470,6 +478,11 @@ ul.errorlist { background: red url(../img/admin/icon_alert.gif) 5px .3em no-repeat; } +.errorlist li a { + color: white; + text-decoration: underline; +} + td ul.errorlist { margin: 0 !important; padding: 0 !important; @@ -483,7 +496,7 @@ td ul.errorlist li { background: #ffc; } -.errors input, .errors select { +.errors input, .errors select, .errors textarea { border: 1px solid red; } diff --git a/django/contrib/admin/media/css/changelists.css b/django/contrib/admin/media/css/changelists.css index 5eb66b4d3..f6acdeb89 100644 --- a/django/contrib/admin/media/css/changelists.css +++ b/django/contrib/admin/media/css/changelists.css @@ -9,6 +9,8 @@ width: 100%; } +.change-list .hiddenfields { display:none; } + .change-list .filtered table { border-right: 1px solid #ddd; } @@ -53,19 +55,22 @@ vertical-align: middle; } -#changelist table thead th:first-child { +#changelist table thead th.action-checkbox-column { width: 1.5em; text-align: center; } -#changelist table tbody td { +#changelist table tbody td, #changelist table tbody th { border-left: 1px solid #ddd; } -#changelist table tbody td:first-child { +#changelist table tbody td:first-child, #changelist table tbody th:first-child { border-left: 0; border-right: 1px solid #ddd; - text-align: center; +} + +#changelist table tbody td.action-checkbox { + text-align:center; } #changelist table tfoot { @@ -244,6 +249,21 @@ background: white url(../img/admin/nav-bg-reverse.gif) 0 -10px repeat-x; } +#changelist .actions.selected { + background: #fffccf; + border-top: 1px solid #fffee8; + border-bottom: 1px solid #edecd6; +} + +#changelist .actions span.all, +#changelist .actions span.action-counter, +#changelist .actions span.clear, +#changelist .actions span.question { + font-size: 11px; + margin: 0 0.5em; + display: none; +} + #changelist .actions:last-child { border-bottom: none; } diff --git a/django/contrib/admin/media/css/forms.css b/django/contrib/admin/media/css/forms.css index fbe4b753a..35d0ed796 100644 --- a/django/contrib/admin/media/css/forms.css +++ b/django/contrib/admin/media/css/forms.css @@ -67,6 +67,12 @@ form ul.inline li { width: 8em; } +.aligned ul label { + display: inline; + float: none; + width: auto; +} + .colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField { width: 350px; } @@ -140,7 +146,6 @@ fieldset.collapsed h2 { } fieldset.collapsed .collapse-toggle { - padding: 3px 5px !important; background: transparent; display: inline !important; } @@ -247,10 +252,7 @@ fieldset.monospace textarea { } .inline-related h3 span.delete { - padding-left: 20px; - position: absolute; - top: 2px; - right: 10px; + float: right; } .inline-related h3 span.delete label { @@ -274,6 +276,11 @@ fieldset.monospace textarea { color: #fff; } +.inline-group .tabular fieldset.module { + border: none; + border-bottom: 1px solid #ddd; +} + .inline-related.tabular fieldset.module table { width: 100%; } @@ -320,8 +327,28 @@ fieldset.monospace textarea { padding: 0 5px; } -.inline-group ul.tools a.add { - background: url(../img/admin/icon_addlink.gif) 0 50% no-repeat; - padding-left: 14px; +.inline-group div.add-row, +.inline-group .tabular tr.add-row td { + color: #666; + padding: 3px 5px; + border-bottom: 1px solid #ddd; + background: #e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x; } +.inline-group .tabular tr.add-row td { + padding: 4px 5px 3px; + border-bottom: none; +} + +.inline-group ul.tools a.add, +.inline-group div.add-row a, +.inline-group .tabular tr.add-row td a { + background: url(../img/admin/icon_addlink.gif) 0 50% no-repeat; + padding-left: 14px; + font-size: 11px; + outline: 0; /* Remove dotted border around link */ +} + +.empty-form { + display: none; +} diff --git a/django/contrib/admin/media/css/ie.css b/django/contrib/admin/media/css/ie.css index 30a08e44b..5fd1ce364 100644 --- a/django/contrib/admin/media/css/ie.css +++ b/django/contrib/admin/media/css/ie.css @@ -48,4 +48,10 @@ .change-list .filtered { _height: 400px; +} + +/* IE doesn't know alpha transparency in PNGs */ + +.inline-deletelink { + background: transparent url(../img/admin/inline-delete-8bit.png) no-repeat; } \ No newline at end of file diff --git a/django/contrib/admin/media/css/rtl.css b/django/contrib/admin/media/css/rtl.css index 6819a231b..b05537a26 100644 --- a/django/contrib/admin/media/css/rtl.css +++ b/django/contrib/admin/media/css/rtl.css @@ -82,6 +82,10 @@ div.breadcrumbs { /* changelists styles */ +.change-list ul.toplinks li { + float: right; +} + .change-list .filtered { background: white url(../img/admin/changelist-bg_rtl.gif) top left repeat-y !important; } @@ -112,6 +116,13 @@ div.breadcrumbs { margin-right: -10px; } +.filtered .actions { + border-left:1px solid #DDDDDD; + margin-left:160px !important; + border-right: 0 none; + margin-right:0 !important; +} + /* FORMS */ .aligned label { @@ -187,9 +198,13 @@ fieldset .field-box { text-align: right; } +.inline-deletelink { + float: left; +} + /* MISC */ -.inline-related h2 { +.inline-related h2, .inline-group h2 { text-align: right } diff --git a/django/contrib/admin/media/css/widgets.css b/django/contrib/admin/media/css/widgets.css index 9f9e63efb..c0911ff97 100644 --- a/django/contrib/admin/media/css/widgets.css +++ b/django/contrib/admin/media/css/widgets.css @@ -70,6 +70,7 @@ height: 16px; display: block; text-indent: -3000px; + overflow: hidden; } .selector-add { @@ -416,13 +417,13 @@ ul.orderer li.deleted:hover, ul.orderer li.deleted a.selector:hover { /* EDIT INLINE */ .inline-deletelink { - display: block; + float: right; text-indent: -9999px; background: transparent url(../img/admin/inline-delete.png) no-repeat; width: 15px; height: 15px; - margin: 0.4em 0; border: 0px none; + outline: 0; /* Remove dotted border around link */ } .inline-deletelink:hover { diff --git a/django/contrib/admin/media/js/LICENSE-JQUERY.txt b/django/contrib/admin/media/js/LICENSE-JQUERY.txt new file mode 100644 index 000000000..a4c5bd76a --- /dev/null +++ b/django/contrib/admin/media/js/LICENSE-JQUERY.txt @@ -0,0 +1,20 @@ +Copyright (c) 2010 John Resig, http://jquery.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/django/contrib/admin/media/js/SelectFilter2.js b/django/contrib/admin/media/js/SelectFilter2.js index db946a6f6..5a0344702 100644 --- a/django/contrib/admin/media/js/SelectFilter2.js +++ b/django/contrib/admin/media/js/SelectFilter2.js @@ -16,6 +16,10 @@ function findForm(node) { var SelectFilter = { init: function(field_id, field_name, is_stacked, admin_media_prefix) { + if (field_id.match(/__prefix__/)){ + // Don't intialize on empty forms. + return; + } var from_box = document.getElementById(field_id); from_box.id += '_from'; // change its ID from_box.className = 'filtered'; diff --git a/django/contrib/admin/media/js/actions.js b/django/contrib/admin/media/js/actions.js index d34488ab9..94aa6db93 100644 --- a/django/contrib/admin/media/js/actions.js +++ b/django/contrib/admin/media/js/actions.js @@ -1,39 +1,139 @@ -var Actions = { - init: function() { - var selectAll = document.getElementById('action-toggle'); - if (selectAll) { - selectAll.style.display = 'inline'; - addEvent(selectAll, 'click', function() { - Actions.checker(selectAll.checked); - }); - } - var changelistTable = document.getElementsBySelector('#changelist table')[0]; - if (changelistTable) { - addEvent(changelistTable, 'click', function(e) { - if (!e) { var e = window.event; } - var target = e.target ? e.target : e.srcElement; - if (target.nodeType == 3) { target = target.parentNode; } - if (target.className == 'action-select') { - var tr = target.parentNode.parentNode; - Actions.toggleRow(tr, target.checked); - } - }); - } - }, - toggleRow: function(tr, checked) { - if (checked && tr.className.indexOf('selected') == -1) { - tr.className += ' selected'; - } else if (!checked) { - tr.className = tr.className.replace(' selected', ''); - } - }, - checker: function(checked) { - var actionCheckboxes = document.getElementsBySelector('tr input.action-select'); - for(var i = 0; i < actionCheckboxes.length; i++) { - actionCheckboxes[i].checked = checked; - Actions.toggleRow(actionCheckboxes[i].parentNode.parentNode, checked); - } - } -}; - -addEvent(window, 'load', Actions.init); +(function($) { + $.fn.actions = function(opts) { + var options = $.extend({}, $.fn.actions.defaults, opts); + var actionCheckboxes = $(this); + var list_editable_changed = false; + checker = function(checked) { + if (checked) { + showQuestion(); + } else { + reset(); + } + $(actionCheckboxes).attr("checked", checked) + .parent().parent().toggleClass(options.selectedClass, checked); + } + updateCounter = function() { + var sel = $(actionCheckboxes).filter(":checked").length; + $(options.counterContainer).html(interpolate( + ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), { + sel: sel, + cnt: _actions_icnt + }, true)); + $(options.allToggle).attr("checked", function() { + if (sel == actionCheckboxes.length) { + value = true; + showQuestion(); + } else { + value = false; + clearAcross(); + } + return value; + }); + } + showQuestion = function() { + $(options.acrossClears).hide(); + $(options.acrossQuestions).show(); + $(options.allContainer).hide(); + } + showClear = function() { + $(options.acrossClears).show(); + $(options.acrossQuestions).hide(); + $(options.actionContainer).toggleClass(options.selectedClass); + $(options.allContainer).show(); + $(options.counterContainer).hide(); + } + reset = function() { + $(options.acrossClears).hide(); + $(options.acrossQuestions).hide(); + $(options.allContainer).hide(); + $(options.counterContainer).show(); + } + clearAcross = function() { + reset(); + $(options.acrossInput).val(0); + $(options.actionContainer).removeClass(options.selectedClass); + } + // Show counter by default + $(options.counterContainer).show(); + // Check state of checkboxes and reinit state if needed + $(this).filter(":checked").each(function(i) { + $(this).parent().parent().toggleClass(options.selectedClass); + updateCounter(); + if ($(options.acrossInput).val() == 1) { + showClear(); + } + }); + $(options.allToggle).show().click(function() { + checker($(this).attr("checked")); + updateCounter(); + }); + $("div.actions span.question a").click(function(event) { + event.preventDefault(); + $(options.acrossInput).val(1); + showClear(); + }); + $("div.actions span.clear a").click(function(event) { + event.preventDefault(); + $(options.allToggle).attr("checked", false); + clearAcross(); + checker(0); + updateCounter(); + }); + lastChecked = null; + $(actionCheckboxes).click(function(event) { + if (!event) { var event = window.event; } + var target = event.target ? event.target : event.srcElement; + if (lastChecked && $.data(lastChecked) != $.data(target) && event.shiftKey == true) { + var inrange = false; + $(lastChecked).attr("checked", target.checked) + .parent().parent().toggleClass(options.selectedClass, target.checked); + $(actionCheckboxes).each(function() { + if ($.data(this) == $.data(lastChecked) || $.data(this) == $.data(target)) { + inrange = (inrange) ? false : true; + } + if (inrange) { + $(this).attr("checked", target.checked) + .parent().parent().toggleClass(options.selectedClass, target.checked); + } + }); + } + $(target).parent().parent().toggleClass(options.selectedClass, target.checked); + lastChecked = target; + updateCounter(); + }); + $('form#changelist-form table#result_list tr').find('td:gt(0) :input').change(function() { + list_editable_changed = true; + }); + $('form#changelist-form button[name="index"]').click(function(event) { + if (list_editable_changed) { + return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.")); + } + }); + $('form#changelist-form input[name="_save"]').click(function(event) { + var action_changed = false; + $('div.actions select option:selected').each(function() { + if ($(this).val()) { + action_changed = true; + } + }); + if (action_changed) { + if (list_editable_changed) { + return confirm(gettext("You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action.")); + } else { + return confirm(gettext("You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button.")); + } + } + }); + } + /* Setup plugin defaults */ + $.fn.actions.defaults = { + actionContainer: "div.actions", + counterContainer: "span.action-counter", + allContainer: "div.actions span.all", + acrossInput: "div.actions input.select-across", + acrossQuestions: "div.actions span.question", + acrossClears: "div.actions span.clear", + allToggle: "#action-toggle", + selectedClass: "selected" + } +})(django.jQuery); diff --git a/django/contrib/admin/media/js/actions.min.js b/django/contrib/admin/media/js/actions.min.js new file mode 100644 index 000000000..21f00cdab --- /dev/null +++ b/django/contrib/admin/media/js/actions.min.js @@ -0,0 +1,7 @@ +(function(a){a.fn.actions=function(h){var b=a.extend({},a.fn.actions.defaults,h),e=a(this),f=false;checker=function(c){c?showQuestion():reset();a(e).attr("checked",c).parent().parent().toggleClass(b.selectedClass,c)};updateCounter=function(){var c=a(e).filter(":checked").length;a(b.counterContainer).html(interpolate(ngettext("%(sel)s of %(cnt)s selected","%(sel)s of %(cnt)s selected",c),{sel:c,cnt:_actions_icnt},true));a(b.allToggle).attr("checked",function(){if(c==e.length){value=true;showQuestion()}else{value= +false;clearAcross()}return value})};showQuestion=function(){a(b.acrossClears).hide();a(b.acrossQuestions).show();a(b.allContainer).hide()};showClear=function(){a(b.acrossClears).show();a(b.acrossQuestions).hide();a(b.actionContainer).toggleClass(b.selectedClass);a(b.allContainer).show();a(b.counterContainer).hide()};reset=function(){a(b.acrossClears).hide();a(b.acrossQuestions).hide();a(b.allContainer).hide();a(b.counterContainer).show()};clearAcross=function(){reset();a(b.acrossInput).val(0);a(b.actionContainer).removeClass(b.selectedClass)}; +a(b.counterContainer).show();a(this).filter(":checked").each(function(){a(this).parent().parent().toggleClass(b.selectedClass);updateCounter();a(b.acrossInput).val()==1&&showClear()});a(b.allToggle).show().click(function(){checker(a(this).attr("checked"));updateCounter()});a("div.actions span.question a").click(function(c){c.preventDefault();a(b.acrossInput).val(1);showClear()});a("div.actions span.clear a").click(function(c){c.preventDefault();a(b.allToggle).attr("checked",false);clearAcross();checker(0); +updateCounter()});lastChecked=null;a(e).click(function(c){if(!c)c=window.event;var d=c.target?c.target:c.srcElement;if(lastChecked&&a.data(lastChecked)!=a.data(d)&&c.shiftKey==true){var g=false;a(lastChecked).attr("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked);a(e).each(function(){if(a.data(this)==a.data(lastChecked)||a.data(this)==a.data(d))g=g?false:true;g&&a(this).attr("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked)})}a(d).parent().parent().toggleClass(b.selectedClass, +d.checked);lastChecked=d;updateCounter()});a("form#changelist-form table#result_list tr").find("td:gt(0) :input").change(function(){f=true});a('form#changelist-form button[name="index"]').click(function(){if(f)return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."))});a('form#changelist-form input[name="_save"]').click(function(){var c=false;a("div.actions select option:selected").each(function(){if(a(this).val())c= +true});if(c)return f?confirm(gettext("You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action.")):confirm(gettext("You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button."))})};a.fn.actions.defaults={actionContainer:"div.actions",counterContainer:"span.action-counter",allContainer:"div.actions span.all",acrossInput:"div.actions input.select-across", +acrossQuestions:"div.actions span.question",acrossClears:"div.actions span.clear",allToggle:"#action-toggle",selectedClass:"selected"}})(django.jQuery); diff --git a/django/contrib/admin/media/js/admin/DateTimeShortcuts.js b/django/contrib/admin/media/js/admin/DateTimeShortcuts.js index e3ebd03fb..a4293b305 100644 --- a/django/contrib/admin/media/js/admin/DateTimeShortcuts.js +++ b/django/contrib/admin/media/js/admin/DateTimeShortcuts.js @@ -11,17 +11,17 @@ var DateTimeShortcuts = { calendarLinkName: 'calendarlink',// name of the link that is used to toggle clockDivName: 'clockbox', // name of clock
                                                          that gets toggled clockLinkName: 'clocklink', // name of the link that is used to toggle + shortCutsClass: 'datetimeshortcuts', // class of the clock and cal shortcuts admin_media_prefix: '', init: function() { - // Deduce admin_media_prefix by looking at the ' % \ # escape() calls force_unicode. - (escape(pk_value), escape(obj))) + (escape(pk_value), escapejs(obj))) elif request.POST.has_key("_addanother"): self.message_user(request, msg + ' ' + (_("You may add another %s below.") % force_unicode(opts.verbose_name))) return HttpResponseRedirect(request.path) @@ -629,9 +731,16 @@ class ModelAdmin(BaseModelAdmin): Determines the HttpResponse for the change_view stage. """ opts = obj._meta + + # Handle proxy models automatically created by .only() or .defer() + verbose_name = opts.verbose_name + if obj._deferred: + opts_ = opts.proxy_for_model._meta + verbose_name = opts_.verbose_name + pk_value = obj._get_pk_val() - msg = _('The %(name)s "%(obj)s" was changed successfully.') % {'name': force_unicode(opts.verbose_name), 'obj': force_unicode(obj)} + msg = _('The %(name)s "%(obj)s" was changed successfully.') % {'name': force_unicode(verbose_name), 'obj': force_unicode(obj)} if request.POST.has_key("_continue"): self.message_user(request, msg + ' ' + _("You may edit it again below.")) if request.REQUEST.has_key('_popup'): @@ -639,15 +748,21 @@ class ModelAdmin(BaseModelAdmin): else: return HttpResponseRedirect(request.path) elif request.POST.has_key("_saveasnew"): - msg = _('The %(name)s "%(obj)s" was added successfully. You may edit it again below.') % {'name': force_unicode(opts.verbose_name), 'obj': obj} + msg = _('The %(name)s "%(obj)s" was added successfully. You may edit it again below.') % {'name': force_unicode(verbose_name), 'obj': obj} self.message_user(request, msg) return HttpResponseRedirect("../%s/" % pk_value) elif request.POST.has_key("_addanother"): - self.message_user(request, msg + ' ' + (_("You may add another %s below.") % force_unicode(opts.verbose_name))) + self.message_user(request, msg + ' ' + (_("You may add another %s below.") % force_unicode(verbose_name))) return HttpResponseRedirect("../add/") else: self.message_user(request, msg) - return HttpResponseRedirect("../") + # Figure out where to redirect. If the user has change permission, + # redirect to the change-list page for this object. Otherwise, + # redirect to the admin index. + if self.has_change_permission(request, None): + return HttpResponseRedirect('../') + else: + return HttpResponseRedirect('../../../') def response_action(self, request, queryset): """ @@ -655,6 +770,7 @@ class ModelAdmin(BaseModelAdmin): changelist; it returns an HttpResponse if the action was handled, and None otherwise. """ + # There can be multiple action forms on the page (at the top # and bottom of the change list, for example). Get the action # whose button was pushed. @@ -683,15 +799,25 @@ class ModelAdmin(BaseModelAdmin): # If the form's valid we can handle the action. if action_form.is_valid(): action = action_form.cleaned_data['action'] + select_across = action_form.cleaned_data['select_across'] func, name, description = self.get_actions(request)[action] # Get the list of selected PKs. If nothing's selected, we can't - # perform an action on it, so bail. + # perform an action on it, so bail. Except we want to perform + # the action explicitly on all objects. selected = request.POST.getlist(helpers.ACTION_CHECKBOX_NAME) - if not selected: + if not selected and not select_across: + # Reminder that something needs to be selected or nothing will happen + msg = _("Items must be selected in order to perform " + "actions on them. No items have been changed.") + self.message_user(request, msg) return None - response = func(self, request, queryset.filter(pk__in=selected)) + if not select_across: + # Perform the action only on the selected objects + queryset = queryset.filter(pk__in=selected) + + response = func(self, request, queryset) # Actions may return an HttpResponse, which will be used as the # response from the POST. If not, we'll be a good little HTTP @@ -699,8 +825,14 @@ class ModelAdmin(BaseModelAdmin): if isinstance(response, HttpResponse): return response else: - return HttpResponseRedirect(".") + return HttpResponseRedirect(request.get_full_path()) + else: + msg = _("No action selected.") + self.message_user(request, msg) + return None + @csrf_protect_m + @transaction.commit_on_success def add_view(self, request, form_url='', extra_context=None): "The 'add' admin view for this model." model = self.model @@ -714,13 +846,13 @@ class ModelAdmin(BaseModelAdmin): if request.method == 'POST': form = ModelForm(request.POST, request.FILES) if form.is_valid(): - form_validated = True new_object = self.save_form(request, form, change=False) + form_validated = True else: form_validated = False new_object = self.model() prefixes = {} - for FormSet in self.get_formsets(request): + for FormSet, inline in zip(self.get_formsets(request), self.inline_instances): prefix = FormSet.get_default_prefix() prefixes[prefix] = prefixes.get(prefix, 0) + 1 if prefixes[prefix] != 1: @@ -728,7 +860,7 @@ class ModelAdmin(BaseModelAdmin): formset = FormSet(data=request.POST, files=request.FILES, instance=new_object, save_as_new=request.POST.has_key("_saveasnew"), - prefix=prefix) + prefix=prefix, queryset=inline.queryset(request)) formsets.append(formset) if all_valid(formsets) and form_validated: self.save_model(request, new_object, form, change=False) @@ -751,21 +883,27 @@ class ModelAdmin(BaseModelAdmin): initial[k] = initial[k].split(",") form = ModelForm(initial=initial) prefixes = {} - for FormSet in self.get_formsets(request): + for FormSet, inline in zip(self.get_formsets(request), + self.inline_instances): prefix = FormSet.get_default_prefix() prefixes[prefix] = prefixes.get(prefix, 0) + 1 if prefixes[prefix] != 1: prefix = "%s-%s" % (prefix, prefixes[prefix]) - formset = FormSet(instance=self.model(), prefix=prefix) + formset = FormSet(instance=self.model(), prefix=prefix, + queryset=inline.queryset(request)) formsets.append(formset) - adminForm = helpers.AdminForm(form, list(self.get_fieldsets(request)), self.prepopulated_fields) + adminForm = helpers.AdminForm(form, list(self.get_fieldsets(request)), + self.prepopulated_fields, self.get_readonly_fields(request), + model_admin=self) media = self.media + adminForm.media inline_admin_formsets = [] for inline, formset in zip(self.inline_instances, formsets): fieldsets = list(inline.get_fieldsets(request)) - inline_admin_formset = helpers.InlineAdminFormSet(inline, formset, fieldsets) + readonly = list(inline.get_readonly_fields(request)) + inline_admin_formset = helpers.InlineAdminFormSet(inline, formset, + fieldsets, readonly, model_admin=self) inline_admin_formsets.append(inline_admin_formset) media = media + inline_admin_formset.media @@ -782,20 +920,15 @@ class ModelAdmin(BaseModelAdmin): } context.update(extra_context or {}) return self.render_change_form(request, context, form_url=form_url, add=True) - add_view = transaction.commit_on_success(add_view) + @csrf_protect_m + @transaction.commit_on_success def change_view(self, request, object_id, extra_context=None): "The 'change' admin view for this model." model = self.model opts = model._meta - try: - obj = self.queryset(request).get(pk=unquote(object_id)) - except model.DoesNotExist: - # Don't raise Http404 just yet, because we haven't checked - # permissions yet. We don't want an unauthenticated user to be able - # to determine whether a given object exists. - obj = None + obj = self.get_object(request, unquote(object_id)) if not self.has_change_permission(request, obj): raise PermissionDenied @@ -817,13 +950,16 @@ class ModelAdmin(BaseModelAdmin): form_validated = False new_object = obj prefixes = {} - for FormSet in self.get_formsets(request, new_object): + for FormSet, inline in zip(self.get_formsets(request, new_object), + self.inline_instances): prefix = FormSet.get_default_prefix() prefixes[prefix] = prefixes.get(prefix, 0) + 1 if prefixes[prefix] != 1: prefix = "%s-%s" % (prefix, prefixes[prefix]) formset = FormSet(request.POST, request.FILES, - instance=new_object, prefix=prefix) + instance=new_object, prefix=prefix, + queryset=inline.queryset(request)) + formsets.append(formset) if all_valid(formsets) and form_validated: @@ -839,21 +975,26 @@ class ModelAdmin(BaseModelAdmin): else: form = ModelForm(instance=obj) prefixes = {} - for FormSet in self.get_formsets(request, obj): + for FormSet, inline in zip(self.get_formsets(request, obj), self.inline_instances): prefix = FormSet.get_default_prefix() prefixes[prefix] = prefixes.get(prefix, 0) + 1 if prefixes[prefix] != 1: prefix = "%s-%s" % (prefix, prefixes[prefix]) - formset = FormSet(instance=obj, prefix=prefix) + formset = FormSet(instance=obj, prefix=prefix, + queryset=inline.queryset(request)) formsets.append(formset) - adminForm = helpers.AdminForm(form, self.get_fieldsets(request, obj), self.prepopulated_fields) + adminForm = helpers.AdminForm(form, self.get_fieldsets(request, obj), + self.prepopulated_fields, self.get_readonly_fields(request, obj), + model_admin=self) media = self.media + adminForm.media inline_admin_formsets = [] for inline, formset in zip(self.inline_instances, formsets): fieldsets = list(inline.get_fieldsets(request, obj)) - inline_admin_formset = helpers.InlineAdminFormSet(inline, formset, fieldsets) + readonly = list(inline.get_readonly_fields(request, obj)) + inline_admin_formset = helpers.InlineAdminFormSet(inline, formset, + fieldsets, readonly, model_admin=self) inline_admin_formsets.append(inline_admin_formset) media = media + inline_admin_formset.media @@ -871,11 +1012,11 @@ class ModelAdmin(BaseModelAdmin): } context.update(extra_context or {}) return self.render_change_form(request, context, change=True, obj=obj) - change_view = transaction.commit_on_success(change_view) + @csrf_protect_m def changelist_view(self, request, extra_context=None): "The 'change list' admin view for this model." - from django.contrib.admin.views.main import ChangeList, ERROR_FLAG + from django.contrib.admin.views.main import ERROR_FLAG opts = self.model._meta app_label = opts.app_label if not self.has_change_permission(request, None): @@ -892,26 +1033,53 @@ class ModelAdmin(BaseModelAdmin): except ValueError: pass + ChangeList = self.get_changelist(request) try: cl = ChangeList(request, self.model, list_display, self.list_display_links, self.list_filter, self.date_hierarchy, self.search_fields, self.list_select_related, self.list_per_page, self.list_editable, self) except IncorrectLookupParameters: # Wacky lookup parameters were given, so redirect to the main # changelist page, without parameters, and pass an 'invalid=1' - # parameter via the query string. If wacky parameters were given and - # the 'invalid=1' parameter was already in the query string, something - # is screwed up with the database, so display an error page. + # parameter via the query string. If wacky parameters were given + # and the 'invalid=1' parameter was already in the query string, + # something is screwed up with the database, so display an error + # page. if ERROR_FLAG in request.GET.keys(): return render_to_response('admin/invalid_setup.html', {'title': _('Database error')}) return HttpResponseRedirect(request.path + '?' + ERROR_FLAG + '=1') - # If the request was POSTed, this might be a bulk action or a bulk edit. - # Try to look up an action first, but if this isn't an action the POST - # will fall through to the bulk edit check, below. - if actions and request.method == 'POST': - response = self.response_action(request, queryset=cl.get_query_set()) - if response: - return response + # If the request was POSTed, this might be a bulk action or a bulk + # edit. Try to look up an action or confirmation first, but if this + # isn't an action the POST will fall through to the bulk edit check, + # below. + action_failed = False + selected = request.POST.getlist(helpers.ACTION_CHECKBOX_NAME) + + # Actions with no confirmation + if (actions and request.method == 'POST' and + 'index' in request.POST and '_save' not in request.POST): + if selected: + response = self.response_action(request, queryset=cl.get_query_set()) + if response: + return response + else: + action_failed = True + else: + msg = _("Items must be selected in order to perform " + "actions on them. No items have been changed.") + self.message_user(request, msg) + action_failed = True + + # Actions with confirmation + if (actions and request.method == 'POST' and + helpers.ACTION_CHECKBOX_NAME in request.POST and + 'index' not in request.POST and '_save' not in request.POST): + if selected: + response = self.response_action(request, queryset=cl.get_query_set()) + if response: + return response + else: + action_failed = True # If we're allowing changelist editing, we need to construct a formset # for the changelist given all the fields to be edited. Then we'll @@ -919,7 +1087,8 @@ class ModelAdmin(BaseModelAdmin): formset = cl.formset = None # Handle POSTed bulk-edit data. - if request.method == "POST" and self.list_editable: + if (request.method == "POST" and self.list_editable and + '_save' in request.POST and not action_failed): FormSet = self.get_changelist_formset(request) formset = cl.formset = FormSet(request.POST, request.FILES, queryset=cl.result_list) if formset.is_valid(): @@ -965,7 +1134,13 @@ class ModelAdmin(BaseModelAdmin): else: action_form = None + selection_note_all = ungettext('%(total_count)s selected', + 'All %(total_count)s selected', cl.result_count) + context = { + 'module_name': force_unicode(opts.verbose_name_plural), + 'selection_note': _('0 of %(cnt)s selected') % {'cnt': len(cl.result_list)}, + 'selection_note_all': selection_note_all % {'total_count': cl.result_count}, 'title': cl.title, 'is_popup': cl.is_popup, 'cl': cl, @@ -976,6 +1151,7 @@ class ModelAdmin(BaseModelAdmin): 'action_form': action_form, 'actions_on_top': self.actions_on_top, 'actions_on_bottom': self.actions_on_bottom, + 'actions_selection_counter': self.actions_selection_counter, } context.update(extra_context or {}) context_instance = template.RequestContext(request, current_app=self.admin_site.name) @@ -985,18 +1161,13 @@ class ModelAdmin(BaseModelAdmin): 'admin/change_list.html' ], context, context_instance=context_instance) + @csrf_protect_m def delete_view(self, request, object_id, extra_context=None): "The 'delete' admin view for this model." opts = self.model._meta app_label = opts.app_label - try: - obj = self.queryset(request).get(pk=unquote(object_id)) - except self.model.DoesNotExist: - # Don't raise Http404 just yet, because we haven't checked - # permissions yet. We don't want an unauthenticated user to be able - # to determine whether a given object exists. - obj = None + obj = self.get_object(request, unquote(object_id)) if not self.has_delete_permission(request, obj): raise PermissionDenied @@ -1006,9 +1177,7 @@ class ModelAdmin(BaseModelAdmin): # Populate deleted_objects, a data structure of all related objects that # will also be deleted. - deleted_objects = [mark_safe(u'%s: %s' % (escape(force_unicode(capfirst(opts.verbose_name))), object_id, escape(obj))), []] - perms_needed = set() - get_deleted_objects(deleted_objects, perms_needed, request.user, obj, opts, 1, self.admin_site) + (deleted_objects, perms_needed) = get_deleted_objects((obj,), opts, request.user, self.admin_site) if request.POST: # The user has already confirmed the deletion. if perms_needed: @@ -1052,7 +1221,7 @@ class ModelAdmin(BaseModelAdmin): content_type__id__exact = ContentType.objects.get_for_model(model).id ).select_related().order_by('action_time') # If no history was found, see whether this object even exists. - obj = get_object_or_404(model, pk=object_id) + obj = get_object_or_404(model, pk=unquote(object_id)) context = { 'title': _('Change history: %s') % force_unicode(obj), 'action_list': action_list, @@ -1109,10 +1278,11 @@ class InlineModelAdmin(BaseModelAdmin): fk_name = None formset = BaseInlineFormSet extra = 3 - max_num = 0 + max_num = None template = None verbose_name = None verbose_name_plural = None + can_delete = True def __init__(self, parent_model, admin_site): self.admin_site = admin_site @@ -1126,9 +1296,10 @@ class InlineModelAdmin(BaseModelAdmin): def _media(self): from django.conf import settings - js = [] + js = ['js/jquery.min.js', 'js/jquery.init.js', 'js/inlines.min.js'] if self.prepopulated_fields: js.append('js/urlify.js') + js.append('js/prepopulate.min.js') if self.filter_vertical or self.filter_horizontal: js.extend(['js/SelectBox.js' , 'js/SelectFilter2.js']) return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js]) @@ -1144,17 +1315,21 @@ class InlineModelAdmin(BaseModelAdmin): exclude = [] else: exclude = list(self.exclude) + exclude.extend(kwargs.get("exclude", [])) + exclude.extend(self.get_readonly_fields(request, obj)) # if exclude is an empty list we use None, since that's the actual # default + exclude = exclude or None defaults = { "form": self.form, "formset": self.formset, "fk_name": self.fk_name, "fields": fields, - "exclude": (exclude + kwargs.get("exclude", [])) or None, + "exclude": exclude, "formfield_callback": curry(self.formfield_for_dbfield, request=request), "extra": self.extra, "max_num": self.max_num, + "can_delete": self.can_delete, } defaults.update(kwargs) return inlineformset_factory(self.parent_model, self.model, **defaults) @@ -1163,7 +1338,11 @@ class InlineModelAdmin(BaseModelAdmin): if self.declared_fieldsets: return self.declared_fieldsets form = self.get_formset(request).form - return [(None, {'fields': form.base_fields.keys()})] + fields = form.base_fields.keys() + list(self.get_readonly_fields(request, obj)) + return [(None, {'fields': fields})] + + def queryset(self, request): + return self.model._default_manager.all() class StackedInline(InlineModelAdmin): template = 'admin/edit_inline/stacked.html' diff --git a/django/contrib/admin/sites.py b/django/contrib/admin/sites.py index 25eac42f0..3860d8446 100644 --- a/django/contrib/admin/sites.py +++ b/django/contrib/admin/sites.py @@ -3,6 +3,8 @@ from django import http, template from django.contrib.admin import ModelAdmin from django.contrib.admin import actions from django.contrib.auth import authenticate, login +from django.contrib.contenttypes import views as contenttype_views +from django.views.decorators.csrf import csrf_protect from django.db.models.base import ModelBase from django.core.exceptions import ImproperlyConfigured from django.core.urlresolvers import reverse @@ -13,10 +15,6 @@ from django.utils.text import capfirst from django.utils.translation import ugettext_lazy, ugettext as _ from django.views.decorators.cache import never_cache from django.conf import settings -try: - set -except NameError: - from sets import Set as set # Python 2.3 fallback ERROR_MESSAGE = ugettext_lazy("Please enter a correct username and password. Note that both fields are case-sensitive.") LOGIN_FORM_KEY = 'this_is_the_login_form' @@ -36,8 +34,11 @@ class AdminSite(object): """ index_template = None - login_template = None app_index_template = None + login_template = None + logout_template = None + password_change_template = None + password_change_done_template = None def __init__(self, name=None, app_name='admin'): self._registry = {} # model_class class -> admin_class instance @@ -138,7 +139,7 @@ class AdminSite(object): Returns True if the given HttpRequest has permission to view *at least one* page in the admin site. """ - return request.user.is_authenticated() and request.user.is_staff + return request.user.is_active and request.user.is_staff def check_dependencies(self): """ @@ -151,11 +152,15 @@ class AdminSite(object): from django.contrib.contenttypes.models import ContentType if not LogEntry._meta.installed: - raise ImproperlyConfigured("Put 'django.contrib.admin' in your INSTALLED_APPS setting in order to use the admin application.") + raise ImproperlyConfigured("Put 'django.contrib.admin' in your " + "INSTALLED_APPS setting in order to use the admin application.") if not ContentType._meta.installed: - raise ImproperlyConfigured("Put 'django.contrib.contenttypes' in your INSTALLED_APPS setting in order to use the admin application.") - if 'django.core.context_processors.auth' not in settings.TEMPLATE_CONTEXT_PROCESSORS: - raise ImproperlyConfigured("Put 'django.core.context_processors.auth' in your TEMPLATE_CONTEXT_PROCESSORS setting in order to use the admin application.") + raise ImproperlyConfigured("Put 'django.contrib.contenttypes' in " + "your INSTALLED_APPS setting in order to use the admin application.") + if not ('django.contrib.auth.context_processors.auth' in settings.TEMPLATE_CONTEXT_PROCESSORS or + 'django.core.context_processors.auth' in settings.TEMPLATE_CONTEXT_PROCESSORS): + raise ImproperlyConfigured("Put 'django.contrib.auth.context_processors.auth' " + "in your TEMPLATE_CONTEXT_PROCESSORS setting in order to use the admin application.") def admin_view(self, view, cacheable=False): """ @@ -186,11 +191,18 @@ class AdminSite(object): return view(request, *args, **kwargs) if not cacheable: inner = never_cache(inner) + # We add csrf_protect here so this function can be used as a utility + # function for any view, without having to repeat 'csrf_protect'. + if not getattr(view, 'csrf_exempt', False): + inner = csrf_protect(inner) return update_wrapper(inner, view) def get_urls(self): from django.conf.urls.defaults import patterns, url, include + if settings.DEBUG: + self.check_dependencies() + def wrap(view, cacheable=False): def wrapper(*args, **kwargs): return self.admin_view(view, cacheable)(*args, **kwargs) @@ -214,7 +226,7 @@ class AdminSite(object): wrap(self.i18n_javascript, cacheable=True), name='jsi18n'), url(r'^r/(?P\d+)/(?P.+)/$', - 'django.views.defaults.shortcut'), + wrap(contenttype_views.shortcut)), url(r'^(?P\w+)/$', wrap(self.app_index), name='app_list') @@ -241,14 +253,22 @@ class AdminSite(object): url = '%spassword_change/done/' % self.root_path else: url = reverse('admin:password_change_done', current_app=self.name) - return password_change(request, post_change_redirect=url) + defaults = { + 'post_change_redirect': url + } + if self.password_change_template is not None: + defaults['template_name'] = self.password_change_template + return password_change(request, **defaults) def password_change_done(self, request): """ Displays the "success" page after a password change. """ from django.contrib.auth.views import password_change_done - return password_change_done(request) + defaults = {} + if self.password_change_done_template is not None: + defaults['template_name'] = self.password_change_done_template + return password_change_done(request, **defaults) def i18n_javascript(self, request): """ @@ -270,7 +290,10 @@ class AdminSite(object): This should *not* assume the user is already logged in. """ from django.contrib.auth.views import logout - return logout(request) + defaults = {} + if self.logout_template is not None: + defaults['template_name'] = self.logout_template + return logout(request, **defaults) logout = never_cache(logout) def login(self, request): @@ -313,8 +336,6 @@ class AdminSite(object): if user.check_password(password): message = _("Your e-mail address is not your username." " Try '%s' instead.") % user.username - else: - pass return self.display_login_form(request, message) # The user data is correct; log in the user in and continue. @@ -448,7 +469,7 @@ class AdminSite(object): import warnings warnings.warn( "AdminSite.root() is deprecated; use include(admin.site.urls) instead.", - PendingDeprecationWarning + DeprecationWarning ) # diff --git a/django/contrib/admin/templates/admin/actions.html b/django/contrib/admin/templates/admin/actions.html index bf4b975df..aaaa2458c 100644 --- a/django/contrib/admin/templates/admin/actions.html +++ b/django/contrib/admin/templates/admin/actions.html @@ -1,5 +1,16 @@ {% load i18n %}
                                                          - {% for field in action_form %}{% endfor %} + {% for field in action_form %}{% if field.label %}{% endif %}{% endfor %} + {% if actions_selection_counter %} + + {{ selection_note }} + {% if cl.result_count != cl.result_list|length %} + {{ selection_note_all }} + + {% blocktrans with cl.result_count as total_count %}Select all {{ total_count }} {{ module_name }}{% endblocktrans %} + + {% trans "Clear selection" %} + {% endif %} + {% endif %}
                                                          diff --git a/django/contrib/admin/templates/admin/auth/user/add_form.html b/django/contrib/admin/templates/admin/auth/user/add_form.html index 65824a6b7..c8889eb06 100644 --- a/django/contrib/admin/templates/admin/auth/user/add_form.html +++ b/django/contrib/admin/templates/admin/auth/user/add_form.html @@ -1,33 +1,14 @@ {% extends "admin/change_form.html" %} {% load i18n %} -{% block after_field_sets %} - -

                                                          {% trans "First, enter a username and password. Then, you'll be able to edit more user options." %}

                                                          - -
                                                          - -
                                                          - {{ form.username.errors }} - {# TODO: get required class on label_tag #} - {{ form.username }} -

                                                          {{ form.username.help_text }}

                                                          -
                                                          - -
                                                          - {{ form.password1.errors }} - {# TODO: get required class on label_tag #} - {{ form.password1 }} -
                                                          - -
                                                          - {{ form.password2.errors }} - {# TODO: get required class on label_tag #} - {{ form.password2 }} -

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

                                                          -
                                                          - - - -
                                                          +{% block form_top %} + {% if not is_popup %} +

                                                          {% trans "First, enter a username and password. Then, you'll be able to edit more user options." %}

                                                          + {% else %} +

                                                          {% trans "Enter a username and password." %}

                                                          + {% endif %} +{% endblock %} + +{% block after_field_sets %} + {% endblock %} diff --git a/django/contrib/admin/templates/admin/auth/user/change_password.html b/django/contrib/admin/templates/admin/auth/user/change_password.html index d28dd0f45..ab47385fb 100644 --- a/django/contrib/admin/templates/admin/auth/user/change_password.html +++ b/django/contrib/admin/templates/admin/auth/user/change_password.html @@ -1,7 +1,8 @@ {% extends "admin/base_site.html" %} {% load i18n admin_modify adminmedia %} {% block extrahead %}{{ block.super }} - +{% url admin:jsi18n as jsi18nurl %} + {% endblock %} {% block extrastyle %}{{ block.super }}{% endblock %} {% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %} @@ -15,7 +16,7 @@
                                                          {% endif %}{% endblock %} {% block content %}
                                                          -
                                                          {% block form_top %}{% endblock %} +{% csrf_token %}{% block form_top %}{% endblock %}
                                                          {% if is_popup %}{% endif %} {% if form.errors %} diff --git a/django/contrib/admin/templates/admin/base.html b/django/contrib/admin/templates/admin/base.html index 0daf658a3..f30ff273a 100644 --- a/django/contrib/admin/templates/admin/base.html +++ b/django/contrib/admin/templates/admin/base.html @@ -1,11 +1,12 @@ - + {% block title %}{% endblock %} {% block extrastyle %}{% endblock %} {% if LANGUAGE_BIDI %}{% endif %} + {% block extrahead %}{% endblock %} {% block blockbots %}{% endblock %} @@ -22,10 +23,10 @@
                                                          {% block branding %}{% endblock %}
                                                          - {% if user.is_authenticated and user.is_staff %} + {% if user.is_active and user.is_staff %}
                                                          {% trans 'Welcome,' %} - {% firstof user.first_name user.username %}. + {% filter force_escape %}{% firstof user.first_name user.username %}{% endfilter %}. {% block userlinks %} {% url django-admindocs-docroot as docsroot %} {% if docsroot %} @@ -57,7 +58,9 @@ {% endif %} {% if messages %} -
                                                            {% for message in messages %}
                                                          • {{ message }}
                                                          • {% endfor %}
                                                          +
                                                            {% for message in messages %} + {{ message }} + {% endfor %}
                                                          {% endif %} diff --git a/django/contrib/admin/templates/admin/change_form.html b/django/contrib/admin/templates/admin/change_form.html index f645d65a0..08347abe7 100644 --- a/django/contrib/admin/templates/admin/change_form.html +++ b/django/contrib/admin/templates/admin/change_form.html @@ -2,7 +2,8 @@ {% load i18n admin_modify adminmedia %} {% block extrahead %}{{ block.super }} - +{% url admin:jsi18n as jsi18nurl %} + {{ media }} {% endblock %} @@ -15,8 +16,8 @@ {% block breadcrumbs %}{% if not is_popup %} {% endif %}{% endblock %} @@ -29,7 +30,7 @@
                                                        {% endif %}{% endif %} {% endblock %} -{% block form_top %}{% endblock %} +{% csrf_token %}{% block form_top %}{% endblock %}
                                                        {% if is_popup %}{% endif %} {% if save_on_top %}{% submit_row %}{% endif %} @@ -37,7 +38,7 @@

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

                                                        -
                                                          {% for error in adminform.form.non_field_errors %}
                                                        • {{ error }}
                                                        • {% endfor %}
                                                        + {{ adminform.form.non_field_errors }} {% endif %} {% for fieldset in adminform %} @@ -55,7 +56,7 @@ {% submit_row %} {% if adminform and add %} - + {% endif %} {# JavaScript for prepopulated fields #} diff --git a/django/contrib/admin/templates/admin/change_list.html b/django/contrib/admin/templates/admin/change_list.html index 31bf7bd29..9ba9a0dbb 100644 --- a/django/contrib/admin/templates/admin/change_list.html +++ b/django/contrib/admin/templates/admin/change_list.html @@ -6,9 +6,12 @@ {% if cl.formset %} - {% endif %} - {{ media }} + {% if cl.formset or action_form %} + {% url admin:jsi18n as jsi18nurl %} + + {% endif %} + {{ media.css }} {% if not actions_on_top and not actions_on_bottom %} diff --git a/django/contrib/comments/templates/comments/approve.html b/django/contrib/comments/templates/comments/approve.html index a4306a6fc..78d15dbb0 100644 --- a/django/contrib/comments/templates/comments/approve.html +++ b/django/contrib/comments/templates/comments/approve.html @@ -6,8 +6,8 @@ {% block content %}

                                                        {% trans "Really make this comment public?" %}

                                                        {{ comment|linebreaks }}
                                                        - - {% if next %}{% endif %} + {% csrf_token %} + {% if next %}
                                                        {% endif %}

                                                        or cancel

                                                        diff --git a/django/contrib/comments/templates/comments/base.html b/django/contrib/comments/templates/comments/base.html index 36fc66f7d..c8b951749 100644 --- a/django/contrib/comments/templates/comments/base.html +++ b/django/contrib/comments/templates/comments/base.html @@ -1,7 +1,7 @@ - - + + - + {% block title %}{% endblock %} diff --git a/django/contrib/comments/templates/comments/delete.html b/django/contrib/comments/templates/comments/delete.html index 7d73eac97..50c9a4d1b 100644 --- a/django/contrib/comments/templates/comments/delete.html +++ b/django/contrib/comments/templates/comments/delete.html @@ -6,8 +6,8 @@ {% block content %}

                                                        {% trans "Really remove this comment?" %}

                                                        {{ comment|linebreaks }}
                                                        - - {% if next %}{% endif %} + {% csrf_token %} + {% if next %}
                                                        {% endif %}

                                                        or cancel

                                                        diff --git a/django/contrib/comments/templates/comments/flag.html b/django/contrib/comments/templates/comments/flag.html index 08dbe0b0b..ca7c77f11 100644 --- a/django/contrib/comments/templates/comments/flag.html +++ b/django/contrib/comments/templates/comments/flag.html @@ -6,8 +6,8 @@ {% block content %}

                                                        {% trans "Really flag this comment?" %}

                                                        {{ comment|linebreaks }}
                                                        - - {% if next %}{% endif %} + {% csrf_token %} + {% if next %}
                                                        {% endif %}

                                                        or cancel

                                                        diff --git a/django/contrib/comments/templates/comments/form.html b/django/contrib/comments/templates/comments/form.html index d8e248372..2a9ad557d 100644 --- a/django/contrib/comments/templates/comments/form.html +++ b/django/contrib/comments/templates/comments/form.html @@ -1,9 +1,9 @@ {% load comments i18n %} - - {% if next %}{% endif %} +{% csrf_token %} + {% if next %}
                                                        {% endif %} {% for field in form %} {% if field.is_hidden %} - {{ field }} +
                                                        {{ field }}
                                                        {% else %} {% if field.errors %}{{ field.errors }}{% endif %}

                                                        + {% for comment in comment_list %} +

                                                        + {{ comment.submit_date }} - {{ comment.name }} +
                                                        +
                                                        +

                                                        {{ comment.comment }}

                                                        +
                                                        + {% endfor %} + diff --git a/django/contrib/comments/templates/comments/preview.html b/django/contrib/comments/templates/comments/preview.html index d3884575f..b1607b90c 100644 --- a/django/contrib/comments/templates/comments/preview.html +++ b/django/contrib/comments/templates/comments/preview.html @@ -5,8 +5,8 @@ {% block content %} {% load comments %} - - {% if next %}{% endif %} + {% csrf_token %} + {% if next %}
                                                        {% endif %} {% if form.errors %}

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

                                                        {% else %} @@ -18,7 +18,7 @@ {% endif %} {% for field in form %} {% if field.is_hidden %} - {{ field }} +
                                                        {{ field }}
                                                        {% else %} {% if field.errors %}{{ field.errors }}{% endif %}

                                                        + """ return comments.get_form_target() +#@register.simple_tag +def get_comment_permalink(comment, anchor_pattern=None): + """ + Get the permalink for a comment, optionally specifying the format of the + named anchor to be appended to the end of the URL. + + Example:: + {{ get_comment_permalink comment "#c%(id)s-by-%(user_name)s" }} + """ + + if anchor_pattern: + return comment.get_absolute_url(anchor_pattern) + return comment.get_absolute_url() + register.tag(get_comment_count) register.tag(get_comment_list) register.tag(get_comment_form) register.tag(render_comment_form) register.simple_tag(comment_form_target) +register.simple_tag(get_comment_permalink) +register.tag(render_comment_list) diff --git a/django/contrib/comments/urls.py b/django/contrib/comments/urls.py index 5caef9c7d..d9037799d 100644 --- a/django/contrib/comments/urls.py +++ b/django/contrib/comments/urls.py @@ -7,12 +7,10 @@ urlpatterns = patterns('django.contrib.comments.views', url(r'^flagged/$', 'moderation.flag_done', name='comments-flag-done'), url(r'^delete/(\d+)/$', 'moderation.delete', name='comments-delete'), url(r'^deleted/$', 'moderation.delete_done', name='comments-delete-done'), - url(r'^moderate/$', 'moderation.moderation_queue', name='comments-moderation-queue'), url(r'^approve/(\d+)/$', 'moderation.approve', name='comments-approve'), url(r'^approved/$', 'moderation.approve_done', name='comments-approve-done'), ) urlpatterns += patterns('', - url(r'^cr/(\d+)/(.+)/$', 'django.views.defaults.shortcut', name='comments-url-redirect'), + url(r'^cr/(\d+)/(.+)/$', 'django.contrib.contenttypes.views.shortcut', name='comments-url-redirect'), ) - diff --git a/django/contrib/comments/views/comments.py b/django/contrib/comments/views/comments.py index 89a3dd9bb..c2b553fe0 100644 --- a/django/contrib/comments/views/comments.py +++ b/django/contrib/comments/views/comments.py @@ -1,7 +1,7 @@ from django import http from django.conf import settings from utils import next_redirect, confirmation_view -from django.core.exceptions import ObjectDoesNotExist +from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.db import models from django.shortcuts import render_to_response from django.template import RequestContext @@ -10,6 +10,7 @@ from django.utils.html import escape from django.views.decorators.http import require_POST from django.contrib import comments from django.contrib.comments import signals +from django.views.decorators.csrf import csrf_protect class CommentPostBadRequest(http.HttpResponseBadRequest): """ @@ -22,7 +23,9 @@ class CommentPostBadRequest(http.HttpResponseBadRequest): if settings.DEBUG: self.content = render_to_string("comments/400-debug.html", {"why": why}) -def post_comment(request, next=None): +@csrf_protect +@require_POST +def post_comment(request, next=None, using=None): """ Post a comment. @@ -47,7 +50,7 @@ def post_comment(request, next=None): return CommentPostBadRequest("Missing content_type or object_pk field.") try: model = models.get_model(*ctype.split(".", 1)) - target = model._default_manager.get(pk=object_pk) + target = model._default_manager.using(using).get(pk=object_pk) except TypeError: return CommentPostBadRequest( "Invalid content_type value: %r" % escape(ctype)) @@ -59,6 +62,10 @@ def post_comment(request, next=None): return CommentPostBadRequest( "No object matching content-type %r and object PK %r exists." % \ (escape(ctype), escape(object_pk))) + except (ValueError, ValidationError), e: + return CommentPostBadRequest( + "Attempting go get content-type %r and object PK %r exists raised %s" % \ + (escape(ctype), escape(object_pk), e.__class__.__name__)) # Do we want to preview the comment? preview = "preview" in data @@ -75,8 +82,14 @@ def post_comment(request, next=None): # If there are errors or if we requested a preview show the comment if form.errors or preview: template_list = [ - "comments/%s_%s_preview.html" % tuple(str(model._meta).split(".")), + # These first two exist for purely historical reasons. + # Django v1.0 and v1.1 allowed the underscore format for + # preview templates, so we have to preserve that format. + "comments/%s_%s_preview.html" % (model._meta.app_label, model._meta.module_name), "comments/%s_preview.html" % model._meta.app_label, + # Now the usual directory based template heirarchy. + "comments/%s/%s/preview.html" % (model._meta.app_label, model._meta.module_name), + "comments/%s/preview.html" % model._meta.app_label, "comments/preview.html", ] return render_to_response( @@ -116,8 +129,6 @@ def post_comment(request, next=None): return next_redirect(data, next, comment_done, c=comment._get_pk_val()) -post_comment = require_POST(post_comment) - comment_done = confirmation_view( template = "comments/posted.html", doc = """Display a "comment was posted" success page.""" diff --git a/django/contrib/comments/views/moderation.py b/django/contrib/comments/views/moderation.py index 3334b0927..73304ba41 100644 --- a/django/contrib/comments/views/moderation.py +++ b/django/contrib/comments/views/moderation.py @@ -3,12 +3,12 @@ from django.conf import settings from django.shortcuts import get_object_or_404, render_to_response from django.contrib.auth.decorators import login_required, permission_required from utils import next_redirect, confirmation_view -from django.core.paginator import Paginator, InvalidPage -from django.http import Http404 from django.contrib import comments from django.contrib.comments import signals +from django.views.decorators.csrf import csrf_protect -#@login_required +@csrf_protect +@login_required def flag(request, comment_id, next=None): """ Flags a comment. Confirmation on GET, action on POST. @@ -22,18 +22,7 @@ def flag(request, comment_id, next=None): # Flag on POST if request.method == 'POST': - flag, created = comments.models.CommentFlag.objects.get_or_create( - comment = comment, - user = request.user, - flag = comments.models.CommentFlag.SUGGEST_REMOVAL - ) - signals.comment_was_flagged.send( - sender = comment.__class__, - comment = comment, - flag = flag, - created = created, - request = request, - ) + perform_flag(request, comment) return next_redirect(request.POST.copy(), next, flag_done, c=comment.pk) # Render a form on GET @@ -42,9 +31,9 @@ def flag(request, comment_id, next=None): {'comment': comment, "next": next}, template.RequestContext(request) ) -flag = login_required(flag) -#@permission_required("comments.delete_comment") +@csrf_protect +@permission_required("comments.can_moderate") def delete(request, comment_id, next=None): """ Deletes a comment. Confirmation on GET, action on POST. Requires the "can @@ -60,20 +49,7 @@ def delete(request, comment_id, next=None): # Delete on POST if request.method == 'POST': # Flag the comment as deleted instead of actually deleting it. - flag, created = comments.models.CommentFlag.objects.get_or_create( - comment = comment, - user = request.user, - flag = comments.models.CommentFlag.MODERATOR_DELETION - ) - comment.is_removed = True - comment.save() - signals.comment_was_flagged.send( - sender = comment.__class__, - comment = comment, - flag = flag, - created = created, - request = request, - ) + perform_delete(request, comment) return next_redirect(request.POST.copy(), next, delete_done, c=comment.pk) # Render a form on GET @@ -82,9 +58,9 @@ def delete(request, comment_id, next=None): {'comment': comment, "next": next}, template.RequestContext(request) ) -delete = permission_required("comments.can_moderate")(delete) -#@permission_required("comments.can_moderate") +@csrf_protect +@permission_required("comments.can_moderate") def approve(request, comment_id, next=None): """ Approve a comment (that is, mark it as public and non-removed). Confirmation @@ -100,23 +76,7 @@ def approve(request, comment_id, next=None): # Delete on POST if request.method == 'POST': # Flag the comment as approved. - flag, created = comments.models.CommentFlag.objects.get_or_create( - comment = comment, - user = request.user, - flag = comments.models.CommentFlag.MODERATOR_APPROVAL, - ) - - comment.is_removed = False - comment.is_public = True - comment.save() - - signals.comment_was_flagged.send( - sender = comment.__class__, - comment = comment, - flag = flag, - created = created, - request = request, - ) + perform_approve(request, comment) return next_redirect(request.POST.copy(), next, approve_done, c=comment.pk) # Render a form on GET @@ -126,69 +86,64 @@ def approve(request, comment_id, next=None): template.RequestContext(request) ) -approve = permission_required("comments.can_moderate")(approve) +# The following functions actually perform the various flag/aprove/delete +# actions. They've been broken out into seperate functions to that they +# may be called from admin actions. - -#@permission_required("comments.can_moderate") -def moderation_queue(request): +def perform_flag(request, comment): """ - Displays a list of unapproved comments to be approved. - - Templates: `comments/moderation_queue.html` - Context: - comments - Comments to be approved (paginated). - empty - Is the comment list empty? - is_paginated - Is there more than one page? - results_per_page - Number of comments per page - has_next - Is there a next page? - has_previous - Is there a previous page? - page - The current page number - next - The next page number - pages - Number of pages - hits - Total number of comments - page_range - Range of page numbers - + Actually perform the flagging of a comment from a request. """ - qs = comments.get_model().objects.filter(is_public=False, is_removed=False) - paginator = Paginator(qs, 100) + flag, created = comments.models.CommentFlag.objects.get_or_create( + comment = comment, + user = request.user, + flag = comments.models.CommentFlag.SUGGEST_REMOVAL + ) + signals.comment_was_flagged.send( + sender = comment.__class__, + comment = comment, + flag = flag, + created = created, + request = request, + ) - try: - page = int(request.GET.get("page", 1)) - except ValueError: - raise Http404 +def perform_delete(request, comment): + flag, created = comments.models.CommentFlag.objects.get_or_create( + comment = comment, + user = request.user, + flag = comments.models.CommentFlag.MODERATOR_DELETION + ) + comment.is_removed = True + comment.save() + signals.comment_was_flagged.send( + sender = comment.__class__, + comment = comment, + flag = flag, + created = created, + request = request, + ) - try: - comments_per_page = paginator.page(page) - except InvalidPage: - raise Http404 - return render_to_response("comments/moderation_queue.html", { - 'comments' : comments_per_page.object_list, - 'empty' : page == 1 and paginator.count == 0, - 'is_paginated': paginator.num_pages > 1, - 'results_per_page': 100, - 'has_next': comments_per_page.has_next(), - 'has_previous': comments_per_page.has_previous(), - 'page': page, - 'next': page + 1, - 'previous': page - 1, - 'pages': paginator.num_pages, - 'hits' : paginator.count, - 'page_range' : paginator.page_range - }, context_instance=template.RequestContext(request)) +def perform_approve(request, comment): + flag, created = comments.models.CommentFlag.objects.get_or_create( + comment = comment, + user = request.user, + flag = comments.models.CommentFlag.MODERATOR_APPROVAL, + ) -moderation_queue = permission_required("comments.can_moderate")(moderation_queue) + comment.is_removed = False + comment.is_public = True + comment.save() + + signals.comment_was_flagged.send( + sender = comment.__class__, + comment = comment, + flag = flag, + created = created, + request = request, + ) + +# Confirmation views. flag_done = confirmation_view( template = "comments/flagged.html", diff --git a/django/contrib/comments/views/utils.py b/django/contrib/comments/views/utils.py index c5c900d47..cc985e52d 100644 --- a/django/contrib/comments/views/utils.py +++ b/django/contrib/comments/views/utils.py @@ -25,8 +25,15 @@ def next_redirect(data, default, default_view, **get_kwargs): if next is None: next = urlresolvers.reverse(default_view) if get_kwargs: + if '#' in next: + tmp = next.rsplit('#', 1) + next = tmp[0] + anchor = '#' + tmp[1] + else: + anchor = '' + joiner = ('?' in next) and '&' or '?' - next += joiner + urllib.urlencode(get_kwargs) + next += joiner + urllib.urlencode(get_kwargs) + anchor return HttpResponseRedirect(next) def confirmation_view(template, doc="Display a confirmation view."): @@ -39,7 +46,7 @@ def confirmation_view(template, doc="Display a confirmation view."): if 'c' in request.GET: try: comment = comments.get_model().objects.get(pk=request.GET['c']) - except ObjectDoesNotExist: + except (ObjectDoesNotExist, ValueError): pass return render_to_response(template, {'comment': comment}, diff --git a/django/contrib/contenttypes/generic.py b/django/contrib/contenttypes/generic.py index 4df48ff9f..a14f700cd 100644 --- a/django/contrib/contenttypes/generic.py +++ b/django/contrib/contenttypes/generic.py @@ -5,7 +5,7 @@ Classes allowing "generic" relations through ContentType and object-id fields. from django.core.exceptions import ObjectDoesNotExist from django.db import connection from django.db.models import signals -from django.db import models +from django.db import models, router from django.db.models.fields.related import RelatedField, Field, ManyToManyRel from django.db.models.loading import get_model from django.forms import ModelForm @@ -45,14 +45,14 @@ class GenericForeignKey(object): kwargs[self.ct_field] = self.get_content_type(obj=value) kwargs[self.fk_field] = value._get_pk_val() - def get_content_type(self, obj=None, id=None): + def get_content_type(self, obj=None, id=None, using=None): # Convenience function using get_model avoids a circular import when # using this model ContentType = get_model("contenttypes", "contenttype") if obj: - return ContentType.objects.get_for_model(obj) + return ContentType.objects.db_manager(obj._state.db).get_for_model(obj) elif id: - return ContentType.objects.get_for_id(id) + return ContentType.objects.db_manager(using).get_for_id(id) else: # This should never happen. I love comments like this, don't you? raise Exception("Impossible arguments to GFK.get_content_type!") @@ -73,7 +73,7 @@ class GenericForeignKey(object): f = self.model._meta.get_field(self.ct_field) ct_id = getattr(instance, f.get_attname(), None) if ct_id: - ct = self.get_content_type(id=ct_id) + ct = self.get_content_type(id=ct_id, using=instance._state.db) try: rel_obj = ct.get_object_for_this_type(pk=getattr(instance, self.fk_field)) except ObjectDoesNotExist: @@ -83,7 +83,7 @@ class GenericForeignKey(object): def __set__(self, instance, value): if instance is None: - raise AttributeError, u"%s must be accessed via instance" % self.related.opts.object_name + raise AttributeError(u"%s must be accessed via instance" % self.related.opts.object_name) ct = None fk = None @@ -105,8 +105,6 @@ class GenericRelation(RelatedField, Field): limit_choices_to=kwargs.pop('limit_choices_to', None), symmetrical=kwargs.pop('symmetrical', True)) - # By its very nature, a GenericRelation doesn't create a table. - self.creates_table = False # Override content-type/object-id field names on the related class self.object_id_field_name = kwargs.pop("object_id_field", "object_id") @@ -131,7 +129,13 @@ class GenericRelation(RelatedField, Field): return self.object_id_field_name def m2m_reverse_name(self): - return self.model._meta.pk.column + return self.rel.to._meta.pk.column + + def m2m_target_field_name(self): + return self.model._meta.pk.name + + def m2m_reverse_target_field_name(self): + return self.rel.to._meta.pk.name def contribute_to_class(self, cls, name): super(GenericRelation, self).contribute_to_class(cls, name) @@ -151,7 +155,7 @@ class GenericRelation(RelatedField, Field): def get_internal_type(self): return "ManyToManyField" - def db_type(self): + def db_type(self, connection): # Since we're simulating a ManyToManyField, in effect, best return the # same db_type as well. return None @@ -203,7 +207,7 @@ class ReverseGenericRelatedObjectsDescriptor(object): join_table = qn(self.field.m2m_db_table()), source_col_name = qn(self.field.m2m_column_name()), target_col_name = qn(self.field.m2m_reverse_name()), - content_type = ContentType.objects.get_for_model(instance), + content_type = ContentType.objects.db_manager(instance._state.db).get_for_model(instance), content_type_field_name = self.field.content_type_field_name, object_id_field_name = self.field.object_id_field_name ) @@ -212,7 +216,7 @@ class ReverseGenericRelatedObjectsDescriptor(object): def __set__(self, instance, value): if instance is None: - raise AttributeError, "Manager must be accessed via instance" + raise AttributeError("Manager must be accessed via instance") manager = self.__get__(instance) manager.clear() @@ -245,35 +249,39 @@ def create_generic_related_manager(superclass): self.pk_val = self.instance._get_pk_val() def get_query_set(self): + db = self._db or router.db_for_read(self.model, instance=self.instance) query = { '%s__pk' % self.content_type_field_name : self.content_type.id, '%s__exact' % self.object_id_field_name : self.pk_val, } - return superclass.get_query_set(self).filter(**query) + return superclass.get_query_set(self).using(db).filter(**query) def add(self, *objs): for obj in objs: if not isinstance(obj, self.model): - raise TypeError, "'%s' instance expected" % self.model._meta.object_name + raise TypeError("'%s' instance expected" % self.model._meta.object_name) setattr(obj, self.content_type_field_name, self.content_type) setattr(obj, self.object_id_field_name, self.pk_val) obj.save() add.alters_data = True def remove(self, *objs): + db = router.db_for_write(self.model, instance=self.instance) for obj in objs: - obj.delete() + obj.delete(using=db) remove.alters_data = True def clear(self): + db = router.db_for_write(self.model, instance=self.instance) for obj in self.all(): - obj.delete() + obj.delete(using=db) clear.alters_data = True def create(self, **kwargs): kwargs[self.content_type_field_name] = self.content_type kwargs[self.object_id_field_name] = self.pk_val - return super(GenericRelatedObjectManager, self).create(**kwargs) + db = router.db_for_write(self.model, instance=self.instance) + return super(GenericRelatedObjectManager, self).using(db).create(**kwargs) create.alters_data = True return GenericRelatedObjectManager @@ -291,18 +299,28 @@ class BaseGenericInlineFormSet(BaseModelFormSet): """ A formset for generic inline objects to a parent. """ - ct_field_name = "content_type" - ct_fk_field_name = "object_id" - def __init__(self, data=None, files=None, instance=None, save_as_new=None, prefix=None): + def __init__(self, data=None, files=None, instance=None, save_as_new=None, + prefix=None, queryset=None): + # Avoid a circular import. + from django.contrib.contenttypes.models import ContentType opts = self.model._meta self.instance = instance self.rel_name = '-'.join(( opts.app_label, opts.object_name.lower(), self.ct_field.name, self.ct_fk_field.name, )) + if self.instance is None or self.instance.pk is None: + qs = self.model._default_manager.none() + else: + if queryset is None: + queryset = self.model._default_manager + qs = queryset.filter(**{ + self.ct_field.name: ContentType.objects.get_for_model(self.instance), + self.ct_fk_field.name: self.instance.pk, + }) super(BaseGenericInlineFormSet, self).__init__( - queryset=self.get_queryset(), data=data, files=files, + queryset=qs, data=data, files=files, prefix=prefix ) @@ -314,16 +332,6 @@ class BaseGenericInlineFormSet(BaseModelFormSet): )) get_default_prefix = classmethod(get_default_prefix) - def get_queryset(self): - # Avoid a circular import. - from django.contrib.contenttypes.models import ContentType - if self.instance is None or self.instance.pk is None: - return self.model._default_manager.none() - return self.model._default_manager.filter(**{ - self.ct_field.name: ContentType.objects.get_for_model(self.instance), - self.ct_fk_field.name: self.instance.pk, - }) - def save_new(self, form, commit=True): # Avoid a circular import. from django.contrib.contenttypes.models import ContentType @@ -339,7 +347,7 @@ def generic_inlineformset_factory(model, form=ModelForm, ct_field="content_type", fk_field="object_id", fields=None, exclude=None, extra=3, can_order=False, can_delete=True, - max_num=0, + max_num=None, formfield_callback=lambda f: f.formfield()): """ Returns an ``GenericInlineFormSet`` for the given kwargs. @@ -379,6 +387,12 @@ class GenericInlineModelAdmin(InlineModelAdmin): fields = flatten_fieldsets(self.declared_fieldsets) else: fields = None + if self.exclude is None: + exclude = [] + else: + exclude = list(self.exclude) + exclude.extend(self.get_readonly_fields(request, obj)) + exclude = exclude or None defaults = { "ct_field": self.ct_field, "fk_field": self.ct_fk_field, @@ -386,11 +400,11 @@ class GenericInlineModelAdmin(InlineModelAdmin): "formfield_callback": self.formfield_for_dbfield, "formset": self.formset, "extra": self.extra, - "can_delete": True, + "can_delete": self.can_delete, "can_order": False, "fields": fields, "max_num": self.max_num, - "exclude": self.exclude + "exclude": exclude } return generic_inlineformset_factory(self.model, **defaults) diff --git a/django/contrib/contenttypes/management.py b/django/contrib/contenttypes/management.py index 736e21366..27d12751f 100644 --- a/django/contrib/contenttypes/management.py +++ b/django/contrib/contenttypes/management.py @@ -25,16 +25,34 @@ def update_contenttypes(app, created_models, verbosity=2, **kwargs): if verbosity >= 2: print "Adding content type '%s | %s'" % (ct.app_label, ct.model) # The presence of any remaining content types means the supplied app has an - # undefined model and can safely be removed, which cascades to also remove - # related permissions. - for ct in content_types: - if verbosity >= 2: - print "Deleting stale content type '%s | %s'" % (ct.app_label, ct.model) - ct.delete() + # undefined model. Confirm that the content type is stale before deletion. + if content_types: + if kwargs.get('interactive', False): + content_type_display = '\n'.join([' %s | %s' % (ct.app_label, ct.model) for ct in content_types]) + ok_to_delete = raw_input("""The following content types are stale and need to be deleted: -def update_all_contenttypes(verbosity=2): +%s + +Any objects related to these content types by a foreign key will also +be deleted. Are you sure you want to delete these content types? +If you're unsure, answer 'no'. + + Type 'yes' to continue, or 'no' to cancel: """ % content_type_display) + else: + ok_to_delete = False + + if ok_to_delete == 'yes': + for ct in content_types: + if verbosity >= 2: + print "Deleting stale content type '%s | %s'" % (ct.app_label, ct.model) + ct.delete() + else: + if verbosity >= 2: + print "Stale content types remain." + +def update_all_contenttypes(verbosity=2, **kwargs): for app in get_apps(): - update_contenttypes(app, None, verbosity) + update_contenttypes(app, None, verbosity, **kwargs) signals.post_syncdb.connect(update_contenttypes) diff --git a/django/contrib/contenttypes/models.py b/django/contrib/contenttypes/models.py index def7ce698..af3abf249 100644 --- a/django/contrib/contenttypes/models.py +++ b/django/contrib/contenttypes/models.py @@ -8,6 +8,13 @@ class ContentTypeManager(models.Manager): # This cache is shared by all the get_for_* methods. _cache = {} + def get_by_natural_key(self, app_label, model): + try: + ct = self.__class__._cache[self.db][(app_label, model)] + except KeyError: + ct = self.get(app_label=app_label, model=model) + return ct + def get_for_model(self, model): """ Returns the ContentType object for a given model, creating the @@ -20,7 +27,7 @@ class ContentTypeManager(models.Manager): opts = model._meta key = (opts.app_label, opts.object_name.lower()) try: - ct = self.__class__._cache[key] + ct = self.__class__._cache[self.db][key] except KeyError: # Load or create the ContentType entry. The smart_unicode() is # needed around opts.verbose_name_raw because name_raw might be a @@ -30,7 +37,7 @@ class ContentTypeManager(models.Manager): model = opts.object_name.lower(), defaults = {'name': smart_unicode(opts.verbose_name_raw)}, ) - self._add_to_cache(ct) + self._add_to_cache(self.db, ct) return ct @@ -40,12 +47,12 @@ class ContentTypeManager(models.Manager): (though ContentTypes are obviously not created on-the-fly by get_by_id). """ try: - ct = self.__class__._cache[id] + ct = self.__class__._cache[self.db][id] except KeyError: # This could raise a DoesNotExist; that's correct behavior and will # make sure that only correct ctypes get stored in the cache dict. ct = self.get(pk=id) - self._add_to_cache(ct) + self._add_to_cache(self.db, ct) return ct def clear_cache(self): @@ -57,12 +64,12 @@ class ContentTypeManager(models.Manager): """ self.__class__._cache.clear() - def _add_to_cache(self, ct): + def _add_to_cache(self, using, ct): """Insert a ContentType into the cache.""" model = ct.model_class() key = (model._meta.app_label, model._meta.object_name.lower()) - self.__class__._cache[key] = ct - self.__class__._cache[ct.id] = ct + self.__class__._cache.setdefault(using, {})[key] = ct + self.__class__._cache.setdefault(using, {})[ct.id] = ct class ContentType(models.Model): name = models.CharField(max_length=100) @@ -92,4 +99,7 @@ class ContentType(models.Model): method. The ObjectNotExist exception, if thrown, will not be caught, so code that calls this method should catch it. """ - return self.model_class()._default_manager.get(**kwargs) + return self.model_class()._default_manager.using(self._state.db).get(**kwargs) + + def natural_key(self): + return (self.app_label, self.model) diff --git a/django/contrib/contenttypes/tests.py b/django/contrib/contenttypes/tests.py index 148edfcbb..b6b1c5099 100644 --- a/django/contrib/contenttypes/tests.py +++ b/django/contrib/contenttypes/tests.py @@ -1,47 +1,75 @@ -""" -Make sure that the content type cache (see ContentTypeManager) works correctly. -Lookups for a particular content type -- by model or by ID -- should hit the -database only on the first lookup. +from django import db +from django.conf import settings +from django.contrib.contenttypes.models import ContentType +from django.contrib.sites.models import Site +from django.contrib.contenttypes.views import shortcut +from django.core.exceptions import ObjectDoesNotExist +from django.http import HttpRequest +from django.test import TestCase -First, let's make sure we're dealing with a blank slate (and that DEBUG is on so -that queries get logged):: - >>> from django.conf import settings - >>> settings.DEBUG = True +class ContentTypesTests(TestCase): - >>> from django.contrib.contenttypes.models import ContentType - >>> ContentType.objects.clear_cache() + def setUp(self): + # First, let's make sure we're dealing with a blank slate (and that + # DEBUG is on so that queries get logged) + self.old_DEBUG = settings.DEBUG + self.old_Site_meta_installed = Site._meta.installed + settings.DEBUG = True + ContentType.objects.clear_cache() + db.reset_queries() - >>> from django import db - >>> db.reset_queries() - -At this point, a lookup for a ContentType should hit the DB:: + def tearDown(self): + settings.DEBUG = self.old_DEBUG + Site._meta.installed = self.old_Site_meta_installed + ContentType.objects.clear_cache() - >>> ContentType.objects.get_for_model(ContentType) - - - >>> len(db.connection.queries) - 1 + def test_lookup_cache(self): + """ + Make sure that the content type cache (see ContentTypeManager) + works correctly. Lookups for a particular content type -- by model or + by ID -- should hit the database only on the first lookup. + """ -A second hit, though, won't hit the DB, nor will a lookup by ID:: + # At this point, a lookup for a ContentType should hit the DB + ContentType.objects.get_for_model(ContentType) + self.assertEqual(1, len(db.connection.queries)) - >>> ct = ContentType.objects.get_for_model(ContentType) - >>> len(db.connection.queries) - 1 - >>> ContentType.objects.get_for_id(ct.id) - - >>> len(db.connection.queries) - 1 + # A second hit, though, won't hit the DB, nor will a lookup by ID + ct = ContentType.objects.get_for_model(ContentType) + self.assertEqual(1, len(db.connection.queries)) + ContentType.objects.get_for_id(ct.id) + self.assertEqual(1, len(db.connection.queries)) -Once we clear the cache, another lookup will again hit the DB:: + # Once we clear the cache, another lookup will again hit the DB + ContentType.objects.clear_cache() + ContentType.objects.get_for_model(ContentType) + len(db.connection.queries) + self.assertEqual(2, len(db.connection.queries)) - >>> ContentType.objects.clear_cache() - >>> ContentType.objects.get_for_model(ContentType) - - >>> len(db.connection.queries) - 2 + def test_shortcut_view(self): + """ + Check that the shortcut view (used for the admin "view on site" + functionality) returns a complete URL regardless of whether the sites + framework is installed + """ -Don't forget to reset DEBUG! + request = HttpRequest() + request.META = { + "SERVER_NAME": "Example.com", + "SERVER_PORT": "80", + } + from django.contrib.auth.models import User + user_ct = ContentType.objects.get_for_model(User) + obj = User.objects.create(username="john") - >>> settings.DEBUG = False -""" \ No newline at end of file + if Site._meta.installed: + current_site = Site.objects.get_current() + response = shortcut(request, user_ct.id, obj.id) + self.assertEqual("http://%s/users/john/" % current_site.domain, + response._headers.get("location")[1]) + + Site._meta.installed = False + response = shortcut(request, user_ct.id, obj.id) + self.assertEqual("http://Example.com/users/john/", + response._headers.get("location")[1]) diff --git a/django/contrib/contenttypes/views.py b/django/contrib/contenttypes/views.py index 4285be36c..ac0feffe7 100644 --- a/django/contrib/contenttypes/views.py +++ b/django/contrib/contenttypes/views.py @@ -1,6 +1,6 @@ from django import http from django.contrib.contenttypes.models import ContentType -from django.contrib.sites.models import Site +from django.contrib.sites.models import Site, get_current_site from django.core.exceptions import ObjectDoesNotExist def shortcut(request, content_type_id, object_id): @@ -8,8 +8,10 @@ def shortcut(request, content_type_id, object_id): # Look up the object, making sure it's got a get_absolute_url() function. try: content_type = ContentType.objects.get(pk=content_type_id) + if not content_type.model_class(): + raise http.Http404("Content type %s object has no associated model" % content_type_id) obj = content_type.get_object_for_this_type(pk=object_id) - except ObjectDoesNotExist: + except (ObjectDoesNotExist, ValueError): raise http.Http404("Content type %s object %s doesn't exist" % (content_type_id, object_id)) try: absurl = obj.get_absolute_url() @@ -26,35 +28,37 @@ def shortcut(request, content_type_id, object_id): # Otherwise, we need to introspect the object's relationships for a # relation to the Site object object_domain = None - opts = obj._meta - # First, look for an many-to-many relationship to Site. - for field in opts.many_to_many: - if field.rel.to is Site: - try: - # Caveat: In the case of multiple related Sites, this just - # selects the *first* one, which is arbitrary. - object_domain = getattr(obj, field.name).all()[0].domain - except IndexError: - pass - if object_domain is not None: - break + if Site._meta.installed: + opts = obj._meta - # Next, look for a many-to-one relationship to Site. - if object_domain is None: - for field in obj._meta.fields: - if field.rel and field.rel.to is Site: + # First, look for an many-to-many relationship to Site. + for field in opts.many_to_many: + if field.rel.to is Site: try: - object_domain = getattr(obj, field.name).domain - except Site.DoesNotExist: + # Caveat: In the case of multiple related Sites, this just + # selects the *first* one, which is arbitrary. + object_domain = getattr(obj, field.name).all()[0].domain + except IndexError: pass if object_domain is not None: break + # Next, look for a many-to-one relationship to Site. + if object_domain is None: + for field in obj._meta.fields: + if field.rel and field.rel.to is Site: + try: + object_domain = getattr(obj, field.name).domain + except Site.DoesNotExist: + pass + if object_domain is not None: + break + # Fall back to the current site (if possible). if object_domain is None: try: - object_domain = Site.objects.get_current().domain + object_domain = get_current_site(request).domain except Site.DoesNotExist: pass diff --git a/django/contrib/csrf/middleware.py b/django/contrib/csrf/middleware.py index 0d0a8eca9..4885cfcc3 100644 --- a/django/contrib/csrf/middleware.py +++ b/django/contrib/csrf/middleware.py @@ -1,160 +1,7 @@ -""" -Cross Site Request Forgery Middleware. +from django.middleware.csrf import CsrfMiddleware, CsrfViewMiddleware, CsrfResponseMiddleware +from django.views.decorators.csrf import csrf_exempt, csrf_view_exempt, csrf_response_exempt -This module provides a middleware that implements protection -against request forgeries from other sites. -""" - -import re -import itertools -try: - from functools import wraps -except ImportError: - from django.utils.functional import wraps # Python 2.3, 2.4 fallback. - -from django.conf import settings -from django.http import HttpResponseForbidden -from django.utils.hashcompat import md5_constructor -from django.utils.safestring import mark_safe - -_ERROR_MSG = mark_safe('

                                                        403 Forbidden

                                                        Cross Site Request Forgery detected. Request aborted.

                                                        ') - -_POST_FORM_RE = \ - re.compile(r'(]*\bmethod\s*=\s*(\'|"|)POST(\'|"|)\b[^>]*>)', re.IGNORECASE) - -_HTML_TYPES = ('text/html', 'application/xhtml+xml') - -def _make_token(session_id): - return md5_constructor(settings.SECRET_KEY + session_id).hexdigest() - -class CsrfViewMiddleware(object): - """ - Middleware that requires a present and correct csrfmiddlewaretoken - for POST requests that have an active session. - """ - def process_view(self, request, callback, callback_args, callback_kwargs): - if request.method == 'POST': - if getattr(callback, 'csrf_exempt', False): - return None - - if request.is_ajax(): - return None - - try: - session_id = request.COOKIES[settings.SESSION_COOKIE_NAME] - except KeyError: - # No session, no check required - return None - - csrf_token = _make_token(session_id) - # check incoming token - try: - request_csrf_token = request.POST['csrfmiddlewaretoken'] - except KeyError: - return HttpResponseForbidden(_ERROR_MSG) - - if request_csrf_token != csrf_token: - return HttpResponseForbidden(_ERROR_MSG) - - return None - -class CsrfResponseMiddleware(object): - """ - Middleware that post-processes a response to add a - csrfmiddlewaretoken if the response/request have an active - session. - """ - def process_response(self, request, response): - if getattr(response, 'csrf_exempt', False): - return response - - csrf_token = None - try: - # This covers a corner case in which the outgoing response - # both contains a form and sets a session cookie. This - # really should not be needed, since it is best if views - # that create a new session (login pages) also do a - # redirect, as is done by all such view functions in - # Django. - cookie = response.cookies[settings.SESSION_COOKIE_NAME] - csrf_token = _make_token(cookie.value) - except KeyError: - # Normal case - look for existing session cookie - try: - session_id = request.COOKIES[settings.SESSION_COOKIE_NAME] - csrf_token = _make_token(session_id) - except KeyError: - # no incoming or outgoing cookie - pass - - if csrf_token is not None and \ - response['Content-Type'].split(';')[0] in _HTML_TYPES: - - # ensure we don't add the 'id' attribute twice (HTML validity) - idattributes = itertools.chain(("id='csrfmiddlewaretoken'",), - itertools.repeat('')) - def add_csrf_field(match): - """Returns the matched tag plus the added element""" - return mark_safe(match.group() + "
                                                        " + \ - "
                                                        ") - - # Modify any POST forms - response.content = _POST_FORM_RE.sub(add_csrf_field, response.content) - return response - -class CsrfMiddleware(CsrfViewMiddleware, CsrfResponseMiddleware): - """Django middleware that adds protection against Cross Site - Request Forgeries by adding hidden form fields to POST forms and - checking requests for the correct value. - - In the list of middlewares, SessionMiddleware is required, and - must come after this middleware. CsrfMiddleWare must come after - compression middleware. - - If a session ID cookie is present, it is hashed with the - SECRET_KEY setting to create an authentication token. This token - is added to all outgoing POST forms and is expected on all - incoming POST requests that have a session ID cookie. - - If you are setting cookies directly, instead of using Django's - session framework, this middleware will not work. - - CsrfMiddleWare is composed of two middleware, CsrfViewMiddleware - and CsrfResponseMiddleware which can be used independently. - """ - pass - -def csrf_response_exempt(view_func): - """ - Modifies a view function so that its response is exempt - from the post-processing of the CSRF middleware. - """ - def wrapped_view(*args, **kwargs): - resp = view_func(*args, **kwargs) - resp.csrf_exempt = True - return resp - return wraps(view_func)(wrapped_view) - -def csrf_view_exempt(view_func): - """ - Marks a view function as being exempt from CSRF view protection. - """ - # We could just do view_func.csrf_exempt = True, but decorators - # are nicer if they don't have side-effects, so we return a new - # function. - def wrapped_view(*args, **kwargs): - return view_func(*args, **kwargs) - wrapped_view.csrf_exempt = True - return wraps(view_func)(wrapped_view) - -def csrf_exempt(view_func): - """ - Marks a view function as being exempt from the CSRF checks - and post processing. - - This is the same as using both the csrf_view_exempt and - csrf_response_exempt decorators. - """ - return csrf_response_exempt(csrf_view_exempt(view_func)) +import warnings +warnings.warn("This import for CSRF functionality is deprecated. Please use django.middleware.csrf for the middleware and django.views.decorators.csrf for decorators.", + PendingDeprecationWarning + ) diff --git a/django/contrib/csrf/models.py b/django/contrib/csrf/models.py deleted file mode 100644 index 71abcc519..000000000 --- a/django/contrib/csrf/models.py +++ /dev/null @@ -1 +0,0 @@ -# models.py file for tests to run. diff --git a/django/contrib/csrf/tests.py b/django/contrib/csrf/tests.py deleted file mode 100644 index 3c533a01e..000000000 --- a/django/contrib/csrf/tests.py +++ /dev/null @@ -1,144 +0,0 @@ -# -*- coding: utf-8 -*- - -from django.test import TestCase -from django.http import HttpRequest, HttpResponse, HttpResponseForbidden -from django.contrib.csrf.middleware import CsrfMiddleware, _make_token, csrf_exempt -from django.conf import settings - - -def post_form_response(): - resp = HttpResponse(content=""" - -""", mimetype="text/html") - return resp - -def test_view(request): - return post_form_response() - -class CsrfMiddlewareTest(TestCase): - - _session_id = "1" - - def _get_GET_no_session_request(self): - return HttpRequest() - - def _get_GET_session_request(self): - req = self._get_GET_no_session_request() - req.COOKIES[settings.SESSION_COOKIE_NAME] = self._session_id - return req - - def _get_POST_session_request(self): - req = self._get_GET_session_request() - req.method = "POST" - return req - - def _get_POST_no_session_request(self): - req = self._get_GET_no_session_request() - req.method = "POST" - return req - - def _get_POST_session_request_with_token(self): - req = self._get_POST_session_request() - req.POST['csrfmiddlewaretoken'] = _make_token(self._session_id) - return req - - def _get_post_form_response(self): - return post_form_response() - - def _get_new_session_response(self): - resp = self._get_post_form_response() - resp.cookies[settings.SESSION_COOKIE_NAME] = self._session_id - return resp - - def _check_token_present(self, response): - self.assertContains(response, "name='csrfmiddlewaretoken' value='%s'" % _make_token(self._session_id)) - - def get_view(self): - return test_view - - # Check the post processing - def test_process_response_no_session(self): - """ - Check the post-processor does nothing if no session active - """ - req = self._get_GET_no_session_request() - resp = self._get_post_form_response() - resp_content = resp.content # needed because process_response modifies resp - resp2 = CsrfMiddleware().process_response(req, resp) - self.assertEquals(resp_content, resp2.content) - - def test_process_response_existing_session(self): - """ - Check that the token is inserted if there is an existing session - """ - req = self._get_GET_session_request() - resp = self._get_post_form_response() - resp_content = resp.content # needed because process_response modifies resp - resp2 = CsrfMiddleware().process_response(req, resp) - self.assertNotEqual(resp_content, resp2.content) - self._check_token_present(resp2) - - def test_process_response_new_session(self): - """ - Check that the token is inserted if there is a new session being started - """ - req = self._get_GET_no_session_request() # no session in request - resp = self._get_new_session_response() # but new session started - resp_content = resp.content # needed because process_response modifies resp - resp2 = CsrfMiddleware().process_response(req, resp) - self.assertNotEqual(resp_content, resp2.content) - self._check_token_present(resp2) - - def test_process_response_exempt_view(self): - """ - Check that no post processing is done for an exempt view - """ - req = self._get_POST_session_request() - resp = csrf_exempt(self.get_view())(req) - resp_content = resp.content - resp2 = CsrfMiddleware().process_response(req, resp) - self.assertEquals(resp_content, resp2.content) - - # Check the request processing - def test_process_request_no_session(self): - """ - Check that if no session is present, the middleware does nothing. - to the incoming request. - """ - req = self._get_POST_no_session_request() - req2 = CsrfMiddleware().process_view(req, self.get_view(), (), {}) - self.assertEquals(None, req2) - - def test_process_request_session_no_token(self): - """ - Check that if a session is present but no token, we get a 'forbidden' - """ - req = self._get_POST_session_request() - req2 = CsrfMiddleware().process_view(req, self.get_view(), (), {}) - self.assertEquals(HttpResponseForbidden, req2.__class__) - - def test_process_request_session_and_token(self): - """ - Check that if a session is present and a token, the middleware lets it through - """ - req = self._get_POST_session_request_with_token() - req2 = CsrfMiddleware().process_view(req, self.get_view(), (), {}) - self.assertEquals(None, req2) - - def test_process_request_session_no_token_exempt_view(self): - """ - Check that if a session is present and no token, but the csrf_exempt - decorator has been applied to the view, the middleware lets it through - """ - req = self._get_POST_session_request() - req2 = CsrfMiddleware().process_view(req, csrf_exempt(self.get_view()), (), {}) - self.assertEquals(None, req2) - - def test_ajax_exemption(self): - """ - Check that AJAX requests are automatically exempted. - """ - req = self._get_POST_session_request() - req.META['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest' - req2 = CsrfMiddleware().process_view(req, self.get_view(), (), {}) - self.assertEquals(None, req2) diff --git a/django/contrib/databrowse/datastructures.py b/django/contrib/databrowse/datastructures.py index 5fdbdbe13..4fcdba9d3 100644 --- a/django/contrib/databrowse/datastructures.py +++ b/django/contrib/databrowse/datastructures.py @@ -4,9 +4,8 @@ convenience functionality and permalink functions for the databrowse app. """ from django.db import models -from django.utils import dateformat +from django.utils import formats from django.utils.text import capfirst -from django.utils.translation import get_date_formats from django.utils.encoding import smart_unicode, smart_str, iri_to_uri from django.utils.safestring import mark_safe from django.db.models.query import QuerySet @@ -156,13 +155,12 @@ class EasyInstanceField(object): 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)) + objs = capfirst(formats.date_format(self.raw_value, 'DATETIME_FORMAT')) elif isinstance(self.field, models.TimeField): - objs = capfirst(dateformat.time_format(self.raw_value, time_format)) + objs = capfirst(formats.time_format(self.raw_value, 'TIME_FORMAT')) else: - objs = capfirst(dateformat.format(self.raw_value, date_format)) + objs = capfirst(formats.date_format(self.raw_value, 'DATE_FORMAT')) else: objs = EMPTY_VALUE elif isinstance(self.field, models.BooleanField) or isinstance(self.field, models.NullBooleanField): diff --git a/django/contrib/databrowse/plugins/calendars.py b/django/contrib/databrowse/plugins/calendars.py index ac2f52214..9bbd02da2 100644 --- a/django/contrib/databrowse/plugins/calendars.py +++ b/django/contrib/databrowse/plugins/calendars.py @@ -37,7 +37,7 @@ class CalendarPlugin(DatabrowsePlugin): return [mark_safe(u'%s%s/%s/%s/%s/%s/' % ( easy_instance_field.model.url(), plugin_name, easy_instance_field.field.name, - d.year, + str(d.year), datetime_safe.new_date(d).strftime('%b').lower(), d.day))] diff --git a/django/contrib/databrowse/templates/databrowse/base.html b/django/contrib/databrowse/templates/databrowse/base.html index a3419851c..33cac4860 100644 --- a/django/contrib/databrowse/templates/databrowse/base.html +++ b/django/contrib/databrowse/templates/databrowse/base.html @@ -1,5 +1,5 @@ - + {% block title %}{% endblock %} {% block style %} diff --git a/django/contrib/databrowse/templates/databrowse/calendar_day.html b/django/contrib/databrowse/templates/databrowse/calendar_day.html index b0a221d5d..c009a94c6 100644 --- a/django/contrib/databrowse/templates/databrowse/calendar_day.html +++ b/django/contrib/databrowse/templates/databrowse/calendar_day.html @@ -4,7 +4,7 @@ {% block content %} - +

                                                        {{ object_list.count }} {% if object_list.count|pluralize %}{{ model.verbose_name_plural }}{% else %}{{ model.verbose_name }}{% endif %} with {{ field.verbose_name }} on {{ day|date:"F j, Y" }}

                                                        diff --git a/django/contrib/databrowse/templates/databrowse/calendar_main.html b/django/contrib/databrowse/templates/databrowse/calendar_main.html index b22a44d32..7cb59042d 100644 --- a/django/contrib/databrowse/templates/databrowse/calendar_main.html +++ b/django/contrib/databrowse/templates/databrowse/calendar_main.html @@ -10,7 +10,7 @@ diff --git a/django/contrib/databrowse/templates/databrowse/calendar_month.html b/django/contrib/databrowse/templates/databrowse/calendar_month.html index f6a616911..ad189f441 100644 --- a/django/contrib/databrowse/templates/databrowse/calendar_month.html +++ b/django/contrib/databrowse/templates/databrowse/calendar_month.html @@ -4,9 +4,9 @@ {% block content %} - + -

                                                        {{ object_list.count }} {% if object_list.count|pluralize %}{{ model.verbose_name_plural }}{% else %}{{ model.verbose_name }}{% endif %} with {{ field.verbose_name }} on {{ day|date:"F Y" }}

                                                        +

                                                        {{ object_list.count }} {% if object_list.count|pluralize %}{{ model.verbose_name_plural }}{% else %}{{ model.verbose_name }}{% endif %} with {{ field.verbose_name }} on {{ month|date:"F Y" }}

                                                          {% for object in object_list %} diff --git a/django/contrib/flatpages/fixtures/sample_flatpages.json b/django/contrib/flatpages/fixtures/sample_flatpages.json new file mode 100644 index 000000000..79808c2d2 --- /dev/null +++ b/django/contrib/flatpages/fixtures/sample_flatpages.json @@ -0,0 +1,32 @@ +[ + { + "pk": 1, + "model": "flatpages.flatpage", + "fields": { + "registration_required": false, + "title": "A Flatpage", + "url": "/flatpage/", + "template_name": "", + "sites": [ + 1 + ], + "content": "Isn't it flat!", + "enable_comments": false + } + }, + { + "pk": 2, + "model": "flatpages.flatpage", + "fields": { + "registration_required": true, + "title": "Sekrit Flatpage", + "url": "/sekrit/", + "template_name": "", + "sites": [ + 1 + ], + "content": "Isn't it sekrit!", + "enable_comments": false + } + } +] \ No newline at end of file diff --git a/django/contrib/flatpages/tests/__init__.py b/django/contrib/flatpages/tests/__init__.py new file mode 100644 index 000000000..2672dbfae --- /dev/null +++ b/django/contrib/flatpages/tests/__init__.py @@ -0,0 +1,3 @@ +from django.contrib.flatpages.tests.csrf import * +from django.contrib.flatpages.tests.middleware import * +from django.contrib.flatpages.tests.views import * diff --git a/django/contrib/flatpages/tests/csrf.py b/django/contrib/flatpages/tests/csrf.py new file mode 100644 index 000000000..0f0ab08ed --- /dev/null +++ b/django/contrib/flatpages/tests/csrf.py @@ -0,0 +1,73 @@ +import os +from django.conf import settings +from django.test import TestCase, Client + +class FlatpageCSRFTests(TestCase): + fixtures = ['sample_flatpages'] + urls = 'django.contrib.flatpages.tests.urls' + + def setUp(self): + self.client = Client(enforce_csrf_checks=True) + self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES + flatpage_middleware_class = 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware' + csrf_middleware_class = 'django.middleware.csrf.CsrfViewMiddleware' + if csrf_middleware_class not in settings.MIDDLEWARE_CLASSES: + settings.MIDDLEWARE_CLASSES += (csrf_middleware_class,) + if flatpage_middleware_class not in settings.MIDDLEWARE_CLASSES: + settings.MIDDLEWARE_CLASSES += (flatpage_middleware_class,) + self.old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS + settings.TEMPLATE_DIRS = ( + os.path.join( + os.path.dirname(__file__), + 'templates' + ), + ) + self.old_LOGIN_URL = settings.LOGIN_URL + settings.LOGIN_URL = '/accounts/login/' + + def tearDown(self): + settings.MIDDLEWARE_CLASSES = self.old_MIDDLEWARE_CLASSES + settings.TEMPLATE_DIRS = self.old_TEMPLATE_DIRS + settings.LOGIN_URL = self.old_LOGIN_URL + + def test_view_flatpage(self): + "A flatpage can be served through a view, even when the middleware is in use" + response = self.client.get('/flatpage_root/flatpage/') + self.assertEquals(response.status_code, 200) + self.assertContains(response, "

                                                          Isn't it flat!

                                                          ") + + def test_view_non_existent_flatpage(self): + "A non-existent flatpage raises 404 when served through a view, even when the middleware is in use" + response = self.client.get('/flatpage_root/no_such_flatpage/') + self.assertEquals(response.status_code, 404) + + def test_view_authenticated_flatpage(self): + "A flatpage served through a view can require authentication" + response = self.client.get('/flatpage_root/sekrit/') + self.assertRedirects(response, '/accounts/login/?next=/flatpage_root/sekrit/') + + def test_fallback_flatpage(self): + "A flatpage can be served by the fallback middlware" + response = self.client.get('/flatpage/') + self.assertEquals(response.status_code, 200) + self.assertContains(response, "

                                                          Isn't it flat!

                                                          ") + + def test_fallback_non_existent_flatpage(self): + "A non-existent flatpage raises a 404 when served by the fallback middlware" + response = self.client.get('/no_such_flatpage/') + self.assertEquals(response.status_code, 404) + + def test_post_view_flatpage(self): + "POSTing to a flatpage served through a view will raise a CSRF error if no token is provided (Refs #14156)" + response = self.client.post('/flatpage_root/flatpage/') + self.assertEquals(response.status_code, 403) + + def test_post_fallback_flatpage(self): + "POSTing to a flatpage served by the middleware will raise a CSRF error if no token is provided (Refs #14156)" + response = self.client.post('/flatpage/') + self.assertEquals(response.status_code, 403) + + def test_post_unknown_page(self): + "POSTing to an unknown page isn't caught as a 403 CSRF error" + response = self.client.post('/no_such_page/') + self.assertEquals(response.status_code, 404) diff --git a/django/contrib/flatpages/tests/middleware.py b/django/contrib/flatpages/tests/middleware.py new file mode 100644 index 000000000..a41259626 --- /dev/null +++ b/django/contrib/flatpages/tests/middleware.py @@ -0,0 +1,59 @@ +import os +from django.conf import settings +from django.test import TestCase + +class FlatpageMiddlewareTests(TestCase): + fixtures = ['sample_flatpages'] + urls = 'django.contrib.flatpages.tests.urls' + + def setUp(self): + self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES + flatpage_middleware_class = 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware' + if flatpage_middleware_class not in settings.MIDDLEWARE_CLASSES: + settings.MIDDLEWARE_CLASSES += (flatpage_middleware_class,) + self.old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS + settings.TEMPLATE_DIRS = ( + os.path.join( + os.path.dirname(__file__), + 'templates' + ), + ) + self.old_LOGIN_URL = settings.LOGIN_URL + settings.LOGIN_URL = '/accounts/login/' + + def tearDown(self): + settings.MIDDLEWARE_CLASSES = self.old_MIDDLEWARE_CLASSES + settings.TEMPLATE_DIRS = self.old_TEMPLATE_DIRS + settings.LOGIN_URL = self.old_LOGIN_URL + + def test_view_flatpage(self): + "A flatpage can be served through a view, even when the middleware is in use" + response = self.client.get('/flatpage_root/flatpage/') + self.assertEquals(response.status_code, 200) + self.assertContains(response, "

                                                          Isn't it flat!

                                                          ") + + def test_view_non_existent_flatpage(self): + "A non-existent flatpage raises 404 when served through a view, even when the middleware is in use" + response = self.client.get('/flatpage_root/no_such_flatpage/') + self.assertEquals(response.status_code, 404) + + def test_view_authenticated_flatpage(self): + "A flatpage served through a view can require authentication" + response = self.client.get('/flatpage_root/sekrit/') + self.assertRedirects(response, '/accounts/login/?next=/flatpage_root/sekrit/') + + def test_fallback_flatpage(self): + "A flatpage can be served by the fallback middlware" + response = self.client.get('/flatpage/') + self.assertEquals(response.status_code, 200) + self.assertContains(response, "

                                                          Isn't it flat!

                                                          ") + + def test_fallback_non_existent_flatpage(self): + "A non-existent flatpage raises a 404 when served by the fallback middlware" + response = self.client.get('/no_such_flatpage/') + self.assertEquals(response.status_code, 404) + + def test_fallback_authenticated_flatpage(self): + "A flatpage served by the middleware can require authentication" + response = self.client.get('/sekrit/') + self.assertRedirects(response, '/accounts/login/?next=/sekrit/') diff --git a/django/contrib/flatpages/tests/templates/404.html b/django/contrib/flatpages/tests/templates/404.html new file mode 100644 index 000000000..5fd5f3cf3 --- /dev/null +++ b/django/contrib/flatpages/tests/templates/404.html @@ -0,0 +1 @@ +

                                                          Oh Noes!

                                                          \ No newline at end of file diff --git a/django/contrib/flatpages/tests/templates/flatpages/default.html b/django/contrib/flatpages/tests/templates/flatpages/default.html new file mode 100644 index 000000000..c6323fd91 --- /dev/null +++ b/django/contrib/flatpages/tests/templates/flatpages/default.html @@ -0,0 +1,2 @@ +

                                                          {{ flatpage.title }}

                                                          +

                                                          {{ flatpage.content }}

                                                          \ No newline at end of file diff --git a/django/contrib/flatpages/tests/templates/registration/login.html b/django/contrib/flatpages/tests/templates/registration/login.html new file mode 100644 index 000000000..e69de29bb diff --git a/django/contrib/flatpages/tests/urls.py b/django/contrib/flatpages/tests/urls.py new file mode 100644 index 000000000..3cffd09d0 --- /dev/null +++ b/django/contrib/flatpages/tests/urls.py @@ -0,0 +1,8 @@ +from django.conf.urls.defaults import * + +# special urls for flatpage test cases +urlpatterns = patterns('', + (r'^flatpage_root', include('django.contrib.flatpages.urls')), + (r'^accounts/', include('django.contrib.auth.urls')), +) + diff --git a/django/contrib/flatpages/tests/views.py b/django/contrib/flatpages/tests/views.py new file mode 100644 index 000000000..a013ae982 --- /dev/null +++ b/django/contrib/flatpages/tests/views.py @@ -0,0 +1,53 @@ +import os +from django.conf import settings +from django.test import TestCase + +class FlatpageViewTests(TestCase): + fixtures = ['sample_flatpages'] + urls = 'django.contrib.flatpages.tests.urls' + + def setUp(self): + self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES + flatpage_middleware_class = 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware' + if flatpage_middleware_class in settings.MIDDLEWARE_CLASSES: + settings.MIDDLEWARE_CLASSES = tuple(m for m in settings.MIDDLEWARE_CLASSES if m != flatpage_middleware_class) + self.old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS + settings.TEMPLATE_DIRS = ( + os.path.join( + os.path.dirname(__file__), + 'templates' + ), + ) + self.old_LOGIN_URL = settings.LOGIN_URL + settings.LOGIN_URL = '/accounts/login/' + + def tearDown(self): + settings.MIDDLEWARE_CLASSES = self.old_MIDDLEWARE_CLASSES + settings.TEMPLATE_DIRS = self.old_TEMPLATE_DIRS + settings.LOGIN_URL = self.old_LOGIN_URL + + def test_view_flatpage(self): + "A flatpage can be served through a view" + response = self.client.get('/flatpage_root/flatpage/') + self.assertEquals(response.status_code, 200) + self.assertContains(response, "

                                                          Isn't it flat!

                                                          ") + + def test_view_non_existent_flatpage(self): + "A non-existent flatpage raises 404 when served through a view" + response = self.client.get('/flatpage_root/no_such_flatpage/') + self.assertEquals(response.status_code, 404) + + def test_view_authenticated_flatpage(self): + "A flatpage served through a view can require authentication" + response = self.client.get('/flatpage_root/sekrit/') + self.assertRedirects(response, '/accounts/login/?next=/flatpage_root/sekrit/') + + def test_fallback_flatpage(self): + "A fallback flatpage won't be served if the middleware is disabled" + response = self.client.get('/flatpage/') + self.assertEquals(response.status_code, 404) + + def test_fallback_non_existent_flatpage(self): + "A non-existent flatpage won't be served if the fallback middlware is disabled" + response = self.client.get('/no_such_flatpage/') + self.assertEquals(response.status_code, 404) diff --git a/django/contrib/flatpages/views.py b/django/contrib/flatpages/views.py index 37d12c93a..88ef4da65 100644 --- a/django/contrib/flatpages/views.py +++ b/django/contrib/flatpages/views.py @@ -5,12 +5,21 @@ from django.http import HttpResponse, HttpResponseRedirect from django.conf import settings from django.core.xheaders import populate_xheaders from django.utils.safestring import mark_safe +from django.views.decorators.csrf import csrf_protect DEFAULT_TEMPLATE = 'flatpages/default.html' +# This view is called from FlatpageFallbackMiddleware.process_response +# when a 404 is raised, which often means CsrfViewMiddleware.process_view +# has not been called even if CsrfViewMiddleware is installed. So we need +# to use @csrf_protect, in case the template needs {% csrf_token %}. +# However, we can't just wrap this view; if no matching flatpage exists, +# or a redirect is required for authentication, the 404 needs to be returned +# without any CSRF checks. Therefore, we only +# CSRF protect the internal implementation. def flatpage(request, url): """ - Flat page view. + Public interface to the flat page view. Models: `flatpages.flatpages` Templates: Uses the template defined by the ``template_name`` field, @@ -24,6 +33,13 @@ def flatpage(request, url): if not url.startswith('/'): url = "/" + url f = get_object_or_404(FlatPage, url__exact=url, sites__id__exact=settings.SITE_ID) + return render_flatpage(request, f) + +@csrf_protect +def render_flatpage(request, f): + """ + Internal interface to the flat page view. + """ # If registration is required for accessing this page, and the user isn't # logged in, redirect to the login page. if f.registration_required and not request.user.is_authenticated(): diff --git a/django/contrib/formtools/preview.py b/django/contrib/formtools/preview.py index 856343a0d..f202084da 100644 --- a/django/contrib/formtools/preview.py +++ b/django/contrib/formtools/preview.py @@ -60,6 +60,7 @@ class FormPreview(object): f = self.form(request.POST, auto_id=AUTO_ID) context = {'form': f, 'stage_field': self.unused_name('stage'), 'state': self.state} if f.is_valid(): + self.process_preview(request, f, context) context['hash_field'] = self.unused_name('hash') context['hash_value'] = self.security_hash(request, f) return render_to_response(self.preview_template, context, context_instance=RequestContext(request)) @@ -96,6 +97,13 @@ class FormPreview(object): """ pass + def process_preview(self, request, form, context): + """ + Given a validated form, performs any extra processing before displaying + the preview page, and saves any extra data in context. + """ + pass + def security_hash(self, request, form): """ Calculates the security hash for the given HttpRequest and Form instances. diff --git a/django/contrib/formtools/templates/formtools/form.html b/django/contrib/formtools/templates/formtools/form.html index 194bbdd67..2f2de1f63 100644 --- a/django/contrib/formtools/templates/formtools/form.html +++ b/django/contrib/formtools/templates/formtools/form.html @@ -4,7 +4,7 @@ {% if form.errors %}

                                                          Please correct the following errors

                                                          {% else %}

                                                          Submit

                                                          {% endif %} -
                                                          +{% csrf_token %} {{ form }}
                                                          diff --git a/django/contrib/formtools/templates/formtools/preview.html b/django/contrib/formtools/templates/formtools/preview.html index c53ce9172..eb88b1ec2 100644 --- a/django/contrib/formtools/templates/formtools/preview.html +++ b/django/contrib/formtools/templates/formtools/preview.html @@ -15,7 +15,7 @@

                                                          Security hash: {{ hash_value }}

                                                          - +{% csrf_token %} {% for field in form %}{{ field.as_hidden }} {% endfor %} @@ -25,7 +25,7 @@

                                                          Or edit it again

                                                          - +{% csrf_token %} {{ form }}
                                                          diff --git a/django/contrib/formtools/tests.py b/django/contrib/formtools/tests.py index 86d40b963..de71fe544 100644 --- a/django/contrib/formtools/tests.py +++ b/django/contrib/formtools/tests.py @@ -1,5 +1,6 @@ import unittest from django import forms +from django.conf import settings from django.contrib.formtools import preview, wizard, utils from django import http from django.test import TestCase @@ -115,7 +116,7 @@ class SecurityHashTests(unittest.TestCase): hash1 = utils.security_hash(None, f1) hash2 = utils.security_hash(None, f2) self.assertEqual(hash1, hash2) - + def test_empty_permitted(self): """ Regression test for #10643: the security hash should allow forms with @@ -145,19 +146,37 @@ class WizardPageOneForm(forms.Form): class WizardPageTwoForm(forms.Form): field = forms.CharField() +class WizardPageTwoAlternativeForm(forms.Form): + field = forms.CharField() + +class WizardPageThreeForm(forms.Form): + field = forms.CharField() + class WizardClass(wizard.FormWizard): def render_template(self, *args, **kw): - return "" + return http.HttpResponse("") def done(self, request, cleaned_data): return http.HttpResponse(success_string) -class DummyRequest(object): +class DummyRequest(http.HttpRequest): def __init__(self, POST=None): + super(DummyRequest, self).__init__() self.method = POST and "POST" or "GET" - self.POST = POST + if POST is not None: + self.POST.update(POST) + self._dont_enforce_csrf_checks = True class WizardTests(TestCase): + + def setUp(self): + # Use a known SECRET_KEY to make security_hash tests deterministic + self.old_SECRET_KEY = settings.SECRET_KEY + settings.SECRET_KEY = "123" + + def tearDown(self): + settings.SECRET_KEY = self.old_SECRET_KEY + def test_step_starts_at_zero(self): """ step should be zero for the first form @@ -176,3 +195,75 @@ class WizardTests(TestCase): response = wizard(request) self.assertEquals(1, wizard.step) + def test_14498(self): + """ + Regression test for ticket #14498. All previous steps' forms should be + validated. + """ + that = self + reached = [False] + + class WizardWithProcessStep(WizardClass): + def process_step(self, request, form, step): + reached[0] = True + that.assertTrue(hasattr(form, 'cleaned_data')) + + wizard = WizardWithProcessStep([WizardPageOneForm, + WizardPageTwoForm, + WizardPageThreeForm]) + data = {"0-field": "test", + "1-field": "test2", + "hash_0": "2fdbefd4c0cad51509478fbacddf8b13", + "wizard_step": "1"} + wizard(DummyRequest(POST=data)) + self.assertTrue(reached[0]) + + def test_14576(self): + """ + Regression test for ticket #14576. + + The form of the last step is not passed to the done method. + """ + reached = [False] + that = self + + class Wizard(WizardClass): + def done(self, request, form_list): + reached[0] = True + that.assertTrue(len(form_list) == 2) + + wizard = Wizard([WizardPageOneForm, + WizardPageTwoForm]) + + data = {"0-field": "test", + "1-field": "test2", + "hash_0": "2fdbefd4c0cad51509478fbacddf8b13", + "wizard_step": "1"} + wizard(DummyRequest(POST=data)) + self.assertTrue(reached[0]) + + def test_15075(self): + """ + Regression test for ticket #15075. Allow modifying wizard's form_list + in process_step. + """ + reached = [False] + that = self + + class WizardWithProcessStep(WizardClass): + def process_step(self, request, form, step): + if step == 0: + self.form_list[1] = WizardPageTwoAlternativeForm + if step == 1: + that.assertTrue(isinstance(form, WizardPageTwoAlternativeForm)) + reached[0] = True + + wizard = WizardWithProcessStep([WizardPageOneForm, + WizardPageTwoForm, + WizardPageThreeForm]) + data = {"0-field": "test", + "1-field": "test2", + "hash_0": "2fdbefd4c0cad51509478fbacddf8b13", + "wizard_step": "1"} + wizard(DummyRequest(POST=data)) + self.assertTrue(reached[0]) diff --git a/django/contrib/formtools/utils.py b/django/contrib/formtools/utils.py index 44b8de118..e77931ffb 100644 --- a/django/contrib/formtools/utils.py +++ b/django/contrib/formtools/utils.py @@ -32,7 +32,7 @@ def security_hash(request, form, *args): data.append(settings.SECRET_KEY) # Use HIGHEST_PROTOCOL because it's the most efficient. It requires - # Python 2.3, but Django requires 2.3 anyway, so that's OK. + # Python 2.3, but Django requires 2.4 anyway, so that's OK. pickled = pickle.dumps(data, pickle.HIGHEST_PROTOCOL) return md5_constructor(pickled).hexdigest() diff --git a/django/contrib/formtools/wizard.py b/django/contrib/formtools/wizard.py index b075628c4..3e4e036df 100644 --- a/django/contrib/formtools/wizard.py +++ b/django/contrib/formtools/wizard.py @@ -14,21 +14,30 @@ from django.template.context import RequestContext from django.utils.hashcompat import md5_constructor from django.utils.translation import ugettext_lazy as _ from django.contrib.formtools.utils import security_hash +from django.utils.decorators import method_decorator +from django.views.decorators.csrf import csrf_protect + class FormWizard(object): - # Dictionary of extra template context variables. - extra_context = {} - # The HTML (and POST data) field name for the "step" variable. step_field_name="wizard_step" # METHODS SUBCLASSES SHOULDN'T OVERRIDE ################################### def __init__(self, form_list, initial=None): - "form_list should be a list of Form classes (not instances)." + """ + Start a new wizard with a list of forms. + + form_list should be a list of Form classes (not instances). + """ self.form_list = form_list[:] self.initial = initial or {} - self.step = 0 # A zero-based counter keeping track of which step we're in. + + # Dictionary of extra template context variables. + self.extra_context = {} + + # A zero-based counter keeping track of which step we're in. + self.step = 0 def __repr__(self): return "step: %d\nform_list: %s\ninitial_data: %s" % (self.step, self.form_list, self.initial) @@ -39,11 +48,12 @@ class FormWizard(object): def num_steps(self): "Helper method that returns the number of steps." - # You might think we should just set "self.form_list = len(form_list)" + # You might think we should just set "self.num_steps = len(form_list)" # in __init__(), but this calculation needs to be dynamic, because some # hook methods might alter self.form_list. return len(self.form_list) + @method_decorator(csrf_protect) def __call__(self, request, *args, **kwargs): """ Main method that does all the hard work, conforming to the Django view @@ -58,13 +68,38 @@ class FormWizard(object): if current_step >= self.num_steps(): raise Http404('Step %s does not exist' % current_step) - # For each previous step, verify the hash and process. - # TODO: Move "hash_%d" to a method to make it configurable. + # Validate and process all the previous forms before instantiating the + # current step's form in case self.process_step makes changes to + # self.form_list. + + # If any of them fails validation, that must mean the validator relied + # on some other input, such as an external Web site. + + # It is also possible that alidation might fail under certain attack + # situations: an attacker might be able to bypass previous stages, and + # generate correct security hashes for all the skipped stages by virtue + # of: + # 1) having filled out an identical form which doesn't have the + # validation (and does something different at the end), + # 2) or having filled out a previous version of the same form which + # had some validation missing, + # 3) or previously having filled out the form when they had more + # privileges than they do now. + # + # Since the hashes only take into account values, and not other other + # validation the form might do, we must re-do validation now for + # security reasons. + previous_form_list = [] for i in range(current_step): - form = self.get_form(i, request.POST) - if request.POST.get("hash_%d" % i, '') != self.security_hash(request, form): + f = self.get_form(i, request.POST) + if request.POST.get("hash_%d" % i, '') != self.security_hash(request, f): return self.render_hash_failure(request, i) - self.process_step(request, form, i) + + if not f.is_valid(): + return self.render_revalidation_failure(request, i, f) + else: + self.process_step(request, f, i) + previous_form_list.append(f) # Process the current step. If it's valid, go to the next step or call # done(), depending on whether any steps remain. @@ -72,25 +107,14 @@ class FormWizard(object): form = self.get_form(current_step, request.POST) else: form = self.get_form(current_step) + if form.is_valid(): self.process_step(request, form, current_step) next_step = current_step + 1 - # If this was the last step, validate all of the forms one more - # time, as a sanity check, and call done(). - num = self.num_steps() - if next_step == num: - final_form_list = [self.get_form(i, request.POST) for i in range(num)] - # Validate all the forms. If any of them fail validation, that - # must mean the validator relied on some other input, such as - # an external Web site. - for i, f in enumerate(final_form_list): - if not f.is_valid(): - return self.render_revalidation_failure(request, i, f) - return self.done(request, final_form_list) - - # Otherwise, move along to the next step. + if next_step == self.num_steps(): + return self.done(request, previous_form_list + [form]) else: form = self.get_form(next_step) self.step = current_step = next_step diff --git a/django/contrib/gis/admin/options.py b/django/contrib/gis/admin/options.py index fff1cb20a..62c45e722 100644 --- a/django/contrib/gis/admin/options.py +++ b/django/contrib/gis/admin/options.py @@ -64,7 +64,7 @@ class GeoModelAdmin(ModelAdmin): def get_map_widget(self, db_field): """ Returns a subclass of the OpenLayersWidget (or whatever was specified - in the `widget` attribute) using the settings from the attributes set + in the `widget` attribute) using the settings from the attributes set in this class. """ is_collection = db_field.geom_type in ('MULTIPOINT', 'MULTILINESTRING', 'MULTIPOLYGON', 'GEOMETRYCOLLECTION') @@ -111,20 +111,21 @@ class GeoModelAdmin(ModelAdmin): } return OLMap -# Using the Beta OSM in the admin requires the following: -# (1) The Google Maps Mercator projection needs to be added -# to your `spatial_ref_sys` table. You'll need at least GDAL 1.5: -# >>> from django.contrib.gis.gdal import SpatialReference -# >>> from django.contrib.gis.utils import add_postgis_srs -# >>> add_postgis_srs(SpatialReference(900913)) # Adding the Google Projection from django.contrib.gis import gdal if gdal.HAS_GDAL: + # Use the official spherical mercator projection SRID on versions + # of GDAL that support it; otherwise, fallback to 900913 + if gdal.GDAL_VERSION >= (1, 7): + spherical_mercator_srid = 3857 + else: + spherical_mercator_srid = 900913 + class OSMGeoAdmin(GeoModelAdmin): map_template = 'gis/admin/osm.html' extra_js = ['http://openstreetmap.org/openlayers/OpenStreetMap.js'] num_zoom = 20 - map_srid = 900913 + map_srid = spherical_mercator_srid max_extent = '-20037508,-20037508,20037508,20037508' - max_resolution = 156543.0339 + max_resolution = '156543.0339' point_zoom = num_zoom - 6 units = 'm' diff --git a/django/contrib/gis/db/backend/__init__.py b/django/contrib/gis/db/backend/__init__.py index adee0bff6..72ebdfee6 100644 --- a/django/contrib/gis/db/backend/__init__.py +++ b/django/contrib/gis/db/backend/__init__.py @@ -1,20 +1,11 @@ -""" - This module provides the backend for spatial SQL construction with Django. +from django.db import connection - Specifically, this module will import the correct routines and modules - needed for GeoDjango to interface with the spatial database. -""" -from django.conf import settings -from django.contrib.gis.db.backend.util import gqn - -# Retrieving the necessary settings from the backend. -if settings.DATABASE_ENGINE == 'postgresql_psycopg2': - from django.contrib.gis.db.backend.postgis import create_test_spatial_db, get_geo_where_clause, SpatialBackend -elif settings.DATABASE_ENGINE == 'oracle': - from django.contrib.gis.db.backend.oracle import create_test_spatial_db, get_geo_where_clause, SpatialBackend -elif settings.DATABASE_ENGINE == 'mysql': - from django.contrib.gis.db.backend.mysql import create_test_spatial_db, get_geo_where_clause, SpatialBackend -elif settings.DATABASE_ENGINE == 'sqlite3': - from django.contrib.gis.db.backend.spatialite import create_test_spatial_db, get_geo_where_clause, SpatialBackend -else: - raise NotImplementedError('No Geographic Backend exists for %s' % settings.DATABASE_ENGINE) +if hasattr(connection.ops, 'spatial_version'): + from warnings import warn + warn('The `django.contrib.gis.db.backend` module was refactored and ' + 'renamed to `django.contrib.gis.db.backends` in 1.2. ' + 'All functionality of `SpatialBackend` ' + 'has been moved to the `ops` attribute of the spatial database ' + 'backend. A `SpatialBackend` alias is provided here for ' + 'backwards-compatibility, but will be removed in 1.3.') + SpatialBackend = connection.ops diff --git a/django/contrib/gis/db/backend/base.py b/django/contrib/gis/db/backend/base.py deleted file mode 100644 index bffb97267..000000000 --- a/django/contrib/gis/db/backend/base.py +++ /dev/null @@ -1,26 +0,0 @@ -""" - This module holds the base `SpatialBackend` object, which is - instantiated by each spatial backend with the features it has. -""" -# TODO: Create a `Geometry` protocol and allow user to use -# different Geometry objects -- for now we just use GEOSGeometry. -from django.contrib.gis.geos import GEOSGeometry, GEOSException - -class BaseSpatialBackend(object): - Geometry = GEOSGeometry - GeometryException = GEOSException - - def __init__(self, **kwargs): - kwargs.setdefault('distance_functions', {}) - kwargs.setdefault('limited_where', {}) - for k, v in kwargs.iteritems(): setattr(self, k, v) - - def __getattr__(self, name): - """ - All attributes of the spatial backend return False by default. - """ - try: - return self.__dict__[name] - except KeyError: - return False - diff --git a/django/contrib/gis/db/backend/mysql/__init__.py b/django/contrib/gis/db/backend/mysql/__init__.py deleted file mode 100644 index 9838cb398..000000000 --- a/django/contrib/gis/db/backend/mysql/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -__all__ = ['create_test_spatial_db', 'get_geo_where_clause', 'SpatialBackend'] - -from django.contrib.gis.db.backend.base import BaseSpatialBackend -from django.contrib.gis.db.backend.adaptor import WKTAdaptor -from django.contrib.gis.db.backend.mysql.creation import create_test_spatial_db -from django.contrib.gis.db.backend.mysql.field import MySQLGeoField -from django.contrib.gis.db.backend.mysql.query import * - -SpatialBackend = BaseSpatialBackend(name='mysql', mysql=True, - gis_terms=MYSQL_GIS_TERMS, - select=GEOM_SELECT, - Adaptor=WKTAdaptor, - Field=MySQLGeoField) diff --git a/django/contrib/gis/db/backend/mysql/creation.py b/django/contrib/gis/db/backend/mysql/creation.py deleted file mode 100644 index f55fdac5d..000000000 --- a/django/contrib/gis/db/backend/mysql/creation.py +++ /dev/null @@ -1,5 +0,0 @@ - -def create_test_spatial_db(verbosity=1, autoclobber=False): - "A wrapper over the MySQL `create_test_db` method." - from django.db import connection - connection.creation.create_test_db(verbosity, autoclobber) diff --git a/django/contrib/gis/db/backend/mysql/field.py b/django/contrib/gis/db/backend/mysql/field.py deleted file mode 100644 index e5c22f58e..000000000 --- a/django/contrib/gis/db/backend/mysql/field.py +++ /dev/null @@ -1,53 +0,0 @@ -from django.db import connection -from django.db.models.fields import Field # Django base Field class -from django.contrib.gis.db.backend.mysql.query import GEOM_FROM_TEXT - -# Quotename & geographic quotename, respectively. -qn = connection.ops.quote_name - -class MySQLGeoField(Field): - """ - The backend-specific geographic field for MySQL. - """ - - def _geom_index(self, style, db_table): - """ - Creates a spatial index for the geometry column. If MyISAM tables are - used an R-Tree index is created, otherwise a B-Tree index is created. - Thus, for best spatial performance, you should use MyISAM tables - (which do not support transactions). For more information, see Ch. - 16.6.1 of the MySQL 5.0 documentation. - """ - - # Getting the index name. - idx_name = '%s_%s_id' % (db_table, self.column) - - sql = (style.SQL_KEYWORD('CREATE SPATIAL INDEX ') + - style.SQL_TABLE(qn(idx_name)) + - style.SQL_KEYWORD(' ON ') + - style.SQL_TABLE(qn(db_table)) + '(' + - style.SQL_FIELD(qn(self.column)) + ');') - return sql - - def post_create_sql(self, style, db_table): - """ - Returns SQL that will be executed after the model has been - created. - """ - # Getting the geometric index for this Geometry column. - if self.spatial_index: - return (self._geom_index(style, db_table),) - else: - return () - - def db_type(self): - "The OpenGIS name is returned for the MySQL database column type." - return self.geom_type - - def get_placeholder(self, value): - """ - The placeholder here has to include MySQL's WKT constructor. Because - MySQL does not support spatial transformations, there is no need to - modify the placeholder based on the contents of the given value. - """ - return '%s(%%s)' % GEOM_FROM_TEXT diff --git a/django/contrib/gis/db/backend/mysql/query.py b/django/contrib/gis/db/backend/mysql/query.py deleted file mode 100644 index 2fa984f32..000000000 --- a/django/contrib/gis/db/backend/mysql/query.py +++ /dev/null @@ -1,59 +0,0 @@ -""" - This module contains the spatial lookup types, and the `get_geo_where_clause` - routine for MySQL. - - Please note that MySQL only supports bounding box queries, also - known as MBRs (Minimum Bounding Rectangles). Moreover, spatial - indices may only be used on MyISAM tables -- if you need - transactions, take a look at PostGIS. -""" -from django.db import connection -qn = connection.ops.quote_name - -# To ease implementation, WKT is passed to/from MySQL. -GEOM_FROM_TEXT = 'GeomFromText' -GEOM_FROM_WKB = 'GeomFromWKB' -GEOM_SELECT = 'AsText(%s)' - -# WARNING: MySQL is NOT compliant w/the OpenGIS specification and -# _every_ one of these lookup types is on the _bounding box_ only. -MYSQL_GIS_FUNCTIONS = { - 'bbcontains' : 'MBRContains', # For consistency w/PostGIS API - 'bboverlaps' : 'MBROverlaps', # .. .. - 'contained' : 'MBRWithin', # .. .. - 'contains' : 'MBRContains', - 'disjoint' : 'MBRDisjoint', - 'equals' : 'MBREqual', - 'exact' : 'MBREqual', - 'intersects' : 'MBRIntersects', - 'overlaps' : 'MBROverlaps', - 'same_as' : 'MBREqual', - 'touches' : 'MBRTouches', - 'within' : 'MBRWithin', - } - -# This lookup type does not require a mapping. -MISC_TERMS = ['isnull'] - -# Assacceptable lookup types for Oracle spatial. -MYSQL_GIS_TERMS = MYSQL_GIS_FUNCTIONS.keys() -MYSQL_GIS_TERMS += MISC_TERMS -MYSQL_GIS_TERMS = dict((term, None) for term in MYSQL_GIS_TERMS) # Making dictionary - -def get_geo_where_clause(table_alias, name, lookup_type, geo_annot): - "Returns the SQL WHERE clause for use in MySQL spatial SQL construction." - # Getting the quoted field as `geo_col`. - geo_col = '%s.%s' % (qn(table_alias), qn(name)) - - # See if a MySQL Geometry function matches the lookup type next - lookup_info = MYSQL_GIS_FUNCTIONS.get(lookup_type, False) - if lookup_info: - return "%s(%s, %%s)" % (lookup_info, geo_col) - - # Handling 'isnull' lookup type - # TODO: Is this needed because MySQL cannot handle NULL - # geometries in its spatial indices. - if lookup_type == 'isnull': - return "%s IS %sNULL" % (geo_col, (not geo_annot.value and 'NOT ' or '')) - - raise TypeError("Got invalid lookup_type: %s" % repr(lookup_type)) diff --git a/django/contrib/gis/db/backend/oracle/__init__.py b/django/contrib/gis/db/backend/oracle/__init__.py deleted file mode 100644 index 9f25214e0..000000000 --- a/django/contrib/gis/db/backend/oracle/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -__all__ = ['create_test_spatial_db', 'get_geo_where_clause', 'SpatialBackend'] - -from django.contrib.gis.db.backend.base import BaseSpatialBackend -from django.contrib.gis.db.backend.oracle.adaptor import OracleSpatialAdaptor -from django.contrib.gis.db.backend.oracle.creation import create_test_spatial_db -from django.contrib.gis.db.backend.oracle.field import OracleSpatialField -from django.contrib.gis.db.backend.oracle.models import GeometryColumns, SpatialRefSys -from django.contrib.gis.db.backend.oracle.query import * - -SpatialBackend = BaseSpatialBackend(name='oracle', oracle=True, - area=AREA, - centroid=CENTROID, - difference=DIFFERENCE, - distance=DISTANCE, - distance_functions=DISTANCE_FUNCTIONS, - extent=EXTENT, - gis_terms=ORACLE_SPATIAL_TERMS, - gml=ASGML, - intersection=INTERSECTION, - length=LENGTH, - limited_where = {'relate' : None}, - num_geom=NUM_GEOM, - num_points=NUM_POINTS, - perimeter=LENGTH, - point_on_surface=POINT_ON_SURFACE, - select=GEOM_SELECT, - sym_difference=SYM_DIFFERENCE, - transform=TRANSFORM, - unionagg=UNIONAGG, - union=UNION, - Adaptor=OracleSpatialAdaptor, - Field=OracleSpatialField, - GeometryColumns=GeometryColumns, - SpatialRefSys=SpatialRefSys, - ) diff --git a/django/contrib/gis/db/backend/oracle/adaptor.py b/django/contrib/gis/db/backend/oracle/adaptor.py deleted file mode 100644 index 95dc26579..000000000 --- a/django/contrib/gis/db/backend/oracle/adaptor.py +++ /dev/null @@ -1,5 +0,0 @@ -from cx_Oracle import CLOB -from django.contrib.gis.db.backend.adaptor import WKTAdaptor - -class OracleSpatialAdaptor(WKTAdaptor): - input_size = CLOB diff --git a/django/contrib/gis/db/backend/oracle/creation.py b/django/contrib/gis/db/backend/oracle/creation.py deleted file mode 100644 index a1ea56f3c..000000000 --- a/django/contrib/gis/db/backend/oracle/creation.py +++ /dev/null @@ -1,5 +0,0 @@ - -def create_test_spatial_db(verbosity=1, autoclobber=False): - "A wrapper over the Oracle `create_test_db` routine." - from django.db import connection - connection.creation.create_test_db(verbosity, autoclobber) diff --git a/django/contrib/gis/db/backend/oracle/field.py b/django/contrib/gis/db/backend/oracle/field.py deleted file mode 100644 index d6e364061..000000000 --- a/django/contrib/gis/db/backend/oracle/field.py +++ /dev/null @@ -1,102 +0,0 @@ -from django.db import connection -from django.db.backends.util import truncate_name -from django.db.models.fields import Field # Django base Field class -from django.contrib.gis.db.backend.util import gqn -from django.contrib.gis.db.backend.oracle.query import TRANSFORM - -# Quotename & geographic quotename, respectively. -qn = connection.ops.quote_name - -class OracleSpatialField(Field): - """ - The backend-specific geographic field for Oracle Spatial. - """ - - empty_strings_allowed = False - - def __init__(self, extent=(-180.0, -90.0, 180.0, 90.0), tolerance=0.05, **kwargs): - """ - Oracle Spatial backend needs to have the extent -- for projected coordinate - systems _you must define the extent manually_, since the coordinates are - for geodetic systems. The `tolerance` keyword specifies the tolerance - for error (in meters), and defaults to 0.05 (5 centimeters). - """ - # Oracle Spatial specific keyword arguments. - self._extent = extent - self._tolerance = tolerance - # Calling the Django field initialization. - super(OracleSpatialField, self).__init__(**kwargs) - - def _add_geom(self, style, db_table): - """ - Adds this geometry column into the Oracle USER_SDO_GEOM_METADATA - table. - """ - # Checking the dimensions. - # TODO: Add support for 3D geometries. - if self.dim != 2: - raise Exception('3D geometries not yet supported on Oracle Spatial backend.') - - # Constructing the SQL that will be used to insert information about - # the geometry column into the USER_GSDO_GEOM_METADATA table. - meta_sql = (style.SQL_KEYWORD('INSERT INTO ') + - style.SQL_TABLE('USER_SDO_GEOM_METADATA') + - ' (%s, %s, %s, %s)\n ' % tuple(map(qn, ['TABLE_NAME', 'COLUMN_NAME', 'DIMINFO', 'SRID'])) + - style.SQL_KEYWORD(' VALUES ') + '(\n ' + - style.SQL_TABLE(gqn(db_table)) + ',\n ' + - style.SQL_FIELD(gqn(self.column)) + ',\n ' + - style.SQL_KEYWORD("MDSYS.SDO_DIM_ARRAY") + '(\n ' + - style.SQL_KEYWORD("MDSYS.SDO_DIM_ELEMENT") + - ("('LONG', %s, %s, %s),\n " % (self._extent[0], self._extent[2], self._tolerance)) + - style.SQL_KEYWORD("MDSYS.SDO_DIM_ELEMENT") + - ("('LAT', %s, %s, %s)\n ),\n" % (self._extent[1], self._extent[3], self._tolerance)) + - ' %s\n );' % self.srid) - return meta_sql - - def _geom_index(self, style, db_table): - "Creates an Oracle Geometry index (R-tree) for this geometry field." - - # Getting the index name, Oracle doesn't allow object - # names > 30 characters. - idx_name = truncate_name('%s_%s_id' % (db_table, self.column), 30) - - sql = (style.SQL_KEYWORD('CREATE INDEX ') + - style.SQL_TABLE(qn(idx_name)) + - style.SQL_KEYWORD(' ON ') + - style.SQL_TABLE(qn(db_table)) + '(' + - style.SQL_FIELD(qn(self.column)) + ') ' + - style.SQL_KEYWORD('INDEXTYPE IS ') + - style.SQL_TABLE('MDSYS.SPATIAL_INDEX') + ';') - return sql - - def post_create_sql(self, style, db_table): - """ - Returns SQL that will be executed after the model has been - created. - """ - # Getting the meta geometry information. - post_sql = self._add_geom(style, db_table) - - # Getting the geometric index for this Geometry column. - if self.spatial_index: - return (post_sql, self._geom_index(style, db_table)) - else: - return (post_sql,) - - def db_type(self): - "The Oracle geometric data type is MDSYS.SDO_GEOMETRY." - return 'MDSYS.SDO_GEOMETRY' - - def get_placeholder(self, value): - """ - Provides a proper substitution value for Geometries that are not in the - SRID of the field. Specifically, this routine will substitute in the - SDO_CS.TRANSFORM() function call. - """ - if value is None: - return 'NULL' - elif value.srid != self.srid: - # Adding Transform() to the SQL placeholder. - return '%s(SDO_GEOMETRY(%%s, %s), %s)' % (TRANSFORM, value.srid, self.srid) - else: - return 'SDO_GEOMETRY(%%s, %s)' % self.srid diff --git a/django/contrib/gis/db/backend/oracle/query.py b/django/contrib/gis/db/backend/oracle/query.py deleted file mode 100644 index dcf6f67ae..000000000 --- a/django/contrib/gis/db/backend/oracle/query.py +++ /dev/null @@ -1,154 +0,0 @@ -""" - This module contains the spatial lookup types, and the `get_geo_where_clause` - routine for Oracle Spatial. - - Please note that WKT support is broken on the XE version, and thus - this backend will not work on such platforms. Specifically, XE lacks - support for an internal JVM, and Java libraries are required to use - the WKT constructors. -""" -import re -from decimal import Decimal -from django.db import connection -from django.contrib.gis.db.backend.util import SpatialFunction -from django.contrib.gis.measure import Distance -qn = connection.ops.quote_name - -# The GML, distance, transform, and union procedures. -AREA = 'SDO_GEOM.SDO_AREA' -ASGML = 'SDO_UTIL.TO_GMLGEOMETRY' -CENTROID = 'SDO_GEOM.SDO_CENTROID' -DIFFERENCE = 'SDO_GEOM.SDO_DIFFERENCE' -DISTANCE = 'SDO_GEOM.SDO_DISTANCE' -EXTENT = 'SDO_AGGR_MBR' -INTERSECTION = 'SDO_GEOM.SDO_INTERSECTION' -LENGTH = 'SDO_GEOM.SDO_LENGTH' -NUM_GEOM = 'SDO_UTIL.GETNUMELEM' -NUM_POINTS = 'SDO_UTIL.GETNUMVERTICES' -POINT_ON_SURFACE = 'SDO_GEOM.SDO_POINTONSURFACE' -SYM_DIFFERENCE = 'SDO_GEOM.SDO_XOR' -TRANSFORM = 'SDO_CS.TRANSFORM' -UNION = 'SDO_GEOM.SDO_UNION' -UNIONAGG = 'SDO_AGGR_UNION' - -# We want to get SDO Geometries as WKT because it is much easier to -# instantiate GEOS proxies from WKT than SDO_GEOMETRY(...) strings. -# However, this adversely affects performance (i.e., Java is called -# to convert to WKT on every query). If someone wishes to write a -# SDO_GEOMETRY(...) parser in Python, let me know =) -GEOM_SELECT = 'SDO_UTIL.TO_WKTGEOMETRY(%s)' - -#### Classes used in constructing Oracle spatial SQL #### -class SDOOperation(SpatialFunction): - "Base class for SDO* Oracle operations." - def __init__(self, func, **kwargs): - kwargs.setdefault('operator', '=') - kwargs.setdefault('result', 'TRUE') - kwargs.setdefault('end_subst', ") %s '%s'") - super(SDOOperation, self).__init__(func, **kwargs) - -class SDODistance(SpatialFunction): - "Class for Distance queries." - def __init__(self, op, tolerance=0.05): - super(SDODistance, self).__init__(DISTANCE, end_subst=', %s) %%s %%s' % tolerance, - operator=op, result='%%s') - -class SDOGeomRelate(SpatialFunction): - "Class for using SDO_GEOM.RELATE." - def __init__(self, mask, tolerance=0.05): - # SDO_GEOM.RELATE(...) has a peculiar argument order: column, mask, geom, tolerance. - # Moreover, the runction result is the mask (e.g., 'DISJOINT' instead of 'TRUE'). - end_subst = "%s%s) %s '%s'" % (', %%s, ', tolerance, '=', mask) - beg_subst = "%%s(%%s, '%s'" % mask - super(SDOGeomRelate, self).__init__('SDO_GEOM.RELATE', beg_subst=beg_subst, end_subst=end_subst) - -class SDORelate(SpatialFunction): - "Class for using SDO_RELATE." - masks = 'TOUCH|OVERLAPBDYDISJOINT|OVERLAPBDYINTERSECT|EQUAL|INSIDE|COVEREDBY|CONTAINS|COVERS|ANYINTERACT|ON' - mask_regex = re.compile(r'^(%s)(\+(%s))*$' % (masks, masks), re.I) - def __init__(self, mask): - func = 'SDO_RELATE' - if not self.mask_regex.match(mask): - raise ValueError('Invalid %s mask: "%s"' % (func, mask)) - super(SDORelate, self).__init__(func, end_subst=", 'mask=%s') = 'TRUE'" % mask) - -#### Lookup type mapping dictionaries of Oracle spatial operations #### - -# Valid distance types and substitutions -dtypes = (Decimal, Distance, float, int, long) -DISTANCE_FUNCTIONS = { - 'distance_gt' : (SDODistance('>'), dtypes), - 'distance_gte' : (SDODistance('>='), dtypes), - 'distance_lt' : (SDODistance('<'), dtypes), - 'distance_lte' : (SDODistance('<='), dtypes), - 'dwithin' : (SDOOperation('SDO_WITHIN_DISTANCE', - beg_subst="%s(%s, %%s, 'distance=%%s'"), dtypes), - } - -ORACLE_GEOMETRY_FUNCTIONS = { - 'contains' : SDOOperation('SDO_CONTAINS'), - 'coveredby' : SDOOperation('SDO_COVEREDBY'), - 'covers' : SDOOperation('SDO_COVERS'), - 'disjoint' : SDOGeomRelate('DISJOINT'), - 'intersects' : SDOOperation('SDO_OVERLAPBDYINTERSECT'), # TODO: Is this really the same as ST_Intersects()? - 'equals' : SDOOperation('SDO_EQUAL'), - 'exact' : SDOOperation('SDO_EQUAL'), - 'overlaps' : SDOOperation('SDO_OVERLAPS'), - 'same_as' : SDOOperation('SDO_EQUAL'), - 'relate' : (SDORelate, basestring), # Oracle uses a different syntax, e.g., 'mask=inside+touch' - 'touches' : SDOOperation('SDO_TOUCH'), - 'within' : SDOOperation('SDO_INSIDE'), - } -ORACLE_GEOMETRY_FUNCTIONS.update(DISTANCE_FUNCTIONS) - -# This lookup type does not require a mapping. -MISC_TERMS = ['isnull'] - -# Acceptable lookup types for Oracle spatial. -ORACLE_SPATIAL_TERMS = ORACLE_GEOMETRY_FUNCTIONS.keys() -ORACLE_SPATIAL_TERMS += MISC_TERMS -ORACLE_SPATIAL_TERMS = dict((term, None) for term in ORACLE_SPATIAL_TERMS) # Making dictionary for fast lookups - -#### The `get_geo_where_clause` function for Oracle #### -def get_geo_where_clause(table_alias, name, lookup_type, geo_annot): - "Returns the SQL WHERE clause for use in Oracle spatial SQL construction." - # Getting the quoted table name as `geo_col`. - geo_col = '%s.%s' % (qn(table_alias), qn(name)) - - # See if a Oracle Geometry function matches the lookup type next - lookup_info = ORACLE_GEOMETRY_FUNCTIONS.get(lookup_type, False) - if lookup_info: - # Lookup types that are tuples take tuple arguments, e.g., 'relate' and - # 'dwithin' lookup types. - if isinstance(lookup_info, tuple): - # First element of tuple is lookup type, second element is the type - # of the expected argument (e.g., str, float) - sdo_op, arg_type = lookup_info - - # Ensuring that a tuple _value_ was passed in from the user - if not isinstance(geo_annot.value, tuple): - raise TypeError('Tuple required for `%s` lookup type.' % lookup_type) - if len(geo_annot.value) != 2: - raise ValueError('2-element tuple required for %s lookup type.' % lookup_type) - - # Ensuring the argument type matches what we expect. - if not isinstance(geo_annot.value[1], arg_type): - raise TypeError('Argument type should be %s, got %s instead.' % (arg_type, type(geo_annot.value[1]))) - - if lookup_type == 'relate': - # The SDORelate class handles construction for these queries, - # and verifies the mask argument. - return sdo_op(geo_annot.value[1]).as_sql(geo_col) - else: - # Otherwise, just call the `as_sql` method on the SDOOperation instance. - return sdo_op.as_sql(geo_col) - else: - # Lookup info is a SDOOperation instance, whose `as_sql` method returns - # the SQL necessary for the geometry function call. For example: - # SDO_CONTAINS("geoapp_country"."poly", SDO_GEOMTRY('POINT(5 23)', 4326)) = 'TRUE' - return lookup_info.as_sql(geo_col) - elif lookup_type == 'isnull': - # Handling 'isnull' lookup type - return "%s IS %sNULL" % (geo_col, (not geo_annot.value and 'NOT ' or '')) - - raise TypeError("Got invalid lookup_type: %s" % repr(lookup_type)) diff --git a/django/contrib/gis/db/backend/postgis/__init__.py b/django/contrib/gis/db/backend/postgis/__init__.py deleted file mode 100644 index 7833376d1..000000000 --- a/django/contrib/gis/db/backend/postgis/__init__.py +++ /dev/null @@ -1,48 +0,0 @@ -__all__ = ['create_test_spatial_db', 'get_geo_where_clause', 'SpatialBackend'] - -from django.contrib.gis.db.backend.base import BaseSpatialBackend -from django.contrib.gis.db.backend.postgis.adaptor import PostGISAdaptor -from django.contrib.gis.db.backend.postgis.creation import create_test_spatial_db -from django.contrib.gis.db.backend.postgis.field import PostGISField -from django.contrib.gis.db.backend.postgis.models import GeometryColumns, SpatialRefSys -from django.contrib.gis.db.backend.postgis.query import * - -SpatialBackend = BaseSpatialBackend(name='postgis', postgis=True, - area=AREA, - centroid=CENTROID, - collect=COLLECT, - difference=DIFFERENCE, - distance=DISTANCE, - distance_functions=DISTANCE_FUNCTIONS, - distance_sphere=DISTANCE_SPHERE, - distance_spheroid=DISTANCE_SPHEROID, - envelope=ENVELOPE, - extent=EXTENT, - gis_terms=POSTGIS_TERMS, - geojson=ASGEOJSON, - gml=ASGML, - intersection=INTERSECTION, - kml=ASKML, - length=LENGTH, - length_spheroid=LENGTH_SPHEROID, - make_line=MAKE_LINE, - mem_size=MEM_SIZE, - num_geom=NUM_GEOM, - num_points=NUM_POINTS, - perimeter=PERIMETER, - point_on_surface=POINT_ON_SURFACE, - scale=SCALE, - select=GEOM_SELECT, - snap_to_grid=SNAP_TO_GRID, - svg=ASSVG, - sym_difference=SYM_DIFFERENCE, - transform=TRANSFORM, - translate=TRANSLATE, - union=UNION, - unionagg=UNIONAGG, - version=(MAJOR_VERSION, MINOR_VERSION1, MINOR_VERSION2), - Adaptor=PostGISAdaptor, - Field=PostGISField, - GeometryColumns=GeometryColumns, - SpatialRefSys=SpatialRefSys, - ) diff --git a/django/contrib/gis/db/backend/postgis/creation.py b/django/contrib/gis/db/backend/postgis/creation.py deleted file mode 100644 index 39306902d..000000000 --- a/django/contrib/gis/db/backend/postgis/creation.py +++ /dev/null @@ -1,231 +0,0 @@ -import os, re, sys - -from django.conf import settings -from django.core.management import call_command -from django.db import connection -from django.db.backends.creation import TEST_DATABASE_PREFIX -from django.contrib.gis.db.backend.util import getstatusoutput - -def create_lang(db_name, verbosity=1): - "Sets up the pl/pgsql language on the given database." - - # Getting the command-line options for the shell command - options = get_cmd_options(db_name) - - # Constructing the 'createlang' command. - createlang_cmd = 'createlang %splpgsql' % options - if verbosity >= 1: print createlang_cmd - - # Must have database super-user privileges to execute createlang -- it must - # also be in your path. - status, output = getstatusoutput(createlang_cmd) - - # Checking the status of the command, 0 => execution successful - if status: - raise Exception("Error executing 'plpgsql' command: %s\n" % output) - -def _create_with_cursor(db_name, verbosity=1, autoclobber=False): - "Creates database with psycopg2 cursor." - qn = connection.ops.quote_name - - # Constructing the necessary SQL to create the database. - create_sql = 'CREATE DATABASE %s' % qn(db_name) - - # If there's a template database for PostGIS set, then use it. - if hasattr(settings, 'POSTGIS_TEMPLATE'): - create_sql += ' TEMPLATE %s' % qn(settings.POSTGIS_TEMPLATE) - - # The DATABASE_USER must possess the privileges to create a spatial database. - if settings.DATABASE_USER: - create_sql += ' OWNER %s' % qn(settings.DATABASE_USER) - - cursor = connection.cursor() - connection.creation.set_autocommit() - - try: - # Trying to create the database first. - cursor.execute(create_sql) - except Exception, e: - if 'already exists' in e.pgerror.lower(): - # Database already exists, drop and recreate if user agrees. - if not autoclobber: - confirm = raw_input("\nIt appears the database, %s, already exists. Type 'yes' to delete it, or 'no' to cancel: " % db_name) - if autoclobber or confirm == 'yes': - if verbosity >= 1: print 'Destroying old spatial database...' - drop_db(db_name) - if verbosity >= 1: print 'Creating new spatial database...' - cursor.execute(create_sql) - else: - raise Exception('Spatial database creation canceled.') - else: - raise Exception('Spatial database creation failed: "%s"' % e.pgerror.strip()) - -created_regex = re.compile(r'^createdb: database creation failed: ERROR: database ".+" already exists') -def _create_with_shell(db_name, verbosity=1, autoclobber=False): - """ - If no spatial database already exists, then using a cursor will not work. - Thus, a `createdb` command will be issued through the shell to bootstrap - creation of the spatial database. - - TODO: Actually allow this method to be used without a spatial database - in place first. - """ - # Getting the command-line options for the shell command - options = get_cmd_options(False) - if hasattr(settings, 'POSTGIS_TEMPLATE'): - options += '-T %s ' % settings.POSTGIS_TEMPlATE - - create_cmd = 'createdb -O %s %s%s' % (settings.DATABASE_USER, options, db_name) - if verbosity >= 1: print create_cmd - - # Attempting to create the database. - status, output = getstatusoutput(create_cmd) - - if status: - if created_regex.match(output): - if not autoclobber: - confirm = raw_input("\nIt appears the database, %s, already exists. Type 'yes' to delete it, or 'no' to cancel: " % db_name) - if autoclobber or confirm == 'yes': - if verbosity >= 1: print 'Destroying old spatial database...' - drop_cmd = 'dropdb %s%s' % (options, db_name) - status, output = getstatusoutput(drop_cmd) - if status != 0: - raise Exception('Could not drop database %s: %s' % (db_name, output)) - if verbosity >= 1: print 'Creating new spatial database...' - status, output = getstatusoutput(create_cmd) - if status != 0: - raise Exception('Could not create database after dropping: %s' % output) - else: - raise Exception('Spatial Database Creation canceled.') - else: - raise Exception('Unknown error occurred in creating database: %s' % output) - -def create_test_spatial_db(verbosity=1, autoclobber=False, interactive=False): - "Creates a test spatial database based on the settings." - - # Making sure we're using PostgreSQL and psycopg2 - if settings.DATABASE_ENGINE != 'postgresql_psycopg2': - raise Exception('Spatial database creation only supported postgresql_psycopg2 platform.') - - # Getting the spatial database name - db_name = get_spatial_db(test=True) - _create_with_cursor(db_name, verbosity=verbosity, autoclobber=autoclobber) - - # If a template database is used, then don't need to do any of the following. - if not hasattr(settings, 'POSTGIS_TEMPLATE'): - # Creating the db language, does not need to be done on NT platforms - # since the PostGIS installer enables this capability. - if os.name != 'nt': - create_lang(db_name, verbosity=verbosity) - - # Now adding in the PostGIS routines. - load_postgis_sql(db_name, verbosity=verbosity) - - if verbosity >= 1: print 'Creation of spatial database %s successful.' % db_name - - # Closing the connection - connection.close() - settings.DATABASE_NAME = db_name - connection.settings_dict["DATABASE_NAME"] = db_name - can_rollback = connection.creation._rollback_works() - settings.DATABASE_SUPPORTS_TRANSACTIONS = can_rollback - connection.settings_dict["DATABASE_SUPPORTS_TRANSACTIONS"] = can_rollback - - # Syncing the database - call_command('syncdb', verbosity=verbosity, interactive=interactive) - -def drop_db(db_name=False, test=False): - """ - Drops the given database (defaults to what is returned from - get_spatial_db()). All exceptions are propagated up to the caller. - """ - if not db_name: db_name = get_spatial_db(test=test) - cursor = connection.cursor() - cursor.execute('DROP DATABASE %s' % connection.ops.quote_name(db_name)) - -def get_cmd_options(db_name): - "Obtains the command-line PostgreSQL connection options for shell commands." - # The db_name parameter is optional - options = '' - if db_name: - options += '-d %s ' % db_name - if settings.DATABASE_USER: - options += '-U %s ' % settings.DATABASE_USER - if settings.DATABASE_HOST: - options += '-h %s ' % settings.DATABASE_HOST - if settings.DATABASE_PORT: - options += '-p %s ' % settings.DATABASE_PORT - return options - -def get_spatial_db(test=False): - """ - Returns the name of the spatial database. The 'test' keyword may be set - to return the test spatial database name. - """ - if test: - if settings.TEST_DATABASE_NAME: - test_db_name = settings.TEST_DATABASE_NAME - else: - test_db_name = TEST_DATABASE_PREFIX + settings.DATABASE_NAME - return test_db_name - else: - if not settings.DATABASE_NAME: - raise Exception('must configure DATABASE_NAME in settings.py') - return settings.DATABASE_NAME - -def load_postgis_sql(db_name, verbosity=1): - """ - This routine loads up the PostGIS SQL files lwpostgis.sql and - spatial_ref_sys.sql. - """ - # Getting the path to the PostGIS SQL - try: - # POSTGIS_SQL_PATH may be placed in settings to tell GeoDjango where the - # PostGIS SQL files are located. This is especially useful on Win32 - # platforms since the output of pg_config looks like "C:/PROGRA~1/..". - sql_path = settings.POSTGIS_SQL_PATH - except AttributeError: - status, sql_path = getstatusoutput('pg_config --sharedir') - if status: - sql_path = '/usr/local/share' - - # The PostGIS SQL post-creation files. - lwpostgis_file = os.path.join(sql_path, 'lwpostgis.sql') - srefsys_file = os.path.join(sql_path, 'spatial_ref_sys.sql') - if not os.path.isfile(lwpostgis_file): - raise Exception('Could not find PostGIS function definitions in %s' % lwpostgis_file) - if not os.path.isfile(srefsys_file): - raise Exception('Could not find PostGIS spatial reference system definitions in %s' % srefsys_file) - - # Getting the psql command-line options, and command format. - options = get_cmd_options(db_name) - cmd_fmt = 'psql %s-f "%%s"' % options - - # Now trying to load up the PostGIS functions - cmd = cmd_fmt % lwpostgis_file - if verbosity >= 1: print cmd - status, output = getstatusoutput(cmd) - if status: - raise Exception('Error in loading PostGIS lwgeometry routines.') - - # Now trying to load up the Spatial Reference System table - cmd = cmd_fmt % srefsys_file - if verbosity >= 1: print cmd - status, output = getstatusoutput(cmd) - if status: - raise Exception('Error in loading PostGIS spatial_ref_sys table.') - - # Setting the permissions because on Windows platforms the owner - # of the spatial_ref_sys and geometry_columns tables is always - # the postgres user, regardless of how the db is created. - if os.name == 'nt': set_permissions(db_name) - -def set_permissions(db_name): - """ - Sets the permissions on the given database to that of the user specified - in the settings. Needed specifically for PostGIS on Win32 platforms. - """ - cursor = connection.cursor() - user = settings.DATABASE_USER - cursor.execute('ALTER TABLE geometry_columns OWNER TO %s' % user) - cursor.execute('ALTER TABLE spatial_ref_sys OWNER TO %s' % user) diff --git a/django/contrib/gis/db/backend/postgis/field.py b/django/contrib/gis/db/backend/postgis/field.py deleted file mode 100644 index e08bda3d4..000000000 --- a/django/contrib/gis/db/backend/postgis/field.py +++ /dev/null @@ -1,95 +0,0 @@ -from django.db import connection -from django.db.models.fields import Field # Django base Field class -from django.contrib.gis.db.backend.util import gqn -from django.contrib.gis.db.backend.postgis.query import TRANSFORM - -# Quotename & geographic quotename, respectively -qn = connection.ops.quote_name - -class PostGISField(Field): - """ - The backend-specific geographic field for PostGIS. - """ - - def _add_geom(self, style, db_table): - """ - Constructs the addition of the geometry to the table using the - AddGeometryColumn(...) PostGIS (and OGC standard) stored procedure. - - Takes the style object (provides syntax highlighting) and the - database table as parameters. - """ - sql = (style.SQL_KEYWORD('SELECT ') + - style.SQL_TABLE('AddGeometryColumn') + '(' + - style.SQL_TABLE(gqn(db_table)) + ', ' + - style.SQL_FIELD(gqn(self.column)) + ', ' + - style.SQL_FIELD(str(self.srid)) + ', ' + - style.SQL_COLTYPE(gqn(self.geom_type)) + ', ' + - style.SQL_KEYWORD(str(self.dim)) + ');') - - if not self.null: - # Add a NOT NULL constraint to the field - sql += ('\n' + - style.SQL_KEYWORD('ALTER TABLE ') + - style.SQL_TABLE(qn(db_table)) + - style.SQL_KEYWORD(' ALTER ') + - style.SQL_FIELD(qn(self.column)) + - style.SQL_KEYWORD(' SET NOT NULL') + ';') - return sql - - def _geom_index(self, style, db_table, - index_type='GIST', index_opts='GIST_GEOMETRY_OPS'): - "Creates a GiST index for this geometry field." - sql = (style.SQL_KEYWORD('CREATE INDEX ') + - style.SQL_TABLE(qn('%s_%s_id' % (db_table, self.column))) + - style.SQL_KEYWORD(' ON ') + - style.SQL_TABLE(qn(db_table)) + - style.SQL_KEYWORD(' USING ') + - style.SQL_COLTYPE(index_type) + ' ( ' + - style.SQL_FIELD(qn(self.column)) + ' ' + - style.SQL_KEYWORD(index_opts) + ' );') - return sql - - def post_create_sql(self, style, db_table): - """ - Returns SQL that will be executed after the model has been - created. Geometry columns must be added after creation with the - PostGIS AddGeometryColumn() function. - """ - - # Getting the AddGeometryColumn() SQL necessary to create a PostGIS - # geometry field. - post_sql = self._add_geom(style, db_table) - - # If the user wants to index this data, then get the indexing SQL as well. - if self.spatial_index: - return (post_sql, self._geom_index(style, db_table)) - else: - return (post_sql,) - - def _post_delete_sql(self, style, db_table): - "Drops the geometry column." - sql = (style.SQL_KEYWORD('SELECT ') + - style.SQL_KEYWORD('DropGeometryColumn') + '(' + - style.SQL_TABLE(gqn(db_table)) + ', ' + - style.SQL_FIELD(gqn(self.column)) + ');') - return sql - - def db_type(self): - """ - PostGIS geometry columns are added by stored procedures, should be - None. - """ - return None - - def get_placeholder(self, value): - """ - Provides a proper substitution value for Geometries that are not in the - SRID of the field. Specifically, this routine will substitute in the - ST_Transform() function call. - """ - if value is None or value.srid == self.srid: - return '%s' - else: - # Adding Transform() to the SQL placeholder. - return '%s(%%s, %s)' % (TRANSFORM, self.srid) diff --git a/django/contrib/gis/db/backend/postgis/management.py b/django/contrib/gis/db/backend/postgis/management.py deleted file mode 100644 index c1cb32a04..000000000 --- a/django/contrib/gis/db/backend/postgis/management.py +++ /dev/null @@ -1,54 +0,0 @@ -""" - This utility module is for obtaining information about the PostGIS - installation. - - See PostGIS docs at Ch. 6.2.1 for more information on these functions. -""" -import re - -def _get_postgis_func(func): - "Helper routine for calling PostGIS functions and returning their result." - from django.db import connection - cursor = connection.cursor() - cursor.execute('SELECT %s()' % func) - row = cursor.fetchone() - cursor.close() - return row[0] - -### PostGIS management functions ### -def postgis_geos_version(): - "Returns the version of the GEOS library used with PostGIS." - return _get_postgis_func('postgis_geos_version') - -def postgis_lib_version(): - "Returns the version number of the PostGIS library used with PostgreSQL." - return _get_postgis_func('postgis_lib_version') - -def postgis_proj_version(): - "Returns the version of the PROJ.4 library used with PostGIS." - return _get_postgis_func('postgis_proj_version') - -def postgis_version(): - "Returns PostGIS version number and compile-time options." - return _get_postgis_func('postgis_version') - -def postgis_full_version(): - "Returns PostGIS version number and compile-time options." - return _get_postgis_func('postgis_full_version') - -### Routines for parsing output of management functions. ### -version_regex = re.compile('^(?P\d)\.(?P\d)\.(?P\d+)') -def postgis_version_tuple(): - "Returns the PostGIS version as a tuple." - - # Getting the PostGIS version - version = postgis_lib_version() - m = version_regex.match(version) - if m: - major = int(m.group('major')) - minor1 = int(m.group('minor1')) - minor2 = int(m.group('minor2')) - else: - raise Exception('Could not parse PostGIS version string: %s' % version) - - return (version, major, minor1, minor2) diff --git a/django/contrib/gis/db/backend/postgis/query.py b/django/contrib/gis/db/backend/postgis/query.py deleted file mode 100644 index 749167605..000000000 --- a/django/contrib/gis/db/backend/postgis/query.py +++ /dev/null @@ -1,309 +0,0 @@ -""" - This module contains the spatial lookup types, and the get_geo_where_clause() - routine for PostGIS. -""" - -import re -from decimal import Decimal -from django.db import connection -from django.conf import settings -from django.contrib.gis.measure import Distance -from django.contrib.gis.db.backend.util import SpatialOperation, SpatialFunction - -qn = connection.ops.quote_name - -# Get the PostGIS version information. -# To avoid the need to do a database query to determine the PostGIS version -# each time the server starts up, one can optionally specify a -# POSTGIS_VERSION setting. This setting is intentionally undocumented and -# should be considered experimental, because an upcoming GIS backend -# refactoring might remove the need for it. -if hasattr(settings, 'POSTGIS_VERSION') and settings.POSTGIS_VERSION is not None: - version_tuple = settings.POSTGIS_VERSION -else: - # This import is intentionally within the 'else' so that it isn't executed - # if the POSTGIS_VERSION setting is available. - from django.contrib.gis.db.backend.postgis.management import postgis_version_tuple - version_tuple = postgis_version_tuple() -POSTGIS_VERSION, MAJOR_VERSION, MINOR_VERSION1, MINOR_VERSION2 = version_tuple - -# The supported PostGIS versions. -# TODO: Confirm tests with PostGIS versions 1.1.x -- should work. -# Versions <= 1.0.x do not use GEOS C API, and will not be supported. -if MAJOR_VERSION != 1 or (MAJOR_VERSION == 1 and MINOR_VERSION1 < 1): - raise Exception('PostGIS version %s not supported.' % POSTGIS_VERSION) - -# Versions of PostGIS >= 1.2.2 changed their naming convention to be -# 'SQL-MM-centric' to conform with the ISO standard. Practically, this -# means that 'ST_' prefixes geometry function names. -GEOM_FUNC_PREFIX = '' -if MAJOR_VERSION >= 1: - if (MINOR_VERSION1 > 2 or - (MINOR_VERSION1 == 2 and MINOR_VERSION2 >= 2)): - GEOM_FUNC_PREFIX = 'ST_' - - def get_func(func): return '%s%s' % (GEOM_FUNC_PREFIX, func) - - # Custom selection not needed for PostGIS because GEOS geometries are - # instantiated directly from the HEXEWKB returned by default. If - # WKT is needed for some reason in the future, this value may be changed, - # e.g,, 'AsText(%s)'. - GEOM_SELECT = None - - # Functions used by the GeoManager & GeoQuerySet - AREA = get_func('Area') - ASGEOJSON = get_func('AsGeoJson') - ASKML = get_func('AsKML') - ASGML = get_func('AsGML') - ASSVG = get_func('AsSVG') - CENTROID = get_func('Centroid') - COLLECT = get_func('Collect') - DIFFERENCE = get_func('Difference') - DISTANCE = get_func('Distance') - DISTANCE_SPHERE = get_func('distance_sphere') - DISTANCE_SPHEROID = get_func('distance_spheroid') - ENVELOPE = get_func('Envelope') - EXTENT = get_func('extent') - GEOM_FROM_TEXT = get_func('GeomFromText') - GEOM_FROM_WKB = get_func('GeomFromWKB') - INTERSECTION = get_func('Intersection') - LENGTH = get_func('Length') - LENGTH_SPHEROID = get_func('length_spheroid') - MAKE_LINE = get_func('MakeLine') - MEM_SIZE = get_func('mem_size') - NUM_GEOM = get_func('NumGeometries') - NUM_POINTS = get_func('npoints') - PERIMETER = get_func('Perimeter') - POINT_ON_SURFACE = get_func('PointOnSurface') - SCALE = get_func('Scale') - SNAP_TO_GRID = get_func('SnapToGrid') - SYM_DIFFERENCE = get_func('SymDifference') - TRANSFORM = get_func('Transform') - TRANSLATE = get_func('Translate') - - # Special cases for union, KML, and GeoJSON methods. - if MINOR_VERSION1 < 3: - UNIONAGG = 'GeomUnion' - UNION = 'Union' - else: - UNIONAGG = 'ST_Union' - UNION = 'ST_Union' - - if MINOR_VERSION1 == 1: - ASKML = False - - # Only 1.3.4+ have AsGeoJson. - if (MINOR_VERSION1 < 3 or - (MINOR_VERSION1 == 3 and MINOR_VERSION2 < 4)): - ASGEOJSON = False -else: - raise NotImplementedError('PostGIS versions < 1.0 are not supported.') - -#### Classes used in constructing PostGIS spatial SQL #### -class PostGISOperator(SpatialOperation): - "For PostGIS operators (e.g. `&&`, `~`)." - def __init__(self, operator): - super(PostGISOperator, self).__init__(operator=operator, beg_subst='%s %s %%s') - -class PostGISFunction(SpatialFunction): - "For PostGIS function calls (e.g., `ST_Contains(table, geom)`)." - def __init__(self, function, **kwargs): - super(PostGISFunction, self).__init__(get_func(function), **kwargs) - -class PostGISFunctionParam(PostGISFunction): - "For PostGIS functions that take another parameter (e.g. DWithin, Relate)." - def __init__(self, func): - super(PostGISFunctionParam, self).__init__(func, end_subst=', %%s)') - -class PostGISDistance(PostGISFunction): - "For PostGIS distance operations." - dist_func = 'Distance' - def __init__(self, operator): - super(PostGISDistance, self).__init__(self.dist_func, end_subst=') %s %s', - operator=operator, result='%%s') - -class PostGISSpheroidDistance(PostGISFunction): - "For PostGIS spherical distance operations (using the spheroid)." - dist_func = 'distance_spheroid' - def __init__(self, operator): - # An extra parameter in `end_subst` is needed for the spheroid string. - super(PostGISSpheroidDistance, self).__init__(self.dist_func, - beg_subst='%s(%s, %%s, %%s', - end_subst=') %s %s', - operator=operator, result='%%s') - -class PostGISSphereDistance(PostGISFunction): - "For PostGIS spherical distance operations." - dist_func = 'distance_sphere' - def __init__(self, operator): - super(PostGISSphereDistance, self).__init__(self.dist_func, end_subst=') %s %s', - operator=operator, result='%%s') - -class PostGISRelate(PostGISFunctionParam): - "For PostGIS Relate(, ) calls." - pattern_regex = re.compile(r'^[012TF\*]{9}$') - def __init__(self, pattern): - if not self.pattern_regex.match(pattern): - raise ValueError('Invalid intersection matrix pattern "%s".' % pattern) - super(PostGISRelate, self).__init__('Relate') - -#### Lookup type mapping dictionaries of PostGIS operations. #### - -# PostGIS-specific operators. The commented descriptions of these -# operators come from Section 6.2.2 of the official PostGIS documentation. -POSTGIS_OPERATORS = { - # The "&<" operator returns true if A's bounding box overlaps or - # is to the left of B's bounding box. - 'overlaps_left' : PostGISOperator('&<'), - # The "&>" operator returns true if A's bounding box overlaps or - # is to the right of B's bounding box. - 'overlaps_right' : PostGISOperator('&>'), - # The "<<" operator returns true if A's bounding box is strictly - # to the left of B's bounding box. - 'left' : PostGISOperator('<<'), - # The ">>" operator returns true if A's bounding box is strictly - # to the right of B's bounding box. - 'right' : PostGISOperator('>>'), - # The "&<|" operator returns true if A's bounding box overlaps or - # is below B's bounding box. - 'overlaps_below' : PostGISOperator('&<|'), - # The "|&>" operator returns true if A's bounding box overlaps or - # is above B's bounding box. - 'overlaps_above' : PostGISOperator('|&>'), - # The "<<|" operator returns true if A's bounding box is strictly - # below B's bounding box. - 'strictly_below' : PostGISOperator('<<|'), - # The "|>>" operator returns true if A's bounding box is strictly - # above B's bounding box. - 'strictly_above' : PostGISOperator('|>>'), - # The "~=" operator is the "same as" operator. It tests actual - # geometric equality of two features. So if A and B are the same feature, - # vertex-by-vertex, the operator returns true. - 'same_as' : PostGISOperator('~='), - 'exact' : PostGISOperator('~='), - # The "@" operator returns true if A's bounding box is completely contained - # by B's bounding box. - 'contained' : PostGISOperator('@'), - # The "~" operator returns true if A's bounding box completely contains - # by B's bounding box. - 'bbcontains' : PostGISOperator('~'), - # The "&&" operator returns true if A's bounding box overlaps - # B's bounding box. - 'bboverlaps' : PostGISOperator('&&'), - } - -# For PostGIS >= 1.2.2 the following lookup types will do a bounding box query -# first before calling the more computationally expensive GEOS routines (called -# "inline index magic"): -# 'touches', 'crosses', 'contains', 'intersects', 'within', 'overlaps', and -# 'covers'. -POSTGIS_GEOMETRY_FUNCTIONS = { - 'equals' : PostGISFunction('Equals'), - 'disjoint' : PostGISFunction('Disjoint'), - 'touches' : PostGISFunction('Touches'), - 'crosses' : PostGISFunction('Crosses'), - 'within' : PostGISFunction('Within'), - 'overlaps' : PostGISFunction('Overlaps'), - 'contains' : PostGISFunction('Contains'), - 'intersects' : PostGISFunction('Intersects'), - 'relate' : (PostGISRelate, basestring), - } - -# Valid distance types and substitutions -dtypes = (Decimal, Distance, float, int, long) -def get_dist_ops(operator): - "Returns operations for both regular and spherical distances." - return (PostGISDistance(operator), PostGISSphereDistance(operator), PostGISSpheroidDistance(operator)) -DISTANCE_FUNCTIONS = { - 'distance_gt' : (get_dist_ops('>'), dtypes), - 'distance_gte' : (get_dist_ops('>='), dtypes), - 'distance_lt' : (get_dist_ops('<'), dtypes), - 'distance_lte' : (get_dist_ops('<='), dtypes), - } - -if GEOM_FUNC_PREFIX == 'ST_': - # The ST_DWithin, ST_CoveredBy, and ST_Covers routines become available in 1.2.2+ - POSTGIS_GEOMETRY_FUNCTIONS.update( - {'coveredby' : PostGISFunction('CoveredBy'), - 'covers' : PostGISFunction('Covers'), - }) - DISTANCE_FUNCTIONS['dwithin'] = (PostGISFunctionParam('DWithin'), dtypes) - -# Distance functions are a part of PostGIS geometry functions. -POSTGIS_GEOMETRY_FUNCTIONS.update(DISTANCE_FUNCTIONS) - -# Any other lookup types that do not require a mapping. -MISC_TERMS = ['isnull'] - -# These are the PostGIS-customized QUERY_TERMS -- a list of the lookup types -# allowed for geographic queries. -POSTGIS_TERMS = POSTGIS_OPERATORS.keys() # Getting the operators first -POSTGIS_TERMS += POSTGIS_GEOMETRY_FUNCTIONS.keys() # Adding on the Geometry Functions -POSTGIS_TERMS += MISC_TERMS # Adding any other miscellaneous terms (e.g., 'isnull') -POSTGIS_TERMS = dict((term, None) for term in POSTGIS_TERMS) # Making a dictionary for fast lookups - -# For checking tuple parameters -- not very pretty but gets job done. -def exactly_two(val): return val == 2 -def two_to_three(val): return val >= 2 and val <=3 -def num_params(lookup_type, val): - if lookup_type in DISTANCE_FUNCTIONS and lookup_type != 'dwithin': return two_to_three(val) - else: return exactly_two(val) - -#### The `get_geo_where_clause` function for PostGIS. #### -def get_geo_where_clause(table_alias, name, lookup_type, geo_annot): - "Returns the SQL WHERE clause for use in PostGIS SQL construction." - # Getting the quoted field as `geo_col`. - geo_col = '%s.%s' % (qn(table_alias), qn(name)) - if lookup_type in POSTGIS_OPERATORS: - # See if a PostGIS operator matches the lookup type. - return POSTGIS_OPERATORS[lookup_type].as_sql(geo_col) - elif lookup_type in POSTGIS_GEOMETRY_FUNCTIONS: - # See if a PostGIS geometry function matches the lookup type. - tmp = POSTGIS_GEOMETRY_FUNCTIONS[lookup_type] - - # Lookup types that are tuples take tuple arguments, e.g., 'relate' and - # distance lookups. - if isinstance(tmp, tuple): - # First element of tuple is the PostGISOperation instance, and the - # second element is either the type or a tuple of acceptable types - # that may passed in as further parameters for the lookup type. - op, arg_type = tmp - - # Ensuring that a tuple _value_ was passed in from the user - if not isinstance(geo_annot.value, (tuple, list)): - raise TypeError('Tuple required for `%s` lookup type.' % lookup_type) - - # Number of valid tuple parameters depends on the lookup type. - nparams = len(geo_annot.value) - if not num_params(lookup_type, nparams): - raise ValueError('Incorrect number of parameters given for `%s` lookup type.' % lookup_type) - - # Ensuring the argument type matches what we expect. - if not isinstance(geo_annot.value[1], arg_type): - raise TypeError('Argument type should be %s, got %s instead.' % (arg_type, type(geo_annot.value[1]))) - - # For lookup type `relate`, the op instance is not yet created (has - # to be instantiated here to check the pattern parameter). - if lookup_type == 'relate': - op = op(geo_annot.value[1]) - elif lookup_type in DISTANCE_FUNCTIONS and lookup_type != 'dwithin': - if geo_annot.geodetic: - # Geodetic distances are only availble from Points to PointFields. - if geo_annot.geom_type != 'POINT': - raise TypeError('PostGIS spherical operations are only valid on PointFields.') - if geo_annot.value[0].geom_typeid != 0: - raise TypeError('PostGIS geometry distance parameter is required to be of type Point.') - # Setting up the geodetic operation appropriately. - if nparams == 3 and geo_annot.value[2] == 'spheroid': op = op[2] - else: op = op[1] - else: - op = op[0] - else: - op = tmp - # Calling the `as_sql` function on the operation instance. - return op.as_sql(geo_col) - elif lookup_type == 'isnull': - # Handling 'isnull' lookup type - return "%s IS %sNULL" % (geo_col, (not geo_annot.value and 'NOT ' or '')) - - raise TypeError("Got invalid lookup_type: %s" % repr(lookup_type)) diff --git a/django/contrib/gis/db/backend/spatialite/__init__.py b/django/contrib/gis/db/backend/spatialite/__init__.py deleted file mode 100644 index f26c96bd8..000000000 --- a/django/contrib/gis/db/backend/spatialite/__init__.py +++ /dev/null @@ -1,60 +0,0 @@ -__all__ = ['create_test_spatial_db', 'get_geo_where_clause', 'SpatialBackend'] - -from ctypes.util import find_library -from django.conf import settings -from django.db.backends.signals import connection_created - -from django.contrib.gis.db.backend.base import BaseSpatialBackend -from django.contrib.gis.db.backend.spatialite.adaptor import SpatiaLiteAdaptor -from django.contrib.gis.db.backend.spatialite.creation import create_test_spatial_db -from django.contrib.gis.db.backend.spatialite.field import SpatiaLiteField -from django.contrib.gis.db.backend.spatialite.models import GeometryColumns, SpatialRefSys -from django.contrib.gis.db.backend.spatialite.query import * - -# Here we are figuring out the path to the SpatiLite library (`libspatialite`). -# If it's not in the system PATH, it may be set manually in the settings via -# the `SPATIALITE_LIBRARY_PATH` setting. -spatialite_lib = getattr(settings, 'SPATIALITE_LIBRARY_PATH', find_library('spatialite')) -if spatialite_lib: - def initialize_spatialite(sender=None, **kwargs): - """ - This function initializes the pysqlite2 connection to enable the - loading of extensions, and to load up the SpatiaLite library - extension. - """ - from django.db import connection - connection.connection.enable_load_extension(True) - connection.cursor().execute("SELECT load_extension(%s)", (spatialite_lib,)) - connection_created.connect(initialize_spatialite) -else: - # No SpatiaLite library found. - raise Exception('Unable to locate SpatiaLite, needed to use GeoDjango with sqlite3.') - -SpatialBackend = BaseSpatialBackend(name='spatialite', spatialite=True, - area=AREA, - centroid=CENTROID, - contained=CONTAINED, - difference=DIFFERENCE, - distance=DISTANCE, - distance_functions=DISTANCE_FUNCTIONS, - envelope=ENVELOPE, - from_text=GEOM_FROM_TEXT, - gis_terms=SPATIALITE_TERMS, - intersection=INTERSECTION, - length=LENGTH, - num_geom=NUM_GEOM, - num_points=NUM_POINTS, - point_on_surface=POINT_ON_SURFACE, - scale=SCALE, - select=GEOM_SELECT, - svg=ASSVG, - sym_difference=SYM_DIFFERENCE, - transform=TRANSFORM, - translate=TRANSLATE, - union=UNION, - unionagg=UNIONAGG, - Adaptor=SpatiaLiteAdaptor, - Field=SpatiaLiteField, - GeometryColumns=GeometryColumns, - SpatialRefSys=SpatialRefSys, - ) diff --git a/django/contrib/gis/db/backend/spatialite/creation.py b/django/contrib/gis/db/backend/spatialite/creation.py deleted file mode 100644 index 983677322..000000000 --- a/django/contrib/gis/db/backend/spatialite/creation.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from django.conf import settings -from django.core.management import call_command -from django.db import connection - -def spatialite_init_file(): - # SPATIALITE_SQL may be placed in settings to tell - # GeoDjango to use a specific user-supplied file. - return getattr(settings, 'SPATIALITE_SQL', 'init_spatialite-2.3.sql') - -def create_test_spatial_db(verbosity=1, autoclobber=False, interactive=False): - "Creates a spatial database based on the settings." - - # Making sure we're using PostgreSQL and psycopg2 - if settings.DATABASE_ENGINE != 'sqlite3': - raise Exception('SpatiaLite database creation only supported on sqlite3 platform.') - - # Getting the test database name using the SQLite backend's - # `_create_test_db`. Unless `TEST_DATABASE_NAME` is defined, - # it returns ":memory:". - db_name = connection.creation._create_test_db(verbosity, autoclobber) - - # Closing out the current connection to the database set in - # originally in the settings. This makes it so `initialize_spatialite` - # function will be run on the connection for the _test_ database instead. - connection.close() - - # Point to the new database - settings.DATABASE_NAME = db_name - connection.settings_dict["DATABASE_NAME"] = db_name - can_rollback = connection.creation._rollback_works() - settings.DATABASE_SUPPORTS_TRANSACTIONS = can_rollback - connection.settings_dict["DATABASE_SUPPORTS_TRANSACTIONS"] = can_rollback - - # Finally, loading up the SpatiaLite SQL file. - load_spatialite_sql(db_name, verbosity=verbosity) - - if verbosity >= 1: - print 'Creation of spatial database %s successful.' % db_name - - # Syncing the database - call_command('syncdb', verbosity=verbosity, interactive=interactive) - -def load_spatialite_sql(db_name, verbosity=1): - """ - This routine loads up the SpatiaLite SQL file. - """ - # Getting the location of the SpatiaLite SQL file, and confirming - # it exists. - spatialite_sql = spatialite_init_file() - if not os.path.isfile(spatialite_sql): - raise Exception('Could not find the SpatiaLite initialization SQL file: %s' % spatialite_sql) - - # Opening up the SpatiaLite SQL initialization file and executing - # as a script. - sql_fh = open(spatialite_sql, 'r') - try: - cur = connection.cursor() - cur.executescript(sql_fh.read()) - finally: - sql_fh.close() diff --git a/django/contrib/gis/db/backend/spatialite/field.py b/django/contrib/gis/db/backend/spatialite/field.py deleted file mode 100644 index 2be478038..000000000 --- a/django/contrib/gis/db/backend/spatialite/field.py +++ /dev/null @@ -1,82 +0,0 @@ -from django.db.models.fields import Field # Django base Field class - -# Quotename & geographic quotename, respectively -from django.db import connection -qn = connection.ops.quote_name -from django.contrib.gis.db.backend.util import gqn -from django.contrib.gis.db.backend.spatialite.query import GEOM_FROM_TEXT, TRANSFORM - -class SpatiaLiteField(Field): - """ - The backend-specific geographic field for SpatiaLite. - """ - - def _add_geom(self, style, db_table): - """ - Constructs the addition of the geometry to the table using the - AddGeometryColumn(...) OpenGIS stored procedure. - - Takes the style object (provides syntax highlighting) and the - database table as parameters. - """ - sql = (style.SQL_KEYWORD('SELECT ') + - style.SQL_TABLE('AddGeometryColumn') + '(' + - style.SQL_TABLE(gqn(db_table)) + ', ' + - style.SQL_FIELD(gqn(self.column)) + ', ' + - style.SQL_FIELD(str(self.srid)) + ', ' + - style.SQL_COLTYPE(gqn(self.geom_type)) + ', ' + - style.SQL_KEYWORD(str(self.dim)) + ', ' + - style.SQL_KEYWORD(str(int(not self.null))) + - ');') - return sql - - def _geom_index(self, style, db_table): - "Creates a spatial index for this geometry field." - sql = (style.SQL_KEYWORD('SELECT ') + - style.SQL_TABLE('CreateSpatialIndex') + '(' + - style.SQL_TABLE(gqn(db_table)) + ', ' + - style.SQL_FIELD(gqn(self.column)) + ');') - return sql - - def post_create_sql(self, style, db_table): - """ - Returns SQL that will be executed after the model has been - created. Geometry columns must be added after creation with the - OpenGIS AddGeometryColumn() function. - """ - # Getting the AddGeometryColumn() SQL necessary to create a OpenGIS - # geometry field. - post_sql = self._add_geom(style, db_table) - - # If the user wants to index this data, then get the indexing SQL as well. - if self.spatial_index: - return (post_sql, self._geom_index(style, db_table)) - else: - return (post_sql,) - - def _post_delete_sql(self, style, db_table): - "Drops the geometry column." - sql = (style.SQL_KEYWORD('SELECT ') + - style.SQL_KEYWORD('DropGeometryColumn') + '(' + - style.SQL_TABLE(gqn(db_table)) + ', ' + - style.SQL_FIELD(gqn(self.column)) + ');') - return sql - - def db_type(self): - """ - SpatiaLite geometry columns are added by stored procedures; - should be None. - """ - return None - - def get_placeholder(self, value): - """ - Provides a proper substitution value for Geometries that are not in the - SRID of the field. Specifically, this routine will substitute in the - Transform() and GeomFromText() function call(s). - """ - if value is None or value.srid == self.srid: - return '%s(%%s,%s)' % (GEOM_FROM_TEXT, self.srid) - else: - # Adding Transform() to the SQL placeholder. - return '%s(%s(%%s,%s), %s)' % (TRANSFORM, GEOM_FROM_TEXT, value.srid, self.srid) diff --git a/django/contrib/gis/db/backend/spatialite/query.py b/django/contrib/gis/db/backend/spatialite/query.py deleted file mode 100644 index 462722fa5..000000000 --- a/django/contrib/gis/db/backend/spatialite/query.py +++ /dev/null @@ -1,160 +0,0 @@ -""" - This module contains the spatial lookup types, and the get_geo_where_clause() - routine for SpatiaLite. -""" -import re -from decimal import Decimal -from django.db import connection -from django.contrib.gis.measure import Distance -from django.contrib.gis.db.backend.util import SpatialOperation, SpatialFunction -qn = connection.ops.quote_name - -GEOM_SELECT = 'AsText(%s)' - -# Dummy func, in case we need it later: -def get_func(str): - return str - -# Functions used by the GeoManager & GeoQuerySet -AREA = get_func('Area') -ASSVG = get_func('AsSVG') -CENTROID = get_func('Centroid') -CONTAINED = get_func('MbrWithin') -DIFFERENCE = get_func('Difference') -DISTANCE = get_func('Distance') -ENVELOPE = get_func('Envelope') -GEOM_FROM_TEXT = get_func('GeomFromText') -GEOM_FROM_WKB = get_func('GeomFromWKB') -INTERSECTION = get_func('Intersection') -LENGTH = get_func('GLength') # OpenGis defines Length, but this conflicts with an SQLite reserved keyword -NUM_GEOM = get_func('NumGeometries') -NUM_POINTS = get_func('NumPoints') -POINT_ON_SURFACE = get_func('PointOnSurface') -SCALE = get_func('ScaleCoords') -SYM_DIFFERENCE = get_func('SymDifference') -TRANSFORM = get_func('Transform') -TRANSLATE = get_func('ShiftCoords') -UNION = 'GUnion'# OpenGis defines Union, but this conflicts with an SQLite reserved keyword -UNIONAGG = 'GUnion' - -#### Classes used in constructing SpatiaLite spatial SQL #### -class SpatiaLiteOperator(SpatialOperation): - "For SpatiaLite operators (e.g. `&&`, `~`)." - def __init__(self, operator): - super(SpatiaLiteOperator, self).__init__(operator=operator, beg_subst='%s %s %%s') - -class SpatiaLiteFunction(SpatialFunction): - "For SpatiaLite function calls." - def __init__(self, function, **kwargs): - super(SpatiaLiteFunction, self).__init__(get_func(function), **kwargs) - -class SpatiaLiteFunctionParam(SpatiaLiteFunction): - "For SpatiaLite functions that take another parameter." - def __init__(self, func): - super(SpatiaLiteFunctionParam, self).__init__(func, end_subst=', %%s)') - -class SpatiaLiteDistance(SpatiaLiteFunction): - "For SpatiaLite distance operations." - dist_func = 'Distance' - def __init__(self, operator): - super(SpatiaLiteDistance, self).__init__(self.dist_func, end_subst=') %s %s', - operator=operator, result='%%s') - -class SpatiaLiteRelate(SpatiaLiteFunctionParam): - "For SpatiaLite Relate(, ) calls." - pattern_regex = re.compile(r'^[012TF\*]{9}$') - def __init__(self, pattern): - if not self.pattern_regex.match(pattern): - raise ValueError('Invalid intersection matrix pattern "%s".' % pattern) - super(SpatiaLiteRelate, self).__init__('Relate') - - -SPATIALITE_GEOMETRY_FUNCTIONS = { - 'equals' : SpatiaLiteFunction('Equals'), - 'disjoint' : SpatiaLiteFunction('Disjoint'), - 'touches' : SpatiaLiteFunction('Touches'), - 'crosses' : SpatiaLiteFunction('Crosses'), - 'within' : SpatiaLiteFunction('Within'), - 'overlaps' : SpatiaLiteFunction('Overlaps'), - 'contains' : SpatiaLiteFunction('Contains'), - 'intersects' : SpatiaLiteFunction('Intersects'), - 'relate' : (SpatiaLiteRelate, basestring), - # Retruns true if B's bounding box completely contains A's bounding box. - 'contained' : SpatiaLiteFunction('MbrWithin'), - # Returns true if A's bounding box completely contains B's bounding box. - 'bbcontains' : SpatiaLiteFunction('MbrContains'), - # Returns true if A's bounding box overlaps B's bounding box. - 'bboverlaps' : SpatiaLiteFunction('MbrOverlaps'), - # These are implemented here as synonyms for Equals - 'same_as' : SpatiaLiteFunction('Equals'), - 'exact' : SpatiaLiteFunction('Equals'), - } - -# Valid distance types and substitutions -dtypes = (Decimal, Distance, float, int, long) -def get_dist_ops(operator): - "Returns operations for regular distances; spherical distances are not currently supported." - return (SpatiaLiteDistance(operator),) -DISTANCE_FUNCTIONS = { - 'distance_gt' : (get_dist_ops('>'), dtypes), - 'distance_gte' : (get_dist_ops('>='), dtypes), - 'distance_lt' : (get_dist_ops('<'), dtypes), - 'distance_lte' : (get_dist_ops('<='), dtypes), - } - -# Distance functions are a part of SpatiaLite geometry functions. -SPATIALITE_GEOMETRY_FUNCTIONS.update(DISTANCE_FUNCTIONS) - -# Any other lookup types that do not require a mapping. -MISC_TERMS = ['isnull'] - -# These are the SpatiaLite-customized QUERY_TERMS -- a list of the lookup types -# allowed for geographic queries. -SPATIALITE_TERMS = SPATIALITE_GEOMETRY_FUNCTIONS.keys() # Getting the Geometry Functions -SPATIALITE_TERMS += MISC_TERMS # Adding any other miscellaneous terms (e.g., 'isnull') -SPATIALITE_TERMS = dict((term, None) for term in SPATIALITE_TERMS) # Making a dictionary for fast lookups - -#### The `get_geo_where_clause` function for SpatiaLite. #### -def get_geo_where_clause(table_alias, name, lookup_type, geo_annot): - "Returns the SQL WHERE clause for use in SpatiaLite SQL construction." - # Getting the quoted field as `geo_col`. - geo_col = '%s.%s' % (qn(table_alias), qn(name)) - if lookup_type in SPATIALITE_GEOMETRY_FUNCTIONS: - # See if a SpatiaLite geometry function matches the lookup type. - tmp = SPATIALITE_GEOMETRY_FUNCTIONS[lookup_type] - - # Lookup types that are tuples take tuple arguments, e.g., 'relate' and - # distance lookups. - if isinstance(tmp, tuple): - # First element of tuple is the SpatiaLiteOperation instance, and the - # second element is either the type or a tuple of acceptable types - # that may passed in as further parameters for the lookup type. - op, arg_type = tmp - - # Ensuring that a tuple _value_ was passed in from the user - if not isinstance(geo_annot.value, (tuple, list)): - raise TypeError('Tuple required for `%s` lookup type.' % lookup_type) - - # Number of valid tuple parameters depends on the lookup type. - if len(geo_annot.value) != 2: - raise ValueError('Incorrect number of parameters given for `%s` lookup type.' % lookup_type) - - # Ensuring the argument type matches what we expect. - if not isinstance(geo_annot.value[1], arg_type): - raise TypeError('Argument type should be %s, got %s instead.' % (arg_type, type(geo_annot.value[1]))) - - # For lookup type `relate`, the op instance is not yet created (has - # to be instantiated here to check the pattern parameter). - if lookup_type == 'relate': - op = op(geo_annot.value[1]) - elif lookup_type in DISTANCE_FUNCTIONS: - op = op[0] - else: - op = tmp - # Calling the `as_sql` function on the operation instance. - return op.as_sql(geo_col) - elif lookup_type == 'isnull': - # Handling 'isnull' lookup type - return "%s IS %sNULL" % (geo_col, (not geo_annot.value and 'NOT ' or '')) - - raise TypeError("Got invalid lookup_type: %s" % repr(lookup_type)) diff --git a/django/contrib/gis/db/backend/util.py b/django/contrib/gis/db/backend/util.py deleted file mode 100644 index 397ebcead..000000000 --- a/django/contrib/gis/db/backend/util.py +++ /dev/null @@ -1,69 +0,0 @@ -""" -A collection of utility routines and classes used by the spatial -backends. -""" - -def getstatusoutput(cmd): - """ - Executes a shell command on the platform using subprocess.Popen and - return a tuple of the status and stdout output. - """ - from subprocess import Popen, PIPE - # Set stdout and stderr to PIPE because we want to capture stdout and - # prevent stderr from displaying. - p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE) - # We use p.communicate() instead of p.wait() to avoid deadlocks if the - # output buffers exceed POSIX buffer size. - stdout, stderr = p.communicate() - return p.returncode, stdout.strip() - -def gqn(val): - """ - The geographic quote name function; used for quoting tables and - geometries (they use single rather than the double quotes of the - backend quotename function). - """ - if isinstance(val, basestring): - if isinstance(val, unicode): val = val.encode('ascii') - return "'%s'" % val - else: - return str(val) - -class SpatialOperation(object): - """ - Base class for generating spatial SQL. - """ - def __init__(self, function='', operator='', result='', beg_subst='', end_subst=''): - self.function = function - self.operator = operator - self.result = result - self.beg_subst = beg_subst - try: - # Try and put the operator and result into to the - # end substitution. - self.end_subst = end_subst % (operator, result) - except TypeError: - self.end_subst = end_subst - - @property - def sql_subst(self): - return ''.join([self.beg_subst, self.end_subst]) - - def as_sql(self, geo_col): - return self.sql_subst % self.params(geo_col) - - def params(self, geo_col): - return (geo_col, self.operator) - -class SpatialFunction(SpatialOperation): - """ - Base class for generating spatial SQL related to a function. - """ - def __init__(self, func, beg_subst='%s(%s, %%s', end_subst=')', result='', operator=''): - # Getting the function prefix. - kwargs = {'function' : func, 'operator' : operator, 'result' : result, - 'beg_subst' : beg_subst, 'end_subst' : end_subst,} - super(SpatialFunction, self).__init__(**kwargs) - - def params(self, geo_col): - return (self.function, geo_col) diff --git a/django/contrib/gis/db/backends/__init__.py b/django/contrib/gis/db/backends/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/contrib/gis/db/backend/adaptor.py b/django/contrib/gis/db/backends/adapter.py similarity index 94% rename from django/contrib/gis/db/backend/adaptor.py rename to django/contrib/gis/db/backends/adapter.py index 7659aeff7..9766ef08c 100644 --- a/django/contrib/gis/db/backend/adaptor.py +++ b/django/contrib/gis/db/backends/adapter.py @@ -1,4 +1,4 @@ -class WKTAdaptor(object): +class WKTAdapter(object): """ This provides an adaptor for Geometries sent to the MySQL and Oracle database backends. diff --git a/django/contrib/gis/db/backends/base.py b/django/contrib/gis/db/backends/base.py new file mode 100644 index 000000000..0eaacae63 --- /dev/null +++ b/django/contrib/gis/db/backends/base.py @@ -0,0 +1,336 @@ +""" +Base/mixin classes for the spatial backend database operations and the +`SpatialRefSys` model the backend. +""" +import re +from django.conf import settings +from django.contrib.gis import gdal + +class BaseSpatialOperations(object): + """ + This module holds the base `BaseSpatialBackend` object, which is + instantiated by each spatial database backend with the features + it has. + """ + distance_functions = {} + geometry_functions = {} + geometry_operators = {} + geography_operators = {} + geography_functions = {} + gis_terms = {} + truncate_params = {} + + # Quick booleans for the type of this spatial backend, and + # an attribute for the spatial database version tuple (if applicable) + postgis = False + spatialite = False + mysql = False + oracle = False + spatial_version = None + + # How the geometry column should be selected. + select = None + + # Does the spatial database have a geography type? + geography = False + + area = False + centroid = False + difference = False + distance = False + distance_sphere = False + distance_spheroid = False + envelope = False + force_rhr = False + mem_size = False + bounding_circle = False + num_geom = False + num_points = False + perimeter = False + perimeter3d = False + point_on_surface = False + polygonize = False + reverse = False + scale = False + snap_to_grid = False + sym_difference = False + transform = False + translate = False + union = False + + # Aggregates + collect = False + extent = False + extent3d = False + make_line = False + unionagg = False + + # Serialization + geohash = False + geojson = False + gml = False + kml = False + svg = False + + # Constructors + from_text = False + from_wkb = False + + # Default conversion functions for aggregates; will be overridden if implemented + # for the spatial backend. + def convert_extent(self, box): + raise NotImplementedError('Aggregate extent not implemented for this spatial backend.') + + def convert_extent3d(self, box): + raise NotImplementedError('Aggregate 3D extent not implemented for this spatial backend.') + + def convert_geom(self, geom_val, geom_field): + raise NotImplementedError('Aggregate method not implemented for this spatial backend.') + + # For quoting column values, rather than columns. + def geo_quote_name(self, name): + if isinstance(name, unicode): + name = name.encode('ascii') + return "'%s'" % name + + # GeometryField operations + def geo_db_type(self, f): + """ + Returns the database column type for the geometry field on + the spatial backend. + """ + raise NotImplementedError + + def get_distance(self, f, value, lookup_type): + """ + Returns the distance parameters for the given geometry field, + lookup value, and lookup type. + """ + raise NotImplementedError('Distance operations not available on this spatial backend.') + + def get_geom_placeholder(self, f, value): + """ + Returns the placeholder for the given geometry field with the given + value. Depending on the spatial backend, the placeholder may contain a + stored procedure call to the transformation function of the spatial + backend. + """ + raise NotImplementedError + + # Spatial SQL Construction + def spatial_aggregate_sql(self, agg): + raise NotImplementedError('Aggregate support not implemented for this spatial backend.') + + def spatial_lookup_sql(self, lvalue, lookup_type, value, field): + raise NotImplmentedError + + # Routines for getting the OGC-compliant models. + def geometry_columns(self): + raise NotImplementedError + + def spatial_ref_sys(self): + raise NotImplementedError + +class SpatialRefSysMixin(object): + """ + The SpatialRefSysMixin is a class used by the database-dependent + SpatialRefSys objects to reduce redundnant code. + """ + # For pulling out the spheroid from the spatial reference string. This + # regular expression is used only if the user does not have GDAL installed. + # TODO: Flattening not used in all ellipsoids, could also be a minor axis, + # or 'b' parameter. + spheroid_regex = re.compile(r'.+SPHEROID\[\"(?P.+)\",(?P\d+(\.\d+)?),(?P\d{3}\.\d+),') + + # For pulling out the units on platforms w/o GDAL installed. + # TODO: Figure out how to pull out angular units of projected coordinate system and + # fix for LOCAL_CS types. GDAL should be highly recommended for performing + # distance queries. + units_regex = re.compile(r'.+UNIT ?\["(?P[\w \'\(\)]+)", ?(?P[\d\.]+)(,AUTHORITY\["(?P[\w \'\(\)]+)","(?P\d+)"\])?\]([\w ]+)?(,AUTHORITY\["(?P[\w \'\(\)]+)","(?P\d+)"\])?\]$') + + @property + def srs(self): + """ + Returns a GDAL SpatialReference object, if GDAL is installed. + """ + if gdal.HAS_GDAL: + # TODO: Is caching really necessary here? Is complexity worth it? + if hasattr(self, '_srs'): + # Returning a clone of the cached SpatialReference object. + return self._srs.clone() + else: + # Attempting to cache a SpatialReference object. + + # Trying to get from WKT first. + try: + self._srs = gdal.SpatialReference(self.wkt) + return self.srs + except Exception, msg: + pass + + try: + self._srs = gdal.SpatialReference(self.proj4text) + return self.srs + except Exception, msg: + pass + + raise Exception('Could not get OSR SpatialReference from WKT: %s\nError:\n%s' % (self.wkt, msg)) + else: + raise Exception('GDAL is not installed.') + + @property + def ellipsoid(self): + """ + Returns a tuple of the ellipsoid parameters: + (semimajor axis, semiminor axis, and inverse flattening). + """ + if gdal.HAS_GDAL: + return self.srs.ellipsoid + else: + m = self.spheroid_regex.match(self.wkt) + if m: return (float(m.group('major')), float(m.group('flattening'))) + else: return None + + @property + def name(self): + "Returns the projection name." + return self.srs.name + + @property + def spheroid(self): + "Returns the spheroid name for this spatial reference." + return self.srs['spheroid'] + + @property + def datum(self): + "Returns the datum for this spatial reference." + return self.srs['datum'] + + @property + def projected(self): + "Is this Spatial Reference projected?" + if gdal.HAS_GDAL: + return self.srs.projected + else: + return self.wkt.startswith('PROJCS') + + @property + def local(self): + "Is this Spatial Reference local?" + if gdal.HAS_GDAL: + return self.srs.local + else: + return self.wkt.startswith('LOCAL_CS') + + @property + def geographic(self): + "Is this Spatial Reference geographic?" + if gdal.HAS_GDAL: + return self.srs.geographic + else: + return self.wkt.startswith('GEOGCS') + + @property + def linear_name(self): + "Returns the linear units name." + if gdal.HAS_GDAL: + return self.srs.linear_name + elif self.geographic: + return None + else: + m = self.units_regex.match(self.wkt) + return m.group('unit_name') + + @property + def linear_units(self): + "Returns the linear units." + if gdal.HAS_GDAL: + return self.srs.linear_units + elif self.geographic: + return None + else: + m = self.units_regex.match(self.wkt) + return m.group('unit') + + @property + def angular_name(self): + "Returns the name of the angular units." + if gdal.HAS_GDAL: + return self.srs.angular_name + elif self.projected: + return None + else: + m = self.units_regex.match(self.wkt) + return m.group('unit_name') + + @property + def angular_units(self): + "Returns the angular units." + if gdal.HAS_GDAL: + return self.srs.angular_units + elif self.projected: + return None + else: + m = self.units_regex.match(self.wkt) + return m.group('unit') + + @property + def units(self): + "Returns a tuple of the units and the name." + if self.projected or self.local: + return (self.linear_units, self.linear_name) + elif self.geographic: + return (self.angular_units, self.angular_name) + else: + return (None, None) + + @classmethod + def get_units(cls, wkt): + """ + Class method used by GeometryField on initialization to + retrive the units on the given WKT, without having to use + any of the database fields. + """ + if gdal.HAS_GDAL: + return gdal.SpatialReference(wkt).units + else: + m = cls.units_regex.match(wkt) + return m.group('unit'), m.group('unit_name') + + @classmethod + def get_spheroid(cls, wkt, string=True): + """ + Class method used by GeometryField on initialization to + retrieve the `SPHEROID[..]` parameters from the given WKT. + """ + if gdal.HAS_GDAL: + srs = gdal.SpatialReference(wkt) + sphere_params = srs.ellipsoid + sphere_name = srs['spheroid'] + else: + m = cls.spheroid_regex.match(wkt) + if m: + sphere_params = (float(m.group('major')), float(m.group('flattening'))) + sphere_name = m.group('name') + else: + return None + + if not string: + return sphere_name, sphere_params + else: + # `string` parameter used to place in format acceptable by PostGIS + if len(sphere_params) == 3: + radius, flattening = sphere_params[0], sphere_params[2] + else: + radius, flattening = sphere_params + return 'SPHEROID["%s",%s,%s]' % (sphere_name, radius, flattening) + + def __unicode__(self): + """ + Returns the string representation. If GDAL is installed, + it will be 'pretty' OGC WKT. + """ + try: + return unicode(self.srs) + except: + return unicode(self.wkt) diff --git a/django/contrib/gis/db/backends/mysql/__init__.py b/django/contrib/gis/db/backends/mysql/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/contrib/gis/db/backends/mysql/base.py b/django/contrib/gis/db/backends/mysql/base.py new file mode 100644 index 000000000..7f0fc4815 --- /dev/null +++ b/django/contrib/gis/db/backends/mysql/base.py @@ -0,0 +1,13 @@ +from django.db.backends.mysql.base import * +from django.db.backends.mysql.base import DatabaseWrapper as MySQLDatabaseWrapper +from django.contrib.gis.db.backends.mysql.creation import MySQLCreation +from django.contrib.gis.db.backends.mysql.introspection import MySQLIntrospection +from django.contrib.gis.db.backends.mysql.operations import MySQLOperations + +class DatabaseWrapper(MySQLDatabaseWrapper): + + def __init__(self, *args, **kwargs): + super(DatabaseWrapper, self).__init__(*args, **kwargs) + self.creation = MySQLCreation(self) + self.ops = MySQLOperations() + self.introspection = MySQLIntrospection(self) diff --git a/django/contrib/gis/db/backends/mysql/creation.py b/django/contrib/gis/db/backends/mysql/creation.py new file mode 100644 index 000000000..dda77ea6a --- /dev/null +++ b/django/contrib/gis/db/backends/mysql/creation.py @@ -0,0 +1,18 @@ +from django.db.backends.mysql.creation import DatabaseCreation + +class MySQLCreation(DatabaseCreation): + + def sql_indexes_for_field(self, model, f, style): + from django.contrib.gis.db.models.fields import GeometryField + output = super(MySQLCreation, self).sql_indexes_for_field(model, f, style) + + if isinstance(f, GeometryField) and f.spatial_index: + qn = self.connection.ops.quote_name + db_table = model._meta.db_table + idx_name = '%s_%s_id' % (db_table, f.column) + output.append(style.SQL_KEYWORD('CREATE SPATIAL INDEX ') + + style.SQL_TABLE(qn(idx_name)) + + style.SQL_KEYWORD(' ON ') + + style.SQL_TABLE(qn(db_table)) + '(' + + style.SQL_FIELD(qn(f.column)) + ');') + return output diff --git a/django/contrib/gis/db/backends/mysql/introspection.py b/django/contrib/gis/db/backends/mysql/introspection.py new file mode 100644 index 000000000..59d0f627e --- /dev/null +++ b/django/contrib/gis/db/backends/mysql/introspection.py @@ -0,0 +1,32 @@ +from MySQLdb.constants import FIELD_TYPE + +from django.contrib.gis.gdal import OGRGeomType +from django.db.backends.mysql.introspection import DatabaseIntrospection + +class MySQLIntrospection(DatabaseIntrospection): + # Updating the data_types_reverse dictionary with the appropriate + # type for Geometry fields. + data_types_reverse = DatabaseIntrospection.data_types_reverse.copy() + data_types_reverse[FIELD_TYPE.GEOMETRY] = 'GeometryField' + + def get_geometry_type(self, table_name, geo_col): + cursor = self.connection.cursor() + try: + # In order to get the specific geometry type of the field, + # we introspect on the table definition using `DESCRIBE`. + cursor.execute('DESCRIBE %s' % + self.connection.ops.quote_name(table_name)) + # Increment over description info until we get to the geometry + # column. + for column, typ, null, key, default, extra in cursor.fetchall(): + if column == geo_col: + # Using OGRGeomType to convert from OGC name to Django field. + # MySQL does not support 3D or SRIDs, so the field params + # are empty. + field_type = OGRGeomType(typ).django + field_params = {} + break + finally: + cursor.close() + + return field_type, field_params diff --git a/django/contrib/gis/db/backends/mysql/operations.py b/django/contrib/gis/db/backends/mysql/operations.py new file mode 100644 index 000000000..1653636dd --- /dev/null +++ b/django/contrib/gis/db/backends/mysql/operations.py @@ -0,0 +1,65 @@ +from django.db.backends.mysql.base import DatabaseOperations + +from django.contrib.gis.db.backends.adapter import WKTAdapter +from django.contrib.gis.db.backends.base import BaseSpatialOperations + +class MySQLOperations(DatabaseOperations, BaseSpatialOperations): + + compiler_module = 'django.contrib.gis.db.models.sql.compiler' + mysql = True + name = 'mysql' + select = 'AsText(%s)' + from_wkb = 'GeomFromWKB' + from_text = 'GeomFromText' + + Adapter = WKTAdapter + Adaptor = Adapter # Backwards-compatibility alias. + + geometry_functions = { + 'bbcontains' : 'MBRContains', # For consistency w/PostGIS API + 'bboverlaps' : 'MBROverlaps', # .. .. + 'contained' : 'MBRWithin', # .. .. + 'contains' : 'MBRContains', + 'disjoint' : 'MBRDisjoint', + 'equals' : 'MBREqual', + 'exact' : 'MBREqual', + 'intersects' : 'MBRIntersects', + 'overlaps' : 'MBROverlaps', + 'same_as' : 'MBREqual', + 'touches' : 'MBRTouches', + 'within' : 'MBRWithin', + } + + gis_terms = dict([(term, None) for term in geometry_functions.keys() + ['isnull']]) + + def geo_db_type(self, f): + return f.geom_type + + def get_geom_placeholder(self, value, srid): + """ + The placeholder here has to include MySQL's WKT constructor. Because + MySQL does not support spatial transformations, there is no need to + modify the placeholder based on the contents of the given value. + """ + if hasattr(value, 'expression'): + placeholder = '%s.%s' % tuple(map(self.quote_name, value.cols[value.expression])) + else: + placeholder = '%s(%%s)' % self.from_text + return placeholder + + def spatial_lookup_sql(self, lvalue, lookup_type, value, field, qn): + alias, col, db_type = lvalue + + geo_col = '%s.%s' % (qn(alias), qn(col)) + + lookup_info = self.geometry_functions.get(lookup_type, False) + if lookup_info: + return "%s(%s, %s)" % (lookup_info, geo_col, + self.get_geom_placeholder(value, field.srid)) + + # TODO: Is this really necessary? MySQL can't handle NULL geometries + # in its spatial indexes anyways. + if lookup_type == 'isnull': + return "%s IS %sNULL" % (geo_col, (not value and 'NOT ' or '')) + + raise TypeError("Got invalid lookup_type: %s" % repr(lookup_type)) diff --git a/django/contrib/gis/db/backends/oracle/__init__.py b/django/contrib/gis/db/backends/oracle/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/contrib/gis/db/backends/oracle/adapter.py b/django/contrib/gis/db/backends/oracle/adapter.py new file mode 100644 index 000000000..ea340d93d --- /dev/null +++ b/django/contrib/gis/db/backends/oracle/adapter.py @@ -0,0 +1,5 @@ +from cx_Oracle import CLOB +from django.contrib.gis.db.backends.adapter import WKTAdapter + +class OracleSpatialAdapter(WKTAdapter): + input_size = CLOB diff --git a/django/contrib/gis/db/backends/oracle/base.py b/django/contrib/gis/db/backends/oracle/base.py new file mode 100644 index 000000000..398b3d3b7 --- /dev/null +++ b/django/contrib/gis/db/backends/oracle/base.py @@ -0,0 +1,12 @@ +from django.db.backends.oracle.base import * +from django.db.backends.oracle.base import DatabaseWrapper as OracleDatabaseWrapper +from django.contrib.gis.db.backends.oracle.creation import OracleCreation +from django.contrib.gis.db.backends.oracle.introspection import OracleIntrospection +from django.contrib.gis.db.backends.oracle.operations import OracleOperations + +class DatabaseWrapper(OracleDatabaseWrapper): + def __init__(self, *args, **kwargs): + super(DatabaseWrapper, self).__init__(*args, **kwargs) + self.ops = OracleOperations(self) + self.creation = OracleCreation(self) + self.introspection = OracleIntrospection(self) diff --git a/django/contrib/gis/db/backends/oracle/compiler.py b/django/contrib/gis/db/backends/oracle/compiler.py new file mode 100644 index 000000000..f0eb5cad0 --- /dev/null +++ b/django/contrib/gis/db/backends/oracle/compiler.py @@ -0,0 +1,44 @@ +from django.contrib.gis.db.models.sql.compiler import GeoSQLCompiler as BaseGeoSQLCompiler +from django.db.backends.oracle import compiler + +SQLCompiler = compiler.SQLCompiler + +class GeoSQLCompiler(BaseGeoSQLCompiler, SQLCompiler): + pass + +class SQLInsertCompiler(compiler.SQLInsertCompiler, GeoSQLCompiler): + def placeholder(self, field, val): + if field is None: + # A field value of None means the value is raw. + return val + elif hasattr(field, 'get_placeholder'): + # Some fields (e.g. geo fields) need special munging before + # they can be inserted. + ph = field.get_placeholder(val, self.connection) + if ph == 'NULL': + # If the placeholder returned is 'NULL', then we need to + # to remove None from the Query parameters. Specifically, + # cx_Oracle will assume a CHAR type when a placeholder ('%s') + # is used for columns of MDSYS.SDO_GEOMETRY. Thus, we use + # 'NULL' for the value, and remove None from the query params. + # See also #10888. + param_idx = self.query.columns.index(field.column) + params = list(self.query.params) + params.pop(param_idx) + self.query.params = tuple(params) + return ph + else: + # Return the common case for the placeholder + return '%s' + +class SQLDeleteCompiler(compiler.SQLDeleteCompiler, GeoSQLCompiler): + pass + +class SQLUpdateCompiler(compiler.SQLUpdateCompiler, GeoSQLCompiler): + pass + +class SQLAggregateCompiler(compiler.SQLAggregateCompiler, GeoSQLCompiler): + pass + +class SQLDateCompiler(compiler.SQLDateCompiler, GeoSQLCompiler): + pass diff --git a/django/contrib/gis/db/backends/oracle/creation.py b/django/contrib/gis/db/backends/oracle/creation.py new file mode 100644 index 000000000..043da916f --- /dev/null +++ b/django/contrib/gis/db/backends/oracle/creation.py @@ -0,0 +1,42 @@ +from django.db.backends.oracle.creation import DatabaseCreation +from django.db.backends.util import truncate_name + +class OracleCreation(DatabaseCreation): + + def sql_indexes_for_field(self, model, f, style): + "Return any spatial index creation SQL for the field." + from django.contrib.gis.db.models.fields import GeometryField + + output = super(OracleCreation, self).sql_indexes_for_field(model, f, style) + + if isinstance(f, GeometryField): + gqn = self.connection.ops.geo_quote_name + qn = self.connection.ops.quote_name + db_table = model._meta.db_table + + output.append(style.SQL_KEYWORD('INSERT INTO ') + + style.SQL_TABLE('USER_SDO_GEOM_METADATA') + + ' (%s, %s, %s, %s)\n ' % tuple(map(qn, ['TABLE_NAME', 'COLUMN_NAME', 'DIMINFO', 'SRID'])) + + style.SQL_KEYWORD(' VALUES ') + '(\n ' + + style.SQL_TABLE(gqn(db_table)) + ',\n ' + + style.SQL_FIELD(gqn(f.column)) + ',\n ' + + style.SQL_KEYWORD("MDSYS.SDO_DIM_ARRAY") + '(\n ' + + style.SQL_KEYWORD("MDSYS.SDO_DIM_ELEMENT") + + ("('LONG', %s, %s, %s),\n " % (f._extent[0], f._extent[2], f._tolerance)) + + style.SQL_KEYWORD("MDSYS.SDO_DIM_ELEMENT") + + ("('LAT', %s, %s, %s)\n ),\n" % (f._extent[1], f._extent[3], f._tolerance)) + + ' %s\n );' % f.srid) + + if f.spatial_index: + # Getting the index name, Oracle doesn't allow object + # names > 30 characters. + idx_name = truncate_name('%s_%s_id' % (db_table, f.column), 30) + + output.append(style.SQL_KEYWORD('CREATE INDEX ') + + style.SQL_TABLE(qn(idx_name)) + + style.SQL_KEYWORD(' ON ') + + style.SQL_TABLE(qn(db_table)) + '(' + + style.SQL_FIELD(qn(f.column)) + ') ' + + style.SQL_KEYWORD('INDEXTYPE IS ') + + style.SQL_TABLE('MDSYS.SPATIAL_INDEX') + ';') + return output diff --git a/django/contrib/gis/db/backends/oracle/introspection.py b/django/contrib/gis/db/backends/oracle/introspection.py new file mode 100644 index 000000000..58dd3f39b --- /dev/null +++ b/django/contrib/gis/db/backends/oracle/introspection.py @@ -0,0 +1,39 @@ +import cx_Oracle +from django.db.backends.oracle.introspection import DatabaseIntrospection + +class OracleIntrospection(DatabaseIntrospection): + # Associating any OBJECTVAR instances with GeometryField. Of course, + # this won't work right on Oracle objects that aren't MDSYS.SDO_GEOMETRY, + # but it is the only object type supported within Django anyways. + data_types_reverse = DatabaseIntrospection.data_types_reverse.copy() + data_types_reverse[cx_Oracle.OBJECT] = 'GeometryField' + + def get_geometry_type(self, table_name, geo_col): + cursor = self.connection.cursor() + try: + # Querying USER_SDO_GEOM_METADATA to get the SRID and dimension information. + try: + cursor.execute('SELECT "DIMINFO", "SRID" FROM "USER_SDO_GEOM_METADATA" WHERE "TABLE_NAME"=%s AND "COLUMN_NAME"=%s', + (table_name.upper(), geo_col.upper())) + row = cursor.fetchone() + except Exception, msg: + raise Exception('Could not find entry in USER_SDO_GEOM_METADATA corresponding to "%s"."%s"\n' + 'Error message: %s.' % (table_name, geo_col, msg)) + + # TODO: Research way to find a more specific geometry field type for + # the column's contents. + field_type = 'GeometryField' + + # Getting the field parameters. + field_params = {} + dim, srid = row + if srid != 4326: + field_params['srid'] = srid + # Length of object array ( SDO_DIM_ARRAY ) is number of dimensions. + dim = len(dim) + if dim != 2: + field_params['dim'] = dim + finally: + cursor.close() + + return field_type, field_params diff --git a/django/contrib/gis/db/backend/oracle/models.py b/django/contrib/gis/db/backends/oracle/models.py similarity index 80% rename from django/contrib/gis/db/backend/oracle/models.py rename to django/contrib/gis/db/backends/oracle/models.py index 2e0d2f206..de757ffbe 100644 --- a/django/contrib/gis/db/backend/oracle/models.py +++ b/django/contrib/gis/db/backends/oracle/models.py @@ -7,7 +7,9 @@ For example, the `USER_SDO_GEOM_METADATA` is used for the GeometryColumns model and the `SDO_COORD_REF_SYS` is used for the SpatialRefSys model. """ -from django.db import models +from django.contrib.gis.db import models +from django.contrib.gis.db.models.fields import GeometryField +from django.contrib.gis.db.backends.base import SpatialRefSysMixin class GeometryColumns(models.Model): "Maps to the Oracle USER_SDO_GEOM_METADATA table." @@ -16,7 +18,6 @@ class GeometryColumns(models.Model): srid = models.IntegerField(primary_key=True) # TODO: Add support for `diminfo` column (type MDSYS.SDO_DIM_ARRAY). class Meta: - app_label = 'gis' db_table = 'USER_SDO_GEOM_METADATA' managed = False @@ -39,17 +40,19 @@ class GeometryColumns(models.Model): def __unicode__(self): return '%s - %s (SRID: %s)' % (self.table_name, self.column_name, self.srid) -class SpatialRefSys(models.Model): +class SpatialRefSys(models.Model, SpatialRefSysMixin): "Maps to the Oracle MDSYS.CS_SRS table." cs_name = models.CharField(max_length=68) srid = models.IntegerField(primary_key=True) auth_srid = models.IntegerField() auth_name = models.CharField(max_length=256) wktext = models.CharField(max_length=2046) - #cs_bounds = models.GeometryField() # TODO + # Optional geometry representing the bounds of this coordinate + # system. By default, all are NULL in the table. + cs_bounds = models.PolygonField(null=True) + objects = models.GeoManager() class Meta: - abstract = True db_table = 'CS_SRS' managed = False diff --git a/django/contrib/gis/db/backends/oracle/operations.py b/django/contrib/gis/db/backends/oracle/operations.py new file mode 100644 index 000000000..97f7b6c20 --- /dev/null +++ b/django/contrib/gis/db/backends/oracle/operations.py @@ -0,0 +1,293 @@ +""" + This module contains the spatial lookup types, and the `get_geo_where_clause` + routine for Oracle Spatial. + + Please note that WKT support is broken on the XE version, and thus + this backend will not work on such platforms. Specifically, XE lacks + support for an internal JVM, and Java libraries are required to use + the WKT constructors. +""" +import re +from decimal import Decimal + +from django.db.backends.oracle.base import DatabaseOperations +from django.contrib.gis.db.backends.base import BaseSpatialOperations +from django.contrib.gis.db.backends.oracle.adapter import OracleSpatialAdapter +from django.contrib.gis.db.backends.util import SpatialFunction +from django.contrib.gis.geometry.backend import Geometry +from django.contrib.gis.measure import Distance + +class SDOOperation(SpatialFunction): + "Base class for SDO* Oracle operations." + sql_template = "%(function)s(%(geo_col)s, %(geometry)s) %(operator)s '%(result)s'" + + def __init__(self, func, **kwargs): + kwargs.setdefault('operator', '=') + kwargs.setdefault('result', 'TRUE') + super(SDOOperation, self).__init__(func, **kwargs) + +class SDODistance(SpatialFunction): + "Class for Distance queries." + sql_template = ('%(function)s(%(geo_col)s, %(geometry)s, %(tolerance)s) ' + '%(operator)s %(result)s') + dist_func = 'SDO_GEOM.SDO_DISTANCE' + def __init__(self, op, tolerance=0.05): + super(SDODistance, self).__init__(self.dist_func, + tolerance=tolerance, + operator=op, result='%s') + +class SDODWithin(SpatialFunction): + dwithin_func = 'SDO_WITHIN_DISTANCE' + sql_template = "%(function)s(%(geo_col)s, %(geometry)s, %%s) = 'TRUE'" + def __init__(self): + super(SDODWithin, self).__init__(self.dwithin_func) + +class SDOGeomRelate(SpatialFunction): + "Class for using SDO_GEOM.RELATE." + relate_func = 'SDO_GEOM.RELATE' + sql_template = ("%(function)s(%(geo_col)s, '%(mask)s', %(geometry)s, " + "%(tolerance)s) %(operator)s '%(mask)s'") + def __init__(self, mask, tolerance=0.05): + # SDO_GEOM.RELATE(...) has a peculiar argument order: column, mask, geom, tolerance. + # Moreover, the runction result is the mask (e.g., 'DISJOINT' instead of 'TRUE'). + super(SDOGeomRelate, self).__init__(self.relate_func, operator='=', + mask=mask, tolerance=tolerance) + +class SDORelate(SpatialFunction): + "Class for using SDO_RELATE." + masks = 'TOUCH|OVERLAPBDYDISJOINT|OVERLAPBDYINTERSECT|EQUAL|INSIDE|COVEREDBY|CONTAINS|COVERS|ANYINTERACT|ON' + mask_regex = re.compile(r'^(%s)(\+(%s))*$' % (masks, masks), re.I) + sql_template = "%(function)s(%(geo_col)s, %(geometry)s, 'mask=%(mask)s') = 'TRUE'" + relate_func = 'SDO_RELATE' + def __init__(self, mask): + if not self.mask_regex.match(mask): + raise ValueError('Invalid %s mask: "%s"' % (self.relate_func, mask)) + super(SDORelate, self).__init__(self.relate_func, mask=mask) + +# Valid distance types and substitutions +dtypes = (Decimal, Distance, float, int, long) + +class OracleOperations(DatabaseOperations, BaseSpatialOperations): + compiler_module = "django.contrib.gis.db.backends.oracle.compiler" + + name = 'oracle' + oracle = True + valid_aggregates = dict([(a, None) for a in ('Union', 'Extent')]) + + Adapter = OracleSpatialAdapter + Adaptor = Adapter # Backwards-compatibility alias. + + area = 'SDO_GEOM.SDO_AREA' + gml= 'SDO_UTIL.TO_GMLGEOMETRY' + centroid = 'SDO_GEOM.SDO_CENTROID' + difference = 'SDO_GEOM.SDO_DIFFERENCE' + distance = 'SDO_GEOM.SDO_DISTANCE' + extent= 'SDO_AGGR_MBR' + intersection= 'SDO_GEOM.SDO_INTERSECTION' + length = 'SDO_GEOM.SDO_LENGTH' + num_geom = 'SDO_UTIL.GETNUMELEM' + num_points = 'SDO_UTIL.GETNUMVERTICES' + perimeter = length + point_on_surface = 'SDO_GEOM.SDO_POINTONSURFACE' + reverse = 'SDO_UTIL.REVERSE_LINESTRING' + sym_difference = 'SDO_GEOM.SDO_XOR' + transform = 'SDO_CS.TRANSFORM' + union = 'SDO_GEOM.SDO_UNION' + unionagg = 'SDO_AGGR_UNION' + + # We want to get SDO Geometries as WKT because it is much easier to + # instantiate GEOS proxies from WKT than SDO_GEOMETRY(...) strings. + # However, this adversely affects performance (i.e., Java is called + # to convert to WKT on every query). If someone wishes to write a + # SDO_GEOMETRY(...) parser in Python, let me know =) + select = 'SDO_UTIL.TO_WKTGEOMETRY(%s)' + + distance_functions = { + 'distance_gt' : (SDODistance('>'), dtypes), + 'distance_gte' : (SDODistance('>='), dtypes), + 'distance_lt' : (SDODistance('<'), dtypes), + 'distance_lte' : (SDODistance('<='), dtypes), + 'dwithin' : (SDODWithin(), dtypes), + } + + geometry_functions = { + 'contains' : SDOOperation('SDO_CONTAINS'), + 'coveredby' : SDOOperation('SDO_COVEREDBY'), + 'covers' : SDOOperation('SDO_COVERS'), + 'disjoint' : SDOGeomRelate('DISJOINT'), + 'intersects' : SDOOperation('SDO_OVERLAPBDYINTERSECT'), # TODO: Is this really the same as ST_Intersects()? + 'equals' : SDOOperation('SDO_EQUAL'), + 'exact' : SDOOperation('SDO_EQUAL'), + 'overlaps' : SDOOperation('SDO_OVERLAPS'), + 'same_as' : SDOOperation('SDO_EQUAL'), + 'relate' : (SDORelate, basestring), # Oracle uses a different syntax, e.g., 'mask=inside+touch' + 'touches' : SDOOperation('SDO_TOUCH'), + 'within' : SDOOperation('SDO_INSIDE'), + } + geometry_functions.update(distance_functions) + + gis_terms = ['isnull'] + gis_terms += geometry_functions.keys() + gis_terms = dict([(term, None) for term in gis_terms]) + + truncate_params = {'relate' : None} + + def __init__(self, connection): + super(OracleOperations, self).__init__() + self.connection = connection + + def convert_extent(self, clob): + if clob: + # Generally, Oracle returns a polygon for the extent -- however, + # it can return a single point if there's only one Point in the + # table. + ext_geom = Geometry(clob.read()) + gtype = str(ext_geom.geom_type) + if gtype == 'Polygon': + # Construct the 4-tuple from the coordinates in the polygon. + shell = ext_geom.shell + ll, ur = shell[0][:2], shell[2][:2] + elif gtype == 'Point': + ll = ext_geom.coords[:2] + ur = ll + else: + raise Exception('Unexpected geometry type returned for extent: %s' % gtype) + xmin, ymin = ll + xmax, ymax = ur + return (xmin, ymin, xmax, ymax) + else: + return None + + def convert_geom(self, clob, geo_field): + if clob: + return Geometry(clob.read(), geo_field.srid) + else: + return None + + def geo_db_type(self, f): + """ + Returns the geometry database type for Oracle. Unlike other spatial + backends, no stored procedure is necessary and it's the same for all + geometry types. + """ + return 'MDSYS.SDO_GEOMETRY' + + def get_distance(self, f, value, lookup_type): + """ + Returns the distance parameters given the value and the lookup type. + On Oracle, geometry columns with a geodetic coordinate system behave + implicitly like a geography column, and thus meters will be used as + the distance parameter on them. + """ + if not value: + return [] + value = value[0] + if isinstance(value, Distance): + if f.geodetic(self.connection): + dist_param = value.m + else: + dist_param = getattr(value, Distance.unit_attname(f.units_name(self.connection))) + else: + dist_param = value + + # dwithin lookups on oracle require a special string parameter + # that starts with "distance=". + if lookup_type == 'dwithin': + dist_param = 'distance=%s' % dist_param + + return [dist_param] + + def get_geom_placeholder(self, f, value): + """ + Provides a proper substitution value for Geometries that are not in the + SRID of the field. Specifically, this routine will substitute in the + SDO_CS.TRANSFORM() function call. + """ + if value is None: + return 'NULL' + + def transform_value(val, srid): + return val.srid != srid + + if hasattr(value, 'expression'): + if transform_value(value, f.srid): + placeholder = '%s(%%s, %s)' % (self.transform, f.srid) + else: + placeholder = '%s' + # No geometry value used for F expression, substitue in + # the column name instead. + return placeholder % '%s.%s' % tuple(map(self.quote_name, value.cols[value.expression])) + else: + if transform_value(value, f.srid): + return '%s(SDO_GEOMETRY(%%s, %s), %s)' % (self.transform, value.srid, f.srid) + else: + return 'SDO_GEOMETRY(%%s, %s)' % f.srid + + def spatial_lookup_sql(self, lvalue, lookup_type, value, field, qn): + "Returns the SQL WHERE clause for use in Oracle spatial SQL construction." + alias, col, db_type = lvalue + + # Getting the quoted table name as `geo_col`. + geo_col = '%s.%s' % (qn(alias), qn(col)) + + # See if a Oracle Geometry function matches the lookup type next + lookup_info = self.geometry_functions.get(lookup_type, False) + if lookup_info: + # Lookup types that are tuples take tuple arguments, e.g., 'relate' and + # 'dwithin' lookup types. + if isinstance(lookup_info, tuple): + # First element of tuple is lookup type, second element is the type + # of the expected argument (e.g., str, float) + sdo_op, arg_type = lookup_info + geom = value[0] + + # Ensuring that a tuple _value_ was passed in from the user + if not isinstance(value, tuple): + raise ValueError('Tuple required for `%s` lookup type.' % lookup_type) + if len(value) != 2: + raise ValueError('2-element tuple required for %s lookup type.' % lookup_type) + + # Ensuring the argument type matches what we expect. + if not isinstance(value[1], arg_type): + raise ValueError('Argument type should be %s, got %s instead.' % (arg_type, type(value[1]))) + + if lookup_type == 'relate': + # The SDORelate class handles construction for these queries, + # and verifies the mask argument. + return sdo_op(value[1]).as_sql(geo_col, self.get_geom_placeholder(field, geom)) + else: + # Otherwise, just call the `as_sql` method on the SDOOperation instance. + return sdo_op.as_sql(geo_col, self.get_geom_placeholder(field, geom)) + else: + # Lookup info is a SDOOperation instance, whose `as_sql` method returns + # the SQL necessary for the geometry function call. For example: + # SDO_CONTAINS("geoapp_country"."poly", SDO_GEOMTRY('POINT(5 23)', 4326)) = 'TRUE' + return lookup_info.as_sql(geo_col, self.get_geom_placeholder(field, value)) + elif lookup_type == 'isnull': + # Handling 'isnull' lookup type + return "%s IS %sNULL" % (geo_col, (not value and 'NOT ' or '')) + + raise TypeError("Got invalid lookup_type: %s" % repr(lookup_type)) + + def spatial_aggregate_sql(self, agg): + """ + Returns the spatial aggregate SQL template and function for the + given Aggregate instance. + """ + agg_name = agg.__class__.__name__.lower() + if agg_name == 'union' : agg_name += 'agg' + if agg.is_extent: + sql_template = '%(function)s(%(field)s)' + else: + sql_template = '%(function)s(SDOAGGRTYPE(%(field)s,%(tolerance)s))' + sql_function = getattr(self, agg_name) + return self.select % sql_template, sql_function + + # Routines for getting the OGC-compliant models. + def geometry_columns(self): + from django.contrib.gis.db.backends.oracle.models import GeometryColumns + return GeometryColumns + + def spatial_ref_sys(self): + from django.contrib.gis.db.backends.oracle.models import SpatialRefSys + return SpatialRefSys diff --git a/django/contrib/gis/db/backends/postgis/__init__.py b/django/contrib/gis/db/backends/postgis/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/contrib/gis/db/backend/postgis/adaptor.py b/django/contrib/gis/db/backends/postgis/adapter.py similarity index 77% rename from django/contrib/gis/db/backend/postgis/adaptor.py rename to django/contrib/gis/db/backends/postgis/adapter.py index 7deada45b..3f8603e50 100644 --- a/django/contrib/gis/db/backend/postgis/adaptor.py +++ b/django/contrib/gis/db/backends/postgis/adapter.py @@ -2,16 +2,15 @@ This object provides quoting for GEOS geometries into PostgreSQL/PostGIS. """ -from django.contrib.gis.db.backend.postgis.query import GEOM_FROM_WKB from psycopg2 import Binary from psycopg2.extensions import ISQLQuote -class PostGISAdaptor(object): +class PostGISAdapter(object): def __init__(self, geom): "Initializes on the geometry." # Getting the WKB (in string form, to allow easy pickling of # the adaptor) and the SRID from the geometry. - self.wkb = str(geom.wkb) + self.ewkb = str(geom.ewkb) self.srid = geom.srid def __conform__(self, proto): @@ -22,7 +21,7 @@ class PostGISAdaptor(object): raise Exception('Error implementing psycopg2 protocol. Is psycopg2 installed?') def __eq__(self, other): - return (self.wkb == other.wkb) and (self.srid == other.srid) + return (self.ewkb == other.ewkb) and (self.srid == other.srid) def __str__(self): return self.getquoted() @@ -30,7 +29,7 @@ class PostGISAdaptor(object): def getquoted(self): "Returns a properly quoted string for use in PostgreSQL/PostGIS." # Want to use WKB, so wrap with psycopg2 Binary() to quote properly. - return "%s(%s, %s)" % (GEOM_FROM_WKB, Binary(self.wkb), self.srid or -1) + return 'ST_GeomFromEWKB(E%s)' % Binary(self.ewkb) def prepare_database_save(self, unused): return self diff --git a/django/contrib/gis/db/backends/postgis/base.py b/django/contrib/gis/db/backends/postgis/base.py new file mode 100644 index 000000000..634a7d589 --- /dev/null +++ b/django/contrib/gis/db/backends/postgis/base.py @@ -0,0 +1,12 @@ +from django.db.backends.postgresql_psycopg2.base import * +from django.db.backends.postgresql_psycopg2.base import DatabaseWrapper as Psycopg2DatabaseWrapper +from django.contrib.gis.db.backends.postgis.creation import PostGISCreation +from django.contrib.gis.db.backends.postgis.introspection import PostGISIntrospection +from django.contrib.gis.db.backends.postgis.operations import PostGISOperations + +class DatabaseWrapper(Psycopg2DatabaseWrapper): + def __init__(self, *args, **kwargs): + super(DatabaseWrapper, self).__init__(*args, **kwargs) + self.creation = PostGISCreation(self) + self.ops = PostGISOperations(self) + self.introspection = PostGISIntrospection(self) diff --git a/django/contrib/gis/db/backends/postgis/creation.py b/django/contrib/gis/db/backends/postgis/creation.py new file mode 100644 index 000000000..e14c79258 --- /dev/null +++ b/django/contrib/gis/db/backends/postgis/creation.py @@ -0,0 +1,60 @@ +from django.conf import settings +from django.db.backends.postgresql.creation import DatabaseCreation + +class PostGISCreation(DatabaseCreation): + geom_index_type = 'GIST' + geom_index_opts = 'GIST_GEOMETRY_OPS' + + def sql_indexes_for_field(self, model, f, style): + "Return any spatial index creation SQL for the field." + from django.contrib.gis.db.models.fields import GeometryField + + output = super(PostGISCreation, self).sql_indexes_for_field(model, f, style) + + if isinstance(f, GeometryField): + gqn = self.connection.ops.geo_quote_name + qn = self.connection.ops.quote_name + db_table = model._meta.db_table + + if f.geography: + # Geogrophy columns are created normally. + pass + else: + # Geometry columns are created by `AddGeometryColumn` + # stored procedure. + output.append(style.SQL_KEYWORD('SELECT ') + + style.SQL_TABLE('AddGeometryColumn') + '(' + + style.SQL_TABLE(gqn(db_table)) + ', ' + + style.SQL_FIELD(gqn(f.column)) + ', ' + + style.SQL_FIELD(str(f.srid)) + ', ' + + style.SQL_COLTYPE(gqn(f.geom_type)) + ', ' + + style.SQL_KEYWORD(str(f.dim)) + ');') + + if not f.null: + # Add a NOT NULL constraint to the field + output.append(style.SQL_KEYWORD('ALTER TABLE ') + + style.SQL_TABLE(qn(db_table)) + + style.SQL_KEYWORD(' ALTER ') + + style.SQL_FIELD(qn(f.column)) + + style.SQL_KEYWORD(' SET NOT NULL') + ';') + + + if f.spatial_index: + # Spatial indexes created the same way for both Geometry and + # Geography columns + if f.geography: + index_opts = '' + else: + index_opts = ' ' + style.SQL_KEYWORD(self.geom_index_opts) + output.append(style.SQL_KEYWORD('CREATE INDEX ') + + style.SQL_TABLE(qn('%s_%s_id' % (db_table, f.column))) + + style.SQL_KEYWORD(' ON ') + + style.SQL_TABLE(qn(db_table)) + + style.SQL_KEYWORD(' USING ') + + style.SQL_COLTYPE(self.geom_index_type) + ' ( ' + + style.SQL_FIELD(qn(f.column)) + index_opts + ' );') + return output + + def sql_table_creation_suffix(self): + qn = self.connection.ops.quote_name + return ' TEMPLATE %s' % qn(getattr(settings, 'POSTGIS_TEMPLATE', 'template_postgis')) diff --git a/django/contrib/gis/db/backends/postgis/introspection.py b/django/contrib/gis/db/backends/postgis/introspection.py new file mode 100644 index 000000000..7962d19ff --- /dev/null +++ b/django/contrib/gis/db/backends/postgis/introspection.py @@ -0,0 +1,95 @@ +from django.db.backends.postgresql_psycopg2.introspection import DatabaseIntrospection +from django.contrib.gis.gdal import OGRGeomType + +class GeoIntrospectionError(Exception): + pass + +class PostGISIntrospection(DatabaseIntrospection): + # Reverse dictionary for PostGIS geometry types not populated until + # introspection is actually performed. + postgis_types_reverse = {} + + def get_postgis_types(self): + """ + Returns a dictionary with keys that are the PostgreSQL object + identification integers for the PostGIS geometry and/or + geography types (if supported). + """ + cursor = self.connection.cursor() + # The OID integers associated with the geometry type may + # be different across versions; hence, this is why we have + # to query the PostgreSQL pg_type table corresponding to the + # PostGIS custom data types. + oid_sql = 'SELECT "oid" FROM "pg_type" WHERE "typname" = %s' + try: + cursor.execute(oid_sql, ('geometry',)) + GEOM_TYPE = cursor.fetchone()[0] + postgis_types = { GEOM_TYPE : 'GeometryField' } + if self.connection.ops.geography: + cursor.execute(oid_sql, ('geography',)) + GEOG_TYPE = cursor.fetchone()[0] + # The value for the geography type is actually a tuple + # to pass in the `geography=True` keyword to the field + # definition. + postgis_types[GEOG_TYPE] = ('GeometryField', {'geography' : True}) + finally: + cursor.close() + + return postgis_types + + def get_field_type(self, data_type, description): + if not self.postgis_types_reverse: + # If the PostGIS types reverse dictionary is not populated, do so + # now. In order to prevent unnecessary requests upon connection + # intialization, the `data_types_reverse` dictionary is not updated + # with the PostGIS custom types until introspection is actually + # performed -- in other words, when this function is called. + self.postgis_types_reverse = self.get_postgis_types() + self.data_types_reverse.update(self.postgis_types_reverse) + return super(PostGISIntrospection, self).get_field_type(data_type, description) + + def get_geometry_type(self, table_name, geo_col): + """ + The geometry type OID used by PostGIS does not indicate the particular + type of field that a geometry column is (e.g., whether it's a + PointField or a PolygonField). Thus, this routine queries the PostGIS + metadata tables to determine the geometry type, + """ + cursor = self.connection.cursor() + try: + try: + # First seeing if this geometry column is in the `geometry_columns` + cursor.execute('SELECT "coord_dimension", "srid", "type" ' + 'FROM "geometry_columns" ' + 'WHERE "f_table_name"=%s AND "f_geometry_column"=%s', + (table_name, geo_col)) + row = cursor.fetchone() + if not row: raise GeoIntrospectionError + except GeoIntrospectionError: + if self.connection.ops.geography: + cursor.execute('SELECT "coord_dimension", "srid", "type" ' + 'FROM "geography_columns" ' + 'WHERE "f_table_name"=%s AND "f_geography_column"=%s', + (table_name, geo_col)) + row = cursor.fetchone() + + if not row: + raise Exception('Could not find a geometry or geography column for "%s"."%s"' % + (table_name, geo_col)) + + # OGRGeomType does not require GDAL and makes it easy to convert + # from OGC geom type name to Django field. + field_type = OGRGeomType(row[2]).django + + # Getting any GeometryField keyword arguments that are not the default. + dim = row[0] + srid = row[1] + field_params = {} + if srid != 4326: + field_params['srid'] = srid + if dim != 2: + field_params['dim'] = dim + finally: + cursor.close() + + return field_type, field_params diff --git a/django/contrib/gis/db/backend/postgis/models.py b/django/contrib/gis/db/backends/postgis/models.py similarity index 93% rename from django/contrib/gis/db/backend/postgis/models.py rename to django/contrib/gis/db/backends/postgis/models.py index e87ca053e..a38598343 100644 --- a/django/contrib/gis/db/backend/postgis/models.py +++ b/django/contrib/gis/db/backends/postgis/models.py @@ -2,6 +2,7 @@ The GeometryColumns and SpatialRefSys models for the PostGIS backend. """ from django.db import models +from django.contrib.gis.db.backends.base import SpatialRefSysMixin class GeometryColumns(models.Model): """ @@ -17,7 +18,6 @@ class GeometryColumns(models.Model): type = models.CharField(max_length=30) class Meta: - app_label = 'gis' db_table = 'geometry_columns' managed = False @@ -42,7 +42,7 @@ class GeometryColumns(models.Model): (self.f_table_name, self.f_geometry_column, self.coord_dimension, self.type, self.srid) -class SpatialRefSys(models.Model): +class SpatialRefSys(models.Model, SpatialRefSysMixin): """ The 'spatial_ref_sys' table from PostGIS. See the PostGIS documentaiton at Ch. 4.2.1. @@ -54,7 +54,6 @@ class SpatialRefSys(models.Model): proj4text = models.CharField(max_length=2048) class Meta: - abstract = True db_table = 'spatial_ref_sys' managed = False diff --git a/django/contrib/gis/db/backends/postgis/operations.py b/django/contrib/gis/db/backends/postgis/operations.py new file mode 100644 index 000000000..5affcf9a1 --- /dev/null +++ b/django/contrib/gis/db/backends/postgis/operations.py @@ -0,0 +1,589 @@ +import re +from decimal import Decimal + +from django.conf import settings +from django.contrib.gis.db.backends.base import BaseSpatialOperations +from django.contrib.gis.db.backends.util import SpatialOperation, SpatialFunction +from django.contrib.gis.db.backends.postgis.adapter import PostGISAdapter +from django.contrib.gis.geometry.backend import Geometry +from django.contrib.gis.measure import Distance +from django.core.exceptions import ImproperlyConfigured +from django.db.backends.postgresql_psycopg2.base import DatabaseOperations +from django.db.utils import DatabaseError + +#### Classes used in constructing PostGIS spatial SQL #### +class PostGISOperator(SpatialOperation): + "For PostGIS operators (e.g. `&&`, `~`)." + def __init__(self, operator): + super(PostGISOperator, self).__init__(operator=operator) + +class PostGISFunction(SpatialFunction): + "For PostGIS function calls (e.g., `ST_Contains(table, geom)`)." + def __init__(self, prefix, function, **kwargs): + super(PostGISFunction, self).__init__(prefix + function, **kwargs) + +class PostGISFunctionParam(PostGISFunction): + "For PostGIS functions that take another parameter (e.g. DWithin, Relate)." + sql_template = '%(function)s(%(geo_col)s, %(geometry)s, %%s)' + +class PostGISDistance(PostGISFunction): + "For PostGIS distance operations." + dist_func = 'Distance' + sql_template = '%(function)s(%(geo_col)s, %(geometry)s) %(operator)s %%s' + + def __init__(self, prefix, operator): + super(PostGISDistance, self).__init__(prefix, self.dist_func, + operator=operator) + +class PostGISSpheroidDistance(PostGISFunction): + "For PostGIS spherical distance operations (using the spheroid)." + dist_func = 'distance_spheroid' + sql_template = '%(function)s(%(geo_col)s, %(geometry)s, %%s) %(operator)s %%s' + def __init__(self, prefix, operator): + # An extra parameter in `end_subst` is needed for the spheroid string. + super(PostGISSpheroidDistance, self).__init__(prefix, self.dist_func, + operator=operator) + +class PostGISSphereDistance(PostGISDistance): + "For PostGIS spherical distance operations." + dist_func = 'distance_sphere' + +class PostGISRelate(PostGISFunctionParam): + "For PostGIS Relate(, ) calls." + pattern_regex = re.compile(r'^[012TF\*]{9}$') + def __init__(self, prefix, pattern): + if not self.pattern_regex.match(pattern): + raise ValueError('Invalid intersection matrix pattern "%s".' % pattern) + super(PostGISRelate, self).__init__(prefix, 'Relate') + + +class PostGISOperations(DatabaseOperations, BaseSpatialOperations): + compiler_module = 'django.contrib.gis.db.models.sql.compiler' + name = 'postgis' + postgis = True + version_regex = re.compile(r'^(?P\d)\.(?P\d)\.(?P\d+)') + valid_aggregates = dict([(k, None) for k in + ('Collect', 'Extent', 'Extent3D', 'MakeLine', 'Union')]) + + Adapter = PostGISAdapter + Adaptor = Adapter # Backwards-compatibility alias. + + def __init__(self, connection): + super(PostGISOperations, self).__init__(connection) + + # Trying to get the PostGIS version because the function + # signatures will depend on the version used. The cost + # here is a database query to determine the version, which + # can be mitigated by setting `POSTGIS_VERSION` with a 3-tuple + # comprising user-supplied values for the major, minor, and + # subminor revision of PostGIS. + try: + if hasattr(settings, 'POSTGIS_VERSION'): + vtup = settings.POSTGIS_VERSION + if len(vtup) == 3: + # The user-supplied PostGIS version. + version = vtup + else: + # This was the old documented way, but it's stupid to + # include the string. + version = vtup[1:4] + else: + vtup = self.postgis_version_tuple() + version = vtup[1:] + + # Getting the prefix -- even though we don't officially support + # PostGIS 1.2 anymore, keeping it anyway in case a prefix change + # for something else is necessary. + if version >= (1, 2, 2): + prefix = 'ST_' + else: + prefix = '' + + self.geom_func_prefix = prefix + self.spatial_version = version + except DatabaseError: + raise ImproperlyConfigured('Cannot determine PostGIS version for database "%s". ' + 'GeoDjango requires at least PostGIS version 1.3. ' + 'Was the database created from a spatial database ' + 'template?' % self.connection.settings_dict['NAME'] + ) + except Exception, e: + # TODO: Raise helpful exceptions as they become known. + raise + + # PostGIS-specific operators. The commented descriptions of these + # operators come from Section 7.6 of the PostGIS 1.4 documentation. + self.geometry_operators = { + # The "&<" operator returns true if A's bounding box overlaps or + # is to the left of B's bounding box. + 'overlaps_left' : PostGISOperator('&<'), + # The "&>" operator returns true if A's bounding box overlaps or + # is to the right of B's bounding box. + 'overlaps_right' : PostGISOperator('&>'), + # The "<<" operator returns true if A's bounding box is strictly + # to the left of B's bounding box. + 'left' : PostGISOperator('<<'), + # The ">>" operator returns true if A's bounding box is strictly + # to the right of B's bounding box. + 'right' : PostGISOperator('>>'), + # The "&<|" operator returns true if A's bounding box overlaps or + # is below B's bounding box. + 'overlaps_below' : PostGISOperator('&<|'), + # The "|&>" operator returns true if A's bounding box overlaps or + # is above B's bounding box. + 'overlaps_above' : PostGISOperator('|&>'), + # The "<<|" operator returns true if A's bounding box is strictly + # below B's bounding box. + 'strictly_below' : PostGISOperator('<<|'), + # The "|>>" operator returns true if A's bounding box is strictly + # above B's bounding box. + 'strictly_above' : PostGISOperator('|>>'), + # The "~=" operator is the "same as" operator. It tests actual + # geometric equality of two features. So if A and B are the same feature, + # vertex-by-vertex, the operator returns true. + 'same_as' : PostGISOperator('~='), + 'exact' : PostGISOperator('~='), + # The "@" operator returns true if A's bounding box is completely contained + # by B's bounding box. + 'contained' : PostGISOperator('@'), + # The "~" operator returns true if A's bounding box completely contains + # by B's bounding box. + 'bbcontains' : PostGISOperator('~'), + # The "&&" operator returns true if A's bounding box overlaps + # B's bounding box. + 'bboverlaps' : PostGISOperator('&&'), + } + + self.geometry_functions = { + 'equals' : PostGISFunction(prefix, 'Equals'), + 'disjoint' : PostGISFunction(prefix, 'Disjoint'), + 'touches' : PostGISFunction(prefix, 'Touches'), + 'crosses' : PostGISFunction(prefix, 'Crosses'), + 'within' : PostGISFunction(prefix, 'Within'), + 'overlaps' : PostGISFunction(prefix, 'Overlaps'), + 'contains' : PostGISFunction(prefix, 'Contains'), + 'intersects' : PostGISFunction(prefix, 'Intersects'), + 'relate' : (PostGISRelate, basestring), + } + + # Valid distance types and substitutions + dtypes = (Decimal, Distance, float, int, long) + def get_dist_ops(operator): + "Returns operations for both regular and spherical distances." + return {'cartesian' : PostGISDistance(prefix, operator), + 'sphere' : PostGISSphereDistance(prefix, operator), + 'spheroid' : PostGISSpheroidDistance(prefix, operator), + } + self.distance_functions = { + 'distance_gt' : (get_dist_ops('>'), dtypes), + 'distance_gte' : (get_dist_ops('>='), dtypes), + 'distance_lt' : (get_dist_ops('<'), dtypes), + 'distance_lte' : (get_dist_ops('<='), dtypes), + } + + # Versions 1.2.2+ have KML serialization support. + if version < (1, 2, 2): + ASKML = False + else: + ASKML = 'ST_AsKML' + self.geometry_functions.update( + {'coveredby' : PostGISFunction(prefix, 'CoveredBy'), + 'covers' : PostGISFunction(prefix, 'Covers'), + }) + self.distance_functions['dwithin'] = (PostGISFunctionParam(prefix, 'DWithin'), dtypes) + + # Adding the distance functions to the geometries lookup. + self.geometry_functions.update(self.distance_functions) + + # The union aggregate and topology operation use the same signature + # in versions 1.3+. + if version < (1, 3, 0): + UNIONAGG = 'GeomUnion' + UNION = 'Union' + MAKELINE = False + else: + UNIONAGG = 'ST_Union' + UNION = 'ST_Union' + MAKELINE = 'ST_MakeLine' + + # Only PostGIS versions 1.3.4+ have GeoJSON serialization support. + if version < (1, 3, 4): + GEOJSON = False + else: + GEOJSON = prefix + 'AsGeoJson' + + # ST_ContainsProperly ST_MakeLine, and ST_GeoHash added in 1.4. + if version >= (1, 4, 0): + GEOHASH = 'ST_GeoHash' + BOUNDINGCIRCLE = 'ST_MinimumBoundingCircle' + self.geometry_functions['contains_properly'] = PostGISFunction(prefix, 'ContainsProperly') + else: + GEOHASH, BOUNDINGCIRCLE = False, False + + # Geography type support added in 1.5. + if version >= (1, 5, 0): + self.geography = True + # Only a subset of the operators and functions are available + # for the geography type. + self.geography_functions = self.distance_functions.copy() + self.geography_functions.update({ + 'coveredby' : self.geometry_functions['coveredby'], + 'covers' : self.geometry_functions['covers'], + 'intersects' : self.geometry_functions['intersects'], + }) + self.geography_operators = { + 'bboverlaps' : PostGISOperator('&&'), + } + + # Creating a dictionary lookup of all GIS terms for PostGIS. + gis_terms = ['isnull'] + gis_terms += self.geometry_operators.keys() + gis_terms += self.geometry_functions.keys() + self.gis_terms = dict([(term, None) for term in gis_terms]) + + self.area = prefix + 'Area' + self.bounding_circle = BOUNDINGCIRCLE + self.centroid = prefix + 'Centroid' + self.collect = prefix + 'Collect' + self.difference = prefix + 'Difference' + self.distance = prefix + 'Distance' + self.distance_sphere = prefix + 'distance_sphere' + self.distance_spheroid = prefix + 'distance_spheroid' + self.envelope = prefix + 'Envelope' + self.extent = prefix + 'Extent' + self.extent3d = prefix + 'Extent3D' + self.force_rhr = prefix + 'ForceRHR' + self.geohash = GEOHASH + self.geojson = GEOJSON + self.gml = prefix + 'AsGML' + self.intersection = prefix + 'Intersection' + self.kml = ASKML + self.length = prefix + 'Length' + self.length3d = prefix + 'Length3D' + self.length_spheroid = prefix + 'length_spheroid' + self.makeline = MAKELINE + self.mem_size = prefix + 'mem_size' + self.num_geom = prefix + 'NumGeometries' + self.num_points =prefix + 'npoints' + self.perimeter = prefix + 'Perimeter' + self.perimeter3d = prefix + 'Perimeter3D' + self.point_on_surface = prefix + 'PointOnSurface' + self.polygonize = prefix + 'Polygonize' + self.reverse = prefix + 'Reverse' + self.scale = prefix + 'Scale' + self.snap_to_grid = prefix + 'SnapToGrid' + self.svg = prefix + 'AsSVG' + self.sym_difference = prefix + 'SymDifference' + self.transform = prefix + 'Transform' + self.translate = prefix + 'Translate' + self.union = UNION + self.unionagg = UNIONAGG + + def check_aggregate_support(self, aggregate): + """ + Checks if the given aggregate name is supported (that is, if it's + in `self.valid_aggregates`). + """ + agg_name = aggregate.__class__.__name__ + return agg_name in self.valid_aggregates + + def convert_extent(self, box): + """ + Returns a 4-tuple extent for the `Extent` aggregate by converting + the bounding box text returned by PostGIS (`box` argument), for + example: "BOX(-90.0 30.0, -85.0 40.0)". + """ + ll, ur = box[4:-1].split(',') + xmin, ymin = map(float, ll.split()) + xmax, ymax = map(float, ur.split()) + return (xmin, ymin, xmax, ymax) + + def convert_extent3d(self, box3d): + """ + Returns a 6-tuple extent for the `Extent3D` aggregate by converting + the 3d bounding-box text returnded by PostGIS (`box3d` argument), for + example: "BOX3D(-90.0 30.0 1, -85.0 40.0 2)". + """ + ll, ur = box3d[6:-1].split(',') + xmin, ymin, zmin = map(float, ll.split()) + xmax, ymax, zmax = map(float, ur.split()) + return (xmin, ymin, zmin, xmax, ymax, zmax) + + def convert_geom(self, hex, geo_field): + """ + Converts the geometry returned from PostGIS aggretates. + """ + if hex: + return Geometry(hex) + else: + return None + + def geo_db_type(self, f): + """ + Return the database field type for the given geometry field. + Typically this is `None` because geometry columns are added via + the `AddGeometryColumn` stored procedure, unless the field + has been specified to be of geography type instead. + """ + if f.geography: + if not self.geography: + raise NotImplementedError('PostGIS 1.5 required for geography column support.') + + if f.srid != 4326: + raise NotImplementedError('PostGIS 1.5 supports geography columns ' + 'only with an SRID of 4326.') + + return 'geography(%s,%d)'% (f.geom_type, f.srid) + else: + return None + + def get_distance(self, f, dist_val, lookup_type): + """ + Retrieve the distance parameters for the given geometry field, + distance lookup value, and the distance lookup type. + + This is the most complex implementation of the spatial backends due to + what is supported on geodetic geometry columns vs. what's available on + projected geometry columns. In addition, it has to take into account + the newly introduced geography column type introudced in PostGIS 1.5. + """ + # Getting the distance parameter and any options. + if len(dist_val) == 1: + value, option = dist_val[0], None + else: + value, option = dist_val + + # Shorthand boolean flags. + geodetic = f.geodetic(self.connection) + geography = f.geography and self.geography + + if isinstance(value, Distance): + if geography: + dist_param = value.m + elif geodetic: + if lookup_type == 'dwithin': + raise ValueError('Only numeric values of degree units are ' + 'allowed on geographic DWithin queries.') + dist_param = value.m + else: + dist_param = getattr(value, Distance.unit_attname(f.units_name(self.connection))) + else: + # Assuming the distance is in the units of the field. + dist_param = value + + if (not geography and geodetic and lookup_type != 'dwithin' + and option == 'spheroid'): + # using distance_spheroid requires the spheroid of the field as + # a parameter. + return [f._spheroid, dist_param] + else: + return [dist_param] + + def get_geom_placeholder(self, f, value): + """ + Provides a proper substitution value for Geometries that are not in the + SRID of the field. Specifically, this routine will substitute in the + ST_Transform() function call. + """ + if value is None or value.srid == f.srid: + placeholder = '%s' + else: + # Adding Transform() to the SQL placeholder. + placeholder = '%s(%%s, %s)' % (self.transform, f.srid) + + if hasattr(value, 'expression'): + # If this is an F expression, then we don't really want + # a placeholder and instead substitute in the column + # of the expression. + placeholder = placeholder % '%s.%s' % tuple(map(self.quote_name, value.cols[value.expression])) + + return placeholder + + def _get_postgis_func(self, func): + """ + Helper routine for calling PostGIS functions and returning their result. + """ + cursor = self.connection._cursor() + try: + try: + cursor.execute('SELECT %s()' % func) + row = cursor.fetchone() + except: + # Responsibility of callers to perform error handling. + raise + finally: + # Close out the connection. See #9437. + self.connection.close() + return row[0] + + def postgis_geos_version(self): + "Returns the version of the GEOS library used with PostGIS." + return self._get_postgis_func('postgis_geos_version') + + def postgis_lib_version(self): + "Returns the version number of the PostGIS library used with PostgreSQL." + return self._get_postgis_func('postgis_lib_version') + + def postgis_proj_version(self): + "Returns the version of the PROJ.4 library used with PostGIS." + return self._get_postgis_func('postgis_proj_version') + + def postgis_version(self): + "Returns PostGIS version number and compile-time options." + return self._get_postgis_func('postgis_version') + + def postgis_full_version(self): + "Returns PostGIS version number and compile-time options." + return self._get_postgis_func('postgis_full_version') + + def postgis_version_tuple(self): + """ + Returns the PostGIS version as a tuple (version string, major, + minor, subminor). + """ + # Getting the PostGIS version + version = self.postgis_lib_version() + m = self.version_regex.match(version) + + if m: + major = int(m.group('major')) + minor1 = int(m.group('minor1')) + minor2 = int(m.group('minor2')) + else: + raise Exception('Could not parse PostGIS version string: %s' % version) + + return (version, major, minor1, minor2) + + def proj_version_tuple(self): + """ + Return the version of PROJ.4 used by PostGIS as a tuple of the + major, minor, and subminor release numbers. + """ + proj_regex = re.compile(r'(\d+)\.(\d+)\.(\d+)') + proj_ver_str = self.postgis_proj_version() + m = proj_regex.search(proj_ver_str) + if m: + return tuple(map(int, [m.group(1), m.group(2), m.group(3)])) + else: + raise Exception('Could not determine PROJ.4 version from PostGIS.') + + def num_params(self, lookup_type, num_param): + """ + Helper routine that returns a boolean indicating whether the number of + parameters is correct for the lookup type. + """ + def exactly_two(np): return np == 2 + def two_to_three(np): return np >= 2 and np <=3 + if (lookup_type in self.distance_functions and + lookup_type != 'dwithin'): + return two_to_three(num_param) + else: + return exactly_two(num_param) + + def spatial_lookup_sql(self, lvalue, lookup_type, value, field, qn): + """ + Constructs spatial SQL from the given lookup value tuple a + (alias, col, db_type), the lookup type string, lookup value, and + the geometry field. + """ + alias, col, db_type = lvalue + + # Getting the quoted geometry column. + geo_col = '%s.%s' % (qn(alias), qn(col)) + + if lookup_type in self.geometry_operators: + if field.geography and not lookup_type in self.geography_operators: + raise ValueError('PostGIS geography does not support the ' + '"%s" lookup.' % lookup_type) + # Handling a PostGIS operator. + op = self.geometry_operators[lookup_type] + return op.as_sql(geo_col, self.get_geom_placeholder(field, value)) + elif lookup_type in self.geometry_functions: + if field.geography and not lookup_type in self.geography_functions: + raise ValueError('PostGIS geography type does not support the ' + '"%s" lookup.' % lookup_type) + + # See if a PostGIS geometry function matches the lookup type. + tmp = self.geometry_functions[lookup_type] + + # Lookup types that are tuples take tuple arguments, e.g., 'relate' and + # distance lookups. + if isinstance(tmp, tuple): + # First element of tuple is the PostGISOperation instance, and the + # second element is either the type or a tuple of acceptable types + # that may passed in as further parameters for the lookup type. + op, arg_type = tmp + + # Ensuring that a tuple _value_ was passed in from the user + if not isinstance(value, (tuple, list)): + raise ValueError('Tuple required for `%s` lookup type.' % lookup_type) + + # Geometry is first element of lookup tuple. + geom = value[0] + + # Number of valid tuple parameters depends on the lookup type. + nparams = len(value) + if not self.num_params(lookup_type, nparams): + raise ValueError('Incorrect number of parameters given for `%s` lookup type.' % lookup_type) + + # Ensuring the argument type matches what we expect. + if not isinstance(value[1], arg_type): + raise ValueError('Argument type should be %s, got %s instead.' % (arg_type, type(value[1]))) + + # For lookup type `relate`, the op instance is not yet created (has + # to be instantiated here to check the pattern parameter). + if lookup_type == 'relate': + op = op(self.geom_func_prefix, value[1]) + elif lookup_type in self.distance_functions and lookup_type != 'dwithin': + if not field.geography and field.geodetic(self.connection): + # Geodetic distances are only availble from Points to + # PointFields on PostGIS 1.4 and below. + if not self.connection.ops.geography: + if field.geom_type != 'POINT': + raise ValueError('PostGIS spherical operations are only valid on PointFields.') + + if str(geom.geom_type) != 'Point': + raise ValueError('PostGIS geometry distance parameter is required to be of type Point.') + + # Setting up the geodetic operation appropriately. + if nparams == 3 and value[2] == 'spheroid': + op = op['spheroid'] + else: + op = op['sphere'] + else: + op = op['cartesian'] + else: + op = tmp + geom = value + + # Calling the `as_sql` function on the operation instance. + return op.as_sql(geo_col, self.get_geom_placeholder(field, geom)) + + elif lookup_type == 'isnull': + # Handling 'isnull' lookup type + return "%s IS %sNULL" % (geo_col, (not value and 'NOT ' or '')) + + raise TypeError("Got invalid lookup_type: %s" % repr(lookup_type)) + + def spatial_aggregate_sql(self, agg): + """ + Returns the spatial aggregate SQL template and function for the + given Aggregate instance. + """ + agg_name = agg.__class__.__name__ + if not self.check_aggregate_support(agg): + raise NotImplementedError('%s spatial aggregate is not implmented for this backend.' % agg_name) + agg_name = agg_name.lower() + if agg_name == 'union': agg_name += 'agg' + sql_template = '%(function)s(%(field)s)' + sql_function = getattr(self, agg_name) + return sql_template, sql_function + + # Routines for getting the OGC-compliant models. + def geometry_columns(self): + from django.contrib.gis.db.backends.postgis.models import GeometryColumns + return GeometryColumns + + def spatial_ref_sys(self): + from django.contrib.gis.db.backends.postgis.models import SpatialRefSys + return SpatialRefSys diff --git a/django/contrib/gis/db/backends/spatialite/__init__.py b/django/contrib/gis/db/backends/spatialite/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/contrib/gis/db/backend/spatialite/adaptor.py b/django/contrib/gis/db/backends/spatialite/adapter.py similarity index 68% rename from django/contrib/gis/db/backend/spatialite/adaptor.py rename to django/contrib/gis/db/backends/spatialite/adapter.py index a8683c24d..d8fefbadd 100644 --- a/django/contrib/gis/db/backend/spatialite/adaptor.py +++ b/django/contrib/gis/db/backends/spatialite/adapter.py @@ -1,7 +1,7 @@ from django.db.backends.sqlite3.base import Database -from django.contrib.gis.db.backend.adaptor import WKTAdaptor +from django.contrib.gis.db.backends.adapter import WKTAdapter -class SpatiaLiteAdaptor(WKTAdaptor): +class SpatiaLiteAdapter(WKTAdapter): "SQLite adaptor for geometry objects." def __conform__(self, protocol): if protocol is Database.PrepareProtocol: diff --git a/django/contrib/gis/db/backends/spatialite/base.py b/django/contrib/gis/db/backends/spatialite/base.py new file mode 100644 index 000000000..729fc152e --- /dev/null +++ b/django/contrib/gis/db/backends/spatialite/base.py @@ -0,0 +1,77 @@ +from ctypes.util import find_library +from django.conf import settings + +from django.core.exceptions import ImproperlyConfigured +from django.db.backends.sqlite3.base import * +from django.db.backends.sqlite3.base import DatabaseWrapper as SqliteDatabaseWrapper, \ + _sqlite_extract, _sqlite_date_trunc, _sqlite_regexp +from django.contrib.gis.db.backends.spatialite.client import SpatiaLiteClient +from django.contrib.gis.db.backends.spatialite.creation import SpatiaLiteCreation +from django.contrib.gis.db.backends.spatialite.introspection import SpatiaLiteIntrospection +from django.contrib.gis.db.backends.spatialite.operations import SpatiaLiteOperations + +class DatabaseWrapper(SqliteDatabaseWrapper): + def __init__(self, *args, **kwargs): + # Before we get too far, make sure pysqlite 2.5+ is installed. + if Database.version_info < (2, 5, 0): + raise ImproperlyConfigured('Only versions of pysqlite 2.5+ are ' + 'compatible with SpatiaLite and GeoDjango.') + + # Trying to find the location of the SpatiaLite library. + # Here we are figuring out the path to the SpatiaLite library + # (`libspatialite`). If it's not in the system library path (e.g., it + # cannot be found by `ctypes.util.find_library`), then it may be set + # manually in the settings via the `SPATIALITE_LIBRARY_PATH` setting. + self.spatialite_lib = getattr(settings, 'SPATIALITE_LIBRARY_PATH', + find_library('spatialite')) + if not self.spatialite_lib: + raise ImproperlyConfigured('Unable to locate the SpatiaLite library. ' + 'Make sure it is in your library path, or set ' + 'SPATIALITE_LIBRARY_PATH in your settings.' + ) + super(DatabaseWrapper, self).__init__(*args, **kwargs) + self.ops = SpatiaLiteOperations(self) + self.client = SpatiaLiteClient(self) + self.creation = SpatiaLiteCreation(self) + self.introspection = SpatiaLiteIntrospection(self) + + def _cursor(self): + if self.connection is None: + ## The following is the same as in django.db.backends.sqlite3.base ## + settings_dict = self.settings_dict + if not settings_dict['NAME']: + raise ImproperlyConfigured("Please fill out the database NAME in the settings module before using the database.") + kwargs = { + 'database': settings_dict['NAME'], + 'detect_types': Database.PARSE_DECLTYPES | Database.PARSE_COLNAMES, + } + kwargs.update(settings_dict['OPTIONS']) + self.connection = Database.connect(**kwargs) + # Register extract, date_trunc, and regexp functions. + self.connection.create_function("django_extract", 2, _sqlite_extract) + self.connection.create_function("django_date_trunc", 2, _sqlite_date_trunc) + self.connection.create_function("regexp", 2, _sqlite_regexp) + connection_created.send(sender=self.__class__, connection=self) + + ## From here on, customized for GeoDjango ## + + # Enabling extension loading on the SQLite connection. + try: + self.connection.enable_load_extension(True) + except AttributeError: + raise ImproperlyConfigured('The pysqlite library does not support C extension loading. ' + 'Both SQLite and pysqlite must be configured to allow ' + 'the loading of extensions to use SpatiaLite.' + ) + + # Loading the SpatiaLite library extension on the connection, and returning + # the created cursor. + cur = self.connection.cursor(factory=SQLiteCursorWrapper) + try: + cur.execute("SELECT load_extension(%s)", (self.spatialite_lib,)) + except Exception, msg: + raise ImproperlyConfigured('Unable to load the SpatiaLite library extension ' + '"%s" because: %s' % (self.spatialite_lib, msg)) + return cur + else: + return self.connection.cursor(factory=SQLiteCursorWrapper) diff --git a/django/contrib/gis/db/backends/spatialite/client.py b/django/contrib/gis/db/backends/spatialite/client.py new file mode 100644 index 000000000..536065a80 --- /dev/null +++ b/django/contrib/gis/db/backends/spatialite/client.py @@ -0,0 +1,5 @@ +from django.db.backends.sqlite3.client import DatabaseClient + +class SpatiaLiteClient(DatabaseClient): + executable_name = 'spatialite' + diff --git a/django/contrib/gis/db/backends/spatialite/creation.py b/django/contrib/gis/db/backends/spatialite/creation.py new file mode 100644 index 000000000..cbe4a2958 --- /dev/null +++ b/django/contrib/gis/db/backends/spatialite/creation.py @@ -0,0 +1,96 @@ +import os +from django.conf import settings +from django.core.exceptions import ImproperlyConfigured +from django.core.management import call_command +from django.db.backends.sqlite3.creation import DatabaseCreation + +class SpatiaLiteCreation(DatabaseCreation): + + def create_test_db(self, verbosity=1, autoclobber=False): + """ + Creates a test database, prompting the user for confirmation if the + database already exists. Returns the name of the test database created. + + This method is overloaded to load up the SpatiaLite initialization + SQL prior to calling the `syncdb` command. + """ + if verbosity >= 1: + print "Creating test database '%s'..." % self.connection.alias + + test_database_name = self._create_test_db(verbosity, autoclobber) + + self.connection.close() + + self.connection.settings_dict["NAME"] = test_database_name + can_rollback = self._rollback_works() + self.connection.settings_dict["SUPPORTS_TRANSACTIONS"] = can_rollback + # Need to load the SpatiaLite initialization SQL before running `syncdb`. + self.load_spatialite_sql() + call_command('syncdb', verbosity=verbosity, interactive=False, database=self.connection.alias) + + if settings.CACHE_BACKEND.startswith('db://'): + from django.core.cache import parse_backend_uri + _, cache_name, _ = parse_backend_uri(settings.CACHE_BACKEND) + call_command('createcachetable', cache_name) + + # Get a cursor (even though we don't need one yet). This has + # the side effect of initializing the test database. + cursor = self.connection.cursor() + + return test_database_name + + def sql_indexes_for_field(self, model, f, style): + "Return any spatial index creation SQL for the field." + from django.contrib.gis.db.models.fields import GeometryField + + output = super(SpatiaLiteCreation, self).sql_indexes_for_field(model, f, style) + + if isinstance(f, GeometryField): + gqn = self.connection.ops.geo_quote_name + qn = self.connection.ops.quote_name + db_table = model._meta.db_table + + output.append(style.SQL_KEYWORD('SELECT ') + + style.SQL_TABLE('AddGeometryColumn') + '(' + + style.SQL_TABLE(gqn(db_table)) + ', ' + + style.SQL_FIELD(gqn(f.column)) + ', ' + + style.SQL_FIELD(str(f.srid)) + ', ' + + style.SQL_COLTYPE(gqn(f.geom_type)) + ', ' + + style.SQL_KEYWORD(str(f.dim)) + ', ' + + style.SQL_KEYWORD(str(int(not f.null))) + + ');') + + if f.spatial_index: + output.append(style.SQL_KEYWORD('SELECT ') + + style.SQL_TABLE('CreateSpatialIndex') + '(' + + style.SQL_TABLE(gqn(db_table)) + ', ' + + style.SQL_FIELD(gqn(f.column)) + ');') + + return output + + def load_spatialite_sql(self): + """ + This routine loads up the SpatiaLite SQL file. + """ + # Getting the location of the SpatiaLite SQL file, and confirming + # it exists. + spatialite_sql = self.spatialite_init_file() + if not os.path.isfile(spatialite_sql): + raise ImproperlyConfigured('Could not find the required SpatiaLite initialization ' + 'SQL file (necessary for testing): %s' % spatialite_sql) + + # Opening up the SpatiaLite SQL initialization file and executing + # as a script. + sql_fh = open(spatialite_sql, 'r') + try: + cur = self.connection._cursor() + cur.executescript(sql_fh.read()) + finally: + sql_fh.close() + + def spatialite_init_file(self): + # SPATIALITE_SQL may be placed in settings to tell GeoDjango + # to use a specific path to the SpatiaLite initilization SQL. + return getattr(settings, 'SPATIALITE_SQL', + 'init_spatialite-%s.%s.sql' % + self.connection.ops.spatial_version[:2]) diff --git a/django/contrib/gis/db/backends/spatialite/introspection.py b/django/contrib/gis/db/backends/spatialite/introspection.py new file mode 100644 index 000000000..1b5952cea --- /dev/null +++ b/django/contrib/gis/db/backends/spatialite/introspection.py @@ -0,0 +1,51 @@ +from django.contrib.gis.gdal import OGRGeomType +from django.db.backends.sqlite3.introspection import DatabaseIntrospection, FlexibleFieldLookupDict + +class GeoFlexibleFieldLookupDict(FlexibleFieldLookupDict): + """ + Sublcass that includes updates the `base_data_types_reverse` dict + for geometry field types. + """ + base_data_types_reverse = FlexibleFieldLookupDict.base_data_types_reverse.copy() + base_data_types_reverse.update( + {'point' : 'GeometryField', + 'linestring' : 'GeometryField', + 'polygon' : 'GeometryField', + 'multipoint' : 'GeometryField', + 'multilinestring' : 'GeometryField', + 'multipolygon' : 'GeometryField', + 'geometrycollection' : 'GeometryField', + }) + +class SpatiaLiteIntrospection(DatabaseIntrospection): + data_types_reverse = GeoFlexibleFieldLookupDict() + + def get_geometry_type(self, table_name, geo_col): + cursor = self.connection.cursor() + try: + # Querying the `geometry_columns` table to get additional metadata. + cursor.execute('SELECT "coord_dimension", "srid", "type" ' + 'FROM "geometry_columns" ' + 'WHERE "f_table_name"=%s AND "f_geometry_column"=%s', + (table_name, geo_col)) + row = cursor.fetchone() + if not row: + raise Exception('Could not find a geometry column for "%s"."%s"' % + (table_name, geo_col)) + + # OGRGeomType does not require GDAL and makes it easy to convert + # from OGC geom type name to Django field. + field_type = OGRGeomType(row[2]).django + + # Getting any GeometryField keyword arguments that are not the default. + dim = row[0] + srid = row[1] + field_params = {} + if srid != 4326: + field_params['srid'] = srid + if isinstance(dim, basestring) and 'Z' in dim: + field_params['dim'] = 3 + finally: + cursor.close() + + return field_type, field_params diff --git a/django/contrib/gis/db/backend/spatialite/models.py b/django/contrib/gis/db/backends/spatialite/models.py similarity index 93% rename from django/contrib/gis/db/backend/spatialite/models.py rename to django/contrib/gis/db/backends/spatialite/models.py index 5c5e64f90..684c5d8fc 100644 --- a/django/contrib/gis/db/backend/spatialite/models.py +++ b/django/contrib/gis/db/backends/spatialite/models.py @@ -2,6 +2,7 @@ The GeometryColumns and SpatialRefSys models for the SpatiaLite backend. """ from django.db import models +from django.contrib.gis.db.backends.base import SpatialRefSysMixin class GeometryColumns(models.Model): """ @@ -15,7 +16,6 @@ class GeometryColumns(models.Model): spatial_index_enabled = models.IntegerField() class Meta: - app_label = 'gis' db_table = 'geometry_columns' managed = False @@ -40,7 +40,7 @@ class GeometryColumns(models.Model): (self.f_table_name, self.f_geometry_column, self.coord_dimension, self.type, self.srid) -class SpatialRefSys(models.Model): +class SpatialRefSys(models.Model, SpatialRefSysMixin): """ The 'spatial_ref_sys' table from SpatiaLite. """ @@ -54,8 +54,7 @@ class SpatialRefSys(models.Model): def wkt(self): from django.contrib.gis.gdal import SpatialReference return SpatialReference(self.proj4text).wkt - + class Meta: - abstract = True db_table = 'spatial_ref_sys' managed = False diff --git a/django/contrib/gis/db/backends/spatialite/operations.py b/django/contrib/gis/db/backends/spatialite/operations.py new file mode 100644 index 000000000..e6f8409fd --- /dev/null +++ b/django/contrib/gis/db/backends/spatialite/operations.py @@ -0,0 +1,343 @@ +import re +from decimal import Decimal + +from django.contrib.gis.db.backends.base import BaseSpatialOperations +from django.contrib.gis.db.backends.util import SpatialOperation, SpatialFunction +from django.contrib.gis.db.backends.spatialite.adapter import SpatiaLiteAdapter +from django.contrib.gis.geometry.backend import Geometry +from django.contrib.gis.measure import Distance +from django.core.exceptions import ImproperlyConfigured +from django.db.backends.sqlite3.base import DatabaseOperations +from django.db.utils import DatabaseError + +class SpatiaLiteOperator(SpatialOperation): + "For SpatiaLite operators (e.g. `&&`, `~`)." + def __init__(self, operator): + super(SpatiaLiteOperator, self).__init__(operator=operator) + +class SpatiaLiteFunction(SpatialFunction): + "For SpatiaLite function calls." + def __init__(self, function, **kwargs): + super(SpatiaLiteFunction, self).__init__(function, **kwargs) + +class SpatiaLiteFunctionParam(SpatiaLiteFunction): + "For SpatiaLite functions that take another parameter." + sql_template = '%(function)s(%(geo_col)s, %(geometry)s, %%s)' + +class SpatiaLiteDistance(SpatiaLiteFunction): + "For SpatiaLite distance operations." + dist_func = 'Distance' + sql_template = '%(function)s(%(geo_col)s, %(geometry)s) %(operator)s %%s' + + def __init__(self, operator): + super(SpatiaLiteDistance, self).__init__(self.dist_func, + operator=operator) + +class SpatiaLiteRelate(SpatiaLiteFunctionParam): + "For SpatiaLite Relate(, ) calls." + pattern_regex = re.compile(r'^[012TF\*]{9}$') + def __init__(self, pattern): + if not self.pattern_regex.match(pattern): + raise ValueError('Invalid intersection matrix pattern "%s".' % pattern) + super(SpatiaLiteRelate, self).__init__('Relate') + +# Valid distance types and substitutions +dtypes = (Decimal, Distance, float, int, long) +def get_dist_ops(operator): + "Returns operations for regular distances; spherical distances are not currently supported." + return (SpatiaLiteDistance(operator),) + +class SpatiaLiteOperations(DatabaseOperations, BaseSpatialOperations): + compiler_module = 'django.contrib.gis.db.models.sql.compiler' + name = 'spatialite' + spatialite = True + version_regex = re.compile(r'^(?P\d)\.(?P\d)\.(?P\d+)') + valid_aggregates = dict([(k, None) for k in ('Extent', 'Union')]) + + Adapter = SpatiaLiteAdapter + Adaptor = Adapter # Backwards-compatibility alias. + + area = 'Area' + centroid = 'Centroid' + contained = 'MbrWithin' + difference = 'Difference' + distance = 'Distance' + envelope = 'Envelope' + intersection = 'Intersection' + length = 'GLength' # OpenGis defines Length, but this conflicts with an SQLite reserved keyword + num_geom = 'NumGeometries' + num_points = 'NumPoints' + point_on_surface = 'PointOnSurface' + scale = 'ScaleCoords' + svg = 'AsSVG' + sym_difference = 'SymDifference' + transform = 'Transform' + translate = 'ShiftCoords' + union = 'GUnion' # OpenGis defines Union, but this conflicts with an SQLite reserved keyword + unionagg = 'GUnion' + + from_text = 'GeomFromText' + from_wkb = 'GeomFromWKB' + select = 'AsText(%s)' + + geometry_functions = { + 'equals' : SpatiaLiteFunction('Equals'), + 'disjoint' : SpatiaLiteFunction('Disjoint'), + 'touches' : SpatiaLiteFunction('Touches'), + 'crosses' : SpatiaLiteFunction('Crosses'), + 'within' : SpatiaLiteFunction('Within'), + 'overlaps' : SpatiaLiteFunction('Overlaps'), + 'contains' : SpatiaLiteFunction('Contains'), + 'intersects' : SpatiaLiteFunction('Intersects'), + 'relate' : (SpatiaLiteRelate, basestring), + # Retruns true if B's bounding box completely contains A's bounding box. + 'contained' : SpatiaLiteFunction('MbrWithin'), + # Returns true if A's bounding box completely contains B's bounding box. + 'bbcontains' : SpatiaLiteFunction('MbrContains'), + # Returns true if A's bounding box overlaps B's bounding box. + 'bboverlaps' : SpatiaLiteFunction('MbrOverlaps'), + # These are implemented here as synonyms for Equals + 'same_as' : SpatiaLiteFunction('Equals'), + 'exact' : SpatiaLiteFunction('Equals'), + } + + distance_functions = { + 'distance_gt' : (get_dist_ops('>'), dtypes), + 'distance_gte' : (get_dist_ops('>='), dtypes), + 'distance_lt' : (get_dist_ops('<'), dtypes), + 'distance_lte' : (get_dist_ops('<='), dtypes), + } + geometry_functions.update(distance_functions) + + def __init__(self, connection): + super(DatabaseOperations, self).__init__() + self.connection = connection + + # Determine the version of the SpatiaLite library. + try: + vtup = self.spatialite_version_tuple() + version = vtup[1:] + if version < (2, 3, 0): + raise ImproperlyConfigured('GeoDjango only supports SpatiaLite versions ' + '2.3.0 and above') + self.spatial_version = version + except ImproperlyConfigured: + raise + except Exception, msg: + raise ImproperlyConfigured('Cannot determine the SpatiaLite version for the "%s" ' + 'database (error was "%s"). Was the SpatiaLite initialization ' + 'SQL loaded on this database?' % + (self.connection.settings_dict['NAME'], msg)) + + # Creating the GIS terms dictionary. + gis_terms = ['isnull'] + gis_terms += self.geometry_functions.keys() + self.gis_terms = dict([(term, None) for term in gis_terms]) + + def check_aggregate_support(self, aggregate): + """ + Checks if the given aggregate name is supported (that is, if it's + in `self.valid_aggregates`). + """ + agg_name = aggregate.__class__.__name__ + return agg_name in self.valid_aggregates + + def convert_geom(self, wkt, geo_field): + """ + Converts geometry WKT returned from a SpatiaLite aggregate. + """ + if wkt: + return Geometry(wkt, geo_field.srid) + else: + return None + + def geo_db_type(self, f): + """ + Returns None because geometry columnas are added via the + `AddGeometryColumn` stored procedure on SpatiaLite. + """ + return None + + def get_distance(self, f, value, lookup_type): + """ + Returns the distance parameters for the given geometry field, + lookup value, and lookup type. SpatiaLite only supports regular + cartesian-based queries (no spheroid/sphere calculations for point + geometries like PostGIS). + """ + if not value: + return [] + value = value[0] + if isinstance(value, Distance): + if f.geodetic(self.connection): + raise ValueError('SpatiaLite does not support distance queries on ' + 'geometry fields with a geodetic coordinate system. ' + 'Distance objects; use a numeric value of your ' + 'distance in degrees instead.') + else: + dist_param = getattr(value, Distance.unit_attname(f.units_name(self.connection))) + else: + dist_param = value + return [dist_param] + + def get_geom_placeholder(self, f, value): + """ + Provides a proper substitution value for Geometries that are not in the + SRID of the field. Specifically, this routine will substitute in the + Transform() and GeomFromText() function call(s). + """ + def transform_value(value, srid): + return not (value is None or value.srid == srid) + if hasattr(value, 'expression'): + if transform_value(value, f.srid): + placeholder = '%s(%%s, %s)' % (self.transform, f.srid) + else: + placeholder = '%s' + # No geometry value used for F expression, substitue in + # the column name instead. + return placeholder % '%s.%s' % tuple(map(self.quote_name, value.cols[value.expression])) + else: + if transform_value(value, f.srid): + # Adding Transform() to the SQL placeholder. + return '%s(%s(%%s,%s), %s)' % (self.transform, self.from_text, value.srid, f.srid) + else: + return '%s(%%s,%s)' % (self.from_text, f.srid) + + def _get_spatialite_func(self, func): + """ + Helper routine for calling SpatiaLite functions and returning + their result. + """ + cursor = self.connection._cursor() + try: + try: + cursor.execute('SELECT %s' % func) + row = cursor.fetchone() + except: + # Responsibility of caller to perform error handling. + raise + finally: + cursor.close() + return row[0] + + def geos_version(self): + "Returns the version of GEOS used by SpatiaLite as a string." + return self._get_spatialite_func('geos_version()') + + def proj4_version(self): + "Returns the version of the PROJ.4 library used by SpatiaLite." + return self._get_spatialite_func('proj4_version()') + + def spatialite_version(self): + "Returns the SpatiaLite library version as a string." + return self._get_spatialite_func('spatialite_version()') + + def spatialite_version_tuple(self): + """ + Returns the SpatiaLite version as a tuple (version string, major, + minor, subminor). + """ + # Getting the SpatiaLite version. + try: + version = self.spatialite_version() + except DatabaseError: + # The `spatialite_version` function first appeared in version 2.3.1 + # of SpatiaLite, so doing a fallback test for 2.3.0 (which is + # used by popular Debian/Ubuntu packages). + version = None + try: + tmp = self._get_spatialite_func("X(GeomFromText('POINT(1 1)'))") + if tmp == 1.0: version = '2.3.0' + except DatabaseError: + pass + # If no version string defined, then just re-raise the original + # exception. + if version is None: raise + + m = self.version_regex.match(version) + if m: + major = int(m.group('major')) + minor1 = int(m.group('minor1')) + minor2 = int(m.group('minor2')) + else: + raise Exception('Could not parse SpatiaLite version string: %s' % version) + + return (version, major, minor1, minor2) + + def spatial_aggregate_sql(self, agg): + """ + Returns the spatial aggregate SQL template and function for the + given Aggregate instance. + """ + agg_name = agg.__class__.__name__ + if not self.check_aggregate_support(agg): + raise NotImplementedError('%s spatial aggregate is not implmented for this backend.' % agg_name) + agg_name = agg_name.lower() + if agg_name == 'union': agg_name += 'agg' + sql_template = self.select % '%(function)s(%(field)s)' + sql_function = getattr(self, agg_name) + return sql_template, sql_function + + def spatial_lookup_sql(self, lvalue, lookup_type, value, field, qn): + """ + Returns the SpatiaLite-specific SQL for the given lookup value + [a tuple of (alias, column, db_type)], lookup type, lookup + value, the model field, and the quoting function. + """ + alias, col, db_type = lvalue + + # Getting the quoted field as `geo_col`. + geo_col = '%s.%s' % (qn(alias), qn(col)) + + if lookup_type in self.geometry_functions: + # See if a SpatiaLite geometry function matches the lookup type. + tmp = self.geometry_functions[lookup_type] + + # Lookup types that are tuples take tuple arguments, e.g., 'relate' and + # distance lookups. + if isinstance(tmp, tuple): + # First element of tuple is the SpatiaLiteOperation instance, and the + # second element is either the type or a tuple of acceptable types + # that may passed in as further parameters for the lookup type. + op, arg_type = tmp + + # Ensuring that a tuple _value_ was passed in from the user + if not isinstance(value, (tuple, list)): + raise ValueError('Tuple required for `%s` lookup type.' % lookup_type) + + # Geometry is first element of lookup tuple. + geom = value[0] + + # Number of valid tuple parameters depends on the lookup type. + if len(value) != 2: + raise ValueError('Incorrect number of parameters given for `%s` lookup type.' % lookup_type) + + # Ensuring the argument type matches what we expect. + if not isinstance(value[1], arg_type): + raise ValueError('Argument type should be %s, got %s instead.' % (arg_type, type(value[1]))) + + # For lookup type `relate`, the op instance is not yet created (has + # to be instantiated here to check the pattern parameter). + if lookup_type == 'relate': + op = op(value[1]) + elif lookup_type in self.distance_functions: + op = op[0] + else: + op = tmp + geom = value + # Calling the `as_sql` function on the operation instance. + return op.as_sql(geo_col, self.get_geom_placeholder(field, geom)) + elif lookup_type == 'isnull': + # Handling 'isnull' lookup type + return "%s IS %sNULL" % (geo_col, (not value and 'NOT ' or '')) + + raise TypeError("Got invalid lookup_type: %s" % repr(lookup_type)) + + # Routines for getting the OGC-compliant models. + def geometry_columns(self): + from django.contrib.gis.db.backends.spatialite.models import GeometryColumns + return GeometryColumns + + def spatial_ref_sys(self): + from django.contrib.gis.db.backends.spatialite.models import SpatialRefSys + return SpatialRefSys diff --git a/django/contrib/gis/db/backends/util.py b/django/contrib/gis/db/backends/util.py new file mode 100644 index 000000000..b50c8e222 --- /dev/null +++ b/django/contrib/gis/db/backends/util.py @@ -0,0 +1,56 @@ +""" +A collection of utility routines and classes used by the spatial +backends. +""" + +def gqn(val): + """ + The geographic quote name function; used for quoting tables and + geometries (they use single rather than the double quotes of the + backend quotename function). + """ + if isinstance(val, basestring): + if isinstance(val, unicode): val = val.encode('ascii') + return "'%s'" % val + else: + return str(val) + +class SpatialOperation(object): + """ + Base class for generating spatial SQL. + """ + sql_template = '%(geo_col)s %(operator)s %(geometry)s' + + def __init__(self, function='', operator='', result='', **kwargs): + self.function = function + self.operator = operator + self.result = result + self.extra = kwargs + + def as_sql(self, geo_col, geometry='%s'): + return self.sql_template % self.params(geo_col, geometry) + + def params(self, geo_col, geometry): + params = {'function' : self.function, + 'geo_col' : geo_col, + 'geometry' : geometry, + 'operator' : self.operator, + 'result' : self.result, + } + params.update(self.extra) + return params + +class SpatialFunction(SpatialOperation): + """ + Base class for generating spatial SQL related to a function. + """ + sql_template = '%(function)s(%(geo_col)s, %(geometry)s)' + + def __init__(self, func, result='', operator='', **kwargs): + # Getting the function prefix. + default = {'function' : func, + 'operator' : operator, + 'result' : result + } + kwargs.update(default) + super(SpatialFunction, self).__init__(**kwargs) diff --git a/django/contrib/gis/db/models/aggregates.py b/django/contrib/gis/db/models/aggregates.py index 7c8ab694c..cd26839eb 100644 --- a/django/contrib/gis/db/models/aggregates.py +++ b/django/contrib/gis/db/models/aggregates.py @@ -1,31 +1,17 @@ from django.db.models import Aggregate -from django.contrib.gis.db.backend import SpatialBackend from django.contrib.gis.db.models.sql import GeomField -class GeoAggregate(Aggregate): - - def add_to_query(self, query, alias, col, source, is_summary): - if hasattr(source, 'geom_type'): - # Doing additional setup on the Query object for spatial aggregates. - aggregate = getattr(query.aggregates_module, self.name) - - # Adding a conversion class instance and any selection wrapping - # SQL (e.g., needed by Oracle). - if aggregate.conversion_class is GeomField: - query.extra_select_fields[alias] = GeomField() - if SpatialBackend.select: - query.custom_select[alias] = SpatialBackend.select - - super(GeoAggregate, self).add_to_query(query, alias, col, source, is_summary) - -class Collect(GeoAggregate): +class Collect(Aggregate): name = 'Collect' -class Extent(GeoAggregate): +class Extent(Aggregate): name = 'Extent' -class MakeLine(GeoAggregate): +class Extent3D(Aggregate): + name = 'Extent3D' + +class MakeLine(Aggregate): name = 'MakeLine' -class Union(GeoAggregate): +class Union(Aggregate): name = 'Union' diff --git a/django/contrib/gis/db/models/fields.py b/django/contrib/gis/db/models/fields.py new file mode 100644 index 000000000..2b1660763 --- /dev/null +++ b/django/contrib/gis/db/models/fields.py @@ -0,0 +1,294 @@ +from django.db.models.fields import Field +from django.db.models.sql.expressions import SQLEvaluator +from django.utils.translation import ugettext_lazy as _ +from django.contrib.gis import forms +from django.contrib.gis.db.models.proxy import GeometryProxy +from django.contrib.gis.geometry.backend import Geometry, GeometryException + +# Local cache of the spatial_ref_sys table, which holds SRID data for each +# spatial database alias. This cache exists so that the database isn't queried +# for SRID info each time a distance query is constructed. +_srid_cache = {} + +def get_srid_info(srid, connection): + """ + Returns the units, unit name, and spheroid WKT associated with the + given SRID from the `spatial_ref_sys` (or equivalent) spatial database + table for the given database connection. These results are cached. + """ + global _srid_cache + + try: + # The SpatialRefSys model for the spatial backend. + SpatialRefSys = connection.ops.spatial_ref_sys() + except NotImplementedError: + # No `spatial_ref_sys` table in spatial backend (e.g., MySQL). + return None, None, None + + if not connection.alias in _srid_cache: + # Initialize SRID dictionary for database if it doesn't exist. + _srid_cache[connection.alias] = {} + + if not srid in _srid_cache[connection.alias]: + # Use `SpatialRefSys` model to query for spatial reference info. + sr = SpatialRefSys.objects.using(connection.alias).get(srid=srid) + units, units_name = sr.units + spheroid = SpatialRefSys.get_spheroid(sr.wkt) + _srid_cache[connection.alias][srid] = (units, units_name, spheroid) + + return _srid_cache[connection.alias][srid] + +class GeometryField(Field): + "The base GIS field -- maps to the OpenGIS Specification Geometry type." + + # The OpenGIS Geometry name. + geom_type = 'GEOMETRY' + + # Geodetic units. + geodetic_units = ('Decimal Degree', 'degree') + + description = _("The base GIS field -- maps to the OpenGIS Specification Geometry type.") + + def __init__(self, verbose_name=None, srid=4326, spatial_index=True, dim=2, + geography=False, **kwargs): + """ + The initialization function for geometry fields. Takes the following + as keyword arguments: + + srid: + The spatial reference system identifier, an OGC standard. + Defaults to 4326 (WGS84). + + spatial_index: + Indicates whether to create a spatial index. Defaults to True. + Set this instead of 'db_index' for geographic fields since index + creation is different for geometry columns. + + dim: + The number of dimensions for this geometry. Defaults to 2. + + extent: + Customize the extent, in a 4-tuple of WGS 84 coordinates, for the + geometry field entry in the `USER_SDO_GEOM_METADATA` table. Defaults + to (-180.0, -90.0, 180.0, 90.0). + + tolerance: + Define the tolerance, in meters, to use for the geometry field + entry in the `USER_SDO_GEOM_METADATA` table. Defaults to 0.05. + """ + + # Setting the index flag with the value of the `spatial_index` keyword. + self.spatial_index = spatial_index + + # Setting the SRID and getting the units. Unit information must be + # easily available in the field instance for distance queries. + self.srid = srid + + # Setting the dimension of the geometry field. + self.dim = dim + + # Setting the verbose_name keyword argument with the positional + # first parameter, so this works like normal fields. + kwargs['verbose_name'] = verbose_name + + # Is this a geography rather than a geometry column? + self.geography = geography + + # Oracle-specific private attributes for creating the entrie in + # `USER_SDO_GEOM_METADATA` + self._extent = kwargs.pop('extent', (-180.0, -90.0, 180.0, 90.0)) + self._tolerance = kwargs.pop('tolerance', 0.05) + + super(GeometryField, self).__init__(**kwargs) + + # The following functions are used to get the units, their name, and + # the spheroid corresponding to the SRID of the GeometryField. + def _get_srid_info(self, connection): + # Get attributes from `get_srid_info`. + self._units, self._units_name, self._spheroid = get_srid_info(self.srid, connection) + + def spheroid(self, connection): + if not hasattr(self, '_spheroid'): + self._get_srid_info(connection) + return self._spheroid + + def units(self, connection): + if not hasattr(self, '_units'): + self._get_srid_info(connection) + return self._units + + def units_name(self, connection): + if not hasattr(self, '_units_name'): + self._get_srid_info(connection) + return self._units_name + + ### Routines specific to GeometryField ### + def geodetic(self, connection): + """ + Returns true if this field's SRID corresponds with a coordinate + system that uses non-projected units (e.g., latitude/longitude). + """ + return self.units_name(connection) in self.geodetic_units + + def get_distance(self, value, lookup_type, connection): + """ + Returns a distance number in units of the field. For example, if + `D(km=1)` was passed in and the units of the field were in meters, + then 1000 would be returned. + """ + return connection.ops.get_distance(self, value, lookup_type) + + def get_prep_value(self, value): + """ + Spatial lookup values are either a parameter that is (or may be + converted to) a geometry, or a sequence of lookup values that + begins with a geometry. This routine will setup the geometry + value properly, and preserve any other lookup parameters before + returning to the caller. + """ + if isinstance(value, SQLEvaluator): + return value + elif isinstance(value, (tuple, list)): + geom = value[0] + seq_value = True + else: + geom = value + seq_value = False + + # When the input is not a GEOS geometry, attempt to construct one + # from the given string input. + if isinstance(geom, Geometry): + pass + elif isinstance(geom, basestring) or hasattr(geom, '__geo_interface__'): + try: + geom = Geometry(geom) + except GeometryException: + raise ValueError('Could not create geometry from lookup value.') + else: + raise ValueError('Cannot use object with type %s for a geometry lookup parameter.' % type(geom).__name__) + + # Assigning the SRID value. + geom.srid = self.get_srid(geom) + + if seq_value: + lookup_val = [geom] + lookup_val.extend(value[1:]) + return tuple(lookup_val) + else: + return geom + + def get_srid(self, geom): + """ + Returns the default SRID for the given geometry, taking into account + the SRID set for the field. For example, if the input geometry + has no SRID, then that of the field will be returned. + """ + gsrid = geom.srid # SRID of given geometry. + if gsrid is None or self.srid == -1 or (gsrid == -1 and self.srid != -1): + return self.srid + else: + return gsrid + + ### Routines overloaded from Field ### + def contribute_to_class(self, cls, name): + super(GeometryField, self).contribute_to_class(cls, name) + + # Setup for lazy-instantiated Geometry object. + setattr(cls, self.attname, GeometryProxy(Geometry, self)) + + def db_type(self, connection): + return connection.ops.geo_db_type(self) + + def formfield(self, **kwargs): + defaults = {'form_class' : forms.GeometryField, + 'null' : self.null, + 'geom_type' : self.geom_type, + 'srid' : self.srid, + } + defaults.update(kwargs) + return super(GeometryField, self).formfield(**defaults) + + def get_db_prep_lookup(self, lookup_type, value, connection, prepared=False): + """ + Prepare for the database lookup, and return any spatial parameters + necessary for the query. This includes wrapping any geometry + parameters with a backend-specific adapter and formatting any distance + parameters into the correct units for the coordinate system of the + field. + """ + if lookup_type in connection.ops.gis_terms: + # special case for isnull lookup + if lookup_type == 'isnull': + return [] + + # Populating the parameters list, and wrapping the Geometry + # with the Adapter of the spatial backend. + if isinstance(value, (tuple, list)): + params = [connection.ops.Adapter(value[0])] + if lookup_type in connection.ops.distance_functions: + # Getting the distance parameter in the units of the field. + params += self.get_distance(value[1:], lookup_type, connection) + elif lookup_type in connection.ops.truncate_params: + # Lookup is one where SQL parameters aren't needed from the + # given lookup value. + pass + else: + params += value[1:] + elif isinstance(value, SQLEvaluator): + params = [] + else: + params = [connection.ops.Adapter(value)] + + return params + else: + raise ValueError('%s is not a valid spatial lookup for %s.' % + (lookup_type, self.__class__.__name__)) + + def get_prep_lookup(self, lookup_type, value): + if lookup_type == 'isnull': + return bool(value) + else: + return self.get_prep_value(value) + + def get_db_prep_save(self, value, connection): + "Prepares the value for saving in the database." + if value is None: + return None + else: + return connection.ops.Adapter(self.get_prep_value(value)) + + def get_placeholder(self, value, connection): + """ + Returns the placeholder for the geometry column for the + given value. + """ + return connection.ops.get_geom_placeholder(self, value) + +# The OpenGIS Geometry Type Fields +class PointField(GeometryField): + geom_type = 'POINT' + description = _("Point") + +class LineStringField(GeometryField): + geom_type = 'LINESTRING' + description = _("Line string") + +class PolygonField(GeometryField): + geom_type = 'POLYGON' + description = _("Polygon") + +class MultiPointField(GeometryField): + geom_type = 'MULTIPOINT' + description = _("Multi-point") + +class MultiLineStringField(GeometryField): + geom_type = 'MULTILINESTRING' + description = _("Multi-line string") + +class MultiPolygonField(GeometryField): + geom_type = 'MULTIPOLYGON' + description = _("Multi polygon") + +class GeometryCollectionField(GeometryField): + geom_type = 'GEOMETRYCOLLECTION' + description = _("Geometry collection") diff --git a/django/contrib/gis/db/models/fields/__init__.py b/django/contrib/gis/db/models/fields/__init__.py deleted file mode 100644 index b2dacc85d..000000000 --- a/django/contrib/gis/db/models/fields/__init__.py +++ /dev/null @@ -1,278 +0,0 @@ -from django.contrib.gis import forms -# Getting the SpatialBackend container and the geographic quoting method. -from django.contrib.gis.db.backend import SpatialBackend, gqn -# GeometryProxy, GEOS, and Distance imports. -from django.contrib.gis.db.models.proxy import GeometryProxy -from django.contrib.gis.measure import Distance - -# Local cache of the spatial_ref_sys table, which holds static data. -# This exists so that we don't have to hit the database each time. -_srid_cache = {} - -def get_srid_info(srid): - """ - Returns the units, unit name, and spheroid WKT associated with the - given SRID from the `spatial_ref_sys` (or equivalent) spatial database - table. These results are cached. - """ - global _srid_cache - - if SpatialBackend.mysql: - return None, None, None - - if not srid in _srid_cache: - from django.contrib.gis.models import SpatialRefSys - sr = SpatialRefSys.objects.get(srid=srid) - units, units_name = sr.units - spheroid = SpatialRefSys.get_spheroid(sr.wkt) - _srid_cache[srid] = (units, units_name, spheroid) - - return _srid_cache[srid] - -class GeometryField(SpatialBackend.Field): - "The base GIS field -- maps to the OpenGIS Specification Geometry type." - - # The OpenGIS Geometry name. - geom_type = 'GEOMETRY' - - # Geodetic units. - geodetic_units = ('Decimal Degree', 'degree') - - def __init__(self, verbose_name=None, srid=4326, spatial_index=True, dim=2, **kwargs): - """ - The initialization function for geometry fields. Takes the following - as keyword arguments: - - srid: - The spatial reference system identifier, an OGC standard. - Defaults to 4326 (WGS84). - - spatial_index: - Indicates whether to create a spatial index. Defaults to True. - Set this instead of 'db_index' for geographic fields since index - creation is different for geometry columns. - - dim: - The number of dimensions for this geometry. Defaults to 2. - """ - - # Setting the index flag with the value of the `spatial_index` keyword. - self.spatial_index = spatial_index - - # Setting the SRID and getting the units. Unit information must be - # easily available in the field instance for distance queries. - self.srid = srid - - # Setting the dimension of the geometry field. - self.dim = dim - - # Setting the verbose_name keyword argument with the positional - # first parameter, so this works like normal fields. - kwargs['verbose_name'] = verbose_name - - super(GeometryField, self).__init__(**kwargs) # Calling the parent initializtion function - - # The following properties are used to get the units, their name, and - # the spheroid corresponding to the SRID of the GeometryField. - def _get_srid_info(self): - # Get attributes from `get_srid_info`. - self._units, self._units_name, self._spheroid = get_srid_info(self.srid) - - @property - def spheroid(self): - if not hasattr(self, '_spheroid'): - self._get_srid_info() - return self._spheroid - - @property - def units(self): - if not hasattr(self, '_units'): - self._get_srid_info() - return self._units - - @property - def units_name(self): - if not hasattr(self, '_units_name'): - self._get_srid_info() - return self._units_name - - # The following properties are for formerly private variables that are now - # public for GeometryField. Because of their use by third-party applications, - # a deprecation warning is issued to notify them to use new attribute name. - def _deprecated_warning(self, old_name, new_name): - from warnings import warn - warn('The `%s` attribute name is deprecated, please update your code to use `%s` instead.' % - (old_name, new_name)) - - @property - def _geom(self): - self._deprecated_warning('_geom', 'geom_type') - return self.geom_type - - @property - def _index(self): - self._deprecated_warning('_index', 'spatial_index') - return self.spatial_index - - @property - def _srid(self): - self._deprecated_warning('_srid', 'srid') - return self.srid - - ### Routines specific to GeometryField ### - @property - def geodetic(self): - """ - Returns true if this field's SRID corresponds with a coordinate - system that uses non-projected units (e.g., latitude/longitude). - """ - return self.units_name in self.geodetic_units - - def get_distance(self, dist_val, lookup_type): - """ - Returns a distance number in units of the field. For example, if - `D(km=1)` was passed in and the units of the field were in meters, - then 1000 would be returned. - """ - # Getting the distance parameter and any options. - if len(dist_val) == 1: dist, option = dist_val[0], None - else: dist, option = dist_val - - if isinstance(dist, Distance): - if self.geodetic: - # Won't allow Distance objects w/DWithin lookups on PostGIS. - if SpatialBackend.postgis and lookup_type == 'dwithin': - raise TypeError('Only numeric values of degree units are allowed on geographic DWithin queries.') - # Spherical distance calculation parameter should be in meters. - dist_param = dist.m - else: - dist_param = getattr(dist, Distance.unit_attname(self.units_name)) - else: - # Assuming the distance is in the units of the field. - dist_param = dist - - if SpatialBackend.postgis and self.geodetic and lookup_type != 'dwithin' and option == 'spheroid': - # On PostGIS, by default `ST_distance_sphere` is used; but if the - # accuracy of `ST_distance_spheroid` is needed than the spheroid - # needs to be passed to the SQL stored procedure. - return [gqn(self._spheroid), dist_param] - else: - return [dist_param] - - def get_geometry(self, value): - """ - Retrieves the geometry, setting the default SRID from the given - lookup parameters. - """ - if isinstance(value, (tuple, list)): - geom = value[0] - else: - geom = value - - # When the input is not a GEOS geometry, attempt to construct one - # from the given string input. - if isinstance(geom, SpatialBackend.Geometry): - pass - elif isinstance(geom, basestring): - try: - geom = SpatialBackend.Geometry(geom) - except SpatialBackend.GeometryException: - raise ValueError('Could not create geometry from lookup value: %s' % str(value)) - else: - raise TypeError('Cannot use parameter of `%s` type as lookup parameter.' % type(value)) - - # Assigning the SRID value. - geom.srid = self.get_srid(geom) - - return geom - - def get_srid(self, geom): - """ - Returns the default SRID for the given geometry, taking into account - the SRID set for the field. For example, if the input geometry - has no SRID, then that of the field will be returned. - """ - gsrid = geom.srid # SRID of given geometry. - if gsrid is None or self.srid == -1 or (gsrid == -1 and self.srid != -1): - return self.srid - else: - return gsrid - - ### Routines overloaded from Field ### - def contribute_to_class(self, cls, name): - super(GeometryField, self).contribute_to_class(cls, name) - - # Setup for lazy-instantiated Geometry object. - setattr(cls, self.attname, GeometryProxy(SpatialBackend.Geometry, self)) - - def formfield(self, **kwargs): - defaults = {'form_class' : forms.GeometryField, - 'null' : self.null, - 'geom_type' : self.geom_type, - 'srid' : self.srid, - } - defaults.update(kwargs) - return super(GeometryField, self).formfield(**defaults) - - def get_db_prep_lookup(self, lookup_type, value): - """ - Returns the spatial WHERE clause and associated parameters for the - given lookup type and value. The value will be prepared for database - lookup (e.g., spatial transformation SQL will be added if necessary). - """ - if lookup_type in SpatialBackend.gis_terms: - # special case for isnull lookup - if lookup_type == 'isnull': return [], [] - - # Get the geometry with SRID; defaults SRID to that of the field - # if it is None. - geom = self.get_geometry(value) - - # Getting the WHERE clause list and the associated params list. The params - # list is populated with the Adaptor wrapping the Geometry for the - # backend. The WHERE clause list contains the placeholder for the adaptor - # (e.g. any transformation SQL). - where = [self.get_placeholder(geom)] - params = [SpatialBackend.Adaptor(geom)] - - if isinstance(value, (tuple, list)): - if lookup_type in SpatialBackend.distance_functions: - # Getting the distance parameter in the units of the field. - where += self.get_distance(value[1:], lookup_type) - elif lookup_type in SpatialBackend.limited_where: - pass - else: - # Otherwise, making sure any other parameters are properly quoted. - where += map(gqn, value[1:]) - return where, params - else: - raise TypeError("Field has invalid lookup: %s" % lookup_type) - - def get_db_prep_save(self, value): - "Prepares the value for saving in the database." - if value is None: - return None - else: - return SpatialBackend.Adaptor(self.get_geometry(value)) - -# The OpenGIS Geometry Type Fields -class PointField(GeometryField): - geom_type = 'POINT' - -class LineStringField(GeometryField): - geom_type = 'LINESTRING' - -class PolygonField(GeometryField): - geom_type = 'POLYGON' - -class MultiPointField(GeometryField): - geom_type = 'MULTIPOINT' - -class MultiLineStringField(GeometryField): - geom_type = 'MULTILINESTRING' - -class MultiPolygonField(GeometryField): - geom_type = 'MULTIPOLYGON' - -class GeometryCollectionField(GeometryField): - geom_type = 'GEOMETRYCOLLECTION' diff --git a/django/contrib/gis/db/models/manager.py b/django/contrib/gis/db/models/manager.py index eac66f4a8..61fb82132 100644 --- a/django/contrib/gis/db/models/manager.py +++ b/django/contrib/gis/db/models/manager.py @@ -1,6 +1,5 @@ from django.db.models.manager import Manager from django.contrib.gis.db.models.query import GeoQuerySet -from django.contrib.gis.db.models.sql.subqueries import insert_query class GeoManager(Manager): "Overrides Manager to return Geographic QuerySets." @@ -11,7 +10,7 @@ class GeoManager(Manager): use_for_related_fields = True def get_query_set(self): - return GeoQuerySet(model=self.model) + return GeoQuerySet(self.model, using=self._db) def area(self, *args, **kwargs): return self.get_query_set().area(*args, **kwargs) @@ -34,6 +33,15 @@ class GeoManager(Manager): def extent(self, *args, **kwargs): return self.get_query_set().extent(*args, **kwargs) + def extent3d(self, *args, **kwargs): + return self.get_query_set().extent3d(*args, **kwargs) + + def force_rhr(self, *args, **kwargs): + return self.get_query_set().force_rhr(*args, **kwargs) + + def geohash(self, *args, **kwargs): + return self.get_query_set().geohash(*args, **kwargs) + def geojson(self, *args, **kwargs): return self.get_query_set().geojson(*args, **kwargs) @@ -51,7 +59,7 @@ class GeoManager(Manager): def make_line(self, *args, **kwargs): return self.get_query_set().make_line(*args, **kwargs) - + def mem_size(self, *args, **kwargs): return self.get_query_set().mem_size(*args, **kwargs) @@ -67,6 +75,9 @@ class GeoManager(Manager): def point_on_surface(self, *args, **kwargs): return self.get_query_set().point_on_surface(*args, **kwargs) + def reverse_geom(self, *args, **kwargs): + return self.get_query_set().reverse_geom(*args, **kwargs) + def scale(self, *args, **kwargs): return self.get_query_set().scale(*args, **kwargs) @@ -90,6 +101,3 @@ class GeoManager(Manager): def unionagg(self, *args, **kwargs): return self.get_query_set().unionagg(*args, **kwargs) - - def _insert(self, values, **kwargs): - return insert_query(self.model, values, **kwargs) diff --git a/django/contrib/gis/db/models/proxy.py b/django/contrib/gis/db/models/proxy.py index 82158486b..e569dd5c4 100644 --- a/django/contrib/gis/db/models/proxy.py +++ b/django/contrib/gis/db/models/proxy.py @@ -1,42 +1,44 @@ """ - The GeometryProxy object, allows for lazy-geometries. The proxy uses - Python descriptors for instantiating and setting Geometry objects - corresponding to geographic model fields. +The GeometryProxy object, allows for lazy-geometries. The proxy uses +Python descriptors for instantiating and setting Geometry objects +corresponding to geographic model fields. - Thanks to Robert Coup for providing this functionality (see #4322). +Thanks to Robert Coup for providing this functionality (see #4322). """ -from types import NoneType, StringType, UnicodeType - -class GeometryProxy(object): - def __init__(self, klass, field): +class GeometryProxy(object): + def __init__(self, klass, field): """ - Proxy initializes on the given Geometry class (not an instance) and + Proxy initializes on the given Geometry class (not an instance) and the GeometryField. """ - self._field = field + self._field = field self._klass = klass - - def __get__(self, obj, type=None): + + def __get__(self, obj, type=None): """ This accessor retrieves the geometry, initializing it using the geometry - class specified during initialization and the HEXEWKB value of the field. + class specified during initialization and the HEXEWKB value of the field. Currently, only GEOS or OGR geometries are supported. """ + if obj is None: + # Accessed on a class, not an instance + return self + # Getting the value of the field. - geom_value = obj.__dict__[self._field.attname] - - if isinstance(geom_value, self._klass): + geom_value = obj.__dict__[self._field.attname] + + if isinstance(geom_value, self._klass): geom = geom_value elif (geom_value is None) or (geom_value==''): geom = None - else: + else: # Otherwise, a Geometry object is built using the field's contents, # and the model's corresponding attribute is set. geom = self._klass(geom_value) - setattr(obj, self._field.attname, geom) - return geom - + setattr(obj, self._field.attname, geom) + return geom + def __set__(self, obj, value): """ This accessor sets the proxied geometry with the geometry class @@ -45,18 +47,18 @@ class GeometryProxy(object): """ # The OGC Geometry type of the field. gtype = self._field.geom_type - + # The geometry type must match that of the field -- unless the # general GeometryField is used. if isinstance(value, self._klass) and (str(value.geom_type).upper() == gtype or gtype == 'GEOMETRY'): # Assigning the SRID to the geometry. if value.srid is None: value.srid = self._field.srid - elif isinstance(value, (NoneType, StringType, UnicodeType)): - # Set with None, WKT, or HEX + elif value is None or isinstance(value, (basestring, buffer)): + # Set with None, WKT, HEX, or WKB pass else: raise TypeError('cannot set %s GeometryProxy with value of type: %s' % (obj.__class__.__name__, type(value))) # Setting the objects dictionary with the value, and returning. - obj.__dict__[self._field.attname] = value - return value + obj.__dict__[self._field.attname] = value + return value diff --git a/django/contrib/gis/db/models/query.py b/django/contrib/gis/db/models/query.py index ad2cd8ced..4df1a3ab7 100644 --- a/django/contrib/gis/db/models/query.py +++ b/django/contrib/gis/db/models/query.py @@ -1,20 +1,19 @@ -from django.core.exceptions import ImproperlyConfigured -from django.db import connection +from django.db import connections from django.db.models.query import QuerySet, Q, ValuesQuerySet, ValuesListQuerySet -from django.contrib.gis.db.backend import SpatialBackend from django.contrib.gis.db.models import aggregates -from django.contrib.gis.db.models.fields import get_srid_info, GeometryField, PointField +from django.contrib.gis.db.models.fields import get_srid_info, GeometryField, PointField, LineStringField from django.contrib.gis.db.models.sql import AreaField, DistanceField, GeomField, GeoQuery, GeoWhereNode +from django.contrib.gis.geometry.backend import Geometry from django.contrib.gis.measure import Area, Distance class GeoQuerySet(QuerySet): "The Geographic QuerySet." ### Methods overloaded from QuerySet ### - def __init__(self, model=None, query=None): - super(GeoQuerySet, self).__init__(model=model, query=query) - self.query = query or GeoQuery(self.model, connection) + def __init__(self, model=None, query=None, using=None): + super(GeoQuerySet, self).__init__(model=model, query=query, using=using) + self.query = query or GeoQuery(self.model) def values(self, *fields): return self._clone(klass=GeoValuesQuerySet, setup=True, _fields=fields) @@ -42,14 +41,19 @@ class GeoQuerySet(QuerySet): 'geo_field' : geo_field, 'setup' : False, } - if SpatialBackend.oracle: + connection = connections[self.db] + backend = connection.ops + if backend.oracle: s['procedure_fmt'] = '%(geo_col)s,%(tolerance)s' s['procedure_args']['tolerance'] = tolerance s['select_field'] = AreaField('sq_m') # Oracle returns area in units of meters. - elif SpatialBackend.postgis or SpatialBackend.spatialite: - if not geo_field.geodetic: + elif backend.postgis or backend.spatialite: + if backend.geography: + # Geography fields support area calculation, returns square meters. + s['select_field'] = AreaField('sq_m') + elif not geo_field.geodetic(connection): # Getting the area units of the geographic field. - s['select_field'] = AreaField(Area.unit_attname(geo_field.units_name)) + s['select_field'] = AreaField(Area.unit_attname(geo_field.units_name(connection))) else: # TODO: Do we want to support raw number areas for geodetic fields? raise Exception('Area on geodetic coordinate systems not supported.') @@ -110,6 +114,23 @@ class GeoQuerySet(QuerySet): """ return self._spatial_aggregate(aggregates.Extent, **kwargs) + def extent3d(self, **kwargs): + """ + Returns the aggregate extent, in 3D, of the features in the + GeoQuerySet. It is returned as a 6-tuple, comprising: + (xmin, ymin, zmin, xmax, ymax, zmax). + """ + return self._spatial_aggregate(aggregates.Extent3D, **kwargs) + + def force_rhr(self, **kwargs): + """ + Returns a modified version of the Polygon/MultiPolygon in which + all of the vertices follow the Right-Hand-Rule. By default, + this is attached as the `force_rhr` attribute on each element + of the GeoQuerySet. + """ + return self._geom_attribute('force_rhr', **kwargs) + def geojson(self, precision=8, crs=False, bbox=False, **kwargs): """ Returns a GeoJSON representation of the geomtry field in a `geojson` @@ -119,16 +140,16 @@ class GeoQuerySet(QuerySet): the coordinate reference system and the bounding box to be included in the GeoJSON representation of the geometry. """ - if not SpatialBackend.postgis or not SpatialBackend.geojson: + backend = connections[self.db].ops + if not backend.geojson: raise NotImplementedError('Only PostGIS 1.3.4+ supports GeoJSON serialization.') - + if not isinstance(precision, (int, long)): raise TypeError('Precision keyword must be set with an integer.') - + # Setting the options flag -- which depends on which version of # PostGIS we're using. - major, minor1, minor2 = SpatialBackend.version - if major >=1 and (minor1 >= 4): + if backend.spatial_version >= (1, 4, 0): options = 0 if crs and bbox: options = 3 elif bbox: options = 1 @@ -138,23 +159,37 @@ class GeoQuerySet(QuerySet): if crs and bbox: options = 3 elif crs: options = 1 elif bbox: options = 2 - s = {'desc' : 'GeoJSON', + s = {'desc' : 'GeoJSON', 'procedure_args' : {'precision' : precision, 'options' : options}, 'procedure_fmt' : '%(geo_col)s,%(precision)s,%(options)s', } return self._spatial_attribute('geojson', s, **kwargs) + def geohash(self, precision=20, **kwargs): + """ + Returns a GeoHash representation of the given field in a `geohash` + attribute on each element of the GeoQuerySet. + + The `precision` keyword may be used to custom the number of + _characters_ used in the output GeoHash, the default is 20. + """ + s = {'desc' : 'GeoHash', + 'procedure_args': {'precision': precision}, + 'procedure_fmt': '%(geo_col)s,%(precision)s', + } + return self._spatial_attribute('geohash', s, **kwargs) + def gml(self, precision=8, version=2, **kwargs): """ Returns GML representation of the given field in a `gml` attribute on each element of the GeoQuerySet. """ + backend = connections[self.db].ops s = {'desc' : 'GML', 'procedure_args' : {'precision' : precision}} - if SpatialBackend.postgis: + if backend.postgis: # PostGIS AsGML() aggregate function parameter order depends on the # version -- uggh. - major, minor1, minor2 = SpatialBackend.version - if major >= 1 and (minor1 > 3 or (minor1 == 3 and minor2 > 1)): + if backend.spatial_version > (1, 3, 1): procedure_fmt = '%(version)s,%(geo_col)s,%(precision)s' else: procedure_fmt = '%(geo_col)s,%(precision)s,%(version)s' @@ -235,12 +270,23 @@ class GeoQuerySet(QuerySet): """ return self._geom_attribute('point_on_surface', **kwargs) + def reverse_geom(self, **kwargs): + """ + Reverses the coordinate order of the geometry, and attaches as a + `reverse` attribute on each element of this GeoQuerySet. + """ + s = {'select_field' : GeomField(),} + kwargs.setdefault('model_att', 'reverse_geom') + if connections[self.db].ops.oracle: + s['geo_field_type'] = LineStringField + return self._spatial_attribute('reverse', s, **kwargs) + def scale(self, x, y, z=0.0, **kwargs): """ Scales the geometry to a new size by multiplying the ordinates with the given x,y,z scale factors. """ - if SpatialBackend.spatialite: + if connections[self.db].ops.spatialite: if z != 0.0: raise NotImplementedError('SpatiaLite does not support 3D scaling.') s = {'procedure_fmt' : '%(geo_col)s,%(x)s,%(y)s', @@ -300,10 +346,10 @@ class GeoQuerySet(QuerySet): terms of relative moves (rather than absolute). `precision` => May be used to set the maximum number of decimal - digits used in output (defaults to 8). + digits used in output (defaults to 8). """ relative = int(bool(relative)) - if not isinstance(precision, (int, long)): + if not isinstance(precision, (int, long)): raise TypeError('SVG precision keyword argument must be an integer.') s = {'desc' : 'SVG', 'procedure_fmt' : '%(geo_col)s,%(rel)s,%(precision)s', @@ -325,7 +371,7 @@ class GeoQuerySet(QuerySet): Translates the geometry to a new location using the given numeric parameters as offsets. """ - if SpatialBackend.spatialite: + if connections[self.db].ops.spatialite: if z != 0.0: raise NotImplementedError('SpatiaLite does not support 3D translation.') s = {'procedure_fmt' : '%(geo_col)s,%(x)s,%(y)s', @@ -360,7 +406,7 @@ class GeoQuerySet(QuerySet): # Setting the key for the field's column with the custom SELECT SQL to # override the geometry column returned from the database. - custom_sel = '%s(%s, %s)' % (SpatialBackend.transform, geo_col, srid) + custom_sel = '%s(%s, %s)' % (connections[self.db].ops.transform, geo_col, srid) # TODO: Should we have this as an alias? # custom_sel = '(%s(%s, %s)) AS %s' % (SpatialBackend.transform, geo_col, srid, qn(geo_field.name)) self.query.transformed_srid = srid # So other GeoQuerySet methods @@ -388,9 +434,13 @@ class GeoQuerySet(QuerySet): Performs set up for executing the spatial function. """ # Does the spatial backend support this? - func = getattr(SpatialBackend, att, False) + connection = connections[self.db] + func = getattr(connection.ops, att, False) if desc is None: desc = att - if not func: raise ImproperlyConfigured('%s stored procedure not available.' % desc) + if not func: + raise NotImplementedError('%s stored procedure not available on ' + 'the %s backend.' % + (desc, connection.ops.name)) # Initializing the procedure arguments. procedure_args = {'function' : func} @@ -434,7 +484,7 @@ class GeoQuerySet(QuerySet): # Adding any keyword parameters for the Aggregate object. Oracle backends # in particular need an additional `tolerance` parameter. agg_kwargs = {} - if SpatialBackend.oracle: agg_kwargs['tolerance'] = tolerance + if connections[self.db].ops.oracle: agg_kwargs['tolerance'] = tolerance # Calling the QuerySet.aggregate, and returning only the value of the aggregate. return self.aggregate(geoagg=aggregate(agg_col, **agg_kwargs))['geoagg'] @@ -471,9 +521,13 @@ class GeoQuerySet(QuerySet): settings.setdefault('procedure_fmt', '%(geo_col)s') settings.setdefault('select_params', []) + connection = connections[self.db] + backend = connection.ops + # Performing setup for the spatial column, unless told not to. if settings.get('setup', True): - default_args, geo_field = self._spatial_setup(att, desc=settings['desc'], field_name=field_name) + default_args, geo_field = self._spatial_setup(att, desc=settings['desc'], field_name=field_name, + geo_field_type=settings.get('geo_field_type', None)) for k, v in default_args.iteritems(): settings['procedure_args'].setdefault(k, v) else: geo_field = settings['geo_field'] @@ -483,13 +537,16 @@ class GeoQuerySet(QuerySet): # Special handling for any argument that is a geometry. for name in settings['geom_args']: - # Using the field's get_db_prep_lookup() to get any needed - # transformation SQL -- we pass in a 'dummy' `contains` lookup. - where, params = geo_field.get_db_prep_lookup('contains', settings['procedure_args'][name]) + # Using the field's get_placeholder() routine to get any needed + # transformation SQL. + geom = geo_field.get_prep_value(settings['procedure_args'][name]) + params = geo_field.get_db_prep_lookup('contains', geom, connection=connection) + geom_placeholder = geo_field.get_placeholder(geom, connection) + # Replacing the procedure format with that of any needed # transformation SQL. old_fmt = '%%(%s)s' % name - new_fmt = where[0] % '%%s' + new_fmt = geom_placeholder % '%%s' settings['procedure_fmt'] = settings['procedure_fmt'].replace(old_fmt, new_fmt) settings['select_params'].extend(params) @@ -499,8 +556,10 @@ class GeoQuerySet(QuerySet): # If the result of this function needs to be converted. if settings.get('select_field', False): sel_fld = settings['select_field'] - if isinstance(sel_fld, GeomField) and SpatialBackend.select: - self.query.custom_select[model_att] = SpatialBackend.select + if isinstance(sel_fld, GeomField) and backend.select: + self.query.custom_select[model_att] = backend.select + if connection.ops.oracle: + sel_fld.empty_strings_allowed = False self.query.extra_select_fields[model_att] = sel_fld # Finally, setting the extra selection attribute with @@ -519,36 +578,47 @@ class GeoQuerySet(QuerySet): # If geodetic defaulting distance attribute to meters (Oracle and # PostGIS spherical distances return meters). Otherwise, use the # units of the geometry field. - if geo_field.geodetic: + connection = connections[self.db] + geodetic = geo_field.geodetic(connection) + geography = geo_field.geography + + if geodetic: dist_att = 'm' else: - dist_att = Distance.unit_attname(geo_field.units_name) + dist_att = Distance.unit_attname(geo_field.units_name(connection)) - # Shortcut booleans for what distance function we're using. + # Shortcut booleans for what distance function we're using and + # whether the geometry field is 3D. distance = func == 'distance' length = func == 'length' perimeter = func == 'perimeter' if not (distance or length or perimeter): raise ValueError('Unknown distance function: %s' % func) + geom_3d = geo_field.dim == 3 # The field's get_db_prep_lookup() is used to get any # extra distance parameters. Here we set up the # parameters that will be passed in to field's function. lookup_params = [geom or 'POINT (0 0)', 0] + # Getting the spatial backend operations. + backend = connection.ops + # If the spheroid calculation is desired, either by the `spheroid` # keyword or when calculating the length of geodetic field, make # sure the 'spheroid' distance setting string is passed in so we # get the correct spatial stored procedure. - if spheroid or (SpatialBackend.postgis and geo_field.geodetic and length): + if spheroid or (backend.postgis and geodetic and + (not geography) and length): lookup_params.append('spheroid') - where, params = geo_field.get_db_prep_lookup('distance_lte', lookup_params) + lookup_params = geo_field.get_prep_value(lookup_params) + params = geo_field.get_db_prep_lookup('distance_lte', lookup_params, connection=connection) # The `geom_args` flag is set to true if a geometry parameter was # passed in. geom_args = bool(geom) - if SpatialBackend.oracle: + if backend.oracle: if distance: procedure_fmt = '%(geo_col)s,%(geom)s,%(tolerance)s' elif length or perimeter: @@ -558,12 +628,10 @@ class GeoQuerySet(QuerySet): # Getting whether this field is in units of degrees since the field may have # been transformed via the `transform` GeoQuerySet method. if self.query.transformed_srid: - u, unit_name, s = get_srid_info(self.query.transformed_srid) + u, unit_name, s = get_srid_info(self.query.transformed_srid, connection) geodetic = unit_name in geo_field.geodetic_units - else: - geodetic = geo_field.geodetic - if SpatialBackend.spatialite and geodetic: + if backend.spatialite and geodetic: raise ValueError('SQLite does not support linear distance calculations on geodetic coordinate systems.') if distance: @@ -573,14 +641,14 @@ class GeoQuerySet(QuerySet): # (which will transform to the original SRID of the field rather # than to what was transformed to). geom_args = False - procedure_fmt = '%s(%%(geo_col)s, %s)' % (SpatialBackend.transform, self.query.transformed_srid) + procedure_fmt = '%s(%%(geo_col)s, %s)' % (backend.transform, self.query.transformed_srid) if geom.srid is None or geom.srid == self.query.transformed_srid: # If the geom parameter srid is None, it is assumed the coordinates # are in the transformed units. A placeholder is used for the # geometry parameter. `GeomFromText` constructor is also needed # to wrap geom placeholder for SpatiaLite. - if SpatialBackend.spatialite: - procedure_fmt += ', %s(%%%%s, %s)' % (SpatialBackend.from_text, self.query.transformed_srid) + if backend.spatialite: + procedure_fmt += ', %s(%%%%s, %s)' % (backend.from_text, self.query.transformed_srid) else: procedure_fmt += ', %%s' else: @@ -588,38 +656,46 @@ class GeoQuerySet(QuerySet): # so wrapping the geometry placeholder in transformation SQL. # SpatiaLite also needs geometry placeholder wrapped in `GeomFromText` # constructor. - if SpatialBackend.spatialite: - procedure_fmt += ', %s(%s(%%%%s, %s), %s)' % (SpatialBackend.transform, SpatialBackend.from_text, + if backend.spatialite: + procedure_fmt += ', %s(%s(%%%%s, %s), %s)' % (backend.transform, backend.from_text, geom.srid, self.query.transformed_srid) else: - procedure_fmt += ', %s(%%%%s, %s)' % (SpatialBackend.transform, self.query.transformed_srid) + procedure_fmt += ', %s(%%%%s, %s)' % (backend.transform, self.query.transformed_srid) else: # `transform()` was not used on this GeoQuerySet. procedure_fmt = '%(geo_col)s,%(geom)s' - if geodetic: + if not geography and geodetic: # Spherical distance calculation is needed (because the geographic # field is geodetic). However, the PostGIS ST_distance_sphere/spheroid() # procedures may only do queries from point columns to point geometries # some error checking is required. - if not isinstance(geo_field, PointField): - raise ValueError('Spherical distance calculation only supported on PointFields.') - if not str(SpatialBackend.Geometry(buffer(params[0].wkb)).geom_type) == 'Point': - raise ValueError('Spherical distance calculation only supported with Point Geometry parameters') + if not backend.geography: + if not isinstance(geo_field, PointField): + raise ValueError('Spherical distance calculation only supported on PointFields.') + if not str(Geometry(buffer(params[0].ewkb)).geom_type) == 'Point': + raise ValueError('Spherical distance calculation only supported with Point Geometry parameters') # The `function` procedure argument needs to be set differently for # geodetic distance calculations. if spheroid: # Call to distance_spheroid() requires spheroid param as well. - procedure_fmt += ',%(spheroid)s' - procedure_args.update({'function' : SpatialBackend.distance_spheroid, 'spheroid' : where[1]}) + procedure_fmt += ",'%(spheroid)s'" + procedure_args.update({'function' : backend.distance_spheroid, 'spheroid' : params[1]}) else: - procedure_args.update({'function' : SpatialBackend.distance_sphere}) + procedure_args.update({'function' : backend.distance_sphere}) elif length or perimeter: procedure_fmt = '%(geo_col)s' - if geodetic and length: - # There's no `length_sphere` - procedure_fmt += ',%(spheroid)s' - procedure_args.update({'function' : SpatialBackend.length_spheroid, 'spheroid' : where[1]}) + if not geography and geodetic and length: + # There's no `length_sphere`, and `length_spheroid` also + # works on 3D geometries. + procedure_fmt += ",'%(spheroid)s'" + procedure_args.update({'function' : backend.length_spheroid, 'spheroid' : params[1]}) + elif geom_3d and backend.postgis: + # Use 3D variants of perimeter and length routines on PostGIS. + if perimeter: + procedure_args.update({'function' : backend.perimeter3d}) + elif length: + procedure_args.update({'function' : backend.length3d}) # Setting up the settings for `_spatial_attribute`. s = {'select_field' : DistanceField(dist_att), @@ -634,7 +710,7 @@ class GeoQuerySet(QuerySet): elif geom: # The geometry is passed in as a parameter because we handled # transformation conditions in this routine. - s['select_params'] = [SpatialBackend.Adaptor(geom)] + s['select_params'] = [backend.Adapter(geom)] return self._spatial_attribute(func, s, **kwargs) def _geom_attribute(self, func, tolerance=0.05, **kwargs): @@ -643,7 +719,7 @@ class GeoQuerySet(QuerySet): Geometry attribute (e.g., `centroid`, `point_on_surface`). """ s = {'select_field' : GeomField(),} - if SpatialBackend.oracle: + if connections[self.db].ops.oracle: s['procedure_fmt'] = '%(geo_col)s,%(tolerance)s' s['procedure_args'] = {'tolerance' : tolerance} return self._spatial_attribute(func, s, **kwargs) @@ -660,7 +736,7 @@ class GeoQuerySet(QuerySet): 'procedure_fmt' : '%(geo_col)s,%(geom)s', 'procedure_args' : {'geom' : geom}, } - if SpatialBackend.oracle: + if connections[self.db].ops.oracle: s['procedure_fmt'] += ',%(tolerance)s' s['procedure_args']['tolerance'] = tolerance return self._spatial_attribute(func, s, **kwargs) @@ -677,16 +753,17 @@ class GeoQuerySet(QuerySet): # If so, it'll have to be added to the select related information # (e.g., if 'location__point' was given as the field name). self.query.add_select_related([field_name]) - self.query.pre_sql_setup() + compiler = self.query.get_compiler(self.db) + compiler.pre_sql_setup() rel_table, rel_col = self.query.related_select_cols[self.query.related_select_fields.index(geo_field)] - return self.query._field_column(geo_field, rel_table) + return compiler._field_column(geo_field, rel_table) elif not geo_field in opts.local_fields: # This geographic field is inherited from another model, so we have to # use the db table for the _parent_ model instead. tmp_fld, parent_model, direct, m2m = opts.get_field_by_name(geo_field.name) - return self.query._field_column(geo_field, parent_model._meta.db_table) + return self.query.get_compiler(self.db)._field_column(geo_field, parent_model._meta.db_table) else: - return self.query._field_column(geo_field) + return self.query.get_compiler(self.db)._field_column(geo_field) class GeoValuesQuerySet(ValuesQuerySet): def __init__(self, *args, **kwargs): diff --git a/django/contrib/gis/db/models/sql/aggregates.py b/django/contrib/gis/db/models/sql/aggregates.py index b53428889..fed2a2ea4 100644 --- a/django/contrib/gis/db/models/sql/aggregates.py +++ b/django/contrib/gis/db/models/sql/aggregates.py @@ -1,73 +1,10 @@ from django.db.models.sql.aggregates import * from django.contrib.gis.db.models.fields import GeometryField from django.contrib.gis.db.models.sql.conversion import GeomField -from django.contrib.gis.db.backend import SpatialBackend - -# Default SQL template for spatial aggregates. -geo_template = '%(function)s(%(field)s)' - -# Default conversion functions for aggregates; will be overridden if implemented -# for the spatial backend. -def convert_extent(box): - raise NotImplementedError('Aggregate extent not implemented for this spatial backend.') - -def convert_geom(wkt, geo_field): - raise NotImplementedError('Aggregate method not implemented for this spatial backend.') - -if SpatialBackend.postgis: - def convert_extent(box): - # Box text will be something like "BOX(-90.0 30.0, -85.0 40.0)"; - # parsing out and returning as a 4-tuple. - ll, ur = box[4:-1].split(',') - xmin, ymin = map(float, ll.split()) - xmax, ymax = map(float, ur.split()) - return (xmin, ymin, xmax, ymax) - - def convert_geom(hex, geo_field): - if hex: return SpatialBackend.Geometry(hex) - else: return None -elif SpatialBackend.oracle: - # Oracle spatial aggregates need a tolerance. - geo_template = '%(function)s(SDOAGGRTYPE(%(field)s,%(tolerance)s))' - - def convert_extent(clob): - if clob: - # Generally, Oracle returns a polygon for the extent -- however, - # it can return a single point if there's only one Point in the - # table. - ext_geom = SpatialBackend.Geometry(clob.read()) - gtype = str(ext_geom.geom_type) - if gtype == 'Polygon': - # Construct the 4-tuple from the coordinates in the polygon. - shell = ext_geom.shell - ll, ur = shell[0][:2], shell[2][:2] - elif gtype == 'Point': - ll = ext_geom.coords[:2] - ur = ll - else: - raise Exception('Unexpected geometry type returned for extent: %s' % gtype) - xmin, ymin = ll - xmax, ymax = ur - return (xmin, ymin, xmax, ymax) - else: - return None - - def convert_geom(clob, geo_field): - if clob: - return SpatialBackend.Geometry(clob.read(), geo_field.srid) - else: - return None -elif SpatialBackend.spatialite: - # SpatiaLite returns WKT. - def convert_geom(wkt, geo_field): - if wkt: - return SpatialBackend.Geometry(wkt, geo_field.srid) - else: - return None class GeoAggregate(Aggregate): - # Overriding the SQL template with the geographic one. - sql_template = geo_template + # Default SQL template for spatial aggregates. + sql_template = '%(function)s(%(field)s)' # Conversion class, if necessary. conversion_class = None @@ -75,37 +12,50 @@ class GeoAggregate(Aggregate): # Flags for indicating the type of the aggregate. is_extent = False - def __init__(self, col, source=None, is_summary=False, **extra): + def __init__(self, col, source=None, is_summary=False, tolerance=0.05, **extra): super(GeoAggregate, self).__init__(col, source, is_summary, **extra) - if not self.is_extent and SpatialBackend.oracle: - self.extra.setdefault('tolerance', 0.05) + # Required by some Oracle aggregates. + self.tolerance = tolerance # Can't use geographic aggregates on non-geometry fields. if not isinstance(self.source, GeometryField): raise ValueError('Geospatial aggregates only allowed on geometry fields.') - # Making sure the SQL function is available for this spatial backend. - if not self.sql_function: - raise NotImplementedError('This aggregate functionality not implemented for your spatial backend.') + def as_sql(self, qn, connection): + "Return the aggregate, rendered as SQL." + + if connection.ops.oracle: + self.extra['tolerance'] = self.tolerance + + if hasattr(self.col, 'as_sql'): + field_name = self.col.as_sql(qn, connection) + elif isinstance(self.col, (list, tuple)): + field_name = '.'.join([qn(c) for c in self.col]) + else: + field_name = self.col + + sql_template, sql_function = connection.ops.spatial_aggregate_sql(self) + + params = { + 'function': sql_function, + 'field': field_name + } + params.update(self.extra) + + return sql_template % params class Collect(GeoAggregate): - conversion_class = GeomField - sql_function = SpatialBackend.collect + pass class Extent(GeoAggregate): - is_extent = True - sql_function = SpatialBackend.extent + is_extent = '2D' -if SpatialBackend.oracle: - # Have to change Extent's attributes here for Oracle. - Extent.conversion_class = GeomField - Extent.sql_template = '%(function)s(%(field)s)' +class Extent3D(GeoAggregate): + is_extent = '3D' class MakeLine(GeoAggregate): - conversion_class = GeomField - sql_function = SpatialBackend.make_line + pass class Union(GeoAggregate): - conversion_class = GeomField - sql_function = SpatialBackend.unionagg + pass diff --git a/django/contrib/gis/db/models/sql/compiler.py b/django/contrib/gis/db/models/sql/compiler.py new file mode 100644 index 000000000..dea0fd3e8 --- /dev/null +++ b/django/contrib/gis/db/models/sql/compiler.py @@ -0,0 +1,278 @@ +from itertools import izip +from django.db.backends.util import truncate_name +from django.db.models.sql import compiler +from django.db.models.sql.constants import TABLE_NAME +from django.db.models.sql.query import get_proxied_model + +SQLCompiler = compiler.SQLCompiler + +class GeoSQLCompiler(compiler.SQLCompiler): + + def get_columns(self, with_aliases=False): + """ + Return the list of columns to use in the select statement. If no + columns have been specified, returns all columns relating to fields in + the model. + + If 'with_aliases' is true, any column names that are duplicated + (without the table names) are given unique aliases. This is needed in + some cases to avoid ambiguitity with nested queries. + + This routine is overridden from Query to handle customized selection of + geometry columns. + """ + qn = self.quote_name_unless_alias + qn2 = self.connection.ops.quote_name + result = ['(%s) AS %s' % (self.get_extra_select_format(alias) % col[0], qn2(alias)) + for alias, col in self.query.extra_select.iteritems()] + aliases = set(self.query.extra_select.keys()) + if with_aliases: + col_aliases = aliases.copy() + else: + col_aliases = set() + if self.query.select: + only_load = self.deferred_to_columns() + # This loop customized for GeoQuery. + for col, field in izip(self.query.select, self.query.select_fields): + if isinstance(col, (list, tuple)): + alias, column = col + table = self.query.alias_map[alias][TABLE_NAME] + if table in only_load and col not in only_load[table]: + continue + r = self.get_field_select(field, alias, column) + if with_aliases: + if col[1] in col_aliases: + c_alias = 'Col%d' % len(col_aliases) + result.append('%s AS %s' % (r, c_alias)) + aliases.add(c_alias) + col_aliases.add(c_alias) + else: + result.append('%s AS %s' % (r, qn2(col[1]))) + aliases.add(r) + col_aliases.add(col[1]) + else: + result.append(r) + aliases.add(r) + col_aliases.add(col[1]) + else: + result.append(col.as_sql(qn, self.connection)) + + if hasattr(col, 'alias'): + aliases.add(col.alias) + col_aliases.add(col.alias) + + elif self.query.default_cols: + cols, new_aliases = self.get_default_columns(with_aliases, + col_aliases) + result.extend(cols) + aliases.update(new_aliases) + + max_name_length = self.connection.ops.max_name_length() + result.extend([ + '%s%s' % ( + self.get_extra_select_format(alias) % aggregate.as_sql(qn, self.connection), + alias is not None + and ' AS %s' % qn(truncate_name(alias, max_name_length)) + or '' + ) + for alias, aggregate in self.query.aggregate_select.items() + ]) + + # This loop customized for GeoQuery. + for (table, col), field in izip(self.query.related_select_cols, self.query.related_select_fields): + r = self.get_field_select(field, table, col) + if with_aliases and col in col_aliases: + c_alias = 'Col%d' % len(col_aliases) + result.append('%s AS %s' % (r, c_alias)) + aliases.add(c_alias) + col_aliases.add(c_alias) + else: + result.append(r) + aliases.add(r) + col_aliases.add(col) + + self._select_aliases = aliases + return result + + def get_default_columns(self, with_aliases=False, col_aliases=None, + start_alias=None, opts=None, as_pairs=False, local_only=False): + """ + Computes the default columns for selecting every field in the base + model. Will sometimes be called to pull in related models (e.g. via + select_related), in which case "opts" and "start_alias" will be given + to provide a starting point for the traversal. + + Returns a list of strings, quoted appropriately for use in SQL + directly, as well as a set of aliases used in the select statement (if + 'as_pairs' is True, returns a list of (alias, col_name) pairs instead + of strings as the first component and None as the second component). + + This routine is overridden from Query to handle customized selection of + geometry columns. + """ + result = [] + if opts is None: + opts = self.query.model._meta + aliases = set() + only_load = self.deferred_to_columns() + # Skip all proxy to the root proxied model + proxied_model = get_proxied_model(opts) + + if start_alias: + seen = {None: start_alias} + for field, model in opts.get_fields_with_model(): + if local_only and model is not None: + continue + if start_alias: + try: + alias = seen[model] + except KeyError: + if model is proxied_model: + alias = start_alias + else: + link_field = opts.get_ancestor_link(model) + alias = self.query.join((start_alias, model._meta.db_table, + link_field.column, model._meta.pk.column)) + seen[model] = alias + else: + # If we're starting from the base model of the queryset, the + # aliases will have already been set up in pre_sql_setup(), so + # we can save time here. + alias = self.query.included_inherited_models[model] + table = self.query.alias_map[alias][TABLE_NAME] + if table in only_load and field.column not in only_load[table]: + continue + if as_pairs: + result.append((alias, field.column)) + aliases.add(alias) + continue + # This part of the function is customized for GeoQuery. We + # see if there was any custom selection specified in the + # dictionary, and set up the selection format appropriately. + field_sel = self.get_field_select(field, alias) + if with_aliases and field.column in col_aliases: + c_alias = 'Col%d' % len(col_aliases) + result.append('%s AS %s' % (field_sel, c_alias)) + col_aliases.add(c_alias) + aliases.add(c_alias) + else: + r = field_sel + result.append(r) + aliases.add(r) + if with_aliases: + col_aliases.add(field.column) + return result, aliases + + def resolve_columns(self, row, fields=()): + """ + This routine is necessary so that distances and geometries returned + from extra selection SQL get resolved appropriately into Python + objects. + """ + values = [] + aliases = self.query.extra_select.keys() + if self.query.aggregates: + # If we have an aggregate annotation, must extend the aliases + # so their corresponding row values are included. + aliases.extend([None for i in xrange(len(self.query.aggregates))]) + + # Have to set a starting row number offset that is used for + # determining the correct starting row index -- needed for + # doing pagination with Oracle. + rn_offset = 0 + if self.connection.ops.oracle: + if self.query.high_mark is not None or self.query.low_mark: rn_offset = 1 + index_start = rn_offset + len(aliases) + + # Converting any extra selection values (e.g., geometries and + # distance objects added by GeoQuerySet methods). + values = [self.query.convert_values(v, + self.query.extra_select_fields.get(a, None), + self.connection) + for v, a in izip(row[rn_offset:index_start], aliases)] + if self.connection.ops.oracle or getattr(self.query, 'geo_values', False): + # We resolve the rest of the columns if we're on Oracle or if + # the `geo_values` attribute is defined. + for value, field in map(None, row[index_start:], fields): + values.append(self.query.convert_values(value, field, connection=self.connection)) + else: + values.extend(row[index_start:]) + return tuple(values) + + #### Routines unique to GeoQuery #### + def get_extra_select_format(self, alias): + sel_fmt = '%s' + if alias in self.query.custom_select: + sel_fmt = sel_fmt % self.query.custom_select[alias] + return sel_fmt + + def get_field_select(self, field, alias=None, column=None): + """ + Returns the SELECT SQL string for the given field. Figures out + if any custom selection SQL is needed for the column The `alias` + keyword may be used to manually specify the database table where + the column exists, if not in the model associated with this + `GeoQuery`. Similarly, `column` may be used to specify the exact + column name, rather than using the `column` attribute on `field`. + """ + sel_fmt = self.get_select_format(field) + if field in self.query.custom_select: + field_sel = sel_fmt % self.query.custom_select[field] + else: + field_sel = sel_fmt % self._field_column(field, alias, column) + return field_sel + + def get_select_format(self, fld): + """ + Returns the selection format string, depending on the requirements + of the spatial backend. For example, Oracle and MySQL require custom + selection formats in order to retrieve geometries in OGC WKT. For all + other fields a simple '%s' format string is returned. + """ + if self.connection.ops.select and hasattr(fld, 'geom_type'): + # This allows operations to be done on fields in the SELECT, + # overriding their values -- used by the Oracle and MySQL + # spatial backends to get database values as WKT, and by the + # `transform` method. + sel_fmt = self.connection.ops.select + + # Because WKT doesn't contain spatial reference information, + # the SRID is prefixed to the returned WKT to ensure that the + # transformed geometries have an SRID different than that of the + # field -- this is only used by `transform` for Oracle and + # SpatiaLite backends. + if self.query.transformed_srid and ( self.connection.ops.oracle or + self.connection.ops.spatialite ): + sel_fmt = "'SRID=%d;'||%s" % (self.query.transformed_srid, sel_fmt) + else: + sel_fmt = '%s' + return sel_fmt + + # Private API utilities, subject to change. + def _field_column(self, field, table_alias=None, column=None): + """ + Helper function that returns the database column for the given field. + The table and column are returned (quoted) in the proper format, e.g., + `"geoapp_city"."point"`. If `table_alias` is not specified, the + database table associated with the model of this `GeoQuery` will be + used. If `column` is specified, it will be used instead of the value + in `field.column`. + """ + if table_alias is None: table_alias = self.query.model._meta.db_table + return "%s.%s" % (self.quote_name_unless_alias(table_alias), + self.connection.ops.quote_name(column or field.column)) + +class SQLInsertCompiler(compiler.SQLInsertCompiler, GeoSQLCompiler): + pass + +class SQLDeleteCompiler(compiler.SQLDeleteCompiler, GeoSQLCompiler): + pass + +class SQLUpdateCompiler(compiler.SQLUpdateCompiler, GeoSQLCompiler): + pass + +class SQLAggregateCompiler(compiler.SQLAggregateCompiler, GeoSQLCompiler): + pass + +class SQLDateCompiler(compiler.SQLDateCompiler, GeoSQLCompiler): + pass diff --git a/django/contrib/gis/db/models/sql/conversion.py b/django/contrib/gis/db/models/sql/conversion.py index cfca640bf..941c257c7 100644 --- a/django/contrib/gis/db/models/sql/conversion.py +++ b/django/contrib/gis/db/models/sql/conversion.py @@ -2,15 +2,13 @@ This module holds simple classes used by GeoQuery.convert_values to convert geospatial values from the database. """ -from django.contrib.gis.db.backend import SpatialBackend class BaseField(object): + empty_strings_allowed = True def get_internal_type(self): "Overloaded method so OracleQuery.convert_values doesn't balk." return None -if SpatialBackend.oracle: BaseField.empty_strings_allowed = False - class AreaField(BaseField): "Wrapper for Area values." def __init__(self, area_att): diff --git a/django/contrib/gis/db/models/sql/query.py b/django/contrib/gis/db/models/sql/query.py index 094fc5815..c300dcd52 100644 --- a/django/contrib/gis/db/models/sql/query.py +++ b/django/contrib/gis/db/models/sql/query.py @@ -1,21 +1,25 @@ -from itertools import izip +from django.db import connections from django.db.models.query import sql -from django.db.models.fields.related import ForeignKey -from django.contrib.gis.db.backend import SpatialBackend from django.contrib.gis.db.models.fields import GeometryField -from django.contrib.gis.db.models.sql import aggregates as gis_aggregates_module +from django.contrib.gis.db.models.sql import aggregates as gis_aggregates from django.contrib.gis.db.models.sql.conversion import AreaField, DistanceField, GeomField from django.contrib.gis.db.models.sql.where import GeoWhereNode +from django.contrib.gis.geometry.backend import Geometry from django.contrib.gis.measure import Area, Distance -# Valid GIS query types. -ALL_TERMS = sql.constants.QUERY_TERMS.copy() -ALL_TERMS.update(SpatialBackend.gis_terms) -# Pulling out other needed constants/routines to avoid attribute lookups. -TABLE_NAME = sql.constants.TABLE_NAME -get_proxied_model = sql.query.get_proxied_model +ALL_TERMS = dict([(x, None) for x in ( + 'bbcontains', 'bboverlaps', 'contained', 'contains', + 'contains_properly', 'coveredby', 'covers', 'crosses', 'disjoint', + 'distance_gt', 'distance_gte', 'distance_lt', 'distance_lte', + 'dwithin', 'equals', 'exact', + 'intersects', 'overlaps', 'relate', 'same_as', 'touches', 'within', + 'left', 'right', 'overlaps_left', 'overlaps_right', + 'overlaps_above', 'overlaps_below', + 'strictly_above', 'strictly_below' + )]) +ALL_TERMS.update(sql.constants.QUERY_TERMS) class GeoQuery(sql.Query): """ @@ -23,11 +27,13 @@ class GeoQuery(sql.Query): """ # Overridding the valid query terms. query_terms = ALL_TERMS - aggregates_module = gis_aggregates_module + aggregates_module = gis_aggregates + + compiler = 'GeoSQLCompiler' #### Methods overridden from the base Query class #### - def __init__(self, model, conn): - super(GeoQuery, self).__init__(model, conn, where=GeoWhereNode) + def __init__(self, model, where=GeoWhereNode): + super(GeoQuery, self).__init__(model, where) # The following attributes are customized for the GeoQuerySet. # The GeoWhereNode and SpatialBackend classes contain backend-specific # routines and functions. @@ -35,13 +41,6 @@ class GeoQuery(sql.Query): self.transformed_srid = None self.extra_select_fields = {} - if SpatialBackend.oracle: - # Have to override this so that GeoQuery, instead of OracleQuery, - # is returned when unpickling. - def __reduce__(self): - callable, args, data = super(GeoQuery, self).__reduce__() - return (unpickle_geoquery, (), data) - def clone(self, *args, **kwargs): obj = super(GeoQuery, self).clone(*args, **kwargs) # Customized selection dictionary and transformed srid flag have @@ -51,286 +50,57 @@ class GeoQuery(sql.Query): obj.extra_select_fields = self.extra_select_fields.copy() return obj - def get_columns(self, with_aliases=False): - """ - Return the list of columns to use in the select statement. If no - columns have been specified, returns all columns relating to fields in - the model. - - If 'with_aliases' is true, any column names that are duplicated - (without the table names) are given unique aliases. This is needed in - some cases to avoid ambiguitity with nested queries. - - This routine is overridden from Query to handle customized selection of - geometry columns. - """ - qn = self.quote_name_unless_alias - qn2 = self.connection.ops.quote_name - result = ['(%s) AS %s' % (self.get_extra_select_format(alias) % col[0], qn2(alias)) - for alias, col in self.extra_select.iteritems()] - aliases = set(self.extra_select.keys()) - if with_aliases: - col_aliases = aliases.copy() - else: - col_aliases = set() - if self.select: - only_load = self.deferred_to_columns() - # This loop customized for GeoQuery. - for col, field in izip(self.select, self.select_fields): - if isinstance(col, (list, tuple)): - alias, column = col - table = self.alias_map[alias][TABLE_NAME] - if table in only_load and col not in only_load[table]: - continue - r = self.get_field_select(field, alias, column) - if with_aliases: - if col[1] in col_aliases: - c_alias = 'Col%d' % len(col_aliases) - result.append('%s AS %s' % (r, c_alias)) - aliases.add(c_alias) - col_aliases.add(c_alias) - else: - result.append('%s AS %s' % (r, qn2(col[1]))) - aliases.add(r) - col_aliases.add(col[1]) - else: - result.append(r) - aliases.add(r) - col_aliases.add(col[1]) - else: - result.append(col.as_sql(quote_func=qn)) - - if hasattr(col, 'alias'): - aliases.add(col.alias) - col_aliases.add(col.alias) - - elif self.default_cols: - cols, new_aliases = self.get_default_columns(with_aliases, - col_aliases) - result.extend(cols) - aliases.update(new_aliases) - - result.extend([ - '%s%s' % ( - self.get_extra_select_format(alias) % aggregate.as_sql(quote_func=qn), - alias is not None and ' AS %s' % alias or '' - ) - for alias, aggregate in self.aggregate_select.items() - ]) - - # This loop customized for GeoQuery. - for (table, col), field in izip(self.related_select_cols, self.related_select_fields): - r = self.get_field_select(field, table, col) - if with_aliases and col in col_aliases: - c_alias = 'Col%d' % len(col_aliases) - result.append('%s AS %s' % (r, c_alias)) - aliases.add(c_alias) - col_aliases.add(c_alias) - else: - result.append(r) - aliases.add(r) - col_aliases.add(col) - - self._select_aliases = aliases - return result - - def get_default_columns(self, with_aliases=False, col_aliases=None, - start_alias=None, opts=None, as_pairs=False): - """ - Computes the default columns for selecting every field in the base - model. Will sometimes be called to pull in related models (e.g. via - select_related), in which case "opts" and "start_alias" will be given - to provide a starting point for the traversal. - - Returns a list of strings, quoted appropriately for use in SQL - directly, as well as a set of aliases used in the select statement (if - 'as_pairs' is True, returns a list of (alias, col_name) pairs instead - of strings as the first component and None as the second component). - - This routine is overridden from Query to handle customized selection of - geometry columns. - """ - result = [] - if opts is None: - opts = self.model._meta - aliases = set() - only_load = self.deferred_to_columns() - # Skip all proxy to the root proxied model - proxied_model = get_proxied_model(opts) - - if start_alias: - seen = {None: start_alias} - for field, model in opts.get_fields_with_model(): - if start_alias: - try: - alias = seen[model] - except KeyError: - if model is proxied_model: - alias = start_alias - else: - link_field = opts.get_ancestor_link(model) - alias = self.join((start_alias, model._meta.db_table, - link_field.column, model._meta.pk.column)) - seen[model] = alias - else: - # If we're starting from the base model of the queryset, the - # aliases will have already been set up in pre_sql_setup(), so - # we can save time here. - alias = self.included_inherited_models[model] - table = self.alias_map[alias][TABLE_NAME] - if table in only_load and field.column not in only_load[table]: - continue - if as_pairs: - result.append((alias, field.column)) - aliases.add(alias) - continue - # This part of the function is customized for GeoQuery. We - # see if there was any custom selection specified in the - # dictionary, and set up the selection format appropriately. - field_sel = self.get_field_select(field, alias) - if with_aliases and field.column in col_aliases: - c_alias = 'Col%d' % len(col_aliases) - result.append('%s AS %s' % (field_sel, c_alias)) - col_aliases.add(c_alias) - aliases.add(c_alias) - else: - r = field_sel - result.append(r) - aliases.add(r) - if with_aliases: - col_aliases.add(field.column) - return result, aliases - - def resolve_columns(self, row, fields=()): - """ - This routine is necessary so that distances and geometries returned - from extra selection SQL get resolved appropriately into Python - objects. - """ - values = [] - aliases = self.extra_select.keys() - if self.aggregates: - # If we have an aggregate annotation, must extend the aliases - # so their corresponding row values are included. - aliases.extend([None for i in xrange(len(self.aggregates))]) - - # Have to set a starting row number offset that is used for - # determining the correct starting row index -- needed for - # doing pagination with Oracle. - rn_offset = 0 - if SpatialBackend.oracle: - if self.high_mark is not None or self.low_mark: rn_offset = 1 - index_start = rn_offset + len(aliases) - - # Converting any extra selection values (e.g., geometries and - # distance objects added by GeoQuerySet methods). - values = [self.convert_values(v, self.extra_select_fields.get(a, None)) - for v, a in izip(row[rn_offset:index_start], aliases)] - if SpatialBackend.oracle or getattr(self, 'geo_values', False): - # We resolve the rest of the columns if we're on Oracle or if - # the `geo_values` attribute is defined. - for value, field in izip(row[index_start:], fields): - values.append(self.convert_values(value, field)) - else: - values.extend(row[index_start:]) - return tuple(values) - - def convert_values(self, value, field): + def convert_values(self, value, field, connection): """ Using the same routines that Oracle does we can convert our extra selection objects into Geometry and Distance objects. TODO: Make converted objects 'lazy' for less overhead. """ - if SpatialBackend.oracle: + if connection.ops.oracle: # Running through Oracle's first. - value = super(GeoQuery, self).convert_values(value, field or GeomField()) + value = super(GeoQuery, self).convert_values(value, field or GeomField(), connection) - if isinstance(field, DistanceField): + if value is None: + # Output from spatial function is NULL (e.g., called + # function on a geometry field with NULL value). + pass + elif isinstance(field, DistanceField): # Using the field's distance attribute, can instantiate # `Distance` with the right context. value = Distance(**{field.distance_att : value}) elif isinstance(field, AreaField): value = Area(**{field.area_att : value}) elif isinstance(field, (GeomField, GeometryField)) and value: - value = SpatialBackend.Geometry(value) + value = Geometry(value) return value - def resolve_aggregate(self, value, aggregate): + def get_aggregation(self, using): + # Remove any aggregates marked for reduction from the subquery + # and move them to the outer AggregateQuery. + connection = connections[using] + for alias, aggregate in self.aggregate_select.items(): + if isinstance(aggregate, gis_aggregates.GeoAggregate): + if not getattr(aggregate, 'is_extent', False) or connection.ops.oracle: + self.extra_select_fields[alias] = GeomField() + return super(GeoQuery, self).get_aggregation(using) + + def resolve_aggregate(self, value, aggregate, connection): """ Overridden from GeoQuery's normalize to handle the conversion of GeoAggregate objects. """ if isinstance(aggregate, self.aggregates_module.GeoAggregate): if aggregate.is_extent: - return self.aggregates_module.convert_extent(value) + if aggregate.is_extent == '3D': + return connection.ops.convert_extent3d(value) + else: + return connection.ops.convert_extent(value) else: - return self.aggregates_module.convert_geom(value, aggregate.source) + return connection.ops.convert_geom(value, aggregate.source) else: - return super(GeoQuery, self).resolve_aggregate(value, aggregate) - - #### Routines unique to GeoQuery #### - def get_extra_select_format(self, alias): - sel_fmt = '%s' - if alias in self.custom_select: - sel_fmt = sel_fmt % self.custom_select[alias] - return sel_fmt - - def get_field_select(self, field, alias=None, column=None): - """ - Returns the SELECT SQL string for the given field. Figures out - if any custom selection SQL is needed for the column The `alias` - keyword may be used to manually specify the database table where - the column exists, if not in the model associated with this - `GeoQuery`. Similarly, `column` may be used to specify the exact - column name, rather than using the `column` attribute on `field`. - """ - sel_fmt = self.get_select_format(field) - if field in self.custom_select: - field_sel = sel_fmt % self.custom_select[field] - else: - field_sel = sel_fmt % self._field_column(field, alias, column) - return field_sel - - def get_select_format(self, fld): - """ - Returns the selection format string, depending on the requirements - of the spatial backend. For example, Oracle and MySQL require custom - selection formats in order to retrieve geometries in OGC WKT. For all - other fields a simple '%s' format string is returned. - """ - if SpatialBackend.select and hasattr(fld, 'geom_type'): - # This allows operations to be done on fields in the SELECT, - # overriding their values -- used by the Oracle and MySQL - # spatial backends to get database values as WKT, and by the - # `transform` method. - sel_fmt = SpatialBackend.select - - # Because WKT doesn't contain spatial reference information, - # the SRID is prefixed to the returned WKT to ensure that the - # transformed geometries have an SRID different than that of the - # field -- this is only used by `transform` for Oracle and - # SpatiaLite backends. - if self.transformed_srid and ( SpatialBackend.oracle or - SpatialBackend.spatialite ): - sel_fmt = "'SRID=%d;'||%s" % (self.transformed_srid, sel_fmt) - else: - sel_fmt = '%s' - return sel_fmt + return super(GeoQuery, self).resolve_aggregate(value, aggregate, connection) # Private API utilities, subject to change. - def _field_column(self, field, table_alias=None, column=None): - """ - Helper function that returns the database column for the given field. - The table and column are returned (quoted) in the proper format, e.g., - `"geoapp_city"."point"`. If `table_alias` is not specified, the - database table associated with the model of this `GeoQuery` will be - used. If `column` is specified, it will be used instead of the value - in `field.column`. - """ - if table_alias is None: table_alias = self.model._meta.db_table - return "%s.%s" % (self.quote_name_unless_alias(table_alias), - self.connection.ops.quote_name(column or field.column)) - def _geo_field(self, field_name=None): """ Returns the first Geometry field encountered; or specified via the @@ -347,12 +117,3 @@ class GeoQuery(sql.Query): # Otherwise, check by the given field name -- which may be # a lookup to a _related_ geographic field. return GeoWhereNode._check_geo_field(self.model._meta, field_name) - -if SpatialBackend.oracle: - def unpickle_geoquery(): - """ - Utility function, called by Python's unpickling machinery, that handles - unpickling of GeoQuery subclasses of OracleQuery. - """ - return GeoQuery.__new__(GeoQuery) - unpickle_geoquery.__safe_for_unpickling__ = True diff --git a/django/contrib/gis/db/models/sql/subqueries.py b/django/contrib/gis/db/models/sql/subqueries.py deleted file mode 100644 index ed58cc568..000000000 --- a/django/contrib/gis/db/models/sql/subqueries.py +++ /dev/null @@ -1,39 +0,0 @@ -from django.contrib.gis.db.backend import SpatialBackend -from django.db.models.query import insert_query - -if SpatialBackend.oracle: - from django.db import connection - from django.db.models.sql.subqueries import InsertQuery - - class OracleGeoInsertQuery(InsertQuery): - def insert_values(self, insert_values, raw_values=False): - """ - This routine is overloaded from InsertQuery so that no parameter is - passed into cx_Oracle for NULL geometries. The reason is that - cx_Oracle has no way to bind Oracle object values (like - MDSYS.SDO_GEOMETRY). - """ - placeholders, values = [], [] - for field, val in insert_values: - if hasattr(field, 'get_placeholder'): - ph = field.get_placeholder(val) - else: - ph = '%s' - - placeholders.append(ph) - self.columns.append(field.column) - - # If 'NULL' for the placeholder, omit appending None - # to the values list (which is used for db params). - if not ph == 'NULL': - values.append(val) - if raw_values: - self.values.extend(values) - else: - self.params += tuple(values) - self.values.extend(placeholders) - - def insert_query(model, values, return_id=False, raw_values=False): - query = OracleGeoInsertQuery(model, connection) - query.insert_values(values, raw_values) - return query.execute_sql(return_id) diff --git a/django/contrib/gis/db/models/sql/where.py b/django/contrib/gis/db/models/sql/where.py index 105cbfbec..17c210baf 100644 --- a/django/contrib/gis/db/models/sql/where.py +++ b/django/contrib/gis/db/models/sql/where.py @@ -1,23 +1,31 @@ -from django.db import connection from django.db.models.fields import Field, FieldDoesNotExist from django.db.models.sql.constants import LOOKUP_SEP from django.db.models.sql.expressions import SQLEvaluator -from django.db.models.sql.where import WhereNode -from django.contrib.gis.db.backend import get_geo_where_clause, SpatialBackend +from django.db.models.sql.where import Constraint, WhereNode from django.contrib.gis.db.models.fields import GeometryField -qn = connection.ops.quote_name -class GeoAnnotation(object): +class GeoConstraint(Constraint): """ - The annotation used for GeometryFields; basically a placeholder - for metadata needed by the `get_geo_where_clause` of the spatial - backend. + This subclass overrides `process` to better handle geographic SQL + construction. """ - def __init__(self, field, value, where): - self.geodetic = field.geodetic - self.geom_type = field.geom_type - self.value = value - self.where = tuple(where) + def __init__(self, init_constraint): + self.alias = init_constraint.alias + self.col = init_constraint.col + self.field = init_constraint.field + + def process(self, lookup_type, value, connection): + if isinstance(value, SQLEvaluator): + # Make sure the F Expression destination field exists, and + # set an `srid` attribute with the same as that of the + # destination. + geo_fld = GeoWhereNode._check_geo_field(value.opts, value.expression.name) + if not geo_fld: + raise ValueError('No geographic field found in expression.') + value.srid = geo_fld.srid + db_type = self.field.db_type(connection=connection) + params = self.field.get_db_prep_lookup(lookup_type, value, connection=connection) + return (self.alias, self.col, db_type), params class GeoWhereNode(WhereNode): """ @@ -25,81 +33,26 @@ class GeoWhereNode(WhereNode): these are tied to the GeoQuery class that created it. """ def add(self, data, connector): - """ - This is overridden from the regular WhereNode to handle the - peculiarties of GeometryFields, because they need a special - annotation object that contains the spatial metadata from the - field to generate the spatial SQL. - """ - if not isinstance(data, (list, tuple)): - return super(WhereNode, self).add(data, connector) + if isinstance(data, (list, tuple)): + obj, lookup_type, value = data + if ( isinstance(obj, Constraint) and + isinstance(obj.field, GeometryField) ): + data = (GeoConstraint(obj), lookup_type, value) + super(GeoWhereNode, self).add(data, connector) - obj, lookup_type, value = data - col, field = obj.col, obj.field - - if not hasattr(field, "geom_type"): - # Not a geographic field, so call `WhereNode.add`. - return super(GeoWhereNode, self).add(data, connector) + def make_atom(self, child, qn, connection): + lvalue, lookup_type, value_annot, params_or_value = child + if isinstance(lvalue, GeoConstraint): + data, params = lvalue.process(lookup_type, params_or_value, connection) + spatial_sql = connection.ops.spatial_lookup_sql(data, lookup_type, params_or_value, lvalue.field, qn) + return spatial_sql, params else: - if isinstance(value, SQLEvaluator): - # Getting the geographic field to compare with from the expression. - geo_fld = self._check_geo_field(value.opts, value.expression.name) - if not geo_fld: - raise ValueError('No geographic field found in expression.') - - # Get the SRID of the geometry field that the expression was meant - # to operate on -- it's needed to determine whether transformation - # SQL is necessary. - srid = geo_fld.srid - - # Getting the quoted representation of the geometry column that - # the expression is operating on. - geo_col = '%s.%s' % tuple(map(qn, value.cols[value.expression])) - - # If it's in a different SRID, we'll need to wrap in - # transformation SQL. - if not srid is None and srid != field.srid and SpatialBackend.transform: - placeholder = '%s(%%s, %s)' % (SpatialBackend.transform, field.srid) - else: - placeholder = '%s' - - # Setting these up as if we had called `field.get_db_prep_lookup()`. - where = [placeholder % geo_col] - params = () - else: - # `GeometryField.get_db_prep_lookup` returns a where clause - # substitution array in addition to the parameters. - where, params = field.get_db_prep_lookup(lookup_type, value) - - # The annotation will be a `GeoAnnotation` object that - # will contain the necessary geometry field metadata for - # the `get_geo_where_clause` to construct the appropriate - # spatial SQL when `make_atom` is called. - annotation = GeoAnnotation(field, value, where) - return super(WhereNode, self).add(((obj.alias, col, field.db_type()), lookup_type, annotation, params), connector) - - def make_atom(self, child, qn): - obj, lookup_type, value_annot, params = child - - if isinstance(value_annot, GeoAnnotation): - if lookup_type in SpatialBackend.gis_terms: - # Getting the geographic where clause; substitution parameters - # will be populated in the GeoFieldSQL object returned by the - # GeometryField. - alias, col, db_type = obj - gwc = get_geo_where_clause(alias, col, lookup_type, value_annot) - return gwc % value_annot.where, params - else: - raise TypeError('Invalid lookup type: %r' % lookup_type) - else: - # If not a GeometryField, call the `make_atom` from the - # base class. - return super(GeoWhereNode, self).make_atom(child, qn) + return super(GeoWhereNode, self).make_atom(child, qn, connection) @classmethod def _check_geo_field(cls, opts, lookup): """ - Utility for checking the given lookup with the given model options. + Utility for checking the given lookup with the given model options. The lookup is a string either specifying the geographic field, e.g. 'point, 'the_geom', or a related lookup on a geographic field like 'address__point'. @@ -121,7 +74,7 @@ class GeoWhereNode(WhereNode): # If the field list is still around, then it means that the # lookup was for a geometry field across a relationship -- # thus we keep on getting the related model options and the - # model field associated with the next field in the list + # model field associated with the next field in the list # until there's no more left. while len(field_list): opts = geo_fld.rel.to._meta diff --git a/django/contrib/gis/gdal/__init__.py b/django/contrib/gis/gdal/__init__.py index b318850b2..cc47ae9bc 100644 --- a/django/contrib/gis/gdal/__init__.py +++ b/django/contrib/gis/gdal/__init__.py @@ -13,7 +13,7 @@ Envelope: A ctypes structure for bounding boxes (GDAL library not required). - OGRGeometry: Layer for accessing OGR Geometry objects. + OGRGeometry: Object for accessing OGR Geometry functionality. OGRGeomType: A class for representing the different OGR Geometry types (GDAL library not required). @@ -31,29 +31,24 @@ to a non-existant file location (e.g., `GDAL_LIBRARY_PATH='/null/path'`; setting to None/False/'' will not work as a string must be given). """ -import sys - # Attempting to import objects that depend on the GDAL library. The # HAS_GDAL flag will be set to True if the library is present on # the system. try: from django.contrib.gis.gdal.driver import Driver from django.contrib.gis.gdal.datasource import DataSource - from django.contrib.gis.gdal.libgdal import gdal_version, gdal_full_version, gdal_release_date + from django.contrib.gis.gdal.libgdal import gdal_version, gdal_full_version, gdal_release_date, GEOJSON, GDAL_VERSION from django.contrib.gis.gdal.srs import SpatialReference, CoordTransform - from django.contrib.gis.gdal.geometries import OGRGeometry, GEOJSON + from django.contrib.gis.gdal.geometries import OGRGeometry HAS_GDAL = True except: HAS_GDAL, GEOJSON = False, False -# The envelope, error, and geomtype modules do not actually require the -# GDAL library, but still nead at least Python 2.4 and ctypes. -PYTHON23 = sys.version_info[0] == 2 and sys.version_info[1] == 3 -if not PYTHON23: - try: - from django.contrib.gis.gdal.envelope import Envelope - from django.contrib.gis.gdal.error import check_err, OGRException, OGRIndexError, SRSException - from django.contrib.gis.gdal.geomtype import OGRGeomType - except ImportError: - # No ctypes, but don't raise an exception. - pass +try: + from django.contrib.gis.gdal.envelope import Envelope +except ImportError: + # No ctypes, but don't raise an exception. + pass + +from django.contrib.gis.gdal.error import check_err, OGRException, OGRIndexError, SRSException +from django.contrib.gis.gdal.geomtype import OGRGeomType diff --git a/django/contrib/gis/gdal/base.py b/django/contrib/gis/gdal/base.py index e19b748e6..f9455c783 100644 --- a/django/contrib/gis/gdal/base.py +++ b/django/contrib/gis/gdal/base.py @@ -24,7 +24,7 @@ class GDALBase(object): def _set_ptr(self, ptr): # Only allow the pointer to be set with pointers of the # compatible type or None (NULL). - if isinstance(ptr, int): + if isinstance(ptr, (int, long)): self._ptr = self.ptr_type(ptr) elif isinstance(ptr, (self.ptr_type, NoneType)): self._ptr = ptr diff --git a/django/contrib/gis/gdal/geometries.py b/django/contrib/gis/gdal/geometries.py index 05b824b95..30125d576 100644 --- a/django/contrib/gis/gdal/geometries.py +++ b/django/contrib/gis/gdal/geometries.py @@ -29,7 +29,7 @@ +proj=longlat +ellps=clrk66 +datum=NAD27 +no_defs >>> print mpnt MULTIPOINT (-89.999930378602485 29.999797886557641,-89.999930378602485 29.999797886557641) - + The OGRGeomType class is to make it easy to specify an OGR geometry type: >>> from django.contrib.gis.gdal import OGRGeomType >>> gt1 = OGRGeomType(3) # Using an integer for the type @@ -39,7 +39,7 @@ True """ # Python library requisites. -import re, sys +import sys from binascii import a2b_hex from ctypes import byref, string_at, c_char_p, c_double, c_ubyte, c_void_p @@ -48,22 +48,20 @@ from django.contrib.gis.gdal.base import GDALBase from django.contrib.gis.gdal.envelope import Envelope, OGREnvelope from django.contrib.gis.gdal.error import OGRException, OGRIndexError, SRSException from django.contrib.gis.gdal.geomtype import OGRGeomType +from django.contrib.gis.gdal.libgdal import GEOJSON, GDAL_VERSION from django.contrib.gis.gdal.srs import SpatialReference, CoordTransform # Getting the ctypes prototype functions that interface w/the GDAL C library. from django.contrib.gis.gdal.prototypes import geom as capi, srs as srs_api -GEOJSON = capi.GEOJSON + +# For recognizing geometry input. +from django.contrib.gis.geometry.regex import hex_regex, wkt_regex, json_regex # For more information, see the OGR C API source code: # http://www.gdal.org/ogr/ogr__api_8h.html # # The OGR_G_* routines are relevant here. -# Regular expressions for recognizing HEXEWKB and WKT. -hex_regex = re.compile(r'^[0-9A-F]+$', re.I) -wkt_regex = re.compile(r'^(?PPOINT|LINESTRING|LINEARRING|POLYGON|MULTIPOINT|MULTILINESTRING|MULTIPOLYGON|GEOMETRYCOLLECTION)[ACEGIMLONPSRUTY\d,\.\-\(\) ]+$', re.I) -json_regex = re.compile(r'^(\s+)?\{[\s\w,\[\]\{\}\-\."\':]+\}(\s+)?$') - #### OGRGeometry Class #### class OGRGeometry(GDALBase): "Generally encapsulates an OGR geometry." @@ -78,7 +76,7 @@ class OGRGeometry(GDALBase): geom_input = buffer(a2b_hex(geom_input.upper())) str_instance = False - # Constructing the geometry, + # Constructing the geometry, if str_instance: # Checking if unicode if isinstance(geom_input, unicode): @@ -88,13 +86,16 @@ class OGRGeometry(GDALBase): wkt_m = wkt_regex.match(geom_input) json_m = json_regex.match(geom_input) if wkt_m: + if wkt_m.group('srid'): + # If there's EWKT, set the SRS w/value of the SRID. + srs = int(wkt_m.group('srid')) if wkt_m.group('type').upper() == 'LINEARRING': # OGR_G_CreateFromWkt doesn't work with LINEARRING WKT. # See http://trac.osgeo.org/gdal/ticket/1992. g = capi.create_geom(OGRGeomType(wkt_m.group('type')).num) - capi.import_wkt(g, byref(c_char_p(geom_input))) + capi.import_wkt(g, byref(c_char_p(wkt_m.group('wkt')))) else: - g = capi.from_wkt(byref(c_char_p(geom_input)), None, byref(c_void_p())) + g = capi.from_wkt(byref(c_char_p(wkt_m.group('wkt'))), None, byref(c_void_p())) elif json_m: if GEOJSON: g = capi.from_json(geom_input) @@ -129,16 +130,32 @@ class OGRGeometry(GDALBase): # Setting the class depending upon the OGR Geometry Type self.__class__ = GEO_CLASSES[self.geom_type.num] + def __del__(self): + "Deletes this Geometry." + if self._ptr: capi.destroy_geom(self._ptr) + + # Pickle routines + def __getstate__(self): + srs = self.srs + if srs: + srs = srs.wkt + else: + srs = None + return str(self.wkb), srs + + def __setstate__(self, state): + wkb, srs = state + ptr = capi.from_wkb(wkb, None, byref(c_void_p()), len(wkb)) + if not ptr: raise OGRException('Invalid OGRGeometry loaded from pickled state.') + self.ptr = ptr + self.srs = srs + @classmethod - def from_bbox(cls, bbox): + def from_bbox(cls, bbox): "Constructs a Polygon from a bounding box (4-tuple)." x0, y0, x1, y1 = bbox return OGRGeometry( 'POLYGON((%s %s, %s %s, %s %s, %s %s, %s %s))' % ( x0, y0, x0, y1, x1, y1, x1, y0, x0, y0) ) - - def __del__(self): - "Deletes this Geometry." - if self._ptr: capi.destroy_geom(self._ptr) ### Geometry set-like operations ### # g = g1 | g2 @@ -163,11 +180,14 @@ class OGRGeometry(GDALBase): def __eq__(self, other): "Is this Geometry equal to the other?" - return self.equals(other) + if isinstance(other, OGRGeometry): + return self.equals(other) + else: + return False def __ne__(self, other): "Tests for inequality." - return not self.equals(other) + return not (self == other) def __str__(self): "WKT is used for the string representation." @@ -179,10 +199,25 @@ class OGRGeometry(GDALBase): "Returns 0 for points, 1 for lines, and 2 for surfaces." return capi.get_dims(self.ptr) - @property - def coord_dim(self): + def _get_coord_dim(self): "Returns the coordinate dimension of the Geometry." - return capi.get_coord_dims(self.ptr) + if isinstance(self, GeometryCollection) and GDAL_VERSION < (1, 5, 2): + # On GDAL versions prior to 1.5.2, there exists a bug in which + # the coordinate dimension of geometry collections is always 2: + # http://trac.osgeo.org/gdal/ticket/2334 + # Here we workaround by returning the coordinate dimension of the + # first geometry in the collection instead. + if len(self): + return capi.get_coord_dim(capi.get_geom_ref(self.ptr, 0)) + return capi.get_coord_dim(self.ptr) + + def _set_coord_dim(self, dim): + "Sets the coordinate dimension of this Geometry." + if not dim in (2, 3): + raise ValueError('Geometry dimension must be either 2 or 3') + capi.set_coord_dim(self.ptr, dim) + + coord_dim = property(_get_coord_dim, _set_coord_dim) @property def geom_count(self): @@ -207,13 +242,7 @@ class OGRGeometry(GDALBase): @property def geom_type(self): "Returns the Type for this Geometry." - try: - return OGRGeomType(capi.get_geom_type(self.ptr)) - except OGRException: - # VRT datasources return an invalid geometry type - # number, but a valid name -- we'll try that instead. - # See: http://trac.osgeo.org/gdal/ticket/2491 - return OGRGeomType(capi.get_geom_name(self.ptr)) + return OGRGeomType(capi.get_geom_type(self.ptr)) @property def geom_name(self): @@ -237,7 +266,7 @@ class OGRGeometry(GDALBase): return self.envelope.tuple #### SpatialReference-related Properties #### - + # The SRS property def _get_srs(self): "Returns the Spatial Reference for this Geometry." @@ -249,11 +278,15 @@ class OGRGeometry(GDALBase): def _set_srs(self, srs): "Sets the SpatialReference for this geometry." + # Do not have to clone the `SpatialReference` object pointer because + # when it is assigned to this `OGRGeometry` it's internal OGR + # reference count is incremented, and will likewise be released + # (decremented) when this geometry's destructor is called. if isinstance(srs, SpatialReference): - srs_ptr = srs_api.clone_srs(srs.ptr) + srs_ptr = srs.ptr elif isinstance(srs, (int, long, basestring)): sr = SpatialReference(srs) - srs_ptr = srs_api.clone_srs(sr.ptr) + srs_ptr = sr.ptr else: raise TypeError('Cannot assign spatial reference with object of type: %s' % type(srs)) capi.assign_srs(self.ptr, srs_ptr) @@ -298,7 +331,7 @@ class OGRGeometry(GDALBase): Returns the GeoJSON representation of this Geometry (requires GDAL 1.5+). """ - if GEOJSON: + if GEOJSON: return capi.to_json(self.ptr) else: raise NotImplementedError('GeoJSON output only supported on GDAL 1.5+.') @@ -335,7 +368,16 @@ class OGRGeometry(GDALBase): def wkt(self): "Returns the WKT representation of the Geometry." return capi.to_wkt(self.ptr, byref(c_char_p())) - + + @property + def ewkt(self): + "Returns the EWKT representation of the Geometry." + srs = self.srs + if srs and srs.srid: + return 'SRID=%s;%s' % (srs.srid, self.wkt) + else: + return self.wkt + #### Geometry Methods #### def clone(self): "Clones this OGR Geometry." @@ -363,6 +405,17 @@ class OGRGeometry(GDALBase): klone = self.clone() klone.transform(coord_trans) return klone + + # Have to get the coordinate dimension of the original geometry + # so it can be used to reset the transformed geometry's dimension + # afterwards. This is done because of GDAL bug (in versions prior + # to 1.7) that turns geometries 3D after transformation, see: + # http://trac.osgeo.org/gdal/changeset/17792 + if GDAL_VERSION < (1, 7): + orig_dim = self.coord_dim + + # Depending on the input type, use the appropriate OGR routine + # to perform the transformation. if isinstance(coord_trans, CoordTransform): capi.geom_transform(self.ptr, coord_trans.ptr) elif isinstance(coord_trans, SpatialReference): @@ -371,7 +424,22 @@ class OGRGeometry(GDALBase): sr = SpatialReference(coord_trans) capi.geom_transform_to(self.ptr, sr.ptr) else: - raise TypeError('Transform only accepts CoordTransform, SpatialReference, string, and integer objects.') + raise TypeError('Transform only accepts CoordTransform, ' + 'SpatialReference, string, and integer objects.') + + # Setting with original dimension, see comment above. + if GDAL_VERSION < (1, 7): + if isinstance(self, GeometryCollection): + # With geometry collections have to set dimension on + # each internal geometry reference, as the collection + # dimension isn't affected. + for i in xrange(len(self)): + internal_ptr = capi.get_geom_ref(self.ptr, i) + if orig_dim != capi.get_coord_dim(internal_ptr): + capi.set_coord_dim(internal_ptr, orig_dim) + else: + if self.coord_dim != orig_dim: + self.coord_dim = orig_dim def transform_to(self, srs): "For backwards-compatibility." @@ -391,7 +459,7 @@ class OGRGeometry(GDALBase): def intersects(self, other): "Returns True if this geometry intersects with the other." return self._topology(capi.ogr_intersects, other) - + def equals(self, other): "Returns True if this geometry is equivalent to the other." return self._topology(capi.ogr_equals, other) @@ -436,7 +504,7 @@ class OGRGeometry(GDALBase): @property def convex_hull(self): """ - Returns the smallest convex Polygon that contains all the points in + Returns the smallest convex Polygon that contains all the points in this Geometry. """ return self._geomgen(capi.geom_convex_hull) @@ -456,7 +524,7 @@ class OGRGeometry(GDALBase): return self._geomgen(capi.geom_intersection, other) def sym_difference(self, other): - """ + """ Returns a new geometry which is the symmetric difference of this geometry and the other. """ @@ -545,7 +613,7 @@ class LineString(OGRGeometry): def y(self): "Returns the Y coordinates in a list." return self._listarr(capi.gety) - + @property def z(self): "Returns the Z coordinates in a list." @@ -610,7 +678,7 @@ class GeometryCollection(OGRGeometry): raise OGRIndexError('index out of range: %s' % index) else: return OGRGeometry(capi.clone_geom(capi.get_geom_ref(self.ptr, index)), self.srs) - + def __iter__(self): "Iterates over each Geometry." for i in xrange(self.geom_count): @@ -658,5 +726,12 @@ GEO_CLASSES = {1 : Point, 5 : MultiLineString, 6 : MultiPolygon, 7 : GeometryCollection, - 101: LinearRing, + 101: LinearRing, + 1 + OGRGeomType.wkb25bit : Point, + 2 + OGRGeomType.wkb25bit : LineString, + 3 + OGRGeomType.wkb25bit : Polygon, + 4 + OGRGeomType.wkb25bit : MultiPoint, + 5 + OGRGeomType.wkb25bit : MultiLineString, + 6 + OGRGeomType.wkb25bit : MultiPolygon, + 7 + OGRGeomType.wkb25bit : GeometryCollection, } diff --git a/django/contrib/gis/gdal/geomtype.py b/django/contrib/gis/gdal/geomtype.py index b3309531c..3bf94d481 100644 --- a/django/contrib/gis/gdal/geomtype.py +++ b/django/contrib/gis/gdal/geomtype.py @@ -4,6 +4,8 @@ from django.contrib.gis.gdal.error import OGRException class OGRGeomType(object): "Encapulates OGR Geometry Types." + wkb25bit = -2147483648 + # Dictionary of acceptable OGRwkbGeometryType s and their string names. _types = {0 : 'Unknown', 1 : 'Point', @@ -15,6 +17,13 @@ class OGRGeomType(object): 7 : 'GeometryCollection', 100 : 'None', 101 : 'LinearRing', + 1 + wkb25bit: 'Point25D', + 2 + wkb25bit: 'LineString25D', + 3 + wkb25bit: 'Polygon25D', + 4 + wkb25bit: 'MultiPoint25D', + 5 + wkb25bit : 'MultiLineString25D', + 6 + wkb25bit : 'MultiPolygon25D', + 7 + wkb25bit : 'GeometryCollection25D', } # Reverse type dictionary, keyed by lower-case of the name. _str_types = dict([(v.lower(), k) for k, v in _types.items()]) @@ -68,7 +77,7 @@ class OGRGeomType(object): @property def django(self): "Returns the Django GeometryField for this OGR Type." - s = self.name + s = self.name.replace('25D', '') if s in ('LinearRing', 'None'): return None elif s == 'Unknown': diff --git a/django/contrib/gis/gdal/layer.py b/django/contrib/gis/gdal/layer.py index cf5e57866..a2163bc3c 100644 --- a/django/contrib/gis/gdal/layer.py +++ b/django/contrib/gis/gdal/layer.py @@ -1,5 +1,5 @@ # Needed ctypes routines -from ctypes import byref +from ctypes import c_double, byref # Other GDAL imports. from django.contrib.gis.gdal.base import GDALBase @@ -7,11 +7,12 @@ from django.contrib.gis.gdal.envelope import Envelope, OGREnvelope from django.contrib.gis.gdal.error import OGRException, OGRIndexError, SRSException from django.contrib.gis.gdal.feature import Feature from django.contrib.gis.gdal.field import OGRFieldTypes -from django.contrib.gis.gdal.geometries import OGRGeomType +from django.contrib.gis.gdal.geomtype import OGRGeomType +from django.contrib.gis.gdal.geometries import OGRGeometry from django.contrib.gis.gdal.srs import SpatialReference # GDAL ctypes function prototypes. -from django.contrib.gis.gdal.prototypes import ds as capi, srs as srs_api +from django.contrib.gis.gdal.prototypes import ds as capi, geom as geom_api, srs as srs_api # For more information, see the OGR C API source code: # http://www.gdal.org/ogr/ogr__api_8h.html @@ -156,6 +157,29 @@ class Layer(GDALBase): return [capi.get_field_precision(capi.get_field_defn(self._ldefn, i)) for i in xrange(self.num_fields)] + def _get_spatial_filter(self): + try: + return OGRGeometry(geom_api.clone_geom(capi.get_spatial_filter(self.ptr))) + except OGRException: + return None + + def _set_spatial_filter(self, filter): + if isinstance(filter, OGRGeometry): + capi.set_spatial_filter(self.ptr, filter.ptr) + elif isinstance(filter, (tuple, list)): + if not len(filter) == 4: + raise ValueError('Spatial filter list/tuple must have 4 elements.') + # Map c_double onto params -- if a bad type is passed in it + # will be caught here. + xmin, ymin, xmax, ymax = map(c_double, filter) + capi.set_spatial_filter_rect(self.ptr, xmin, ymin, xmax, ymax) + elif filter is None: + capi.set_spatial_filter(self.ptr, None) + else: + raise TypeError('Spatial filter must be either an OGRGeometry instance, a 4-tuple, or None.') + + spatial_filter = property(_get_spatial_filter, _set_spatial_filter) + #### Layer Methods #### def get_fields(self, field_name): """ diff --git a/django/contrib/gis/gdal/libgdal.py b/django/contrib/gis/gdal/libgdal.py index 92e316568..256ddb24e 100644 --- a/django/contrib/gis/gdal/libgdal.py +++ b/django/contrib/gis/gdal/libgdal.py @@ -1,4 +1,4 @@ -import os, sys +import os, re, sys from ctypes import c_char_p, CDLL from ctypes.util import find_library from django.contrib.gis.gdal.error import OGRException @@ -13,11 +13,11 @@ except (AttributeError, EnvironmentError, ImportError): if lib_path: lib_names = None elif os.name == 'nt': - # Windows NT shared library - lib_names = ['gdal16', 'gdal15'] + # Windows NT shared libraries + lib_names = ['gdal18', 'gdal17', 'gdal16', 'gdal15'] elif os.name == 'posix': # *NIX library names. - lib_names = ['gdal', 'GDAL', 'gdal1.6.0', 'gdal1.5.0', 'gdal1.4.0'] + lib_names = ['gdal', 'GDAL', 'gdal1.7.0', 'gdal1.6.0', 'gdal1.5.0', 'gdal1.4.0'] else: raise OGRException('Unsupported OS "%s"' % os.name) @@ -81,3 +81,24 @@ def gdal_release_date(date=False): d = date_type(yy, mm, dd) if date: return d else: return d.strftime('%Y/%m/%d') + +version_regex = re.compile(r'^(?P\d+)\.(?P\d+)(\.(?P\d+))?') +def gdal_version_info(): + ver = gdal_version() + m = version_regex.match(ver) + if not m: raise OGRException('Could not parse GDAL version string "%s"' % ver) + return dict([(key, m.group(key)) for key in ('major', 'minor', 'subminor')]) + +_verinfo = gdal_version_info() +GDAL_MAJOR_VERSION = int(_verinfo['major']) +GDAL_MINOR_VERSION = int(_verinfo['minor']) +GDAL_SUBMINOR_VERSION = _verinfo['subminor'] and int(_verinfo['subminor']) +GDAL_VERSION = (GDAL_MAJOR_VERSION, GDAL_MINOR_VERSION, GDAL_SUBMINOR_VERSION) +del _verinfo + +# GeoJSON support is available only in GDAL 1.5+. +if GDAL_VERSION >= (1, 5): + GEOJSON = True +else: + GEOJSON = False + diff --git a/django/contrib/gis/gdal/prototypes/ds.py b/django/contrib/gis/gdal/prototypes/ds.py index b64183eeb..44828ee5f 100644 --- a/django/contrib/gis/gdal/prototypes/ds.py +++ b/django/contrib/gis/gdal/prototypes/ds.py @@ -3,7 +3,7 @@ related data structures. OGR_Dr_*, OGR_DS_*, OGR_L_*, OGR_F_*, OGR_Fld_* routines are relevant here. """ -from ctypes import c_char_p, c_int, c_long, c_void_p, POINTER +from ctypes import c_char_p, c_double, c_int, c_long, c_void_p, POINTER from django.contrib.gis.gdal.envelope import OGREnvelope from django.contrib.gis.gdal.libgdal import lgdal from django.contrib.gis.gdal.prototypes.generation import \ @@ -38,6 +38,9 @@ get_layer_srs = srs_output(lgdal.OGR_L_GetSpatialRef, [c_void_p]) get_next_feature = voidptr_output(lgdal.OGR_L_GetNextFeature, [c_void_p]) reset_reading = void_output(lgdal.OGR_L_ResetReading, [c_void_p], errcheck=False) test_capability = int_output(lgdal.OGR_L_TestCapability, [c_void_p, c_char_p]) +get_spatial_filter = geom_output(lgdal.OGR_L_GetSpatialFilter, [c_void_p]) +set_spatial_filter = void_output(lgdal.OGR_L_SetSpatialFilter, [c_void_p, c_void_p], errcheck=False) +set_spatial_filter_rect = void_output(lgdal.OGR_L_SetSpatialFilterRect, [c_void_p, c_double, c_double, c_double, c_double], errcheck=False) ### Feature Definition Routines ### get_fd_geom_type = int_output(lgdal.OGR_FD_GetGeomType, [c_void_p]) diff --git a/django/contrib/gis/gdal/prototypes/errcheck.py b/django/contrib/gis/gdal/prototypes/errcheck.py index 3a0e0d617..91858ea57 100644 --- a/django/contrib/gis/gdal/prototypes/errcheck.py +++ b/django/contrib/gis/gdal/prototypes/errcheck.py @@ -109,6 +109,8 @@ def check_errcode(result, func, cargs): def check_pointer(result, func, cargs): "Makes sure the result pointer is valid." + if isinstance(result, (int, long)): + result = c_void_p(result) if bool(result): return result else: diff --git a/django/contrib/gis/gdal/prototypes/geom.py b/django/contrib/gis/gdal/prototypes/geom.py index 2898198d0..e002590e3 100644 --- a/django/contrib/gis/gdal/prototypes/geom.py +++ b/django/contrib/gis/gdal/prototypes/geom.py @@ -1,19 +1,13 @@ +import re from datetime import date from ctypes import c_char, c_char_p, c_double, c_int, c_ubyte, c_void_p, POINTER from django.contrib.gis.gdal.envelope import OGREnvelope -from django.contrib.gis.gdal.libgdal import lgdal, gdal_version +from django.contrib.gis.gdal.libgdal import lgdal, GEOJSON from django.contrib.gis.gdal.prototypes.errcheck import check_bool, check_envelope from django.contrib.gis.gdal.prototypes.generation import \ const_string_output, double_output, geom_output, int_output, \ srs_output, string_output, void_output -# Some prototypes need to be aware of what version GDAL we have. -major, minor = map(int, gdal_version().split('.')[:2]) -if major <= 1 and minor <= 4: - GEOJSON = False -else: - GEOJSON = True - ### Generation routines specific to this module ### def env_func(f, argtypes): "For getting OGREnvelopes." @@ -83,7 +77,8 @@ get_geom_srs = srs_output(lgdal.OGR_G_GetSpatialReference, [c_void_p]) get_area = double_output(lgdal.OGR_G_GetArea, [c_void_p]) get_centroid = void_output(lgdal.OGR_G_Centroid, [c_void_p, c_void_p]) get_dims = int_output(lgdal.OGR_G_GetDimension, [c_void_p]) -get_coord_dims = int_output(lgdal.OGR_G_GetCoordinateDimension, [c_void_p]) +get_coord_dim = int_output(lgdal.OGR_G_GetCoordinateDimension, [c_void_p]) +set_coord_dim = void_output(lgdal.OGR_G_SetCoordinateDimension, [c_void_p, c_int], errcheck=False) get_geom_count = int_output(lgdal.OGR_G_GetGeometryCount, [c_void_p]) get_geom_name = const_string_output(lgdal.OGR_G_GetGeometryName, [c_void_p]) diff --git a/django/contrib/gis/gdal/srs.py b/django/contrib/gis/gdal/srs.py index 93bd8416f..95e71f1e3 100644 --- a/django/contrib/gis/gdal/srs.py +++ b/django/contrib/gis/gdal/srs.py @@ -37,7 +37,7 @@ from django.contrib.gis.gdal.prototypes import srs as capi #### Spatial Reference class. #### class SpatialReference(GDALBase): """ - A wrapper for the OGRSpatialReference object. According to the GDAL website, + A wrapper for the OGRSpatialReference object. According to the GDAL Web site, the SpatialReference object "provide[s] services to represent coordinate systems (projections and datums) and to transform between them." """ diff --git a/django/contrib/gis/gdal/tests/test_ds.py b/django/contrib/gis/gdal/tests/test_ds.py index 30ce46247..e1083b2a3 100644 --- a/django/contrib/gis/gdal/tests/test_ds.py +++ b/django/contrib/gis/gdal/tests/test_ds.py @@ -1,22 +1,7 @@ import os, os.path, unittest -from django.contrib.gis.gdal import DataSource, Envelope, OGRException, OGRIndexError +from django.contrib.gis.gdal import DataSource, Envelope, OGRGeometry, OGRException, OGRIndexError, GDAL_VERSION from django.contrib.gis.gdal.field import OFTReal, OFTInteger, OFTString -from django.contrib import gis - -# Path for SHP files -data_path = os.path.join(os.path.dirname(gis.__file__), 'tests' + os.sep + 'data') -def get_ds_file(name, ext): - - - return os.sep.join([data_path, name, name + '.%s' % ext]) - -# Test SHP data source object -class TestDS: - def __init__(self, name, **kwargs): - ext = kwargs.pop('ext', 'shp') - self.ds = get_ds_file(name, ext) - for key, value in kwargs.items(): - setattr(self, key, value) +from django.contrib.gis.geometry.test_data import get_ds_file, TestDS # List of acceptable data sources. ds_list = (TestDS('test_point', nfeat=5, nfld=3, geom='POINT', gtype=1, driver='ESRI Shapefile', @@ -25,12 +10,12 @@ ds_list = (TestDS('test_point', nfeat=5, nfld=3, geom='POINT', gtype=1, driver=' srs_wkt='GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]', field_values={'dbl' : [float(i) for i in range(1, 6)], 'int' : range(1, 6), 'str' : [str(i) for i in range(1, 6)]}, fids=range(5)), - TestDS('test_vrt', ext='vrt', nfeat=3, nfld=3, geom='POINT', gtype=1, driver='VRT', + TestDS('test_vrt', ext='vrt', nfeat=3, nfld=3, geom='POINT', gtype='Point25D', driver='VRT', fields={'POINT_X' : OFTString, 'POINT_Y' : OFTString, 'NUM' : OFTString}, # VRT uses CSV, which all types are OFTString. extent=(1.0, 2.0, 100.0, 523.5), # Min/Max from CSV field_values={'POINT_X' : ['1.0', '5.0', '100.0'], 'POINT_Y' : ['2.0', '23.0', '523.5'], 'NUM' : ['5', '17', '23']}, fids=range(1,4)), - TestDS('test_poly', nfeat=3, nfld=3, geom='POLYGON', gtype=3, + TestDS('test_poly', nfeat=3, nfld=3, geom='POLYGON', gtype=3, driver='ESRI Shapefile', fields={'float' : OFTReal, 'int' : OFTInteger, 'str' : OFTString,}, extent=(-1.01513,-0.558245,0.161876,0.839637), # Got extent from QGIS @@ -65,7 +50,7 @@ class DataSourceTest(unittest.TestCase): pass else: self.fail('Expected an IndexError!') - + def test02_invalid_shp(self): "Testing invalid SHP files for the Data Source." for source in bad_ds: @@ -78,7 +63,7 @@ class DataSourceTest(unittest.TestCase): ds = DataSource(source.ds) # Incrementing through each layer, this tests DataSource.__iter__ - for layer in ds: + for layer in ds: # Making sure we get the number of features we expect self.assertEqual(len(layer), source.nfeat) @@ -87,16 +72,22 @@ class DataSourceTest(unittest.TestCase): self.assertEqual(source.nfld, len(layer.fields)) # Testing the layer's extent (an Envelope), and it's properties - self.assertEqual(True, isinstance(layer.extent, Envelope)) - self.assertAlmostEqual(source.extent[0], layer.extent.min_x, 5) - self.assertAlmostEqual(source.extent[1], layer.extent.min_y, 5) - self.assertAlmostEqual(source.extent[2], layer.extent.max_x, 5) - self.assertAlmostEqual(source.extent[3], layer.extent.max_y, 5) + if source.driver == 'VRT' and (GDAL_VERSION > (1, 7, 0) and GDAL_VERSION < (1, 7, 3)): + # There's a known GDAL regression with retrieving the extent + # of a VRT layer in versions 1.7.0-1.7.2: + # http://trac.osgeo.org/gdal/ticket/3783 + pass + else: + self.assertEqual(True, isinstance(layer.extent, Envelope)) + self.assertAlmostEqual(source.extent[0], layer.extent.min_x, 5) + self.assertAlmostEqual(source.extent[1], layer.extent.min_y, 5) + self.assertAlmostEqual(source.extent[2], layer.extent.max_x, 5) + self.assertAlmostEqual(source.extent[3], layer.extent.max_y, 5) # Now checking the field names. flds = layer.fields for f in flds: self.assertEqual(True, f in source.fields) - + # Negative FIDs are not allowed. self.assertRaises(OGRIndexError, layer.__getitem__, -1) self.assertRaises(OGRIndexError, layer.__getitem__, 50000) @@ -117,7 +108,7 @@ class DataSourceTest(unittest.TestCase): for fld_name in fld_names: self.assertEqual(source.field_values[fld_name][i], feat.get(fld_name)) print "\nEND - expecting out of range feature id error; safe to ignore." - + def test03b_layer_slice(self): "Test indexing and slicing on Layers." # Using the first data-source because the same slice @@ -148,7 +139,7 @@ class DataSourceTest(unittest.TestCase): # Making sure we can call OGR routines on the Layer returned. lyr = get_layer() self.assertEqual(source.nfeat, len(lyr)) - self.assertEqual(source.gtype, lyr.geom_type.num) + self.assertEqual(source.gtype, lyr.geom_type.num) def test04_features(self): "Testing Data Source Features." @@ -172,7 +163,7 @@ class DataSourceTest(unittest.TestCase): # Testing Feature.__iter__ for fld in feat: self.assertEqual(True, fld.name in source.fields.keys()) - + def test05_geometries(self): "Testing Geometries from Data Source Features." for source in ds_list: @@ -191,6 +182,40 @@ class DataSourceTest(unittest.TestCase): if hasattr(source, 'srs_wkt'): self.assertEqual(source.srs_wkt, g.srs.wkt) + def test06_spatial_filter(self): + "Testing the Layer.spatial_filter property." + ds = DataSource(get_ds_file('cities', 'shp')) + lyr = ds[0] + + # When not set, it should be None. + self.assertEqual(None, lyr.spatial_filter) + + # Must be set a/an OGRGeometry or 4-tuple. + self.assertRaises(TypeError, lyr._set_spatial_filter, 'foo') + + # Setting the spatial filter with a tuple/list with the extent of + # a buffer centering around Pueblo. + self.assertRaises(ValueError, lyr._set_spatial_filter, range(5)) + filter_extent = (-105.609252, 37.255001, -103.609252, 39.255001) + lyr.spatial_filter = (-105.609252, 37.255001, -103.609252, 39.255001) + self.assertEqual(OGRGeometry.from_bbox(filter_extent), lyr.spatial_filter) + feats = [feat for feat in lyr] + self.assertEqual(1, len(feats)) + self.assertEqual('Pueblo', feats[0].get('Name')) + + # Setting the spatial filter with an OGRGeometry for buffer centering + # around Houston. + filter_geom = OGRGeometry('POLYGON((-96.363151 28.763374,-94.363151 28.763374,-94.363151 30.763374,-96.363151 30.763374,-96.363151 28.763374))') + lyr.spatial_filter = filter_geom + self.assertEqual(filter_geom, lyr.spatial_filter) + feats = [feat for feat in lyr] + self.assertEqual(1, len(feats)) + self.assertEqual('Houston', feats[0].get('Name')) + + # Clearing the spatial filter by setting it to None. Now + # should indicate that there are 3 features in the Layer. + lyr.spatial_filter = None + self.assertEqual(3, len(lyr)) def suite(): s = unittest.TestSuite() diff --git a/django/contrib/gis/gdal/tests/test_envelope.py b/django/contrib/gis/gdal/tests/test_envelope.py index 6c0c13724..f181fa237 100644 --- a/django/contrib/gis/gdal/tests/test_envelope.py +++ b/django/contrib/gis/gdal/tests/test_envelope.py @@ -55,7 +55,7 @@ class EnvelopeTest(unittest.TestCase): self.assertEqual((0, 0, 5, 6), self.e) self.e.expand_to_include(-1, -1) self.assertEqual((-1, -1, 5, 6), self.e) - + def test05_expand_to_include_pt_2_tuple(self): "Testing Envelope expand_to_include -- point as a single 2-tuple parameter." self.e.expand_to_include((10, 10)) @@ -67,17 +67,17 @@ class EnvelopeTest(unittest.TestCase): "Testing Envelope expand_to_include -- extent as 4 parameters." self.e.expand_to_include(-1, 1, 3, 7) self.assertEqual((-1, 0, 5, 7), self.e) - + def test06_expand_to_include_extent_4_tuple(self): "Testing Envelope expand_to_include -- extent as a single 4-tuple parameter." self.e.expand_to_include((-1, 1, 3, 7)) self.assertEqual((-1, 0, 5, 7), self.e) - + def test07_expand_to_include_envelope(self): "Testing Envelope expand_to_include with Envelope as parameter." self.e.expand_to_include(Envelope(-1, 1, 3, 7)) self.assertEqual((-1, 0, 5, 7), self.e) - + def test08_expand_to_include_point(self): "Testing Envelope expand_to_include with Point as parameter." self.e.expand_to_include(TestPoint(-1, 1)) diff --git a/django/contrib/gis/gdal/tests/test_geom.py b/django/contrib/gis/gdal/tests/test_geom.py index c920adc6c..4e1735e48 100644 --- a/django/contrib/gis/gdal/tests/test_geom.py +++ b/django/contrib/gis/gdal/tests/test_geom.py @@ -1,10 +1,10 @@ import unittest from django.contrib.gis.gdal import OGRGeometry, OGRGeomType, \ OGRException, OGRIndexError, SpatialReference, CoordTransform, \ - gdal_version -from django.contrib.gis.tests.geometries import * + GDAL_VERSION +from django.contrib.gis.geometry.test_data import TestDataMixin -class OGRGeomTest(unittest.TestCase): +class OGRGeomTest(unittest.TestCase, TestDataMixin): "This tests the OGR Geometry." def test00a_geomtype(self): @@ -46,21 +46,44 @@ class OGRGeomTest(unittest.TestCase): self.assertEqual(0, gt.num) self.assertEqual('Unknown', gt.name) + def test00b_geomtype_25d(self): + "Testing OGRGeomType object with 25D types." + wkb25bit = OGRGeomType.wkb25bit + self.failUnless(OGRGeomType(wkb25bit + 1) == 'Point25D') + self.failUnless(OGRGeomType('MultiLineString25D') == (5 + wkb25bit)) + self.assertEqual('GeometryCollectionField', OGRGeomType('GeometryCollection25D').django) + def test01a_wkt(self): "Testing WKT output." - for g in wkt_out: + for g in self.geometries.wkt_out: geom = OGRGeometry(g.wkt) self.assertEqual(g.wkt, geom.wkt) + def test01a_ewkt(self): + "Testing EWKT input/output." + for ewkt_val in ('POINT (1 2 3)', 'LINEARRING (0 0,1 1,2 1,0 0)'): + # First with ewkt output when no SRID in EWKT + self.assertEqual(ewkt_val, OGRGeometry(ewkt_val).ewkt) + # No test consumption with an SRID specified. + ewkt_val = 'SRID=4326;%s' % ewkt_val + geom = OGRGeometry(ewkt_val) + self.assertEqual(ewkt_val, geom.ewkt) + self.assertEqual(4326, geom.srs.srid) + def test01b_gml(self): "Testing GML output." - for g in wkt_out: + for g in self.geometries.wkt_out: geom = OGRGeometry(g.wkt) - self.assertEqual(g.gml, geom.gml) + exp_gml = g.gml + if GDAL_VERSION >= (1, 8): + # In GDAL 1.8, the non-conformant GML tag was + # replaced with . + exp_gml = exp_gml.replace('GeometryCollection', 'MultiGeometry') + self.assertEqual(exp_gml, geom.gml) def test01c_hex(self): "Testing HEX input/output." - for g in hex_wkt: + for g in self.geometries.hex_wkt: geom1 = OGRGeometry(g.wkt) self.assertEqual(g.hex, geom1.hex) # Constructing w/HEX @@ -70,7 +93,7 @@ class OGRGeomTest(unittest.TestCase): def test01d_wkb(self): "Testing WKB input/output." from binascii import b2a_hex - for g in hex_wkt: + for g in self.geometries.hex_wkt: geom1 = OGRGeometry(g.wkt) wkb = geom1.wkb self.assertEqual(b2a_hex(wkb).upper(), g.hex) @@ -82,7 +105,7 @@ class OGRGeomTest(unittest.TestCase): "Testing GeoJSON input/output." from django.contrib.gis.gdal.prototypes.geom import GEOJSON if not GEOJSON: return - for g in json_geoms: + for g in self.geometries.json_geoms: geom = OGRGeometry(g.wkt) if not hasattr(g, 'not_equal'): self.assertEqual(g.json, geom.json) @@ -93,7 +116,7 @@ class OGRGeomTest(unittest.TestCase): "Testing Point objects." prev = OGRGeometry('POINT(0 0)') - for p in points: + for p in self.geometries.points: if not hasattr(p, 'z'): # No 3D pnt = OGRGeometry(p.wkt) self.assertEqual(1, pnt.geom_type) @@ -104,8 +127,7 @@ class OGRGeomTest(unittest.TestCase): def test03_multipoints(self): "Testing MultiPoint objects." - - for mp in multipoints: + for mp in self.geometries.multipoints: mgeom1 = OGRGeometry(mp.wkt) # First one from WKT self.assertEqual(4, mgeom1.geom_type) self.assertEqual('MULTIPOINT', mgeom1.geom_name) @@ -116,50 +138,50 @@ class OGRGeomTest(unittest.TestCase): mgeom3.add(g.wkt) # should take WKT as well self.assertEqual(mgeom1, mgeom2) # they should equal self.assertEqual(mgeom1, mgeom3) - self.assertEqual(mp.points, mgeom2.tuple) + self.assertEqual(mp.coords, mgeom2.coords) self.assertEqual(mp.n_p, mgeom2.point_count) - + def test04_linestring(self): "Testing LineString objects." prev = OGRGeometry('POINT(0 0)') - for ls in linestrings: + for ls in self.geometries.linestrings: linestr = OGRGeometry(ls.wkt) self.assertEqual(2, linestr.geom_type) self.assertEqual('LINESTRING', linestr.geom_name) self.assertEqual(ls.n_p, linestr.point_count) - self.assertEqual(ls.tup, linestr.tuple) + self.assertEqual(ls.coords, linestr.tuple) self.assertEqual(True, linestr == OGRGeometry(ls.wkt)) self.assertEqual(True, linestr != prev) self.assertRaises(OGRIndexError, linestr.__getitem__, len(linestr)) prev = linestr # Testing the x, y properties. - x = [tmpx for tmpx, tmpy in ls.tup] - y = [tmpy for tmpx, tmpy in ls.tup] + x = [tmpx for tmpx, tmpy in ls.coords] + y = [tmpy for tmpx, tmpy in ls.coords] self.assertEqual(x, linestr.x) self.assertEqual(y, linestr.y) def test05_multilinestring(self): "Testing MultiLineString objects." prev = OGRGeometry('POINT(0 0)') - for mls in multilinestrings: + for mls in self.geometries.multilinestrings: mlinestr = OGRGeometry(mls.wkt) self.assertEqual(5, mlinestr.geom_type) self.assertEqual('MULTILINESTRING', mlinestr.geom_name) self.assertEqual(mls.n_p, mlinestr.point_count) - self.assertEqual(mls.tup, mlinestr.tuple) + self.assertEqual(mls.coords, mlinestr.tuple) self.assertEqual(True, mlinestr == OGRGeometry(mls.wkt)) self.assertEqual(True, mlinestr != prev) prev = mlinestr for ls in mlinestr: self.assertEqual(2, ls.geom_type) self.assertEqual('LINESTRING', ls.geom_name) - self.assertRaises(OGRIndexError, mlinestr.__getitem__, len(mlinestr)) + self.assertRaises(OGRIndexError, mlinestr.__getitem__, len(mlinestr)) def test06_linearring(self): "Testing LinearRing objects." prev = OGRGeometry('POINT(0 0)') - for rr in linearrings: + for rr in self.geometries.linearrings: lr = OGRGeometry(rr.wkt) #self.assertEqual(101, lr.geom_type.num) self.assertEqual('LINEARRING', lr.geom_name) @@ -172,12 +194,12 @@ class OGRGeomTest(unittest.TestCase): "Testing Polygon objects." # Testing `from_bbox` class method - bbox = (-180,-90,180,90) + bbox = (-180,-90,180,90) p = OGRGeometry.from_bbox( bbox ) self.assertEqual(bbox, p.extent) prev = OGRGeometry('POINT(0 0)') - for p in polygons: + for p in self.geometries.polygons: poly = OGRGeometry(p.wkt) self.assertEqual(3, poly.geom_type) self.assertEqual('POLYGON', poly.geom_name) @@ -193,13 +215,13 @@ class OGRGeomTest(unittest.TestCase): # Testing equivalence self.assertEqual(True, poly == OGRGeometry(p.wkt)) self.assertEqual(True, poly != prev) - + if p.ext_ring_cs: ring = poly[0] self.assertEqual(p.ext_ring_cs, ring.tuple) self.assertEqual(p.ext_ring_cs, poly[0].tuple) self.assertEqual(len(p.ext_ring_cs), ring.point_count) - + for r in poly: self.assertEqual('LINEARRING', r.geom_name) @@ -220,10 +242,7 @@ class OGRGeomTest(unittest.TestCase): # Closing the rings -- doesn't work on GDAL versions 1.4.1 and below: # http://trac.osgeo.org/gdal/ticket/1673 - major, minor1, minor2 = gdal_version().split('.') - if major == '1': - iminor1 = int(minor1) - if iminor1 < 4 or (iminor1 == 4 and minor2.startswith('1')): return + if GDAL_VERSION <= (1, 4, 1): return poly.close_rings() self.assertEqual(10, poly.point_count) # Two closing points should've been added self.assertEqual(OGRGeometry('POINT(2.5 2.5)'), poly.centroid) @@ -231,7 +250,7 @@ class OGRGeomTest(unittest.TestCase): def test08_multipolygons(self): "Testing MultiPolygon objects." prev = OGRGeometry('POINT(0 0)') - for mp in multipolygons: + for mp in self.geometries.multipolygons: mpoly = OGRGeometry(mp.wkt) self.assertEqual(6, mpoly.geom_type) self.assertEqual('MULTIPOLYGON', mpoly.geom_name) @@ -246,16 +265,16 @@ class OGRGeomTest(unittest.TestCase): def test09a_srs(self): "Testing OGR Geometries with Spatial Reference objects." - for mp in multipolygons: + for mp in self.geometries.multipolygons: # Creating a geometry w/spatial reference sr = SpatialReference('WGS84') mpoly = OGRGeometry(mp.wkt, sr) self.assertEqual(sr.wkt, mpoly.srs.wkt) - + # Ensuring that SRS is propagated to clones. klone = mpoly.clone() self.assertEqual(sr.wkt, klone.srs.wkt) - + # Ensuring all children geometries (polygons and their rings) all # return the assigned spatial reference as well. for poly in mpoly: @@ -264,8 +283,8 @@ class OGRGeomTest(unittest.TestCase): self.assertEqual(sr.wkt, ring.srs.wkt) # Ensuring SRS propagate in topological ops. - a, b = topology_geoms[0] - a, b = OGRGeometry(a.wkt, sr), OGRGeometry(b.wkt, sr) + a = OGRGeometry(self.geometries.topology_geoms[0].wkt_a, sr) + b = OGRGeometry(self.geometries.topology_geoms[0].wkt_b, sr) diff = a.difference(b) union = a.union(b) self.assertEqual(sr.wkt, diff.srs.wkt) @@ -277,7 +296,7 @@ class OGRGeomTest(unittest.TestCase): mpoly.srs = SpatialReference(4269) self.assertEqual(4269, mpoly.srid) self.assertEqual('NAD83', mpoly.srs.name) - + # Incrementing through the multipolyogn after the spatial reference # has been re-assigned. for poly in mpoly: @@ -319,13 +338,24 @@ class OGRGeomTest(unittest.TestCase): self.assertAlmostEqual(trans.x, p.x, prec) self.assertAlmostEqual(trans.y, p.y, prec) + def test09c_transform_dim(self): + "Testing coordinate dimension is the same on transformed geometries." + ls_orig = OGRGeometry('LINESTRING(-104.609 38.255)', 4326) + ls_trans = OGRGeometry('LINESTRING(992385.4472045 481455.4944650)', 2774) + + prec = 3 + ls_orig.transform(ls_trans.srs) + # Making sure the coordinate dimension is still 2D. + self.assertEqual(2, ls_orig.coord_dim) + self.assertAlmostEqual(ls_trans.x[0], ls_orig.x[0], prec) + self.assertAlmostEqual(ls_trans.y[0], ls_orig.y[0], prec) + def test10_difference(self): "Testing difference()." - for i in xrange(len(topology_geoms)): - g_tup = topology_geoms[i] - a = OGRGeometry(g_tup[0].wkt) - b = OGRGeometry(g_tup[1].wkt) - d1 = OGRGeometry(diff_geoms[i].wkt) + for i in xrange(len(self.geometries.topology_geoms)): + a = OGRGeometry(self.geometries.topology_geoms[i].wkt_a) + b = OGRGeometry(self.geometries.topology_geoms[i].wkt_b) + d1 = OGRGeometry(self.geometries.diff_geoms[i].wkt) d2 = a.difference(b) self.assertEqual(d1, d2) self.assertEqual(d1, a - b) # __sub__ is difference operator @@ -334,11 +364,10 @@ class OGRGeomTest(unittest.TestCase): def test11_intersection(self): "Testing intersects() and intersection()." - for i in xrange(len(topology_geoms)): - g_tup = topology_geoms[i] - a = OGRGeometry(g_tup[0].wkt) - b = OGRGeometry(g_tup[1].wkt) - i1 = OGRGeometry(intersect_geoms[i].wkt) + for i in xrange(len(self.geometries.topology_geoms)): + a = OGRGeometry(self.geometries.topology_geoms[i].wkt_a) + b = OGRGeometry(self.geometries.topology_geoms[i].wkt_b) + i1 = OGRGeometry(self.geometries.intersect_geoms[i].wkt) self.assertEqual(True, a.intersects(b)) i2 = a.intersection(b) self.assertEqual(i1, i2) @@ -348,24 +377,22 @@ class OGRGeomTest(unittest.TestCase): def test12_symdifference(self): "Testing sym_difference()." - for i in xrange(len(topology_geoms)): - g_tup = topology_geoms[i] - a = OGRGeometry(g_tup[0].wkt) - b = OGRGeometry(g_tup[1].wkt) - d1 = OGRGeometry(sdiff_geoms[i].wkt) + for i in xrange(len(self.geometries.topology_geoms)): + a = OGRGeometry(self.geometries.topology_geoms[i].wkt_a) + b = OGRGeometry(self.geometries.topology_geoms[i].wkt_b) + d1 = OGRGeometry(self.geometries.sdiff_geoms[i].wkt) d2 = a.sym_difference(b) self.assertEqual(d1, d2) self.assertEqual(d1, a ^ b) # __xor__ is symmetric difference operator a ^= b # testing __ixor__ self.assertEqual(d1, a) - + def test13_union(self): "Testing union()." - for i in xrange(len(topology_geoms)): - g_tup = topology_geoms[i] - a = OGRGeometry(g_tup[0].wkt) - b = OGRGeometry(g_tup[1].wkt) - u1 = OGRGeometry(union_geoms[i].wkt) + for i in xrange(len(self.geometries.topology_geoms)): + a = OGRGeometry(self.geometries.topology_geoms[i].wkt_a) + b = OGRGeometry(self.geometries.topology_geoms[i].wkt_b) + u1 = OGRGeometry(self.geometries.union_geoms[i].wkt) u2 = a.union(b) self.assertEqual(u1, u2) self.assertEqual(u1, a | b) # __or__ is union operator @@ -381,7 +408,7 @@ class OGRGeomTest(unittest.TestCase): # GeometryCollection.add may take an OGRGeometry (if another collection # of the same type all child geoms will be added individually) or WKT. - for mp in multipolygons: + for mp in self.geometries.multipolygons: mpoly = OGRGeometry(mp.wkt) mp1 = OGRGeometry('MultiPolygon') mp2 = OGRGeometry('MultiPolygon') @@ -399,13 +426,63 @@ class OGRGeomTest(unittest.TestCase): mp = OGRGeometry('MULTIPOINT(5 23, 0 0, 10 50)') self.assertEqual((0.0, 0.0, 10.0, 50.0), mp.extent) # Testing on the 'real world' Polygon. - poly = OGRGeometry(polygons[3].wkt) + poly = OGRGeometry(self.geometries.polygons[3].wkt) ring = poly.shell x, y = ring.x, ring.y xmin, ymin = min(x), min(y) xmax, ymax = max(x), max(y) self.assertEqual((xmin, ymin, xmax, ymax), poly.extent) + def test16_25D(self): + "Testing 2.5D geometries." + pnt_25d = OGRGeometry('POINT(1 2 3)') + self.assertEqual('Point25D', pnt_25d.geom_type.name) + self.assertEqual(3.0, pnt_25d.z) + self.assertEqual(3, pnt_25d.coord_dim) + ls_25d = OGRGeometry('LINESTRING(1 1 1,2 2 2,3 3 3)') + self.assertEqual('LineString25D', ls_25d.geom_type.name) + self.assertEqual([1.0, 2.0, 3.0], ls_25d.z) + self.assertEqual(3, ls_25d.coord_dim) + + def test17_pickle(self): + "Testing pickle support." + import cPickle + g1 = OGRGeometry('LINESTRING(1 1 1,2 2 2,3 3 3)', 'WGS84') + g2 = cPickle.loads(cPickle.dumps(g1)) + self.assertEqual(g1, g2) + self.assertEqual(4326, g2.srs.srid) + self.assertEqual(g1.srs.wkt, g2.srs.wkt) + + def test18_ogrgeometry_transform_workaround(self): + "Testing coordinate dimensions on geometries after transformation." + # A bug in GDAL versions prior to 1.7 changes the coordinate + # dimension of a geometry after it has been transformed. + # This test ensures that the bug workarounds employed within + # `OGRGeometry.transform` indeed work. + wkt_2d = "MULTILINESTRING ((0 0,1 1,2 2))" + wkt_3d = "MULTILINESTRING ((0 0 0,1 1 1,2 2 2))" + srid = 4326 + + # For both the 2D and 3D MultiLineString, ensure _both_ the dimension + # of the collection and the component LineString have the expected + # coordinate dimension after transform. + geom = OGRGeometry(wkt_2d, srid) + geom.transform(srid) + self.assertEqual(2, geom.coord_dim) + self.assertEqual(2, geom[0].coord_dim) + self.assertEqual(wkt_2d, geom.wkt) + + geom = OGRGeometry(wkt_3d, srid) + geom.transform(srid) + self.assertEqual(3, geom.coord_dim) + self.assertEqual(3, geom[0].coord_dim) + self.assertEqual(wkt_3d, geom.wkt) + + def test19_equivalence_regression(self): + "Testing equivalence methods with non-OGRGeometry instances." + self.assertNotEqual(None, OGRGeometry('POINT(0 0)')) + self.assertEqual(False, OGRGeometry('LINESTRING(0 0, 1 1)') == 3) + def suite(): s = unittest.TestSuite() s.addTest(unittest.makeSuite(OGRGeomTest)) diff --git a/django/contrib/gis/gdal/tests/test_srs.py b/django/contrib/gis/gdal/tests/test_srs.py index 2742c7aad..abec19a12 100644 --- a/django/contrib/gis/gdal/tests/test_srs.py +++ b/django/contrib/gis/gdal/tests/test_srs.py @@ -16,15 +16,13 @@ srlist = (TestSRS('GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,29 attr=(('DATUM', 'WGS_1984'), (('SPHEROID', 1), '6378137'),('primem|authority', 'EPSG'),), ), TestSRS('PROJCS["NAD83 / Texas South Central",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6269"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4269"]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",30.28333333333333],PARAMETER["standard_parallel_2",28.38333333333333],PARAMETER["latitude_of_origin",27.83333333333333],PARAMETER["central_meridian",-99],PARAMETER["false_easting",600000],PARAMETER["false_northing",4000000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","32140"]]', - proj='+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs ', - epsg=32140, projected=True, geographic=False, local=False, + proj=None, epsg=32140, projected=True, geographic=False, local=False, lin_name='metre', ang_name='degree', lin_units=1.0, ang_units=0.0174532925199, auth={'PROJCS' : ('EPSG', '32140'), 'spheroid' : ('EPSG', '7019'), 'unit' : ('EPSG', '9001'),}, attr=(('DATUM', 'North_American_Datum_1983'),(('SPHEROID', 2), '298.257222101'),('PROJECTION','Lambert_Conformal_Conic_2SP'),), ), TestSRS('PROJCS["NAD_1983_StatePlane_Texas_South_Central_FIPS_4204_Feet",GEOGCS["GCS_North_American_1983",DATUM["North_American_Datum_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["False_Easting",1968500.0],PARAMETER["False_Northing",13123333.33333333],PARAMETER["Central_Meridian",-99.0],PARAMETER["Standard_Parallel_1",28.38333333333333],PARAMETER["Standard_Parallel_2",30.28333333333334],PARAMETER["Latitude_Of_Origin",27.83333333333333],UNIT["Foot_US",0.3048006096012192]]', - proj='+proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333334 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs ', - epsg=None, projected=True, geographic=False, local=False, + proj=None, epsg=None, projected=True, geographic=False, local=False, lin_name='Foot_US', ang_name='Degree', lin_units=0.3048006096012192, ang_units=0.0174532925199, auth={'PROJCS' : (None, None),}, attr=(('PROJCS|GeOgCs|spheroid', 'GRS_1980'),(('projcs', 9), 'UNIT'), (('projcs', 11), None),), @@ -73,7 +71,6 @@ class SpatialRefTest(unittest.TestCase): def test04_proj(self): "Test PROJ.4 import and export." - for s in srlist: if s.proj: srs1 = SpatialReference(s.wkt) @@ -88,7 +85,6 @@ class SpatialRefTest(unittest.TestCase): srs2 = SpatialReference(s.epsg) srs3 = SpatialReference(str(s.epsg)) srs4 = SpatialReference('EPSG:%d' % s.epsg) - #self.assertEqual(srs1.wkt, srs2.wkt) for srs in (srs1, srs2, srs3, srs4): for attr, expected in s.attr: self.assertEqual(expected, srs[attr]) @@ -157,7 +153,6 @@ class SpatialRefTest(unittest.TestCase): self.assertEqual('WGS_1984', s1['DATUM']) self.assertEqual('EPSG', s1['AUTHORITY']) self.assertEqual(4326, int(s1['AUTHORITY', 1])) - #for i in range(7): self.assertEqual(0, int(s1['TOWGS84', i])) self.assertEqual(None, s1['FOOBAR']) def suite(): diff --git a/django/contrib/gis/geometry/__init__.py b/django/contrib/gis/geometry/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/django/contrib/gis/geometry/backend/__init__.py b/django/contrib/gis/geometry/backend/__init__.py new file mode 100644 index 000000000..d79a5563e --- /dev/null +++ b/django/contrib/gis/geometry/backend/__init__.py @@ -0,0 +1,21 @@ +from django.conf import settings +from django.core.exceptions import ImproperlyConfigured +from django.utils.importlib import import_module + +geom_backend = getattr(settings, 'GEOMETRY_BACKEND', 'geos') + +try: + module = import_module('.%s' % geom_backend, 'django.contrib.gis.geometry.backend') +except ImportError, e: + try: + module = import_module(geom_backend) + except ImportError, e_user: + raise ImproperlyConfigured('Could not import user-defined GEOMETRY_BACKEND ' + '"%s".' % geom_backend) + +try: + Geometry = module.Geometry + GeometryException = module.GeometryException +except AttributeError: + raise ImproperlyConfigured('Cannot import Geometry from the "%s" ' + 'geometry backend.' % geom_backend) diff --git a/django/contrib/gis/geometry/backend/geos.py b/django/contrib/gis/geometry/backend/geos.py new file mode 100644 index 000000000..a1ac096b6 --- /dev/null +++ b/django/contrib/gis/geometry/backend/geos.py @@ -0,0 +1,3 @@ +from django.contrib.gis.geos import \ + GEOSGeometry as Geometry, \ + GEOSException as GeometryException diff --git a/django/contrib/gis/geometry/regex.py b/django/contrib/gis/geometry/regex.py new file mode 100644 index 000000000..1b9e2f46f --- /dev/null +++ b/django/contrib/gis/geometry/regex.py @@ -0,0 +1,12 @@ +import re + +# Regular expression for recognizing HEXEWKB and WKT. A prophylactic measure +# to prevent potentially malicious input from reaching the underlying C +# library. Not a substitute for good Web security programming practices. +hex_regex = re.compile(r'^[0-9A-F]+$', re.I) +wkt_regex = re.compile(r'^(SRID=(?P\d+);)?' + r'(?P' + r'(?PPOINT|LINESTRING|LINEARRING|POLYGON|MULTIPOINT|MULTILINESTRING|MULTIPOLYGON|GEOMETRYCOLLECTION)' + r'[ACEGIMLONPSRUTYZ\d,\.\-\(\) ]+)$', + re.I) +json_regex = re.compile(r'^(\s+)?\{[\s\w,\[\]\{\}\-\."\':]+\}(\s+)?$') diff --git a/django/contrib/gis/geometry/test_data.py b/django/contrib/gis/geometry/test_data.py new file mode 100644 index 000000000..4e073487a --- /dev/null +++ b/django/contrib/gis/geometry/test_data.py @@ -0,0 +1,105 @@ +""" +This module has the mock object definitions used to hold reference geometry +for the GEOS and GDAL tests. +""" +import gzip +import os + +from django.contrib import gis +from django.utils import simplejson + + +# This global used to store reference geometry data. +GEOMETRIES = None + +# Path where reference test data is located. +TEST_DATA = os.path.join(os.path.dirname(gis.__file__), 'tests', 'data') + + +def tuplize(seq): + "Turn all nested sequences to tuples in given sequence." + if isinstance(seq, (list, tuple)): + return tuple([tuplize(i) for i in seq]) + return seq + + +def strconvert(d): + "Converts all keys in dictionary to str type." + return dict([(str(k), v) for k, v in d.iteritems()]) + + +def get_ds_file(name, ext): + return os.path.join(TEST_DATA, + name, + name + '.%s' % ext + ) + + +class TestObj(object): + """ + Base testing object, turns keyword args into attributes. + """ + def __init__(self, **kwargs): + for key, value in kwargs.items(): + setattr(self, key, value) + + +class TestDS(TestObj): + """ + Object for testing GDAL data sources. + """ + def __init__(self, name, **kwargs): + # Shapefile is default extension, unless specified otherwise. + ext = kwargs.pop('ext', 'shp') + self.ds = get_ds_file(name, ext) + super(TestDS, self).__init__(**kwargs) + + +class TestGeom(TestObj): + """ + Testing object used for wrapping reference geometry data + in GEOS/GDAL tests. + """ + def __init__(self, **kwargs): + # Converting lists to tuples of certain keyword args + # so coordinate test cases will match (JSON has no + # concept of tuple). + coords = kwargs.pop('coords', None) + if coords: + self.coords = tuplize(coords) + + centroid = kwargs.pop('centroid', None) + if centroid: + self.centroid = tuple(centroid) + + ext_ring_cs = kwargs.pop('ext_ring_cs', None) + if ext_ring_cs: + ext_ring_cs = tuplize(ext_ring_cs) + self.ext_ring_cs = ext_ring_cs + + super(TestGeom, self).__init__(**kwargs) + + +class TestGeomSet(object): + """ + Each attribute of this object is a list of `TestGeom` instances. + """ + def __init__(self, **kwargs): + for key, value in kwargs.items(): + setattr(self, key, [TestGeom(**strconvert(kw)) for kw in value]) + + +class TestDataMixin(object): + """ + Mixin used for GEOS/GDAL test cases that defines a `geometries` + property, which returns and/or loads the reference geometry data. + """ + @property + def geometries(self): + global GEOMETRIES + if GEOMETRIES is None: + # Load up the test geometry data from fixture into global. + gzf = gzip.GzipFile(os.path.join(TEST_DATA, 'geometries.json.gz')) + geometries = simplejson.loads(gzf.read()) + GEOMETRIES = TestGeomSet(**strconvert(geometries)) + return GEOMETRIES diff --git a/django/contrib/gis/geos/collections.py b/django/contrib/gis/geos/collections.py index e49dd8740..515f80e3e 100644 --- a/django/contrib/gis/geos/collections.py +++ b/django/contrib/gis/geos/collections.py @@ -19,7 +19,7 @@ class GeometryCollection(GEOSGeometry): # Checking the arguments if not args: - raise TypeError, 'Must provide at least one Geometry to initialize %s.' % self.__class__.__name__ + raise TypeError('Must provide at least one Geometry to initialize %s.' % self.__class__.__name__) if len(args) == 1: # If only one geometry provided or a list of geometries is provided diff --git a/django/contrib/gis/geos/geometry.py b/django/contrib/gis/geos/geometry.py index 866a852d4..51666bc4d 100644 --- a/django/contrib/gis/geos/geometry.py +++ b/django/contrib/gis/geos/geometry.py @@ -21,11 +21,12 @@ from django.contrib.gis.geos.mutable_list import ListMixin # the underlying GEOS library. from django.contrib.gis.geos import prototypes as capi -# Regular expression for recognizing HEXEWKB and WKT. A prophylactic measure -# to prevent potentially malicious input from reaching the underlying C -# library. Not a substitute for good web security programming practices. -hex_regex = re.compile(r'^[0-9A-F]+$', re.I) -wkt_regex = re.compile(r'^(SRID=(?P\d+);)?(?P(POINT|LINESTRING|LINEARRING|POLYGON|MULTIPOINT|MULTILINESTRING|MULTIPOLYGON|GEOMETRYCOLLECTION)[ACEGIMLONPSRUTY\d,\.\-\(\) ]+)$', re.I) +# These functions provide access to a thread-local instance +# of their corresponding GEOS I/O class. +from django.contrib.gis.geos.prototypes.io import wkt_r, wkt_w, wkb_r, wkb_w, ewkb_w, ewkb_w3d + +# For recognizing geometry input. +from django.contrib.gis.geometry.regex import hex_regex, wkt_regex, json_regex class GEOSGeometry(GEOSBase, ListMixin): "A class that, generally, encapsulates a GEOS geometry." @@ -61,13 +62,13 @@ class GEOSGeometry(GEOSBase, ListMixin): if wkt_m: # Handling WKT input. if wkt_m.group('srid'): srid = int(wkt_m.group('srid')) - g = wkt_r.read(wkt_m.group('wkt')) + g = wkt_r().read(wkt_m.group('wkt')) elif hex_regex.match(geo_input): # Handling HEXEWKB input. - g = wkb_r.read(geo_input) - elif gdal.GEOJSON and gdal.geometries.json_regex.match(geo_input): + g = wkb_r().read(geo_input) + elif gdal.GEOJSON and json_regex.match(geo_input): # Handling GeoJSON input. - g = wkb_r.read(gdal.OGRGeometry(geo_input).wkb) + g = wkb_r().read(gdal.OGRGeometry(geo_input).wkb) else: raise ValueError('String or unicode input unrecognized as WKT EWKT, and HEXEWKB.') elif isinstance(geo_input, GEOM_PTR): @@ -75,7 +76,7 @@ class GEOSGeometry(GEOSBase, ListMixin): g = geo_input elif isinstance(geo_input, buffer): # When the input is a buffer (WKB). - g = wkb_r.read(geo_input) + g = wkb_r().read(geo_input) elif isinstance(geo_input, GEOSGeometry): g = capi.geom_clone(geo_input.ptr) else: @@ -142,7 +143,7 @@ class GEOSGeometry(GEOSBase, ListMixin): def __setstate__(self, state): # Instantiating from the tuple state that was pickled. wkb, srid = state - ptr = capi.from_wkb(wkb, len(wkb)) + ptr = wkb_r().read(buffer(wkb)) if not ptr: raise GEOSException('Invalid Geometry loaded from pickled state.') self.ptr = ptr self._post_init(srid) @@ -357,25 +358,45 @@ class GEOSGeometry(GEOSBase, ListMixin): #### Output Routines #### @property def ewkt(self): - "Returns the EWKT (WKT + SRID) of the Geometry." + """ + Returns the EWKT (WKT + SRID) of the Geometry. Note that Z values + are *not* included in this representation because GEOS does not yet + support serializing them. + """ if self.get_srid(): return 'SRID=%s;%s' % (self.srid, self.wkt) else: return self.wkt @property def wkt(self): - "Returns the WKT (Well-Known Text) of the Geometry." - return wkt_w.write(self) + "Returns the WKT (Well-Known Text) representation of this Geometry." + return wkt_w().write(self) @property def hex(self): """ - Returns the HEX of the Geometry -- please note that the SRID is not - included in this representation, because the GEOS C library uses - -1 by default, even if the SRID is set. + Returns the WKB of this Geometry in hexadecimal form. Please note + that the SRID and Z values are not included in this representation + because it is not a part of the OGC specification (use the `hexewkb` + property instead). """ # A possible faster, all-python, implementation: # str(self.wkb).encode('hex') - return wkb_w.write_hex(self) + return wkb_w().write_hex(self) + + @property + def hexewkb(self): + """ + Returns the EWKB of this Geometry in hexadecimal form. This is an + extension of the WKB specification that includes SRID and Z values + that are a part of this geometry. + """ + if self.hasz: + if not GEOS_PREPARE: + # See: http://trac.osgeo.org/geos/ticket/216 + raise GEOSException('Upgrade GEOS to 3.1 to get valid 3D HEXEWKB.') + return ewkb_w3d().write_hex(self) + else: + return ewkb_w().write_hex(self) @property def json(self): @@ -383,7 +404,7 @@ class GEOSGeometry(GEOSBase, ListMixin): Returns GeoJSON representation of this Geometry if GDAL 1.5+ is installed. """ - if gdal.GEOJSON: + if gdal.GEOJSON: return self.ogr.json else: raise GEOSException('GeoJSON output only supported on GDAL 1.5+.') @@ -391,8 +412,27 @@ class GEOSGeometry(GEOSBase, ListMixin): @property def wkb(self): - "Returns the WKB of the Geometry as a buffer." - return wkb_w.write(self) + """ + Returns the WKB (Well-Known Binary) representation of this Geometry + as a Python buffer. SRID and Z values are not included, use the + `ewkb` property instead. + """ + return wkb_w().write(self) + + @property + def ewkb(self): + """ + Return the EWKB representation of this Geometry as a Python buffer. + This is an extension of the WKB specification that includes any SRID + and Z values that are a part of this geometry. + """ + if self.hasz: + if not GEOS_PREPARE: + # See: http://trac.osgeo.org/geos/ticket/216 + raise GEOSException('Upgrade GEOS to 3.1 to get valid 3D EWKB.') + return ewkb_w3d().write(self) + else: + return ewkb_w().write(self) @property def kml(self): @@ -454,7 +494,7 @@ class GEOSGeometry(GEOSBase, ListMixin): g = gdal.OGRGeometry(self.wkb, srid) g.transform(ct) # Getting a new GEOS pointer - ptr = wkb_r.read(g.wkb) + ptr = wkb_r().read(g.wkb) if clone: # User wants a cloned transformed geometry returned. return GEOSGeometry(ptr, srid=g.srid) @@ -616,9 +656,6 @@ GEOS_CLASSES = {0 : Point, 7 : GeometryCollection, } -# Similarly, import the GEOS I/O instances here to avoid conflicts. -from django.contrib.gis.geos.io import wkt_r, wkt_w, wkb_r, wkb_w - # If supported, import the PreparedGeometry class. if GEOS_PREPARE: from django.contrib.gis.geos.prepared import PreparedGeometry diff --git a/django/contrib/gis/geos/io.py b/django/contrib/gis/geos/io.py index e5314c791..54ba6b4ac 100644 --- a/django/contrib/gis/geos/io.py +++ b/django/contrib/gis/geos/io.py @@ -3,121 +3,18 @@ Module that holds classes for performing I/O operations on GEOS geometry objects. Specifically, this has Python implementations of WKB/WKT reader and writer classes. """ -from ctypes import byref, c_size_t -from django.contrib.gis.geos.base import GEOSBase -from django.contrib.gis.geos.error import GEOSException from django.contrib.gis.geos.geometry import GEOSGeometry -from django.contrib.gis.geos.libgeos import GEOM_PTR -from django.contrib.gis.geos.prototypes import io as capi +from django.contrib.gis.geos.prototypes.io import _WKTReader, _WKBReader, WKBWriter, WKTWriter -class IOBase(GEOSBase): - "Base class for GEOS I/O objects." - def __init__(self): - # Getting the pointer with the constructor. - self.ptr = self.constructor() - - def __del__(self): - # Cleaning up with the appropriate destructor. - if self._ptr: self.destructor(self._ptr) - -### WKT Reading and Writing objects ### - -# Non-public class for internal use because its `read` method returns -# _pointers_ instead of a GEOSGeometry object. -class _WKTReader(IOBase): - constructor = capi.wkt_reader_create - destructor = capi.wkt_reader_destroy - ptr_type = capi.WKT_READ_PTR - - def read(self, wkt): - if not isinstance(wkt, basestring): raise TypeError - return capi.wkt_reader_read(self.ptr, wkt) +# Public classes for (WKB|WKT)Reader, which return GEOSGeometry +class WKBReader(_WKBReader): + def read(self, wkb): + "Returns a GEOSGeometry for the given WKB buffer." + return GEOSGeometry(super(WKBReader, self).read(wkb)) class WKTReader(_WKTReader): def read(self, wkt): "Returns a GEOSGeometry for the given WKT string." return GEOSGeometry(super(WKTReader, self).read(wkt)) -class WKTWriter(IOBase): - constructor = capi.wkt_writer_create - destructor = capi.wkt_writer_destroy - ptr_type = capi.WKT_WRITE_PTR - def write(self, geom): - "Returns the WKT representation of the given geometry." - return capi.wkt_writer_write(self.ptr, geom.ptr) - -### WKB Reading and Writing objects ### - -# Non-public class for the same reason as _WKTReader above. -class _WKBReader(IOBase): - constructor = capi.wkb_reader_create - destructor = capi.wkb_reader_destroy - ptr_type = capi.WKB_READ_PTR - - def read(self, wkb): - "Returns a _pointer_ to C GEOS Geometry object from the given WKB." - if isinstance(wkb, buffer): - wkb_s = str(wkb) - return capi.wkb_reader_read(self.ptr, wkb_s, len(wkb_s)) - elif isinstance(wkb, basestring): - return capi.wkb_reader_read_hex(self.ptr, wkb, len(wkb)) - else: - raise TypeError - -class WKBReader(_WKBReader): - def read(self, wkb): - "Returns a GEOSGeometry for the given WKB buffer." - return GEOSGeometry(super(WKBReader, self).read(wkb)) - -class WKBWriter(IOBase): - constructor = capi.wkb_writer_create - destructor = capi.wkb_writer_destroy - ptr_type = capi.WKB_WRITE_PTR - - def write(self, geom): - "Returns the WKB representation of the given geometry." - return buffer(capi.wkb_writer_write(self.ptr, geom.ptr, byref(c_size_t()))) - - def write_hex(self, geom): - "Returns the HEXEWKB representation of the given geometry." - return capi.wkb_writer_write_hex(self.ptr, geom.ptr, byref(c_size_t())) - - ### WKBWriter Properties ### - - # Property for getting/setting the byteorder. - def _get_byteorder(self): - return capi.wkb_writer_get_byteorder(self.ptr) - - def _set_byteorder(self, order): - if not order in (0, 1): raise ValueError('Byte order parameter must be 0 (Big Endian) or 1 (Little Endian).') - capi.wkb_writer_set_byteorder(self.ptr, order) - - byteorder = property(_get_byteorder, _set_byteorder) - - # Property for getting/setting the output dimension. - def _get_outdim(self): - return capi.wkb_writer_get_outdim(self.ptr) - - def _set_outdim(self, new_dim): - if not new_dim in (2, 3): raise ValueError('WKB output dimension must be 2 or 3') - capi.wkb_writer_set_outdim(self.ptr, new_dim) - - outdim = property(_get_outdim, _set_outdim) - - # Property for getting/setting the include srid flag. - def _get_include_srid(self): - return bool(ord(capi.wkb_writer_get_include_srid(self.ptr))) - - def _set_include_srid(self, include): - if bool(include): flag = chr(1) - else: flag = chr(0) - capi.wkb_writer_set_include_srid(self.ptr, flag) - - srid = property(_get_include_srid, _set_include_srid) - -# Instances of the WKT and WKB reader/writer objects. -wkt_r = _WKTReader() -wkt_w = WKTWriter() -wkb_r = _WKBReader() -wkb_w = WKBWriter() diff --git a/django/contrib/gis/geos/libgeos.py b/django/contrib/gis/geos/libgeos.py index f1aecb0de..7e1dfa0dc 100644 --- a/django/contrib/gis/geos/libgeos.py +++ b/django/contrib/gis/geos/libgeos.py @@ -6,7 +6,7 @@ This module also houses GEOS Pointer utilities, including get_pointer_arr(), and GEOM_PTR. """ -import atexit, os, re, sys +import os, re, sys from ctypes import c_char_p, Structure, CDLL, CFUNCTYPE, POINTER from ctypes.util import find_library from django.contrib.gis.geos.error import GEOSException @@ -23,7 +23,7 @@ if lib_path: lib_names = None elif os.name == 'nt': # Windows NT libraries - lib_names = ['libgeos_c-1'] + lib_names = ['geos_c', 'libgeos_c-1'] elif os.name == 'posix': # *NIX libraries lib_names = ['geos_c', 'GEOS'] @@ -45,14 +45,14 @@ if lib_path is None: '", "'.join(lib_names)) # Getting the GEOS C library. The C interface (CDLL) is used for -# both *NIX and Windows. +# both *NIX and Windows. # See the GEOS C API source code for more details on the library function calls: # http://geos.refractions.net/ro/doxygen_docs/html/geos__c_8h-source.html lgeos = CDLL(lib_path) # The notice and error handler C function callback definitions. -# Supposed to mimic the GEOS message handler (C below): -# "typedef void (*GEOSMessageHandler)(const char *fmt, ...);" +# Supposed to mimic the GEOS message handler (C below): +# typedef void (*GEOSMessageHandler)(const char *fmt, ...); NOTICEFUNC = CFUNCTYPE(None, c_char_p, c_char_p) def notice_h(fmt, lst, output_h=sys.stdout): try: @@ -71,23 +71,19 @@ def error_h(fmt, lst, output_h=sys.stderr): output_h.write('GEOS_ERROR: %s\n' % err_msg) error_h = ERRORFUNC(error_h) -# The initGEOS routine should be called first, however, that routine takes -# the notice and error functions as parameters. Here is the C code that -# is wrapped: -# "extern void GEOS_DLL initGEOS(GEOSMessageHandler notice_function, GEOSMessageHandler error_function);" -lgeos.initGEOS(notice_h, error_h) - #### GEOS Geometry C data structures, and utility functions. #### # Opaque GEOS geometry structures, used for GEOM_PTR and CS_PTR class GEOSGeom_t(Structure): pass class GEOSPrepGeom_t(Structure): pass class GEOSCoordSeq_t(Structure): pass +class GEOSContextHandle_t(Structure): pass # Pointers to opaque GEOS geometry structures. GEOM_PTR = POINTER(GEOSGeom_t) PREPGEOM_PTR = POINTER(GEOSPrepGeom_t) CS_PTR = POINTER(GEOSCoordSeq_t) +CONTEXT_PTR = POINTER(GEOSContextHandle_t) # Used specifically by the GEOSGeom_createPolygon and GEOSGeom_createCollection # GEOS routines @@ -104,7 +100,7 @@ geos_version.restype = c_char_p # Regular expression should be able to parse version strings such as # '3.0.0rc4-CAPI-1.3.3', or '3.0.0-CAPI-1.4.1' -version_regex = re.compile(r'^(?P(?P\d+)\.(?P\d+)\.\d+)(rc(?P\d+))?-CAPI-(?P\d+\.\d+\.\d+)$') +version_regex = re.compile(r'^(?P(?P\d+)\.(?P\d+)\.(?P\d+))(rc(?P\d+))?-CAPI-(?P\d+\.\d+\.\d+)$') def geos_version_info(): """ Returns a dictionary containing the various version metadata parsed from @@ -115,14 +111,31 @@ def geos_version_info(): ver = geos_version() m = version_regex.match(ver) if not m: raise GEOSException('Could not parse version info string "%s"' % ver) - return dict((key, m.group(key)) for key in ('version', 'release_candidate', 'capi_version', 'major', 'minor')) + return dict((key, m.group(key)) for key in ('version', 'release_candidate', 'capi_version', 'major', 'minor', 'subminor')) # Version numbers and whether or not prepared geometry support is available. _verinfo = geos_version_info() GEOS_MAJOR_VERSION = int(_verinfo['major']) GEOS_MINOR_VERSION = int(_verinfo['minor']) +GEOS_SUBMINOR_VERSION = int(_verinfo['subminor']) del _verinfo -GEOS_PREPARE = GEOS_MAJOR_VERSION > 3 or GEOS_MAJOR_VERSION == 3 and GEOS_MINOR_VERSION >= 1 +GEOS_VERSION = (GEOS_MAJOR_VERSION, GEOS_MINOR_VERSION, GEOS_SUBMINOR_VERSION) +GEOS_PREPARE = GEOS_VERSION >= (3, 1, 0) -# Calling the finishGEOS() upon exit of the interpreter. -atexit.register(lgeos.finishGEOS) +if GEOS_PREPARE: + # Here we set up the prototypes for the initGEOS_r and finishGEOS_r + # routines. These functions aren't actually called until they are + # attached to a GEOS context handle -- this actually occurs in + # geos/prototypes/threadsafe.py. + lgeos.initGEOS_r.restype = CONTEXT_PTR + lgeos.finishGEOS_r.argtypes = [CONTEXT_PTR] +else: + # When thread-safety isn't available, the initGEOS routine must be called + # first. This function takes the notice and error functions, defined + # as Python callbacks above, as parameters. Here is the C code that is + # wrapped: + # extern void GEOS_DLL initGEOS(GEOSMessageHandler notice_function, GEOSMessageHandler error_function); + lgeos.initGEOS(notice_h, error_h) + # Calling finishGEOS() upon exit of the interpreter. + import atexit + atexit.register(lgeos.finishGEOS) diff --git a/django/contrib/gis/geos/prototypes/coordseq.py b/django/contrib/gis/geos/prototypes/coordseq.py index 3b5fb2cf3..68b9480ff 100644 --- a/django/contrib/gis/geos/prototypes/coordseq.py +++ b/django/contrib/gis/geos/prototypes/coordseq.py @@ -1,6 +1,7 @@ from ctypes import c_double, c_int, c_uint, POINTER -from django.contrib.gis.geos.libgeos import lgeos, GEOM_PTR, CS_PTR +from django.contrib.gis.geos.libgeos import GEOM_PTR, CS_PTR from django.contrib.gis.geos.prototypes.errcheck import last_arg_byref, GEOSException +from django.contrib.gis.geos.prototypes.threadsafe import GEOSFunc ## Error-checking routines specific to coordinate sequences. ## def check_cs_ptr(result, func, cargs): @@ -59,24 +60,24 @@ def cs_output(func, argtypes): ## Coordinate Sequence ctypes prototypes ## # Coordinate Sequence constructors & cloning. -cs_clone = cs_output(lgeos.GEOSCoordSeq_clone, [CS_PTR]) -create_cs = cs_output(lgeos.GEOSCoordSeq_create, [c_uint, c_uint]) -get_cs = cs_output(lgeos.GEOSGeom_getCoordSeq, [GEOM_PTR]) +cs_clone = cs_output(GEOSFunc('GEOSCoordSeq_clone'), [CS_PTR]) +create_cs = cs_output(GEOSFunc('GEOSCoordSeq_create'), [c_uint, c_uint]) +get_cs = cs_output(GEOSFunc('GEOSGeom_getCoordSeq'), [GEOM_PTR]) # Getting, setting ordinate -cs_getordinate = cs_operation(lgeos.GEOSCoordSeq_getOrdinate, ordinate=True, get=True) -cs_setordinate = cs_operation(lgeos.GEOSCoordSeq_setOrdinate, ordinate=True) +cs_getordinate = cs_operation(GEOSFunc('GEOSCoordSeq_getOrdinate'), ordinate=True, get=True) +cs_setordinate = cs_operation(GEOSFunc('GEOSCoordSeq_setOrdinate'), ordinate=True) # For getting, x, y, z -cs_getx = cs_operation(lgeos.GEOSCoordSeq_getX, get=True) -cs_gety = cs_operation(lgeos.GEOSCoordSeq_getY, get=True) -cs_getz = cs_operation(lgeos.GEOSCoordSeq_getZ, get=True) +cs_getx = cs_operation(GEOSFunc('GEOSCoordSeq_getX'), get=True) +cs_gety = cs_operation(GEOSFunc('GEOSCoordSeq_getY'), get=True) +cs_getz = cs_operation(GEOSFunc('GEOSCoordSeq_getZ'), get=True) # For setting, x, y, z -cs_setx = cs_operation(lgeos.GEOSCoordSeq_setX) -cs_sety = cs_operation(lgeos.GEOSCoordSeq_setY) -cs_setz = cs_operation(lgeos.GEOSCoordSeq_setZ) +cs_setx = cs_operation(GEOSFunc('GEOSCoordSeq_setX')) +cs_sety = cs_operation(GEOSFunc('GEOSCoordSeq_setY')) +cs_setz = cs_operation(GEOSFunc('GEOSCoordSeq_setZ')) # These routines return size & dimensions. -cs_getsize = cs_int(lgeos.GEOSCoordSeq_getSize) -cs_getdims = cs_int(lgeos.GEOSCoordSeq_getDimensions) +cs_getsize = cs_int(GEOSFunc('GEOSCoordSeq_getSize')) +cs_getdims = cs_int(GEOSFunc('GEOSCoordSeq_getDimensions')) diff --git a/django/contrib/gis/geos/prototypes/errcheck.py b/django/contrib/gis/geos/prototypes/errcheck.py index d96a1ac75..97fcd2138 100644 --- a/django/contrib/gis/geos/prototypes/errcheck.py +++ b/django/contrib/gis/geos/prototypes/errcheck.py @@ -2,21 +2,32 @@ Error checking functions for GEOS ctypes prototype functions. """ import os -from ctypes import string_at, CDLL -from ctypes.util import find_library +from ctypes import c_void_p, string_at, CDLL from django.contrib.gis.geos.error import GEOSException +from django.contrib.gis.geos.libgeos import GEOS_VERSION +from django.contrib.gis.geos.prototypes.threadsafe import GEOSFunc -# Getting the C library, needed to free the string pointers -# returned from GEOS. -if os.name == 'nt': - libc_name = 'msvcrt' +# Getting the `free` routine used to free the memory allocated for +# string pointers returned by GEOS. +if GEOS_VERSION >= (3, 1, 1): + # In versions 3.1.1 and above, `GEOSFree` was added to the C API + # because `free` isn't always available on all platforms. + free = GEOSFunc('GEOSFree') + free.argtypes = [c_void_p] + free.restype = None else: - libc_name = 'libc' -libc = CDLL(find_library(libc_name)) + # Getting the `free` routine from the C library of the platform. + if os.name == 'nt': + # On NT, use the MS C library. + libc = CDLL('msvcrt') + else: + # On POSIX platforms C library is obtained by passing None into `CDLL`. + libc = CDLL(None) + free = libc.free ### ctypes error checking routines ### def last_arg_byref(args): - "Returns the last C argument's by reference value." + "Returns the last C argument's value by reference." return args[-1]._obj.value def check_dbl(result, func, cargs): @@ -60,7 +71,7 @@ def check_sized_string(result, func, cargs): # correct size. s = string_at(result, last_arg_byref(cargs)) # Freeing the memory allocated within GEOS - libc.free(result) + free(result) return s def check_string(result, func, cargs): @@ -73,7 +84,7 @@ def check_string(result, func, cargs): # Getting the string value at the pointer address. s = string_at(result) # Freeing the memory allocated within GEOS - libc.free(result) + free(result) return s def check_zero(result, func, cargs): diff --git a/django/contrib/gis/geos/prototypes/geom.py b/django/contrib/gis/geos/prototypes/geom.py index a177f0df9..03f98978e 100644 --- a/django/contrib/gis/geos/prototypes/geom.py +++ b/django/contrib/gis/geos/prototypes/geom.py @@ -1,7 +1,8 @@ from ctypes import c_char_p, c_int, c_size_t, c_ubyte, c_uint, POINTER -from django.contrib.gis.geos.libgeos import lgeos, CS_PTR, GEOM_PTR, PREPGEOM_PTR, GEOS_PREPARE +from django.contrib.gis.geos.libgeos import CS_PTR, GEOM_PTR, PREPGEOM_PTR, GEOS_PREPARE from django.contrib.gis.geos.prototypes.errcheck import \ check_geom, check_minus_one, check_sized_string, check_string, check_zero +from django.contrib.gis.geos.prototypes.threadsafe import GEOSFunc # This is the return type used by binary output (WKB, HEX) routines. c_uchar_p = POINTER(c_ubyte) @@ -63,56 +64,56 @@ def string_from_geom(func): ### ctypes prototypes ### # Deprecated creation routines from WKB, HEX, WKT -from_hex = bin_constructor(lgeos.GEOSGeomFromHEX_buf) -from_wkb = bin_constructor(lgeos.GEOSGeomFromWKB_buf) -from_wkt = geom_output(lgeos.GEOSGeomFromWKT, [c_char_p]) +from_hex = bin_constructor(GEOSFunc('GEOSGeomFromHEX_buf')) +from_wkb = bin_constructor(GEOSFunc('GEOSGeomFromWKB_buf')) +from_wkt = geom_output(GEOSFunc('GEOSGeomFromWKT'), [c_char_p]) -# Output routines -to_hex = bin_output(lgeos.GEOSGeomToHEX_buf) -to_wkb = bin_output(lgeos.GEOSGeomToWKB_buf) -to_wkt = string_from_geom(lgeos.GEOSGeomToWKT) +# Deprecated output routines +to_hex = bin_output(GEOSFunc('GEOSGeomToHEX_buf')) +to_wkb = bin_output(GEOSFunc('GEOSGeomToWKB_buf')) +to_wkt = string_from_geom(GEOSFunc('GEOSGeomToWKT')) # The GEOS geometry type, typeid, num_coordites and number of geometries -geos_normalize = int_from_geom(lgeos.GEOSNormalize) -geos_type = string_from_geom(lgeos.GEOSGeomType) -geos_typeid = int_from_geom(lgeos.GEOSGeomTypeId) -get_dims = int_from_geom(lgeos.GEOSGeom_getDimensions, zero=True) -get_num_coords = int_from_geom(lgeos.GEOSGetNumCoordinates) -get_num_geoms = int_from_geom(lgeos.GEOSGetNumGeometries) +geos_normalize = int_from_geom(GEOSFunc('GEOSNormalize')) +geos_type = string_from_geom(GEOSFunc('GEOSGeomType')) +geos_typeid = int_from_geom(GEOSFunc('GEOSGeomTypeId')) +get_dims = int_from_geom(GEOSFunc('GEOSGeom_getDimensions'), zero=True) +get_num_coords = int_from_geom(GEOSFunc('GEOSGetNumCoordinates')) +get_num_geoms = int_from_geom(GEOSFunc('GEOSGetNumGeometries')) # Geometry creation factories -create_point = geom_output(lgeos.GEOSGeom_createPoint, [CS_PTR]) -create_linestring = geom_output(lgeos.GEOSGeom_createLineString, [CS_PTR]) -create_linearring = geom_output(lgeos.GEOSGeom_createLinearRing, [CS_PTR]) +create_point = geom_output(GEOSFunc('GEOSGeom_createPoint'), [CS_PTR]) +create_linestring = geom_output(GEOSFunc('GEOSGeom_createLineString'), [CS_PTR]) +create_linearring = geom_output(GEOSFunc('GEOSGeom_createLinearRing'), [CS_PTR]) # Polygon and collection creation routines are special and will not # have their argument types defined. -create_polygon = geom_output(lgeos.GEOSGeom_createPolygon, None) -create_collection = geom_output(lgeos.GEOSGeom_createCollection, None) +create_polygon = geom_output(GEOSFunc('GEOSGeom_createPolygon'), None) +create_collection = geom_output(GEOSFunc('GEOSGeom_createCollection'), None) # Ring routines -get_extring = geom_output(lgeos.GEOSGetExteriorRing, [GEOM_PTR]) -get_intring = geom_index(lgeos.GEOSGetInteriorRingN) -get_nrings = int_from_geom(lgeos.GEOSGetNumInteriorRings) +get_extring = geom_output(GEOSFunc('GEOSGetExteriorRing'), [GEOM_PTR]) +get_intring = geom_index(GEOSFunc('GEOSGetInteriorRingN')) +get_nrings = int_from_geom(GEOSFunc('GEOSGetNumInteriorRings')) # Collection Routines -get_geomn = geom_index(lgeos.GEOSGetGeometryN) +get_geomn = geom_index(GEOSFunc('GEOSGetGeometryN')) # Cloning -geom_clone = lgeos.GEOSGeom_clone +geom_clone = GEOSFunc('GEOSGeom_clone') geom_clone.argtypes = [GEOM_PTR] geom_clone.restype = GEOM_PTR # Destruction routine. -destroy_geom = lgeos.GEOSGeom_destroy +destroy_geom = GEOSFunc('GEOSGeom_destroy') destroy_geom.argtypes = [GEOM_PTR] destroy_geom.restype = None # SRID routines -geos_get_srid = lgeos.GEOSGetSRID +geos_get_srid = GEOSFunc('GEOSGetSRID') geos_get_srid.argtypes = [GEOM_PTR] geos_get_srid.restype = c_int -geos_set_srid = lgeos.GEOSSetSRID +geos_set_srid = GEOSFunc('GEOSSetSRID') geos_set_srid.argtypes = [GEOM_PTR, c_int] geos_set_srid.restype = None diff --git a/django/contrib/gis/geos/prototypes/io.py b/django/contrib/gis/geos/prototypes/io.py index ece1c70cf..5c0c8b5be 100644 --- a/django/contrib/gis/geos/prototypes/io.py +++ b/django/contrib/gis/geos/prototypes/io.py @@ -1,7 +1,10 @@ -from ctypes import c_char_p, c_int, c_char, c_size_t, Structure, POINTER -from django.contrib.gis.geos.libgeos import lgeos, GEOM_PTR +import threading +from ctypes import byref, c_char_p, c_int, c_char, c_size_t, Structure, POINTER +from django.contrib.gis.geos.base import GEOSBase +from django.contrib.gis.geos.libgeos import GEOM_PTR from django.contrib.gis.geos.prototypes.errcheck import check_geom, check_string, check_sized_string from django.contrib.gis.geos.prototypes.geom import c_uchar_p, geos_char_p +from django.contrib.gis.geos.prototypes.threadsafe import GEOSFunc ### The WKB/WKT Reader/Writer structures and pointers ### class WKTReader_st(Structure): pass @@ -15,34 +18,34 @@ WKB_READ_PTR = POINTER(WKBReader_st) WKB_WRITE_PTR = POINTER(WKBReader_st) ### WKTReader routines ### -wkt_reader_create = lgeos.GEOSWKTReader_create +wkt_reader_create = GEOSFunc('GEOSWKTReader_create') wkt_reader_create.restype = WKT_READ_PTR -wkt_reader_destroy = lgeos.GEOSWKTReader_destroy +wkt_reader_destroy = GEOSFunc('GEOSWKTReader_destroy') wkt_reader_destroy.argtypes = [WKT_READ_PTR] -wkt_reader_read = lgeos.GEOSWKTReader_read +wkt_reader_read = GEOSFunc('GEOSWKTReader_read') wkt_reader_read.argtypes = [WKT_READ_PTR, c_char_p] wkt_reader_read.restype = GEOM_PTR wkt_reader_read.errcheck = check_geom ### WKTWriter routines ### -wkt_writer_create = lgeos.GEOSWKTWriter_create +wkt_writer_create = GEOSFunc('GEOSWKTWriter_create') wkt_writer_create.restype = WKT_WRITE_PTR -wkt_writer_destroy = lgeos.GEOSWKTWriter_destroy +wkt_writer_destroy = GEOSFunc('GEOSWKTWriter_destroy') wkt_writer_destroy.argtypes = [WKT_WRITE_PTR] -wkt_writer_write = lgeos.GEOSWKTWriter_write +wkt_writer_write = GEOSFunc('GEOSWKTWriter_write') wkt_writer_write.argtypes = [WKT_WRITE_PTR, GEOM_PTR] wkt_writer_write.restype = geos_char_p wkt_writer_write.errcheck = check_string ### WKBReader routines ### -wkb_reader_create = lgeos.GEOSWKBReader_create +wkb_reader_create = GEOSFunc('GEOSWKBReader_create') wkb_reader_create.restype = WKB_READ_PTR -wkb_reader_destroy = lgeos.GEOSWKBReader_destroy +wkb_reader_destroy = GEOSFunc('GEOSWKBReader_destroy') wkb_reader_destroy.argtypes = [WKB_READ_PTR] def wkb_read_func(func): @@ -56,14 +59,14 @@ def wkb_read_func(func): func.errcheck = check_geom return func -wkb_reader_read = wkb_read_func(lgeos.GEOSWKBReader_read) -wkb_reader_read_hex = wkb_read_func(lgeos.GEOSWKBReader_readHEX) +wkb_reader_read = wkb_read_func(GEOSFunc('GEOSWKBReader_read')) +wkb_reader_read_hex = wkb_read_func(GEOSFunc('GEOSWKBReader_readHEX')) ### WKBWriter routines ### -wkb_writer_create = lgeos.GEOSWKBWriter_create +wkb_writer_create = GEOSFunc('GEOSWKBWriter_create') wkb_writer_create.restype = WKB_WRITE_PTR -wkb_writer_destroy = lgeos.GEOSWKBWriter_destroy +wkb_writer_destroy = GEOSFunc('GEOSWKBWriter_destroy') wkb_writer_destroy.argtypes = [WKB_WRITE_PTR] # WKB Writing prototypes. @@ -73,8 +76,8 @@ def wkb_write_func(func): func.errcheck = check_sized_string return func -wkb_writer_write = wkb_write_func(lgeos.GEOSWKBWriter_write) -wkb_writer_write_hex = wkb_write_func(lgeos.GEOSWKBWriter_writeHEX) +wkb_writer_write = wkb_write_func(GEOSFunc('GEOSWKBWriter_write')) +wkb_writer_write_hex = wkb_write_func(GEOSFunc('GEOSWKBWriter_writeHEX')) # WKBWriter property getter/setter prototypes. def wkb_writer_get(func, restype=c_int): @@ -86,9 +89,154 @@ def wkb_writer_set(func, argtype=c_int): func.argtypes = [WKB_WRITE_PTR, argtype] return func -wkb_writer_get_byteorder = wkb_writer_get(lgeos.GEOSWKBWriter_getByteOrder) -wkb_writer_set_byteorder = wkb_writer_set(lgeos.GEOSWKBWriter_setByteOrder) -wkb_writer_get_outdim = wkb_writer_get(lgeos.GEOSWKBWriter_getOutputDimension) -wkb_writer_set_outdim = wkb_writer_set(lgeos.GEOSWKBWriter_setOutputDimension) -wkb_writer_get_include_srid = wkb_writer_get(lgeos.GEOSWKBWriter_getIncludeSRID, restype=c_char) -wkb_writer_set_include_srid = wkb_writer_set(lgeos.GEOSWKBWriter_setIncludeSRID, argtype=c_char) +wkb_writer_get_byteorder = wkb_writer_get(GEOSFunc('GEOSWKBWriter_getByteOrder')) +wkb_writer_set_byteorder = wkb_writer_set(GEOSFunc('GEOSWKBWriter_setByteOrder')) +wkb_writer_get_outdim = wkb_writer_get(GEOSFunc('GEOSWKBWriter_getOutputDimension')) +wkb_writer_set_outdim = wkb_writer_set(GEOSFunc('GEOSWKBWriter_setOutputDimension')) +wkb_writer_get_include_srid = wkb_writer_get(GEOSFunc('GEOSWKBWriter_getIncludeSRID'), restype=c_char) +wkb_writer_set_include_srid = wkb_writer_set(GEOSFunc('GEOSWKBWriter_setIncludeSRID'), argtype=c_char) + +### Base I/O Class ### +class IOBase(GEOSBase): + "Base class for GEOS I/O objects." + def __init__(self): + # Getting the pointer with the constructor. + self.ptr = self._constructor() + + def __del__(self): + # Cleaning up with the appropriate destructor. + if self._ptr: self._destructor(self._ptr) + +### Base WKB/WKT Reading and Writing objects ### + +# Non-public WKB/WKT reader classes for internal use because +# their `read` methods return _pointers_ instead of GEOSGeometry +# objects. +class _WKTReader(IOBase): + _constructor = wkt_reader_create + _destructor = wkt_reader_destroy + ptr_type = WKT_READ_PTR + + def read(self, wkt): + if not isinstance(wkt, basestring): raise TypeError + return wkt_reader_read(self.ptr, wkt) + +class _WKBReader(IOBase): + _constructor = wkb_reader_create + _destructor = wkb_reader_destroy + ptr_type = WKB_READ_PTR + + def read(self, wkb): + "Returns a _pointer_ to C GEOS Geometry object from the given WKB." + if isinstance(wkb, buffer): + wkb_s = str(wkb) + return wkb_reader_read(self.ptr, wkb_s, len(wkb_s)) + elif isinstance(wkb, basestring): + return wkb_reader_read_hex(self.ptr, wkb, len(wkb)) + else: + raise TypeError + +### WKB/WKT Writer Classes ### +class WKTWriter(IOBase): + _constructor = wkt_writer_create + _destructor = wkt_writer_destroy + ptr_type = WKT_WRITE_PTR + + def write(self, geom): + "Returns the WKT representation of the given geometry." + return wkt_writer_write(self.ptr, geom.ptr) + +class WKBWriter(IOBase): + _constructor = wkb_writer_create + _destructor = wkb_writer_destroy + ptr_type = WKB_WRITE_PTR + + def write(self, geom): + "Returns the WKB representation of the given geometry." + return buffer(wkb_writer_write(self.ptr, geom.ptr, byref(c_size_t()))) + + def write_hex(self, geom): + "Returns the HEXEWKB representation of the given geometry." + return wkb_writer_write_hex(self.ptr, geom.ptr, byref(c_size_t())) + + ### WKBWriter Properties ### + + # Property for getting/setting the byteorder. + def _get_byteorder(self): + return wkb_writer_get_byteorder(self.ptr) + + def _set_byteorder(self, order): + if not order in (0, 1): raise ValueError('Byte order parameter must be 0 (Big Endian) or 1 (Little Endian).') + wkb_writer_set_byteorder(self.ptr, order) + + byteorder = property(_get_byteorder, _set_byteorder) + + # Property for getting/setting the output dimension. + def _get_outdim(self): + return wkb_writer_get_outdim(self.ptr) + + def _set_outdim(self, new_dim): + if not new_dim in (2, 3): raise ValueError('WKB output dimension must be 2 or 3') + wkb_writer_set_outdim(self.ptr, new_dim) + + outdim = property(_get_outdim, _set_outdim) + + # Property for getting/setting the include srid flag. + def _get_include_srid(self): + return bool(ord(wkb_writer_get_include_srid(self.ptr))) + + def _set_include_srid(self, include): + if bool(include): flag = chr(1) + else: flag = chr(0) + wkb_writer_set_include_srid(self.ptr, flag) + + srid = property(_get_include_srid, _set_include_srid) + +# `ThreadLocalIO` object holds instances of the WKT and WKB reader/writer +# objects that are local to the thread. The `GEOSGeometry` internals +# access these instances by calling the module-level functions, defined +# below. +class ThreadLocalIO(threading.local): + wkt_r = None + wkt_w = None + wkb_r = None + wkb_w = None + ewkb_w = None + ewkb_w3d = None + +thread_context = ThreadLocalIO() + +# These module-level routines return the I/O object that is local to the +# the thread. If the I/O object does not exist yet it will be initialized. +def wkt_r(): + if not thread_context.wkt_r: + thread_context.wkt_r = _WKTReader() + return thread_context.wkt_r + +def wkt_w(): + if not thread_context.wkt_w: + thread_context.wkt_w = WKTWriter() + return thread_context.wkt_w + +def wkb_r(): + if not thread_context.wkb_r: + thread_context.wkb_r = _WKBReader() + return thread_context.wkb_r + +def wkb_w(): + if not thread_context.wkb_w: + thread_context.wkb_w = WKBWriter() + return thread_context.wkb_w + +def ewkb_w(): + if not thread_context.ewkb_w: + thread_context.ewkb_w = WKBWriter() + thread_context.ewkb_w.srid = True + return thread_context.ewkb_w + +def ewkb_w3d(): + if not thread_context.ewkb_w3d: + thread_context.ewkb_w3d = WKBWriter() + thread_context.ewkb_w3d.srid = True + thread_context.ewkb_w3d.outdim = 3 + return thread_context.ewkb_w3d diff --git a/django/contrib/gis/geos/prototypes/misc.py b/django/contrib/gis/geos/prototypes/misc.py index 255da91d9..5b3b658fc 100644 --- a/django/contrib/gis/geos/prototypes/misc.py +++ b/django/contrib/gis/geos/prototypes/misc.py @@ -3,8 +3,9 @@ ones that return the area, distance, and length. """ from ctypes import c_int, c_double, POINTER -from django.contrib.gis.geos.libgeos import lgeos, GEOM_PTR +from django.contrib.gis.geos.libgeos import GEOM_PTR from django.contrib.gis.geos.prototypes.errcheck import check_dbl +from django.contrib.gis.geos.prototypes.threadsafe import GEOSFunc ### ctypes generator function ### def dbl_from_geom(func, num_geom=1): @@ -22,6 +23,6 @@ def dbl_from_geom(func, num_geom=1): ### ctypes prototypes ### # Area, distance, and length prototypes. -geos_area = dbl_from_geom(lgeos.GEOSArea) -geos_distance = dbl_from_geom(lgeos.GEOSDistance, num_geom=2) -geos_length = dbl_from_geom(lgeos.GEOSLength) +geos_area = dbl_from_geom(GEOSFunc('GEOSArea')) +geos_distance = dbl_from_geom(GEOSFunc('GEOSDistance'), num_geom=2) +geos_length = dbl_from_geom(GEOSFunc('GEOSLength')) diff --git a/django/contrib/gis/geos/prototypes/predicates.py b/django/contrib/gis/geos/prototypes/predicates.py index 596df0a7c..bf69bb140 100644 --- a/django/contrib/gis/geos/prototypes/predicates.py +++ b/django/contrib/gis/geos/prototypes/predicates.py @@ -3,8 +3,9 @@ unary and binary predicate operations on geometries. """ from ctypes import c_char, c_char_p, c_double -from django.contrib.gis.geos.libgeos import lgeos, GEOM_PTR +from django.contrib.gis.geos.libgeos import GEOM_PTR from django.contrib.gis.geos.prototypes.errcheck import check_predicate +from django.contrib.gis.geos.prototypes.threadsafe import GEOSFunc ## Binary & unary predicate functions ## def binary_predicate(func, *args): @@ -24,20 +25,20 @@ def unary_predicate(func): return func ## Unary Predicates ## -geos_hasz = unary_predicate(lgeos.GEOSHasZ) -geos_isempty = unary_predicate(lgeos.GEOSisEmpty) -geos_isring = unary_predicate(lgeos.GEOSisRing) -geos_issimple = unary_predicate(lgeos.GEOSisSimple) -geos_isvalid = unary_predicate(lgeos.GEOSisValid) +geos_hasz = unary_predicate(GEOSFunc('GEOSHasZ')) +geos_isempty = unary_predicate(GEOSFunc('GEOSisEmpty')) +geos_isring = unary_predicate(GEOSFunc('GEOSisRing')) +geos_issimple = unary_predicate(GEOSFunc('GEOSisSimple')) +geos_isvalid = unary_predicate(GEOSFunc('GEOSisValid')) ## Binary Predicates ## -geos_contains = binary_predicate(lgeos.GEOSContains) -geos_crosses = binary_predicate(lgeos.GEOSCrosses) -geos_disjoint = binary_predicate(lgeos.GEOSDisjoint) -geos_equals = binary_predicate(lgeos.GEOSEquals) -geos_equalsexact = binary_predicate(lgeos.GEOSEqualsExact, c_double) -geos_intersects = binary_predicate(lgeos.GEOSIntersects) -geos_overlaps = binary_predicate(lgeos.GEOSOverlaps) -geos_relatepattern = binary_predicate(lgeos.GEOSRelatePattern, c_char_p) -geos_touches = binary_predicate(lgeos.GEOSTouches) -geos_within = binary_predicate(lgeos.GEOSWithin) +geos_contains = binary_predicate(GEOSFunc('GEOSContains')) +geos_crosses = binary_predicate(GEOSFunc('GEOSCrosses')) +geos_disjoint = binary_predicate(GEOSFunc('GEOSDisjoint')) +geos_equals = binary_predicate(GEOSFunc('GEOSEquals')) +geos_equalsexact = binary_predicate(GEOSFunc('GEOSEqualsExact'), c_double) +geos_intersects = binary_predicate(GEOSFunc('GEOSIntersects')) +geos_overlaps = binary_predicate(GEOSFunc('GEOSOverlaps')) +geos_relatepattern = binary_predicate(GEOSFunc('GEOSRelatePattern'), c_char_p) +geos_touches = binary_predicate(GEOSFunc('GEOSTouches')) +geos_within = binary_predicate(GEOSFunc('GEOSWithin')) diff --git a/django/contrib/gis/geos/prototypes/prepared.py b/django/contrib/gis/geos/prototypes/prepared.py index 6fde0cddd..7342d7d96 100644 --- a/django/contrib/gis/geos/prototypes/prepared.py +++ b/django/contrib/gis/geos/prototypes/prepared.py @@ -1,13 +1,14 @@ from ctypes import c_char -from django.contrib.gis.geos.libgeos import lgeos, GEOM_PTR, PREPGEOM_PTR +from django.contrib.gis.geos.libgeos import GEOM_PTR, PREPGEOM_PTR from django.contrib.gis.geos.prototypes.errcheck import check_predicate +from django.contrib.gis.geos.prototypes.threadsafe import GEOSFunc # Prepared geometry constructor and destructors. -geos_prepare = lgeos.GEOSPrepare +geos_prepare = GEOSFunc('GEOSPrepare') geos_prepare.argtypes = [GEOM_PTR] geos_prepare.restype = PREPGEOM_PTR -prepared_destroy = lgeos.GEOSPreparedGeom_destroy +prepared_destroy = GEOSFunc('GEOSPreparedGeom_destroy') prepared_destroy.argtpes = [PREPGEOM_PTR] prepared_destroy.restype = None @@ -18,7 +19,7 @@ def prepared_predicate(func): func.errcheck = check_predicate return func -prepared_contains = prepared_predicate(lgeos.GEOSPreparedContains) -prepared_contains_properly = prepared_predicate(lgeos.GEOSPreparedContainsProperly) -prepared_covers = prepared_predicate(lgeos.GEOSPreparedCovers) -prepared_intersects = prepared_predicate(lgeos.GEOSPreparedIntersects) +prepared_contains = prepared_predicate(GEOSFunc('GEOSPreparedContains')) +prepared_contains_properly = prepared_predicate(GEOSFunc('GEOSPreparedContainsProperly')) +prepared_covers = prepared_predicate(GEOSFunc('GEOSPreparedCovers')) +prepared_intersects = prepared_predicate(GEOSFunc('GEOSPreparedIntersects')) diff --git a/django/contrib/gis/geos/prototypes/threadsafe.py b/django/contrib/gis/geos/prototypes/threadsafe.py new file mode 100644 index 000000000..2c9d25ee9 --- /dev/null +++ b/django/contrib/gis/geos/prototypes/threadsafe.py @@ -0,0 +1,86 @@ +import threading +from django.contrib.gis.geos.libgeos import lgeos, notice_h, error_h, CONTEXT_PTR + +class GEOSContextHandle(object): + """ + Python object representing a GEOS context handle. + """ + def __init__(self): + # Initializing the context handler for this thread with + # the notice and error handler. + self.ptr = lgeos.initGEOS_r(notice_h, error_h) + + def __del__(self): + if self.ptr: lgeos.finishGEOS_r(self.ptr) + +# Defining a thread-local object and creating an instance +# to hold a reference to GEOSContextHandle for this thread. +class GEOSContext(threading.local): + handle = None + +thread_context = GEOSContext() + +class GEOSFunc(object): + """ + Class that serves as a wrapper for GEOS C Functions, and will + use thread-safe function variants when available. + """ + def __init__(self, func_name): + try: + # GEOS thread-safe function signatures end with '_r', and + # take an additional context handle parameter. + self.cfunc = getattr(lgeos, func_name + '_r') + self.threaded = True + # Create a reference here to thread_context so it's not + # garbage-collected before an attempt to call this object. + self.thread_context = thread_context + except AttributeError: + # Otherwise, use usual function. + self.cfunc = getattr(lgeos, func_name) + self.threaded = False + + def __call__(self, *args): + if self.threaded: + # If a context handle does not exist for this thread, initialize one. + if not self.thread_context.handle: + self.thread_context.handle = GEOSContextHandle() + # Call the threaded GEOS routine with pointer of the context handle + # as the first argument. + return self.cfunc(self.thread_context.handle.ptr, *args) + else: + return self.cfunc(*args) + + def __str__(self): + return self.cfunc.__name__ + + # argtypes property + def _get_argtypes(self): + return self.cfunc.argtypes + + def _set_argtypes(self, argtypes): + if self.threaded: + new_argtypes = [CONTEXT_PTR] + new_argtypes.extend(argtypes) + self.cfunc.argtypes = new_argtypes + else: + self.cfunc.argtypes = argtypes + + argtypes = property(_get_argtypes, _set_argtypes) + + # restype property + def _get_restype(self): + return self.cfunc.restype + + def _set_restype(self, restype): + self.cfunc.restype = restype + + restype = property(_get_restype, _set_restype) + + # errcheck property + def _get_errcheck(self): + return self.cfunc.errcheck + + def _set_errcheck(self, errcheck): + self.cfunc.errcheck = errcheck + + errcheck = property(_get_errcheck, _set_errcheck) diff --git a/django/contrib/gis/geos/prototypes/topology.py b/django/contrib/gis/geos/prototypes/topology.py index 65c26f9f3..50817f9e3 100644 --- a/django/contrib/gis/geos/prototypes/topology.py +++ b/django/contrib/gis/geos/prototypes/topology.py @@ -8,9 +8,10 @@ __all__ = ['geos_boundary', 'geos_buffer', 'geos_centroid', 'geos_convexhull', 'geos_simplify', 'geos_symdifference', 'geos_union', 'geos_relate'] from ctypes import c_char_p, c_double, c_int -from django.contrib.gis.geos.libgeos import lgeos, GEOM_PTR, GEOS_PREPARE +from django.contrib.gis.geos.libgeos import GEOM_PTR, GEOS_PREPARE from django.contrib.gis.geos.prototypes.errcheck import check_geom, check_string from django.contrib.gis.geos.prototypes.geom import geos_char_p +from django.contrib.gis.geos.prototypes.threadsafe import GEOSFunc def topology(func, *args): "For GEOS unary topology functions." @@ -22,29 +23,29 @@ def topology(func, *args): return func ### Topology Routines ### -geos_boundary = topology(lgeos.GEOSBoundary) -geos_buffer = topology(lgeos.GEOSBuffer, c_double, c_int) -geos_centroid = topology(lgeos.GEOSGetCentroid) -geos_convexhull = topology(lgeos.GEOSConvexHull) -geos_difference = topology(lgeos.GEOSDifference, GEOM_PTR) -geos_envelope = topology(lgeos.GEOSEnvelope) -geos_intersection = topology(lgeos.GEOSIntersection, GEOM_PTR) -geos_linemerge = topology(lgeos.GEOSLineMerge) -geos_pointonsurface = topology(lgeos.GEOSPointOnSurface) -geos_preservesimplify = topology(lgeos.GEOSTopologyPreserveSimplify, c_double) -geos_simplify = topology(lgeos.GEOSSimplify, c_double) -geos_symdifference = topology(lgeos.GEOSSymDifference, GEOM_PTR) -geos_union = topology(lgeos.GEOSUnion, GEOM_PTR) +geos_boundary = topology(GEOSFunc('GEOSBoundary')) +geos_buffer = topology(GEOSFunc('GEOSBuffer'), c_double, c_int) +geos_centroid = topology(GEOSFunc('GEOSGetCentroid')) +geos_convexhull = topology(GEOSFunc('GEOSConvexHull')) +geos_difference = topology(GEOSFunc('GEOSDifference'), GEOM_PTR) +geos_envelope = topology(GEOSFunc('GEOSEnvelope')) +geos_intersection = topology(GEOSFunc('GEOSIntersection'), GEOM_PTR) +geos_linemerge = topology(GEOSFunc('GEOSLineMerge')) +geos_pointonsurface = topology(GEOSFunc('GEOSPointOnSurface')) +geos_preservesimplify = topology(GEOSFunc('GEOSTopologyPreserveSimplify'), c_double) +geos_simplify = topology(GEOSFunc('GEOSSimplify'), c_double) +geos_symdifference = topology(GEOSFunc('GEOSSymDifference'), GEOM_PTR) +geos_union = topology(GEOSFunc('GEOSUnion'), GEOM_PTR) # GEOSRelate returns a string, not a geometry. -geos_relate = lgeos.GEOSRelate +geos_relate = GEOSFunc('GEOSRelate') geos_relate.argtypes = [GEOM_PTR, GEOM_PTR] geos_relate.restype = geos_char_p geos_relate.errcheck = check_string # Routines only in GEOS 3.1+ if GEOS_PREPARE: - geos_cascaded_union = lgeos.GEOSUnionCascaded + geos_cascaded_union = GEOSFunc('GEOSUnionCascaded') geos_cascaded_union.argtypes = [GEOM_PTR] geos_cascaded_union.restype = GEOM_PTR __all__.append('geos_cascaded_union') diff --git a/django/contrib/gis/geos/tests/test_geos.py b/django/contrib/gis/geos/tests/test_geos.py index 070ccf6d5..3cd021e8b 100644 --- a/django/contrib/gis/geos/tests/test_geos.py +++ b/django/contrib/gis/geos/tests/test_geos.py @@ -1,9 +1,9 @@ import ctypes, random, unittest, sys from django.contrib.gis.geos import * from django.contrib.gis.geos.base import gdal, numpy, GEOSBase -from django.contrib.gis.tests.geometries import * +from django.contrib.gis.geometry.test_data import TestDataMixin -class GEOSTest(unittest.TestCase): +class GEOSTest(unittest.TestCase, TestDataMixin): @property def null_srid(self): @@ -61,19 +61,69 @@ class GEOSTest(unittest.TestCase): def test01a_wkt(self): "Testing WKT output." - for g in wkt_out: + for g in self.geometries.wkt_out: geom = fromstr(g.wkt) self.assertEqual(g.ewkt, geom.wkt) def test01b_hex(self): "Testing HEX output." - for g in hex_wkt: + for g in self.geometries.hex_wkt: geom = fromstr(g.wkt) self.assertEqual(g.hex, geom.hex) + def test01b_hexewkb(self): + "Testing (HEX)EWKB output." + from binascii import a2b_hex + + # For testing HEX(EWKB). + ogc_hex = '01010000000000000000000000000000000000F03F' + # `SELECT ST_AsHEXEWKB(ST_GeomFromText('POINT(0 1)', 4326));` + hexewkb_2d = '0101000020E61000000000000000000000000000000000F03F' + # `SELECT ST_AsHEXEWKB(ST_GeomFromEWKT('SRID=4326;POINT(0 1 2)'));` + hexewkb_3d = '01010000A0E61000000000000000000000000000000000F03F0000000000000040' + + pnt_2d = Point(0, 1, srid=4326) + pnt_3d = Point(0, 1, 2, srid=4326) + + # OGC-compliant HEX will not have SRID nor Z value. + self.assertEqual(ogc_hex, pnt_2d.hex) + self.assertEqual(ogc_hex, pnt_3d.hex) + + # HEXEWKB should be appropriate for its dimension -- have to use an + # a WKBWriter w/dimension set accordingly, else GEOS will insert + # garbage into 3D coordinate if there is none. Also, GEOS has a + # a bug in versions prior to 3.1 that puts the X coordinate in + # place of Z; an exception should be raised on those versions. + self.assertEqual(hexewkb_2d, pnt_2d.hexewkb) + if GEOS_PREPARE: + self.assertEqual(hexewkb_3d, pnt_3d.hexewkb) + self.assertEqual(True, GEOSGeometry(hexewkb_3d).hasz) + else: + try: + hexewkb = pnt_3d.hexewkb + except GEOSException: + pass + else: + self.fail('Should have raised GEOSException.') + + # Same for EWKB. + self.assertEqual(buffer(a2b_hex(hexewkb_2d)), pnt_2d.ewkb) + if GEOS_PREPARE: + self.assertEqual(buffer(a2b_hex(hexewkb_3d)), pnt_3d.ewkb) + else: + try: + ewkb = pnt_3d.ewkb + except GEOSException: + pass + else: + self.fail('Should have raised GEOSException') + + # Redundant sanity check. + self.assertEqual(4326, GEOSGeometry(hexewkb_2d).srid) + def test01c_kml(self): "Testing KML output." - for tg in wkt_out: + for tg in self.geometries.wkt_out: geom = fromstr(tg.wkt) kml = getattr(tg, 'kml', False) if kml: self.assertEqual(kml, geom.kml) @@ -82,7 +132,7 @@ class GEOSTest(unittest.TestCase): "Testing the Error handlers." # string-based print "\nBEGIN - expecting GEOS_ERROR; safe to ignore.\n" - for err in errors: + for err in self.geometries.errors: try: g = fromstr(err.wkt) except (GEOSException, ValueError): @@ -104,14 +154,14 @@ class GEOSTest(unittest.TestCase): def test01e_wkb(self): "Testing WKB output." from binascii import b2a_hex - for g in hex_wkt: + for g in self.geometries.hex_wkt: geom = fromstr(g.wkt) wkb = geom.wkb self.assertEqual(b2a_hex(wkb).upper(), g.hex) def test01f_create_hex(self): "Testing creation from HEX." - for g in hex_wkt: + for g in self.geometries.hex_wkt: geom_h = GEOSGeometry(g.hex) # we need to do this so decimal places get normalised geom_t = fromstr(g.wkt) @@ -120,7 +170,7 @@ class GEOSTest(unittest.TestCase): def test01g_create_wkb(self): "Testing creation from WKB." from binascii import a2b_hex - for g in hex_wkt: + for g in self.geometries.hex_wkt: wkb = buffer(a2b_hex(g.hex)) geom_h = GEOSGeometry(wkb) # we need to do this so decimal places get normalised @@ -130,7 +180,7 @@ class GEOSTest(unittest.TestCase): def test01h_ewkt(self): "Testing EWKT." srid = 32140 - for p in polygons: + for p in self.geometries.polygons: ewkt = 'SRID=%d;%s' % (srid, p.wkt) poly = fromstr(ewkt) self.assertEqual(srid, poly.srid) @@ -140,7 +190,7 @@ class GEOSTest(unittest.TestCase): def test01i_json(self): "Testing GeoJSON input/output (via GDAL)." if not gdal or not gdal.GEOJSON: return - for g in json_geoms: + for g in self.geometries.json_geoms: geom = GEOSGeometry(g.wkt) if not hasattr(g, 'not_equal'): self.assertEqual(g.json, geom.json) @@ -182,7 +232,7 @@ class GEOSTest(unittest.TestCase): def test02a_points(self): "Testing Point objects." prev = fromstr('POINT(0 0)') - for p in points: + for p in self.geometries.points: # Creating the point from the WKT pnt = fromstr(p.wkt) self.assertEqual(pnt.geom_type, 'Point') @@ -236,7 +286,7 @@ class GEOSTest(unittest.TestCase): def test02b_multipoints(self): "Testing MultiPoint objects." - for mp in multipoints: + for mp in self.geometries.multipoints: mpnt = fromstr(mp.wkt) self.assertEqual(mpnt.geom_type, 'MultiPoint') self.assertEqual(mpnt.geom_typeid, 4) @@ -246,7 +296,7 @@ class GEOSTest(unittest.TestCase): self.assertRaises(GEOSIndexError, mpnt.__getitem__, len(mpnt)) self.assertEqual(mp.centroid, mpnt.centroid.tuple) - self.assertEqual(mp.points, tuple(m.tuple for m in mpnt)) + self.assertEqual(mp.coords, tuple(m.tuple for m in mpnt)) for p in mpnt: self.assertEqual(p.geom_type, 'Point') self.assertEqual(p.geom_typeid, 0) @@ -256,7 +306,7 @@ class GEOSTest(unittest.TestCase): def test03a_linestring(self): "Testing LineString objects." prev = fromstr('POINT(0 0)') - for l in linestrings: + for l in self.geometries.linestrings: ls = fromstr(l.wkt) self.assertEqual(ls.geom_type, 'LineString') self.assertEqual(ls.geom_typeid, 1) @@ -282,7 +332,7 @@ class GEOSTest(unittest.TestCase): def test03b_multilinestring(self): "Testing MultiLineString objects." prev = fromstr('POINT(0 0)') - for l in multilinestrings: + for l in self.geometries.multilinestrings: ml = fromstr(l.wkt) self.assertEqual(ml.geom_type, 'MultiLineString') self.assertEqual(ml.geom_typeid, 5) @@ -305,7 +355,7 @@ class GEOSTest(unittest.TestCase): def test04_linearring(self): "Testing LinearRing objects." - for rr in linearrings: + for rr in self.geometries.linearrings: lr = fromstr(rr.wkt) self.assertEqual(lr.geom_type, 'LinearRing') self.assertEqual(lr.geom_typeid, 2) @@ -328,7 +378,7 @@ class GEOSTest(unittest.TestCase): self.assertEqual(bbox, p.extent) prev = fromstr('POINT(0 0)') - for p in polygons: + for p in self.geometries.polygons: # Creating the Polygon, testing its properties. poly = fromstr(p.wkt) self.assertEqual(poly.geom_type, 'Polygon') @@ -387,7 +437,7 @@ class GEOSTest(unittest.TestCase): "Testing MultiPolygon objects." print "\nBEGIN - expecting GEOS_NOTICE; safe to ignore.\n" prev = fromstr('POINT (0 0)') - for mp in multipolygons: + for mp in self.geometries.multipolygons: mpoly = fromstr(mp.wkt) self.assertEqual(mpoly.geom_type, 'MultiPolygon') self.assertEqual(mpoly.geom_typeid, 6) @@ -413,7 +463,7 @@ class GEOSTest(unittest.TestCase): # These tests are needed to ensure sanity with writable geometries. # Getting a polygon with interior rings, and pulling out the interior rings - poly = fromstr(polygons[1].wkt) + poly = fromstr(self.geometries.polygons[1].wkt) ring1 = poly[0] ring2 = poly[1] @@ -429,12 +479,9 @@ class GEOSTest(unittest.TestCase): # Access to these rings is OK since they are clones. s1, s2 = str(ring1), str(ring2) - # The previous hijinks tests are now moot because only clones are - # now used =) - def test08_coord_seq(self): "Testing Coordinate Sequence objects." - for p in polygons: + for p in self.geometries.polygons: if p.ext_ring_cs: # Constructing the polygon and getting the coordinate sequence poly = fromstr(p.wkt) @@ -463,22 +510,18 @@ class GEOSTest(unittest.TestCase): "Testing relate() and relate_pattern()." g = fromstr('POINT (0 0)') self.assertRaises(GEOSException, g.relate_pattern, 0, 'invalid pattern, yo') - for i in xrange(len(relate_geoms)): - g_tup = relate_geoms[i] - a = fromstr(g_tup[0].wkt) - b = fromstr(g_tup[1].wkt) - pat = g_tup[2] - result = g_tup[3] - self.assertEqual(result, a.relate_pattern(b, pat)) - self.assertEqual(pat, a.relate(b)) + for rg in self.geometries.relate_geoms: + a = fromstr(rg.wkt_a) + b = fromstr(rg.wkt_b) + self.assertEqual(rg.result, a.relate_pattern(b, rg.pattern)) + self.assertEqual(rg.pattern, a.relate(b)) def test10_intersection(self): "Testing intersects() and intersection()." - for i in xrange(len(topology_geoms)): - g_tup = topology_geoms[i] - a = fromstr(g_tup[0].wkt) - b = fromstr(g_tup[1].wkt) - i1 = fromstr(intersect_geoms[i].wkt) + for i in xrange(len(self.geometries.topology_geoms)): + a = fromstr(self.geometries.topology_geoms[i].wkt_a) + b = fromstr(self.geometries.topology_geoms[i].wkt_b) + i1 = fromstr(self.geometries.intersect_geoms[i].wkt) self.assertEqual(True, a.intersects(b)) i2 = a.intersection(b) self.assertEqual(i1, i2) @@ -488,11 +531,10 @@ class GEOSTest(unittest.TestCase): def test11_union(self): "Testing union()." - for i in xrange(len(topology_geoms)): - g_tup = topology_geoms[i] - a = fromstr(g_tup[0].wkt) - b = fromstr(g_tup[1].wkt) - u1 = fromstr(union_geoms[i].wkt) + for i in xrange(len(self.geometries.topology_geoms)): + a = fromstr(self.geometries.topology_geoms[i].wkt_a) + b = fromstr(self.geometries.topology_geoms[i].wkt_b) + u1 = fromstr(self.geometries.union_geoms[i].wkt) u2 = a.union(b) self.assertEqual(u1, u2) self.assertEqual(u1, a | b) # __or__ is union operator @@ -501,11 +543,10 @@ class GEOSTest(unittest.TestCase): def test12_difference(self): "Testing difference()." - for i in xrange(len(topology_geoms)): - g_tup = topology_geoms[i] - a = fromstr(g_tup[0].wkt) - b = fromstr(g_tup[1].wkt) - d1 = fromstr(diff_geoms[i].wkt) + for i in xrange(len(self.geometries.topology_geoms)): + a = fromstr(self.geometries.topology_geoms[i].wkt_a) + b = fromstr(self.geometries.topology_geoms[i].wkt_b) + d1 = fromstr(self.geometries.diff_geoms[i].wkt) d2 = a.difference(b) self.assertEqual(d1, d2) self.assertEqual(d1, a - b) # __sub__ is difference operator @@ -514,11 +555,10 @@ class GEOSTest(unittest.TestCase): def test13_symdifference(self): "Testing sym_difference()." - for i in xrange(len(topology_geoms)): - g_tup = topology_geoms[i] - a = fromstr(g_tup[0].wkt) - b = fromstr(g_tup[1].wkt) - d1 = fromstr(sdiff_geoms[i].wkt) + for i in xrange(len(self.geometries.topology_geoms)): + a = fromstr(self.geometries.topology_geoms[i].wkt_a) + b = fromstr(self.geometries.topology_geoms[i].wkt_b) + d1 = fromstr(self.geometries.sdiff_geoms[i].wkt) d2 = a.sym_difference(b) self.assertEqual(d1, d2) self.assertEqual(d1, a ^ b) # __xor__ is symmetric difference operator @@ -527,18 +567,19 @@ class GEOSTest(unittest.TestCase): def test14_buffer(self): "Testing buffer()." - for i in xrange(len(buffer_geoms)): - g_tup = buffer_geoms[i] - g = fromstr(g_tup[0].wkt) + for bg in self.geometries.buffer_geoms: + g = fromstr(bg.wkt) # The buffer we expect - exp_buf = fromstr(g_tup[1].wkt) + exp_buf = fromstr(bg.buffer_wkt) + quadsegs = bg.quadsegs + width = bg.width # Can't use a floating-point for the number of quadsegs. - self.assertRaises(ctypes.ArgumentError, g.buffer, g_tup[2], float(g_tup[3])) + self.assertRaises(ctypes.ArgumentError, g.buffer, width, float(quadsegs)) # Constructing our buffer - buf = g.buffer(g_tup[2], g_tup[3]) + buf = g.buffer(width, quadsegs) self.assertEqual(exp_buf.num_coords, buf.num_coords) self.assertEqual(len(exp_buf), len(buf)) @@ -562,7 +603,7 @@ class GEOSTest(unittest.TestCase): self.assertRaises(ctypes.ArgumentError, pnt.set_srid, '4326') # Testing SRID keyword on fromstr(), and on Polygon rings. - poly = fromstr(polygons[1].wkt, srid=4269) + poly = fromstr(self.geometries.polygons[1].wkt, srid=4269) self.assertEqual(4269, poly.srid) for ring in poly: self.assertEqual(4269, ring.srid) poly.srid = 4326 @@ -593,7 +634,7 @@ class GEOSTest(unittest.TestCase): def test16_mutable_geometries(self): "Testing the mutability of Polygons and Geometry Collections." ### Testing the mutability of Polygons ### - for p in polygons: + for p in self.geometries.polygons: poly = fromstr(p.wkt) # Should only be able to use __setitem__ with LinearRing geometries. @@ -612,7 +653,7 @@ class GEOSTest(unittest.TestCase): self.assertEqual(poly[0], new_shell) ### Testing the mutability of Geometry Collections - for tg in multipoints: + for tg in self.geometries.multipoints: mp = fromstr(tg.wkt) for i in range(len(mp)): # Creating a random point. @@ -627,7 +668,7 @@ class GEOSTest(unittest.TestCase): # MultiPolygons involve much more memory management because each # Polygon w/in the collection has its own rings. - for tg in multipolygons: + for tg in self.geometries.multipolygons: mpoly = fromstr(tg.wkt) for i in xrange(len(mpoly)): poly = mpoly[i] @@ -748,10 +789,10 @@ class GEOSTest(unittest.TestCase): "Testing GeometryCollection handling of other collections." # Creating a GeometryCollection WKT string composed of other # collections and polygons. - coll = [mp.wkt for mp in multipolygons if mp.valid] - coll.extend([mls.wkt for mls in multilinestrings]) - coll.extend([p.wkt for p in polygons]) - coll.extend([mp.wkt for mp in multipoints]) + coll = [mp.wkt for mp in self.geometries.multipolygons if mp.valid] + coll.extend([mls.wkt for mls in self.geometries.multilinestrings]) + coll.extend([p.wkt for p in self.geometries.polygons]) + coll.extend([mp.wkt for mp in self.geometries.multipoints]) gc_wkt = 'GEOMETRYCOLLECTION(%s)' % ','.join(coll) # Should construct ok from WKT @@ -778,7 +819,7 @@ class GEOSTest(unittest.TestCase): def test22_copy(self): "Testing use with the Python `copy` module." - import copy + import django.utils.copycompat as copy poly = GEOSGeometry('POLYGON((0 0, 0 23, 23 23, 23 0, 0 0), (5 5, 5 10, 10 10, 10 5, 5 5))') cpy1 = copy.copy(poly) cpy2 = copy.deepcopy(poly) @@ -819,7 +860,7 @@ class GEOSTest(unittest.TestCase): # Extent of points is just the point itself repeated. self.assertEqual((5.23, 17.8, 5.23, 17.8), pnt.extent) # Testing on the 'real world' Polygon. - poly = fromstr(polygons[3].wkt) + poly = fromstr(self.geometries.polygons[3].wkt) ring = poly.shell x, y = ring.x, ring.y xmin, ymin = min(x), min(y) @@ -835,10 +876,10 @@ class GEOSTest(unittest.TestCase): # and setting the SRID on some of them. def get_geoms(lst, srid=None): return [GEOSGeometry(tg.wkt, srid) for tg in lst] - tgeoms = get_geoms(points) - tgeoms.extend(get_geoms(multilinestrings, 4326)) - tgeoms.extend(get_geoms(polygons, 3084)) - tgeoms.extend(get_geoms(multipolygons, 900913)) + tgeoms = get_geoms(self.geometries.points) + tgeoms.extend(get_geoms(self.geometries.multilinestrings, 4326)) + tgeoms.extend(get_geoms(self.geometries.polygons, 3084)) + tgeoms.extend(get_geoms(self.geometries.multipolygons, 900913)) # The SRID won't be exported in GEOS 3.0 release candidates. no_srid = self.null_srid == -1 diff --git a/django/contrib/gis/geos/tests/test_geos_mutation.py b/django/contrib/gis/geos/tests/test_geos_mutation.py index 260a4689a..28f484dca 100644 --- a/django/contrib/gis/geos/tests/test_geos_mutation.py +++ b/django/contrib/gis/geos/tests/test_geos_mutation.py @@ -2,9 +2,11 @@ # Modified from original contribution by Aryeh Leib Taurog, which was # released under the New BSD license. import unittest + +import django.utils.copycompat as copy + from django.contrib.gis.geos import * from django.contrib.gis.geos.error import GEOSIndexError -import copy def getItem(o,i): return o[i] def delItem(o,i): del o[i] diff --git a/django/contrib/gis/management/commands/inspectdb.py b/django/contrib/gis/management/commands/inspectdb.py index 365bb2406..937bb8eb3 100644 --- a/django/contrib/gis/management/commands/inspectdb.py +++ b/django/contrib/gis/management/commands/inspectdb.py @@ -1,188 +1,32 @@ -""" - This overrides the traditional `inspectdb` command so that geographic databases - may be introspected. -""" +from optparse import make_option -from django.core.management.commands.inspectdb import Command as InspectCommand -from django.contrib.gis.db.backend import SpatialBackend +from django.core.management.base import CommandError +from django.core.management.commands.inspectdb import Command as InspectDBCommand -class Command(InspectCommand): +class Command(InspectDBCommand): + db_module = 'django.contrib.gis.db' + gis_tables = {} - # Mapping from lower-case OGC type to the corresponding GeoDjango field. - geofield_mapping = {'point' : 'PointField', - 'linestring' : 'LineStringField', - 'polygon' : 'PolygonField', - 'multipoint' : 'MultiPointField', - 'multilinestring' : 'MultiLineStringField', - 'multipolygon' : 'MultiPolygonField', - 'geometrycollection' : 'GeometryCollectionField', - 'geometry' : 'GeometryField', - } - - def geometry_columns(self): - """ - Returns a datastructure of metadata information associated with the - `geometry_columns` (or equivalent) table. - """ - # The `geo_cols` is a dictionary data structure that holds information - # about any geographic columns in the database. - geo_cols = {} - def add_col(table, column, coldata): - if table in geo_cols: - # If table already has a geometry column. - geo_cols[table][column] = coldata + def get_field_type(self, connection, table_name, row): + field_type, field_params, field_notes = super(Command, self).get_field_type(connection, table_name, row) + if field_type == 'GeometryField': + geo_col = row[0] + # Getting a more specific field type and any additional parameters + # from the `get_geometry_type` routine for the spatial backend. + field_type, geo_params = connection.introspection.get_geometry_type(table_name, geo_col) + field_params.update(geo_params) + # Adding the table name and column to the `gis_tables` dictionary, this + # allows us to track which tables need a GeoManager. + if table_name in self.gis_tables: + self.gis_tables[table_name].append(geo_col) else: - # Otherwise, create a dictionary indexed by column. - geo_cols[table] = { column : coldata } + self.gis_tables[table_name] = [geo_col] + return field_type, field_params, field_notes - if SpatialBackend.name == 'postgis': - # PostGIS holds all geographic column information in the `geometry_columns` table. - from django.contrib.gis.models import GeometryColumns - for geo_col in GeometryColumns.objects.all(): - table = geo_col.f_table_name - column = geo_col.f_geometry_column - coldata = {'type' : geo_col.type, 'srid' : geo_col.srid, 'dim' : geo_col.coord_dimension} - add_col(table, column, coldata) - return geo_cols - elif SpatialBackend.name == 'mysql': - # On MySQL have to get all table metadata before hand; this means walking through - # each table and seeing if any column types are spatial. Can't detect this with - # `cursor.description` (what the introspection module does) because all spatial types - # have the same integer type (255 for GEOMETRY). - from django.db import connection - cursor = connection.cursor() - cursor.execute('SHOW TABLES') - tables = cursor.fetchall(); - for table_tup in tables: - table = table_tup[0] - table_desc = cursor.execute('DESCRIBE `%s`' % table) - col_info = cursor.fetchall() - for column, typ, null, key, default, extra in col_info: - if typ in self.geofield_mapping: add_col(table, column, {'type' : typ}) - return geo_cols - else: - # TODO: Oracle (has incomplete `geometry_columns` -- have to parse - # SDO SQL to get specific type, SRID, and other information). - raise NotImplementedError('Geographic database inspection not available.') - - def handle_inspection(self): - "Overloaded from Django's version to handle geographic database tables." - from django.db import connection - import keyword - - geo_cols = self.geometry_columns() - - table2model = lambda table_name: table_name.title().replace('_', '') - - cursor = connection.cursor() - yield "# This is an auto-generated Django model module." - yield "# You'll have to do the following manually to clean this up:" - yield "# * Rearrange models' order" - 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 sqlcustom [appname]'" - yield "# into your database." - yield '' - yield 'from django.contrib.gis.db import models' - yield '' - for table_name in connection.introspection.get_table_list(cursor): - # Getting the geographic table dictionary. - geo_table = geo_cols.get(table_name, {}) - - yield 'class %s(models.Model):' % table2model(table_name) - try: - relations = connection.introspection.get_relations(cursor, table_name) - except NotImplementedError: - relations = {} - try: - indexes = connection.introspection.get_indexes(cursor, table_name) - except NotImplementedError: - indexes = {} - for i, row in enumerate(connection.introspection.get_table_description(cursor, table_name)): - att_name, iatt_name = row[0].lower(), row[0] - comment_notes = [] # Holds Field notes, to be displayed in a Python comment. - extra_params = {} # Holds Field parameters such as 'db_column'. - - if ' ' in att_name: - extra_params['db_column'] = att_name - att_name = att_name.replace(' ', '') - comment_notes.append('Field renamed to remove spaces.') - if keyword.iskeyword(att_name): - extra_params['db_column'] = att_name - att_name += '_field' - comment_notes.append('Field renamed because it was a Python reserved word.') - - 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'): - att_name = att_name[:-3] - else: - extra_params['db_column'] = att_name - else: - if iatt_name in geo_table: - ## Customization for Geographic Columns ## - geo_col = geo_table[iatt_name] - field_type = self.geofield_mapping[geo_col['type'].lower()] - # Adding extra keyword arguments for the SRID and dimension (if not defaults). - dim, srid = geo_col.get('dim', 2), geo_col.get('srid', 4326) - if dim != 2: extra_params['dim'] = dim - if srid != 4326: extra_params['srid'] = srid - else: - try: - field_type = connection.introspection.get_field_type(row[1], row) - except KeyError: - field_type = 'TextField' - comment_notes.append('This field type is a guess.') - - # This is a hook for data_types_reverse to return a tuple of - # (field_type, extra_params_dict). - if type(field_type) is tuple: - field_type, new_params = field_type - extra_params.update(new_params) - - # Add max_length for all CharFields. - if field_type == 'CharField' and row[3]: - extra_params['max_length'] = row[3] - - if field_type == 'DecimalField': - extra_params['max_digits'] = row[4] - extra_params['decimal_places'] = row[5] - - # Add primary_key and unique, if necessary. - column_name = extra_params.get('db_column', att_name) - if column_name in indexes: - if indexes[column_name]['primary_key']: - extra_params['primary_key'] = True - elif indexes[column_name]['unique']: - extra_params['unique'] = True - - field_type += '(' - - # Don't output 'id = meta.AutoField(primary_key=True)', because - # that's assumed if it doesn't exist. - if att_name == 'id' and field_type == 'AutoField(' and extra_params == {'primary_key': True}: - continue - - # Add 'null' and 'blank', if the 'null_ok' flag was present in the - # table description. - if row[6]: # If it's NULL... - extra_params['blank'] = True - if not field_type in ('TextField(', 'CharField('): - extra_params['null'] = True - - field_desc = '%s = models.%s' % (att_name, field_type) - if extra_params: - if not field_desc.endswith('('): - field_desc += ', ' - field_desc += ', '.join(['%s=%r' % (k, v) for k, v in extra_params.items()]) - field_desc += ')' - if comment_notes: - field_desc += ' # ' + ' '.join(comment_notes) - yield ' %s' % field_desc - if table_name in geo_cols: - yield ' objects = models.GeoManager()' - yield ' class Meta:' - yield ' db_table = %r' % table_name - yield '' + def get_meta(self, table_name): + meta_lines = super(Command, self).get_meta(table_name) + if table_name in self.gis_tables: + # If the table is a geographic one, then we need make + # GeoManager the default manager for the model. + meta_lines.insert(0, ' objects = models.GeoManager()') + return meta_lines diff --git a/django/contrib/gis/maps/google/__init__.py b/django/contrib/gis/maps/google/__init__.py index e1e38a9af..9be689c07 100644 --- a/django/contrib/gis/maps/google/__init__.py +++ b/django/contrib/gis/maps/google/__init__.py @@ -1,6 +1,6 @@ """ This module houses the GoogleMap object, used for generating - the needed javascript to embed Google Maps in a webpage. + the needed javascript to embed Google Maps in a Web page. Google(R) is a registered trademark of Google, Inc. of Mountain View, California. diff --git a/django/contrib/gis/measure.py b/django/contrib/gis/measure.py index 37922040d..a60398bcc 100644 --- a/django/contrib/gis/measure.py +++ b/django/contrib/gis/measure.py @@ -27,7 +27,7 @@ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # """ -Distance and Area objects to allow for sensible and convienient calculation +Distance and Area objects to allow for sensible and convienient calculation and conversions. Authors: Robert Coup, Justin Bronn @@ -70,7 +70,7 @@ class MeasureBase(object): @classmethod def unit_attname(cls, unit_str): """ - Retrieves the unit attribute name for the given unit string. + Retrieves the unit attribute name for the given unit string. For example, if the given unit string is 'metre', 'm' would be returned. An exception is raised if an attribute cannot be found. """ @@ -165,51 +165,51 @@ class Distance(MeasureBase): self.m, self._default_unit = self.default_units(kwargs) if default_unit and isinstance(default_unit, str): self._default_unit = default_unit - + def __getattr__(self, name): if name in self.UNITS: return self.m / self.UNITS[name] else: raise AttributeError('Unknown unit type: %s' % name) - + def __repr__(self): return 'Distance(%s=%s)' % (self._default_unit, getattr(self, self._default_unit)) def __str__(self): return '%s %s' % (getattr(self, self._default_unit), self._default_unit) - + def __cmp__(self, other): if isinstance(other, Distance): return cmp(self.m, other.m) else: return NotImplemented - + def __add__(self, other): if isinstance(other, Distance): return Distance(default_unit=self._default_unit, m=(self.m + other.m)) else: raise TypeError('Distance must be added with Distance') - + def __iadd__(self, other): if isinstance(other, Distance): self.m += other.m return self else: raise TypeError('Distance must be added with Distance') - + def __sub__(self, other): if isinstance(other, Distance): return Distance(default_unit=self._default_unit, m=(self.m - other.m)) else: raise TypeError('Distance must be subtracted from Distance') - + def __isub__(self, other): if isinstance(other, Distance): self.m -= other.m return self else: raise TypeError('Distance must be subtracted from Distance') - + def __mul__(self, other): if isinstance(other, (int, float, long, Decimal)): return Distance(default_unit=self._default_unit, m=(self.m * float(other))) @@ -217,14 +217,17 @@ class Distance(MeasureBase): return Area(default_unit='sq_' + self._default_unit, sq_m=(self.m * other.m)) else: raise TypeError('Distance must be multiplied with number or Distance') - + def __imul__(self, other): if isinstance(other, (int, float, long, Decimal)): self.m *= float(other) return self else: raise TypeError('Distance must be multiplied with number') - + + def __rmul__(self, other): + return self * other + def __div__(self, other): if isinstance(other, (int, float, long, Decimal)): return Distance(default_unit=self._default_unit, m=(self.m / float(other))) @@ -251,13 +254,13 @@ class Area(MeasureBase): self.sq_m, self._default_unit = self.default_units(kwargs) if default_unit and isinstance(default_unit, str): self._default_unit = default_unit - + def __getattr__(self, name): if name in self.UNITS: return self.sq_m / self.UNITS[name] else: raise AttributeError('Unknown unit type: ' + name) - + def __repr__(self): return 'Area(%s=%s)' % (self._default_unit, getattr(self, self._default_unit)) @@ -269,46 +272,49 @@ class Area(MeasureBase): return cmp(self.sq_m, other.sq_m) else: return NotImplemented - + def __add__(self, other): if isinstance(other, Area): return Area(default_unit=self._default_unit, sq_m=(self.sq_m + other.sq_m)) else: raise TypeError('Area must be added with Area') - + def __iadd__(self, other): if isinstance(other, Area): self.sq_m += other.sq_m return self else: raise TypeError('Area must be added with Area') - + def __sub__(self, other): if isinstance(other, Area): return Area(default_unit=self._default_unit, sq_m=(self.sq_m - other.sq_m)) else: raise TypeError('Area must be subtracted from Area') - + def __isub__(self, other): if isinstance(other, Area): self.sq_m -= other.sq_m return self else: raise TypeError('Area must be subtracted from Area') - + def __mul__(self, other): if isinstance(other, (int, float, long, Decimal)): return Area(default_unit=self._default_unit, sq_m=(self.sq_m * float(other))) else: raise TypeError('Area must be multiplied with number') - + def __imul__(self, other): if isinstance(other, (int, float, long, Decimal)): self.sq_m *= float(other) return self else: raise TypeError('Area must be multiplied with number') - + + def __rmul__(self, other): + return self * other + def __div__(self, other): if isinstance(other, (int, float, long, Decimal)): return Area(default_unit=self._default_unit, sq_m=(self.sq_m / float(other))) @@ -324,7 +330,7 @@ class Area(MeasureBase): def __nonzero__(self): return bool(self.sq_m) - + # Shortcuts D = Distance A = Area diff --git a/django/contrib/gis/models.py b/django/contrib/gis/models.py index e24ca8e3e..e379e82a7 100644 --- a/django/contrib/gis/models.py +++ b/django/contrib/gis/models.py @@ -1,233 +1,9 @@ -""" - Imports the SpatialRefSys and GeometryColumns models dependent on the - spatial database backend. -""" -import re -from django.conf import settings +from django.db import connection -# Checking for the presence of GDAL (needed for the SpatialReference object) -from django.contrib.gis.gdal import HAS_GDAL, PYTHON23 -if HAS_GDAL: - from django.contrib.gis.gdal import SpatialReference - -class SpatialRefSysMixin(object): - """ - The SpatialRefSysMixin is a class used by the database-dependent - SpatialRefSys objects to reduce redundnant code. - """ - # For pulling out the spheroid from the spatial reference string. This - # regular expression is used only if the user does not have GDAL installed. - # TODO: Flattening not used in all ellipsoids, could also be a minor axis, - # or 'b' parameter. - spheroid_regex = re.compile(r'.+SPHEROID\[\"(?P.+)\",(?P\d+(\.\d+)?),(?P\d{3}\.\d+),') - - # For pulling out the units on platforms w/o GDAL installed. - # TODO: Figure out how to pull out angular units of projected coordinate system and - # fix for LOCAL_CS types. GDAL should be highly recommended for performing - # distance queries. - units_regex = re.compile(r'.+UNIT ?\["(?P[\w \'\(\)]+)", ?(?P[\d\.]+)(,AUTHORITY\["(?P[\w \'\(\)]+)","(?P\d+)"\])?\]([\w ]+)?(,AUTHORITY\["(?P[\w \'\(\)]+)","(?P\d+)"\])?\]$') - - def srs(self): - """ - Returns a GDAL SpatialReference object, if GDAL is installed. - """ - if HAS_GDAL: - # TODO: Is caching really necessary here? Is complexity worth it? - if hasattr(self, '_srs'): - # Returning a clone of the cached SpatialReference object. - return self._srs.clone() - else: - # Attempting to cache a SpatialReference object. - - # Trying to get from WKT first. - try: - self._srs = SpatialReference(self.wkt) - return self.srs - except Exception, msg: - pass - - try: - self._srs = SpatialReference(self.proj4text) - return self.srs - except Exception, msg: - pass - - raise Exception('Could not get OSR SpatialReference from WKT: %s\nError:\n%s' % (self.wkt, msg)) - else: - raise Exception('GDAL is not installed.') - srs = property(srs) - - def ellipsoid(self): - """ - Returns a tuple of the ellipsoid parameters: - (semimajor axis, semiminor axis, and inverse flattening). - """ - if HAS_GDAL: - return self.srs.ellipsoid - else: - m = self.spheroid_regex.match(self.wkt) - if m: return (float(m.group('major')), float(m.group('flattening'))) - else: return None - ellipsoid = property(ellipsoid) - - def name(self): - "Returns the projection name." - return self.srs.name - name = property(name) - - def spheroid(self): - "Returns the spheroid name for this spatial reference." - return self.srs['spheroid'] - spheroid = property(spheroid) - - def datum(self): - "Returns the datum for this spatial reference." - return self.srs['datum'] - datum = property(datum) - - def projected(self): - "Is this Spatial Reference projected?" - if HAS_GDAL: - return self.srs.projected - else: - return self.wkt.startswith('PROJCS') - projected = property(projected) - - def local(self): - "Is this Spatial Reference local?" - if HAS_GDAL: - return self.srs.local - else: - return self.wkt.startswith('LOCAL_CS') - local = property(local) - - def geographic(self): - "Is this Spatial Reference geographic?" - if HAS_GDAL: - return self.srs.geographic - else: - return self.wkt.startswith('GEOGCS') - geographic = property(geographic) - - def linear_name(self): - "Returns the linear units name." - if HAS_GDAL: - return self.srs.linear_name - elif self.geographic: - return None - else: - m = self.units_regex.match(self.wkt) - return m.group('unit_name') - linear_name = property(linear_name) - - def linear_units(self): - "Returns the linear units." - if HAS_GDAL: - return self.srs.linear_units - elif self.geographic: - return None - else: - m = self.units_regex.match(self.wkt) - return m.group('unit') - linear_units = property(linear_units) - - def angular_name(self): - "Returns the name of the angular units." - if HAS_GDAL: - return self.srs.angular_name - elif self.projected: - return None - else: - m = self.units_regex.match(self.wkt) - return m.group('unit_name') - angular_name = property(angular_name) - - def angular_units(self): - "Returns the angular units." - if HAS_GDAL: - return self.srs.angular_units - elif self.projected: - return None - else: - m = self.units_regex.match(self.wkt) - return m.group('unit') - angular_units = property(angular_units) - - def units(self): - "Returns a tuple of the units and the name." - if self.projected or self.local: - return (self.linear_units, self.linear_name) - elif self.geographic: - return (self.angular_units, self.angular_name) - else: - return (None, None) - units = property(units) - - def get_units(cls, wkt): - """ - Class method used by GeometryField on initialization to - retrive the units on the given WKT, without having to use - any of the database fields. - """ - if HAS_GDAL: - return SpatialReference(wkt).units - else: - m = cls.units_regex.match(wkt) - return m.group('unit'), m.group('unit_name') - get_units = classmethod(get_units) - - def get_spheroid(cls, wkt, string=True): - """ - Class method used by GeometryField on initialization to - retrieve the `SPHEROID[..]` parameters from the given WKT. - """ - if HAS_GDAL: - srs = SpatialReference(wkt) - sphere_params = srs.ellipsoid - sphere_name = srs['spheroid'] - else: - m = cls.spheroid_regex.match(wkt) - if m: - sphere_params = (float(m.group('major')), float(m.group('flattening'))) - sphere_name = m.group('name') - else: - return None - - if not string: - return sphere_name, sphere_params - else: - # `string` parameter used to place in format acceptable by PostGIS - if len(sphere_params) == 3: - radius, flattening = sphere_params[0], sphere_params[2] - else: - radius, flattening = sphere_params - return 'SPHEROID["%s",%s,%s]' % (sphere_name, radius, flattening) - get_spheroid = classmethod(get_spheroid) - - def __unicode__(self): - """ - Returns the string representation. If GDAL is installed, - it will be 'pretty' OGC WKT. - """ - try: - return unicode(self.srs) - except: - return unicode(self.wkt) - -# Django test suite on 2.3 platforms will choke on code inside this -# conditional. -if not PYTHON23: - try: - # try/except'ing the importation of SpatialBackend. Have to fail - # silently because this module may be inadvertently invoked by - # non-GeoDjango users (e.g., when the Django test suite executes - # the models.py of all contrib apps). - from django.contrib.gis.db.backend import SpatialBackend - if SpatialBackend.mysql: raise Exception - - # Exposing the SpatialRefSys and GeometryColumns models. - class SpatialRefSys(SpatialBackend.SpatialRefSys, SpatialRefSysMixin): - pass - GeometryColumns = SpatialBackend.GeometryColumns - except: - pass +if (hasattr(connection.ops, 'spatial_version') and + not connection.ops.mysql): + # Getting the `SpatialRefSys` and `GeometryColumns` + # models for the default spatial backend. These + # aliases are provided for backwards-compatibility. + SpatialRefSys = connection.ops.spatial_ref_sys() + GeometryColumns = connection.ops.geometry_columns() diff --git a/django/contrib/gis/sitemaps/georss.py b/django/contrib/gis/sitemaps/georss.py index aca53a43c..f75cf804b 100644 --- a/django/contrib/gis/sitemaps/georss.py +++ b/django/contrib/gis/sitemaps/georss.py @@ -36,12 +36,12 @@ class GeoRSSSitemap(Sitemap): else: self.locations.append(section) - def get_urls(self, page=1): + def get_urls(self, page=1, site=None): """ This method is overrridden so the appropriate `geo_format` attribute is placed on each URL element. """ - urls = Sitemap.get_urls(self, page=page) + urls = Sitemap.get_urls(self, page=page, site=site) for url in urls: url['geo_format'] = 'georss' return urls diff --git a/django/contrib/gis/sitemaps/kml.py b/django/contrib/gis/sitemaps/kml.py index d85744f0f..db30606b0 100644 --- a/django/contrib/gis/sitemaps/kml.py +++ b/django/contrib/gis/sitemaps/kml.py @@ -40,12 +40,12 @@ class KMLSitemap(Sitemap): raise TypeError('KML Sources must be a model or a 3-tuple.') return kml_sources - def get_urls(self, page=1): + def get_urls(self, page=1, site=None): """ This method is overrridden so the appropriate `geo_format` attribute is placed on each URL element. """ - urls = Sitemap.get_urls(self, page=page) + urls = Sitemap.get_urls(self, page=page, site=site) for url in urls: url['geo_format'] = self.geo_format return urls diff --git a/django/contrib/gis/sitemaps/views.py b/django/contrib/gis/sitemaps/views.py index 782a1b9ce..02a0fc02a 100644 --- a/django/contrib/gis/sitemaps/views.py +++ b/django/contrib/gis/sitemaps/views.py @@ -1,11 +1,11 @@ from django.http import HttpResponse, Http404 from django.template import loader -from django.contrib.gis.db.backend import SpatialBackend -from django.contrib.sites.models import Site +from django.contrib.sites.models import get_current_site from django.core import urlresolvers from django.core.paginator import EmptyPage, PageNotAnInteger -from django.db.models import get_model from django.contrib.gis.db.models.fields import GeometryField +from django.db import connections, DEFAULT_DB_ALIAS +from django.db.models import get_model from django.utils.encoding import smart_str from django.contrib.gis.shortcuts import render_to_kml, render_to_kmz @@ -15,7 +15,7 @@ def index(request, sitemaps): This view generates a sitemap index that uses the proper view for resolving geographic section sitemap URLs. """ - current_site = Site.objects.get_current() + current_site = get_current_site(request) sites = [] protocol = request.is_secure() and 'https' or 'http' for section, site in sitemaps.items(): @@ -25,7 +25,7 @@ def index(request, sitemaps): pages = site.paginator.num_pages sitemap_url = urlresolvers.reverse('django.contrib.gis.sitemaps.views.sitemap', kwargs={'section': section}) sites.append('%s://%s%s' % (protocol, current_site.domain, sitemap_url)) - + if pages > 1: for page in range(2, pages+1): sites.append('%s://%s%s?p=%s' % (protocol, current_site.domain, sitemap_url, page)) @@ -46,12 +46,13 @@ def sitemap(request, sitemaps, section=None): maps = sitemaps.values() page = request.GET.get("p", 1) + current_site = get_current_site(request) for site in maps: try: if callable(site): - urls.extend(site().get_urls(page)) + urls.extend(site().get_urls(page=page, site=current_site)) else: - urls.extend(site.get_urls(page)) + urls.extend(site.get_urls(page=page, site=current_site)) except EmptyPage: raise Http404("Page %s empty" % page) except PageNotAnInteger: @@ -59,7 +60,7 @@ def sitemap(request, sitemaps, section=None): xml = smart_str(loader.render_to_string('gis/sitemaps/geo_sitemap.xml', {'urlset': urls})) return HttpResponse(xml, mimetype='application/xml') -def kml(request, label, model, field_name=None, compress=False): +def kml(request, label, model, field_name=None, compress=False, using=DEFAULT_DB_ALIAS): """ This view generates KML for the given app label, model, and field name. @@ -79,17 +80,19 @@ def kml(request, label, model, field_name=None, compress=False): except: raise Http404('Invalid geometry field.') - if SpatialBackend.postgis: + connection = connections[using] + + if connection.ops.postgis: # PostGIS will take care of transformation. - placemarks = klass._default_manager.kml(field_name=field_name) + placemarks = klass._default_manager.using(using).kml(field_name=field_name) else: # There's no KML method on Oracle or MySQL, so we use the `kml` # attribute of the lazy geometry instead. placemarks = [] - if SpatialBackend.oracle: - qs = klass._default_manager.transform(4326, field_name=field_name) + if connection.ops.oracle: + qs = klass._default_manager.using(using).transform(4326, field_name=field_name) else: - qs = klass._default_manager.all() + qs = klass._default_manager.using(using).all() for mod in qs: setattr(mod, 'kml', getattr(mod, field_name).kml) placemarks.append(mod) @@ -101,8 +104,8 @@ def kml(request, label, model, field_name=None, compress=False): render = render_to_kml return render('gis/kml/placemarks.kml', {'places' : placemarks}) -def kmz(request, label, model, field_name=None): +def kmz(request, label, model, field_name=None, using=DEFAULT_DB_ALIAS): """ This view returns KMZ for the given app label, model, and field name. """ - return kml(request, label, model, field_name, True) + return kml(request, label, model, field_name, compress=True, using=using) diff --git a/django/contrib/gis/templates/gis/admin/openlayers.js b/django/contrib/gis/templates/gis/admin/openlayers.js index 93286cc46..c455bffd5 100644 --- a/django/contrib/gis/templates/gis/admin/openlayers.js +++ b/django/contrib/gis/templates/gis/admin/openlayers.js @@ -1,6 +1,8 @@ {# Author: Justin Bronn, Travis Pinney & Dane Springmeyer #} +OpenLayers.Projection.addTransform("EPSG:4326", "EPSG:3857", OpenLayers.Layer.SphericalMercator.projectForward); {% block vars %}var {{ module }} = {}; -{{ module }}.map = null; {{ module }}.controls = null; {{ module }}.panel = null; {{ module }}.re = new RegExp("^SRID=\d+;(.+)", "i"); {{ module }}.layers = {}; +{{ module }}.map = null; {{ module }}.controls = null; {{ module }}.panel = null; {{ module }}.re = new RegExp("^SRID=\d+;(.+)", "i"); {{ module }}.layers = {}; +{{ module }}.modifiable = {{ modifiable|yesno:"true,false" }}; {{ module }}.wkt_f = new OpenLayers.Format.WKT(); {{ module }}.is_collection = {{ is_collection|yesno:"true,false" }}; {{ module }}.collection_type = '{{ collection_type }}'; @@ -43,10 +45,10 @@ {{ module }}.modify_wkt = function(event){ if ({{ module }}.is_collection){ if ({{ module }}.is_point){ - {{ module }}.add_wkt(event); + {{ module }}.add_wkt(event); return; } else { - // When modifying the selected components are added to the + // When modifying the selected components are added to the // vector layer so we only increment to the `num_geom` value. var feat = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.{{ geom_type }}()); for (var i = 0; i < {{ module }}.num_geom; i++){ @@ -69,7 +71,7 @@ {{ module }}.map.setCenter(new OpenLayers.LonLat({{ default_lon }}, {{ default_lat }}), {{ default_zoom }}); } // Add Select control -{{ module }}.addSelectControl = function(){ +{{ module }}.addSelectControl = function(){ var select = new OpenLayers.Control.SelectFeature({{ module }}.layers.vector, {'toggle' : true, 'clickout' : true}); {{ module }}.map.addControl(select); select.activate(); @@ -88,16 +90,20 @@ } else if ({{ module }}.is_point){ draw_ctl = new OpenLayers.Control.DrawFeature(lyr, OpenLayers.Handler.Point, {'displayClass': 'olControlDrawFeaturePoint'}); } - {% if modifiable %} - var mod = new OpenLayers.Control.ModifyFeature(lyr, {'displayClass': 'olControlModifyFeature'}); - {{ module }}.controls = [nav, draw_ctl, mod]; - {% else %} - {{ module }}.controls = [nav, darw_ctl]; - {% endif %} + if ({{ module }}.modifiable){ + var mod = new OpenLayers.Control.ModifyFeature(lyr, {'displayClass': 'olControlModifyFeature'}); + {{ module }}.controls = [nav, draw_ctl, mod]; + } else { + if(!lyr.features.length){ + {{ module }}.controls = [nav, draw_ctl]; + } else { + {{ module }}.controls = [nav]; + } + } } {{ module }}.init = function(){ {% block map_options %}// The options hash, w/ zoom, resolution, and projection settings. - var options = { + var options = { {% autoescape off %}{% for item in map_options.items %} '{{ item.0 }}' : {{ item.1 }}{% if not forloop.last %},{% endif %} {% endfor %}{% endautoescape %} };{% endblock %} // The admin map for this geometry field. @@ -112,7 +118,7 @@ // Read WKT from the text field. var wkt = document.getElementById('{{ id }}').value; if (wkt){ - // After reading into geometry, immediately write back to + // After reading into geometry, immediately write back to // WKT