# 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: 2013-08-28 15:03+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 "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 "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 "广播"

#~ 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 "此文件已加密，无法播放。"
