# 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-07-06 11:51+0300\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 "Internal data flow error."
msgstr "Внутренняя ошибка передачи данных."

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 "Internal data stream error."
msgstr "Внутренняя ошибка потока данных."

msgid "Couldn't download fragments"
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 DVB channel configuration file"
msgstr "Не удалось найти файл настройки каналов DVB"

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

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

#, fuzzy, c-format
msgid "No properties for the DVB channel %s"
msgstr "Не удалось найти настройки DVB-канала %s"

#, fuzzy, c-format
msgid "Failed to set properties for the DVB channel %s"
msgstr "Не удалось найти настройки DVB-канала %s"

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

msgid "DVB channel configuration file doesn't contain any channels"
msgstr "Файл настройки каналов DVB не содержит каналов"

#~ 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 "Ошибка записи с аудио-устройства."
