# SPDX-License-Identifier: LGPL-2.1-or-later

# Message catalog for systemd's own messages
# Danish translation

# The catalog format is documented on
# https://www.freedesktop.org/wiki/Software/systemd/catalog

# For an explanation why we do all this, see https://xkcd.com/1024/

-- f77379a8490b408bbe5f6940505a777b
Subject: Journalen er blevet startet
Defined-By: systemd
Support: %SUPPORT_URL%

System-journal processen har startet op, åbnet journal filerne for
tilskrivning og er nu klar til at modtage anmodninger.

-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Journalen er blevet stoppet
Defined-By: systemd
Support: %SUPPORT_URL%

System-journal processen er stoppet og har lukket alle aktive journal
filer.

-- a596d6fe7bfa4994828e72309e95d61e
Subject: Beskeder fra en service er blevet undertrykt
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)

En service har logget for mange beskeder inden for en given tidsperiode.
Beskeder fra omtalte service er blevet smidt væk.

Kun beskeder fra omtalte service er smidt væk. Beskeder fra andre
services er ikke påvirket.

Grænsen for hvornår beskeder bliver smidt væk kan konfigureres
med RateLimitIntervalSec= og RateLimitBurst= i
/etc/systemd/journald.conf. Se journald.conf(5) for detaljer herom.

-- e9bf28e6e834481bb6f48f548ad13606
Subject: Journal beskeder er gået tabt
Defined-By: systemd
Support: %SUPPORT_URL%

Kernel beskeder er gået tabt da journal systemet ikke har været i stand
til at håndtere dem hurtigt nok.

-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Fejl-fil genereret for process @COREDUMP_PID@ (@COREDUMP_COMM@)
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)

Process @COREDUMP_PID@ (@COREDUMP_COMM@) har lukket ned og genereret en
fejl-fil.

Dette indikerer som regel en programmeringsfejl i det nedlukkede program
og burde blive reporteret som en bug til folkene bag

-- 8d45620c1a4348dbb17410da57c60c66
Subject: En ny session @SESSION_ID@ er blevet lavet for bruger @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: sd-login(3)

En ny session med ID @SESSION_ID@ er blevet lavet for brugeren @USER_ID@.

Den ledende process for sessionen er @LEADER@.

-- 3354939424b4456d9802ca8333ed424a
Subject: Session @SESSION_ID@ er blevet lukket ned
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: sd-login(3)

En session med ID @SESSION_ID@ er blevet lukket ned.

-- fcbefc5da23d428093f97c82a9290f7b
Subject: En ny arbejdsstation $SEAT_ID@ er nu tilgængelig
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: sd-login(3)

En ny arbejdsstation @SEAT_ID@ er blevet konfigureret og er nu tilgængelig.

-- e7852bfe46784ed0accde04bc864c2d5
Subject: Arbejdsstation @SEAT_ID@ er nu blevet fjernet
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: sd-login(3)

En arbejdsstation @SEAT_ID@ er blevet fjernet og er ikke længere tilgængelig.

-- c7a787079b354eaaa9e77b371893cd27
Subject: Tidsændring
Defined-By: systemd
Support: %SUPPORT_URL%

Systemtiden er blevet ændret til @REALTIME@ mikrosekunder efter d. 1. Januar 1970.

-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Tidszoneændring til @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%

Tidszonen for systemet er blevet ændret til @TIMEZONE@.

-- b07a249cd024414a82dd00cd181378ff
Subject: Opstart af systemet er nu fuldført
Defined-By: systemd
Support: %SUPPORT_URL%

Alle system services i kø til at køre ved opstart, er blevet startet
med success. Bemærk at dette ikke betyder at maskinen er i dvale, da
services stadig kan være i gang med at færdiggøre deres opstart.

Opstart af kernel tog @KERNEL_USEC@ mikrosekunder.

Opstart af initrd tog @INITRD_USEC@ mikrosekunder.

Opstart af userspace tog @USERSPACE_USEC@ mikrosekunder.

-- 6bbd95ee977941e497c48be27c254128
Subject: System slumretilstand @SLEEP@ trådt i kraft
Defined-By: systemd
Support: %SUPPORT_URL%

