# 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-02-08 09:21-0600\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:990
msgid "_File"
msgstr "_Datei"

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

#: ../ui/gtk.c:1002
msgid "_Full Screen"
msgstr "Voll_bild"

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

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

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

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