# Japanese translation for gst-plugins-good.
# This file is put in the public domain.
#
# Takao Fujiwara <takao.fujiwara@sun.com>, 2006.
# Makoto Kato <makoto.kt@gmail.com>, 2009-2011.
# Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>, 2011-2012
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-11-06 12:30+0100\n"
"PO-Revision-Date: 2012-12-22 20:13+0900\n"
"Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
"Plural-Forms: nplurals=1; plural=0;\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 "URLが指定されていません。"

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 "内部データストリームエラー"

# SUN REVIEWED
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 ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"サポートしているストリームが見つかりません。Real メディアストリームのための"
"GStreamer RTSP 拡張プラグインをインストールする必要があるかもしれません。"

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 ""
"再生用にオーディオデバイスを開くことができませんでした。デバイスを開くための"
"権限がありません。"

# SUN REVIEWED
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 ""
"再生用にオーディオデバイスを開くことができませんでした。このバージョンの "
"Open Sound System は、このエレメントによってサポートされていません。"

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 ""
"録音用にオーディオデバイスを開くことができませんでした。デバイスを開くための"
"権限がありません。"

# SUN REVIEWED
msgid "Could not open audio device for recording."
msgstr "音声デバイスを録音用に開くことができません。"

msgid "Record Source"
msgstr "録音ソース"

# SUN REVIEWED
msgid "Microphone"
msgstr "マイクロフォン"

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 "ループバック"

#, fuzzy
msgid "SunVTS Loopback"
msgstr "ループバック"

# SUN REVIEWED
msgid "Volume"
msgstr "音量"

# SUN REVIEWED
msgid "Gain"
msgstr "ゲイン"

# SUN REVIEWED
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' からバッファをマップできません。"

#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr "デバイス '%s' のドライバはIOメソッド%dをサポートしていません"

#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""
"デバイス '%s' のドライバは知られているいかなるIOメソッドもサポートしていませ"
"ん。"

#, c-format
msgid "Device '%s' does not support video capture"
msgstr "デバイス '%s' はビデオキャプチャをサポートしていません"

#, c-format
msgid "Device '%s' is busy"
msgstr "デバイス`%s'はビジー状態です"

#, 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' はビデオキャプチャをサポートしていません"

# SUN REVIEWED
#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "デバイス '%s' 上のパラメータを取得できません。"

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

#, fuzzy
msgid "Video devices uses an unsupported interlacing method."
msgstr "デバイス '%s' のドライバはIOメソッド%dをサポートしていません"

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

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

#, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr "デバイス '%2$s' 上のチューナー %1$d の設定の取得に失敗しました。"

#, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "デバイス'%s' の能力を取得する時にエラーが発生しました。"

#, c-format
msgid "Device '%s' is not a tuner."
msgstr "デバイス '%s' はチューナではありません。"

#, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "デバイス '%s' 上のラジオ入力の取得に失敗しました。"

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "デバイス '%2$s' 上の入力%1$d の設定に失敗しました。"

#, 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' のドライバはIOメソッド%dをサポートしていません"

#, fuzzy, c-format
msgid "Converter on device %s has no supported output format"
msgstr "ビデオデバイスが新しいフレームレート設定を受け付けません。"

#, fuzzy, c-format
msgid "Encoder on device %s has no supported input format"
msgstr "ビデオデバイスが新しいフレームレート設定を受け付けません。"

#, fuzzy, 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 の設定の取得に失敗しました。"

#, 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' ではありません"

# SUN REVIEWED
#, 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' は出力デバイスではありません"

# SUN REVIEWED
#, fuzzy, c-format
msgid "Could not dup device '%s' for reading and writing."
msgstr "デバイス '%s' を読み取り用と書き込み用に開くことができません"

#, 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' 上の現在の入力の取得に失敗しました。ラジオデバイスかもしれませ"
"ん"

#, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"デバイス '%s' 上の現在の出力の取得に失敗しました。ラジオデバイスかもしれませ"
"ん"

#, c-format
msgid "Failed to set output %d on device %s."
msgstr "出力%dをデバイス %s に設定できませんでした。"

