# Danish messages for sed
# This file is distributed under the same license as the sed package.
# Copyright (C) 2001 Free Software Foundation, Inc.
#
# Byrial Ole Jensen <byrial@image.dk>, 2001-2003.
# Ask Hjorth Larsen <asklarsen@gmail.com>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: sed-4.2.1\n"
"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
"POT-Creation-Date: 2012-12-22 14:36+0100\n"
"PO-Revision-Date: 2010-07-18 12:47+0200\n"
"Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\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"

#: sed/compile.c:144
msgid "multiple `!'s"
msgstr "flere '!'"

#: sed/compile.c:145
msgid "unexpected `,'"
msgstr "uventet ','"

#: sed/compile.c:146
msgid "invalid usage of +N or ~N as first address"
msgstr "ugyldig brug af +N eller ~N som første adresse"

#: sed/compile.c:147
msgid "unmatched `{'"
msgstr "uparret '{'"

#: sed/compile.c:148
msgid "unexpected `}'"
msgstr "uventet '}'"

#: sed/compile.c:149
msgid "extra characters after command"
msgstr "ekstra tegn efter kommando"

#: sed/compile.c:150
msgid "expected \\ after `a', `c' or `i'"
msgstr "forventede \\ efter 'a', 'c' eller 'i'"

#: sed/compile.c:151
msgid "`}' doesn't want any addresses"
msgstr "'}' vil ikke have adresser"

#: sed/compile.c:152
msgid ": doesn't want any addresses"
msgstr ": vil ikke have adresser"

#: sed/compile.c:153
msgid "comments don't accept any addresses"
msgstr "kommentarer vil ikke have adresser"

#: sed/compile.c:154
msgid "missing command"
msgstr "der mangler en kommando"

#: sed/compile.c:155
msgid "command only uses one address"
msgstr "kommandoen bruger kun én adresse"

#: sed/compile.c:156
msgid "unterminated address regex"
msgstr "uafsluttet regulært udtryk for adresse"

#: sed/compile.c:157
msgid "unterminated `s' command"
msgstr "uafsluttet 's'-kommando"

#: sed/compile.c:158
msgid "unterminated `y' command"
msgstr "uafsluttet 'y'-kommando"

#: sed/compile.c:159
msgid "unknown option to `s'"
msgstr "ukendt flag til 's'"

#: sed/compile.c:160
msgid "multiple `p' options to `s' command"
msgstr "flere 'p'-flag til 's'-kommando"

#: sed/compile.c:161
msgid "multiple `g' options to `s' command"
msgstr "flere 'g'-flag til 's'-kommando"

#: sed/compile.c:162
msgid "multiple number options to `s' command"
msgstr "flere tal-flag til 's'-kommando"

#: sed/compile.c:163
msgid "number option to `s' command may not be zero"
msgstr "s-kommandoens tal-flag må ikke være nul"

#: sed/compile.c:164
msgid "strings for `y' command are different lengths"
msgstr "'y'-kommandoens strenge har forskellige længder"

#: sed/compile.c:165
msgid "delimiter character is not a single-byte character"
msgstr "adskillelsestegn er ikke et en-byte-tegn"

#: sed/compile.c:166
msgid "expected newer version of sed"
msgstr "forventede en nyere version af sed"

#: sed/compile.c:167
msgid "invalid usage of line address 0"
msgstr "ugylig brug af linjeadresse 0"

#: sed/compile.c:168
#, c-format
msgid "unknown command: `%c'"
msgstr "ukendt kommando: '%c'"

#: sed/compile.c:169
#, fuzzy
msgid "incomplete command"
msgstr "der mangler en kommando"

#: sed/compile.c:192
#, c-format
msgid "%s: file %s line %lu: %s\n"
msgstr "%s: fil %s, linje %lu: %s\n"

#: sed/compile.c:195
#, c-format
msgid "%s: -e expression #%lu, char %lu: %s\n"
msgstr "%s: -e udtryk nr. %lu, tegn %lu: %s\n"

#: sed/compile.c:1657
#, c-format
msgid "can't find label for jump to `%s'"
msgstr "kan ikke finde etiket for hop til '%s'"