System er nu gået i @SLEEP@ slumretilstand.

-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: System slumretilstand @SLEEP@ forladt
Defined-By: systemd
Support: %SUPPORT_URL%

Systemet har nu forladt @SLEEP@ slumretilstand.

-- 98268866d1d54a499c4e98921d93bc40
Subject: Systemnedlukning påbegyndt
Defined-By: systemd
Support: %SUPPORT_URL%

Systemnedlukning er blevet påbegyndt. Nedlukningen er nu begyndt og
alle system services er blevet afbrudt og alle filsystemer afmonteret.

-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: Enhed @UNIT@ har påbegyndt opstart
Defined-By: systemd
Support: %SUPPORT_URL%

Enhed @UNIT@ er begyndt at starte op.

-- 39f53479d3a045ac8e11786248231fbf
Subject: Enhed @UNIT har færdiggjort opstart
Defined-By: systemd
Support: %SUPPORT_URL%

Enhed @UNIT@ er færdig med at starte op.

Resultat for opstart er @JOB_RESULT@.

-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: Enhed @UNIT@ har påbegyndt nedlukning
Defined-By: systemd
Support: %SUPPORT_URL%

Enhed @UNIT@ har påbegyndt nedlukning.

-- 9d1aaa27d60140bd96365438aad20286
Subject: Enhed @UNIT@ har færdiggjort nedlukning
Defined-By: systemd
Support: %SUPPORT_URL%

Enhed @UNIT@ har færdiggjort nedlukning.

-- be02cf6855d2428ba40df7e9d022f03d
Subject: Enhed @UNIT@ har fejlet
Defined-By: systemd
Support: %SUPPORT_URL%

Enhed @UNIT@ har fejlet.

Resultatet er @JOB_RESULT@

-- d34d037fff1847e6ae669a370e694725
Subject: Enhed @UNIT@ har påbegyndt genindlæsning af sin konfiguration
Defined-By: systemd
Support: %SUPPORT_URL%

Enhed @UNIT@ er begyndt at genindlæse sin konfiguration

-- 7b05ebc668384222baa8881179cfda54
Subject: Enhed @UNIT@ har færdiggjort genindlæsning af sin konfiguration
Defined-By: systemd
Support: %SUPPORT_URL%

Enhed @UNIT@ er færdig med at genindlæse sin konfiguration

Resultatet er: @JOB_RESULT@.

-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Process @EXECUTABLE@ kunne ikke eksekveres
Defined-By: systemd
Support: %SUPPORT_URL%

Processen @EXECUTABLE@ kunne ikke eksekveres og fejlede.

Processens returnerede fejlkode er @ERRNO@.

-- 0027229ca0644181a76c4e92458afa2e
Subject: Èn eller flere beskeder kunne ikke videresendes til syslog
Defined-By: systemd
Support: %SUPPORT_URL%

Èn eller flere beskeder kunne ikke videresendes til syslog servicen
der kører side-om-side med journald. Dette indikerer typisk at syslog
implementationen ikke har kunnet følge med mængden af ventende beskeder.

-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Monteringspunkt er ikke tomt
Defined-By: systemd
Support: %SUPPORT_URL%

Folderen @WHERE@ er specificeret som monteringspunkt (andet felt i
/etc/fstab eller Where= feltet i systemd enhedsfil) men er ikke tom.
Dette forstyrrer ikke monteringen, men de pre-eksisterende filer i folderen
bliver utilgængelige. For at se de over-monterede filer; montér det
underlæggende filsystem til en anden lokation.

-- 24d8d4452573402496068381a6312df2
Subject: En virtuel maskine eller container er blevet startet
Defined-By: systemd
Support: %SUPPORT_URL%

Den virtuelle maskine @NAME@ med dens leder PID @LEADER@ er blevet
startet og er klar til brug.

-- 58432bd3bace477cb514b56381b8a758
Subject: En virtuel maskine eller container er blevet afbrudt
Defined-By: systemd
Support: %SUPPORT_URL%

Den virtuelle maskine @NAME@ med dens leder PID @LEADER@ er blevet
nedlukket.
