# Hungarian translation for QEMU.
# This file is put in the public domain.
# Ákos Kovács <akoskovacs@gmx.com>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: QEMU 1.4.50\n"
"Report-Msgid-Bugs-To: qemu-devel@nongnu.org\n"
"POT-Creation-Date: 2016-04-18 14:50+0100\n"
"PO-Revision-Date: 2013-05-06 20:42+0200\n"
"Last-Translator: Ákos Kovács <akoskovacs@gmx.com>\n"
"Language-Team: Hungarian <hu@li.org>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: ui/gtk.c:273
msgid " - Press Ctrl+Alt+G to release grab"
msgstr " - Nyomj Ctrl+Alt+G-t a bemeneti eszközök elengedéséhez"

#: ui/gtk.c:277
msgid " [Paused]"
msgstr " [Megállítva]"

#: ui/gtk.c:1833
msgid "_Pause"
msgstr "_Megállítás"

#: ui/gtk.c:1839
msgid "_Reset"
msgstr "Új_raindítás"

#: ui/gtk.c:1842
msgid "Power _Down"
msgstr "_Leállítás"

#: ui/gtk.c:1848
msgid "_Quit"
msgstr ""

#: ui/gtk.c:1940
msgid "_Fullscreen"
msgstr ""

#: ui/gtk.c:1954
#, fuzzy
msgid "Zoom _In"
msgstr "Ablakmérethez _igazítás"

#: ui/gtk.c:1961
#, fuzzy
msgid "Zoom _Out"
msgstr "Ablakmérethez _igazítás"

#: ui/gtk.c:1968
msgid "Best _Fit"
msgstr ""

#: ui/gtk.c:1975
msgid "Zoom To _Fit"
msgstr "Ablakmérethez _igazítás"

#: ui/gtk.c:1981
msgid "Grab On _Hover"
msgstr "Automatikus _elfogás"

#: ui/gtk.c:1984
msgid "_Grab Input"
msgstr "_Bemeneti eszközök megragadása"

#: ui/gtk.c:2013
msgid "Show _Tabs"
msgstr "_Fülek megjelenítése"

#: ui/gtk.c:2016
msgid "Detach Tab"
msgstr ""

#: ui/gtk.c:2028
msgid "_Machine"
msgstr "_Gép"

#: ui/gtk.c:2033
msgid "_View"
msgstr "_Nézet"

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