# Translation of gstreamer plugin messages to Afrikaans. 
# Copyright (C) 2004 Free Software Foundation, Inc.
# This file is put in the public domain.
# Petri Jooste <rkwjpj@puk.ac.za>, 2004.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins 0.7.6\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2012-05-13 16:42+0200\n"
"PO-Revision-Date: 2004-03-18 14:16+0200\n"
"Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
"Language-Team: Afrikaans <i18n@af.org.za>\n"
"Language: af\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#, fuzzy
msgid "Could not read title information for DVD."
msgstr "Kon nie skryf na lêer \"%s\" nie."

#, fuzzy, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Kon nie beheertoestel \"%s\" toemaak nie."

msgid "Failed to set PGC based seeking."
msgstr ""

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 "Kon nie skryf na lêer \"%s\" nie."

#, fuzzy
msgid "No file name specified for writing."
msgstr "Geen lêernaam gespesifiseer."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Kon nie lêer \"%s\" oopmaak om in te skryf nie."

msgid "Internal data stream error."
msgstr ""

#, c-format
msgid "Could not write to file \"%s\"."
msgstr "Kon nie skryf na lêer \"%s\" nie."

msgid "Internal data flow error."
msgstr ""

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Toestel \"%s\" bestaan nie."

#, fuzzy, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Kon nie beheertoestel \"%s\" toemaak nie."

#, fuzzy, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Kon nie genoeg buffers vanaf toestel \"%s\" kry nie."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Kon nie lêer \"%s\" oopmaak om te lees nie."

#~ msgid "Could not open device \"%s\" for reading and writing."
#~ msgstr "Kon nie toestel \"%s\" oopmaak vir lees en skryf nie."

#~ msgid "Device \"%s\" is not a capture device."
#~ msgstr "Toestel \"%s\" is nie 'n vasleggingtoestel nie."

#~ msgid "Could not write to device \"%s\"."
#~ msgstr "Kon nie skryf na toestel \"%s\" nie."

#~ msgid "Could not get buffers from device \"%s\"."
#~ msgstr "Kon nie buffers vanaf toestel \"%s\" verkry nie."

#~ msgid "Could not open control device \"%s\" for writing."
#~ msgstr "Kon nie beheertoestel \"%s\" oopmaak vir skryf nie."

#~ msgid "Could not configure audio device \"%s\"."
#~ msgstr "Kon nie oudio-toestel \"%s\" konfigureer nie."

#~ msgid "Could not set audio device \"%s\" to %d Hz."
#~ msgstr "Kon nie klanktoestel \"%s\" verstel na %d Hz nie."

#~ msgid "Could not close audio device \"%s\"."
#~ msgstr "Kon nie oudio-toestel \"%s\" toemaak nie."

#~ msgid "Could not open video device \"%s\" for writing."
#~ msgstr "Kon nie video-toestel \"%s\" oopmaak vir skryf nie."

#~ msgid "Could not close video device \"%s\"."
#~ msgstr "Kon nie video-toestel \"%s\" toemaak nie."

#~ msgid "Error closing file \"%s\"."
#~ msgstr "Fout tydens toemaak van lêer \"%s\"."

#~ msgid "No or invalid input audio, AVI stream will be corrupt."
#~ msgstr "Geen of ongeldige klanktoevoer, AVI-stroom sal korrup wees."

#~ msgid "OSS device \"%s\" is already in use by another program."
#~ msgstr "OSS-toestel \"%s\" is reeds in gebruik deur 'n ander program."

#~ msgid "Could not access device \"%s\", check its permissions."
#~ msgstr "Kon nie toegang kry tot toestel \"%s\" nie, kyk na toegangsregte."

#~ msgid "Could not open device \"%s\" for writing."
#~ msgstr "Kon nie toestel \"%s\" oopmaak vir skryf nie."

#~ msgid "Could not open device \"%s\" for reading."
#~ msgstr "Kon nie toestel \"%s\" oopmaak vir lees nie."

#~ msgid "Synth"
#~ msgstr "Sintetiseerder"

#~ msgid "CD"
#~ msgstr "CD"

#~ msgid "Mixer"
#~ msgstr "Menger"

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

#~ msgid "In-gain"
#~ msgstr "In-versterking"

#~ msgid "Line-1"
#~ msgstr "Lyn-1"

#~ msgid "Line-2"
#~ msgstr "Lyn-2"

#~ msgid "Line-3"
#~ msgstr "Lyn-3"

#~ msgid "Digital-2"
#~ msgstr "Digitaal-2"

#~ msgid "Digital-3"
#~ msgstr "Digitaal-3"

#~ msgid "Phone-in"
#~ msgstr "Telefoon-in"

#~ msgid "Phone-out"
#~ msgstr "Telefoon-uit"

#~ msgid "Radio"
#~ msgstr "Radio"

#~ msgid "Could not open CD device for reading."
#~ msgstr "Kon nie CD-toestel oopmaak om te lees nie."

#~ msgid "Could not open vfs file \"%s\" for reading."
#~ msgstr "Kon nie vfs-lêer \"%s\" oopmaak vir lees nie."

#, fuzzy
#~ msgid "No filename given."
#~ msgstr "Geen lêernaam gespesifiseer."

#, fuzzy
#~ msgid "Could not open vfs file \"%s\" for writing: %s."
#~ msgstr "Kon nie vfs-lêer \"%s\" oopmaak vir skryf nie."

#, fuzzy
#~ msgid "No filename given"
#~ msgstr "Geen lêernaam gespesifiseer."

#~ msgid "Could not close vfs file \"%s\"."
#~ msgstr "Kon nie vfs-lêer \"%s\" toemaak nie."

#~ msgid "No device specified."
#~ msgstr "Geen toestel gespesifiseer"

#~ msgid "Device is not open."
#~ msgstr "Toestel is nie oop nie."

#~ msgid "Device is open."
#~ msgstr "Toestel is oop."
