# Norwegian bokmaal translation of gst-utils.
# This file is put in the public domain.
#
# Kjartan Maraas <kmaraas@gnome.org>, 2004-2010.
# Johnny A. Solbu <johnny@solbu.net>, 2012,
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-base 1.4.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-12-18 12:05+0100\n"
"PO-Revision-Date: 2014-07-22 12: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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n"

msgid "Could not open device for playback in mono mode."
msgstr "Kunne ikke åpne enheten for avspilling i mono-modus."

msgid "Could not open device for playback in stereo mode."
msgstr "Kunne ikke åpne enheten for avspilling i stereo-modus."

#, c-format
msgid "Could not open device for playback in %d-channel mode."
msgstr "Kunne ikke åpne enhet for avspilling i %d-kanalmodus."

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""
"Kunne ikke åpne lydenheten for avspilling. Enheten brukes av et annet "
"program."

msgid "Could not open audio device for playback."
msgstr "Kunne ikke åpne lydenheten for avspilling."

msgid "Error outputting to audio device. The device has been disconnected."
msgstr "Feil ved sending til lydenhet. Enheten er frakoblet."

msgid "Could not open device for recording in mono mode."
msgstr "Kunne ikke åpne enhet for opptak i monomodus."

msgid "Could not open device for recording in stereo mode."
msgstr "Kunne ikke åpne enhet for opptak i stereomodus"

#, c-format
msgid "Could not open device for recording in %d-channel mode"
msgstr "Kunne ikke åpne enhet for opptak i %d-kanalmodus."

msgid ""
"Could not open audio device for recording. Device is being used by another "
"application."
msgstr ""
"Kunne ikke åpne lydenheten for opptak. Enheten brukes av et annet program."

msgid "Could not open audio device for recording."
msgstr "Kunne ikke åpne lydenheten for opptak."

msgid "Error recording from audio device. The device has been disconnected."
msgstr "Feil ved opptak fra lydenhet. Enheten er frakoblet."

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

msgid "Could not seek CD."
msgstr "Kunne ikke søke på CD."

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

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

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr "Mangler elementet «%s» - kontroller GStreamer-installasjonen."

#, c-format
msgid "A %s plugin is required to play this stream, but not installed."
msgstr ""
"Et %s-tillegg kreves for å spille av denne strømmen, men det er ikke "
"installert."

msgid "Could not determine type of stream"
msgstr "Kunne ikke bestemme type strøm."

msgid "This appears to be a text file"
msgstr "Dette ser ut som en tekstfil"

msgid "Could not create \"uridecodebin\" element."
msgstr "Kunne ikke opprette elementet «uridecodebin»"

#, c-format
msgid "Both autovideosink and %s elements are missing."
msgstr "Både autobildesluk- og %s-elementer mangler."

msgid "The autovideosink element is missing."
msgstr "Autobildeslukelementet mangler."

#, c-format
msgid "Configured videosink %s is not working."
msgstr "Konfigurert bildesluk %s fungerer ikke."

#, c-format
msgid "Both autovideosink and %s elements are not working."
msgstr "Både autobildesluk- og %s-elementer virker ikke."

msgid "The autovideosink element is not working."
msgstr "autobildeslukelementet fungerer ikke."

msgid "Custom text sink element is not usable."
msgstr "Tilpasset tekstslukelement er ikke brukbart."

msgid "No volume control found"
msgstr "Fant ikke volumkontroll"

#, c-format
msgid "Both autoaudiosink and %s elements are missing."
msgstr "Både autolydsluk- og %s-elementer mangler."

msgid "The autoaudiosink element is missing."
msgstr "Autolydslukelementet mangler"

#, c-format
msgid "Configured audiosink %s is not working."
msgstr "Konfigurert lydsluk %s fungerer ikke."

#, c-format
msgid "Both autoaudiosink and %s elements are not working."
msgstr "Både autolydsluk- og %s-elementer virker ikke."

msgid "The autoaudiosink element is not working."
msgstr "Autolydslukelementet fungerer ikke."

msgid "Can't play a text file without video or visualizations."
msgstr "Kan ikke spille av en tekstfil uten film eller visualiseringer"

#, c-format
msgid "No decoder available for type '%s'."
msgstr "Ingen dekoder tilgjengelig for type «%s»."

msgid "No URI specified to play from."
msgstr "Ingen URI for avspilling oppgitt."