#: sed/execute.c:595
#, c-format
msgid "%s: can't read %s: %s\n"
msgstr "%s: kan ikke læse %s: %s\n"

#: sed/execute.c:624
#, c-format
msgid "couldn't edit %s: is a terminal"
msgstr "kunne ikke redigere %s: er en terminal"

#: sed/execute.c:629
#, c-format
msgid "couldn't edit %s: not a regular file"
msgstr "kunne ikke redigere %s: ikke en regulær fil"

#: sed/execute.c:640
#, c-format
msgid "%s: warning: failed to set default file creation context to %s: %s"
msgstr ""
"%s: advarsel: kunne ikke sætte standardkontekst for filoprettelse til %s: %s"

#: sed/execute.c:647
#, c-format
msgid "%s: warning: failed to get security context of %s: %s"
msgstr "%s: advarsel: kunne ikke hente sikkerhedskontekst for %s: %s"

#: sed/execute.c:664 sed/utils.c:211
#, c-format
msgid "couldn't open temporary file %s: %s"
msgstr "kunne ikke åbne midlertidig fil %s: %s"

#: sed/execute.c:1193 sed/execute.c:1373
msgid "error in subprocess"
msgstr "fejl i underproces"

#: sed/execute.c:1195
msgid "option `e' not supported"
msgstr "tilvalg 'e' er ikke understøttet"

#: sed/execute.c:1375
msgid "`e' command not supported"
msgstr "'e'-kommando er ikke understøttet"

#: sed/execute.c:1725
msgid "no input files"
msgstr "ingen inddatafiler"

#: sed/regexp.c:39
msgid "no previous regular expression"
msgstr "intet forudgående regulært udtryk"

#: sed/regexp.c:40
msgid "cannot specify modifiers on empty regexp"
msgstr "kan ikke angive modifikatorer på tomt regulært udtryk"

#: sed/regexp.c:129
#, c-format
msgid "invalid reference \\%d on `s' command's RHS"
msgstr "ugyldig reference \\%d på 's'-kommandos højreside"

#: sed/sed.c:32
msgid "Jay Fenlason"
msgstr ""

#: sed/sed.c:33
msgid "Tom Lord"
msgstr ""

#: sed/sed.c:34
msgid "Ken Pizzini"
msgstr ""

#: sed/sed.c:35
msgid "Paolo Bonzini"
msgstr ""

#: sed/sed.c:79
#, c-format
msgid ""
"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
msgstr ""
"Hjemmeside for GNU sed: <http://www.gnu.org/software/sed/>.\n"
"Generel hjælp til GNU-programmer: <http://www.gnu.org/gethelp/>.\n"

#: sed/sed.c:86
#, c-format
msgid ""
"E-mail bug reports to: <%s>.\n"
"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
msgstr ""
"Send fejlrapporter på engelsk pr. e-post til: <%s>.\n"
"Sørg venligst for at skrive ordet \"%s\" et sted i emnefeltet.\n"

#: sed/sed.c:99
msgid ""
"  -R, --regexp-perl\n"
"                 use Perl 5's regular expressions syntax in the script.\n"
msgstr ""
"  -R, --regexp-perl\n"
"                 brug Perl 5's syntaks for regulære udtryk i skriptet\n"

#: sed/sed.c:104
#, c-format
msgid ""
"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
"\n"
msgstr ""
"Brug: %s [FLAG]... {script-kun-hvis-intet-andet-script} [inddatafil]...\n"
"\n"

#: sed/sed.c:108
#, c-format
msgid ""
"  -n, --quiet, --silent\n"
"                 suppress automatic printing of pattern space\n"
msgstr ""
"  -n, --quiet, --silent\n"
"                 undertryk automatisk udskrift af mønsterrum\n"

#: sed/sed.c:110
#, c-format
msgid ""
"  -e script, --expression=script\n"
"                 add the script to the commands to be executed\n"
msgstr ""
"  -e script, --expression=script\n"
"                 tilføj scriptet til kommandoerne, der skal køres\n"

