# Ukrainian translation to gst-plugins-bad
# Copyright (C) 2004 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-bad package.
#
# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2004-2007.
# Yuri Chornoivan <yurchor@ukr.net>, 2011, 2013, 2014, 2015.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-11-01 17:49+0200\n"
"PO-Revision-Date: 2015-10-15 20:44+0300\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 "failed to draw pattern"
msgstr ""

msgid "A GL error occured"
msgstr ""

msgid "format wasn't negotiated before get function"
msgstr "формат не було узгоджено до виклику функції get"

msgid "OpenCV failed to load template image"
msgstr "OpenCV не вдалося завантажити зображення шаблону"

msgid "Could not read title information for DVD."
msgstr "Не вдалося прочитати дані щодо записів на DVD."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Не вдалося відкрити пристрій DVD «%s»."

msgid "Failed to set PGC based seeking."
msgstr "Не вдалося позиціювання на основі програмної послідовності."

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 file contains no playable streams."
msgstr "Файл не містить потоків, які можна відтворити."

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

msgid "Could not establish connection to sndio"
msgstr "Не вдалося встановити з’єднання з sndio"

msgid "Failed to query sndio capabilities"
msgstr "Не вдалося виконати опитування щодо можливостей sndio"

msgid "Could not configure sndio"
msgstr "Не вдалося налаштувати sndio"

msgid "Could not start sndio"
msgstr "Не вдалося задіяти sndio"

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""
"Створений файл має більше значення випереджувального просування даних ніж "
"тривалість відтворення збережених у ньому потоків даних"

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr ""
"Відсутній елемент «%s». Перевірте, чи встановлено GStreamer належним чином."

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""
"Значенням розташування файла є NULL. Будь ласка, встановіть чинне значення "
"назви файла."

msgid "Digitalzoom element couldn't be created"
msgstr "Не вдалося створити елемент цифрового масштабування"

msgid "Subpicture format was not configured before data flow"
msgstr "Формат підзображення не було налаштовано до створення потоку даних"

msgid "Failed to get fragment URL."
msgstr "Не вдалося отримати адреси фрагмента."

msgid "Couldn't download fragments"
msgstr "Не вдалося отримати фрагменти"

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

msgid "No file name specified for writing."
msgstr "Не вказано назви файла для запису."

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""
"Вказану назву файла, «%s», не можна перетворити у локальне кодування назв "
"файлів."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Не вдалося відкрити файл «%s» для запису."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Пристрою «%s» не існує."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Не вдалося відкрити пристрій відтворення «%s»."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Не вдалося отримати параметри пристрою відтворення «%s»."

#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr ""
"Не вдалося виконати нумерування систем надання даних для інтерфейсного "
"пристрою «%s»."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Не вдалося відкрити файл «%s» для читання."

#, fuzzy
msgid "Couldn't find channel configuration file"
msgstr "Не вдалося знайти файла налаштувань каналів DVB"

#, fuzzy, c-format
msgid "Couldn't load channel configuration file: '%s'"
msgstr "Не вдалося завантажити файл налаштувань каналів DVB: %s"

#, fuzzy, c-format
msgid "Couldn't find details for channel '%s'"
msgstr "Не вдалося знайти параметрів каналу DVB %s"

#, fuzzy, c-format
msgid "No properties for channel '%s'"
msgstr "Не вдалося знайти параметрів каналу DVB %s"

#, fuzzy, c-format
msgid "Failed to set properties for channel '%s'"
msgstr "Не вдалося знайти параметрів каналу DVB %s"

#, fuzzy, c-format
msgid "Couldn't find channel configuration file: '%s'"
msgstr "Не вдалося знайти файла налаштувань каналів DVB"

#, fuzzy
msgid "Channel configuration file doesn't contain any channels"
msgstr "У файлі налаштувань каналів DVB не міститься даних щодо жодного каналу"

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

#~ msgid "default GStreamer sound events audiosink"
#~ msgstr "типовий приймач звукових подій GStreamer"

#~ msgid ""
#~ "GStreamer can play audio using any number of output elements. Some "
#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
#~ "be a partial pipeline instead of just one element."
#~ msgstr ""
#~ "У GStreamer передбачено можливість відтворення звукових даних за "
#~ "допомогою довільної кількості елементів виведення. Серед можливих "
#~ "варіантів osssink, pulsesink та alsasink. Звуковий приймач може бути "
#~ "окремим каналом, а не одним елементом."

