# German translation for QEMU.
# This file is put in the public domain.
# Kevin Wolf <kwolf@redhat.com>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: QEMU 1.4.50\n"
"Report-Msgid-Bugs-To: qemu-devel@nongnu.org\n"
"POT-Creation-Date: 2013-07-05 22:36+0200\n"
"PO-Revision-Date: 2012-02-28 16:00+0100\n"
"Last-Translator: Kevin Wolf <kwolf@redhat.com>\n"
"Language-Team: Deutsch <de@li.org>\n"
"Language: \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"

#: ui/gtk.c:214
msgid " - Press Ctrl+Alt+G to release grab"
msgstr " - Strg+Alt+G drücken, um Eingabegeräte freizugeben"

#: ui/gtk.c:218
msgid " [Paused]"
msgstr " [Angehalten]"

#: ui/gtk.c:1318
msgid "_Pause"
msgstr "_Angehalten"

#: ui/gtk.c:1324
msgid "_Reset"
msgstr "_Reset"

#: ui/gtk.c:1327
msgid "Power _Down"
msgstr "_Herunterfahren"

#: ui/gtk.c:1381
msgid "Zoom To _Fit"
msgstr "Auf _Fenstergröße skalieren"

#: ui/gtk.c:1387
msgid "Grab On _Hover"
msgstr "Tastatur _automatisch einfangen"

#: ui/gtk.c:1390
msgid "_Grab Input"
msgstr "_Eingabegeräte einfangen"

#: ui/gtk.c:1416
msgid "Show _Tabs"
msgstr "_Tableiste anzeigen"

#: ui/gtk.c:1430
msgid "_Machine"
msgstr "_Maschine"

#: ui/gtk.c:1435
msgid "_View"
msgstr "_Ansicht"

#~ msgid "_File"
#~ msgstr "_Datei"
