# Turkish translation for QEMU.
# This file is put in the public domain.
# Ozan Çağlayan <ozancag@gmail.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-12-13 21:46+0000\n"
"PO-Revision-Date: 2013-04-22 18:35+0300\n"
"Last-Translator: Ozan Çağlayan <ozancag@gmail.com>\n"
"Language-Team: Türkçe <>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Gtranslator 2.91.6\n"

#: ui/gtk.c:275
msgid " - Press Ctrl+Alt+G to release grab"
msgstr " - Yakalamayı durdurmak için Ctrl+Alt+G tuşlarına basın"

#: ui/gtk.c:279
msgid " [Paused]"
msgstr " [Duraklatıldı]"

#: ui/gtk.c:1922
msgid "_Pause"
msgstr "_Duraklat"

#: ui/gtk.c:1928
msgid "_Reset"
msgstr "_Sıfırla"

#: ui/gtk.c:1931
msgid "Power _Down"
msgstr "_Kapat"

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

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

#: ui/gtk.c:2032
msgid "_Copy"
msgstr ""

#: ui/gtk.c:2048
#, fuzzy
msgid "Zoom _In"
msgstr "Yakınlaş ve Sığ_dır"

#: ui/gtk.c:2055
#, fuzzy
msgid "Zoom _Out"
msgstr "Yakınlaş ve Sığ_dır"

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

#: ui/gtk.c:2069
msgid "Zoom To _Fit"
msgstr "Yakınlaş ve Sığ_dır"

#: ui/gtk.c:2075
msgid "Grab On _Hover"
msgstr "Ü_zerindeyken Yakala"

#: ui/gtk.c:2078
msgid "_Grab Input"
msgstr "Girdiyi _Yakala"

#: ui/gtk.c:2107
msgid "Show _Tabs"
msgstr "Se_kmeleri Göster"

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

#: ui/gtk.c:2122
msgid "_Machine"
msgstr "_Makine"

#: ui/gtk.c:2127
msgid "_View"
msgstr "_Görüntüle"