msgid "Changing resolution at runtime is not yet supported."
msgstr "実行時の解像度変更はサポートされていません。"

msgid "Cannot operate without a clock"
msgstr "クロックなしでは動作できません。"

#~ msgid "Could not establish connection to sound server"
#~ msgstr "サウンドサーバーへの接続に失敗しました"

#~ msgid "Failed to query sound server capabilities"
#~ msgstr "サウンドサーバーのケイパビリティのクエリーに失敗しました"

# SUN REVIEWED
#~ msgid "Bass"
#~ msgstr "低音"

# SUN REVIEWED
#~ msgid "Treble"
#~ msgstr "高音"

# SUN REVIEWED
#~ msgid "Synth"
#~ msgstr "シンセ"

# SUN REVIEWED
#~ msgid "PCM"
#~ msgstr "PCM"

# SUN REVIEWED
#~ msgid "Speaker"
#~ msgstr "スピーカ"

#~ msgid "Line-in"
#~ msgstr "ライン入力"

# SUN REVIEWED
#~ msgid "CD"
#~ msgstr "CD"

# SUN REVIEWED
#~ msgid "Mixer"
#~ msgstr "ミキサー"

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

# SUN REVIEWED
#~ msgid "Record"
#~ msgstr "録音"

# SUN REVIEWED
#~ msgid "In-gain"
#~ msgstr "入力ゲイン"

# SUN REVIEWED
#~ msgid "Out-gain"
#~ msgstr "出力ゲイン"

# SUN REVIEWED
#~ msgid "Line-1"
#~ msgstr "ライン 1"

# SUN REVIEWED
#~ msgid "Line-2"
#~ msgstr "ライン 2"

# SUN REVIEWED
#~ msgid "Line-3"
#~ msgstr "ライン 3"

# SUN REVIEWED
#~ msgid "Digital-1"
#~ msgstr "デジタル 1"

# SUN REVIEWED
#~ msgid "Digital-2"
#~ msgstr "デジタル 2"

# SUN REVIEWED
#~ msgid "Digital-3"
#~ msgstr "デジタル 3"

# SUN REVIEWED
#~ msgid "Phone-in"
#~ msgstr "フォン入力"

# SUN REVIEWED
#~ msgid "Phone-out"
#~ msgstr "フォン出力"

# SUN REVIEWED
#~ msgid "Video"
#~ msgstr "ビデオ"

# SUN REVIEWED
#~ msgid "Radio"
#~ msgstr "ラジオ"

# SUN REVIEWED
#~ 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 ""
#~ "ミキサーコントロール用にオーディオデバイスを開くことができませんでした。"
#~ "Open Sound Systemのこのバージョンではこの要素によってサポートされていませ"
#~ "ん。"

#~ msgid "Master"
#~ msgstr "マスタ"

#~ msgid "Front"
#~ msgstr "フロント"

#~ msgid "Rear"
#~ msgstr "リア"

#~ msgid "Headphones"
#~ msgstr "ヘッドフォン"

#~ msgid "Center"
#~ msgstr "センター"

#~ msgid "LFE"
#~ msgstr "LFE"

#~ msgid "Surround"
#~ msgstr "サラウンド"

#~ msgid "Side"
#~ msgstr "サイド"

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

#, fuzzy
#~ msgid "3D Depth"
#~ msgstr "最大深度: "

#~ msgid "3D Center"
#~ msgstr "3Dセンター"

#, fuzzy
#~ msgid "3D Enhance"
#~ msgstr "色を強調しています"

#~ msgid "Telephone"
#~ msgstr "電話"

#~ msgid "Video In"
#~ msgstr "ビデオ入力"

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

#~ msgid "Record Gain"
#~ msgstr "録音ゲイン"

#~ msgid "Output Gain"
#~ msgstr "出力ゲイン"

#~ msgid "Microphone Boost"
#~ msgstr "マイクロフォンブースト"

#~ msgid "Diagnostic"
#~ msgstr "診断"

#~ msgid "Bass Boost"
#~ msgstr "低音ブースト"

#~ msgid "Playback Ports"
#~ msgstr "プレイバックポート"