#, c-format
msgid "Invalid URI \"%s\"."
msgstr "Ugyldig URI «%s»."

msgid "This stream type cannot be played yet."
msgstr "Dennestrømtypen kan ikke spilles ennå."

#, c-format
msgid "No URI handler implemented for \"%s\"."
msgstr "Ingen URI-håndterer er implementert for «%s»."

msgid "Source element is invalid."
msgstr "Kildeelement er ugyldig."

#, c-format
msgid "Error while sending data to \"%s:%d\"."
msgstr "Feil ved sending av data til «%s:%d»."

msgid "Can't record audio fast enough"
msgstr "Kan ikke ta opp lyd rask nok"

msgid "This CD has no audio tracks"
msgstr "Denne CDen har ingen lydspor"

msgid "ID3 tag"
msgstr "ID3-merke"

msgid "APE tag"
msgstr "APE-merke"

msgid "ICY internet radio"
msgstr "ICY internettradio"

msgid "Apple Lossless Audio (ALAC)"
msgstr "Apple Lossless Audio (ALAC)"

msgid "Free Lossless Audio Codec (FLAC)"
msgstr "Free Lossless Audio Codec (FLAC)"

msgid "Lossless True Audio (TTA)"
msgstr "Tapsfri True Audio (TTA)"

msgid "Windows Media Speech"
msgstr "Windows Mediatale"

msgid "CYUV Lossless"
msgstr "CYUV tapsfritt"

msgid "FFMpeg v1"
msgstr "FFMpeg v1"

msgid "Lossless MSZH"
msgstr "Tapsfritt MSZH"

msgid "Run-length encoding"
msgstr "Kjørelengde-koding"

msgid "Timed Text"
msgstr "Tidsbestemt tekst"

msgid "Subtitle"
msgstr "Undertekst"

msgid "MPL2 subtitle format"
msgstr "MPL2 undertekstformat"

msgid "DKS subtitle format"
msgstr "DKS undertekstformat"

msgid "QTtext subtitle format"
msgstr "QTtext undertekstformat"

msgid "Sami subtitle format"
msgstr "Samisk undertekstformat"

msgid "TMPlayer subtitle format"
msgstr "TMPlayer undertekstformat"

msgid "Kate subtitle format"
msgstr "Kate undertekstformat"

msgid "Uncompressed video"
msgstr "Ukomprimert video"

msgid "Uncompressed gray"
msgstr "Ukomprimert grå"

#, c-format
msgid "Uncompressed packed YUV %s"
msgstr "Ukomprimert pakket YUV %s"

#, c-format
msgid "Uncompressed semi-planar YUV %s"
msgstr "Ukomprimert semi-planar YUV %s"

#, c-format
msgid "Uncompressed planar YUV %s"
msgstr "Ukomprimert planar YUV %s"

#, c-format
msgid "Uncompressed palettized %d-bit %s"
msgstr "Ukomprimert palettopmimert %d-bit %s"

#, c-format
msgid "Uncompressed %d-bit %s"
msgstr "Ukomprimert %d-bit %s"

#, c-format
msgid "DivX MPEG-4 Version %d"
msgstr "DivX MPEG-4-versjon %d"

msgid "Uncompressed audio"
msgstr "Ukomprimert lyd"

#, c-format
msgid "Raw %d-bit %s audio"
msgstr "Rå %d-bit %s-lyd"

msgid "Audio CD source"
msgstr "Lyd-CD-kilde"

msgid "DVD source"
msgstr "DVD-kilde"

msgid "Real Time Streaming Protocol (RTSP) source"
msgstr "Sanntidsdirekteavspillingsprotokoll (RTSP) kilde"

msgid "Microsoft Media Server (MMS) protocol source"
msgstr "Microsoft Media Server (MMS) protokollkilde"

#, c-format
msgid "%s protocol source"
msgstr "%s protokollkilde"

#, c-format
msgid "%s video RTP depayloader"
msgstr "%s bilde RTP-depayloader"

#, c-format
msgid "%s audio RTP depayloader"
msgstr "%s lyd RTP-depayloader"

#, c-format
msgid "%s RTP depayloader"
msgstr "%s RTP-depayloader"

#, c-format
msgid "%s demuxer"
msgstr "%s demultiplekser"

#, c-format
msgid "%s decoder"
msgstr "%s dekoder"