#: sed/sed.c:112
#, c-format
msgid ""
"  -f script-file, --file=script-file\n"
"                 add the contents of script-file to the commands to be "
"executed\n"
msgstr ""
"  -f script-file, --file=scriptfil\n"
"                 føj indholdet af scriptfil til kommandoerne, der skal "
"køres\n"

#: sed/sed.c:115
#, c-format
msgid ""
"  --follow-symlinks\n"
"                 follow symlinks when processing in place\n"
msgstr ""
"  --follow-symlinks\n"
"                 følg symlænker når der redigeres i filer\n"

#: sed/sed.c:118
#, fuzzy, c-format
msgid ""
"  -i[SUFFIX], --in-place[=SUFFIX]\n"
"                 edit files in place (makes backup if SUFFIX supplied)\n"
msgstr ""
"  -i[SUFFIKS], --in-place[=SUFFIKS]\n"
"                 redigér filer (laver sikkerhedskopi hvis filendelse er "
"givet)\n"

#: sed/sed.c:121
#, c-format
msgid ""
"  -b, --binary\n"
"                 open files in binary mode (CR+LFs are not processed "
"specially)\n"
msgstr ""
"  -b, --binary\n"
"                 åbn filer i binær tilstand (CR+LF specialbehandles ikke)\n"

#: sed/sed.c:124
#, c-format
msgid ""
"  -l N, --line-length=N\n"
"                 specify the desired line-wrap length for the `l' command\n"
msgstr ""
"  -l N, --line-length=N\n"
"                 angiv ønsket længde for linjeombrydning til 'l'-kommandoen\n"

#: sed/sed.c:126
#, c-format
msgid ""
"  --posix\n"
"                 disable all GNU extensions.\n"
msgstr ""
"  --posix\n"
"                 slå alle GNU-udvidelser fra.\n"

#: sed/sed.c:128
#, c-format
msgid ""
"  -r, --regexp-extended\n"
"                 use extended regular expressions in the script.\n"
msgstr ""
"  -r, --regexp-extended\n"
"                 brug udvidede regulære udtryk i scriptet.\n"

#: sed/sed.c:133
#, c-format
msgid ""
"  -s, --separate\n"
"                 consider files as separate rather than as a single "
"continuous\n"
"                 long stream.\n"
msgstr ""
"  -s, --separate\n"
"                 betragt filer som separate frem for som en enkelt, "
"kontinuert\n"
"                 strøm.\n"

#: sed/sed.c:136
#, c-format
msgid ""
"  -u, --unbuffered\n"
"                 load minimal amounts of data from the input files and "
"flush\n"
"                 the output buffers more often\n"
msgstr ""
"  -u, --unbuffered\n"
"                 indlæs minimale mængder af data fra inddatafilerne, og tøm\n"
"                 uddatabufferne oftere\n"

#: sed/sed.c:139
#, c-format
msgid ""
"  -z, --null-data\n"
"                 separate lines by NUL characters\n"
msgstr ""

#: sed/sed.c:141
#, c-format
msgid "      --help     display this help and exit\n"
msgstr "      --help     vis denne hjælp og afslut\n"

#: sed/sed.c:142
#, c-format
msgid "      --version  output version information and exit\n"
msgstr "      --version  udskriv versionsinformation og afslut\n"

#: sed/sed.c:143
#, c-format
msgid ""
"\n"
"If no -e, --expression, -f, or --file option is given, then the first\n"
"non-option argument is taken as the sed script to interpret.  All\n"
"remaining arguments are names of input files; if no input files are\n"
"specified, then the standard input is read.\n"
"\n"
msgstr ""
"\n"
"Hvis der ikke er givet nogen af flagene -e, --expression, -f eller --file, "
"så\n"
"vil første argument, der ikke er et flag, betragtes som et sed-script, der "
"skal\n"
"fortolkes.  Alle resterende argumenter er navne på inddatafiler; hvis ingen\n"
"inddatafiler er angivet, læses standard-inddata.\n"

#: sed/utils.c:74 sed/utils.c:432
#, c-format
msgid "cannot remove %s: %s"
msgstr "kan ikke fjerne %s: %s"

