# Italian translation for QEMU.
# This file is put in the public domain.
# Paolo Bonzini <pbonzini@redhat.com>, 2012-2014.
#
msgid ""
msgstr ""
"Project-Id-Version: QEMU 1.4.50\n"
"Report-Msgid-Bugs-To: qemu-devel@nongnu.org\n"
"POT-Creation-Date: 2018-07-18 07:56+0200\n"
"PO-Revision-Date: 2014-07-29 08:25+0200\n"
"Last-Translator: Paolo Bonzini <pbonzini@redhat.com>\n"
"Language-Team: Italian <it@li.org>\n"
"Language: it\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"

msgid " - Press Ctrl+Alt+G to release grab"
msgstr " - Premere Ctrl+Alt+G per rilasciare l'input"

msgid " [Paused]"
msgstr " [Pausa]"

msgid "_Pause"
msgstr "_Pausa"

msgid "_Reset"
msgstr "_Reset"

msgid "Power _Down"
msgstr "_Spegni"

msgid "_Quit"
msgstr "_Esci"

msgid "_Fullscreen"
msgstr "A t_utto schermo"

msgid "_Copy"
msgstr "_Copia"

msgid "Zoom _In"
msgstr "_Aumenta zoom"

msgid "Zoom _Out"
msgstr "_Riduci zoom"

msgid "Best _Fit"
msgstr "A_nnulla zoom"

msgid "Zoom To _Fit"
msgstr "Adatta alla _finestra"

msgid "Grab On _Hover"
msgstr "Cattura _automatica input"

msgid "_Grab Input"
msgstr "_Cattura input"

msgid "Show _Tabs"
msgstr "Mostra _tab"

msgid "Detach Tab"
msgstr "_Sposta in una nuova finestra"

msgid "Show Menubar"
msgstr "Mostra _barra dei menu"

msgid "_Machine"
msgstr "_Macchina virtuale"

msgid "_View"
msgstr "_Visualizza"
