# 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, 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-29 15:49+0200\n"
"PO-Revision-Date: 2016-11-02 21:21+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-Bugs: Report translation errors to the Language-Team address.\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 "Произошла ошибка GL"

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»."

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 "Не удалось найти файл настройки каналов: «%s»"

msgid "Channel configuration file doesn't contain any channels"
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 "Internal data flow error."
#~ msgstr "Внутренняя ошибка передачи данных."

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