# Norwegian bokmaal translation of gst-utils.
# This file is put in the public domain.
# Kjartan Maraas <kmaraas@gnome.org>, 2004-2007.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2010-10-19 23:33+0100\n"
"PO-Revision-Date: 2007-11-03 14:46+0100\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: \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 "Kunne ikke skrive til fil «%s»."

#, fuzzy, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Kunne ikke åpne frontenhet «%s»."

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 "Kunne ikke skrive til fil «%s»."

msgid "No file name specified for writing."
msgstr "Ingen filnavn oppgitt for skriving."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Kunne ikke åpne filen «%s» for skriving."

msgid "Internal data stream error."
msgstr "Intern feil i datastrøm."

#, c-format
msgid "Could not write to file \"%s\"."
msgstr "Kunne ikke skrive til fil «%s»."

#, fuzzy
msgid "Internal data flow error."
msgstr "Intern feil i datastrøm."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Enhet «%s» eksisterer ikke."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Kunne ikke åpne frontenhet «%s»."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Kunne ikke hente innstillinger fra frontenhet «%s»."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Kunne ikke åpne filen «%s» for lesing."

#, fuzzy
#~ msgid "Internal clock error."
#~ msgstr "Intern feil i datastrøm."
