# translation of djangojs.po to Italiano
# Italian translation for the django-admin JS files
# Copyright (C) 2006 the Lawrence Journal-World
# This file is distributed under the same license as the Django package.
msgid ""
msgstr ""
"Project-Id-Version: Django vSVN\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-08-10 16:19+0200\n"
"PO-Revision-Date: 2008-08-14 18:36+0200\n"
"Last-Translator: Nicola Larosa <nico@tekNico.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
"X-Generator: KBabel 1.11.4\n"
"Language-Team: Italiano\n"

#: contrib/admin/media/js/SelectFilter2.js:33
#, perl-format
msgid "Available %s"
msgstr "%s disponibili"

#: contrib/admin/media/js/SelectFilter2.js:41
msgid "Choose all"
msgstr "Scegli tutto"

#: contrib/admin/media/js/SelectFilter2.js:46
msgid "Add"
msgstr "Aggiungi"

#: contrib/admin/media/js/SelectFilter2.js:48
msgid "Remove"
msgstr "Rimuovi"

#: contrib/admin/media/js/SelectFilter2.js:53
#, perl-format
msgid "Chosen %s"
msgstr "%s scelti"

#: contrib/admin/media/js/SelectFilter2.js:54
msgid "Select your choice(s) and click "
msgstr "Fai le tue scelte e clicca "

#: contrib/admin/media/js/SelectFilter2.js:59
msgid "Clear all"
msgstr "Cancella tutto"

#: contrib/admin/media/js/calendar.js:24
#: contrib/admin/media/js/dateparse.js:32
msgid ""
"January February March April May June July August September October November "
"December"
msgstr ""
"gennaio febbraio marzo aprile maggio giugno luglio agosto settembre ottobre "
"novembre dicembre"

#: contrib/admin/media/js/calendar.js:25
msgid "S M T W T F S"
msgstr "D L M M G V S"

#: contrib/admin/media/js/dateparse.js:33
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
msgstr "domenica lunedì martedì mercoledì giovedì venerdì sabato"

#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72
msgid "Show"
msgstr "Mostra"

#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63
msgid "Hide"
msgstr "Nascondi"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
msgid "Now"
msgstr "Adesso"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51
msgid "Clock"
msgstr "Orologio"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78
msgid "Choose a time"
msgstr "Scegli un orario"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
msgid "Midnight"
msgstr "Mezzanotte"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
msgid "6 a.m."
msgstr "6 del mattino"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84
msgid "Noon"
msgstr "Mezzogiorno"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183
msgid "Cancel"
msgstr "Annulla"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177
msgid "Today"
msgstr "Oggi"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132
msgid "Calendar"
msgstr "Calendario"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175
msgid "Yesterday"
msgstr "Ieri"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179
msgid "Tomorrow"
msgstr "Domani"

