diff options
Diffstat (limited to 'django')
45 files changed, 9266 insertions, 185 deletions
diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index d722fecd23..4c25da9942 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -48,10 +48,11 @@ LANGUAGES = ( ('en', gettext_noop('English')), ('es', gettext_noop('Spanish')), ('es-ar', gettext_noop('Argentinean Spanish')), + ('eu', gettext_noop('Basque')), ('fa', gettext_noop('Persian')), ('fi', gettext_noop('Finnish')), ('fr', gettext_noop('French')), - ('ga', gettext_noop('Gaeilge')), + ('ga', gettext_noop('Irish')), ('gl', gettext_noop('Galician')), ('hu', gettext_noop('Hungarian')), ('he', gettext_noop('Hebrew')), @@ -59,6 +60,7 @@ LANGUAGES = ( ('is', gettext_noop('Icelandic')), ('it', gettext_noop('Italian')), ('ja', gettext_noop('Japanese')), + ('ka', gettext_noop('Georgian')), ('ko', gettext_noop('Korean')), ('km', gettext_noop('Khmer')), ('kn', gettext_noop('Kannada')), diff --git a/django/conf/locale/eu/LC_MESSAGES/django.mo b/django/conf/locale/eu/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000000..c001bc8268 --- /dev/null +++ b/django/conf/locale/eu/LC_MESSAGES/django.mo diff --git a/django/conf/locale/eu/LC_MESSAGES/django.po b/django/conf/locale/eu/LC_MESSAGES/django.po new file mode 100644 index 0000000000..0cef98a4d9 --- /dev/null +++ b/django/conf/locale/eu/LC_MESSAGES/django.po @@ -0,0 +1,4248 @@ +# translation of django.po to +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +msgid "" +msgstr "" +"Project-Id-Version: django\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-02-08 19:37+0100\n" +"PO-Revision-Date: 2008-02-14 22:12+0100\n" +"Last-Translator: Ibon\n" +"Language-Team: <es@li.org>\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" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabiera" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengalera" + +#: conf/global_settings.py:41 +msgid "Bulgarian" +msgstr "Bulgariera" + +#: conf/global_settings.py:42 +msgid "Catalan" +msgstr "Katalana" + +#: conf/global_settings.py:43 +msgid "Czech" +msgstr "Txekiera" + +#: conf/global_settings.py:44 +msgid "Welsh" +msgstr "Gales" + +#: conf/global_settings.py:45 +msgid "Danish" +msgstr "Daniera" + +#: conf/global_settings.py:46 +msgid "German" +msgstr "Alemaniera" + +#: conf/global_settings.py:47 +msgid "Greek" +msgstr "Greziera" + +#: conf/global_settings.py:48 +msgid "English" +msgstr "Ingeles" + +#: conf/global_settings.py:49 +msgid "Spanish" +msgstr "Espainola" + +#: conf/global_settings.py:50 +msgid "Argentinean Spanish" +msgstr "Argentinako espainola" + +#: conf/global_settings.py:51 +msgid "Persian" +msgstr "Persiera" + +#: conf/global_settings.py:52 +msgid "Finnish" +msgstr "Finlandesa" + +#: conf/global_settings.py:53 +msgid "French" +msgstr "Frantzesa" + +#: conf/global_settings.py:54 +msgid "Gaeilge" +msgstr "Gaelikoa" + +#: conf/global_settings.py:55 +msgid "Galician" +msgstr "Galiziarra" + +#: conf/global_settings.py:56 +msgid "Hungarian" +msgstr "Hungarierra" + +#: conf/global_settings.py:57 +msgid "Hebrew" +msgstr "Hebreera" + +#: conf/global_settings.py:58 +msgid "Croatian" +msgstr "Kroaziarra" + +#: conf/global_settings.py:59 +msgid "Icelandic" +msgstr "Islandiera" + +#: conf/global_settings.py:60 +msgid "Italian" +msgstr "Italiera" + +#: conf/global_settings.py:61 +msgid "Japanese" +msgstr "Japoniera" + +#: conf/global_settings.py:62 +msgid "Korean" +msgstr "Koreera" + +#: conf/global_settings.py:63 +msgid "Khmer" +msgstr "khemerera" + +#: conf/global_settings.py:64 +msgid "Kannada" +msgstr "Kanadiera" + +#: conf/global_settings.py:65 +msgid "Latvian" +msgstr "Lituaniera" + +#: conf/global_settings.py:66 +msgid "Macedonian" +msgstr "Mazedoniera" + +#: conf/global_settings.py:67 +msgid "Dutch" +msgstr "Holandesa" + +#: conf/global_settings.py:68 +msgid "Norwegian" +msgstr "Norvegiera" + +#: conf/global_settings.py:69 +msgid "Polish" +msgstr "Poloniera" + +#: conf/global_settings.py:70 +msgid "Portugese" +msgstr "Portugalera" + +#: conf/global_settings.py:71 +msgid "Brazilian" +msgstr "Brasilgo portugalera" + +#: conf/global_settings.py:72 +msgid "Romanian" +msgstr "Errumaniera" + +#: conf/global_settings.py:73 +msgid "Russian" +msgstr "Errusiera" + +#: conf/global_settings.py:74 +msgid "Slovak" +msgstr "Eslovakiera" + +#: conf/global_settings.py:75 +msgid "Slovenian" +msgstr "Esloveniera" + +#: conf/global_settings.py:76 +msgid "Serbian" +msgstr "Serbiera" + +#: conf/global_settings.py:77 +msgid "Swedish" +msgstr "Suediera" + +#: conf/global_settings.py:78 +msgid "Tamil" +msgstr "Tamilera" + +#: conf/global_settings.py:79 +msgid "Telugu" +msgstr "Telegu hizkuntza" + +#: conf/global_settings.py:80 +msgid "Turkish" +msgstr "Turkiera" + +#: conf/global_settings.py:81 +msgid "Ukrainian" +msgstr "Ukrainera" + +#: conf/global_settings.py:82 +msgid "Simplified Chinese" +msgstr "Txinera (sinpletua)" + +#: conf/global_settings.py:83 +msgid "Traditional Chinese" +msgstr "Txinera (tradizionala)" + +#: contrib/admin/filterspecs.py:44 +#, python-format +msgid "" +"<h3>By %s:</h3>\n" +"<ul>\n" +msgstr "" +"<h3> %s gatik:</h3>\n" +"<ul>\n" + +#: contrib/admin/filterspecs.py:74 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "Dena" + +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "Edozein data" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "Gaur" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "Aurreko 7 egunak" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "Hilabete hau" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "Urte hau" + +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 +#: oldforms/__init__.py:592 +msgid "Yes" +msgstr "Bai" + +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 +#: oldforms/__init__.py:592 +msgid "No" +msgstr "Ez" + +#: contrib/admin/filterspecs.py:154 newforms/widgets.py:231 +#: oldforms/__init__.py:592 +msgid "Unknown" +msgstr "Ezezaguna" + +#: contrib/admin/models.py:18 +msgid "action time" +msgstr "Ekintz hordua" + +#: contrib/admin/models.py:21 +msgid "object id" +msgstr "Objetuaren id" + +#: contrib/admin/models.py:22 +msgid "object repr" +msgstr "Objeturaren repr" + +#: contrib/admin/models.py:23 +msgid "action flag" +msgstr "Ekintza botoia" + +#: contrib/admin/models.py:24 +msgid "change message" +msgstr "Mezua aldatu" + +#: contrib/admin/models.py:27 +msgid "log entry" +msgstr "Log sarrera" + +#: contrib/admin/models.py:28 +msgid "log entries" +msgstr "log sarrerak" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Ez da lekua aurkitu" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Barkatu, eskatutako lekua ezin daiteke aurkitu" + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/base.html:37 +#: contrib/admin/templates/admin/change_form.html:12 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:5 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +msgid "Home" +msgstr "Hasiera" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Serbidore errorea" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Serbidor errorea (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error <em>(500)</em>" +msgstr "Serbidore Errorea <em>(500)</em>" + +#: 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 "Arazo bat izan da. Web guneraren administradorea e-mail bidez ohartuko da eta laister konpondua egon beharko luke. Barkatu arazoak." + +#: contrib/admin/templates/admin/base.html:26 +msgid "Welcome," +msgstr "Ongi etorri." + +#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Dokumentazioa" + +#: contrib/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin/auth/user/change_password.html:14 +#: contrib/admin/templates/admin/auth/user/change_password.html:45 +msgid "Change password" +msgstr "Hitz ezkutua aldatu" + +#: contrib/admin/templates/admin/base.html:30 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "Atera" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Django admin. gunea" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Django administradorea" + +#: contrib/admin/templates/admin/change_form.html:14 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "Gehitu" + +#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/object_history.html:4 +msgid "History" +msgstr "Aurrekoak" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "Lekuaren bista" + +#: contrib/admin/templates/admin/change_form.html:31 +#: contrib/admin/templates/admin/auth/user/change_password.html:23 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Arren zuzendu ondoko akatsa" +msgstr[1] "Arren zuzendu ondoko akatsak" + +#: contrib/admin/templates/admin/change_form.html:49 +msgid "Ordering" +msgstr "Ordenaketa" + +#: contrib/admin/templates/admin/change_form.html:52 +msgid "Order:" +msgstr "Ordena:" + +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "Gehitu %(name)s" + +#: contrib/admin/templates/admin/delete_confirmation.html:8 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Ezabatu" + +#: contrib/admin/templates/admin/delete_confirmation.html:13 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"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: " +"%(object_name)s '%(escaped_object)s' ezabatuz, erlazionatutako objetuak ere ezabatuko ditu, baina zure kontuak ez du baimenik, hurrengo objetuak ezabatzeko:" + +#: contrib/admin/templates/admin/delete_confirmation.html:20 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"Ziur zaude %(object_name)s \"%(escaped_object)s\" ezabatu nai duzula ? " +"Erlazionaturik dauden hurrengo elementuak ere ezabatuko dira:" + +#: contrib/admin/templates/admin/delete_confirmation.html:25 +msgid "Yes, I'm sure" +msgstr "Bai, ziur nago" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s gatik" + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtroa" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "%(name)s aplikazioan Modeloak." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Aldatu" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "Ezer aldatzeko baimenik ez dezu." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Azken ekintzak" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Nere ekintzak" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Ez dago ezer" + +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "Zerbait gaizki dago zure data-basearekin. Ziurtatu ezazu data-baseko taulak sortuak izan direla eta usuario egokiarengatik irakurriak izan daitekela" + +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "Usuario Izena:" + +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "Hitz ezkutua:" + +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:25 +msgid "Log in" +msgstr "Sartu" + +#: contrib/admin/templates/admin/object_history.html:17 +msgid "Date/time" +msgstr "Data/ordua" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "User" +msgstr "Usuarioa" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "Action" +msgstr "Ekintza" + +#: contrib/admin/templates/admin/object_history.html:25 +msgid "DATE_WITH_TIME_FULL" +msgstr "" + +#: contrib/admin/templates/admin/object_history.html:35 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "Objetu honek ez du alketa zerrenda bat. Ziur asko, administrazio leku hau erabili gabe gehitua izan da." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Dena erakutsi" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Aurrera" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "%(counter)s emaitza" +msgstr[1] "%(counter)s emaitzak" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s guztira" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Berria bezala gorde" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Gorde eta beste bat gehitu" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Gorde eta aldatzen jarraitu" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Gorde" + +#: 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 "Lehenengo usuario izena eta hitz ezkutua idatzi. Gero usuarioaren aukera gehiago aldatu ditzakezu" + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Usuario izena" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:33 +msgid "Password" +msgstr "Hitz ezkutua" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:38 +msgid "Password (again)" +msgstr "Hitz ezkutua (berriro)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Enter the same password as above, for verification." +msgstr "Idatzi berriro hitz ezkutua." + +#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#, python-format +msgid "Enter a new password for the user <strong>%(username)s</strong>." +msgstr "Hitz ezkutu berria idatzi <strong>%(username)s</strong> usuarioarentzat." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Markadoreak" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "Dokumentazio markadoreak" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"<p class=\"help\">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\").</p>\n" +msgstr "" +"\n" +"<p class=\"help\">Markadoreak instalatzeko eraman linka zure erreminta panelera (toolbar).\n" +"Orain markadorea lekuko edozein horritik aukeratu dezakezu. Hauetako \n" +"markadore batzu, zure ordenadorea 'barnekoa' bezala erregistratua egotea\n" +"behar dute. Hitzegin web lekuaren administradorearekin azalpen gehiagorako.</p>\n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "Web horri honentzat dokumentazioa" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "Edozein lekutik, horriaren bista sortzaileara (view) salto egiten du." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "Objetuaren ID erakutsi" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "Objetu bakarra erakusten duten horrietan, eduki mota (content-type) eta horriaren ID bakarra erakutsi, ." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "Objetu hau aldatu ( leiho hau)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "Objetu bakarra erakusten horrietan, adminiztrazio gunera joan." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "Objetu hay aldatu (leiho berria)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "Goian bezala baina administrzazio gune leio berrian irekitzen." + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Mila esker gaur zure denbora web gunean erabiltzegatik." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Berrio sartu (log in)" + +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:9 +msgid "Password change" +msgstr "Hitz ezkutua aldatu" + +#: contrib/admin/templates/registration/password_change_done.html:5 +#: contrib/admin/templates/registration/password_change_done.html:9 +msgid "Password change successful" +msgstr "Hitz ezkutuaren aldaketa arrakastatsua" + +#: contrib/admin/templates/registration/password_change_done.html:11 +msgid "Your password was changed." +msgstr "Hitz ezkutua aldatua izan da" + +#: contrib/admin/templates/registration/password_change_form.html:11 +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "Idatzi hitz ezkutu zaharra segurtasun arrazoiengatik eta gero hitz ezkutu berria bi aldiz, akatsik egiten ez duzula ziurtatu dezagun." + +#: contrib/admin/templates/registration/password_change_form.html:16 +msgid "Old password:" +msgstr "Hitz ezkutu zaharra" + +#: contrib/admin/templates/registration/password_change_form.html:18 +msgid "New password:" +msgstr "Hitz ezkutu berria:" + +#: contrib/admin/templates/registration/password_change_form.html:20 +msgid "Confirm password:" +msgstr "Hitz ezkutua baieztatu:" + +#: contrib/admin/templates/registration/password_change_form.html:22 +msgid "Change my password" +msgstr "Nire hitz ezkutua aldatu" + +#: 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 "Hitz ezkutua ezabatu" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Hitz ezkutuaren ezabaketa zuzena" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." +msgstr "Hitz ezkutu berria e-mail bidez bidali dizugu. Epe laburrean jasokor duzu." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Mezu elektroniko hau jaso dezu, hitz ezkutuaren ezabaketa eskatu duzulako" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "%(site_name)s usuario kontuarentzat" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "Zure hitz ezkutu berria %(new_password)s da" + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "Hitz ezkutua aldatu nai baduzu, zoaz web horri honetara joan:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Zure usuario izena (ahaztu badezu):" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Mila esker gure web gunea erabiltzeagatik!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s web gunearen taldea" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll reset " +"your password and e-mail the new one to you." +msgstr "Hitz ezkutua ahaztu dezu ? Hidatzi zure e-mail helbidea, eta hitz ezkutu berri bat bidaliko dizugu." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "E-mail helbidea:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Hitz ezkutua ezabatu" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Data:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Ordua:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Orain:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Aldatu:" + +#: contrib/admin/templatetags/admin_list.py:257 +msgid "All dates" +msgstr "Data guztiak" + +#: contrib/admin/views/auth.py:20 contrib/admin/views/main.py:267 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s arrakastaz gehitua izan da." + +#: contrib/admin/views/auth.py:25 contrib/admin/views/main.py:271 +#: contrib/admin/views/main.py:356 +msgid "You may edit it again below." +msgstr "Berriro alkatu zenezake beherago." + +#: contrib/admin/views/auth.py:31 +msgid "Add user" +msgstr "Usuario gehitu" + +#: contrib/admin/views/auth.py:58 +msgid "Password changed successfully." +msgstr "Hitz ezkutua aldaketa zuzena." + +#: contrib/admin/views/auth.py:65 +#, python-format +msgid "Change password: %s" +msgstr "Hitz ezkutua aldatu: %s" + +#: contrib/admin/views/decorators.py:11 contrib/auth/forms.py:60 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "Mesedez idatzi usuario izena eta hitz ezkutu egokiak. Maiskula eta minuskula ondo bereiztu." + +#: contrib/admin/views/decorators.py:63 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "Mesedez berriro sar saitez, sesioa zahartu bai da. Bidalitakoa gorde egin da." + +#: contrib/admin/views/decorators.py:70 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "Zure nabegatzaileak ez ditu cookie-ak onartzen. Aktiba ezazu hauen erabilera eta ekarri ezazu horria hau berriro." + +#: contrib/admin/views/decorators.py:84 +msgid "Usernames cannot contain the '@' character." +msgstr "Usuario izenek ezin dezkete @ karakterea eduki." + +#: contrib/admin/views/decorators.py:86 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "Zure e-mail helbidea ez da zure usuario izena. Ahalegindo '%s' rekin." + +#: contrib/admin/views/doc.py:48 contrib/admin/views/doc.py:50 +#: contrib/admin/views/doc.py:52 +msgid "tag:" +msgstr "tag:" + +#: contrib/admin/views/doc.py:79 contrib/admin/views/doc.py:81 +#: contrib/admin/views/doc.py:83 +msgid "filter:" +msgstr "filtroa:" + +#: contrib/admin/views/doc.py:137 contrib/admin/views/doc.py:139 +#: contrib/admin/views/doc.py:141 +msgid "view:" +msgstr "bista:" + +#: contrib/admin/views/doc.py:166 +#, python-format +msgid "App %r not found" +msgstr "%r aplikazio ez da aurkitu" + +#: contrib/admin/views/doc.py:173 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "%(name)r modeloa ez da %(label)r aplikazioan aurkitu" + +#: contrib/admin/views/doc.py:185 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "erlazionaturik `%(label)s.%(type)s` objetua" + +#: contrib/admin/views/doc.py:185 contrib/admin/views/doc.py:207 +#: contrib/admin/views/doc.py:221 contrib/admin/views/doc.py:226 +msgid "model:" +msgstr "modeloa:" + +#: contrib/admin/views/doc.py:216 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "erlazionaturik `%(label)s.%(name)s` objetua" + +#: contrib/admin/views/doc.py:221 +#, python-format +msgid "all %s" +msgstr "%s dena" + +#: contrib/admin/views/doc.py:226 +#, python-format +msgid "number of %s" +msgstr "%s zenbakia" + +#: contrib/admin/views/doc.py:231 +#, python-format +msgid "Fields on %s objects" +msgstr "%s objetuan zutabeak" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:304 +#: contrib/admin/views/doc.py:306 contrib/admin/views/doc.py:312 +#: contrib/admin/views/doc.py:313 contrib/admin/views/doc.py:315 +msgid "Integer" +msgstr "Zenbaki osoa" + +#: contrib/admin/views/doc.py:294 +msgid "Boolean (Either True or False)" +msgstr "Boolearra (egia ala gezurra)" + +#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:314 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Katea (%(max_length)s gehienez)" + +#: contrib/admin/views/doc.py:296 +msgid "Comma-separated integers" +msgstr "Komaz bereiztutako zenbako osoak" + +#: contrib/admin/views/doc.py:297 +msgid "Date (without time)" +msgstr "Data (ordurik gabe)" + +#: contrib/admin/views/doc.py:298 +msgid "Date (with time)" +msgstr "Data (orduarekin)" + +#: contrib/admin/views/doc.py:299 +msgid "Decimal number" +msgstr "Zenbaki dezimala" + +#: contrib/admin/views/doc.py:300 +msgid "E-mail address" +msgstr "E-mail helbidea" + +#: contrib/admin/views/doc.py:301 contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:305 +msgid "File path" +msgstr "Fitxegi bidea (path)" + +#: contrib/admin/views/doc.py:303 +msgid "Floating point number" +msgstr "Zenbaki erreala (float)" + +#: contrib/admin/views/doc.py:307 contrib/comments/models.py:89 +msgid "IP address" +msgstr "IP helbidea" + +#: contrib/admin/views/doc.py:309 +msgid "Boolean (Either True, False or None)" +msgstr "Boolearra (egia, gezurra edo hutsa[None])" + +#: contrib/admin/views/doc.py:310 +msgid "Relation to parent model" +msgstr "Gurazo modeloarekin erlazioa" + +#: contrib/admin/views/doc.py:311 +msgid "Phone number" +msgstr "Telefono zenbakia" + +#: contrib/admin/views/doc.py:316 +msgid "Text" +msgstr "Textua" + +#: contrib/admin/views/doc.py:317 +msgid "Time" +msgstr "Ordua" + +#: contrib/admin/views/doc.py:318 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" + +#: contrib/admin/views/doc.py:319 +msgid "U.S. state (two uppercase letters)" +msgstr "U.S statua (bi letra maiuskula)" + +#: contrib/admin/views/doc.py:320 +msgid "XML text" +msgstr "XML textua" + +#: contrib/admin/views/doc.py:346 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s ez dirudi url heredu objetua" + +#: contrib/admin/views/main.py:233 +msgid "Site administration" +msgstr "Web gunearen administrazioa" + +#: contrib/admin/views/main.py:280 contrib/admin/views/main.py:365 +#, python-format +msgid "You may add another %s below." +msgstr "Beste %s gehitu dezakezu jarraian." + +#: contrib/admin/views/main.py:298 +#, python-format +msgid "Add %s" +msgstr "%s gehitu" + +#: contrib/admin/views/main.py:344 +#, python-format +msgid "Added %s." +msgstr "%s gehituta." + +#: contrib/admin/views/main.py:344 contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:348 core/validators.py:283 +#: db/models/manipulators.py:309 +msgid "and" +msgstr "eta" + +#: contrib/admin/views/main.py:346 +#, python-format +msgid "Changed %s." +msgstr "%s aldatuta." + +#: contrib/admin/views/main.py:348 +#, python-format +msgid "Deleted %s." +msgstr "%s ezabatuta." + +#: contrib/admin/views/main.py:351 +msgid "No fields changed." +msgstr "Ez da zutaberik aldatu." + +#: contrib/admin/views/main.py:354 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" aldatuta izan da." + +#: 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\" arrakastarekin gehituta izan da. Jarraian aldatu dezakezu berriro." + +#: contrib/admin/views/main.py:400 +#, python-format +msgid "Change %s" +msgstr "%s aldatu" + +#: contrib/admin/views/main.py:487 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "%(fieldname)s bat edo gehiago %(name)s an: %(obj)s" + +#: contrib/admin/views/main.py:492 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "%(fieldname)s bat edo gehiago %(name)s n" + +#: contrib/admin/views/main.py:524 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" arrakastaz ezabatua izan da." + +#: contrib/admin/views/main.py:527 +msgid "Are you sure?" +msgstr "Ziur al zaude?" + +#: contrib/admin/views/main.py:549 +#, python-format +msgid "Change history: %s" +msgstr "Aldaketa zerrenda: %s" + +#: contrib/admin/views/main.py:583 +#, python-format +msgid "Select %s" +msgstr "%s aukeratu" + +#: contrib/admin/views/main.py:583 +#, python-format +msgid "Select %s to change" +msgstr "aldaketarako %s aukeratu" + +#: contrib/admin/views/main.py:784 +msgid "Database error" +msgstr "Data base errorea" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "Hitz ezkutuak ez dira berdinak." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Usuario izen hori erabiltzen ari da." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "Zure nabegatzaileak ez ditu cookiak onartzen. Cookia-k beharrezkoak dira sistemn sartzeko." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Kontu hau az dago aktibatuta." + +#: contrib/auth/forms.py:84 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "E-mail helbide horrek ez du usariorik. Ziur al zaude erregistraturik zaudela?" + +#: contrib/auth/forms.py:107 +#, python-format +msgid "Password reset on %s" +msgstr "Hitz ezkutu ezabatua %s n" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Bi hitz ezkutu berriak ez dira berdinak." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Zure hitz ezkutu zaharra ez zuzena. Idatzi ezazu berriro." + +#: contrib/auth/models.py:73 contrib/auth/models.py:93 +msgid "name" +msgstr "izena" + +#: contrib/auth/models.py:75 +msgid "codename" +msgstr "code izena (codename)" + +#: contrib/auth/models.py:78 +msgid "permission" +msgstr "baimena" + +#: contrib/auth/models.py:79 contrib/auth/models.py:94 +msgid "permissions" +msgstr "baimenak" + +#: contrib/auth/models.py:97 +msgid "group" +msgstr "taldea" + +#: contrib/auth/models.py:98 contrib/auth/models.py:141 +msgid "groups" +msgstr "taldeak" + +#: contrib/auth/models.py:131 +msgid "username" +msgstr "usuario izena" + +#: contrib/auth/models.py:131 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Beharrezkoa. 30 karaktere edo gutxiago. Karaktere alfanumerikoak " +"bakarrik (letra, zembaki eta '_')" + +#: contrib/auth/models.py:132 +msgid "first name" +msgstr "izena" + +#: contrib/auth/models.py:133 +msgid "last name" +msgstr "abizena" + +#: contrib/auth/models.py:134 +msgid "e-mail address" +msgstr "e-mail helbidea" + +#: contrib/auth/models.py:135 +msgid "password" +msgstr "hitz ezkutua" + +#: contrib/auth/models.py:135 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the <a href=\"password/\">change " +"password form</a>." +msgstr "Erabili '[algo]$[salt]$[hexdigest]' edo erabili <a href=\"password/\">hitz ezkuta aldatu </a>." + +#: contrib/auth/models.py:136 +msgid "staff status" +msgstr "Arduraduen egoera" + +#: contrib/auth/models.py:136 +msgid "Designates whether the user can log into this admin site." +msgstr "Usuarioak administrazio gune honetan sartu dezkeen ala ez izendatzen du." + +#: contrib/auth/models.py:137 +msgid "active" +msgstr "Aktiboa" + +#: contrib/auth/models.py:137 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "Usuarioak Django adminiztrazio gunean sartu daitekeen ala ez. Desaktiba ezazu aukera hau,kontua ezabatu ordez." + +#: contrib/auth/models.py:138 +msgid "superuser status" +msgstr "Usuario nagusia (superuser)" + +#: contrib/auth/models.py:138 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "Usuario honek baimen guztiak ditu, banan banan denak zehaztu gabe." + +#: contrib/auth/models.py:139 +msgid "last login" +msgstr "azken sarrera" + +#: contrib/auth/models.py:140 +msgid "date joined" +msgstr "erregistro eguna" + +#: contrib/auth/models.py:142 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "Usuario honek, eskuz emandako baimen guztietaz aparte, berari egokitutako talde bakoitzari emandako baimenak ere izango ditu." + +#: contrib/auth/models.py:143 +msgid "user permissions" +msgstr "Usuarioaren baimenak" + +#: contrib/auth/models.py:147 +msgid "user" +msgstr "Usuarioa" + +#: contrib/auth/models.py:148 +msgid "users" +msgstr "Usuarioak" + +#: contrib/auth/models.py:154 +msgid "Personal info" +msgstr "Informazio pertsonala" + +#: contrib/auth/models.py:155 +msgid "Permissions" +msgstr "Baimenak" + +#: contrib/auth/models.py:156 +msgid "Important dates" +msgstr "Data garrantzitsuak" + +#: contrib/auth/models.py:157 +msgid "Groups" +msgstr "Taldeak" + +#: contrib/auth/models.py:316 +msgid "message" +msgstr "mezua" + +#: contrib/auth/views.py:47 +msgid "Logged out" +msgstr "Sesiotik kanpo" + +#: contrib/comments/models.py:71 contrib/comments/models.py:176 +msgid "object ID" +msgstr "objetuaren ID" + +#: contrib/comments/models.py:72 +msgid "headline" +msgstr "izenburua" + +#: contrib/comments/models.py:73 contrib/comments/models.py:95 +#: contrib/comments/models.py:177 +msgid "comment" +msgstr "komentarioa" + +#: contrib/comments/models.py:74 +msgid "rating #1" +msgstr "puntaketa #1" + +#: contrib/comments/models.py:75 +msgid "rating #2" +msgstr "puntaketa #2" + +#: contrib/comments/models.py:76 +msgid "rating #3" +msgstr "puntaketa #3" + +#: contrib/comments/models.py:77 +msgid "rating #4" +msgstr "puntaketa #4" + +#: contrib/comments/models.py:78 +msgid "rating #5" +msgstr "puntaketa #5" + +#: contrib/comments/models.py:79 +msgid "rating #6" +msgstr "puntaketa #6" + +#: contrib/comments/models.py:80 +msgid "rating #7" +msgstr "puntaketa #7" + +#: contrib/comments/models.py:81 +msgid "rating #8" +msgstr "puntaketa #8" + +#: contrib/comments/models.py:86 +msgid "is valid rating" +msgstr "puntuaketa zuzena" + +#: contrib/comments/models.py:87 contrib/comments/models.py:179 +msgid "date/time submitted" +msgstr "data/hordua bidalia" + +#: contrib/comments/models.py:88 contrib/comments/models.py:180 +msgid "is public" +msgstr "publikoa" + +#: contrib/comments/models.py:90 +msgid "is removed" +msgstr "ezabatua" + +#: 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 "Markatu kutxa hau komentario ezegokia bada. A \"Komentario hau ezabatua izan da\" mezua erakutsiko da bere ordez." + +#: contrib/comments/models.py:96 +msgid "comments" +msgstr "Komentarioak" + +#: contrib/comments/models.py:140 contrib/comments/models.py:222 +msgid "Content object" +msgstr "Eduki objetua" + +#: contrib/comments/models.py:168 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"%(user)s -k bidalia %(date)s -n\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:178 +msgid "person's name" +msgstr "pertsonaren izena" + +#: contrib/comments/models.py:181 +msgid "ip address" +msgstr "ip zenbakia" + +#: contrib/comments/models.py:183 +msgid "approved by staff" +msgstr "arduradunek onartua" + +#: contrib/comments/models.py:187 +msgid "free comment" +msgstr "komentario librea" + +#: contrib/comments/models.py:188 +msgid "free comments" +msgstr "komentario libreak" + +#: contrib/comments/models.py:250 +msgid "score" +msgstr "puntuaketa" + +#: contrib/comments/models.py:251 +msgid "score date" +msgstr "puntuaketa data" + +#: contrib/comments/models.py:255 +msgid "karma score" +msgstr "karma puntuaketa" + +#: contrib/comments/models.py:256 +msgid "karma scores" +msgstr "karma puntuaketak" + +#: contrib/comments/models.py:260 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "%(user)s -k emandako puntaketa: %(score)d" + +#: contrib/comments/models.py:277 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"%(user)s -k komentario hay markatu du:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:285 +msgid "flag date" +msgstr "markatutako eguna" + +#: contrib/comments/models.py:289 +msgid "user flag" +msgstr "usuarioaren markaketa" + +#: contrib/comments/models.py:290 +msgid "user flags" +msgstr "usuariaren markaketak" + +#: contrib/comments/models.py:294 +#, python-format +msgid "Flag by %r" +msgstr "%r -k markatuta" + +#: contrib/comments/models.py:300 +msgid "deletion date" +msgstr "ezabatze data" + +#: contrib/comments/models.py:303 +msgid "moderator deletion" +msgstr "moderatzaileak ezabatua" + +#: contrib/comments/models.py:304 +msgid "moderator deletions" +msgstr "moderatzaileak ezabatuak" + +#: contrib/comments/models.py:308 +#, python-format +msgid "Moderator deletion by %r" +msgstr "%r moderatzaileak ezabatua" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Hitz ezkutua ahaztu duzu?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "Puntuaketak" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Beharrezkoa" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Aukerakoa" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Argazkia bidali" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "Komentarioa:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "Komentarioa aurreikusi" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Zure izena:" + +#: contrib/comments/views/comments.py:28 +msgid "This rating is required because you've entered at least one other rating." +msgstr "Puntuaketa hau beharrezkoa da, gutxienez beste puntaketa bat sartu duzulako" + +#: contrib/comments/views/comments.py:112 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" +"\n" +"%(text)s" +msgid_plural "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comments:\n" +"\n" +"%(text)s" +msgstr[0] "Komentario hau, %(count)s komentario baino gutxiago egindako usuario batek bidalia da:<br><br>%(text)s" +msgstr[1] "" + +#: contrib/comments/views/comments.py:117 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"Komentario hau usuario 'arin' batek bidalia da:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:190 +#: contrib/comments/views/comments.py:283 +msgid "Only POSTs are allowed" +msgstr "POST bakarrik onartzen dira" + +#: contrib/comments/views/comments.py:194 +#: contrib/comments/views/comments.py:287 +msgid "One or more of the required fields wasn't submitted" +msgstr "Beharrezko fitxategi bat edo gehiago ez dira bidali" + +#: contrib/comments/views/comments.py:198 +#: contrib/comments/views/comments.py:289 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "Norbaitek komentario formularioa maltzurki eraldatu du (segurtasun erasoa)" + +#: 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 "Komentario formularioak 'target' parametroa okerra zuen -- objetuaren ID okerra zen" + +#: contrib/comments/views/comments.py:259 +#: contrib/comments/views/comments.py:324 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "Komentario formularioa ez zuen ez 'berikusi' edo 'bidali'" + +#: contrib/comments/views/karma.py:21 +msgid "Anonymous users cannot vote" +msgstr "Usuario ezezagunak ezin dezakete botoa eman" + +#: contrib/comments/views/karma.py:25 +msgid "Invalid comment ID" +msgstr "Komentario ID okerra" + +#: contrib/comments/views/karma.py:27 +msgid "No voting for yourself" +msgstr "Norberak ezin dezake botoa eman" + +#: contrib/contenttypes/models.py:37 +msgid "python model class name" +msgstr "python model class izena" + +#: contrib/contenttypes/models.py:40 +msgid "content type" +msgstr "edukiera moeta" + +#: contrib/contenttypes/models.py:41 +msgid "content types" +msgstr "edukiera moetak" + +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Adibidez: '/about/contact/'. Ziurta zaitez '/' karaktera hasieran eta bukaeran dagoela." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "izenburua" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "edukiera" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "komentarioak onartu" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "plantila izena" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "Adibidez: 'flatpages/contact_page.html'. Hau ematen ez bada, sistema 'flatpages/default.html' erabiliko du." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "erregistratzea beharrezkoa da" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Hau markatuta badago, erregistratutako usuarioak bakarrik ikusiko dute horria." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "flat page" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "flat pages" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "th" +msgstr "garren" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "st" +msgstr "." + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "nd" +msgstr "garren" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "rd" +msgstr "garren" + +#: contrib/humanize/templatetags/humanize.py:52 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f milioi" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:55 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f bilioi" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:58 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f trilioi" +msgstr[1] "" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "one" +msgstr "bat" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "two" +msgstr "bi" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "three" +msgstr "hiru" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "four" +msgstr "lau" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "five" +msgstr "bost" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "six" +msgstr "sei" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "seven" +msgstr "zazpi" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "eight" +msgstr "zortzi" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "nine" +msgstr "bederatzi" + +#: contrib/humanize/templatetags/humanize.py:94 +msgid "today" +msgstr "gaur" + +#: contrib/humanize/templatetags/humanize.py:96 +msgid "tomorrow" +msgstr "bihar" + +#: contrib/humanize/templatetags/humanize.py:98 +msgid "yesterday" +msgstr "atzo" + +#: contrib/localflavor/ar/forms.py:28 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "NNNN edo ANNNNAAA formatoan idatzi posta kode bat." + +#: contrib/localflavor/ar/forms.py:50 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 "Data honek zenbakiak bakarrik behar ditu." + +#: contrib/localflavor/ar/forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "Data honek 7 edo 8 digito behar ditu." + +#: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "CUIT zuzena idatzi XX-XXXXXXXX-X edo XXXXXXXXXXXX formatoan." + +#: contrib/localflavor/ar/forms.py:81 +msgid "Invalid CUIT." +msgstr "CUIT okerra." + +#: contrib/localflavor/au/forms.py:16 +msgid "Enter a 4 digit post code." +msgstr "4 zenbaki posta kodean idatzi." + +#: contrib/localflavor/br/forms.py:21 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "XXXXX-XXX formatoan zip kodea idatzi." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Telefono zenbakiak XX-XXXX-XXXX formatoa behar dute." + +#: contrib/localflavor/br/forms.py:58 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "Brasilgo estatu zuzen bat aukeratu. Hori ez dago aukeran." + +#: contrib/localflavor/br/forms.py:94 +msgid "Invalid CPF number." +msgstr "CPF zenbaki okerra." + +#: contrib/localflavor/br/forms.py:95 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Data honek gehienez 11 digito edo 14 karaktere behar ditu." + +#: contrib/localflavor/br/forms.py:134 +msgid "Invalid CNPJ number." +msgstr "CNPJ zenbaki okerra." + +#: contrib/localflavor/br/forms.py:136 +msgid "This field requires at least 14 digits" +msgstr "Data honek 14 digito behar ditu gutxienez" + +#: contrib/localflavor/ca/forms.py:17 +msgid "Enter a postal code in the format XXX XXX." +msgstr "Posta kodea idatzi XXX XXX formatoan." + +#: contrib/localflavor/ca/forms.py:88 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:6 +msgid "Appenzell Innerrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:7 +msgid "Appenzell Ausserrhoden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:8 +msgid "Basel-Stadt" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:9 +msgid "Basel-Land" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:10 +msgid "Berne" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:13 +msgid "Glarus" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:16 +msgid "Lucerne" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:18 +msgid "Nidwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:19 +msgid "Obwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:20 +msgid "Schaffhausen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:21 +msgid "Schwyz" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:22 +msgid "Solothurn" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:23 +msgid "St. Gallen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:24 +msgid "Thurgau" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:25 +msgid "Ticino" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:26 +msgid "Uri" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:27 +msgid "Valais" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:28 +msgid "Vaud" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:29 +msgid "Zug" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:30 +msgid "Zurich" +msgstr "" + +#: contrib/localflavor/ch/forms.py:16 contrib/localflavor/no/forms.py:12 +msgid "Enter a zip code in the format XXXX." +msgstr "zip kodea XXXX formatoan idatzi." + +#: contrib/localflavor/ch/forms.py:64 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" + +#: contrib/localflavor/cl/forms.py:29 +msgid "Enter a valid Chilean RUT." +msgstr "" + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "" + +#: contrib/localflavor/cl/forms.py:31 +msgid "The Chilean RUT is not valid." +msgstr "" + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "" + +#: contrib/localflavor/de/de_states.py:14 +msgid "North Rhine-Westphalia" +msgstr "" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "" + +#: contrib/localflavor/de/de_states.py:19 +msgid "Schleswig-Holstein" +msgstr "" + +#: contrib/localflavor/de/de_states.py:20 +msgid "Thuringia" +msgstr "" + +#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 +#: contrib/localflavor/fr/forms.py:15 +msgid "Enter a zip code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/de/forms.py:41 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "Araba" + +#: 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 "Gupuzkoa" + +#: 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 "Errioxa" + +#: 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 "Nafarroa" + +#: 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 "Bizkaia" + +#: 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 "Asturiaseko printzipadoa" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "Euskal Herria" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "Canaria uharteak" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "La Mancha-Gaztela" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "Gaztela eta Leon" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "Katalunia" + +#: 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 "Nafarroako komunitate forala" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "Valeciako komunitatea" + +#: contrib/localflavor/es/forms.py:19 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "Kode postal bat idatzi hurrengo formato eta tartearekin: 01XXX - 52XXX" + +#: contrib/localflavor/es/forms.py:39 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "Telefono zenbaki bat idatzi hurrengo formato batekin: 6XXXXXXXX, 8XXXXXXXX edo 9XXXXXXXX" + +#: contrib/localflavor/es/forms.py:66 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Idatzi NIF,NIE edo CIF zuzena." + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF or NIE." +msgstr "Idatzi NIF edo NIE zuzena." + +#: contrib/localflavor/es/forms.py:68 +msgid "Invalid checksum for NIF." +msgstr "NIF kontrol kode okerra." + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIE." +msgstr "NIE kontrol kode okerra." + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for CIF." +msgstr "CIF kontrl kode okerra." + +#: contrib/localflavor/es/forms.py:142 +msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Mesedez idatzi banku kontu zenbaki zuzena XXXX-XXXX-XX-XXXXXXXXXX formatoarekin." + +#: contrib/localflavor/es/forms.py:143 +msgid "Invalid checksum for bank account number." +msgstr "Banku kontu zenbakian kontrol digito okerra." + +#: contrib/localflavor/fi/forms.py:28 +msgid "Enter a valid Finnish social security number." +msgstr "" + +#: contrib/localflavor/in_/forms.py:14 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:17 +msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:18 +msgid "The Icelandic identification number is not valid." +msgstr "" + +#: contrib/localflavor/it/forms.py:14 +msgid "Enter a valid zip code." +msgstr "" + +#: contrib/localflavor/it/forms.py:43 +msgid "Enter a valid Social Security number." +msgstr "" + +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "" + +#: contrib/localflavor/jp/forms.py:19 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:4 +msgid "Hokkaido" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:5 +msgid "Aomori" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:6 +msgid "Iwate" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:7 +msgid "Miyagi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:8 +msgid "Akita" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:9 +msgid "Yamagata" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:10 +msgid "Fukushima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:11 +msgid "Ibaraki" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:12 +msgid "Tochigi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:13 +msgid "Gunma" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:14 +msgid "Saitama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:15 +msgid "Chiba" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:16 +msgid "Tokyo" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:17 +msgid "Kanagawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:18 +msgid "Yamanashi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:19 +msgid "Nagano" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:20 +msgid "Niigata" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:21 +msgid "Toyama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:22 +msgid "Ishikawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:23 +msgid "Fukui" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:24 +msgid "Gifu" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:25 +msgid "Shizuoka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:26 +msgid "Aichi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:27 +msgid "Mie" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:28 +msgid "Shiga" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:29 +msgid "Kyoto" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:30 +msgid "Osaka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:31 +msgid "Hyogo" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:32 +msgid "Nara" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:33 +msgid "Wakayama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:34 +msgid "Tottori" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:35 +msgid "Shimane" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:36 +msgid "Okayama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:37 +msgid "Hiroshima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:38 +msgid "Yamaguchi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:39 +msgid "Tokushima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:40 +msgid "Kagawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:41 +msgid "Ehime" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:42 +msgid "Kochi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:43 +msgid "Fukuoka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:44 +msgid "Saga" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:45 +msgid "Nagasaki" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:46 +msgid "Kumamoto" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:47 +msgid "Oita" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:48 +msgid "Miyazaki" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:49 +msgid "Kagoshima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:50 +msgid "Okinawa" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "" + +#: contrib/localflavor/nl/forms.py:21 +msgid "Enter a valid postal code" +msgstr "" + +#: contrib/localflavor/nl/forms.py:52 +msgid "Enter a valid phone number" +msgstr "" + +#: contrib/localflavor/nl/forms.py:78 +msgid "Enter a valid SoFi number" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drente" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "" + +#: contrib/localflavor/no/forms.py:33 +msgid "Enter a valid Norwegian social security number." +msgstr "" + +#: contrib/localflavor/pe/forms.py:24 +msgid "This field requires 8 digits." +msgstr "" + +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:39 +msgid "National Identification Number consists of 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:40 +msgid "Wrong checksum for the National Identification Number." +msgstr "" + +#: contrib/localflavor/pl/forms.py:72 +msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "" + +#: contrib/localflavor/pl/forms.py:73 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:112 +msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:113 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:156 +msgid "Enter a postal code in the format XX-XXX." +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "" + +#: contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "" + +#: contrib/localflavor/us/forms.py:16 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:54 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" + +#: contrib/localflavor/za/forms.py:20 +msgid "Enter a valid South African ID number" +msgstr "" + +#: contrib/localflavor/za/forms.py:54 +msgid "Enter a valid South African postal code" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "nondik berbidalia" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "Hau 'bide' absolutua izan beharko luke, dominio izena kenduta. 'Adibidez: events/search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "Nora berbidali" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "Hau 'bide' absolutua (goian bezala) edo URL osoa , 'http://'-rekin hasiz, izan daiteke." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "berbidali" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "berbidali" + +#: contrib/sessions/models.py:46 +msgid "session key" +msgstr "sesioaren giltza" + +#: contrib/sessions/models.py:47 +msgid "session data" +msgstr "sesioaren data" + +#: contrib/sessions/models.py:48 +msgid "expire date" +msgstr "amaiera data" + +#: contrib/sessions/models.py:53 +msgid "session" +msgstr "sesioa" + +#: contrib/sessions/models.py:54 +msgid "sessions" +msgstr "sesioak" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "dominio izena" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "erakusteko izena" + +#: contrib/sites/models.py:37 +msgid "site" +msgstr "web gunea" + +#: contrib/sites/models.py:38 +msgid "sites" +msgstr "web guneak" + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Balore honek, letrak, zenbakia eta '_' karakterak bakarrik eduki ditzazke." + +#: core/validators.py:76 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "Balore honek, letrak, zenbakia eta '_', '/','-' karakterak bakarrik eduki ditzazke." + +#: core/validators.py:80 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Balore honek letrak, zenbakiak eta '_','-' karatereak bakarrik izan ditzazke." + +#: core/validators.py:84 +msgid "Uppercase letters are not allowed here." +msgstr "Hemen letra maiuskulak ez dira onartzen." + +#: core/validators.py:88 +msgid "Lowercase letters are not allowed here." +msgstr "Hemen letra minukulak ez dira onartzen." + +#: core/validators.py:95 +msgid "Enter only digits separated by commas." +msgstr "Komaz bereiztutako digitoak bakarrik idatzi." + +#: core/validators.py:107 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "E-mail norabide zuzenak idatzi, komaz bereizturik." + +#: core/validators.py:111 +msgid "Please enter a valid IP address." +msgstr "Idatzi IP zenbaki zuzena mesedez." + +#: core/validators.py:115 +msgid "Empty values are not allowed here." +msgstr "Balore hutsak ez dira hemen onartzen." + +#: core/validators.py:119 +msgid "Non-numeric characters aren't allowed here." +msgstr "Zenbaki karaktereak bakarrik onartzen dira hemen." + +#: core/validators.py:123 +msgid "This value can't be comprised solely of digits." +msgstr "Balore honek ezin daiteke digitoz bakarrik osatua egon." + +#: core/validators.py:128 newforms/fields.py:151 +msgid "Enter a whole number." +msgstr "Zenbaki bat idatzi." + +#: core/validators.py:132 +msgid "Only alphabetical characters are allowed here." +msgstr "Karaktere alfabetikoak bakarrik onartzen dira hemen." + +#: core/validators.py:147 +msgid "Year must be 1900 or later." +msgstr "Urtea 1900 edo haundiagoa izan behar du." + +#: core/validators.py:151 +#, python-format +msgid "Invalid date: %s" +msgstr "Data okerra: %s" + +#: core/validators.py:156 db/models/fields/__init__.py:509 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Data zuzena idatzi, YYY-MM-DD formatoan." + +#: core/validators.py:161 +msgid "Enter a valid time in HH:MM format." +msgstr "Hordu zuzena idatzi HH:MM formatoan." + +#: core/validators.py:165 db/models/fields/__init__.py:583 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Idatzi data/hordua zuzena YYYY-MM-DD HH:MM formatoan." + +#: core/validators.py:170 newforms/fields.py:402 +msgid "Enter a valid e-mail address." +msgstr "e-mail helbide zuzena idatzi." + +#: core/validators.py:182 core/validators.py:474 newforms/fields.py:432 +#: oldforms/__init__.py:687 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Ez da fitxategirik bidali. Baiztatu ezazu formularioren kode formatoa." + +#: core/validators.py:193 newforms/fields.py:458 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "Bidali irudi zuzena. Zuk bidalitako fitxategia ez da irudi motako edo akatsa du." + +#: core/validators.py:200 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "%s URLa ez da irudi zuzena." + +#: core/validators.py:204 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "Telefono zenbakiak XXX-XXX-XXXX formatoa eduki behar dute. \"%s\" okerra." + +#: core/validators.py:212 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "%s URLa ez da QuickTime bideo zuzena." + +#: core/validators.py:216 +msgid "A valid URL is required." +msgstr "URL zuzena behar da." + +#: core/validators.py:230 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"HTML zuzena behar da. Erroreak daude:\n" +"%s" + +#: core/validators.py:237 +#, python-format +msgid "Badly formed XML: %s" +msgstr "XML okerra: %s" + +#: core/validators.py:254 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL okerra: %s" + +#: core/validators.py:259 core/validators.py:261 +#, python-format +msgid "The URL %s is a broken link." +msgstr "%s URLa ez dabil ondo." + +#: core/validators.py:267 +msgid "Enter a valid U.S. state abbreviation." +msgstr "U.S estatu laburpen zuzen idatzi." + +#: core/validators.py:281 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "Kontuz ibili! %s hitza ez dago hemen onartua." +msgstr[1] "" + +#: core/validators.py:288 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Data hau '%s' data berdindu behar du." + +#: core/validators.py:307 +msgid "Please enter something for at least one field." +msgstr "Idatzi gutxienez data bat." + +#: core/validators.py:316 core/validators.py:327 +msgid "Please enter both fields or leave them both empty." +msgstr "Hidatzi bi datuak edo utzi biak hutsik." + +#: core/validators.py:335 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Data hau idatzi behar da, %(field)s %(value)s balorea badu." + +#: core/validators.py:348 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Data hau idatzi behar da %(field)s %(value)s balorea ez bada." + +#: core/validators.py:367 +msgid "Duplicate values are not allowed." +msgstr "Errepikatutako datak ez dira onartzen." + +#: core/validators.py:382 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Balore hau %(lower)s eta %(upper)s artean egon behar du." + +#: core/validators.py:384 +#, python-format +msgid "This value must be at least %s." +msgstr "Gutxienez %s izan behar du." + +#: core/validators.py:386 +#, python-format +msgid "This value must be no more than %s." +msgstr "Balore hau %s baino txikiagoa izan behar du." + +#: core/validators.py:427 +#, python-format +msgid "This value must be a power of %s." +msgstr "Balore hau %s-ren multiploa izan behar du." + +#: core/validators.py:437 +msgid "Please enter a valid decimal number." +msgstr "Idatzi zenbaki dezimal zuzena mesedez." + +#: core/validators.py:444 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "Please enter a valid decimal number with at most %s total digits." +msgstr[0] "Idatzi zenbaki dezimal zuzena gehienez %s digitorekin." +msgstr[1] "" + +#: core/validators.py:447 +#, python-format +msgid "Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "Idatzi zenbaki digital zuzena, %s digitorekin gutxienez alde osoan." +msgstr[1] "" + +#: core/validators.py:450 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "Idatzi zenbaki dezimal zuzena, %s digitorekin dezimalean." +msgstr[1] "" + +#: core/validators.py:458 +msgid "Please enter a valid floating point number." +msgstr "Idatzi zenbaki erreal zuzena." + +#: core/validators.py:467 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Ziurta zaitez bidalitako fitxategia gutxienex %s byte tamaina duela." + +#: core/validators.py:468 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Ziurta zaitez bidalitako fitxategia gehienez %s byte dituela." + +#: core/validators.py:485 +msgid "The format for this field is wrong." +msgstr "Data honen formatoa okerra da." + +#: core/validators.py:500 +msgid "This field is invalid." +msgstr "Data okerra." + +#: core/validators.py:536 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Ezin daiteke ezer lortu %s-tik." + +#: core/validators.py:539 +#, python-format +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "%(url)s URLak content-type okerra itzuli du: '%(contenttype)s'." + +#: core/validators.py:572 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "Mesedez itxi itxigabeko %(tag)s elementoa %(line)s lerroan. Lerroa hasiera: \"%(start)s\"." + +#: core/validators.py:576 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "Texturen bat %(line)s lerroan ez da onartzen contextu horretan. Lerro hasiera: \"%(start)s\"." + +#: core/validators.py:581 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "\"%(attr)s\" %(line)s lerroan atribitu okerra da. Lerro hasiera: \"%(start)s\"." + +#: core/validators.py:586 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "\"%(tag)s\" %(line)s lerroan elementu okerra da. Lerro hasiera: \"%(start)s\"." + +#: core/validators.py:590 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "%(line)s lerroan elementu atributu bat edo gehiago faltan ditu. Lerro hasiera:\"%(start)s\"." + +#: core/validators.py:595 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "\"%(attr)s\" atributoa %(line)s lerroan balore okerra du. (Lerro hasiera: \"%(start)s\".)" + +#: db/models/manipulators.py:308 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s with this %(type)s already exists for the given %(field)s." + +#: db/models/fields/__init__.py:52 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "Badago %(optname)s izenarekin %(fieldname)s-n." + +#: db/models/fields/__init__.py:161 db/models/fields/__init__.py:318 +#: db/models/fields/__init__.py:735 db/models/fields/__init__.py:746 +#: newforms/fields.py:45 oldforms/__init__.py:374 +msgid "This field is required." +msgstr "Kanpo hau beharrezkoa da." + +#: db/models/fields/__init__.py:418 +msgid "This value must be an integer." +msgstr "Balore hau zenbaki osoa izan behar du." + +#: db/models/fields/__init__.py:454 +msgid "This value must be either True or False." +msgstr "Balore hau egia ala gezurra izan behar du (True/False)." + +#: db/models/fields/__init__.py:475 +msgid "This field cannot be null." +msgstr "Datu hau ezin daiteke hutsa izan (null)." + +#: db/models/fields/__init__.py:644 +msgid "This value must be a decimal number." +msgstr "Balore hau zenbaki dezimala izan begar du." + +#: db/models/fields/__init__.py:755 +msgid "Enter a valid filename." +msgstr "Idatzi fitxategi izen zuzena" + +#: db/models/fields/__init__.py:908 +msgid "This value must be either None, True or False." +msgstr "Balore hau hutsa, egia edo gezurra izan behar du (None, True,False)" + +#: db/models/fields/related.py:55 +#, python-format +msgid "Please enter a valid %s." +msgstr "Mesades idatzi %s zuzena." + +#: db/models/fields/related.py:658 +msgid "Separate multiple IDs with commas." +msgstr "Bereiztu ID zerrenda koma bidez." + +#: db/models/fields/related.py:660 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Zapaldu \"Control\" karakterea edo \"Command\" Mac batean, bat baino gehiago aukeratzeko." + +#: db/models/fields/related.py:707 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "Mesedez idatzi %(self)s ID zuzena. %(value)r okerra da." +msgstr[1] "" + +#: newforms/fields.py:46 +msgid "Enter a valid value." +msgstr "Idatzi balio zuzena." + +#: newforms/fields.py:123 +#, python-format +msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." +msgstr "Ziurta zaitez balore honek gehienez %(max)d karactere dituela, %(length)d ditu orain." + +#: newforms/fields.py:124 +#, python-format +msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." +msgstr "Ziurta zaitez balore honek gutxienez %(min)d karaktere dituela ,%(length)d ditu orain." + +#: newforms/fields.py:152 newforms/fields.py:181 newforms/fields.py:210 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Ziurta zaitez balore hau %s baino txikiagoa edo berdina dela." + +#: newforms/fields.py:153 newforms/fields.py:182 newforms/fields.py:211 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Ziurta zaitez balore hau %s baino haundiagoa edo berdina dela." + +#: newforms/fields.py:180 newforms/fields.py:209 +msgid "Enter a number." +msgstr "Idatzi zenbaki bat." + +#: newforms/fields.py:212 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Ziurta zaitez %s baino digito gehiago ez dagoela." + +#: newforms/fields.py:213 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Ziurta zaitez %s baino dezimale gehiago ez dagoela." + +#: newforms/fields.py:214 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Ziurta zaitez %s digitu baino gehiago ez dagoela puntu dezimalaren aurretik." + +#: newforms/fields.py:262 newforms/fields.py:723 +msgid "Enter a valid date." +msgstr "Data zuzen bat idatzi." + +#: newforms/fields.py:295 newforms/fields.py:724 +msgid "Enter a valid time." +msgstr "Ordu zuzen bat idatzi." + +#: newforms/fields.py:334 +msgid "Enter a valid date/time." +msgstr "Data/Ordua zuzen bat idatzi." + +#: newforms/fields.py:433 +msgid "No file was submitted." +msgstr "Ez da fitxategirik bidali." + +#: newforms/fields.py:434 oldforms/__init__.py:689 +msgid "The submitted file is empty." +msgstr "Bidalitako fitxategia hutsik dago." + +#: newforms/fields.py:496 +msgid "Enter a valid URL." +msgstr "URL zuzen bat idatzi." + +#: newforms/fields.py:497 +msgid "This URL appears to be a broken link." +msgstr "URL hau ez dabil ondo." + +#: newforms/fields.py:559 newforms/models.py:317 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Aukera zuzen bat aukeratu. Aukeratutakoa ez da zuzena." + +#: newforms/fields.py:598 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Aukeratu aukera zuzen bat. %(value)s ez da zuzena." + +#: newforms/fields.py:599 newforms/fields.py:661 newforms/models.py:377 +msgid "Enter a list of values." +msgstr "Balio zerrenda bat idatzi ezazu." + +#: newforms/fields.py:752 +msgid "Enter a valid IPv4 address." +msgstr "IPv4 zuzen bat idatzi." + +#: newforms/models.py:378 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Aukera zuzena aukeratu. %s ez da zuzena." + +#: 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] "Ziurta zaitez textuak %s karaktere baino gutxiago duela." +msgstr[1] "" + +#: oldforms/__init__.py:414 +msgid "Line breaks are not allowed here." +msgstr "Lerro berriak (line breaks) ez dire onartzen hemen." + +#: 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 "Aukera zuzena aukeratu: '%(data)s' ez dago %(choices)s hartean." + +#: oldforms/__init__.py:745 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Idatzi -32.768 eta 32.767 arteko zenbaki osoa." + +#: oldforms/__init__.py:755 +msgid "Enter a positive number." +msgstr "Zenbaki positboa idatzi." + +#: oldforms/__init__.py:765 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Idatzi 0 eta 32.767 arteko zenbaki osoa." + +#: template/defaultfilters.py:691 +msgid "yes,no,maybe" +msgstr "bai,ez,agian" + +#: template/defaultfilters.py:722 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "" + +#: template/defaultfilters.py:724 +#, python-format +msgid "%.1f KB" +msgstr "%.1f KB" + +#: template/defaultfilters.py:726 +#, python-format +msgid "%.1f MB" +msgstr "%.1f MB" + +#: template/defaultfilters.py:727 +#, python-format +msgid "%.1f GB" +msgstr "%.1f GB" + +#: utils/dateformat.py:41 +msgid "p.m." +msgstr "p.m." + +#: utils/dateformat.py:42 +msgid "a.m." +msgstr "a.m." + +#: utils/dateformat.py:47 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:48 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:97 +msgid "midnight" +msgstr "gauerdia" + +#: utils/dateformat.py:99 +msgid "noon" +msgstr "eguerdia" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "Astelehena" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Asteartea" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Asteazkena" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Osteguna" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "Ostirala" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Larunbata" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Igandea" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "Astelehe" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "Astear" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "Asteaz" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "Oste" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "Osti" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "Lar" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "Iga" + +#: utils/dates.py:18 +msgid "January" +msgstr "Urtarrila" + +#: utils/dates.py:18 +msgid "February" +msgstr "Otsaila" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "Martxoa" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "Apirila" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "Maiatza" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "Ekaina" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "Uztaila" + +#: utils/dates.py:19 +msgid "August" +msgstr "Abuztua" + +#: utils/dates.py:19 +msgid "September" +msgstr "Iraila" + +#: utils/dates.py:19 +msgid "October" +msgstr "Urria" + +#: utils/dates.py:19 +msgid "November" +msgstr "Azaroa" + +#: utils/dates.py:20 +msgid "December" +msgstr "Abendua" + +#: utils/dates.py:23 +msgid "jan" +msgstr "urt" + +#: utils/dates.py:23 +msgid "feb" +msgstr "ots" + +#: utils/dates.py:23 +msgid "mar" +msgstr "mar" + +#: utils/dates.py:23 +msgid "apr" +msgstr "api" + +#: utils/dates.py:23 +msgid "may" +msgstr "mai" + +#: utils/dates.py:23 +msgid "jun" +msgstr "eka" + +#: utils/dates.py:24 +msgid "jul" +msgstr "uzt" + +#: utils/dates.py:24 +msgid "aug" +msgstr "abu" + +#: utils/dates.py:24 +msgid "sep" +msgstr "ira" + +#: utils/dates.py:24 +msgid "oct" +msgstr "urr" + +#: utils/dates.py:24 +msgid "nov" +msgstr "aza" + +#: utils/dates.py:24 +msgid "dec" +msgstr "abe" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "Urt." + +#: utils/dates.py:31 +msgid "Feb." +msgstr "Ots." + +#: utils/dates.py:32 +msgid "Aug." +msgstr "Abu." + +#: utils/dates.py:32 +msgid "Sept." +msgstr "Ira." + +#: utils/dates.py:32 +msgid "Oct." +msgstr "Urr." + +#: utils/dates.py:32 +msgid "Nov." +msgstr "Aza." + +#: utils/dates.py:32 +msgid "Dec." +msgstr "Abe." + +#: utils/text.py:127 +msgid "or" +msgstr "edo" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "urtea" +msgstr[1] "" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "hilabetea" +msgstr[1] "" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "astea" +msgstr[1] "" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "eguna" +msgstr[1] "" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hordua" +msgstr[1] "" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minutu" +msgstr[1] "" + +#: utils/timesince.py:46 +msgid "minutes" +msgstr "minutuak" + +#: utils/timesince.py:51 +#, python-format +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" + +#: utils/timesince.py:57 +#, python-format +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" + +#: utils/translation/trans_real.py:404 +msgid "DATE_FORMAT" +msgstr "DATE_FORMAT" + +#: utils/translation/trans_real.py:405 +msgid "DATETIME_FORMAT" +msgstr "DATETIME_FORMAT" + +#: utils/translation/trans_real.py:406 +msgid "TIME_FORMAT" +msgstr "TIME_FORMAT" + +#: utils/translation/trans_real.py:422 +msgid "YEAR_MONTH_FORMAT" +msgstr "YEAR_MONTH_FORMAT" + +#: utils/translation/trans_real.py:423 +msgid "MONTH_DAY_FORMAT" +msgstr "MONTH_DAY_FORMAT" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s arazorik gabe sortu da" + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s arazorik gabe aldatua izan da." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s ezabatua izan da." + diff --git a/django/conf/locale/eu/LC_MESSAGES/djangojs.mo b/django/conf/locale/eu/LC_MESSAGES/djangojs.mo Binary files differnew file mode 100644 index 0000000000..b3e94ad711 --- /dev/null +++ b/django/conf/locale/eu/LC_MESSAGES/djangojs.mo diff --git a/django/conf/locale/eu/LC_MESSAGES/djangojs.po b/django/conf/locale/eu/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..dd5a8c02e6 --- /dev/null +++ b/django/conf/locale/eu/LC_MESSAGES/djangojs.po @@ -0,0 +1,117 @@ +# Spanish translation for the django-admin JS files. +# Copyright (C) +# This file is distributed under the same license as the PACKAGE package. +# +msgid "" +msgstr "" +"Project-Id-Version: Django JavaScript 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-07-14 13:47-0500\n" +"PO-Revision-Date: 2007-07-14 13:41-0500\n" +"Last-Translator: Jorge Gajon <gajon@gajon.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: contrib/admin/media/js/calendar.js:24 +#: contrib/admin/media/js/dateparse.js:32 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" +"Urtarrila Otsaila Martxoa Apirila Maiatza Ekaina Uztaila Abuztua Iraila Urria " +"Azaroa Abendua" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "I A A A O O L" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Igandea Astelehene Asteartea Asteazkena Osteguna Ostirala Larunbata" + +#: contrib/admin/media/js/SelectFilter2.js:33 +#, perl-format +msgid "Available %s" +msgstr "%s Erabilgarri" + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "Denak aukeratu" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "Gehitu" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "Ezabatu" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "%s Aukeratuak" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "Egin zure aukerak eta click egin " + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "Denak garbitu" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Now" +msgstr "Orain" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +msgid "Clock" +msgstr "Erlojua" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +msgid "Choose a time" +msgstr "Aukeratu ordu bat" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "Midnight" +msgstr "Gauerdia" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "6 a.m." +msgstr "6 a.m." + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "Noon" +msgstr "Eguerdia" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +msgid "Cancel" +msgstr "Atzera" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +msgid "Today" +msgstr "Gaur" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +msgid "Calendar" +msgstr "Egutegia" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +msgid "Yesterday" +msgstr "Atzo" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +msgid "Tomorrow" +msgstr "Bihar" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "Erakutsi" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "Izkutatu" diff --git a/django/conf/locale/ka/LC_MESSAGES/django.mo b/django/conf/locale/ka/LC_MESSAGES/django.mo Binary files differnew file mode 100644 index 0000000000..44309162c0 --- /dev/null +++ b/django/conf/locale/ka/LC_MESSAGES/django.mo diff --git a/django/conf/locale/ka/LC_MESSAGES/django.po b/django/conf/locale/ka/LC_MESSAGES/django.po new file mode 100644 index 0000000000..023a31ece9 --- /dev/null +++ b/django/conf/locale/ka/LC_MESSAGES/django.po @@ -0,0 +1,4369 @@ +# Django translation to Georgian language. +# Copyright (C) 2008 +# This file is distributed under the same license as the PACKAGE package. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-02-17 15:03+0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: David Avsajanishvili <avsd05@gmail.com>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "არაბული" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "ბენგალიური" + +#: conf/global_settings.py:41 +msgid "Bulgarian" +msgstr "ბულგარული" + +#: conf/global_settings.py:42 +msgid "Catalan" +msgstr "კატალანური" + +#: conf/global_settings.py:43 +msgid "Czech" +msgstr "ჩეხური" + +#: conf/global_settings.py:44 +msgid "Welsh" +msgstr "უელსური" + +#: conf/global_settings.py:45 +msgid "Danish" +msgstr "დანიური" + +#: conf/global_settings.py:46 +msgid "German" +msgstr "გერმანული" + +#: conf/global_settings.py:47 +msgid "Greek" +msgstr "ბერძნული" + +#: conf/global_settings.py:48 +msgid "English" +msgstr "ინგლისური" + +#: conf/global_settings.py:49 +msgid "Spanish" +msgstr "ესპანური" + +#: conf/global_settings.py:50 +msgid "Argentinean Spanish" +msgstr "არგენტინის ესპანური" + +#: conf/global_settings.py:51 +msgid "Persian" +msgstr "სპარსული" + +#: conf/global_settings.py:52 +msgid "Finnish" +msgstr "ფინური" + +#: conf/global_settings.py:53 +msgid "French" +msgstr "ფრანგული" + +#: conf/global_settings.py:54 +msgid "Gaeilge" +msgstr "გალიჯური" + +#: conf/global_settings.py:55 +msgid "Galician" +msgstr "გალიციური" + +#: conf/global_settings.py:56 +msgid "Hungarian" +msgstr "უნგრული" + +#: conf/global_settings.py:57 +msgid "Hebrew" +msgstr "ებრაული" + +#: conf/global_settings.py:58 +msgid "Croatian" +msgstr "ხორვატიული" + +#: conf/global_settings.py:59 +msgid "Icelandic" +msgstr "ისლანდიური" + +#: conf/global_settings.py:60 +msgid "Italian" +msgstr "იტალიური" + +#: conf/global_settings.py:61 +msgid "Japanese" +msgstr "იაპონური" + +#: conf/global_settings.py:62 +#, fuzzy +msgid "Georgian" +msgstr "ქართული" + +#: conf/global_settings.py:63 +msgid "Korean" +msgstr "კორეული" + +#: conf/global_settings.py:64 +msgid "Khmer" +msgstr "ხმერული" + +#: conf/global_settings.py:65 +msgid "Kannada" +msgstr "კანნადა" + +#: conf/global_settings.py:66 +msgid "Latvian" +msgstr "ლატვიური" + +#: conf/global_settings.py:67 +msgid "Macedonian" +msgstr "მაკედონური" + +#: conf/global_settings.py:68 +msgid "Dutch" +msgstr "ჰოლანდიური" + +#: conf/global_settings.py:69 +msgid "Norwegian" +msgstr "ნორვეგიული" + +#: conf/global_settings.py:70 +msgid "Polish" +msgstr "პოლონური" + +#: conf/global_settings.py:71 +msgid "Portugese" +msgstr "პორტუგალიური" + +#: conf/global_settings.py:72 +msgid "Brazilian" +msgstr "ბრაზილიური" + +#: conf/global_settings.py:73 +msgid "Romanian" +msgstr "რუმინული" + +#: conf/global_settings.py:74 +msgid "Russian" +msgstr "რუსული" + +#: conf/global_settings.py:75 +msgid "Slovak" +msgstr "სლოვარური" + +#: conf/global_settings.py:76 +msgid "Slovenian" +msgstr "სლოვენიური" + +#: conf/global_settings.py:77 +msgid "Serbian" +msgstr "სერბული" + +#: conf/global_settings.py:78 +msgid "Swedish" +msgstr "შვედური" + +#: conf/global_settings.py:79 +msgid "Tamil" +msgstr "თამილური" + +#: conf/global_settings.py:80 +msgid "Telugu" +msgstr "ტელუგუ" + +#: conf/global_settings.py:81 +msgid "Turkish" +msgstr "თურქული" + +#: conf/global_settings.py:82 +msgid "Ukrainian" +msgstr "უკრაინული" + +#: conf/global_settings.py:83 +msgid "Simplified Chinese" +msgstr "გამარტივებული ჩინური" + +#: conf/global_settings.py:84 +msgid "Traditional Chinese" +msgstr "ტრადიციული ჩინური" + +#: contrib/admin/filterspecs.py:44 +#, python-format +msgid "" +"<h3>By %s:</h3>\n" +"<ul>\n" +msgstr "" +"<h3>%s-ს მიერ:</h3>\n" +"<ul>\n" + +#: contrib/admin/filterspecs.py:74 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "ყველა" + +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "ნებისმიერი თარიღი" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "დღეს" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "ბოლო 7 დღე" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "მიმდინარე თვე" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "მიმდინარე წელი" + +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 +#: oldforms/__init__.py:592 +msgid "Yes" +msgstr "კი" + +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 +#: oldforms/__init__.py:592 +msgid "No" +msgstr "არა" + +#: contrib/admin/filterspecs.py:154 newforms/widgets.py:231 +#: oldforms/__init__.py:592 +msgid "Unknown" +msgstr "გაურკვეველი" + +#: contrib/admin/models.py:18 +msgid "action time" +msgstr "მოქმედების დრო" + +#: contrib/admin/models.py:21 +msgid "object id" +msgstr "ობიექტის id" + +#: contrib/admin/models.py:22 +msgid "object repr" +msgstr "ობიექტის წარმ." + +#: contrib/admin/models.py:23 +msgid "action flag" +msgstr "მოქმედების დროშა" + +#: contrib/admin/models.py:24 +msgid "change message" +msgstr "შეცვლის შეტყობინება" + +#: contrib/admin/models.py:27 +msgid "log entry" +msgstr "ლოგის ერთეული" + +#: contrib/admin/models.py:28 +msgid "log entries" +msgstr "ლოგის ერთეულები" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "გვერდი ვერ მოიძებნა" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "უკაცრავად, მოთხოვნილი გვერდი ვერ მოიძებნა." + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/base.html:37 +#: contrib/admin/templates/admin/change_form.html:12 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:5 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +msgid "Home" +msgstr "საწყისი გვერდი" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "სერვერის შეცდომა" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "სერვერის შეცდომა (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error <em>(500)</em>" +msgstr "სერვერის შეცდომა <em>(500)</em>" + +#: contrib/admin/templates/admin/500.html:10 +msgid "" +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"აქ იყო შეცდომა. იგი გადაგზავნილია საიტის ადმინისტრატორის ელექტრონულ ფოსტაზე " +"და მალე გამოსწორდება. გმადლობთ მოთმინებისათვის." + +#: contrib/admin/templates/admin/base.html:26 +msgid "Welcome," +msgstr "კეთილი იყოს თქვენი მობრძანება," + +#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "დოკუმენტაცია" + +#: contrib/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin/auth/user/change_password.html:14 +#: contrib/admin/templates/admin/auth/user/change_password.html:45 +msgid "Change password" +msgstr "პაროლის შეცვლა" + +#: contrib/admin/templates/admin/base.html:30 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "გამოსვლა" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Django-ს ადმინისტრირების საიტი" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Django-ს ადმინისტრირება" + +#: contrib/admin/templates/admin/change_form.html:14 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "დამატება" + +#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/object_history.html:4 +msgid "History" +msgstr "ისტორია" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "წარმოდგენა საიტზე" + +#: contrib/admin/templates/admin/change_form.html:31 +#: contrib/admin/templates/admin/auth/user/change_password.html:23 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "გთხოვთ, გაასწორეთ ქვემოთ მოყვანილი შეცდომა." +msgstr[1] "გთხოვთ, გაასწორეთ ქვემოთ მოყვანილი შეცდომები." + +#: contrib/admin/templates/admin/change_form.html:49 +msgid "Ordering" +msgstr "დალაგება" + +#: contrib/admin/templates/admin/change_form.html:52 +msgid "Order:" +msgstr "დალაგება:" + +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "დავამატოთ %(name)s" + +#: contrib/admin/templates/admin/delete_confirmation.html:8 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "წავშალოთ" + +#: contrib/admin/templates/admin/delete_confirmation.html:13 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"ობიექტების წაშლა: %(object_name)s '%(escaped_object)s' გამოიწვევს " +"დაკავშირებული ობიექტების წაშლას, მაგრამ თქვენ არა გაქვთ შემდეგი ტიპების " +"ობიექტების წაშლის უფლება:" + +#: contrib/admin/templates/admin/delete_confirmation.html:20 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" + +#: contrib/admin/templates/admin/delete_confirmation.html:25 +msgid "Yes, I'm sure" +msgstr "კი, ნამდვილად" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s მიხედვით " + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "ფილტრი" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "%(name)s აპლიკაციაში არსებული მოდელები." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "შეცვლა" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "თქვენ არა გაქვთ რედაქტირების უფლება." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "ბოლო მოქმედებები" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "ჩემი მოქმედებები" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "არ არის მისაწვდომი" + +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"თქვენი მონაცემთა ბაზის ინსტალაცია არაკორექტულია. დარწმუნდით, რომ მონაცემთა " +"ბაზის შესაბამისი ცხრილები შექმნილია, და მონაცემთა ბაზის წაკითხვა შეუძლია " +"შესაბამის მომხმარებელს." + +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "მომხმარებლის სახელი:" + +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "პაროლი:" + +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:25 +msgid "Log in" +msgstr "შესვლა" + +#: contrib/admin/templates/admin/object_history.html:17 +msgid "Date/time" +msgstr "თარიღი/დრო" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "User" +msgstr "მომხმარებელი" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "Action" +msgstr "მოქმედება" + +#: contrib/admin/templates/admin/object_history.html:25 +msgid "DATE_WITH_TIME_FULL" +msgstr "N j, Y, P" + +#: contrib/admin/templates/admin/object_history.html:35 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"ამ ობიექტს ცვლილებების ისტორია არა აქვს. როგორც ჩანს, იგი არ იყო დამატებული " +"ადმინისტრირების საიტის მეშვეობით." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "ვაჩვენოთ ყველა" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "ძებნა" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "ერთი შედეგი" +msgstr[1] "%(counter)s შედეგი" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "სულ %(full_result_count)s" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "შევინახოთ, როგორც ახალი" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "შევინახოთ და დავამატოთ ახალი" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "შევინახოთ და გავაგრძელოთ რედაქტირება" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "შევინახოთ" + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"ჯერ შეიყვანეთ მომხმარებლის სახელი და პაროლი. ამის შემდეგ თქვენ გექნებათ " +"მომხმარებლის სხვა ოპციების რედაქტირების შესაძლებლობა." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "მომხმარებელი" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:33 +msgid "Password" +msgstr "პაროლი" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:38 +msgid "Password (again)" +msgstr "პაროლი (განმეორებით)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Enter the same password as above, for verification." +msgstr "შეიყვანეთ იგივე პაროლი, დამოწმებისათვის." + +#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#, python-format +msgid "Enter a new password for the user <strong>%(username)s</strong>." +msgstr "" +"შეიყვანეთ ახალი პაროლი მომხმარებლისათვის <strong>%(username)s</strong>." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "სანიშნები" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "დოკუმენტაციის სანიშნები" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"<p class=\"help\">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\").</p>\n" +msgstr "" +"\n" +"<p class=\"help\">სანიშნების დასაყენებლად გადაათრიეთ ბმული თქვენი " +"სანიშნების\n" +"პანელზე, ან დააწკაპეთ ბმულზე მარჯვენა ღილაკით და დაამატეთ იგი სანიშნებში.\n" +"ამის შემდეგ თქვენ შეძლებთ სანიშნის არჩევას საიტის ნებისმიერი გვერდიდან.\n" +"გაითვალისწინეთ, რომ ზოგიერთი სანიშნის მოხმარებისათვის საჭიროა, რომ თქვენ\n" +"იყოთ შესული ამ საიტზე ე.წ. \"შიდა\" კომპიუტერიდან (შეუთანხმდით თქვენს\n" +"ადმინისტრატორს, თუ არ ხართ დარწმუნებული, რომ თქვენი კომპიუტერი არის\n" +"\"შიდა\" კომპიუტერი).</p>\n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "ამ გვერდის დოკუმენტაცია" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"გადასვლა ნებისმიერი გვერდიდან იმ წარმოდგენის დოკუმენტაციაზე, რომელიც ამ " +"გვერდს აგენერირებს." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "ობიექტის ID-ის ჩვენება" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"ერთი ობიექტის ამსახველი გვერდის content-type-ის და უნიკალური ID-ის ჩვენება." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "შევცვალოთ ეს ობიექტი (იმავე ფანჯარაში)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "ერთი ობიექტის ამსახველი გვერდების ადმინისტრირებაზე გადასვლა." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "შევცვალოთ ეს ობიექტი (ახალ ფანჯარაში)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "იგივე, ოღონდ ხსნის ადმინისტრირების გვერდს ახალ ფანჯარაში." + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "გმადლობთ, რომ დღეს ამ საიტთან მუშაობას დაუთმეთ დრო." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "ხელახლა შესვლა" + +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:9 +msgid "Password change" +msgstr "პაროლის შეცვლა" + +#: contrib/admin/templates/registration/password_change_done.html:5 +#: contrib/admin/templates/registration/password_change_done.html:9 +msgid "Password change successful" +msgstr "პაროლი წარმატებით შეიცვალა" + +#: contrib/admin/templates/registration/password_change_done.html:11 +msgid "Your password was changed." +msgstr "თქვენი პაროლი შეიცვალა." + +#: contrib/admin/templates/registration/password_change_form.html:11 +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"გთხოვთ, უსაფრთხოების დაცვის მიზნით, შეიყვანოთ თქვენი ძველი პაროლი, შემდეგ კი " +"ახალი პაროლი ორჯერ, რათა დარწმუნდეთ, რომ იგი შეყვანილია სწორად." + +#: contrib/admin/templates/registration/password_change_form.html:16 +msgid "Old password:" +msgstr "ძველი პაროლი:" + +#: contrib/admin/templates/registration/password_change_form.html:18 +msgid "New password:" +msgstr "ახალი პაროლი:" + +#: contrib/admin/templates/registration/password_change_form.html:20 +msgid "Confirm password:" +msgstr "პაროლის დამოწმება:" + +#: contrib/admin/templates/registration/password_change_form.html:22 +msgid "Change my password" +msgstr "შევცვალოთ ჩემი პაროლი" + +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +msgid "Password reset" +msgstr "პაროლის აღდგენა" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "პაროლის აღდგენა წარმატებით დასრულდა" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." +msgstr "" +"ახალი პაროლი გაიგზავნა თქვენს მიერ მითითებულ ელექტრონულ ფოსტაზე. თქვენ " +"მიიღებთ მას უახლოეს დროში." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "თქვენ მიიღეთ ეს წერილი, რადგანაც მოითხოვეთ პაროლის აღდგენა" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "თქვენი მომხმარებლის ანგარიშისათვის %(site_name)s-საიტზე" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "თქვენი ახალი პაროლია: %(new_password)s" + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "თქვენ შეგიძლიათ შეცვალოთ იგი შემდეგი გვერდიდან:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "თქვენი მომხმარებლის სახელი (თუ დაგავიწყდათ):" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "გმადლობთ, რომ იყენებთ ჩვენს საიტს!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s საიტის გუნდი" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll reset " +"your password and e-mail the new one to you." +msgstr "" +"დაგავიწყდათ პაროლი? შეიყვანეთ თქვენი ელექტრონული ფოსტის მისამართი ამ ველში, " +"ჩვენ დავაგენერირებთ და გამოგიგზავნით ახალ პაროლს." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "ელ. ფოსტა:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "აღვადგინოთ ჩემი პაროლი" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "თარიღი;" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "დრო:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "მიმდინარე:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "შეცვლა:" + +#: contrib/admin/templatetags/admin_list.py:257 +msgid "All dates" +msgstr "ყველა თარიღი" + +#: contrib/admin/views/auth.py:20 contrib/admin/views/main.py:267 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" წარმატებით დაემატა." + +#: contrib/admin/views/auth.py:25 contrib/admin/views/main.py:271 +#: contrib/admin/views/main.py:356 +msgid "You may edit it again below." +msgstr "თქვენ შეგიძლიათ შეცვალოთ იგი." + +#: contrib/admin/views/auth.py:31 +msgid "Add user" +msgstr "მომხმარებლის დამატება" + +#: contrib/admin/views/auth.py:58 +msgid "Password changed successfully." +msgstr "პაროლი წარმატებით შეიცვალა." + +#: contrib/admin/views/auth.py:65 +#, python-format +msgid "Change password: %s" +msgstr "შევცვალოთ პაროლი: %s" + +#: contrib/admin/views/decorators.py:11 contrib/auth/forms.py:60 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"გთხოვთ, შეიყვანოთ სწორი მომხმარებლის სახელი და პაროლი. გაითვალისწინეთ, რომ " +"ორივე ველი დამოკიდებულია რეგისტრზე." + +#: contrib/admin/views/decorators.py:63 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" +"გთხოვთ, შეხვიდეთ კიდევ ერთხელ, რადგანაც თქვენი სესიის დრო ამოიწურა. ნუ " +"ღელავთ: თქვენს მიერ შეტანილი ცვლილებები შენახულია." + +#: contrib/admin/views/decorators.py:70 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"როგორც ჩანს, თქვენი ბროუზერი არ ღებულობს cookie-ებს. გთხოვთ, ჩართოთ cookie-" +"ების მიღების ფუნქცია, განაახლეთ ეს გვერდი და სცადეთ კიდევ ერთხელ." + +#: contrib/admin/views/decorators.py:84 +msgid "Usernames cannot contain the '@' character." +msgstr "მომხმარებლის სახელი არ უნდა შეიცავდეს სიმბოლოს '@'." + +#: contrib/admin/views/decorators.py:86 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" +"ელ-ფოსტის მისამართი არ არის თქვენი მომხმარებლის სახელი. სცადეთ '%s' მის " +"ნაცვლად." + +#: contrib/admin/views/doc.py:48 contrib/admin/views/doc.py:50 +#: contrib/admin/views/doc.py:52 +msgid "tag:" +msgstr "ტეგი:" + +#: contrib/admin/views/doc.py:79 contrib/admin/views/doc.py:81 +#: contrib/admin/views/doc.py:83 +msgid "filter:" +msgstr "ფილტრი:" + +#: contrib/admin/views/doc.py:137 contrib/admin/views/doc.py:139 +#: contrib/admin/views/doc.py:141 +msgid "view:" +msgstr "წარმოდგენა:" + +#: contrib/admin/views/doc.py:166 +#, python-format +msgid "App %r not found" +msgstr "აპლიკაცია %r ვერ მოიძებნა" + +#: contrib/admin/views/doc.py:173 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "მოდელი %(name)r ვერ მოიძებნა აპლიკაციაში %(label)r" + +#: contrib/admin/views/doc.py:185 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "`%(label)s.%(type)s` დაკავშირებული ობიექტი" + +#: contrib/admin/views/doc.py:185 contrib/admin/views/doc.py:207 +#: contrib/admin/views/doc.py:221 contrib/admin/views/doc.py:226 +msgid "model:" +msgstr "მოდელი:" + +#: contrib/admin/views/doc.py:216 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "`%(label)s.%(name)s` დაკავშირებული ობიექტები" + +#: contrib/admin/views/doc.py:221 +#, python-format +msgid "all %s" +msgstr "ყველა %s" + +#: contrib/admin/views/doc.py:226 +#, python-format +msgid "number of %s" +msgstr "%s - რაოდენობა" + +#: contrib/admin/views/doc.py:231 +#, python-format +msgid "Fields on %s objects" +msgstr "%s ობიექტების ველები" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:304 +#: contrib/admin/views/doc.py:306 contrib/admin/views/doc.py:312 +#: contrib/admin/views/doc.py:313 contrib/admin/views/doc.py:315 +msgid "Integer" +msgstr "მთელი" + +#: contrib/admin/views/doc.py:294 +msgid "Boolean (Either True or False)" +msgstr "ლოგიკური (True ან False)" + +#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:314 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "სტრიქონი (%(max_length)s სიმბოლომდე)" + +#: contrib/admin/views/doc.py:296 +msgid "Comma-separated integers" +msgstr "მძიმით გამოყოფილი მთელი რიცხვები" + +#: contrib/admin/views/doc.py:297 +msgid "Date (without time)" +msgstr "თარიღი (დროის გარეშე)" + +#: contrib/admin/views/doc.py:298 +msgid "Date (with time)" +msgstr "თარიღი (დროსთან ერთად)" + +#: contrib/admin/views/doc.py:299 +msgid "Decimal number" +msgstr "ათობითი რიცხვი" + +#: contrib/admin/views/doc.py:300 +msgid "E-mail address" +msgstr "ელ. ფოსტის მისამართი" + +#: contrib/admin/views/doc.py:301 contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:305 +msgid "File path" +msgstr "გზა ფაილისაკენ" + +#: contrib/admin/views/doc.py:303 +msgid "Floating point number" +msgstr "რიცხვი მცოცავი წერტილით" + +#: contrib/admin/views/doc.py:307 contrib/comments/models.py:89 +msgid "IP address" +msgstr "IP-მისამართი" + +#: contrib/admin/views/doc.py:309 +msgid "Boolean (Either True, False or None)" +msgstr "ლოგიკური (True, False ან None)" + +#: contrib/admin/views/doc.py:310 +msgid "Relation to parent model" +msgstr "მშობელ მოდელთან დამოკიდებულება" + +#: contrib/admin/views/doc.py:311 +msgid "Phone number" +msgstr "ტელეფონის ნომერი" + +#: contrib/admin/views/doc.py:316 +msgid "Text" +msgstr "ტექსტი" + +#: contrib/admin/views/doc.py:317 +msgid "Time" +msgstr "დრო" + +#: contrib/admin/views/doc.py:318 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "" + +#: contrib/admin/views/doc.py:319 +msgid "U.S. state (two uppercase letters)" +msgstr "აშშ შტატი (ორი ასომთავრული)" + +#: contrib/admin/views/doc.py:320 +msgid "XML text" +msgstr "XML ტექსტი" + +#: contrib/admin/views/doc.py:346 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s არ არის urlpattern-ის შესაბამისი ობიექტი" + +#: contrib/admin/views/main.py:233 +msgid "Site administration" +msgstr "საიტის ადმინისტრირება" + +#: contrib/admin/views/main.py:280 contrib/admin/views/main.py:365 +#, python-format +msgid "You may add another %s below." +msgstr "შეგიძლიათ დაამატოთ კიდევ ერთი %s." + +#: contrib/admin/views/main.py:298 +#, python-format +msgid "Add %s" +msgstr "დავამატოთ %s" + +#: contrib/admin/views/main.py:344 +#, python-format +msgid "Added %s." +msgstr "%s დამატებულია." + +#: contrib/admin/views/main.py:344 contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:348 core/validators.py:283 +#: db/models/manipulators.py:309 +msgid "and" +msgstr "და" + +#: contrib/admin/views/main.py:346 +#, python-format +msgid "Changed %s." +msgstr "%s შეცვლილია." + +#: contrib/admin/views/main.py:348 +#, python-format +msgid "Deleted %s." +msgstr "%s წაშლილია." + +#: contrib/admin/views/main.py:351 +msgid "No fields changed." +msgstr "არცერთი ველი არ შეცვლილა." + +#: contrib/admin/views/main.py:354 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" წარმატებით შეიცვალა." + +#: contrib/admin/views/main.py:362 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"%(name)s \"%(obj)s\" წარმატებით დაემატა. შეგიძლიათ განაგრძოთ მისი " +"რედაქტირება." + +#: contrib/admin/views/main.py:400 +#, python-format +msgid "Change %s" +msgstr "შევცვალოთ %s" + +#: contrib/admin/views/main.py:487 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "ერთი ან რამდენიმე %(fieldname)s ობიექტში %(name)s: %(obj)s" + +#: contrib/admin/views/main.py:492 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "ერთი ან რამდენიმე %(fieldname)s ობიექტში %(name)s:" + +#: contrib/admin/views/main.py:524 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" წარმატებით წაიშალა." + +#: contrib/admin/views/main.py:527 +msgid "Are you sure?" +msgstr "დარწმუნებული ხართ?" + +#: contrib/admin/views/main.py:549 +#, python-format +msgid "Change history: %s" +msgstr "ცვლილებების ისტორია: %s" + +#: contrib/admin/views/main.py:583 +#, python-format +msgid "Select %s" +msgstr "ავირჩიოთ %s" + +#: contrib/admin/views/main.py:583 +#, python-format +msgid "Select %s to change" +msgstr "აირჩიეთ %s შესაცვლელად" + +#: contrib/admin/views/main.py:784 +msgid "Database error" +msgstr "მონაცემთა ბაზის შეცდომა" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "პაროლის ორი ველი ერთმანეთს არ ემთხვევა." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "მომხმარებელი ამ სახელით უკვე არსებობს." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"თქვენი ბროუზერი არ ღებულობს cookie-ებს. Cookie საჭიროა საიტზე შესასვლელად." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "თქვენი ანგარიში არააქტიურია." + +#: contrib/auth/forms.py:84 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"ელ.ფოსტის ეს მისამართი არ შეესაბამება არცერთ მომხმარებელს. ნამდვილად ხართ " +"დარეგისტრირებული?" + +#: contrib/auth/forms.py:107 +#, python-format +msgid "Password reset on %s" +msgstr "პაროლი შეცვლილია: %s" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "'ახალი პაროლის' ორი ველი ერთმანეთს არ ემთხვევა." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "თქვენი ძველი პაროლი შეყვანილია არასწორად. გთხოვთ, შეიყვანოთ ხელახლა." + +#: contrib/auth/models.py:73 contrib/auth/models.py:93 +msgid "name" +msgstr "სახელი" + +#: contrib/auth/models.py:75 +msgid "codename" +msgstr "კოდური სახელი" + +#: contrib/auth/models.py:78 +msgid "permission" +msgstr "უფლება" + +#: contrib/auth/models.py:79 contrib/auth/models.py:94 +msgid "permissions" +msgstr "უფლებები" + +#: contrib/auth/models.py:97 +msgid "group" +msgstr "ჯგუფი" + +#: contrib/auth/models.py:98 contrib/auth/models.py:141 +msgid "groups" +msgstr "ჯგუფები" + +#: contrib/auth/models.py:131 +msgid "username" +msgstr "მომხმარებლის სახელი" + +#: contrib/auth/models.py:131 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"აუცილებელია. 30 ან ნაკლები სიმბოლო. მხოლოდ ლათინური ასოები, ციფრები და " +"ხაზგასმა." + +#: contrib/auth/models.py:132 +msgid "first name" +msgstr "სახელი" + +#: contrib/auth/models.py:133 +msgid "last name" +msgstr "გვარი" + +#: contrib/auth/models.py:134 +msgid "e-mail address" +msgstr "ელ. ფოსტა" + +#: contrib/auth/models.py:135 +msgid "password" +msgstr "პაროლი" + +#: contrib/auth/models.py:135 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the <a href=\"password/\">change " +"password form</a>." +msgstr "" +"გამოიყენეთ '[algo]$[salt]$[hexdigest]' ან <a href=\"password/\">პაროლის " +"შეცვლის ფორმა</a>." + +#: contrib/auth/models.py:136 +msgid "staff status" +msgstr "თანამშრომლობის სტატუსი" + +#: contrib/auth/models.py:136 +msgid "Designates whether the user can log into this admin site." +msgstr "" +"განსაზღვრავს, აქვს თუ არა მომხმარებელს ადმინისტრირების საიტზე შესვლის უფლება." + +#: contrib/auth/models.py:137 +msgid "active" +msgstr "აქტიურია" + +#: contrib/auth/models.py:137 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"განსაზღვრავს, აქვს თუ არა მომხმარებელს Django-ს ადმინისტრირების საიტზე " +"შესვლის შესაძლებლობა. გადანიშნეთ ეს დროშა მომხმარებლის წაშლის მაგივრად." + +#: contrib/auth/models.py:138 +msgid "superuser status" +msgstr "სუპერმომხმარებლის სტატუსი" + +#: contrib/auth/models.py:138 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "განსაზღვრავს, რომ ამ მომხმარებელს აქვს ყველა უფლება." + +#: contrib/auth/models.py:139 +msgid "last login" +msgstr "ბოლო შესვლა" + +#: contrib/auth/models.py:140 +msgid "date joined" +msgstr "გაწევრიანების თარიღი" + +#: contrib/auth/models.py:142 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"ინდივიდუალურად მითითებული უფლებების გარდა, ეს მომხმარებელი მიიღებს აგრეთვე " +"ყველა იმ ჯგუფის უფლებას, რომელშიც იგი გაწევრიანებულია." + +#: contrib/auth/models.py:143 +msgid "user permissions" +msgstr "მომხმარებლის უფლებები" + +#: contrib/auth/models.py:147 +msgid "user" +msgstr "მომხმარებელი" + +#: contrib/auth/models.py:148 +msgid "users" +msgstr "მომხმარებლები" + +#: contrib/auth/models.py:154 +msgid "Personal info" +msgstr "პირადი ინფორმაცია" + +#: contrib/auth/models.py:155 +msgid "Permissions" +msgstr "უფლებები" + +#: contrib/auth/models.py:156 +msgid "Important dates" +msgstr "მნიშვნელოვანი თარიღები" + +#: contrib/auth/models.py:157 +msgid "Groups" +msgstr "ჯგუფები" + +#: contrib/auth/models.py:316 +msgid "message" +msgstr "შეტყობინება" + +#: contrib/auth/views.py:47 +msgid "Logged out" +msgstr "გამოსული ხართ" + +#: contrib/comments/models.py:71 contrib/comments/models.py:176 +msgid "object ID" +msgstr "ობიექტის ID" + +#: contrib/comments/models.py:72 +msgid "headline" +msgstr "ჰედლაინი" + +#: contrib/comments/models.py:73 contrib/comments/models.py:95 +#: contrib/comments/models.py:177 +msgid "comment" +msgstr "კომენტარი" + +#: contrib/comments/models.py:74 +msgid "rating #1" +msgstr "რეიტინგი #1" + +#: contrib/comments/models.py:75 +msgid "rating #2" +msgstr "რეიტინგი #2" + +#: contrib/comments/models.py:76 +msgid "rating #3" +msgstr "რეიტინგი #3" + +#: contrib/comments/models.py:77 +msgid "rating #4" +msgstr "რეიტინგი #4" + +#: contrib/comments/models.py:78 +msgid "rating #5" +msgstr "რეიტინგი #5" + +#: contrib/comments/models.py:79 +msgid "rating #6" +msgstr "რეიტინგი #6" + +#: contrib/comments/models.py:80 +msgid "rating #7" +msgstr "რეიტინგი #7" + +#: contrib/comments/models.py:81 +msgid "rating #8" +msgstr "რეიტინგი #8" + +#: contrib/comments/models.py:86 +msgid "is valid rating" +msgstr "დასაშვები რეიტინგია" + +#: contrib/comments/models.py:87 contrib/comments/models.py:179 +msgid "date/time submitted" +msgstr "გაგზავნის თარიღი და დრო" + +#: contrib/comments/models.py:88 contrib/comments/models.py:180 +msgid "is public" +msgstr "საყოველთაოა" + +#: contrib/comments/models.py:90 +msgid "is removed" +msgstr "წაშლილია" + +#: contrib/comments/models.py:90 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"მონიშნეთ ეს დროშა, თუ კომენტარი შეუსაბამოა. მის ნაცვლად გაჩნდება " +"შეტყობინება: \"კომენტარი წაშლილია\"." + +#: contrib/comments/models.py:96 +msgid "comments" +msgstr "კომენტარები" + +#: contrib/comments/models.py:140 contrib/comments/models.py:222 +msgid "Content object" +msgstr "კონტენტის ობიექტი" + +#: contrib/comments/models.py:168 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +"გამოგზავნილია %(user)s-ს მიერ, %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" + +#: contrib/comments/models.py:178 +msgid "person's name" +msgstr "პიროვნების სახელი" + +#: contrib/comments/models.py:181 +msgid "ip address" +msgstr "ip-მისამართი" + +#: contrib/comments/models.py:183 +msgid "approved by staff" +msgstr "მოწონებულია პერსონალის მიერ" + +#: contrib/comments/models.py:187 +msgid "free comment" +msgstr "თავისუფალი კომენტარი" + +#: contrib/comments/models.py:188 +msgid "free comments" +msgstr "თავისუფალი კომენტარები" + +#: contrib/comments/models.py:250 +msgid "score" +msgstr "შეფასება" + +#: contrib/comments/models.py:251 +msgid "score date" +msgstr "შეფასების თარიღი" + +#: contrib/comments/models.py:255 +msgid "karma score" +msgstr "კარმა-შეფასება" + +#: contrib/comments/models.py:256 +msgid "karma scores" +msgstr "კარმა-შეფასებები" + +#: contrib/comments/models.py:260 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "%(score)d შეფასებულია %(user)s-ის მიერ" + +#: contrib/comments/models.py:277 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +"ეს კომენტარი მონიშნულია %(user)s-ის მიერ:\n" +"\n" +"%(text)s" + +#: contrib/comments/models.py:285 +msgid "flag date" +msgstr "მონიშვნის თარიღი" + +#: contrib/comments/models.py:289 +msgid "user flag" +msgstr "მომხმარებლის მონიშვნა" + +#: contrib/comments/models.py:290 +msgid "user flags" +msgstr "მომხმარებლის მონიშვნები" + +#: contrib/comments/models.py:294 +#, python-format +msgid "Flag by %r" +msgstr "%r-ის მონიშვნები" + +#: contrib/comments/models.py:300 +msgid "deletion date" +msgstr "წაშლის თარიღი" + +#: contrib/comments/models.py:303 +msgid "moderator deletion" +msgstr "მოდერატორის წაშლა" + +#: contrib/comments/models.py:304 +msgid "moderator deletions" +msgstr "მოდერატორის წაშლები" + +#: contrib/comments/models.py:308 +#, python-format +msgid "Moderator deletion by %r" +msgstr "მოდერატორის წაშლა %r-ის მიერ" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "დაგავიწყდათ თქვენი პაროლი?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "რეიტინგები" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "აუცილებელია" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "არასავალდებულოა" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "სურათის გაგზავნა" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "კომენტარი:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "კომენტარის წინასწარი ნახვა" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "თქვენი სახელი:" + +#: contrib/comments/views/comments.py:28 +msgid "" +"This rating is required because you've entered at least one other rating." +msgstr "ეს რეიტინგი აუცილებელია, რადგანაც თქვენ შესულხართ სხვა რეიტინგებში." + +#: contrib/comments/views/comments.py:112 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" +"\n" +"%(text)s" +msgid_plural "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comments:\n" +"\n" +"%(text)s" +msgstr[0] "" +"ეს კომენტარი გამოგზავნილია მომხმარებლის მიერ, რომელსაც %(count)s-ზე ნაკლები " +"კომენტარი აქვს:\n" +"\n" +"%(text)s" +msgstr[1] "" +"ეს კომენტარი გამოგზავნილია მომხმარებლის მიერ, რომელსაც %(count)s-ზე ნაკლები " +"კომენტარი აქვს:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:117 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"ეს კომენტარი გამოგზავნილია ზერელე მომხმარებლის მიერ:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:190 +#: contrib/comments/views/comments.py:283 +msgid "Only POSTs are allowed" +msgstr "დაშვებულია მხოლოდ POST-ები" + +#: contrib/comments/views/comments.py:194 +#: contrib/comments/views/comments.py:287 +msgid "One or more of the required fields wasn't submitted" +msgstr "ერთი ან რამდენიმე აუცილებელი ველი არ იყო მითითებული" + +#: contrib/comments/views/comments.py:198 +#: contrib/comments/views/comments.py:289 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "ვიღაცა ჩაერია კომენტარის ფორმაში (უსაფრთხოების დარღვევა)" + +#: contrib/comments/views/comments.py:208 +#: contrib/comments/views/comments.py:295 +msgid "" +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" +msgstr "" +"კომენტარის ფორმას აქვს არასწორი პარამეტრი 'target' -- ობიექტის ID არ იყო " +"სწორი" + +#: contrib/comments/views/comments.py:259 +#: contrib/comments/views/comments.py:324 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "კომენტარის ფორმას არა აქვს 'წინასწარი ხედვის' ან 'გაგზავნის' საშუალება" + +#: contrib/comments/views/karma.py:21 +msgid "Anonymous users cannot vote" +msgstr "ანონიმურ მომხმარებლებს ხმის მიცემის უფლება არა აქვთ" + +#: contrib/comments/views/karma.py:25 +msgid "Invalid comment ID" +msgstr "კომენტარის ID არასწორია" + +#: contrib/comments/views/karma.py:27 +msgid "No voting for yourself" +msgstr "საკუთარი თავისათვის ხმის მიცემა აკრძალულია" + +#: contrib/contenttypes/models.py:37 +msgid "python model class name" +msgstr "python-ის მოდელის კლასის სახელი" + +#: contrib/contenttypes/models.py:40 +msgid "content type" +msgstr "კონტენტის ტიპი" + +#: contrib/contenttypes/models.py:41 +msgid "content types" +msgstr "კონტენტის ტიპები" + +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"მაგალითი: '/about/contact/'. ყურადღება მიაქციეთ დახრილ ხაზებს თავში და ბოლოში." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "სათაური" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "კონტენტი" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "ჩავრთოთ კომენტარები" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "შაბლონის სახელი" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"მაგალითი: 'flatpages/contact_page.html'. თუ იგი მითითებული არ არის, " +"გამოყენებული იქნება 'flatpages/default.html'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "რეგისტრაცია აუცილებელია" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "" +"თუ ეს დროშა ჩართულია, მხოლო შემოსულ მომხმარებლებს ექნებათ გვერდის " +"დათვალიერების საშუალება." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "უბრალო გვერდი" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "უბრალო გვერდები" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "th" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "st" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "nd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "rd" +msgstr "" + +#: contrib/humanize/templatetags/humanize.py:52 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f მილიონი" +msgstr[1] "%(value).1f მილიონი" + +#: contrib/humanize/templatetags/humanize.py:55 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f მილიარდი" +msgstr[1] "%(value).1f მილიარდი" + +#: contrib/humanize/templatetags/humanize.py:58 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f ტრილიონი" +msgstr[1] "%(value).1f ტრილიონი" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "one" +msgstr "ერთი" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "two" +msgstr "ორი" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "three" +msgstr "სამი" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "four" +msgstr "ოთხი" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "five" +msgstr "ხუთი" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "six" +msgstr "ექვსი" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "seven" +msgstr "შვიდი" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "eight" +msgstr "რვა" + +#: contrib/humanize/templatetags/humanize.py:74 +msgid "nine" +msgstr "ცხრა" + +#: contrib/humanize/templatetags/humanize.py:94 +msgid "today" +msgstr "დღეს" + +#: contrib/humanize/templatetags/humanize.py:96 +msgid "tomorrow" +msgstr "ხვალ" + +#: contrib/humanize/templatetags/humanize.py:98 +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:96 +#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 +#: contrib/localflavor/pe/forms.py:51 +msgid "This field requires only numbers." +msgstr "ამ ველში შეიძლება იყოს მხოლოდ ციფრები." + +#: contrib/localflavor/ar/forms.py: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/au/forms.py:16 +msgid "Enter a 4 digit post code." +msgstr "შეიყვანეთ ოთხთანრიგიანი საფოსტო კოდი" + +#: contrib/localflavor/br/forms.py:21 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "შეიყვანეთ zip-კოდი ფორმატში: XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:30 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "ტელეფონის ნომრები უნდა იყოს XX-XXXX-XXXX ფორმატში." + +#: contrib/localflavor/br/forms.py:58 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" +"შეიყვანეთ დასაშვები ბრაზილიური შტატი. მოცემული შტატი არ არის დასაშვები." + +#: contrib/localflavor/br/forms.py:94 +msgid "Invalid CPF number." +msgstr "არასწორი CPF ნომერი." + +#: contrib/localflavor/br/forms.py:95 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "ეს ველი უნდა შეიცავდეს 11 ციფრს ან 14 სიმბოლოს, ან ნაკლებს." + +#: contrib/localflavor/br/forms.py:134 +msgid "Invalid CNPJ number." +msgstr "არასწორი CNPJ ნომერი." + +#: contrib/localflavor/br/forms.py:136 +msgid "This field requires at least 14 digits" +msgstr "ეს ველი მოითხოვს არაუმეტეს 14 თანრიგისა" + +#: contrib/localflavor/ca/forms.py:17 +msgid "Enter a postal code in the format XXX XXX." +msgstr "შეიყვანეთ საფოსტო კოდი ფორმატში: XXX XXX." + +#: contrib/localflavor/ca/forms.py:88 +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:16 contrib/localflavor/no/forms.py:12 +msgid "Enter a zip code in the format XXXX." +msgstr "შეიყვანეთ zip-კოდი ფორმატში XXXX." + +#: 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/cl/forms.py:29 +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 "The Chilean RUT is not valid." +msgstr "ჩილიური RUT არასწორია." + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "ბადენ-ვურტემბერგი" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "ბავარია" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "ბერლინი" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "ბრანდენბურგი" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "ბრემენი" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "ჰამბურგი" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "ჰესენი" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "მეკლენბურგ-ვესტერნ პომერანია" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "ქვემო საქსონია" + +#: contrib/localflavor/de/de_states.py:14 +msgid "North Rhine-Westphalia" +msgstr "ჩრდილოეთ რაინ-ვესტფალია" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "რაინლანდ-პალატინატა" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "ზაარლანდი" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "საქსონია" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "საქსონია-ანჰალტ" + +#: contrib/localflavor/de/de_states.py:19 +msgid "Schleswig-Holstein" +msgstr "შლეზვიგ-ჰოლშტაინი" + +#: contrib/localflavor/de/de_states.py:20 +msgid "Thuringia" +msgstr "თურინგია" + +#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 +#: contrib/localflavor/fr/forms.py:15 +msgid "Enter a zip code in the format XXXXX." +msgstr "შეიყვანეთ zip-კოდი ფორმატში 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/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 "კანარის კუნძuლები" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "კასტილია ლა მანჩა" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "კასტილია და ლეონი" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "კატალონია" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "ექსტრემადურა" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "გალიცია" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "მურსიის რეგიონი" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "ნავარის ფორალური თემი" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "ვალენსიის თემი" + +#: contrib/localflavor/es/forms.py:19 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:39 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:66 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF or NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:68 +msgid "Invalid checksum for NIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:142 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:143 +msgid "Invalid checksum for bank account number." +msgstr "" + +#: contrib/localflavor/fi/forms.py:28 +msgid "Enter a valid Finnish social security number." +msgstr "" + +#: contrib/localflavor/in_/forms.py:14 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:17 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:18 +msgid "The Icelandic identification number is not valid." +msgstr "" + +#: contrib/localflavor/it/forms.py:14 +msgid "Enter a valid zip code." +msgstr "" + +#: contrib/localflavor/it/forms.py:43 +msgid "Enter a valid Social Security number." +msgstr "" + +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "" + +#: contrib/localflavor/jp/forms.py:19 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:4 +msgid "Hokkaido" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:5 +msgid "Aomori" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:6 +msgid "Iwate" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:7 +msgid "Miyagi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:8 +msgid "Akita" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:9 +msgid "Yamagata" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:10 +msgid "Fukushima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:11 +msgid "Ibaraki" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:12 +msgid "Tochigi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:13 +msgid "Gunma" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:14 +msgid "Saitama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:15 +msgid "Chiba" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:16 +msgid "Tokyo" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:17 +msgid "Kanagawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:18 +msgid "Yamanashi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:19 +msgid "Nagano" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:20 +msgid "Niigata" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:21 +msgid "Toyama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:22 +msgid "Ishikawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:23 +msgid "Fukui" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:24 +msgid "Gifu" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:25 +msgid "Shizuoka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:26 +msgid "Aichi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:27 +msgid "Mie" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:28 +msgid "Shiga" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:29 +msgid "Kyoto" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:30 +msgid "Osaka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:31 +msgid "Hyogo" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:32 +msgid "Nara" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:33 +msgid "Wakayama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:34 +msgid "Tottori" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:35 +msgid "Shimane" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:36 +msgid "Okayama" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:37 +msgid "Hiroshima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:38 +msgid "Yamaguchi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:39 +msgid "Tokushima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:40 +msgid "Kagawa" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:41 +msgid "Ehime" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:42 +msgid "Kochi" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:43 +msgid "Fukuoka" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:44 +msgid "Saga" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:45 +msgid "Nagasaki" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:46 +msgid "Kumamoto" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:47 +msgid "Oita" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:48 +msgid "Miyazaki" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:49 +msgid "Kagoshima" +msgstr "" + +#: contrib/localflavor/jp/jp_prefectures.py:50 +msgid "Okinawa" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "" + +#: contrib/localflavor/nl/forms.py:21 +msgid "Enter a valid postal code" +msgstr "" + +#: contrib/localflavor/nl/forms.py:52 +msgid "Enter a valid phone number" +msgstr "" + +#: contrib/localflavor/nl/forms.py:78 +msgid "Enter a valid SoFi number" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drente" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "" + +#: contrib/localflavor/no/forms.py:33 +msgid "Enter a valid Norwegian social security number." +msgstr "" + +#: contrib/localflavor/pe/forms.py:24 +msgid "This field requires 8 digits." +msgstr "" + +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:39 +msgid "National Identification Number consists of 11 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:40 +msgid "Wrong checksum for the National Identification Number." +msgstr "" + +#: contrib/localflavor/pl/forms.py:72 +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "" + +#: contrib/localflavor/pl/forms.py:73 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:112 +msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +msgstr "" + +#: contrib/localflavor/pl/forms.py:113 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "" + +#: contrib/localflavor/pl/forms.py:156 +msgid "Enter a postal code in the format XX-XXX." +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "" + +#: contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "" + +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "" + +#: contrib/localflavor/us/forms.py:16 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:54 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" + +#: contrib/localflavor/za/forms.py:20 +msgid "Enter a valid South African ID number" +msgstr "" + +#: contrib/localflavor/za/forms.py:54 +msgid "Enter a valid South African postal code" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "გადამისამართება გვერდიდან" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"უნდა იყოს აბსოლუტური გზა დომენის სახელის გარეშე. მაგალითი: '/events/search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "გადამისამართება გვერდზე" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"უნდა იყოს აბსოლუტური გზა (როგორც ზემოთ) ან სრული URL, რომელიც იწყება " +"'http://' სტრიქონით." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "გადამისამართება" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "გადამისამართებები" + +#: contrib/sessions/models.py:46 +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:37 +msgid "site" +msgstr "საიტი" + +#: contrib/sites/models.py:38 +msgid "sites" +msgstr "საიტები" + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers and underscores." +msgstr "" +"ეს მნიშვნელობა შეიძლება შეიცავდეს მხოლოდ ასოებს, ციფრებს და ხაზგასმის " +"ნიშნებს." + +#: core/validators.py:76 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"ეს მნიშვნელობა შეიძლება შეიცავდეს მხოლოდ ასოებს, ციფრებს, ხაზგასმის ნიშნებს, " +"ტირეებს და დახრილ ხაზებს." + +#: core/validators.py:80 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "" +"ეს მნიშვნელობა შეიძლება შეიცავდეს მხოლოდ ასოებს, ციფრებს, ხაზგასმის ნიშნებს " +"და დეფისებს." + +#: core/validators.py:84 +msgid "Uppercase letters are not allowed here." +msgstr "ასომთავრულები აქ დაუშვებელია." + +#: core/validators.py:88 +msgid "Lowercase letters are not allowed here." +msgstr "პატარა ასოები აქ დაუშვებელია." + +#: core/validators.py:95 +msgid "Enter only digits separated by commas." +msgstr "შეიყვანეთ მხოლოდ მძიმეებით გამოყოფილი ციფრები." + +#: core/validators.py:107 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "შეიყვანეთ მძიმეებით გამოყოფილი ელ. ფოსტის მისამართები." + +#: core/validators.py:111 +msgid "Please enter a valid IP address." +msgstr "გთხოვთ, შეიყვანოთ დასაშვები IP-მისამართი" + +#: core/validators.py:115 +msgid "Empty values are not allowed here." +msgstr "ცარიელი მნიშვნელობები აქ დაუშვებელია." + +#: core/validators.py:119 +msgid "Non-numeric characters aren't allowed here." +msgstr "არაციფრული სიმბოლოები აქ დაუშვებელია." + +#: core/validators.py:123 +msgid "This value can't be comprised solely of digits." +msgstr "ეს მნიშვნელობა არ უნდა შედგებოდეს მხოლოდ ციფრებისაგან." + +#: core/validators.py:128 newforms/fields.py:151 +msgid "Enter a whole number." +msgstr "შეიყვანეთ მთელი რიცხვი" + +#: core/validators.py:132 +msgid "Only alphabetical characters are allowed here." +msgstr "მხოლოდ ლათინური ასოებია დასაშვები." + +#: core/validators.py:147 +msgid "Year must be 1900 or later." +msgstr "წელი უნდა იყოს 1900 ან მეტი." + +#: core/validators.py:151 +#, python-format +msgid "Invalid date: %s" +msgstr "არასწორი თარიღი: %s" + +#: core/validators.py:156 db/models/fields/__init__.py:509 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "შეიყვანეთ სწორი თარიღი YYYY-MM-DD ფორმატში." + +#: core/validators.py:161 +msgid "Enter a valid time in HH:MM format." +msgstr "შეიყვანეთ სწორი დრო HH:MM ფორმატში." + +#: core/validators.py:165 db/models/fields/__init__.py:583 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "შეიყვანეთ სწორი თარიღი და დრო YYYY-MM-DD HH:MM ფორმატში." + +#: core/validators.py:170 newforms/fields.py:402 +msgid "Enter a valid e-mail address." +msgstr "შეიყვანეთ სწორი ელ. ფოსტის მისამართი." + +#: core/validators.py:182 core/validators.py:474 newforms/fields.py:432 +#: oldforms/__init__.py:687 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"ფაილი არ იყო გამოგზავნილი. შეამოწმეთ კოდირების ტიპი მოცემული ფორმისათვის." + +#: core/validators.py:193 newforms/fields.py:458 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"ატვირთეთ დასაშვები გამოსახულება. თქვენს მიერ გამოგზავნილი ფაილი ან არ არის " +"გამოსახულება, ან დაზიანებულია." + +#: core/validators.py:200 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "URL %s არ მიუთითებს დასაშვებ გამოსახულებას." + +#: core/validators.py:204 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "ტელეფონის ნომრები უნდა იყოს XXX-XXX-XXXX ფორმატში. \"%s\" არასწორია." + +#: core/validators.py:212 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "URL %s არ მიუთითებს დასაშვებ QuickTime ვიდეოფაილს." + +#: core/validators.py:216 +msgid "A valid URL is required." +msgstr "საჭიროა სწორი URL" + +#: core/validators.py:230 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"საჭიროა სწორი HTML. ტიპიური შეცდომებია:\n" +"%s" + +#: core/validators.py:237 +#, python-format +msgid "Badly formed XML: %s" +msgstr "ცუდად დაფორმირებული XML-ია: %s" + +#: core/validators.py:254 +#, python-format +msgid "Invalid URL: %s" +msgstr "არასწორი URL: %s" + +#: core/validators.py:259 core/validators.py:261 +#, python-format +msgid "The URL %s is a broken link." +msgstr "URL %s არის გაწყვეტილი ბმული." + +#: core/validators.py:267 +msgid "Enter a valid U.S. state abbreviation." +msgstr "შეიყვანეთ სწორი აშშ შტატის აბრევიატურა." + +#: core/validators.py:281 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "ყურადღება მიაქციეთ ლექსიკას! სიტყვა %s აქ დაუშვებელია." +msgstr[1] "ყურადღება მიაქციეთ ლექსიკას! სიტყვები %s აქ დაუშვებელია." + +#: core/validators.py:288 +#, python-format +msgid "This field must match the '%s' field." +msgstr "ველი უნდა ემთხვეოდეს '%s' ველს." + +#: core/validators.py:307 +msgid "Please enter something for at least one field." +msgstr "გთხოვთ, შეიყვანოთ რაიმე მნიშვნელობა სულ მცირე ერთ ველში." + +#: core/validators.py:316 core/validators.py:327 +msgid "Please enter both fields or leave them both empty." +msgstr "გთხოვთ, შეავსოთ ორივე ველი, ან ორივე დატოვოთ ცარიელი." + +#: core/validators.py:335 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "ეს ველი უნდა იყოს მითითებული, თუ %(field)s არის %(value)s" + +#: core/validators.py:348 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "ეს ველი უნდა იყოს მითითებული, თუ %(field)s არ არის %(value)s" + +#: core/validators.py:367 +msgid "Duplicate values are not allowed." +msgstr "განმეორებითი მნიშვნელობები დაუშვებელია." + +#: core/validators.py:382 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "მნიშვნელობა უნდა იყოს %(lower)s და %(upper)s შორის." + +#: core/validators.py:384 +#, python-format +msgid "This value must be at least %s." +msgstr "მნიშვნელობა უნდა იყოს სულ მცირე %s." + +#: core/validators.py:386 +#, python-format +msgid "This value must be no more than %s." +msgstr "მნიშვნელობა არ უნდა აღემატებოდეს %s-ს." + +#: core/validators.py:427 +#, python-format +msgid "This value must be a power of %s." +msgstr "მნიშვნელობა უნდა იყოს %s-ის ხარისხი." + +#: core/validators.py:437 +msgid "Please enter a valid decimal number." +msgstr "გთხოვთ, შეიყვანოთ სწორი ათობითი რიცხვი." + +#: core/validators.py:444 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "" +"Please enter a valid decimal number with at most %s total digits." +msgstr[0] "" +"გთხოვთ, შეიყვანოთ სწორი, არაუმეტეს %s თანრიგისაგან შემდგარი ათობითი რიცხვი" +msgstr[1] "" +"გთხოვთ, შეიყვანოთ სწორი, არაუმეტეს %s თანრიგისაგან შემდგარი ათობითი რიცხვი" + +#: core/validators.py:447 +#, python-format +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "" +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "" +"გთხოვთ, შეიყვანოთ სწორი ათობითი რიცხვი, რომლის მთელი ნაწილის სიგრძე არ " +"აღემატება %s თანრიგს." +msgstr[1] "" +"გთხოვთ, შეიყვანოთ სწორი ათობითი რიცხვი, რომლის მთელი ნაწილის სიგრძე არ " +"აღემატება %s თანრიგს." + +#: core/validators.py:450 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "" +"Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "" +"გთხოვთ, შეიყვანოთ სწორი ათობითი რიცხვი, რომლის წილადი ნაწილის სიგრძე არ " +"აღემატება %s ციფრს." +msgstr[1] "" +"გთხოვთ, შეიყვანოთ სწორი ათობითი რიცხვი, რომლის წილადი ნაწილის სიგრძე არ " +"აღემატება %s ციფრს." + +#: core/validators.py:458 +msgid "Please enter a valid floating point number." +msgstr "გთხოვთ, შეიყვანოთ სწორი რიცხვი მცოცავი ათობითი წერტილით." + +#: core/validators.py:467 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "" +"დარწმუნდით, რომ თქვენს მიერ ატვირთული ფაილის სიგრძე არ არის %s ბაიტზე " +"ნაკლები." + +#: core/validators.py:468 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "" +"დარწმუნდით, რომ თქვენს მიერ ატვირთული ფაილის სიგრძე არ აღემატება %s ბაიტს." + +#: core/validators.py:485 +msgid "The format for this field is wrong." +msgstr "ამ ველის ფორმატი არასწორია." + +#: core/validators.py:500 +msgid "This field is invalid." +msgstr "ველი არასწორია." + +#: core/validators.py:536 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "%s-დან მნიშვნელობის ამოღება შეუძლებელია." + +#: core/validators.py:539 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" +"URL %(url)s მისამართმა დააბრუნა არასწორი Content-Type სათაური '%(contenttype)" +"s'." + +#: core/validators.py:572 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"გთხოვთ, დახუროთ დაუხურავი %(tag)s ტეგი, ხაზის ნომერია %(line)s. " +"(სტრიქონი იწყება ტექსტით: \"%(start)s\".)" + +#: core/validators.py:576 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"ტექსტის ნაწილი, რომელიც %(line)s ხაზზე იწყება, დაუშვებელია მიმდინარე კონტექსტში. (სტრიქონი " +"იწყება ტექსტით: \"%(start)s\".)" + +#: core/validators.py:581 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"%(attr)s\" ატრიბუტი არასწორია %(line)s ხაზზე. (სტრიქონი იწყება ტექსტით: \"%" +"(start)s\".)" + +#: core/validators.py:586 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"<%(tag)s>\" ტეგი არასწორია %(line)s ხაზზე. (სტრიქონი იწყება ტექსტით: \"%" +"(start)s\".)" + +#: core/validators.py:590 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"ტეგში %(line)s ხაზზე ერთი ან რამდენიმე ატრიბუტი გამოტოვებულია. (სტრიქონი იწყება " +"ტექსტით: \"%(start)s\".)" + +#: core/validators.py:595 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"\"%(attr)s\" ატრიბუტს %(line)s ხაზზე აქვს არასწორი მნიშვნელობა. (სტრიქონი " +"იწყება ტექსტით: \"%(start)s\".)" + +#: db/models/manipulators.py:308 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s მოცემული %(type)s-ით უკვე არსებობს მოცემული %(field)s-თვის." + +#: db/models/fields/__init__.py:52 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s მოცემული %(fieldname)s-ით უკვე არსებობს." + +#: db/models/fields/__init__.py:161 db/models/fields/__init__.py:318 +#: db/models/fields/__init__.py:735 db/models/fields/__init__.py:746 +#: newforms/fields.py:45 oldforms/__init__.py:374 +msgid "This field is required." +msgstr "ეს ველი აუცილებელია." + +#: db/models/fields/__init__.py:418 +msgid "This value must be an integer." +msgstr "ეს მნიშვნელობა უნდა იყოს მთელი." + +#: db/models/fields/__init__.py:454 +msgid "This value must be either True or False." +msgstr "ეს მნიშვნელობა უნდა იყოს True ან False." + +#: db/models/fields/__init__.py:475 +msgid "This field cannot be null." +msgstr "ეს მნიშვნელობა არ შეიძლება იყოს null." + +#: db/models/fields/__init__.py:644 +msgid "This value must be a decimal number." +msgstr "ეს მნიშვნელობა უნდა იყოს ათობითი რიცხვი." + +#: db/models/fields/__init__.py:755 +msgid "Enter a valid filename." +msgstr "შეიყვანეთ სწორი ფაილის სახელი." + +#: db/models/fields/__init__.py:908 +msgid "This value must be either None, True or False." +msgstr "ეს მნიშვნელობა უნდა იყოს None, True ან False." + +#: db/models/fields/related.py:55 +#, python-format +msgid "Please enter a valid %s." +msgstr "გთხოვთ, შეიყვანოთ სწორი %s." + +#: db/models/fields/related.py:658 +msgid "Separate multiple IDs with commas." +msgstr "გამოყავით ID-ები მძიმეებით." + +#: db/models/fields/related.py:660 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"დააჭირეთ \"Control\", ან \"Command\" Mac-ზე, ერთზე მეტი მნიშვნელობის ასარჩევად." + +#: db/models/fields/related.py:707 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "გთხოვთ, შეიყვანოთ სწორი %(self)s ID-ები. მნიშვნელობა %(value)r არასწორია." +msgstr[1] "გთხოვთ, შეიყვანოთ სწორი %(self)s ID-ები. მნიშვნელობები %(value)r არასწორია." + +#: newforms/fields.py:46 +msgid "Enter a valid value." +msgstr "შეიყვანეთ სწორი მნიშვნელობა." + +#: newforms/fields.py:123 +#, python-format +msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." +msgstr "დარწმუნდით, რომ მნიშვნელობა შედგება არაუმეტეს %(max)d სიმბოლოსაგან (ახლა მისი სიგრძეა %(length)d)." + +#: newforms/fields.py:124 +#, python-format +msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." +msgstr "დარწმუნდით, რომ მნიშვნელობა შედგება არანაკლებ %(min)d სიმბოლოსაგან (ახლა მისი სიგრძეა %(length)d)." + +#: newforms/fields.py:152 newforms/fields.py:181 newforms/fields.py:210 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "დარწმუნდით, რომ მნიშვნელობა ნაკლებია ან ტოლია %s-ზე." + +#: newforms/fields.py:153 newforms/fields.py:182 newforms/fields.py:211 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "დარწმუნდით, რომ მნიშვნელობა მეტია ან ტოლია %s-ზე." + +#: newforms/fields.py:180 newforms/fields.py:209 +msgid "Enter a number." +msgstr "შეიყვანეთ რიცხვი." + +#: newforms/fields.py:212 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "დარწმუნდით, რომ მნიშვნელობა %s თანრიგს არ აღემატება." + +#: newforms/fields.py:213 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "დარწმუნდით, რომ წილადი ნაწილი %s თანრიგს არ აღემატება." + +#: newforms/fields.py:214 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "დარწმუნდით, რომ მთელი ნაწილი %s თანრიგს არ აღემატება." + +#: newforms/fields.py:262 newforms/fields.py:723 +msgid "Enter a valid date." +msgstr "შეიყვანეთ სწორი თარიღი." + +#: newforms/fields.py:295 newforms/fields.py:724 +msgid "Enter a valid time." +msgstr "შეიყვანეთ სწორი დრო." + +#: newforms/fields.py:334 +msgid "Enter a valid date/time." +msgstr "შეიყვანეთ სწორი თარიღი და დრო." + +#: newforms/fields.py:433 +msgid "No file was submitted." +msgstr "ფაილი არ იყო გამოგზავნილი." + +#: newforms/fields.py:434 oldforms/__init__.py:689 +msgid "The submitted file is empty." +msgstr "გამოგზავნილი ფაილი ცარიელია." + +#: newforms/fields.py:496 +msgid "Enter a valid URL." +msgstr "შეიყვანეთ სწორი URL." + +#: newforms/fields.py:497 +msgid "This URL appears to be a broken link." +msgstr "როგორც ჩანს, URL არის გაწყვეტილი ბმული." + +#: newforms/fields.py:559 newforms/models.py:317 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "აირჩიეთ დასაშვები მნიშვნელობა. ეს არჩევანი დასაშვები არ არის." + +#: newforms/fields.py:598 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "აირჩიეთ დასაშვები მნიშვნელობა. %(value)s დასაშვები არ არის." + +#: newforms/fields.py:599 newforms/fields.py:661 newforms/models.py:377 +msgid "Enter a list of values." +msgstr "შეიყვანეთ მნიშვნელობების სია." + +#: newforms/fields.py:752 +msgid "Enter a valid IPv4 address." +msgstr "შეიყვანეთ სწორი IPv4 მისამართი." + +#: newforms/models.py:378 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "აირჩიეთ დასაშვები მნიშვნელობა. %s დასაშვები არ არის." + +#: oldforms/__init__.py:409 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "დარწმუნდით, რომ თქვენს მიერ შეყვანილი ტექსტი %s სიმბოლოზე ნაკლებია." +msgstr[1] "დარწმუნდით, რომ თქვენს მიერ შეყვანილი ტექსტი %s სიმბოლოზე ნაკლებია." + +#: oldforms/__init__.py:414 +msgid "Line breaks are not allowed here." +msgstr "ახალ ხაზზე გადასვლა აქ დაუშვებელია." + +#: oldforms/__init__.py:512 oldforms/__init__.py:586 oldforms/__init__.py:625 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "აირჩიეთ დასაშვები მნიშვნელობა; '%(data)s' არ არის %(choices)s მნიშვნელობების სიაში." + +#: oldforms/__init__.py:745 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "შეიყვანეთ მთელი რიცხვი -32,768-დან 32,767-მდე." + +#: oldforms/__init__.py:755 +msgid "Enter a positive number." +msgstr "შეიყვანეთ დადებითი რიცხვი." + +#: oldforms/__init__.py:765 +msgid "Enter a whole number between 0 and 32,767." +msgstr "შეიყვანეთ მთელი რიცხვი 0-დან 32,767-მდე." + +#: template/defaultfilters.py:691 +msgid "yes,no,maybe" +msgstr "კი,არა,შესაძლოა" + +#: template/defaultfilters.py:722 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d ბაიტი" +msgstr[1] "%(size)d ბაიტი" + +#: template/defaultfilters.py:724 +#, python-format +msgid "%.1f KB" +msgstr "%.1f კბაიტი" + +#: template/defaultfilters.py:726 +#, python-format +msgid "%.1f MB" +msgstr "%.1f მბაიტი" + +#: template/defaultfilters.py:727 +#, python-format +msgid "%.1f GB" +msgstr "%.1f გბაიტი" + +#: utils/dateformat.py:41 +msgid "p.m." +msgstr "" + +#: utils/dateformat.py:42 +msgid "a.m." +msgstr "" + +#: utils/dateformat.py:47 +msgid "PM" +msgstr "" + +#: utils/dateformat.py:48 +msgid "AM" +msgstr "" + +#: utils/dateformat.py:97 +msgid "midnight" +msgstr "შუაღამე" + +#: utils/dateformat.py:99 +msgid "noon" +msgstr "შუადღე" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "ორშაბათი" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "სამშაბათი" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "ოთხშაბათი" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "ხუთშაბათი" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "პარასკევი" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "შაბათი" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "კვირა" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "ორშ" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "სამ" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "ოთხ" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "ხუთ" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "პარ" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "შაბ" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "კვრ" + +#: utils/dates.py:18 +msgid "January" +msgstr "იანვარი" + +#: utils/dates.py:18 +msgid "February" +msgstr "თებერვალი" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "მარტი" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "აპრილი" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "მაისი" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "ივნისი" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "ივლისი" + +#: utils/dates.py:19 +msgid "August" +msgstr "აგვისტო" + +#: utils/dates.py:19 +msgid "September" +msgstr "სექტემბერი" + +#: utils/dates.py:19 +msgid "October" +msgstr "ოქტომბერი" + +#: utils/dates.py:19 +msgid "November" +msgstr "ნოემბერი" + +#: utils/dates.py:20 +msgid "December" +msgstr "დეკემბერი" + +#: utils/dates.py:23 +msgid "jan" +msgstr "იან" + +#: utils/dates.py:23 +msgid "feb" +msgstr "თებ" + +#: utils/dates.py:23 +msgid "mar" +msgstr "მარ" + +#: utils/dates.py:23 +msgid "apr" +msgstr "აპრ" + +#: utils/dates.py:23 +msgid "may" +msgstr "მაი" + +#: utils/dates.py:23 +msgid "jun" +msgstr "ივნ" + +#: utils/dates.py:24 +msgid "jul" +msgstr "ივლ" + +#: utils/dates.py:24 +msgid "aug" +msgstr "აგვ" + +#: utils/dates.py:24 +msgid "sep" +msgstr "სექ" + +#: utils/dates.py:24 +msgid "oct" +msgstr "ოქტ" + +#: utils/dates.py:24 +msgid "nov" +msgstr "ნოე" + +#: utils/dates.py:24 +msgid "dec" +msgstr "დეკ" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "იან." + +#: utils/dates.py:31 +msgid "Feb." +msgstr "თებ." + +#: utils/dates.py:32 +msgid "Aug." +msgstr "აგვ." + +#: utils/dates.py:32 +msgid "Sept." +msgstr "სექტ." + +#: utils/dates.py:32 +msgid "Oct." +msgstr "ოქტ." + +#: utils/dates.py:32 +msgid "Nov." +msgstr "ნოემ." + +#: utils/dates.py:32 +msgid "Dec." +msgstr "დეკ." + +#: utils/text.py:127 +msgid "or" +msgstr "ან" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "წელი" +msgstr[1] "წელი" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "თვე" +msgstr[1] "თვე" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "კვირა" +msgstr[1] "კვირა" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "დღე" +msgstr[1] "დღე" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "საათი" +msgstr[1] "საათი" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "წუთი" +msgstr[1] "წუთი" + +#: utils/timesince.py:46 +msgid "minutes" +msgstr "წუთი" + +#: utils/timesince.py:51 +#, python-format +msgid "%(number)d %(type)s" +msgstr "" + +#: utils/timesince.py:57 +#, python-format +msgid ", %(number)d %(type)s" +msgstr "" + +#: utils/translation/trans_real.py:399 +msgid "DATE_FORMAT" +msgstr "d.m.Y" + +#: utils/translation/trans_real.py:400 +msgid "DATETIME_FORMAT" +msgstr "d.m.Y H:i" + +#: utils/translation/trans_real.py:401 +msgid "TIME_FORMAT" +msgstr "H:i" + +#: utils/translation/trans_real.py:417 +msgid "YEAR_MONTH_FORMAT" +msgstr "d.m.Y" + +#: utils/translation/trans_real.py:418 +msgid "MONTH_DAY_FORMAT" +msgstr "d.m.Y" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s წარმატებით შეიქმნა." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s წარმატებით შეიცვალა." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s წაიშალა." diff --git a/django/conf/locale/ka/LC_MESSAGES/djangojs.mo b/django/conf/locale/ka/LC_MESSAGES/djangojs.mo Binary files differnew file mode 100644 index 0000000000..3725146189 --- /dev/null +++ b/django/conf/locale/ka/LC_MESSAGES/djangojs.mo diff --git a/django/conf/locale/ka/LC_MESSAGES/djangojs.po b/django/conf/locale/ka/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..61aaf1070a --- /dev/null +++ b/django/conf/locale/ka/LC_MESSAGES/djangojs.po @@ -0,0 +1,118 @@ +# Translation of Django Java-script part to Georgian. +# Copyright (C) 2008 +# This file is distributed under the same license as the PACKAGE package. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: django 0.97\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-02-16 22:31+0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: David Avsajanishvili <avsd05@gmail.com>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: contrib/admin/media/js/SelectFilter2.js:33 +#, perl-format +msgid "Available %s" +msgstr "მისაწვდომი %s" + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "ავირჩიოთ ყველა" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "დავამატოთ" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "წავშალოთ" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "არჩეული %s" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "აირჩიეთ და დააწკაპეთ " + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "გავასუფთავოთ ყველა" + +#: contrib/admin/media/js/calendar.js:24 +#: contrib/admin/media/js/dateparse.js:32 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "იანვარი თებერვალი მარტი აპრილი მაისი ივნისი ივლისი აგვისტო სექტემბერი " +"ოქტომბერი ნოემბერი დეკემბერი" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "კ ო ს ო ხ პ შ" + +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "კვირა ორშაბათი სამშაბათი ოთხშაბათი ხუთშაბათი პარასკევი შაბათი" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "ვაჩვენოთ" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "დავმალოთ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Now" +msgstr "ახლა" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 +msgid "Clock" +msgstr "საათი" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 +msgid "Choose a time" +msgstr "ავირჩიოთ დრო" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "Midnight" +msgstr "შუაღამე" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "6 a.m." +msgstr "დილის 6 სთ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 +msgid "Noon" +msgstr "შუადღე" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 +msgid "Cancel" +msgstr "უარი" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 +msgid "Today" +msgstr "დღეს" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 +msgid "Calendar" +msgstr "კალენდარი" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 +msgid "Yesterday" +msgstr "გუშინ" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 +msgid "Tomorrow" +msgstr "ხვალ" diff --git a/django/contrib/admin/views/decorators.py b/django/contrib/admin/views/decorators.py index 4f6662c970..b9fd9ab900 100644 --- a/django/contrib/admin/views/decorators.py +++ b/django/contrib/admin/views/decorators.py @@ -1,3 +1,11 @@ +import base64 +import md5 +import cPickle as pickle +try: + from functools import wraps +except ImportError: + from django.utils.functional import wraps # Python 2.3, 2.4 fallback. + from django import http, template from django.conf import settings from django.contrib.auth.models import User @@ -5,8 +13,6 @@ from django.contrib.auth import authenticate, login from django.shortcuts import render_to_response from django.utils.translation import ugettext_lazy, ugettext as _ from django.utils.safestring import mark_safe -import base64, datetime, md5 -import cPickle as pickle ERROR_MESSAGE = ugettext_lazy("Please enter a correct username and password. Note that both fields are case-sensitive.") LOGIN_FORM_KEY = 'this_is_the_login_form' @@ -104,4 +110,4 @@ def staff_member_required(view_func): else: return _display_login_form(request, ERROR_MESSAGE) - return _checklogin + return wraps(view_func)(_checklogin) diff --git a/django/contrib/auth/decorators.py b/django/contrib/auth/decorators.py index f3f7f530ef..25bc20780e 100644 --- a/django/contrib/auth/decorators.py +++ b/django/contrib/auth/decorators.py @@ -1,3 +1,8 @@ +try: + from functools import wraps, update_wrapper +except ImportError: + from django.utils.functional import wraps, update_wrapper # Python 2.3, 2.4 fallback. + from django.contrib.auth import REDIRECT_FIELD_NAME from django.http import HttpResponseRedirect from django.utils.http import urlquote @@ -51,7 +56,7 @@ class _CheckLogin(object): self.test_func = test_func self.login_url = login_url self.redirect_field_name = redirect_field_name - self.__name__ = view_func.__name__ + update_wrapper(self, view_func) def __get__(self, obj, cls=None): view_func = self.view_func.__get__(obj, cls) diff --git a/django/contrib/databrowse/plugins/calendars.py b/django/contrib/databrowse/plugins/calendars.py index 5d5a020e6d..a798868b55 100644 --- a/django/contrib/databrowse/plugins/calendars.py +++ b/django/contrib/databrowse/plugins/calendars.py @@ -8,8 +8,6 @@ from django.utils.translation import get_date_formats from django.utils.encoding import force_unicode from django.utils.safestring import mark_safe from django.views.generic import date_based -import datetime -import time class CalendarPlugin(DatabrowsePlugin): def __init__(self, field_names=None): diff --git a/django/contrib/databrowse/plugins/fieldchoices.py b/django/contrib/databrowse/plugins/fieldchoices.py index dea6bac700..0a58e7a6ab 100644 --- a/django/contrib/databrowse/plugins/fieldchoices.py +++ b/django/contrib/databrowse/plugins/fieldchoices.py @@ -7,8 +7,6 @@ from django.utils.text import capfirst from django.utils.encoding import smart_str, force_unicode from django.utils.safestring import mark_safe from django.views.generic import date_based -import datetime -import time import urllib class FieldChoicePlugin(DatabrowsePlugin): diff --git a/django/contrib/databrowse/views.py b/django/contrib/databrowse/views.py index d493f9dad3..c17aad5d85 100644 --- a/django/contrib/databrowse/views.py +++ b/django/contrib/databrowse/views.py @@ -2,8 +2,6 @@ from django.db.models import FieldDoesNotExist, DateTimeField from django.http import Http404 from django.shortcuts import render_to_response from django.contrib.databrowse.datastructures import EasyModel, EasyChoice -import datetime -import time ########### # CHOICES # diff --git a/django/contrib/formtools/preview.py b/django/contrib/formtools/preview.py index bd0ce5cbb7..66583dde95 100644 --- a/django/contrib/formtools/preview.py +++ b/django/contrib/formtools/preview.py @@ -3,7 +3,6 @@ Formtools Preview application. """ from django.conf import settings -from django.core.exceptions import ImproperlyConfigured from django.http import Http404 from django.shortcuts import render_to_response from django.template.context import RequestContext diff --git a/django/contrib/formtools/tests.py b/django/contrib/formtools/tests.py index a5a9222c46..feda6e041e 100644 --- a/django/contrib/formtools/tests.py +++ b/django/contrib/formtools/tests.py @@ -3,8 +3,6 @@ from django.contrib.formtools import preview from django import http from django.conf import settings from django.test import TestCase -from django.test.client import Client - success_string = "Done was called!" test_data = {'field1': u'foo', @@ -88,6 +86,3 @@ class PreviewTests(TestCase): response = self.client.post('/test1/', test_data) self.assertEqual(response.content, success_string) - -if __name__ == '__main__': - unittest.main() diff --git a/django/contrib/humanize/templatetags/humanize.py b/django/contrib/humanize/templatetags/humanize.py index 4aa5a32e3f..05d322363b 100644 --- a/django/contrib/humanize/templatetags/humanize.py +++ b/django/contrib/humanize/templatetags/humanize.py @@ -2,8 +2,7 @@ from django.utils.translation import ungettext, ugettext as _ from django.utils.encoding import force_unicode from django import template from django.template import defaultfilters -from django.conf import settings -from datetime import date, timedelta +from datetime import date import re register = template.Library() diff --git a/django/contrib/localflavor/ar/forms.py b/django/contrib/localflavor/ar/forms.py index 7827698e77..b23923b47a 100644 --- a/django/contrib/localflavor/ar/forms.py +++ b/django/contrib/localflavor/ar/forms.py @@ -7,7 +7,6 @@ from django.newforms import ValidationError from django.newforms.fields import RegexField, CharField, Select, EMPTY_VALUES from django.utils.encoding import smart_unicode from django.utils.translation import ugettext -import re class ARProvinceSelect(Select): """ diff --git a/django/contrib/localflavor/generic/forms.py b/django/contrib/localflavor/generic/forms.py index a6d813723c..a5e431e4b3 100644 --- a/django/contrib/localflavor/generic/forms.py +++ b/django/contrib/localflavor/generic/forms.py @@ -1,38 +1,38 @@ -from django import newforms as forms
-
-DEFAULT_DATE_INPUT_FORMATS = (
- '%Y-%m-%d', '%d/%m/%Y', '%d/%m/%y', # '2006-10-25', '25/10/2006', '25/10/06'
- '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006'
- '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006'
- '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006'
- '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006'
-)
-
-DEFAULT_DATETIME_INPUT_FORMATS = (
- '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59'
- '%Y-%m-%d %H:%M', # '2006-10-25 14:30'
- '%Y-%m-%d', # '2006-10-25'
- '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59'
- '%d/%m/%Y %H:%M', # '25/10/2006 14:30'
- '%d/%m/%Y', # '25/10/2006'
- '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59'
- '%d/%m/%y %H:%M', # '25/10/06 14:30'
- '%d/%m/%y', # '25/10/06'
-)
-
-class DateField(forms.DateField):
- """
- A date input field which uses non-US date input formats by default.
- """
- def __init__(self, input_formats=None, *args, **kwargs):
- input_formats = input_formats or DEFAULT_DATE_INPUT_FORMATS
- super(DateField, self).__init__(input_formats=input_formats, *args, **kwargs)
-
-class DateTimeField(forms.DateTimeField):
- """
- A date and time input field which uses non-US date and time input formats
- by default.
- """
- def __init__(self, input_formats=None, *args, **kwargs):
- input_formats = input_formats or DEFAULT_DATETIME_INPUT_FORMATS
- super(DateTimeField, self).__init__(input_formats=input_formats, *args, **kwargs)
+from django import newforms as forms + +DEFAULT_DATE_INPUT_FORMATS = ( + '%Y-%m-%d', '%d/%m/%Y', '%d/%m/%y', # '2006-10-25', '25/10/2006', '25/10/06' + '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' + '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' + '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' + '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' +) + +DEFAULT_DATETIME_INPUT_FORMATS = ( + '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' + '%Y-%m-%d %H:%M', # '2006-10-25 14:30' + '%Y-%m-%d', # '2006-10-25' + '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' + '%d/%m/%Y %H:%M', # '25/10/2006 14:30' + '%d/%m/%Y', # '25/10/2006' + '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' + '%d/%m/%y %H:%M', # '25/10/06 14:30' + '%d/%m/%y', # '25/10/06' +) + +class DateField(forms.DateField): + """ + A date input field which uses non-US date input formats by default. + """ + def __init__(self, input_formats=None, *args, **kwargs): + input_formats = input_formats or DEFAULT_DATE_INPUT_FORMATS + super(DateField, self).__init__(input_formats=input_formats, *args, **kwargs) + +class DateTimeField(forms.DateTimeField): + """ + A date and time input field which uses non-US date and time input formats + by default. + """ + def __init__(self, input_formats=None, *args, **kwargs): + input_formats = input_formats or DEFAULT_DATETIME_INPUT_FORMATS + super(DateTimeField, self).__init__(input_formats=input_formats, *args, **kwargs) diff --git a/django/contrib/localflavor/jp/forms.py b/django/contrib/localflavor/jp/forms.py index 13083aab6e..d726f822d7 100644 --- a/django/contrib/localflavor/jp/forms.py +++ b/django/contrib/localflavor/jp/forms.py @@ -7,8 +7,6 @@ from django.newforms import ValidationError from django.utils.translation import ugettext from django.newforms.fields import RegexField, Select -import re - class JPPostalCodeField(RegexField): """ A form field that validates its input is a Japanese postcode. diff --git a/django/contrib/sessions/models.py b/django/contrib/sessions/models.py index dfa7bed226..4769e63b1b 100644 --- a/django/contrib/sessions/models.py +++ b/django/contrib/sessions/models.py @@ -1,10 +1,5 @@ -import os -import sys -import time -import datetime import base64 import md5 -import random import cPickle as pickle from django.db import models diff --git a/django/contrib/webdesign/tests.py b/django/contrib/webdesign/tests.py index da9237a43b..d155620902 100644 --- a/django/contrib/webdesign/tests.py +++ b/django/contrib/webdesign/tests.py @@ -14,7 +14,6 @@ u'lorem ipsum dolor' """ from django.contrib.webdesign.lorem_ipsum import * -import datetime if __name__ == '__main__': import doctest diff --git a/django/core/handlers/base.py b/django/core/handlers/base.py index 7f68946f3d..a81bec322f 100644 --- a/django/core/handlers/base.py +++ b/django/core/handlers/base.py @@ -109,7 +109,8 @@ class BaseHandler(object): except exceptions.PermissionDenied: return http.HttpResponseForbidden('<h1>Permission denied</h1>') except SystemExit: - pass # See http://code.djangoproject.com/ticket/1023 + # Allow sys.exit() to actually exit. See tickets #1023 and #4701 + raise except: # Handle everything else, including SuspiciousOperation, etc. # Get the exception info now, in case another exception is thrown later. exc_info = sys.exc_info() diff --git a/django/core/management/commands/loaddata.py b/django/core/management/commands/loaddata.py index e95be6b8d7..dde9e6eb80 100644 --- a/django/core/management/commands/loaddata.py +++ b/django/core/management/commands/loaddata.py @@ -30,7 +30,8 @@ class Command(BaseCommand): show_traceback = options.get('traceback', False) # Keep a count of the installed objects and fixtures - count = [0, 0] + fixture_count = 0 + object_count = 0 models = set() humanize = lambda dirname: dirname and "'%s'" % dirname or 'absolute path' @@ -65,7 +66,12 @@ class Command(BaseCommand): else: print "Skipping fixture '%s': %s is not a known serialization format" % (fixture_name, format) - for fixture_dir in app_fixtures + list(settings.FIXTURE_DIRS) + ['']: + if os.path.isabs(fixture_name): + fixture_dirs = [fixture_name] + else: + fixture_dirs = app_fixtures + list(settings.FIXTURE_DIRS) + [''] + + for fixture_dir in fixture_dirs: if verbosity > 1: print "Checking %s for fixtures..." % humanize(fixture_dir) @@ -86,14 +92,14 @@ class Command(BaseCommand): transaction.leave_transaction_management() return else: - count[1] += 1 + fixture_count += 1 if verbosity > 0: print "Installing %s fixture '%s' from %s." % \ (format, fixture_name, humanize(fixture_dir)) try: objects = serializers.deserialize(format, fixture) for obj in objects: - count[0] += 1 + object_count += 1 models.add(obj.object.__class__) obj.save() label_found = True @@ -113,7 +119,7 @@ class Command(BaseCommand): print "No %s fixture '%s' in %s." % \ (format, fixture_name, humanize(fixture_dir)) - if count[0] > 0: + if object_count > 0: sequence_sql = connection.ops.sequence_reset_sql(self.style, models) if sequence_sql: if verbosity > 1: @@ -124,9 +130,9 @@ class Command(BaseCommand): transaction.commit() transaction.leave_transaction_management() - if count[0] == 0: + if object_count == 0: if verbosity >= 2: print "No fixtures found." else: if verbosity > 0: - print "Installed %d object(s) from %d fixture(s)" % tuple(count) + print "Installed %d object(s) from %d fixture(s)" % (object_count, fixture_count) diff --git a/django/core/management/commands/sqlall.py b/django/core/management/commands/sqlall.py index d63dfb4b10..bf3c734bb6 100644 --- a/django/core/management/commands/sqlall.py +++ b/django/core/management/commands/sqlall.py @@ -1,7 +1,7 @@ from django.core.management.base import AppCommand class Command(AppCommand): - help = "Prints the CREATE TABLE, initial-data and CREATE INDEX SQL statements for the given model module name(s)." + help = "Prints the CREATE TABLE, custom SQL and CREATE INDEX SQL statements for the given model module name(s)." output_transaction = True diff --git a/django/core/serializers/json.py b/django/core/serializers/json.py index e17b821f52..20797c02f6 100644 --- a/django/core/serializers/json.py +++ b/django/core/serializers/json.py @@ -4,7 +4,6 @@ Serialize data to/from JSON import datetime from django.utils import simplejson -from django.utils.simplejson import decoder from django.core.serializers.python import Serializer as PythonSerializer from django.core.serializers.python import Deserializer as PythonDeserializer try: diff --git a/django/core/serializers/pyyaml.py b/django/core/serializers/pyyaml.py index 4c32a9686f..58cf59bed9 100644 --- a/django/core/serializers/pyyaml.py +++ b/django/core/serializers/pyyaml.py @@ -4,7 +4,6 @@ YAML serializer. Requires PyYaml (http://pyyaml.org/), but that's checked for in __init__. """ -import datetime from django.db import models from django.core.serializers.python import Serializer as PythonSerializer from django.core.serializers.python import Deserializer as PythonDeserializer diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py index ba3e9efda8..697dcd3a67 100644 --- a/django/db/backends/mysql/base.py +++ b/django/db/backends/mysql/base.py @@ -21,7 +21,6 @@ if (version < (1,2,1) or (version[:3] == (1, 2, 1) and from MySQLdb.converters import conversions from MySQLdb.constants import FIELD_TYPE -import types import re # Raise exceptions for database warnings if DEBUG is on diff --git a/django/db/backends/postgresql/operations.py b/django/db/backends/postgresql/operations.py index 20392b238e..15ca957bac 100644 --- a/django/db/backends/postgresql/operations.py +++ b/django/db/backends/postgresql/operations.py @@ -27,6 +27,11 @@ class DatabaseOperations(BaseDatabaseOperations): def deferrable_sql(self): return " DEFERRABLE INITIALLY DEFERRED" + def field_cast_sql(self, db_type): + if db_type == 'inet': + return 'HOST(%s)' + return '%s' + def last_insert_id(self, cursor, table_name, pk_name): cursor.execute("SELECT CURRVAL('\"%s_%s_seq\"')" % (table_name, pk_name)) return cursor.fetchone()[0] diff --git a/django/db/models/base.py b/django/db/models/base.py index 60bf021e4e..d96c93fb0d 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -41,7 +41,9 @@ class ModelBase(type): # Build complete list of parents for base in parents: - if base is not Model: + # Things without _meta aren't functional models, so they're + # uninteresting parents. + if hasattr(base, '_meta'): new_class._meta.parents.append(base) new_class._meta.parents.extend(base._meta.parents) @@ -133,13 +135,16 @@ class Model(object): def __ne__(self, other): return not self.__eq__(other) + def __hash__(self): + return hash(self._get_pk_val()) + def __init__(self, *args, **kwargs): dispatcher.send(signal=signals.pre_init, sender=self.__class__, args=args, kwargs=kwargs) # There is a rather weird disparity here; if kwargs, it's set, then args # overrides it. It should be one or the other; don't duplicate the work # The reason for the kwargs check is that standard iterator passes in by - # args, and nstantiation for iteration is 33% faster. + # args, and instantiation for iteration is 33% faster. args_len = len(args) if args_len > len(self._meta.fields): # Daft, but matches old exception sans the err msg. diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 383000d0aa..d16bb9d15d 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -228,7 +228,11 @@ class Field(object): value = int(value) except ValueError: raise ValueError("The __year lookup type requires an integer argument") - return ['%s-01-01 00:00:00' % value, '%s-12-31 23:59:59.999999' % value] + if settings.DATABASE_ENGINE == 'sqlite3': + first = '%s-01-01' + else: + first = '%s-01-01 00:00:00' + return [first % value, '%s-12-31 23:59:59.999999' % value] raise TypeError("Field has invalid lookup: %s" % lookup_type) def has_default(self): @@ -451,6 +455,9 @@ class BooleanField(Field): kwargs['blank'] = True Field.__init__(self, *args, **kwargs) + def get_internal_type(self): + return "BooleanField" + def to_python(self, value): if value in (True, False): return value if value in ('t', 'True', '1'): return True @@ -469,6 +476,9 @@ class CharField(Field): def get_manipulator_field_objs(self): return [oldforms.TextField] + def get_internal_type(self): + return "CharField" + def to_python(self, value): if isinstance(value, basestring): return value @@ -499,6 +509,9 @@ class DateField(Field): kwargs['blank'] = True Field.__init__(self, verbose_name, name, **kwargs) + def get_internal_type(self): + return "DateField" + def to_python(self, value): if value is None: return value @@ -568,6 +581,9 @@ class DateField(Field): return super(DateField, self).formfield(**defaults) class DateTimeField(DateField): + def get_internal_type(self): + return "DateTimeField" + def to_python(self, value): if value is None: return value @@ -638,6 +654,9 @@ class DecimalField(Field): self.max_digits, self.decimal_places = max_digits, decimal_places Field.__init__(self, verbose_name, name, **kwargs) + def get_internal_type(self): + return "DecimalField" + def to_python(self, value): if value is None: return value @@ -697,9 +716,6 @@ class EmailField(CharField): kwargs['max_length'] = kwargs.get('max_length', 75) CharField.__init__(self, *args, **kwargs) - def get_internal_type(self): - return "CharField" - def get_manipulator_field_objs(self): return [oldforms.EmailField] @@ -717,6 +733,9 @@ class FileField(Field): kwargs['max_length'] = kwargs.get('max_length', 100) Field.__init__(self, verbose_name, name, **kwargs) + def get_internal_type(self): + return "FileField" + def get_db_prep_save(self, value): "Returns field's value prepared for saving into a database." # Need to convert UploadedFile objects provided via a form to unicode for database insertion @@ -826,12 +845,18 @@ class FilePathField(Field): def get_manipulator_field_objs(self): return [curry(oldforms.FilePathField, path=self.path, match=self.match, recursive=self.recursive)] + def get_internal_type(self): + return "FilePathField" + class FloatField(Field): empty_strings_allowed = False def get_manipulator_field_objs(self): return [oldforms.FloatField] + def get_internal_type(self): + return "FloatField" + def formfield(self, **kwargs): defaults = {'form_class': forms.FloatField} defaults.update(kwargs) @@ -854,6 +879,9 @@ class ImageField(FileField): if not self.height_field: setattr(cls, 'get_%s_height' % self.name, curry(cls._get_FIELD_height, field=self)) + def get_internal_type(self): + return "ImageField" + def save_file(self, new_data, new_object, original_object, change, rel, save=True): FileField.save_file(self, new_data, new_object, original_object, change, rel, save) # If the image has height and/or width field(s) and they haven't @@ -876,6 +904,9 @@ class IntegerField(Field): def get_manipulator_field_objs(self): return [oldforms.IntegerField] + def get_internal_type(self): + return "IntegerField" + def formfield(self, **kwargs): defaults = {'form_class': forms.IntegerField} defaults.update(kwargs) @@ -890,6 +921,9 @@ class IPAddressField(Field): def get_manipulator_field_objs(self): return [oldforms.IPAddressField] + def get_internal_type(self): + return "IPAddressField" + def validate(self, field_data, all_data): validators.isValidIPAddress4(field_data, None) @@ -904,6 +938,9 @@ class NullBooleanField(Field): kwargs['null'] = True Field.__init__(self, *args, **kwargs) + def get_internal_type(self): + return "NullBooleanField" + def to_python(self, value): if value in (None, True, False): return value if value in ('None'): return None @@ -923,6 +960,9 @@ class PhoneNumberField(IntegerField): def get_manipulator_field_objs(self): return [oldforms.PhoneNumberField] + def get_internal_type(self): + return "PhoneNumberField" + def validate(self, field_data, all_data): validators.isValidPhone(field_data, all_data) @@ -936,6 +976,9 @@ class PositiveIntegerField(IntegerField): def get_manipulator_field_objs(self): return [oldforms.PositiveIntegerField] + def get_internal_type(self): + return "PositiveIntegerField" + def formfield(self, **kwargs): defaults = {'min_value': 0} defaults.update(kwargs) @@ -945,6 +988,9 @@ class PositiveSmallIntegerField(IntegerField): def get_manipulator_field_objs(self): return [oldforms.PositiveSmallIntegerField] + def get_internal_type(self): + return "PositiveSmallIntegerField" + def formfield(self, **kwargs): defaults = {'min_value': 0} defaults.update(kwargs) @@ -959,14 +1005,23 @@ class SlugField(CharField): kwargs['db_index'] = True super(SlugField, self).__init__(*args, **kwargs) + def get_internal_type(self): + return "SlugField" + class SmallIntegerField(IntegerField): def get_manipulator_field_objs(self): return [oldforms.SmallIntegerField] + def get_internal_type(self): + return "SmallIntegerField" + class TextField(Field): def get_manipulator_field_objs(self): return [oldforms.LargeTextField] + def get_internal_type(self): + return "TextField" + def formfield(self, **kwargs): defaults = {'widget': forms.Textarea} defaults.update(kwargs) @@ -980,6 +1035,9 @@ class TimeField(Field): kwargs['editable'] = False Field.__init__(self, verbose_name, name, **kwargs) + def get_internal_type(self): + return "TimeField" + def get_db_prep_lookup(self, lookup_type, value): if settings.DATABASE_ENGINE == 'oracle': # Oracle requires a date in order to parse. @@ -1044,9 +1102,6 @@ class URLField(CharField): def get_manipulator_field_objs(self): return [oldforms.URLField] - def get_internal_type(self): - return "CharField" - def formfield(self, **kwargs): defaults = {'form_class': forms.URLField, 'verify_exists': self.verify_exists} defaults.update(kwargs) @@ -1056,6 +1111,9 @@ class USStateField(Field): def get_manipulator_field_objs(self): return [oldforms.USStateField] + def get_internal_type(self): + return "USStateField" + def formfield(self, **kwargs): from django.contrib.localflavor.us.forms import USStateSelect defaults = {'widget': USStateSelect} @@ -1067,9 +1125,6 @@ class XMLField(TextField): self.schema_path = schema_path Field.__init__(self, verbose_name, name, **kwargs) - def get_internal_type(self): - return "TextField" - def get_manipulator_field_objs(self): return [curry(oldforms.XMLLargeTextField, schema_path=self.schema_path)] @@ -1080,8 +1135,5 @@ class OrderingField(IntegerField): kwargs['null'] = True IntegerField.__init__(self, **kwargs ) - def get_internal_type(self): - return "IntegerField" - def get_manipulator_fields(self, opts, manipulator, change, name_prefix='', rel=False, follow=True): return [oldforms.HiddenField(name_prefix + self.name)] diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py index 2ccf1e3dd0..ab23fee210 100644 --- a/django/db/models/fields/related.py +++ b/django/db/models/fields/related.py @@ -23,26 +23,64 @@ RECURSIVE_RELATIONSHIP_CONSTANT = 'self' pending_lookups = {} -def add_lookup(rel_cls, field): - name = field.rel.to - module = rel_cls.__module__ - key = (module, name) - # Has the model already been loaded? - # If so, resolve the string reference right away - model = get_model(rel_cls._meta.app_label, field.rel.to, False) +def add_lazy_relation(cls, field, relation): + """ + Adds a lookup on ``cls`` when a related field is defined using a string, + i.e.:: + + class MyModel(Model): + fk = ForeignKey("AnotherModel") + + This string can be: + + * RECURSIVE_RELATIONSHIP_CONSTANT (i.e. "self") to indicate a recursive + relation. + + * The name of a model (i.e "AnotherModel") to indicate another model in + the same app. + + * An app-label and model name (i.e. "someapp.AnotherModel") to indicate + another model in a different app. + + If the other model hasn't yet been loaded -- almost a given if you're using + lazy relationships -- then the relation won't be set up until the + class_prepared signal fires at the end of model initialization. + """ + # Check for recursive relations + if relation == RECURSIVE_RELATIONSHIP_CONSTANT: + app_label = cls._meta.app_label + model_name = cls.__name__ + + else: + # Look for an "app.Model" relation + try: + app_label, model_name = relation.split(".") + except ValueError: + # If we can't split, assume a model in current app + app_label = cls._meta.app_label + model_name = relation + + # Try to look up the related model, and if it's already loaded resolve the + # string right away. If get_model returns None, it means that the related + # model isn't loaded yet, so we need to pend the relation until the class + # is prepared. + model = get_model(app_label, model_name, False) if model: field.rel.to = model - field.do_related_class(model, rel_cls) + field.do_related_class(model, cls) else: - # Mark the related field for later lookup - pending_lookups.setdefault(key, []).append((rel_cls, field)) - + key = (app_label, model_name) + value = (cls, field) + pending_lookups.setdefault(key, []).append(value) + def do_pending_lookups(sender): - other_cls = sender - key = (other_cls.__module__, other_cls.__name__) - for rel_cls, field in pending_lookups.setdefault(key, []): - field.rel.to = other_cls - field.do_related_class(other_cls, rel_cls) + """ + Handle any pending relations to the sending model. Sent from class_prepared. + """ + key = (sender._meta.app_label, sender.__name__) + for cls, field in pending_lookups.pop(key, []): + field.rel.to = sender + field.do_related_class(sender, cls) dispatcher.connect(do_pending_lookups, signal=signals.class_prepared) @@ -66,9 +104,7 @@ class RelatedField(object): sup.contribute_to_class(cls, name) other = self.rel.to if isinstance(other, basestring): - if other == RECURSIVE_RELATIONSHIP_CONSTANT: - self.rel.to = cls.__name__ - add_lookup(cls, self) + add_lazy_relation(cls, self, other) else: self.do_related_class(other, cls) diff --git a/django/http/__init__.py b/django/http/__init__.py index 69e9d51204..7a85e20515 100644 --- a/django/http/__init__.py +++ b/django/http/__init__.py @@ -171,7 +171,7 @@ class QueryDict(MultiValueDict): dict.__setitem__(result, key, value) return result - def __deepcopy__(self, memo={}): + def __deepcopy__(self, memo): import copy result = self.__class__('', mutable=True) memo[id(self)] = result @@ -223,7 +223,7 @@ class QueryDict(MultiValueDict): def copy(self): "Returns a mutable copy of this object." - return self.__deepcopy__() + return self.__deepcopy__({}) def urlencode(self): output = [] diff --git a/django/newforms/forms.py b/django/newforms/forms.py index 04bf62e445..b4ac80c5aa 100644 --- a/django/newforms/forms.py +++ b/django/newforms/forms.py @@ -22,23 +22,40 @@ def pretty_name(name): name = name[0].upper() + name[1:] return name.replace('_', ' ') -class DeclarativeFieldsMetaclass(type): +def get_declared_fields(bases, attrs, with_base_fields=True): """ - Metaclass that converts Field attributes to a dictionary called - 'base_fields', taking into account parent class 'base_fields' as well. + Create a list of form field instances from the passed in 'attrs', plus any + similar fields on the base classes (in 'bases'). This is used by both the + Form and ModelForm metclasses. + + If 'with_base_fields' is True, all fields from the bases are used. + Otherwise, only fields in the 'declared_fields' attribute on the bases are + used. The distinction is useful in ModelForm subclassing. """ - def __new__(cls, name, bases, attrs): - fields = [(field_name, attrs.pop(field_name)) for field_name, obj in attrs.items() if isinstance(obj, Field)] - fields.sort(lambda x, y: cmp(x[1].creation_counter, y[1].creation_counter)) + fields = [(field_name, attrs.pop(field_name)) for field_name, obj in attrs.items() if isinstance(obj, Field)] + fields.sort(lambda x, y: cmp(x[1].creation_counter, y[1].creation_counter)) - # If this class is subclassing another Form, add that Form's fields. - # Note that we loop over the bases in *reverse*. This is necessary in - # order to preserve the correct order of fields. + # If this class is subclassing another Form, add that Form's fields. + # Note that we loop over the bases in *reverse*. This is necessary in + # order to preserve the correct order of fields. + if with_base_fields: for base in bases[::-1]: if hasattr(base, 'base_fields'): fields = base.base_fields.items() + fields + else: + for base in bases[::-1]: + if hasattr(base, 'declared_fields'): + fields = base.declared_fields.items() + fields + + return SortedDict(fields) - attrs['base_fields'] = SortedDict(fields) +class DeclarativeFieldsMetaclass(type): + """ + Metaclass that converts Field attributes to a dictionary called + 'base_fields', taking into account parent class 'base_fields' as well. + """ + def __new__(cls, name, bases, attrs): + attrs['base_fields'] = get_declared_fields(bases, attrs) return type.__new__(cls, name, bases, attrs) class BaseForm(StrAndUnicode): diff --git a/django/newforms/models.py b/django/newforms/models.py index 0ee911a82f..f3809dc370 100644 --- a/django/newforms/models.py +++ b/django/newforms/models.py @@ -11,7 +11,7 @@ from django.utils.datastructures import SortedDict from django.core.exceptions import ImproperlyConfigured from util import ValidationError, ErrorList -from forms import BaseForm +from forms import BaseForm, get_declared_fields from fields import Field, ChoiceField, EMPTY_VALUES from widgets import Select, SelectMultiple, MultipleHiddenInput @@ -211,57 +211,39 @@ class ModelFormOptions(object): self.fields = getattr(options, 'fields', None) self.exclude = getattr(options, 'exclude', None) + class ModelFormMetaclass(type): def __new__(cls, name, bases, attrs, formfield_callback=lambda f: f.formfield()): - fields = [(field_name, attrs.pop(field_name)) for field_name, obj in attrs.items() if isinstance(obj, Field)] - fields.sort(lambda x, y: cmp(x[1].creation_counter, y[1].creation_counter)) - - # If this class is subclassing another Form, add that Form's fields. - # Note that we loop over the bases in *reverse*. This is necessary in - # order to preserve the correct order of fields. - for base in bases[::-1]: - if hasattr(base, 'base_fields'): - fields = base.base_fields.items() + fields - declared_fields = SortedDict(fields) - - opts = ModelFormOptions(attrs.get('Meta', None)) - attrs['_meta'] = opts - - # Don't allow more than one Meta model definition in bases. The fields - # would be generated correctly, but the save method won't deal with - # more than one object. - base_models = [] - for base in bases: - base_opts = getattr(base, '_meta', None) - base_model = getattr(base_opts, 'model', None) - if base_model is not None: - base_models.append(base_model) - if len(base_models) > 1: - raise ImproperlyConfigured("%s's base classes define more than one model." % name) + try: + parents = [b for b in bases if issubclass(b, ModelForm)] + except NameError: + # We are defining ModelForm itself. + parents = None + if not parents: + return super(ModelFormMetaclass, cls).__new__(cls, name, bases, + attrs) - # If a model is defined, extract form fields from it and add them to base_fields - if attrs['_meta'].model is not None: - # Don't allow a subclass to define a different Meta model than a - # parent class has. Technically the right fields would be generated, - # but the save method will not deal with more than one model. - for base in bases: - base_opts = getattr(base, '_meta', None) - base_model = getattr(base_opts, 'model', None) - if base_model and base_model is not opts.model: - raise ImproperlyConfigured('%s defines a different model than its parent.' % name) - model_fields = fields_for_model(opts.model, opts.fields, - opts.exclude, formfield_callback) - # fields declared in base classes override fields from the model - model_fields.update(declared_fields) - attrs['base_fields'] = model_fields + new_class = type.__new__(cls, name, bases, attrs) + declared_fields = get_declared_fields(bases, attrs, False) + opts = new_class._meta = ModelFormOptions(getattr(new_class, 'Meta', None)) + if opts.model: + # If a model is defined, extract form fields from it. + fields = fields_for_model(opts.model, opts.fields, + opts.exclude, formfield_callback) + # Override default model fields with any custom declared ones + # (plus, include all the other declared fields). + fields.update(declared_fields) else: - attrs['base_fields'] = declared_fields - return type.__new__(cls, name, bases, attrs) + fields = declared_fields + new_class.declared_fields = declared_fields + new_class.base_fields = fields + return new_class class BaseModelForm(BaseForm): def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None, - initial=None, error_class=ErrorList, label_suffix=':', instance=None): + initial=None, error_class=ErrorList, label_suffix=':', + instance=None): opts = self._meta if instance is None: # if we didn't get an instance, instantiate a new one @@ -277,7 +259,8 @@ class BaseModelForm(BaseForm): def save(self, commit=True): """ - Saves this ``form``'s cleaned_data into model instance ``self.instance``. + Saves this ``form``'s cleaned_data into model instance + ``self.instance``. If commit=True, then the changes to ``instance`` will be saved to the database. Returns ``instance``. diff --git a/django/template/defaultfilters.py b/django/template/defaultfilters.py index d3400baac8..8e5bcf5bd8 100644 --- a/django/template/defaultfilters.py +++ b/django/template/defaultfilters.py @@ -2,6 +2,10 @@ import re import random as random_module +try: + from functools import wraps +except ImportError: + from django.utils.functional import wraps # Python 2.3, 2.4 fallback. from django.template import Variable, Library from django.conf import settings @@ -35,7 +39,7 @@ def stringfilter(func): for attr in ('is_safe', 'needs_autoescape'): if hasattr(func, attr): setattr(_dec, attr, getattr(func, attr)) - return _dec + return wraps(func)(_dec) ################### # STRINGS # diff --git a/django/test/_doctest.py b/django/test/_doctest.py index d1308b855e..a56483c3ab 100644 --- a/django/test/_doctest.py +++ b/django/test/_doctest.py @@ -100,7 +100,7 @@ __all__ = [ import __future__ -import sys, traceback, inspect, linecache, os, re, types +import sys, traceback, inspect, linecache, os, re import unittest, difflib, pdb, tempfile import warnings from StringIO import StringIO diff --git a/django/test/client.py b/django/test/client.py index b02d298418..67d3aa9030 100644 --- a/django/test/client.py +++ b/django/test/client.py @@ -1,7 +1,5 @@ -import datetime import sys from cStringIO import StringIO -from urlparse import urlparse from django.conf import settings from django.contrib.auth import authenticate, login from django.core.handlers.base import BaseHandler diff --git a/django/test/simple.py b/django/test/simple.py index 6fa381ac4d..43e1156a0a 100644 --- a/django/test/simple.py +++ b/django/test/simple.py @@ -146,4 +146,3 @@ def run_tests(test_labels, verbosity=1, interactive=True, extra_tests=[]): teardown_test_environment() return len(result.failures) + len(result.errors) -
\ No newline at end of file diff --git a/django/utils/datastructures.py b/django/utils/datastructures.py index 82d914000f..4c278c0d8e 100644 --- a/django/utils/datastructures.py +++ b/django/utils/datastructures.py @@ -3,7 +3,7 @@ class MergeDict(object): A simple class for creating new "virtual" dictionaries that actually look up values in more than one dictionary, passed in the constructor. - If a key appears in more than one of the passed in dictionaries, only the + If a key appears in more than one of the given dictionaries, only the first occurrence will be used. """ def __init__(self, *dicts): @@ -145,7 +145,7 @@ class SortedDict(dict): """Returns a copy of this object.""" # This way of initializing the copy means it works for subclasses, too. obj = self.__class__(self) - obj.keyOrder = self.keyOrder + obj.keyOrder = self.keyOrder[:] return obj def __repr__(self): @@ -155,6 +155,10 @@ class SortedDict(dict): """ return '{%s}' % ', '.join(['%r: %r' % (k, v) for k, v in self.items()]) + def clear(self): + super(SortedDict, self).clear() + self.keyOrder = [] + class MultiValueDictKeyError(KeyError): pass diff --git a/django/utils/decorators.py b/django/utils/decorators.py index 57ce29fca4..27a080e740 100644 --- a/django/utils/decorators.py +++ b/django/utils/decorators.py @@ -1,6 +1,10 @@ "Functions that help with dynamically creating decorators for views." import types +try: + from functools import wraps +except ImportError: + from django.utils.functional import wraps # Python 2.3, 2.4 fallback. def decorator_from_middleware(middleware_class): """ @@ -53,5 +57,5 @@ def decorator_from_middleware(middleware_class): if result is not None: return result return response - return _wrapped_view + return wraps(view_func)(_wrapped_view) return _decorator_from_middleware diff --git a/django/utils/functional.py b/django/utils/functional.py index e0c862b0b7..3de693e18c 100644 --- a/django/utils/functional.py +++ b/django/utils/functional.py @@ -1,8 +1,120 @@ +# License for code in this file that was taken from Python 2.5. + +# PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 +# -------------------------------------------- +# +# 1. This LICENSE AGREEMENT is between the Python Software Foundation +# ("PSF"), and the Individual or Organization ("Licensee") accessing and +# otherwise using this software ("Python") in source or binary form and +# its associated documentation. +# +# 2. Subject to the terms and conditions of this License Agreement, PSF +# hereby grants Licensee a nonexclusive, royalty-free, world-wide +# license to reproduce, analyze, test, perform and/or display publicly, +# prepare derivative works, distribute, and otherwise use Python +# alone or in any derivative version, provided, however, that PSF's +# License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +# 2001, 2002, 2003, 2004, 2005, 2006, 2007 Python Software Foundation; +# All Rights Reserved" are retained in Python alone or in any derivative +# version prepared by Licensee. +# +# 3. In the event Licensee prepares a derivative work that is based on +# or incorporates Python or any part thereof, and wants to make +# the derivative work available to others as provided herein, then +# Licensee hereby agrees to include in any such work a brief summary of +# the changes made to Python. +# +# 4. PSF is making Python available to Licensee on an "AS IS" +# basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +# IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +# DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +# FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT +# INFRINGE ANY THIRD PARTY RIGHTS. +# +# 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +# FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +# A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, +# OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. +# +# 6. This License Agreement will automatically terminate upon a material +# breach of its terms and conditions. +# +# 7. Nothing in this License Agreement shall be deemed to create any +# relationship of agency, partnership, or joint venture between PSF and +# Licensee. This License Agreement does not grant permission to use PSF +# trademarks or trade name in a trademark sense to endorse or promote +# products or services of Licensee, or any third party. +# +# 8. By copying, installing or otherwise using Python, Licensee +# agrees to be bound by the terms and conditions of this License +# Agreement. + + def curry(_curried_func, *args, **kwargs): def _curried(*moreargs, **morekwargs): return _curried_func(*(args+moreargs), **dict(kwargs, **morekwargs)) return _curried +### Begin from Python 2.5 functools.py ######################################## + +# Summary of changes made to the Python 2.5 code below: +# * swapped ``partial`` for ``curry`` to maintain backwards-compatibility +# in Django. +# * Wrapped the ``setattr`` call in ``update_wrapper`` with a try-except +# block to make it compatible with Python 2.3, which doesn't allow +# assigning to ``__name__``. + +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Python Software Foundation. +# All Rights Reserved. + +############################################################################### + +# update_wrapper() and wraps() are tools to help write +# wrapper functions that can handle naive introspection + +WRAPPER_ASSIGNMENTS = ('__module__', '__name__', '__doc__') +WRAPPER_UPDATES = ('__dict__',) +def update_wrapper(wrapper, + wrapped, + assigned = WRAPPER_ASSIGNMENTS, + updated = WRAPPER_UPDATES): + """Update a wrapper function to look like the wrapped function + + wrapper is the function to be updated + wrapped is the original function + assigned is a tuple naming the attributes assigned directly + from the wrapped function to the wrapper function (defaults to + functools.WRAPPER_ASSIGNMENTS) + updated is a tuple naming the attributes off the wrapper that + are updated with the corresponding attribute from the wrapped + function (defaults to functools.WRAPPER_UPDATES) + """ + for attr in assigned: + try: + setattr(wrapper, attr, getattr(wrapped, attr)) + except TypeError: # Python 2.3 doesn't allow assigning to __name__. + pass + for attr in updated: + getattr(wrapper, attr).update(getattr(wrapped, attr)) + # Return the wrapper so this can be used as a decorator via curry() + return wrapper + +def wraps(wrapped, + assigned = WRAPPER_ASSIGNMENTS, + updated = WRAPPER_UPDATES): + """Decorator factory to apply update_wrapper() to a wrapper function + + Returns a decorator that invokes update_wrapper() with the decorated + function as the wrapper argument and the arguments to wraps() as the + remaining arguments. Default arguments are as for update_wrapper(). + This is a convenience function to simplify applying curry() to + update_wrapper(). + """ + return curry(update_wrapper, wrapped=wrapped, + assigned=assigned, updated=updated) + +### End from Python 2.5 functools.py ########################################## + def memoize(func, cache, num_args): """ Wrap a function so that results for any argument tuple are stored in @@ -18,7 +130,7 @@ def memoize(func, cache, num_args): result = func(*args) cache[mem_args] = result return result - return wrapper + return wraps(func)(wrapper) class Promise(object): """ @@ -110,7 +222,7 @@ def lazy(func, *resultclasses): # Creates the proxy object, instead of the actual value. return __proxy__(args, kw) - return __wrapper__ + return wraps(func)(__wrapper__) def allow_lazy(func, *resultclasses): """ @@ -126,4 +238,4 @@ def allow_lazy(func, *resultclasses): else: return func(*args, **kwargs) return lazy(func, *resultclasses)(*args, **kwargs) - return wrapper + return wraps(func)(wrapper) diff --git a/django/views/decorators/cache.py b/django/views/decorators/cache.py index b04cc2340b..8b620c1345 100644 --- a/django/views/decorators/cache.py +++ b/django/views/decorators/cache.py @@ -11,6 +11,11 @@ Additionally, all headers from the response's Vary header will be taken into account on caching -- just like the middleware does. """ +try: + from functools import wraps +except ImportError: + from django.utils.functional import wraps # Python 2.3, 2.4 fallback. + from django.utils.decorators import decorator_from_middleware from django.utils.cache import patch_cache_control, add_never_cache_headers from django.middleware.cache import CacheMiddleware @@ -26,7 +31,7 @@ def cache_control(**kwargs): patch_cache_control(response, **kwargs) return response - return _cache_controlled + return wraps(viewfunc)(_cache_controlled) return _cache_controller @@ -39,4 +44,4 @@ def never_cache(view_func): response = view_func(request, *args, **kwargs) add_never_cache_headers(response) return response - return _wrapped_view_func + return wraps(view_func)(_wrapped_view_func) diff --git a/django/views/decorators/http.py b/django/views/decorators/http.py index 9feb8c0d84..dd4f90ea9c 100644 --- a/django/views/decorators/http.py +++ b/django/views/decorators/http.py @@ -2,6 +2,11 @@ Decorators for views based on HTTP headers. """ +try: + from functools import wraps +except ImportError: + from django.utils.functional import wraps # Python 2.3, 2.4 fallback. + from django.utils.decorators import decorator_from_middleware from django.middleware.http import ConditionalGetMiddleware from django.http import HttpResponseNotAllowed @@ -24,7 +29,7 @@ def require_http_methods(request_method_list): if request.method not in request_method_list: return HttpResponseNotAllowed(request_method_list) return func(request, *args, **kwargs) - return inner + return wraps(func)(inner) return decorator require_GET = require_http_methods(["GET"]) diff --git a/django/views/decorators/vary.py b/django/views/decorators/vary.py index 9b49c45cf2..ea1b8d307d 100644 --- a/django/views/decorators/vary.py +++ b/django/views/decorators/vary.py @@ -1,3 +1,8 @@ +try: + from functools import wraps +except ImportError: + from django.utils.functional import wraps # Python 2.3, 2.4 fallback. + from django.utils.cache import patch_vary_headers def vary_on_headers(*headers): @@ -16,7 +21,7 @@ def vary_on_headers(*headers): response = func(*args, **kwargs) patch_vary_headers(response, headers) return response - return inner_func + return wraps(func)(inner_func) return decorator def vary_on_cookie(func): @@ -32,4 +37,4 @@ def vary_on_cookie(func): response = func(*args, **kwargs) patch_vary_headers(response, ('Cookie',)) return response - return inner_func + return wraps(func)(inner_func) |
