# Chinese (Hong Kong) 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: 2016-11-29 15:32+0200\n"
"PO-Revision-Date: 2006-08-29 01:08+0800\n"
"Last-Translator: Abel Cheung <abelcheung@gmail.com>\n"
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
"Language: zh_HK\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 "Corrupted HTTP response."
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 occurred, or the server closed the connection unexpectedly."
msgstr ""

msgid "Server sent bad data."
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 ""

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 "CoreAudio device not found"
msgstr ""

msgid "CoreAudio device could not be opened"
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' 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 "Device '%s' does support non-contiguous planes"
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 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 ""

msgid "Video device did not suggest any buffer size."
msgstr ""

msgid "No downstream pool to import from."
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 ""

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

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

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

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

msgid "Failed to start decoding thread."
msgstr ""

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

#, 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 "Cannot identify 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 "Device '%s' is not a M2M device."
msgstr ""

#, fuzzy, c-format
msgid "Could not dup device '%s' for reading and writing."
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 "Internal data stream error."
#~ msgstr "內部資料串流發生錯誤。"

#, fuzzy
#~ msgid "Internal data flow error."
#~ 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 功能"
