# 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.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.4.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-12-18 12:07+0100\n"
"PO-Revision-Date: 2014-09-06 10:56+0400\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.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 "Internal data stream error."
msgstr "Внутренняя ошибка потока данных."

msgid "format wasn't negotiated before get function"
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 instea of just one element."
msgstr ""
"GStreamer может воспроизводить аудио через любой выходной элемент. Некоторые "
"варианты: osssink, pulsesink и alsasink. Аudiosink может быть конвейером, а "
"не одиночным элементом."

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 "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 "Couldn't get the Manifest's URI"
msgstr "Не удалось получить URI манифеста"

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

msgid "Couldn't download fragments"
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 "Subpicture format was not configured before data flow"
msgstr "Не настроен формат субграфики (subpicture) до потока данных"

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"

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

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

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