# 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.10.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2017-05-04 15:09+0300\n"
"PO-Revision-Date: 2016-11-02 13:41+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-Bugs: Report translation errors to the Language-Team address.\n"
"X-Generator: Poedit 1.8.9\n"

msgid "failed to draw pattern"
msgstr "无法绘制图案"

msgid "A GL error occured"
msgstr "发生了  GL 错误"

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 "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 "内部数据流错误。"

#, 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 "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 "No file name specified for writing."
#~ msgstr "未指定写入文件名。"

#~ msgid ""
#~ "Given file name \"%s\" can't be converted to local file name encoding."
#~ msgstr "给定的文件名“%s”无法被转换为本地文件名编码。"

#~ msgid "Could not open file \"%s\" for writing."
#~ msgstr "无法以写方式打开文件“%s”。"

#~ 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 data flow error."
#~ 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"
