# Chinese (simplified) translation about gst-plugins-good.
# This file is put in the public domain.
# Funda Wang <fundawang@linux.net.cn>, 2005.
# Ji ZhengYu <zhengyuji@gmail.com>, 2008, 2009
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.16.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2015-08-19 12:42+0300\n"
"PO-Revision-Date: 2009-11-13 22:20+0800\n"
"Last-Translator: Ji ZhengYu <zhengyuji@gmail.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"

msgid "Jack server not found"
msgstr ""

msgid "Failed to decode JPEG image"
msgstr "解码 JPEG 图像出错"

#. TRANSLATORS: 'song title' by 'artist name'
#, c-format
msgid "'%s' by '%s'"
msgstr "‘%s’ 由 ‘%s’"

msgid "Could not connect to server"
msgstr "无法连接至服务器"

msgid "No URL set."
msgstr ""

#, fuzzy
msgid "Server does not support seeking."
msgstr "设备‘%s’不支持视频捕获"

#, fuzzy
msgid "Could not resolve server name."
msgstr "无法连接至服务器"

#, fuzzy
msgid "Could not establish connection to server."
msgstr "无法建立与音频服务器的连接"

msgid "Secure connection setup failed."
msgstr ""

msgid ""
"A network error occurred, or the server closed the connection unexpectedly."
msgstr ""

msgid "Server sent bad data."
msgstr ""

msgid "Internal data stream error."
msgstr "内部数据流错误。"

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "没有或无效的输入音频，AVI 流将损坏。"

msgid "This file contains no playable streams."
msgstr "此文件不包含可播放的流。"

msgid "This file is invalid and cannot be played."
msgstr "此文件无效，无法播放。"

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr ""

msgid "This file is corrupt and cannot be played."
msgstr "此文件已损坏，无法播放。"

msgid "Invalid atom size."
msgstr ""

msgid "This file is incomplete and cannot be played."
msgstr "此文件不完整且无法播放。"

msgid "The video in this file might not play correctly."
msgstr "此文件中的视频可能无法正确播放。"

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr "此文件包含了太多的流。只播放前面 %d 个"

msgid "Internal data flow error."
msgstr "内部数据流错误。"

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"未找到支持的流媒体。您可能需要安装一个 GStreamer RTSP 扩展插件来播放 Real 媒"
"体流。"

msgid ""
"No supported stream was found. You might need to allow more transport "
"protocols or may otherwise be missing the right GStreamer RTSP extension "
"plugin."
msgstr ""
"未找到支持的流媒体。您可能需要启用更多的传送协议，或者也有可能是缺少正确的 "
"GStreamer RTSP 扩展插件。"

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 "无法打开音频设备播放音频。"

#, fuzzy
msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr "无法打开音频设备播放音频。您无权使用这一设备。"

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

#, fuzzy
msgid "Error recording from audio device."
msgstr "从设备‘%2$s’中读取 %1$d 个字节时出错。"

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr "无法打开音频设备录音。您无权使用这一设备。"

msgid "Could not open audio device for recording."
msgstr "无法打开音频设备录音。"

#, fuzzy
msgid "Record Source"
msgstr "录音"

msgid "Microphone"
msgstr "话筒"

#, fuzzy
msgid "Line In"
msgstr "线路输入(Line-in)"

msgid "Internal CD"
msgstr ""

#, fuzzy
msgid "SPDIF In"
msgstr "SPDIF 输出"

#, fuzzy
msgid "AUX 1 In"
msgstr "AUX 1 输出"

#, fuzzy
msgid "AUX 2 In"
msgstr "AUX 2 输出"

msgid "Codec Loopback"
msgstr ""

msgid "SunVTS Loopback"
msgstr ""

msgid "Volume"
msgstr "音量"

msgid "Gain"
msgstr "增益"

msgid "Monitor"
msgstr "监控器"

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

msgid "Headphone"
msgstr "头戴式耳机"

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

msgid "SPDIF Out"
msgstr "SPDIF 输出"

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

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

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "从设备‘%2$s’中读取 %1$d 个字节时出错。"

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr "枚举设备‘%s’可能支持的视频格式时出错"

#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "无法从设备‘%s’中映射出缓冲区"

#, fuzzy, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr "设备‘%s’的驱动不支持任何已知的捕获方式。"

