# Japanese traslation for gst-plugins-bad
# This file is put in the public domain.
#
# Makoto Kato <makoto.kt@gmail.com>, 2009-2011.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-11-01 17:49+0200\n"
"PO-Revision-Date: 2011-04-26 19:38+0900\n"
"Last-Translator: Makoto Kato <makoto.kt@gmail.com>\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: Lokalize 0.3\n"
"Plural-Forms: nplurals=1; plural=0;\n"

msgid "failed to draw pattern"
msgstr ""

msgid "A GL error occured"
msgstr ""

msgid "format wasn't negotiated before get function"
msgstr ""

msgid "OpenCV failed to load template image"
msgstr ""

msgid "Could not read title information for DVD."
msgstr "DVDのタイトル情報を読み込むことができませんでした。"

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "DVDデバイス '%s' のオープンに失敗しました。"

msgid "Failed to set PGC based seeking."
msgstr "PGCを利用したシークに失敗しました。"

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"DVDを読み込むことができませんでした。DVDが暗号化されているかDVDを解読するライ"
"ブラリがインストールされていないからかもしれません。"

msgid "Could not read DVD."
msgstr "DVDを読み込むことができませんでした。"

msgid "This file contains no playable streams."
msgstr ""

#, fuzzy
msgid "Could not open sndfile stream for reading."
msgstr "読み込み用にファイル \"%s\" を開くことができません。"

msgid "Could not establish connection to sndio"
msgstr ""

msgid "Failed to query sndio capabilities"
msgstr ""

#, fuzzy
msgid "Could not configure sndio"
msgstr "読み込み用にファイル \"%s\" を開くことができません。"

#, fuzzy
msgid "Could not start sndio"
msgstr "DVDを読み込むことができませんでした。"

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr ""

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""

msgid "Digitalzoom element couldn't be created"
msgstr ""

msgid "Subpicture format was not configured before data flow"
msgstr ""

msgid "Failed to get fragment URL."
msgstr ""

msgid "Couldn't download fragments"
msgstr ""

msgid "Internal data stream error."
msgstr "内部データストリームエラー。"

msgid "No file name specified for writing."
msgstr "書き込み用にファイル名が指定されていません。"

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "書き込み用にファイル \"%s\" を開くことができませんでした。"

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "デバイス \"%s\" は存在しません。"

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "フロントエンドデバイス \"%s\" を開くことができません。"

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "フロントエンドデバイス \"%s\" から設定を取得できませんでした。"

#, fuzzy, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "フロントエンドデバイス \"%s\" から設定を取得できませんでした。"

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "読み込み用にファイル \"%s\" を開くことができません。"

#, fuzzy
msgid "Couldn't find channel configuration file"
msgstr "仮想ミックスチャンネル設定"

#, fuzzy, c-format
msgid "Couldn't load channel configuration file: '%s'"
msgstr "仮想ミックスチャンネル設定"

#, c-format
msgid "Couldn't find details for channel '%s'"
msgstr ""

#, c-format
msgid "No properties for channel '%s'"
msgstr ""

#, fuzzy, c-format
msgid "Failed to set properties for channel '%s'"
msgstr "DVDデバイス '%s' のオープンに失敗しました。"

#, fuzzy, c-format
msgid "Couldn't find channel configuration file: '%s'"
msgstr "仮想ミックスチャンネル設定"

msgid "Channel configuration file doesn't contain any channels"
msgstr ""

#~ msgid "Internal data flow error."
#~ msgstr "内部データフローエラー。"

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "ファイル \"%s\" へ書き込むことができませんでした。"

#~ msgid "Internal clock error."
#~ msgstr "内部クロックエラー"

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr ""
#~ "ミキサーがコントロールするオーディオデバイスを開くことができません。"

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

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

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

#~ msgid "Production"
#~ msgstr "プロダクション"

#~ msgid "Off"
#~ msgstr "Off"

#~ msgid "On"
#~ msgstr "On"

#~ msgid "Stereo"
#~ msgstr "ステレオ"

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

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

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

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

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

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

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

#~ msgid "Front panel microphone"
#~ msgstr "フロントパネルのマイクロフォン"

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

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

#~ msgid "PCM 1"
#~ msgstr "PCM 1"

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

#~ msgid "PCM 3"
#~ msgstr "PCM 3"

#~ msgid "PCM 4"
#~ msgstr "PCM 4"

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

#~ msgid "Green front panel connector"
#~ msgstr "緑色のフロントパネルのコネクタ"

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

#~ msgid "Pink front panel connector"
#~ msgstr "ピンク色のフロントパネルコネクタ"

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

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

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

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

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

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

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

#~ msgid "Green connector function"
#~ msgstr "緑色コネクタ機能"

#~ msgid "Front panel line-in"
#~ msgstr "プロントパネルのライン入力"

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

#~ msgid "Front panel headphones"
#~ msgstr "フロントパネルのヘッドフォン"

#~ msgid "PCM"
#~ msgstr "PCM"

#~ msgid "Virtual mixer input"
#~ msgstr "仮想ミキサー入力"

#~ msgid "Virtual mixer output"
#~ 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 ""
#~ "プレイバック用にオーディオデバイスを開くことができませんでした。この 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 "Failed to configure TwoLAME encoder. Check your encoding parameters."
#~ msgstr ""
#~ "TwoLAME エンコーダーの構成に失敗しました。エンコーディングパラメータを"
#~ "チェックしてください。"

#~ msgid ""
#~ "The requested bitrate %d kbit/s for property '%s' is not allowed. The "
#~ "bitrate was changed to %d kbit/s."
#~ msgstr ""
#~ "プロパティ '%2$s' へのビットレート %1$d kbit/s の要求は許可されません。"
#~ "ビットレートは %d kbit/s へ変更されました。"
