# 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: 2013-05-06 20:42+0200\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: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: ../ui/gtk.c:213
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:217
msgid " [Paused]"
msgstr " [Megállítva]"

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

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

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

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

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

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

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

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

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

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