# Translation for gst-plugins-bad messages to Russian
# This file is put in the public domain.
#
# Артём Попов <artfwo@gmail.com>, 2009.
# Pavel Maryanov <acid_jack@ukr.net>, 2009.
# Yuri Kozlov <yuray@komyakino.ru>, 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-18 13:40+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@d07.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.5\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"

msgid "failed to draw pattern"
msgstr ""

msgid "A GL error occured"
msgstr ""

msgid "format wasn't negotiated before get function"
msgstr "перед функцией получения не был согласован формат"

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 "Не удалось включить PGC-позиционирование."

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 ""
"В сгенерированном файле время предпуска (preroll) больше чем длительность "
"его потоков"

#, 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 "Невозможно создать элемент Digitalzoom"

msgid "Subpicture format was not configured before data flow"
msgstr "Не настроен формат субграфики (subpicture) до потока данных"

msgid "Failed to get fragment URL."
msgstr "Ошибка при получении URL фрагмента."

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 audiosink по умолчанию для звуковых событий"

#~ 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. Audiosink "
#~ "может быть конвейером, а не одиночным элементом."

#~ msgid "description for default GStreamer sound events audiosink"
#~ msgstr "описание GStreamer audiosink по умолчанию для звуковых событий"

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

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

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

#~ msgid "default GStreamer audiosink for Music and Movies"
#~ msgstr "GStreamer audiosink по умолчанию для музыки и фильмов"

#~ msgid "description for default GStreamer audiosink for Music and Movies"
#~ msgstr "описание GStreamer audiosink по умолчанию для музыки и фильмов"

#~ msgid "default GStreamer videosink"
#~ msgstr "GStreamer videosink по умолчанию"

#~ 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. "
#~ "Videosink может быть конвейером, а не одиночным элементом."

#~ msgid "description for default GStreamer videosink"
#~ msgstr "описание GStreamer videosink по умолчанию"

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

#~ msgid "default GStreamer audiosrc"
#~ msgstr "GStreamer audiosrc по умолчанию"

#~ 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 audiosrc по умолчанию"

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

#~ msgid "default GStreamer videosrc"
#~ msgstr "GStreamer videosrc по умолчанию"

#~ 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 videosrc по умолчанию"

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

#~ msgid "default GStreamer visualization"
#~ msgstr "GStreamer visualization по умолчанию"

#~ 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 visualization по умолчанию"

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

#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Не удалось получить URI манифеста"

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "Не удалось осуществить запись в файл «%s»."

#~ msgid "Internal clock error."
#~ msgstr "Внутренняя ошибка синхронизации."

#~ msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
#~ msgstr ""
#~ "Не удалось настроить кодировщик TwoLAME. Проверьте параметры сжатия."

#~ 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 "Could not open audio device for mixer control handling."
#~ msgstr ""
#~ "Не удалось открыть аудио-устройство для обработки параметров микшера."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Не удалось открыть аудио-устройство для обработки параметров микшера. "
#~ "Данная версия Open Sound System не поддерживается этим элементом."

#~ msgid "Fast"
#~ msgstr "Скорость"

#~ msgid "Low"
#~ msgstr "Низкое"

#~ msgid "Medium"
#~ msgstr "Среднее"

#~ msgid "High"
#~ msgstr "Высокое"

#~ msgid "Very high"
#~ msgstr "Очень высокое"

#~ msgid "Production"
#~ msgstr "Продукция"

#~ msgid "Off"
#~ msgstr "Выкл"

#~ msgid "On"
#~ msgstr "Вкл"

#~ msgid "Stereo"
#~ msgstr "Стерео"

#~ msgid "Surround sound"
#~ msgstr "Объёмный звук"

#~ msgid "Input mix"
#~ msgstr "Уровень входа"

#~ msgid "Front"
#~ msgstr "Фронт"

#~ msgid "Rear"
#~ msgstr "Тыл"

#~ msgid "Side"
#~ msgstr "Боковые"

#~ msgid "Center / LFE"
#~ msgstr "Центр / Сабвуфер"

#~ msgid "Microphone"
#~ msgstr "Микрофон"

#~ msgid "Front panel microphone"
#~ msgstr "Фронтальный микрофон"

#~ msgid "Input"
#~ msgstr "Вход"

#~ msgid "Line-in"
#~ msgstr "Линейный вход"

#~ msgid "PCM 1"
#~ msgstr "PCM 1"

#~ msgid "PCM 2"
#~ msgstr "PCM 2"

#~ msgid "PCM 3"
#~ msgstr "PCM 3"

#~ msgid "PCM 4"
#~ msgstr "PCM 4"

#~ msgid "Green connector"
#~ msgstr "Зелёный разъём"

#~ msgid "Green front panel connector"
#~ msgstr "Фронтальный зелёный разъём"

#~ msgid "Pink connector"
#~ msgstr "Розовый разъём"

