# 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-03-24 11:27+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 "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 "Internal data flow error."
msgstr "内部数据流错误。"

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

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