#~ msgid "Input"
#~ msgstr "入力"

#~ msgid "Monitor Source"
#~ msgstr "モニターソース"

#~ msgid "Keyboard Beep"
#~ msgstr "キーボードビープ音"

#, fuzzy
#~ 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 "ジャック"

#~ msgid "Center / LFE"
#~ msgstr "センター / LFE"

#~ msgid "Stereo Mix"
#~ msgstr "ステレオミックス"

#~ msgid "Mono Mix"
#~ msgstr "モノラルミックス"

#~ msgid "Input Mix"
#~ msgstr "入力ミックス"

#~ msgid "Microphone 1"
#~ msgstr "マイクロフォン1"

#~ msgid "Microphone 2"
#~ msgstr "マイクロフォン2"

#~ msgid "Digital Out"
#~ msgstr "デジタル出力"

#~ msgid "Digital In"
#~ msgstr "デジタル入力"

#~ msgid "HDMI"
#~ msgstr "HDMI"

#~ msgid "Modem"
#~ msgstr "モデム"

#~ msgid "Handset"
#~ msgstr "ヘッドセット"

#~ msgid "Other"
#~ msgstr "その他"

#~ msgid "None"
#~ msgstr "なし"

#~ msgid "On"
#~ msgstr "オン"

#~ msgid "Off"
#~ msgstr "オフ"

#~ msgid "Mute"
#~ msgstr "ミュート"

#, fuzzy
#~ msgid "Fast"
#~ msgstr "速い"

#, fuzzy
#~ msgid "Very Low"
#~ msgstr "低品位"

#, fuzzy
#~ msgid "Low"
#~ msgstr "低音"

#, fuzzy
#~ msgid "Medium"
#~ msgstr "中音"

#, fuzzy
#~ msgid "High"
#~ msgstr "高音"

#, fuzzy
#~ msgid "Very High"
#~ msgstr "高品位"

#, fuzzy
#~ 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 "フロントパネルのライン出力"

#~ msgid "Green Connector"
#~ msgstr "緑色コネクタ"

#~ msgid "Pink Connector"
#~ msgstr "ピンク色コネクタ"

#~ msgid "Blue Connector"
#~ msgstr "青色コネクタ"

#~ msgid "White Connector"
#~ msgstr "白色コネクタ"

#~ msgid "Black Connector"
#~ msgstr "黒色コネクタ"

#~ msgid "Gray Connector"
#~ msgstr "グレー色コネクタ"

#~ msgid "Orange Connector"
#~ msgstr "オレンジ色コネクタ"

#~ msgid "Red Connector"
#~ msgstr "赤色コネクタ"

#~ msgid "Yellow Connector"
#~ msgstr "黄色コネクタ"

#, fuzzy
#~ msgid "Spread Output"
#~ msgstr "情報出力:\n"

#~ msgid "Downmix"
#~ msgstr "ダウンミックス"

#~ msgid "Virtual Mixer Input"
#~ msgstr "仮想ミキサー入力"

#~ msgid "Virtual Mixer Output"
#~ msgstr "仮想ミキサー出力"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "仮想ミキサーチャンネル"

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

#, fuzzy
#~ msgid "%s Function"
#~ msgstr "機能"

#~ msgid "Got unexpected frame size of %u instead of %u."
#~ msgstr "予期しないフレームサイズ (%2$u ではなく %1$u) を取得しました。"

#~ msgid "Error reading %d bytes on device '%s'."
#~ msgstr ""
#~ "デバイス '%2$s' 上で %1$d バイトの読み込み時にエラーが発生しました。"

#, fuzzy
#~ 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 ""
#~ "Failed trying to get video frames from device '%s'. Not enough memory."
#~ 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' から十分なバッファー領域を取得することができませんでした"

# SUN REVIEWED
#, fuzzy
#~ msgid "Could not read from CD."
#~ msgstr "ファイル \"%s\" に書き込むことができません。"

# SUN REVIEWED
#, fuzzy
#~ msgid "Disc is not an Audio CD."
#~ msgstr "デバイスが開いていません。"

