# Indonesian translations for gst-plugins-ugly package.
# This file is put in the public domain.
# Andhika Padmawan <andhika.padmawan@gmail.com>, 2009-2014.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2018-10-02 23:04+0100\n"
"PO-Revision-Date: 2014-01-27 20:04+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-Bugs: Report translation errors to the Language-Team address.\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."

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

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

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