# Chinese (simplified) translation for gst-plugins-bad.
# Copyright (C) 2007 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-bad package.
# Wenzheng Hu <db_lobster@163.com>, 2007.
# LI Daobing <lidaobing@gmail.com>, 2008.
# Ji ZhengYu <zhengyuji@gmail.com>, 2008, 2009.
# Tianze Wang <zwpwjwtz@126.com>, 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-16 19:27+0800\n"
"Last-Translator: Tianze Wang <zwpwjwtz@126.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.5\n"

msgid "failed to draw pattern"
msgstr ""

msgid "A GL error occured"
msgstr ""

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 "无法设置基于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已加密，且没有安装解密所需的库。"

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 "无法建立到snido的连接。"

msgid "Failed to query sndio capabilities"
msgstr "无法获得有关snido的信息"

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 "无法创建Digitalzoom组件"

msgid "Subpicture format was not configured before data flow"
msgstr "子画面格式未在数据流前配置"

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声音事件的音频汇"

#~ 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 "描述选定的音频汇组件"

#~ 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 "描述选定的视频汇组件"

#~ 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 "描述选定的音频源组件"

#~ 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 "描述选定的视频源组件"

#~ 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 clock error."
#~ msgstr "内部时钟错误。"

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "无法写入文件“%s”。"

#~ 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 ""
#~ "无法打开音频设备进行音量控制操作。此部件不支持开放声音系统(OSS)的版本。"

#~ msgid "Volume"
#~ msgstr "音量"

#~ msgid "Master"
#~ msgstr "主声道"

#~ msgid "Front"
#~ msgstr "前置声道"

#~ msgid "Rear"
#~ msgstr "后置声道"

#~ msgid "Headphones"
#~ msgstr "头戴式耳机"

#~ msgid "Center"
#~ msgstr "中置"

#~ msgid "LFE"
#~ msgstr "低音炮"

#~ msgid "Surround"
#~ msgstr "立体声环绕"

#~ msgid "Side"
#~ msgstr "左右声道"

#~ msgid "Built-in Speaker"
#~ msgstr "内建扬声器"

#~ msgid "AUX 1 Out"
#~ msgstr "AUX 1 输出"

#~ msgid "AUX 2 Out"
#~ msgstr "AUX 2 输出"

#~ msgid "AUX Out"
#~ msgstr "AUX 输出"

#~ msgid "Bass"
#~ msgstr "Bass"

#~ msgid "Treble"
#~ msgstr "Treble"

#~ msgid "3D Depth"
#~ msgstr "3D Depth"

#~ msgid "3D Center"
#~ msgstr "3D Center"

#~ msgid "3D Enhance"
#~ msgstr "3D Enhance"

#~ msgid "Telephone"
#~ msgstr "话筒"

#~ msgid "Microphone"
#~ msgstr "麦克风"

#~ msgid "Line Out"
#~ msgstr "线路输出"

#~ msgid "Line In"
#~ msgstr "线路输入"

#~ msgid "Internal CD"
#~ msgstr "内部 CD 音频"

#~ msgid "Video In"
#~ msgstr "视频输入"

#~ msgid "AUX 1 In"
#~ msgstr "AUX 1 输入"

#~ msgid "AUX 2 In"
#~ msgstr "AUX 2 输入"

#~ msgid "AUX In"
#~ msgstr "AUX 输入"

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

#~ msgid "Record Gain"
#~ msgstr "录音增益"

#~ msgid "Output Gain"
#~ msgstr "输出增益"

#~ msgid "Microphone Boost"
#~ msgstr "麦克风增益"

#~ msgid "Loopback"
#~ msgstr "Loopback"

#, fuzzy
#~ msgid "Diagnostic"
#~ msgstr "采样分析"

#~ msgid "Bass Boost"
#~ msgstr "Bass 增益"

#~ msgid "Playback Ports"
#~ msgstr "回放端口"

#~ msgid "Input"
#~ msgstr "输入"

#~ msgid "Record Source"
#~ msgstr "录音来源"

#~ msgid "Monitor Source"
#~ msgstr "监视器来源"

#~ msgid "Keyboard Beep"
#~ msgstr "按键声音"

#~ msgid "Monitor"
#~ msgstr "监视器"

#~ msgid "Simulate Stereo"
#~ msgstr "模拟立体声"

#~ msgid "Stereo"
#~ msgstr "立体声"

#~ msgid "Surround Sound"
#~ msgstr "立体声环绕"

#~ msgid "Microphone Gain"
#~ msgstr "麦克风增益"

#~ msgid "Speaker Source"
#~ msgstr "扬声器音源"

#~ msgid "Microphone Source"
#~ msgstr "麦克风音源"

#~ msgid "Jack"
#~ msgstr "Jack"

#~ msgid "Center / LFE"
#~ msgstr "中置/低音炮"