#~ msgid "Pink front panel connector"
#~ msgstr "Фронтальный розовый разъём"

#~ msgid "Blue connector"
#~ msgstr "Синий разъём"

#~ msgid "Blue front panel connector"
#~ msgstr "Фронтальный синий разъём"

#~ msgid "Orange connector"
#~ msgstr "Оранжевый разъём"

#~ msgid "Orange front panel connector"
#~ msgstr "Фронтальный оранжевый разъём"

#~ msgid "Black connector"
#~ msgstr "Чёрный разъём"

#~ msgid "Black front panel connector"
#~ msgstr "Фронтальный чёрный разъём"

#~ msgid "Gray connector"
#~ msgstr "Серый разъём"

#~ msgid "Gray front panel connector"
#~ msgstr "Фронтальный серый разъём"

#~ msgid "White connector"
#~ msgstr "Белый разъём"

#~ msgid "White front panel connector"
#~ msgstr "Фронтальный белый разъём"

#~ msgid "Red connector"
#~ msgstr "Красный разъём"

#~ msgid "Red front panel connector"
#~ msgstr "Фронтальный красный разъём"

#~ msgid "Yellow connector"
#~ msgstr "Жёлтый разъём"

#~ msgid "Yellow front panel connector"
#~ msgstr "Фронтальный жёлтый разъём"

#~ msgid "Green connector function"
#~ msgstr "Функция зелёного разъёма"

#~ msgid "Green front panel connector function"
#~ msgstr "Функция фронтального зелёного разъёма"

#~ msgid "Pink connector function"
#~ msgstr "Функция розового разъёма"

#~ msgid "Pink front panel connector function"
#~ msgstr "Функция фронтального розового разъёма"

#~ msgid "Blue connector function"
#~ msgstr "Функция синего разъёма"

#~ msgid "Blue front panel connector function"
#~ msgstr "Функция фронтального синего разъёма"

#~ msgid "Orange connector function"
#~ msgstr "Функция оранжевого разъёма"

#~ msgid "Orange front panel connector function"
#~ msgstr "Функция фронтального оранжевого разъёма"

#~ msgid "Black connector function"
#~ msgstr "Функция чёрного разъёма"

#~ msgid "Black front panel connector function"
#~ msgstr "Функция фронтального чёрного разъёма"

#~ msgid "Gray connector function"
#~ msgstr "Функция серого разъёма"

#~ msgid "Gray front panel connector function"
#~ msgstr "Функция фронтального серого разъёма"

#~ msgid "White connector function"
#~ msgstr "Функция белого разъёма"

#~ msgid "White front panel connector function"
#~ msgstr "Функция фронтального белого разъёма"

#~ msgid "Red connector function"
#~ msgstr "Функция красного разъёма"

#~ msgid "Red front panel connector function"
#~ msgstr "Функция фронтального красного разъёма"

#~ msgid "Yellow connector function"
#~ msgstr "Функция жёлтого разъёма"

#~ msgid "Yellow front panel connector function"
#~ msgstr "Функция фронтального жёлтого разъёма"

#~ msgid "Front panel line-in"
#~ msgstr "Фронтальный линейный вход"

#~ msgid "Headphones"
#~ msgstr "Наушники"

#~ msgid "Front panel headphones"
#~ msgstr "Фронтальные наушники"

#~ msgid "PCM"
#~ msgstr "PCM"

#~ msgid "Virtual mixer input"
#~ msgstr "Виртуальный вход микшера"

#~ msgid "Virtual mixer output"
#~ msgstr "Виртуальный выход микшера"

#~ msgid ""
#~ "Could not open audio device for playback. Device is being used by another "
#~ "application."
#~ msgstr ""
#~ "Не удалось открыть аудио-устройство для воспроизведения. Устройство "
#~ "используется другим приложением."

#~ msgid ""
#~ "Could not open audio device for playback. You don't have permission to "
#~ "open the device."
#~ msgstr ""
#~ "Не удалось открыть аудио-устройство для воспроизведения. Отсутствуют "
#~ "права доступа к устройству."

#~ msgid "Could not open audio device for playback."
#~ msgstr "Не удалось открыть аудио-устройство для воспроизведения."

#~ msgid ""
#~ "Could not open audio device for playback. This version of the Open Sound "
#~ "System is not supported by this element."
#~ msgstr ""
#~ "Не удалось открыть аудио-устройство для воспроизведения. Данная версия "
#~ "Open Sound System не поддерживается этим элементом."

#~ msgid "Playback is not supported by this audio device."
#~ msgstr "Воспроизведение не поддерживается данным аудио-устройством."

#~ msgid "Audio playback error."
#~ msgstr "Ошибка воспроизведения аудио."

#~ msgid "Recording is not supported by this audio device."
#~ msgstr "Запись не поддерживается данным аудио-устройством."

#~ msgid "Error recording from audio device."
#~ msgstr "Ошибка записи с аудио-устройства."