#, c-format
msgid "%s video RTP payloader"
msgstr "%s bilde RTP-payloader"

#, c-format
msgid "%s audio RTP payloader"
msgstr "%s lyd RTP-payloader"

#, c-format
msgid "%s RTP payloader"
msgstr "%s RTP-payloader"

#, c-format
msgid "%s muxer"
msgstr "%s multiplekser"

#, c-format
msgid "%s encoder"
msgstr "%s koder"

#, c-format
msgid "GStreamer element %s"
msgstr "GStreamer-element %s"

msgid "Unknown source element"
msgstr "Ukjent kildeelement"

msgid "Unknown sink element"
msgstr "Ukjent slukelement"

msgid "Unknown element"
msgstr "Ukjent element"

msgid "Unknown decoder element"
msgstr "Ukjent dekoderelement"

msgid "Unknown encoder element"
msgstr "Ukjent element for koding"

msgid "Plugin or element of unknown type"
msgstr "Tillegg eller element av ukjent type"

msgid "Failed to read tag: not enough data"
msgstr "Klarte ikke å lese merket: Ikke nok data"

msgid "track ID"
msgstr "spor-ID"

msgid "MusicBrainz track ID"
msgstr "MusicBrainz spor-id"

msgid "artist ID"
msgstr "artist-ID"

msgid "MusicBrainz artist ID"
msgstr "MusicBrainz artist-id"

msgid "album ID"
msgstr "album-ID"

msgid "MusicBrainz album ID"
msgstr "MusicBrainz album-id"

msgid "album artist ID"
msgstr "albumartist-id"

msgid "MusicBrainz album artist ID"
msgstr "MusicBrainz albumartist-id"

msgid "track TRM ID"
msgstr "spor TRM-id"

msgid "MusicBrainz TRM ID"
msgstr "MusicBrainz TRM-id"

msgid "capturing shutter speed"
msgstr "opptakslukkerhastighet"

msgid "Shutter speed used when capturing an image, in seconds"
msgstr "Lukkehastighet som benyttes når du tar et bilde, i sekunder"

msgid "capturing focal ratio"
msgstr "opptaksbrennvidder"

msgid "Focal ratio (f-number) used when capturing the image"
msgstr "Brennvidden (f-tall) som benyttes når du tar bildet"

msgid "capturing focal length"
msgstr "opptaksbrennvidde"

msgid "Focal length of the lens used capturing the image, in mm"
msgstr "Brennvidden til objektivet som brukes når du tar bildet, i mm"

msgid "capturing digital zoom ratio"
msgstr "fanger digitalt zoomforhold"

msgid "Digital zoom ratio used when capturing an image"
msgstr "Digitalt zoomforhold som benyttes når du tar et bilde"

msgid "capturing iso speed"
msgstr "opptaks-ISO-hastighet"

msgid "The ISO speed used when capturing an image"
msgstr "ISO-hastigheten som benyttes når du tar et bilde"

msgid "capturing exposure program"
msgstr "opptakseksponeringsprogram"

msgid "The exposure program used when capturing an image"
msgstr "Eksponeringsprogrammet som benyttes når du tar et bilde"

msgid "capturing exposure mode"
msgstr "opptakseksponeringsmodus"

msgid "The exposure mode used when capturing an image"
msgstr "Eksponeringsmodusen som benyttes når du tar et bilde"

msgid "capturing exposure compensation"
msgstr "opptakseksponeringskompensasjon"

msgid "The exposure compensation used when capturing an image"
msgstr "Eksponeringskompensasjonen som benyttes når du tar et bilde"

msgid "capturing scene capture type"
msgstr "opptaksscene opptakstype"

msgid "The scene capture mode used when capturing an image"
msgstr "Sceneopptaksmodus som anvendes når du tar et bilde"

msgid "capturing gain adjustment"
msgstr "opptaksstyrkejustering"

msgid "The overall gain adjustment applied on an image"
msgstr "Den samlede styrkejusteringen som anvendes på et bilde"

msgid "capturing white balance"
msgstr "opptakshvitbalanse"

msgid "The white balance mode set when capturing an image"
msgstr "Hvitbalanseinnstillingen når du tar et bilde"

msgid "capturing contrast"
msgstr "opptakskontrast"

msgid "The direction of contrast processing applied when capturing an image"
msgstr "Retningen av kontrastbehandling som anvendes når du tar et bilde"