#, fuzzy, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr "设备‘%s’的驱动不支持任何已知的捕获方式。"

#, c-format
msgid "Device '%s' is busy"
msgstr ""

#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "设备‘%s’不能在 %dx%d 处捕获"

#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "设备‘%s’无法以指定格式捕获"

#, fuzzy, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr "设备‘%s’不支持视频捕获"

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "无法获取设备‘%s’的参数"

#, fuzzy
msgid "Video device did not accept new frame rate setting."
msgstr "视频输入设备不接受新的帧率设置。"

#, fuzzy
msgid "Video device did not provide output format."
msgstr "视频输入设备不接受新的帧率设置。"

msgid "Video device returned invalid dimensions."
msgstr ""

msgid "Video devices uses an unsupported interlacing method."
msgstr ""

msgid "Video devices uses an unsupported pixel format."
msgstr ""

msgid "Failed to configure internal buffer pool."
msgstr ""

#, fuzzy
msgid "Video device did not suggest any buffer size."
msgstr "视频输入设备不接受新的帧率设置。"

msgid "No downstream pool to import from."
msgstr ""

#, fuzzy, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr "获取设备 %2$s 上的微调钮 %1$d 的设置时出错"

#, fuzzy, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "从设备‘%2$s’中读取 %1$d 个字节时出错。"

#, fuzzy, c-format
msgid "Device '%s' is not a tuner."
msgstr "‘%s’不是输出设备。"

#, fuzzy, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "设置设备 %2$s 上的输入 %1$d 时出错。"

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "设置设备 %2$s 上的输入 %1$d 时出错。"

#, fuzzy, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "获取设备‘%s’的信号长度时出错。"

msgid "Failed to allocated required memory."
msgstr ""

msgid "Failed to allocate required memory."
msgstr ""

#, fuzzy, c-format
msgid "Converter on device %s has no supported input format"
msgstr "设备‘%s’的驱动不支持任何已知的捕获方式。"

#, c-format
msgid "Converter on device %s has no supported output format"
msgstr ""

#, c-format
msgid "Encoder on device %s has no supported input format"
msgstr ""

#, c-format
msgid "Encoder on device %s has no supported output format"
msgstr ""

#, fuzzy
msgid "Failed to start decoding thread."
msgstr "解码 JPEG 图像出错"

msgid "Failed to process frame."
msgstr ""

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr "获取设备‘%s’的信息时出错:它不是一个 v4l2 驱动器，请检查是否为 v4l1。"

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr "查寻设备 %2$s 中的输入 %1$d 的属性时出错"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr "获取设备 %2$s 上的微调钮 %1$d 的设置时出错"

#, fuzzy, c-format
msgid "Failed to query norm on device '%s'."
msgstr "查寻设备 ‘%s’上的基准时出错。"

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr "获取设备‘%s’上的控制属性时出错。"

#, c-format
msgid "Cannot identify device '%s'."
msgstr "无法确认设备‘%s’。"

#, c-format
msgid "This isn't a device '%s'."
msgstr "不是设备‘%s’。"

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "无法打开设备‘%s’读写。"

#, c-format
msgid "Device '%s' is not a capture device."
msgstr "‘%s’不是一个捕获设备。"

#, c-format
msgid "Device '%s' is not a output device."
msgstr "‘%s’不是输出设备。"

#, fuzzy, c-format
msgid "Device '%s' is not a M2M device."
msgstr "‘%s’不是输出设备。"

#, fuzzy, c-format
msgid "Could not dup device '%s' for reading and writing."
msgstr "无法打开设备‘%s’读写。"

#, fuzzy, c-format
msgid "Failed to set norm for device '%s'."
msgstr "设置设备‘%s’的基准时出错。"

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr "获取设备‘%s’的当前微调钮频率时出错。"

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr "设置设备‘%s’的当前微调钮频率为 %lu Hz 时出错。"

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "获取设备‘%s’的信号长度时出错。"

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "获取设备‘%2$s’的控制器 %1$d 的值出错。"

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr "设置设备‘%3$s’的控制器 %2$d 的值为 %1$d 时出错。"

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr "获取设备‘%s’上的当前输入出错。也许它是一个广播设备"

#, fuzzy, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr "获取设备‘%s’上的当前输入出错。也许它是一个广播设备"

