# translation of gst-plugins-ugly-0.10.11.2.po to Malay
# This file is put in the public domain.
#
# Muhammad Najmi bin Ahmad Zabidi <najmi.zabidi@gmail.com>, 2009.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly-0.10.11.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2018-10-02 23:04+0100\n"
"PO-Revision-Date: 2009-07-16 15:07+0800\n"
"Last-Translator: Muhammad Najmi bin Ahmad Zabidi <najmi.zabidi@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"

msgid "Could not read from CD."
msgstr "Tidak dapat baca dari CD."

msgid "Could not open CD device for reading."
msgstr "Tidak dapat buka peranti CD untuk baca."

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

msgid "Could not open DVD"
msgstr "Tidak dapat buka DVD"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Tidak dapat buka tajuk %d DVD"

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Gagal untuk ke bab %d pata tajuk DVD %d"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Gagal buka tajuk %d DVD. Tajuk interaktrif tidak disokong 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 ""

#, fuzzy
msgid "Could not read DVD."
msgstr "Tidak dapat buka DVD"

msgid "This stream contains no data."
msgstr "Aliran ini tiada data."

#, fuzzy
#~ msgid ""
#~ "Failed to configure LAME mp3 audio encoder. Check your encoding "
#~ "parameters."
#~ msgstr ""
#~ "Gagal mengkonfigur pengenkod TwoLAME. Periksa parameter pengenkod anda."

#~ msgid ""
#~ "The requested bitrate %d kbit/s for property '%s' is not allowed. The "
#~ "bitrate was changed to %d kbit/s."
#~ msgstr ""
#~ "Kadarbit %d yang diminta untuk properti '%s' tidak dibenarkan. Kadarbit "
#~ "telah ditukar ke %d kbit/s."

#~ msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
#~ msgstr ""
#~ "Gagal mengkonfigur pengenkod TwoLAME. Periksa parameter pengenkod anda."

#~ msgid "Internal data stream error."
#~ msgstr "Ralat aliran data dalaman."

#, fuzzy
#~ msgid ""
#~ "Failed to configure LAMEMP3ENC encoder. Check your encoding parameters."
#~ msgstr "Gagal mengkonfigur pengekod LAME. Periksa parameter pengenkod anda."

#~ msgid "Invalid title information on DVD."
#~ msgstr "Maklumat tajuk pada DVD tidak sah."

#~ msgid "Could not read title information for DVD."
#~ msgstr "Tidak dapat baca maklumat tajuk pada DVD."

#~ msgid "Failed to open DVD device '%s'."
#~ msgstr "Gagal membuka peranti DVD %s'."

#~ msgid "Failed to set PGC based seeking."
#~ msgstr "Gagal untuk menetapkan carian berasaskan PGC."