# SUN REVIEWED
#, fuzzy
#~ msgid "Could not set parameters on device '%s'"
#~ msgstr "CD デバイスを読み取り用に開くことができません。"

# SUN REVIEWED
#~ msgid ""
#~ "GStreamer can play audio using any number of output elements. Some "
#~ "possible choices are osssink, esdsink and alsasink. The audiosink can be "
#~ "a partial pipeline instead of just one element."
#~ msgstr ""
#~ "オーディオを再生するとき、GStreamer は任意の数の出力要素を使用できます。使"
#~ "用できる出力要素は、osssink、esdsink、および alsasink です。audiosink は単"
#~ "なる 1 つの要素ではなく、パイプラインの一部になることができます。"

# SUN REVIEWED
#, fuzzy
#~ msgid ""
#~ "GStreamer can play video using any number of output elements. Some "
#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
#~ "The videosink can be a partial pipeline instead of just one element."
#~ msgstr ""
#~ "ビデオを再生するとき、GStreamer は任意の数の出力要素を使用できます。使用で"
#~ "きる出力要素は、xvideosink、sdlvideosink、および aasink です。videosink は"
#~ "単なる 1 つの要素ではなく、パイプラインの一部になることができます。"

# SUN REVIEWED
#~ msgid ""
#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
#~ "stream in video frames. Default is goom but more visualization plugins "
#~ "will be ported soon. The visualization plugin can be a partial pipeline "
#~ "instead of just one element."
#~ msgstr ""
#~ "GStreamer は視覚化プラグインをパイプラインに設定して、オーディオストリーム"
#~ "をビデオフレームに変換できます。デフォルトは goom ですが、より多くの視覚化"
#~ "プラグインがすぐに移植される予定です。視覚化プラグインは単なる 1 つの要素"
#~ "ではなく、パイプラインの一部になることができます。"

# SUN REVIEWED
#~ msgid ""
#~ "GStreamer can record audio using any number of input elements. Some "
#~ "possible choices are osssrc, esdsrc and alsasrc. The audio source can be "
#~ "a partial pipeline instead of just one element."
#~ msgstr ""
#~ "オーディオを記録するとき、GStreamer は任意の数の入力要素を使用できます。使"
#~ "用できる入力要素は、osssrc、esdsrc、および alsasrc です。オーディオソース"
#~ "は単なる 1 つの要素ではなく、パイプラインの一部になることができます。"

# SUN REVIEWED
#~ msgid ""
#~ "GStreamer can record video from any number of input elements. Some "
#~ "possible choices are v4lsrc and videotestsrc. The video source can be a "
#~ "partial pipeline instead of just one element."
#~ msgstr ""
#~ "ビデオを記録するとき、GStreamer は任意の数の入力要素を使用できます。使用で"
#~ "きる入力要素は、v4lsrc および videotestsrc です。ビデオソースは単なる 1 つ"
#~ "の要素ではなく、パイプラインの一部になることができます。"

# SUN REVIEWED
#~ msgid "default GStreamer audio source"
#~ msgstr "デフォルトの GStreamer オーディオソース"

# SUN REVIEWED
#~ msgid "default GStreamer audiosink"
#~ msgstr "デフォルトの GStreamer audiosink"

# SUN REVIEWED
#~ msgid "default GStreamer video source"
#~ msgstr "デフォルトの GStreamer ビデオソース"

# SUN REVIEWED
#~ msgid "default GStreamer videosink"
#~ msgstr "デフォルトの GStreamer videosink"

# SUN REVIEWED
#~ msgid "default GStreamer visualization plugin"
#~ msgstr "デフォルトの GStreamer 視覚化プラグイン"

# SUN REVIEWED
#, fuzzy
#~ msgid "description for default GStreamer audiosink"
#~ msgstr "デフォルトの GStreamer audiosink"

# SUN REVIEWED
#, fuzzy
#~ msgid "description for default GStreamer audiosrc"
#~ msgstr "デフォルトの GStreamer オーディオソース"

#~ msgid "Failed getting controls attributes on device '%s.'"
#~ msgstr "デバイス '%s' のコントロール属性の取得に失敗しました"
