# 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: 2012-09-17 16:41+0100\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"

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

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

msgid "Could not connect to server"
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 occured, or the server closed the connection unexpectedly."
msgstr ""

msgid "Server sent bad data."
msgstr ""

msgid "No URL set."
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 "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 ""
"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 "Internal data flow error."
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 recording. You don't have permission to open "
"the device."
msgstr "无法打开音频设备录音。您无权使用这一设备。"

msgid "Could not open audio device for recording."
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 "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' does not support video capture"
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’无法以指定格式捕获"

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

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

msgid "Video device could not create buffer pool."
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’的信号长度时出错。"

#, 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 "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 "Got unexpected frame size of %u instead of %u."
#~ msgstr "取得了 %u 的不需要的帧大小，而不是 %u。"

#~ 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 "Bass"
#~ msgstr "低音(Bass)"

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

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

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

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

#~ msgid "Line-in"
#~ msgstr "线路输入(Line-in)"

#~ msgid "Microphone"
#~ msgstr "话筒"

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

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

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

#~ msgid "Record"
#~ msgstr "录音"

#~ 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 "广播"

#, fuzzy
#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "无法打开音频设备录音。"

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

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

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

#, fuzzy
#~ msgid "Telephone"
#~ msgstr "头戴式耳机"

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

#, fuzzy
#~ msgid "Video In"
#~ msgstr "视频"

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

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

#, fuzzy
#~ msgid "Record Gain"
#~ msgstr "录音"

#, fuzzy
#~ msgid "Microphone Boost"
#~ msgstr "话筒"

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

#, fuzzy
#~ msgid "Monitor Source"
#~ msgstr "监控器"

#, fuzzy
#~ msgid "Microphone Gain"
#~ msgstr "话筒"

#, fuzzy
#~ msgid "Speaker Source"
#~ msgstr "扬声器(Speaker)"

#, fuzzy
#~ msgid "Microphone Source"
#~ msgstr "话筒"

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

#, fuzzy
#~ msgid "Microphone 1"
#~ msgstr "话筒"

#, fuzzy
#~ msgid "Microphone 2"
#~ msgstr "话筒"

#, fuzzy
#~ msgid "Digital Out"
#~ msgstr "数字线路1"

#, fuzzy
#~ msgid "Digital In"
#~ msgstr "数字线路1"

#, fuzzy
#~ msgid "Front Panel Microphone"
#~ msgstr "话筒"

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

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

#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr "无法对设备‘%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 "此文件已加密，无法播放。"
