# 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: 2018-10-02 23:04+0100\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 "This stream contains no data."
msgstr "Потік не містить даних."

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

#~ 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 "Internal data stream error."
#~ msgstr "Помилка внутрішнього потоку даних."

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