#: sed/utils.c:144
#, c-format
msgid "couldn't open file %s: %s"
msgstr "kunne ikke åbne filen %s: %s"

#: sed/utils.c:167
#, c-format
msgid "couldn't attach to %s: %s"
msgstr "kunne ikke vedhæfte til %s: %s"

#: sed/utils.c:229
#, c-format
msgid "couldn't write %d item to %s: %s"
msgid_plural "couldn't write %d items to %s: %s"
msgstr[0] "kunne ikke skrive %d element til %s: %s"
msgstr[1] "kunne ikke skrive %d elementer til %s: %s"

#: sed/utils.c:244 sed/utils.c:267
#, c-format
msgid "read error on %s: %s"
msgstr "læsefejl på %s: %s"

#: sed/utils.c:372
#, c-format
msgid "couldn't follow symlink %s: %s"
msgstr "kunne ikke følge symlænken %s: %s"

#: sed/utils.c:406
#, c-format
msgid "cannot stat %s: %s"
msgstr "kan ikke køre stat på %s: %s"

#: sed/utils.c:437
#, c-format
msgid "cannot rename %s: %s"
msgstr "kan ikke omdøbe %s: %s"

#: lib/regcomp.c:132
msgid "Success"
msgstr "Godt resultat"

#: lib/regcomp.c:135
msgid "No match"
msgstr "Intet resultat"

#: lib/regcomp.c:138
msgid "Invalid regular expression"
msgstr "Ugyldigt regulært udtryk"

#: lib/regcomp.c:141
msgid "Invalid collation character"
msgstr "Ugyldigt sorteringstegn"

#: lib/regcomp.c:144
msgid "Invalid character class name"
msgstr "Ugyldigt navn på tegnklasse"

#: lib/regcomp.c:147
msgid "Trailing backslash"
msgstr "Afsluttende omvendt skråstreg"

#: lib/regcomp.c:150
msgid "Invalid back reference"
msgstr "Ugyldig reference bagud"

#: lib/regcomp.c:153
msgid "Unmatched [ or [^"
msgstr "Uparret [ eller [^"

#: lib/regcomp.c:156
msgid "Unmatched ( or \\("
msgstr "Uparret ( eller \\("

#: lib/regcomp.c:159
msgid "Unmatched \\{"
msgstr "Uparret \\{"

#: lib/regcomp.c:162
msgid "Invalid content of \\{\\}"
msgstr "Ugyldigt indhold af \\{\\}"

#: lib/regcomp.c:165
msgid "Invalid range end"
msgstr "Ugyldig slutning på område"

#: lib/regcomp.c:168
msgid "Memory exhausted"
msgstr "Hukommelsen opbrugt"

#: lib/regcomp.c:171
msgid "Invalid preceding regular expression"
msgstr "Ugyldigt forudgående regulært udtryk"

#: lib/regcomp.c:174
msgid "Premature end of regular expression"
msgstr "Ufuldstændigt regulært udtryk"

#: lib/regcomp.c:177
msgid "Regular expression too big"
msgstr "Regulært udtryk for stort"

#: lib/regcomp.c:180
msgid "Unmatched ) or \\)"
msgstr "Uparret ) eller \\)"

#: lib/regcomp.c:705
msgid "No previous regular expression"
msgstr "Intet forudgående regulært udtryk"

#~ msgid "super-sed version %s\n"
#~ msgstr "super-sed version %s\n"

#~ msgid ""
#~ "based on GNU sed version %s\n"
#~ "\n"
#~ msgstr ""
#~ "baseret på GNU sed version %s\n"
#~ "\n"

#~ msgid "GNU sed version %s\n"
#~ msgstr "GNU sed version %s\n"

#~ msgid ""
#~ "Copyright (C) %d Free Software Foundation, Inc.\n"
#~ "This is free software; see the source for copying conditions.  There is "
#~ "NO\n"
#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR "
#~ "PURPOSE,\n"
#~ "to the extent permitted by law.\n"
#~ msgstr ""
#~ "Ophavsret (C) %d Free Software Foundation, Inc.\n"
#~ "Dette er frit programmel; se kildeteksten for kopieringsbetingelser.\n"
#~ "Der er INGEN garanti; end ikke for SALGBARHED eller EGNETHED TIL NOGET\n"
#~ "BESTEMT FORMÅL, i det omfang som loven tillader.\n"

