# Indonesian translations for gst-plugins-ugly package.
# This file is put in the public domain.
# Andhika Padmawan <andhika.padmawan@gmail.com>, 2009-2012.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly 0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2013-12-26 17:53+0100\n"
"PO-Revision-Date: 2012-01-28 11:39+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"

msgid "Could not read from CD."
msgstr "Tak dapat membaca dari CD."

msgid "Could not open CD device for reading."
msgstr "Tak dapat membuka divais CD untuk dibaca."

msgid "Disc is not an Audio CD."
msgstr "Cakram bukan CD Audio."

msgid "Could not open DVD"
msgstr "Tak dapat membuka DVD"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Tak dapat membuka judul DVD %d"

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Gagal pergi ke bab %d dari judul DVD %d"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Tak dapat membuka judul DVD %d. Judul interaktif tidak didukung oleh elemen "
"ini"

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 karena DVD terenkripsi dan pustaka dekripsi "
"DVD tidak diinstal."

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

#, fuzzy
msgid ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr "Gagal mengatur penyandi LAME. Cek parameter penyandian anda."

#, c-format
msgid ""
"The requested bitrate %d kbit/s for property '%s' is not allowed. The "
"bitrate was changed to %d kbit/s."
msgstr ""
"Bitrasi %d kbit/s yang diminta untuk properti '%s' tidak diizinkan. Bitrasi "
"diubah ke %d kbit/s."

msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
msgstr "Gagal mengatur penyandi TwoLAME. Cek parameter penyandian anda."

msgid "This stream contains no data."
msgstr "Arus ini tidak berisi data."

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

#~ msgid "Invalid title information on DVD."
#~ msgstr "Informasi judul tidak sah pada DVD."

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

#~ 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."
