# Norwegian bokmaal translation of gst-plugins-ugly.
# This file is put in the public domain.
#
# Kjartan Maraas <kmaraas@gnome.org>, 2004-2007.
# Johnny A. Solbu <johnny@solbu.net>, 2012
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2018-10-02 23:04+0100\n"
"PO-Revision-Date: 2012-12-21 21:38+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"

msgid "Could not read from CD."
msgstr "Kunne ikke lese fra CD."

msgid "Could not open CD device for reading."
msgstr "Kunne ikke åpne CD-enheten for lesing."

msgid "Disc is not an Audio CD."
msgstr "Disken er ikke en lyd-CD."

msgid "Could not open DVD"
msgstr "Kunne ikke åpne DVD"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Kunne ikke åpne DVD-tittel %d."

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Klarte ikke å gå til kapittel %d på DVD tittel %d"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Kunne ikke åpne DVD-tittel %d. Interaktive titler er ikke støttet av dette "
"elementet"

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Kunne ikke lese DVD-en. Dette kan være fordi DVD-en er kryptert DVD-"
"dekrypteringsbiblioteket ikke er installert."

msgid "Could not read DVD."
msgstr "Kunne ikke lese DVD"

msgid "This stream contains no data."
msgstr "Denne strømmen inneholde ikke data."

#~ msgid ""
#~ "Failed to configure LAME mp3 audio encoder. Check your encoding "
#~ "parameters."
#~ msgstr "Kunne ikke konfigurere LAME-koder. Sjekk parametere for kodingen."

#~ msgid ""
#~ "The requested bitrate %d kbit/s for property '%s' is not allowed. The "
#~ "bitrate was changed to %d kbit/s."
#~ msgstr ""
#~ "Forespurt bitrate %d kbit/s for egenskap «%s» er ikke tillatt. Bitraten "
#~ "ble endret til %d kbit/s."

#~ msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
#~ msgstr ""
#~ "Kunne ikke konfigurere TwoLAME-enkoder. Sjekk parameterene for kodingen."

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

#~ msgid "This file is encrypted and cannot be played."
#~ msgstr "Denne filen er kryptert og kan ikke spilles av."

#~ msgid "Invalid title information on DVD."
#~ msgstr "Ugyldig tittelinformasjon på DVD."

#~ msgid "Failed to open DVD device '%s'."
#~ msgstr "Kunne ikke åpne DVD-enhet «%s»."

#~ msgid "Failed to set PGC based seeking."
#~ msgstr "Kunne ikke sette PGC-basert søking."