#~ msgid "Stereo Mix"
#~ msgstr "立体声"

#~ msgid "Mono Mix"
#~ msgstr "单声道"

#~ msgid "Input Mix"
#~ msgstr "混音输入"

#~ msgid "SPDIF In"
#~ msgstr "SPDIF 输入"

#~ msgid "SPDIF Out"
#~ msgstr "SPDIF 输出"

#~ msgid "Microphone 1"
#~ msgstr "麦克风 1"

#~ msgid "Microphone 2"
#~ msgstr "麦克风 2"

#~ msgid "Digital Out"
#~ msgstr "数字输出"

#~ msgid "Digital In"
#~ msgstr "数字输入"

#~ msgid "HDMI"
#~ msgstr "HDMI(高清)"

#~ msgid "Modem"
#~ msgstr "Modem"

#~ msgid "Handset"
#~ msgstr "手持设备"

#~ msgid "Other"
#~ msgstr "其它设备"

#~ msgid "None"
#~ msgstr "无"

#~ msgid "On"
#~ msgstr "开"

#~ msgid "Off"
#~ msgstr "关"

#~ msgid "Mute"
#~ msgstr "静音"

#~ msgid "Fast"
#~ msgstr "快"

#~ msgid "Very Low"
#~ msgstr "很慢"

#~ msgid "Low"
#~ msgstr "慢"

#~ msgid "Medium"
#~ msgstr "中等"

#~ msgid "High"
#~ msgstr "高"

#~ msgid "Very High"
#~ msgstr "很高"

#~ msgid "Production"
#~ msgstr "生产商"

#~ msgid "Front Panel Microphone"
#~ msgstr "麦克风面板"

#~ msgid "Front Panel Line In"
#~ msgstr "线路输入面板"

#~ msgid "Front Panel Headphones"
#~ msgstr "头戴式耳机面板"

#~ msgid "Front Panel Line Out"
#~ msgstr "线路输出面板"

#, fuzzy
#~ msgid "Green Connector"
#~ msgstr "线路输出"

#, fuzzy
#~ msgid "Pink Connector"
#~ msgstr "话筒输出"

#, fuzzy
#~ msgid "Blue Connector"
#~ msgstr "立体声输入"

#, fuzzy
#~ msgid "White Connector"
#~ msgstr "左/单声道"

#, fuzzy
#~ msgid "Black Connector"
#~ msgstr "后置声道输出"

#, fuzzy
#~ msgid "Gray Connector"
#~ msgstr "中置声道输出"

#, fuzzy
#~ msgid "Orange Connector"
#~ msgstr "低音炮输出"

#, fuzzy
#~ msgid "Red Connector"
#~ msgstr "右声道"

#, fuzzy
#~ msgid "Yellow Connector"
#~ msgstr "Midi 输出/游戏摇杆"

#, fuzzy
#~ msgid "Green Front Panel Connector"
#~ msgstr "线路输出面板"

#, fuzzy
#~ msgid "Pink Front Panel Connector"
#~ msgstr "话筒输出面板"

#, fuzzy
#~ msgid "Blue Front Panel Connector"
#~ msgstr "立体声输入面板"

#, fuzzy
#~ msgid "White Front Panel Connector"
#~ msgstr "左/单声道面板"

#, fuzzy
#~ msgid "Black Front Panel Connector"
#~ msgstr "后置声道输出面板"

#, fuzzy
#~ msgid "Gray Front Panel Connector"
#~ msgstr "中置声道输出面板"

#, fuzzy
#~ msgid "Orange Front Panel Connector"
#~ msgstr "低音炮输出面板"

#, fuzzy
#~ msgid "Red Front Panel Connector"
#~ msgstr "右声道面板"

#, fuzzy
#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Midi 输出/游戏摇杆面板"

#~ msgid "Spread Output"
#~ msgstr "Spread 输出"

#~ msgid "Downmix"
#~ msgstr "Downmix"

#~ msgid "Virtual Mixer Input"
#~ msgstr "模拟混音输入"

#, fuzzy
#~ msgid "Virtual Mixer Output"
#~ msgstr "模拟混音输出"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "模拟混音输入"

#~ msgid "%s Function"
#~ msgstr "%s 功能"

#~ msgid "%s %d"
#~ msgstr "%s %d"

#~ 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 "无法打开音频设备播放音频。此组件不支持开放声音系统(OSS)版本。"

#~ 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 "从音频设备录音时发生错误。"

#~ 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 "不允许使用“%2$s”所请求的码率 %1$d kbit/s。码率改为 %3$d kbit/s。"

#~ 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 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 "右声道输出音效面板"

#, fuzzy
#~ msgid "Yellow connector function"
#~ msgstr "MIDI 输出音效"

#, fuzzy
#~ msgid "Yellow front panel connector function"
#~ msgstr "MIDI 输出音效面板"

#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "无法获取manifest的URI"