msgid "capturing saturation"
msgstr "opptaksmetning"

msgid "The direction of saturation processing applied when capturing an image"
msgstr "Retningen av metningsbehandling som anvendes når du tar et bilde"

msgid "capturing sharpness"
msgstr "opptaksskarphet"

msgid "The direction of sharpness processing applied when capturing an image"
msgstr "Retningen av skarphetsbehandling som anvendes når du tar et bilde"

msgid "capturing flash fired"
msgstr "opptaksblits avfyrt"

msgid "If the flash fired while capturing an image"
msgstr "Om blitsen avfyres mens du tar et bilde"

msgid "capturing flash mode"
msgstr "opptaksblitsmodus"

msgid "The selected flash mode while capturing an image"
msgstr "Valgt blitsmodus mens du tar et bilde"

msgid "capturing metering mode"
msgstr "opptaksmålemodus"

msgid ""
"The metering mode used while determining exposure for capturing an image"
msgstr ""
"Målemodus som brukes mens man bestemmer eksponeringen for å ta et bilde"

msgid "capturing source"
msgstr "opptakskilde"

msgid "The source or type of device used for the capture"
msgstr "Kilden eller type enhet som brukes for opptak"

msgid "image horizontal ppi"
msgstr "Bilde horisontalt (ppi)"

msgid "Media (image/video) intended horizontal pixel density in ppi"
msgstr "Media (bilde/video) beregnet horisontal pikseltetthet i ppi"

msgid "image vertical ppi"
msgstr "Bilde vertikalt (ppi)"

msgid "Media (image/video) intended vertical pixel density in ppi"
msgstr "Media (bilde/video) beregnet vertikal piksel tetthet i ppi"

msgid "ID3v2 frame"
msgstr "ID3v2-ramme"

msgid "unparsed id3v2 tag frame"
msgstr "Utolket id3v2 merkeramme"

msgid "musical-key"
msgstr "musikal-tast"

msgid "Initial key in which the sound starts"
msgstr "Innledende tast der lyden begynner"

msgid "Print version information and exit"
msgstr "Skriv ut versjonsinformasjon og avslutt"

msgid ""
"Don't exit after showing the initial device list, but wait for devices to "
"added/removed."
msgstr ""
"Ikke avslutt etter å ha vist den første enheteslisten, men vent på at "
"enheter blir lagt til/fjernet."

msgid "Buffering..."
msgstr "Bufrer ..."

msgid "Clock lost, selecting a new one\n"
msgstr "Klokke tapt, velger en ny\n"

msgid "Video sink to use (default is autovideosink)"
msgstr "Video-sink som skal brukes (standard er autovideosink)"

msgid "Audio sink to use (default is autoaudiosink)"
msgstr "Lyd-sink som skal brukes (standard er autoaudiosink)"

msgid "Enable gapless playback"
msgstr "Aktiver sømløs avspilling"

msgid "Shuffle playlist"
msgstr "Stokke spilleliste"

msgid "Interactive control via keyboard"
msgstr "Interaktiv kontroll via tastatur"

msgid "Volume"
msgstr "Volum"

msgid "Playlist file containing input media files"
msgstr "Spillelistefil som inneholder inngangsmediefiler"

#, c-format
msgid "Usage: %s FILE1|URI1 [FILE2|URI2] [FILE3|URI3] ..."
msgstr "Bruk: %s FIL1|URI1 [FILE|URI2] [FILE|URI3] ..."

msgid "You must provide at least one filename or URI to play."
msgstr "Du må ha med minst ett filnavn eller nettadresse å spille."

#~ msgid "Uncompressed %s YUV %s"
#~ msgstr "Ukomprimert %s YUV %s"

#~ msgid "Master"
#~ msgstr "Hovedvolum"

#~ msgid "Bass"
#~ msgstr "Bass"

#~ msgid "Treble"
#~ msgstr "Diskant"

#~ msgid "PCM"
#~ msgstr "PCM"

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

#~ msgid "Line-in"
#~ msgstr "Linje inn"

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

#~ msgid "Microphone"
#~ msgstr "Mikrofon"

#~ msgid "PC Speaker"
#~ msgstr "PC-høyttaler"

#~ msgid "Playback"
#~ msgstr "Spill av"

#~ msgid "Capture"
#~ msgstr "Ta opp"