#, fuzzy, c-format
msgid "Failed to set output %d on device %s."
msgstr "设置设备 %2$s 上的输入 %1$d 时出错。"

msgid "Changing resolution at runtime is not yet supported."
msgstr "尚不支持在运行时更改分辨率。"

msgid "Cannot operate without a clock"
msgstr "没有时钟的话无法操作"

#~ msgid "Failed to query sound server capabilities"
#~ msgstr "查寻音频服务器的服务失败"

#~ msgid "Bass"
#~ msgstr "低音(Bass)"

#~ msgid "Treble"
#~ msgstr "高音(Treble)"

#~ msgid "Synth"
#~ msgstr "合成器"

#~ msgid "PCM"
#~ msgstr "波形(PCM)"

#~ msgid "Speaker"
#~ msgstr "扬声器(Speaker)"

#~ msgid "CD"
#~ msgstr "CD 音频"

#~ msgid "Mixer"
#~ msgstr "混音器"

#~ msgid "PCM-2"
#~ msgstr "PCM-2"

#~ msgid "In-gain"
#~ msgstr "输入增益"

#~ msgid "Out-gain"
#~ msgstr "输出增益"

#~ msgid "Line-1"
#~ msgstr "线路1"

#~ msgid "Line-2"
#~ msgstr "线路2"

#~ msgid "Line-3"
#~ msgstr "线路3"

#~ msgid "Digital-1"
#~ msgstr "数字线路1"

#~ msgid "Digital-2"
#~ msgstr "数字线路2"

#~ msgid "Digital-3"
#~ msgstr "数字线路3"

#~ msgid "Phone-in"
#~ msgstr "话筒输入"

#~ msgid "Phone-out"
#~ msgstr "话筒输出"

#~ msgid "Video"
#~ msgstr "视频"

#~ msgid "Radio"
#~ msgstr "广播"

#~ msgid "Got unexpected frame size of %u instead of %u."
#~ msgstr "取得了 %u 的不需要的帧大小，而不是 %u。"

#~ msgid "Error reading %d bytes on device '%s'."
#~ msgstr "读取设备‘%2$s’中的 %1$d 字节时出错。"

#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr "无法对设备‘%s’中的缓冲区进行排序。"

#~ msgid "Failed trying to get video frames from device '%s'."
#~ msgstr "从设备‘%s’上获取视频的尝试失败了。"

#~ msgid "Failed after %d tries. device %s. system error: %s"
#~ msgstr "在 %d 次尝试后失败。设备 %s。系统错误: %s"

#~ msgid ""
#~ "The buffer type is not supported, or the index is out of bounds, or no "
#~ "buffers have been allocated yet, or the userptr or length are invalid. "
#~ "device %s"
#~ msgstr ""
#~ "不支持的缓冲区类型，或者索引超出范围了，或是还未分配缓冲区，或非法的用户指"
#~ "针或长度。设备 %s"

#~ msgid ""
#~ "Failed trying to get video frames from device '%s'. Not enough memory."
#~ msgstr "从设备‘%s’上获取视频的尝试失败了。没有足够的内存。"

#~ msgid "insufficient memory to enqueue a user pointer buffer. device %s."
#~ msgstr "内存不足无法对用户指针缓冲区进行排序。设备 %s。"

#~ msgid "No free buffers found in the pool at index %d."
#~ msgstr "在内存池中 %d 处没有可分配的缓冲区。"

#~ msgid "Could not get buffers from device '%s'."
#~ msgstr "无法从设备‘%s’中获取缓冲区。"

#~ msgid "Could not get enough buffers from device '%s'."
#~ msgstr "无法从设备‘%s’中获取足够的缓冲区。"

#~ msgid "Error starting streaming capture from device '%s'."
#~ msgstr "从设备‘%s’中启用流捕获时出错。"

#~ msgid "Error stopping streaming capture from device '%s'."
#~ msgstr "从设备‘%s’中停止流捕获时出错。"

#~ msgid "Failed getting controls attributes on device '%s.'"
#~ msgstr "获取设备‘%s’上的控制属性时出错。"

#~ msgid "Could not read from CD."
#~ msgstr "无法从 CD 中读取。"

#~ msgid "Disc is not an Audio CD."
#~ msgstr "非音频 CD 盘。"

#~ msgid "This file is encrypted and cannot be played."
#~ msgstr "此文件已加密，无法播放。"
