# Bulgarian translation of qemu po-file.
# Copyright (C) 2016 Alexander Shopov <ash@kambanaria.org>
# This file is distributed under the same license as the qemu package.
# Alexander Shopov <ash@kambanaria.org>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: QEMU 2.6.50\n"
"Report-Msgid-Bugs-To: qemu-devel@nongnu.org\n"
"POT-Creation-Date: 2018-07-18 07:56+0200\n"
"PO-Revision-Date: 2016-06-09 15:54+0300\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
"Language: bg\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"

msgid " - Press Ctrl+Alt+G to release grab"
msgstr " — натиснете Ctrl+Alt+G, за да освободите фокуса"

msgid " [Paused]"
msgstr " [пауза]"

msgid "_Pause"
msgstr "_Пауза"

msgid "_Reset"
msgstr "_Рестартиране"

msgid "Power _Down"
msgstr "_Изключване"

msgid "_Quit"
msgstr "_Спиране на програмата"

msgid "_Fullscreen"
msgstr "На _цял екран"

msgid "_Copy"
msgstr "_Копиране"

msgid "Zoom _In"
msgstr "_Увеличаване"

msgid "Zoom _Out"
msgstr "_Намаляване"

msgid "Best _Fit"
msgstr "По_местване"

msgid "Zoom To _Fit"
msgstr "Напас_ване"

msgid "Grab On _Hover"
msgstr "Прихващане при посо_чване"

msgid "_Grab Input"
msgstr "Прихващане на _фокуса"

msgid "Show _Tabs"
msgstr "Подпро_зорци"

msgid "Detach Tab"
msgstr "Към самостоятелен подпрозорец"

msgid "Show Menubar"
msgstr ""

msgid "_Machine"
msgstr "_Машина"

msgid "_View"
msgstr "_Изглед"