#~ msgid "description for default GStreamer sound events audiosink"
#~ msgstr "опис типового приймача звукових подій GStreamer"

#~ msgid "Describes the selected audiosink element."
#~ msgstr "Описує вибраний елемент audiosink."

#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
#~ msgstr "типовий звуковий приймач GStreamer для звукових та відеоконференцій"

#~ msgid ""
#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
#~ msgstr ""
#~ "опис типового звукового приймача GStreamer для звукових та "
#~ "відеоконференцій"

#~ msgid "default GStreamer audiosink for Music and Movies"
#~ msgstr "типовий звуковий приймач GStreamer для музики і фільмів"

#~ msgid "description for default GStreamer audiosink for Music and Movies"
#~ msgstr "опис типового звукового приймача GStreamer для музики і фільмів"

#~ msgid "default GStreamer videosink"
#~ msgstr "типовий відеоприймач GStreamer"

#~ msgid ""
#~ "GStreamer can play video using any number of output elements. Some "
#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
#~ "The videosink can be a partial pipeline instead of just one element."
#~ msgstr ""
#~ "У GStreamer передбачено відтворення відео за допомогою довільної "
#~ "кількості елементів виведення. Серед можливих варіантів xvimagesink, "
#~ "ximagesink, sdlvideosink та aasink. Приймач відеоданих може бути окремим "
#~ "каналом з декількох обробників, а не просто одним елементом."

#~ msgid "description for default GStreamer videosink"
#~ msgstr "опис типового відеоприймача GStreamer"

#~ msgid "Describes the selected videosink element."
#~ msgstr "Описує вибраний елемент videosink."

#~ msgid "default GStreamer audiosrc"
#~ msgstr "типове джерело звуку GStreamer"

#~ msgid ""
#~ "GStreamer can record audio using any number of input elements. Some "
#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
#~ "be a partial pipeline instead of just one element."
#~ msgstr ""
#~ "У GStreamer передбачено можливість запису звукових даних за допомогою "
#~ "довільної кількості елементів вхідних даних. Серед можливих варіантів "
#~ "osssrc, pulsesrc та alsasrc. Джерелом звукових даних може бути окремий "
#~ "канал з декількох елементів, а не просто один елемент."

#~ msgid "description for default GStreamer audiosrc"
#~ msgstr "опис типового джерела звуку GStreamer"

#~ msgid "Describes the selected audiosrc element."
#~ msgstr "Описує вибраний елемент audiosrc."

#~ msgid "default GStreamer videosrc"
#~ msgstr "типове джерело відео GStreamer"

#~ msgid ""
#~ "GStreamer can record video from any number of input elements. Some "
#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
#~ "can be a partial pipeline instead of just one element."
#~ msgstr ""
#~ "У GStreamer передбачено можливість запису відеоданих за допомогою "
#~ "довільної кількості елементів вхідних даних. Серед можливих варіантів "
#~ "v4lsrc, v4l2src та videotestsrc. Джерелом відеоданих може бути окремий "
#~ "канал з декількох елементів, а не просто один елемент."

#~ msgid "description for default GStreamer videosrc"
#~ msgstr "опис типового джерела відео GStreamer"

#~ msgid "Describes the selected videosrc element."
#~ msgstr "Описує вибраний елемент videosrc."

#~ msgid "default GStreamer visualization"
#~ msgstr "типова візуалізація GStreamer"

#~ msgid ""
#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
#~ "of just one element."
#~ msgstr ""
#~ "У GStreamer передбачено додавання до каналу обробки додатків візуалізації "
#~ "для обробки потоків звукових даних у кадрах відео. Серед можливих "
#~ "варіантів goom, goom2k1 та synaesthesia. Додаток візуалізації може бути "
#~ "окремим каналом, а не просто одним елементом."

#~ msgid "description for default GStreamer visualization"
#~ msgstr "опис типової візуалізації GStreamer"

#~ msgid "Describes the selected visualization element."
#~ msgstr "Описує вибраний елемент візуалізації."

#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Не вдалося отримати адреси Manifest"

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "Спроба запису до файла «%s» завершилася невдало"
