# Chinese (traditional) translation of gst-plugins-good-0.10.2.
# This file is put in the public domain.
# Abel Cheung <abelcheung@gmail.com>, 2006.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-04-18 12:47+0200\n"
"PO-Revision-Date: 2006-08-29 01:08+0800\n"
"Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\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 ""

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

msgid "Could not connect to server"
msgstr ""

msgid "No URL set."
msgstr ""

msgid "Server does not support seeking."
msgstr ""

msgid "Could not resolve server name."
msgstr ""

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

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""

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

#, fuzzy
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 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 ""
"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 ""

msgid "Record Source"
msgstr "录音来源"

#, fuzzy
msgid "Microphone"
msgstr "麦克风 1"

msgid "Line In"
msgstr "线路输入"

msgid "Internal CD"
msgstr "内部 CD 音频"

msgid "SPDIF In"
msgstr "SPDIF 输入"

msgid "AUX 1 In"
msgstr "AUX 1 输入"

msgid "AUX 2 In"
msgstr "AUX 2 输入"

#, fuzzy
msgid "Codec Loopback"
msgstr "Loopback"

#, fuzzy
msgid "SunVTS Loopback"
msgstr "Loopback"

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

msgid "AUX 1 Out"
msgstr ""

msgid "AUX 2 Out"
msgstr ""

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr ""

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""

#, c-format
msgid "Could not map buffers from device '%s'"
msgstr ""

#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr ""

#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""

#, c-format
msgid "Device '%s' does not support video capture"
msgstr ""

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

#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr ""

#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr ""

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr ""

msgid "Video device did not accept new frame rate setting."
msgstr ""

msgid "Video device could not create buffer pool."
msgstr ""

#, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr ""

#, c-format
msgid "Error getting capabilities for device '%s'."
msgstr ""

#, c-format
msgid "Device '%s' is not a tuner."
msgstr ""

#, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr ""

#, c-format
msgid "Failed to set input %d on device %s."
msgstr ""

#, c-format
msgid "Failed to change mute state for device '%s'."
msgstr ""

#, c-format
msgid "Cannot identify device '%s'."
msgstr ""

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr ""

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr ""

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr ""

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr ""

#, c-format
msgid "This isn't a device '%s'."
msgstr ""

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr ""

#, c-format
msgid "Device '%s' is not a capture device."
msgstr ""

#, c-format
msgid "Device '%s' is not a output device."
msgstr ""

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr ""

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr ""

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr ""

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr ""

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr ""

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""

#, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""

#, c-format
msgid "Failed to set output %d on device %s."
msgstr ""

msgid "Changing resolution at runtime is not yet supported."
msgstr ""

msgid "Cannot operate without a clock"
msgstr ""

#~ 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 "Master"
#~ msgstr "主声道"

#~ msgid "Front"
#~ msgstr "前置声道"

#~ msgid "Rear"
#~ msgstr "后置声道"

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

#~ msgid "Center"
#~ msgstr "中置"

#~ msgid "LFE"
#~ msgstr "低音炮"

#~ msgid "Surround"
#~ msgstr "立体声环绕"

#~ msgid "Side"
#~ msgstr "左右声道"

#~ msgid "AUX Out"
#~ msgstr "AUX 输出"

#~ msgid "3D Depth"
#~ msgstr "3D Depth"

#~ msgid "3D Center"
#~ msgstr "3D Center"

#~ msgid "3D Enhance"
#~ msgstr "3D Enhance"

#~ msgid "Telephone"
#~ msgstr "话筒"

#~ msgid "Video In"
#~ msgstr "视频输入"

#~ msgid "AUX In"
#~ msgstr "AUX 输入"

#~ msgid "Record Gain"
#~ msgstr "录音增益"

#~ msgid "Output Gain"
#~ msgstr "输出增益"

#~ msgid "Microphone Boost"
#~ msgstr "麦克风增益"

#, fuzzy
#~ msgid "Diagnostic"
#~ msgstr "采样分析"

#~ msgid "Bass Boost"
#~ msgstr "Bass 增益"

#~ msgid "Playback Ports"
#~ msgstr "回放端口"

#~ msgid "Input"
#~ msgstr "输入"

#~ msgid "Monitor Source"
#~ msgstr "监视器来源"

#~ msgid "Keyboard Beep"
#~ 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 "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 "模拟混音输入"

#, fuzzy
#~ msgid "%s %d Function"
#~ msgstr "%s 功能"

#~ msgid "%s Function"
#~ msgstr "%s 功能"