#~ msgid "Called savchar() with unexpected pushback (%x)"
#~ msgstr "savchar() kaldt med uventet tilbageskub (%x)"

#~ msgid "INTERNAL ERROR: bad address type"
#~ msgstr "INTERN FEJL: forkert adressetype"

#~ msgid "INTERNAL ERROR: Bad cmd %c"
#~ msgstr "INTERN FEJL: Forkert værdi af cmd %c"

#~ msgid ""
#~ "Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
#~ "\n"
#~ "  -n, --quiet, --silent\n"
#~ "                 suppress automatic printing of pattern space\n"
#~ "  -e script, --expression=script\n"
#~ "                 add the script to the commands to be executed\n"
#~ "  -f script-file, --file=script-file\n"
#~ "                 add the contents of script-file to the commands to be "
#~ "executed\n"
#~ "  -i[suffix], --in-place[=suffix]\n"
#~ "                 edit files in place (makes backup if extension "
#~ "supplied)\n"
#~ "  -l N, --line-length=N\n"
#~ "                 specify the desired line-wrap length for the `l' "
#~ "command\n"
#~ "  -r, --regexp-extended\n"
#~ "                 use extended regular expressions in the script.\n"
#~ "%s  -s, --separate\n"
#~ "                 consider files as separate rather than as a single "
#~ "continuous\n"
#~ "                 long stream.\n"
#~ "  -u, --unbuffered\n"
#~ "                 load minimal amounts of data from the input files and "
#~ "flush\n"
#~ "                 the output buffers more often\n"
#~ "      --help     display this help and exit\n"
#~ "  -V, --version  output version information and exit\n"
#~ "\n"
#~ "If no -e, --expression, -f, or --file option is given, then the first\n"
#~ "non-option argument is taken as the sed script to interpret.  All\n"
#~ "remaining arguments are names of input files; if no input files are\n"
#~ "specified, then the standard input is read.\n"
#~ "\n"
#~ msgstr ""
#~ "Brug: %s [TILVALG]... {skript-hvis-ingen-andre-skripter} [indfil]...\n"
#~ "\n"
#~ "  -n, --quiet, --silent\n"
#~ "                 undgå automatisk udskrivning af arbejdsrummet\n"
#~ "  -e skript, --expression=skript\n"
#~ "                 udfør kommandoerne i skript\n"
#~ "  -f skriptfil, --file=skriptfil\n"
#~ "                 udfør kommandoerne i filen skriptfil\n"
#~ "  -i[endelse], --in-place[=endelse]\n"
#~ "                 redigér i filer (laver sikkerhedskopi hvis endelse er "
#~ "givet)\n"
#~ "  -l N, --line-length=N\n"
#~ "                 angiv ønsket linjedelingslængde for 'l'-kommandoen\n"
#~ "  -r, --regexp-extended\n"
#~ "                 brug udvidede regulære udtryk i skriptet\n"
#~ "%s  -s, --separate\n"
#~ "                 betragt filer som adskilte snarede end som én "
#~ "sammenhængende\n"
#~ "                 lang strøm\n"
#~ "  -u, --unbuffered\n"
#~ "                 indlæs minimale datamængder fra inddatafiler og tøm\n"
#~ "                 oftere uddatabuffere\n"
#~ "  --help         vis denne hjælp og afslut\n"
#~ "  -V, --version  udskriv versionsinformation og afslut\n"
#~ "\n"
#~ "Hvis der ikke er givet nogen '-e', '--expression', '-f' eller '--file'\n"
#~ "tilvalg, så opfattes det første ikke-tilvalgs-argument som et sed-"
#~ "skript.\n"
#~ "Alle resterende argumenter er navne på inddatafiler; hvis ingen inddata-\n"
#~ "filer specificeres, læses fra standard-ind.\n"
#~ "\n"

#~ msgid "Unexpected End-of-file"
#~ msgstr "Uventet Slut-på-Fil"
