# Ukrainian translation to gst-plugins-ugly.
# Copyright (C) 2004 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-ugly package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2007.
# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2012.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-11-01 17:53+0200\n"
"PO-Revision-Date: 2012-11-28 20:25+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 1.5\n"

msgid "Could not read from CD."
msgstr "Не вдалося прочитати дані з компакт-диска."

msgid "Could not open CD device for reading."
msgstr "Не вдалося відкрити носій для читання."

msgid "Disc is not an Audio CD."
msgstr "Диск не записано у форматі Audio CD."

msgid "Could not open DVD"
msgstr "Не вдалося відкрити DVD"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Не вдалося відкрити частину DVD %d"

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Не вдалося перейти до розділу %d частини DVD %d"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Не вдалося відкрити заголовок DVD %d. Інтерактивні заголовки не "
"підтримуються цим елементом"

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Не вдалося прочитати DVD. Причиною може бути те, що DVD зашифровано, а "
"бібліотеку розшифрування DVD не встановлено."

msgid "Could not read DVD."
msgstr "Не вдалося прочитати DVD."

msgid ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr ""
"Помилка при налаштовуванні кодера LAME для звукових даних у форматі MP3. "
"Перевірте параметри кодування."

#, c-format
msgid ""
"The requested bitrate %d kbit/s for property '%s' is not allowed. The "
"bitrate was changed to %d kbit/s."
msgstr ""
"Запитана бітова швидкість %d кбіт/с для властивості «%s» є неприпустимою. "
"Бітову швидкість змінено на %d кбіт/с."

msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
msgstr ""
"Помилка при налаштовуванні кодувальника TwoLAME. Перевірте параметри "
"кодування."

msgid "This stream contains no data."
msgstr "Потік не містить даних."

#~ msgid "Internal data stream error."
#~ msgstr "Помилка внутрішнього потоку даних."

#~ msgid "This file is encrypted and cannot be played."
#~ msgstr "Файл зашифрований та не може бути відтворений."
