# 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, 2016.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.10.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-11-17 15:03+0200\n"
"PO-Revision-Date: 2016-11-01 20:55+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"
"X-Bugs: Report translation errors to the Language-Team address.\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 "Сталася помилка GL"

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» для читання."

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

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

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

#, c-format
msgid "No properties for channel '%s'"
msgstr "Немає властивостей каналу «%s»"

#, c-format
msgid "Failed to set properties for channel '%s'"
msgstr "Не вдалося встановити властивості каналу «%s»"

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

msgid "Channel configuration file doesn't contain any channels"
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 "Internal data flow error."
#~ msgstr "Помилка внутрішнього перенесення даних."

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

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