#~ msgid "Could not open vfs file \"%s\" for writing: %s."
#~ msgstr "Kunne ikke åpne VFS-fil «%s» for skriving: %s."

#~ msgid "No filename given"
#~ msgstr "Ingen filnavn oppgitt"

#~ msgid "Could not close vfs file \"%s\"."
#~ msgstr "Kunne ikke lukke VFS-fil «%s»."

#~ msgid "Error while writing to file \"%s\"."
#~ msgstr "Feil under skriving til fil «%s»."

#~ msgid "Invalid subtitle URI \"%s\", subtitles disabled."
#~ msgstr "Ugyldig URI «%s» til undertekst. Undertekst er slått av."

#~ msgid "RTSP streams cannot be played yet."
#~ msgstr "RTSP-strømmer kan ikke spilles av ennå."

#~ msgid ""
#~ "Only a subtitle stream was detected. Either you are loading a subtitle "
#~ "file or some other type of text file, or the media file was not "
#~ "recognized."
#~ msgstr ""
#~ "Kun en undertekststrøm ble oppdaget. Enten laster du inn en undertekstfil "
#~ "eller en annen type tekstfil, eller mediafilen ble ikke gjenkjent."

#~ msgid ""
#~ "You do not have a decoder installed to handle this file. You might need "
#~ "to install the necessary plugins."
#~ msgstr ""
#~ "Du har ikke en dekoder installert for å håndtere denne filen. Du må "
#~ "kanskje installere de nødvendige programtilleggene."

#~ msgid "This is not a media file"
#~ msgstr "Dette er ikke en mediefil"

#~ msgid "A subtitle stream was detected, but no video stream."
#~ msgstr "En undertekststrøm ble oppdaget, men ingen videostrøm."

#~ msgid "Both autovideosink and xvimagesink elements are missing."
#~ msgstr "Både autobildesluk- og xvbildeslukelementene mangler."

#~ msgid "Both autoaudiosink and alsasink elements are missing."
#~ msgstr "Både autolydsluk- og alsaslukelementene mangler."

#~ msgid "Error while sending gdp header data to \"%s:%d\"."
#~ msgstr "Feil ved sending av GDP overskriftsdata til «%s:%d»"

#~ msgid "Error while sending gdp payload data to \"%s:%d\"."
#~ msgstr "Feil ved sending av GDP nyttelast data til «%s:%d»"

#~ msgid "Connection to %s:%d refused."
#~ msgstr "Forbindelse til %s:%d ble avvist"

#~ msgid "Uncompressed planar YVU 4:2:0"
#~ msgstr "Ukomprimert pakket YVU 4:2:0"

#~ msgid "Uncompressed packed YUV 4:1:0"
#~ msgstr "Ukomprimert pakket YUV 4:1:0"

#~ msgid "Uncompressed packed YVU 4:1:0"
#~ msgstr "Ukomprimert pakket YVU 4:1:0"

#~ msgid "Uncompressed packed YUV 4:1:1"
#~ msgstr "Ukomprimert pakket YUV 4:1:1"

#~ msgid "Uncompressed packed YUV 4:4:4"
#~ msgstr "Ukomprimert pakket YUV 4:4:4"

#~ msgid "Uncompressed planar YUV 4:2:2"
#~ msgstr "Ukomprimert planar YUV 4:2:2"

#~ msgid "Uncompressed planar YUV 4:1:1"
#~ msgstr "Ukomprimert planar YUV 4:1:1"

#~ msgid "Uncompressed black and white Y-plane"
#~ msgstr "Ukomprimert svart og hvitt Y-flate"

#~ msgid "Raw PCM audio"
#~ msgstr "Rå PCM-lyd"

#~ msgid "Raw %d-bit floating-point audio"
#~ msgstr "Rå %d-bit flyttallslyd"

#~ msgid "Raw floating-point audio"
#~ msgstr "Rå flyttallslyd"

#~ msgid "No device specified."
#~ msgstr "Ingen enhet oppgitt."

#~ msgid "Device \"%s\" does not exist."
#~ msgstr "Enheten «%s» eksisterer ikke."

#~ msgid "Device \"%s\" is already being used."
#~ msgstr "Enheten «%s» er allerede i bruk."

#~ msgid "Could not open device \"%s\" for reading and writing."
#~ msgstr "Kunne ikke åpne enhet «%s» for lesing og skriving."
