# Indonesian translations for gst-plugins-bad package.
# This file is put in the public domain.
# Andika Triwidada <andika@gmail.com>, 2013.
# Andhika Padmawan <andhika.padmawan@gmail.com>, 2009-2014.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.3.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-06-22 17:56+0200\n"
"PO-Revision-Date: 2014-05-31 22:16+0700\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.7\n"

msgid "Could not read title information for DVD."
msgstr "Tak dapat membaca informasi judul untuk DVD."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Gagal membuka divais DVD '%s'."

msgid "Failed to set PGC based seeking."
msgstr "Gagal mengatur pencarian berbasis PGC."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Tak dapat membaca DVD. Hal ini kemungkinan karena DVD terenkripsi dan "
"pustaka dekripsi tidak diinstal."

msgid "Could not read DVD."
msgstr "Tak dapat membaca DVD."

msgid "This file contains no playable streams."
msgstr "Berkas ini tidak memuat stream yang dapat dimainkan."

msgid "Couldn't get the Manifest's URI"
msgstr "Tak bisa memperoleh URI Manifes"

msgid "Failed to get fragment URL."
msgstr "Gagal mendapat URL fragmen."

msgid "Internal data stream error."
msgstr "Galat arus data internal."

msgid "Couldn't download fragments"
msgstr "Tak bisa mengunduh fragmen."

msgid "Could not open sndfile stream for reading."
msgstr "Tak dapat membuka stream sndfile untuk dibaca."

msgid "No file name specified for writing."
msgstr "Tak ada nama berkas yang ditentukan untuk ditulis."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Tak dapat membuka berkas \"%s\" untuk ditulis."

#, c-format
msgid "Could not write to file \"%s\"."
msgstr "Tak dapat menulis ke berkas \"%s\"."

msgid "Could not establish connection to sndio"
msgstr "Tak bisa menjalin koneksi ke sndio"

msgid "Failed to query sndio capabilities"
msgstr "Gagal mengkuiri kapabilitas sndio"

msgid "Could not configure sndio"
msgstr "Tak dapat menata sndio"

msgid "Could not start sndio"
msgstr "Tak dapat memulai sndio"

msgid "Internal data flow error."
msgstr "Galat arus data internal."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""
"Berkas yang dihasilkan memiliki waktu preroll lebih besar daripada durasi "
"streamnya"

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr "Kurang elemen '%s' - periksa instalasi GStreamer Anda."

msgid "File location is set to NULL, please set it to a valid filename"
msgstr "Lokasi berkas diisi NULL, harap isi dengan nama berkas yang valid"

msgid "Subpicture format was not configured before data flow"
msgstr "Format subgambar tak ditata sebelum aliran data"

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""
"Nama berkas \"%s\" yang diberikan tak bisa dikonversi ke enkoding nama "
"berkas lokal."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Divais \"%s\" tak ada."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Tak dapat membuka divais ujung-depan \"%s\"."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Tak dapat mendapatkan pengaturan dari divais ujung-depan \"%s\"."

#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr ""
"Tak dapat menghitung sistem pengantaran dari divais ujung-depan \"%s\"."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Tak dapat membuka berkas \"%s\" untuk dibaca."

msgid "Couldn't find DVB channel configuration file"
msgstr "Tak bisa temukan berkas konfigurasi kanal DVB"

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr "Tak bisa memuat berka konfigurasi kanal DVB: %s"

msgid "DVB channel configuration file doesn't contain any channels"
msgstr "Berkas konfigurasi kanal DVB tak memuat kanal apapun"

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr "Tak bisa temukan rincian untuk kanal DVB %s"
