diff --git a/.github/workflows/ci-e2e.yml b/.github/workflows/ci-e2e.yml index 50771bc1f..b60cb193f 100644 --- a/.github/workflows/ci-e2e.yml +++ b/.github/workflows/ci-e2e.yml @@ -46,7 +46,7 @@ jobs: E2E_INSTALL_ROOT: ${{ github.workspace }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 # ── Apache2 + mod_php ─────────────────────────────────────────────────── # Install Apache before setup-php adds external package sources; the app diff --git a/.github/workflows/ci-quality.yml b/.github/workflows/ci-quality.yml index 2fad895da..a4b5c81ee 100644 --- a/.github/workflows/ci-quality.yml +++ b/.github/workflows/ci-quality.yml @@ -51,7 +51,7 @@ jobs: --health-retries=5 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Setup PHP uses: shivammathur/setup-php@v2 @@ -62,9 +62,9 @@ jobs: github-token: '' - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: - node-version: '20' + node-version: '22' # ── Dependency CVE scanning ─────────────────────────────────────────── - name: composer audit (known CVEs) diff --git a/.github/workflows/ci-upgrade-smoke.yml b/.github/workflows/ci-upgrade-smoke.yml index 3ca35cb9c..2dad9e449 100644 --- a/.github/workflows/ci-upgrade-smoke.yml +++ b/.github/workflows/ci-upgrade-smoke.yml @@ -64,7 +64,7 @@ jobs: --health-retries=5 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Setup PHP uses: shivammathur/setup-php@v2 diff --git a/README.md b/README.md index 26ed8ff18..2e506ef31 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,22 @@ Pinakes is a self-hosted, full-featured ILS for schools, municipalities, and pri --- +## What's New in v0.7.41 + +### Features +- **Danish language (da_DK)** ([#279](https://github.com/fabiodalez-dev/Pinakes/issues/279)) — Danish is now a fully selectable interface language, contributed by [@HansUwe52](https://github.com/HansUwe52). Ships the complete UI catalogue (`locale/da_DK.json`, full key parity with the Italian source), route slugs (`locale/routes_da_DK.json`), and the fresh-install seed in Danish (`installer/database/data_da_DK.sql`: 181 genres, 22 email templates, CMS pages, settings). `da_DK` is wired into the installer language step, the email/route fallback chains, and the bundled-locale updater path. Emails fall back to English when a Danish template is missing. + +### Fixes +- **Danish installer seed selection** ([#279](https://github.com/fabiodalez-dev/Pinakes/issues/279)) — the installer's locale maps only knew `it/en/de/fr`, so a Danish install silently seeded the Italian catalogue (genres + emails). All four maps in `Installer.php`, plus `PrivateModeMiddleware` and the `Updater` bundled-locale list, now include `da_DK`. Restored dropped content in the Danish `loan_pickup_ready` email and added the missing `fr_FR` entry to the `I18n` fallback map. + +### Database Changes +- `migrate_0.7.41.sql` — registers the `da_DK` row in the `languages` table on existing installs (idempotent upsert), so Danish appears in the language UI after upgrading. + +### Upgrade Notes +- Back up your database before updating (the in-app updater does this automatically). + +--- + ## What's New in v0.7.40 ### Features diff --git a/app/Middleware/PrivateModeMiddleware.php b/app/Middleware/PrivateModeMiddleware.php index 55651680b..2a77867ed 100644 --- a/app/Middleware/PrivateModeMiddleware.php +++ b/app/Middleware/PrivateModeMiddleware.php @@ -32,7 +32,7 @@ class PrivateModeMiddleware implements MiddlewareInterface ]; /** Locales whose route variants are all registered in web.php. */ - private const LOCALES = ['it_IT', 'en_US', 'de_DE', 'fr_FR']; + private const LOCALES = ['it_IT', 'en_US', 'de_DE', 'fr_FR', 'da_DK']; /** * Path prefixes always allowed (assets, installer, infra endpoints). diff --git a/app/Support/I18n.php b/app/Support/I18n.php index b5b128026..d663d717c 100644 --- a/app/Support/I18n.php +++ b/app/Support/I18n.php @@ -34,6 +34,8 @@ final class I18n 'it_IT' => 'Italiano', 'en_US' => 'English', 'de_DE' => 'Deutsch', + 'fr_FR' => 'Français', + 'da_DK' => 'Dansk', ]; /** diff --git a/app/Support/SettingsMailTemplates.php b/app/Support/SettingsMailTemplates.php index 049159f89..586a00ea1 100644 --- a/app/Support/SettingsMailTemplates.php +++ b/app/Support/SettingsMailTemplates.php @@ -527,7 +527,7 @@ private static function localeOverrides(?string $locale): array return []; } // Map short and full codes to the locale files we ship. - $map = ['en' => 'en_US', 'de' => 'de_DE', 'fr' => 'fr_FR', 'en_US' => 'en_US', 'de_DE' => 'de_DE', 'fr_FR' => 'fr_FR']; + $map = ['en' => 'en_US', 'de' => 'de_DE', 'fr' => 'fr_FR', 'da' => 'da_DK', 'en_US' => 'en_US', 'de_DE' => 'de_DE', 'fr_FR' => 'fr_FR', 'da_DK' => 'da_DK']; $key = $map[$locale] ?? ($map[substr($locale, 0, 2)] ?? null); if ($key === null) { return []; diff --git a/app/Support/Updater.php b/app/Support/Updater.php index 02c5f6eb0..7ebdfded6 100644 --- a/app/Support/Updater.php +++ b/app/Support/Updater.php @@ -2807,7 +2807,7 @@ private function isCustomLocalePath(string $relativePath): bool if (preg_match('#^locale/(?:routes_)?([a-z]{2}_[A-Z]{2})\.json$#', $path, $matches) !== 1) { return false; } - return !in_array($matches[1], ['it_IT', 'en_US', 'de_DE', 'fr_FR'], true); + return !in_array($matches[1], ['it_IT', 'en_US', 'de_DE', 'fr_FR', 'da_DK'], true); } /** diff --git a/app/Support/mail_templates/da_DK.php b/app/Support/mail_templates/da_DK.php new file mode 100644 index 000000000..fd54ec670 --- /dev/null +++ b/app/Support/mail_templates/da_DK.php @@ -0,0 +1,378 @@ + [ + 'subject' => '🎉 Invitation som Administrator', + 'body' => '

Velkommen til teamet!

+

Hej {{nome}} {{cognome}},

+

Du er blevet inviteret som administrator på {{app_name}}.

+
+

Dine adgangsrettigheder

+

Som administrator vil du have adgang til:

+ +
+

Sådan kommer du i gang:

+
    +
  1. Opret din adgangskode ved at klikke på knappen nedenfor
  2. +
  3. Log ind på administrationspanelet
  4. +
+

+ 🔐 Opret Adgangskode + 📊 Admin Dashboard +

+
+

⏰ Vigtigt

+

Linket til oprettelse af adgangskode er gyldigt i 24 timer.

+
+

Velkommen til teamet!

', + ], + 'admin_new_registration' => [ + 'subject' => '👤 Ny registreringsanmodning', + 'body' => ' +

Ny registreringsanmodning

+

En ny bruger har anmodet om adgang til Pinakes:

+

Brugeroplysninger:

+ +

Administrer Brugere

+ ', + ], + 'admin_new_review' => [ + 'subject' => '⭐ Ny anmeldelse afventer godkendelse', + 'body' => '

Ny anmeldelse afventer godkendelse

+

Der er modtaget en ny anmeldelse af bogen:

+

Bog: {{libro_titolo}}

+
+

Bedømmelse: {{stelle}} stjerner ⭐

+

Bruger: {{utente_nome}} ({{utente_email}})

+

Anmeldelsesdato: {{data_recensione}}

+

Titel: {{titolo_recensione}}

+

Beskrivelse:

+

{{descrizione_recensione}}

+
+

+ Administrer Anmeldelse +

+

For at godkende eller afvise denne anmeldelse skal du logge ind i administrationspanelet.

', + ], + 'copy_unavailable_user' => [ + 'subject' => 'ℹ️ Opdatering om din reservation', + 'body' => '

Opdatering om din reservation

+

Hej {{utente_nome}},

+

Vi informerer dig om, at det eksemplar, der var reserveret til din reservation af følgende bog, ikke længere er tilgængeligt:

+
+

Bog: {{libro_titolo}}

+

Årsag: {{motivo}}

+
+

Vi forsøger at tildele dig et andet eksemplar hurtigst muligt. Hvis der ikke bliver flere eksemplarer tilgængelige, forbliver din reservation i køen, og vi giver dig besked, så snart bogen igen er tilgængelig.

+

Vi beklager ulejligheden.

+

Med venlig hilsen,
Bibliotekets team

', + ], + 'loan_approved' => [ + 'subject' => '✅ Din udlånsanmodning er blevet godkendt!', + 'body' => '

Din udlånsanmodning er blevet godkendt!

+

Hej {{utente_nome}},

+

Vi er glade for at kunne fortælle dig, at din udlånsanmodning er blevet godkendt!

+

Lånedetaljer:

+ +
+

📦 Afhentning af bogen

+

{{pickup_instructions}}

+
+

Vigtigt: Husk at aflevere bogen inden udløbsdatoen. Du vil modtage en påmindelse et par dage før udløbet.

+

God fornøjelse med læsningen!

', + ], + 'loan_expiring_warning' => [ + 'subject' => '⚠️ Dit lån udløber snart', + 'body' => ' +

Påmindelse om udløb af lån

+

Hej {{utente_nome}},

+

Vi minder dig om, at dit lån snart udløber:

+

Lånedetaljer:

+ +
+

⏰ Handling påkrævet

+

For at undgå gebyrer skal du aflevere bogen inden udløbsdatoen eller kontakte biblioteket for en eventuel fornyelse.

+
+

Tak for samarbejdet!

+ ', + ], + 'loan_overdue_admin' => [ + 'subject' => 'Lån #{{prestito_id}} er forsinket', + 'body' => '

Forsinket lån

+

Lånet #{{prestito_id}} er nu i status forsinket.

+ +

Grib ind for at kontakte brugeren og rykke for aflevering.

', + ], + 'loan_overdue_notification' => [ + 'subject' => '🚨 Lån udløbet - Handling påkrævet', + 'body' => ' +

Lån udløbet

+

Hej {{utente_nome}},

+

Dit lån er udløbet og skal afleveres omgående:

+

Lånedetaljer:

+ +
+

🚨 Akut handling påkrævet

+

Bogen skal afleveres omgående. Forsinket aflevering kan medføre sanktioner og suspendering af tjenesten.

+
+

Kontakt biblioteket omgående for at løse situationen.

+ ', + ], + 'loan_pickup_cancelled' => [ + 'subject' => '❌ Afhentning annulleret', + 'body' => '

Afhentning annulleret

+

Hej {{utente_nome}},

+

Vi informerer dig om, at afhentningen af følgende bog er blevet annulleret:

+
+

Bog: {{libro_titolo}}

+

Årsag: {{motivo}}

+
+

Bogen er blevet gjort tilgængelig for andre brugere. Hvis du stadig ønsker denne bog, opfordrer vi dig til at indsende en ny låneanmodning.

+

Med venlig hilsen,
Bibliotekets team

', + ], + 'loan_pickup_expired' => [ + 'subject' => '⏰ Afhentningsfristen er udløbet', + 'body' => '

Afhentningsfristen er udløbet

+

Hej {{utente_nome}},

+

Desværre har du ikke afhentet bogen inden for den fastsatte frist.

+
+

Bog: {{libro_titolo}}

+

Afhentningsfrist: {{scadenza_ritiro}}

+
+

Lånet er automatisk blevet annulleret, og bogen er blevet gjort tilgængelig for andre brugere.

+

Hvis du stadig ønsker denne bog, opfordrer vi dig til at indsende en ny låneanmodning.

+

Med venlig hilsen,
Bibliotekets team

', + ], + 'loan_pickup_ready' => [ + 'subject' => '📦 Bog klar til afhentning!', + 'body' => '

Bog klar til afhentning!

+

Hej {{utente_nome}},

+

Vi er glade for at kunne informere dig om, at din bog er klar til afhentning!

+
+

{{libro_titolo}}

+

Lånperiode: {{data_inizio}} - {{data_fine}}

+

Varighed: {{giorni_prestito}} dage

+
+
+

⏰ Afhentningsfrist: {{scadenza_ritiro}}

+

Afhent bogen inden denne dato, ellers annulleres lånet automatisk.

+
+
+

📦 Sådan afhenter du

+

{{pickup_instructions}}

+
+

God fornøjelse med læsningen!

', + ], + 'loan_rejected' => [ + 'subject' => '❌ Din udlånsanmodning er ikke blevet godkendt', + 'body' => '

Din udlånsanmodning er ikke blevet godkendt

+

Hej {{utente_nome}},

+

Vi må desværre meddele dig, at din udlånsanmodning for bogen "{{libro_titolo}}" ikke er blevet godkendt.

+
+

Årsag:

+

{{motivo_rifiuto}}

+
+

Hvis du har spørgsmål eller ønsker yderligere oplysninger, er du velkommen til at kontakte os.

+

Med venlig hilsen,
Biblioteksteamet

', + ], + 'loan_request_notification' => [ + 'subject' => '📚 Ny udlånsanmodning', + 'body' => ' +

Ny udlånsanmodning

+

Der er modtaget en ny udlånsanmodning:

+

Detaljer:

+ +

Administrer Anmodning

+ ', + ], + 'loan_returned' => [ + 'subject' => '✅ Aflevering bekræftet', + 'body' => '

Aflevering bekræftet

+

Hej {{utente_nome}},

+

Vi bekræfter afleveringen af følgende bog. Tak!

+
+

Bog: {{libro_titolo}}

+

Afleveringsdato: {{data_restituzione}}

+
+

Vi håber, du nød læsningen. Vi ses snart på biblioteket!

+

Med venlig hilsen,
Bibliotekets team

', + ], + 'reservation_book_available' => [ + 'subject' => '📚 Reserveret bog klar til afhentning!', + 'body' => '

Din bog er klar til afhentning!

+

Hej {{utente_nome}},

+

Vi er glade for at kunne informere dig om, at bogen, du havde reserveret, nu er tilgængelig og klar til afhentning:

+
+

{{libro_titolo}}

+

Forfatter: {{libro_autore}}

+

ISBN: {{libro_isbn}}

+

Lånperiode: {{data_inizio}} - {{data_fine}}

+
+
+

📦 Næste skridt

+

Kom forbi biblioteket for at hente bogen. Husk at medbringe et gyldigt legitimationsdokument.

+
+

+ 📖 Se Bog + 👤 Mine Lån +

+

Reservationen er blevet konverteret til et lån, der afventer bekræftelse af afhentning.

', + ], + 'reservation_cancelled' => [ + 'subject' => '❌ Reservation annulleret', + 'body' => '

Reservation annulleret

+

Hej {{utente_nome}},

+

Vi informerer dig om, at din reservation af følgende bog er blevet annulleret:

+
+

Bog: {{libro_titolo}}

+

Årsag: {{motivo}}

+
+

Hvis du stadig ønsker denne bog, kan du foretage en ny reservation når som helst.

+

Med venlig hilsen,
Bibliotekets team

', + ], + 'reservation_expired' => [ + 'subject' => '⌛ Reservationen er udløbet', + 'body' => '

Reservationen er udløbet

+

Hej {{utente_nome}},

+

Din reservation af følgende bog er udløbet og er blevet lukket automatisk:

+
+

Bog: {{libro_titolo}}

+

Udløbet den: {{data_scadenza}}

+
+

Hvis du stadig er interesseret, kan du foretage en ny reservation når som helst.

+

Med venlig hilsen,
Bibliotekets team

', + ], + 'user_account_approved' => [ + 'subject' => 'Konto godkendt - Velkommen til biblioteket!', + 'body' => ' +

Din konto er blevet godkendt!

+

Hej {{nome}} {{cognome}},

+

Vi er glade for at kunne fortælle dig, at din konto er blevet godkendt af en administrator.

+

Du kan nu logge ind på systemet og begynde at booke bøger!

+

Detaljer om din konto:

+ +

Log ind nu

+

Velkommen til vores digitale bibliotek!

+ ', + ], + 'user_password_setup' => [ + 'subject' => '🔐 Opret din adgangskode', + 'body' => '

Opret din adgangskode

+

Hej {{nome}} {{cognome}},

+

Din konto på {{app_name}} er blevet oprettet. For at begynde at bruge systemet skal du oprette din adgangskode.

+
+

🔑 Konfigurér din konto

+

Klik på knappen nedenfor for at oprette din adgangskode:

+
+

+ 🔐 Opret Adgangskode +

+
+

⏰ Vigtigt

+

Linket er gyldigt i 24 timer. Hvis det udløber, bedes du kontakte en administrator for at få et nyt.

+
+

Hvis du ikke har anmodet om denne e-mail, kan du se bort fra den.

', + ], + 'user_registration_pending' => [ + 'subject' => 'Registrering modtaget - Afventer godkendelse', + 'body' => ' +

Velkommen {{nome}} {{cognome}}!

+

Din registreringsanmodning er blevet modtaget.

+

Kontodetaljer:

+ + {{sezione_verifica}} +
+

⏳ Konto afventer godkendelse

+

Din konto afventer godkendelse af en administrator. + Du vil modtage en bekræftelsesmail, når kontoen er blevet aktiveret.

+
+

Tak, fordi du valgte Pinakes!

+ ', + ], + 'user_registration_verification' => [ + 'subject' => 'Registrering modtaget - Bekræft din e-mail', + 'body' => '

Velkommen {{nome}} {{cognome}}!

+

Din registrering er modtaget.

+

Kontooplysninger:

+ +{{sezione_verifica}} +
+

Bekræft din e-mailadresse

+

Efter bekræftelsen bliver din konto aktiv, og du kan logge ind med det samme.

+
+

Tak, fordi du valgte Pinakes!

', + ], + 'wishlist_book_available' => [ + 'subject' => '📖 Bog fra din ønskeliste er nu tilgængelig!', + 'body' => ' +

Gode nyheder!

+

Hej {{utente_nome}},

+

Bogen, du tilføjede til din ønskeliste, er nu tilgængelig til udlån:

+
+

{{libro_titolo}}

+

Forfatter: {{libro_autore}}

+

ISBN: {{libro_isbn}}

+

Tilgængelig fra: {{data_disponibilita}}

+
+
+

✨ Reservér med det samme!

+

Bogen er nu tilgængelig til reservation. Skynd dig, før en anden reserverer den!

+
+

+ 📚 Reservér Nu + ❤️ Administrér Ønskeliste +

+

Bogen bliver på din ønskeliste; du vil ikke modtage flere notifikationer om denne titel.

+ ', + ], +]; diff --git a/config/default_texts.php b/config/default_texts.php index d2cfa025f..74b6733d6 100644 --- a/config/default_texts.php +++ b/config/default_texts.php @@ -97,4 +97,36 @@ 'cookie_marketing_description' => 'Ces cookies sont utilisés pour diffuser des publicités personnalisées.', ], ], + 'da_DK' => [ + 'app' => [ + 'footer_description' => 'Dit Pinakes-system til at katalogisere, administrere og dele din bogsamling.', + ], + 'contacts' => [ + 'page_title' => 'Kontakt os', + 'page_content' => '

Kontakt os for yderligere oplysninger.

', + 'privacy_text' => 'Dine data er beskyttet i henhold til vores privatlivspolitik.', + ], + 'privacy' => [ + 'page_title' => 'Privatlivspolitik', + 'page_content' => '

Dit privatliv er vigtigt for os.

', + 'cookie_banner_language' => 'da', + 'cookie_banner_country' => 'DK', + 'cookie_policy_content' => '

Denne side forklarer, hvordan vi bruger cookies på vores websted.

', + ], + 'cookie_banner' => [ + 'banner_description' => '

Vi bruger cookies til at forbedre din oplevelse. Ved at fortsætte med at besøge dette websted accepterer du vores brug af cookies.

', + 'accept_all_text' => 'Accepter alle', + 'reject_non_essential_text' => 'Afvis ikke-nødvendige', + 'save_selected_text' => 'Accepter valgte', + 'preferences_button_text' => 'Præferencer', + 'preferences_title' => 'Tilpas dine cookiepræferencer', + 'preferences_description' => '

Vi respekterer din ret til privatliv. Du kan vælge ikke at tillade visse typer cookies. Dine præferencer vil gælde for hele webstedet.

', + 'cookie_essential_name' => 'Nødvendige cookies', + 'cookie_essential_description' => 'Disse cookies er nødvendige for, at webstedet kan fungere, og kan ikke deaktiveres.', + 'cookie_analytics_name' => 'Analytiske cookies', + 'cookie_analytics_description' => 'Disse cookies hjælper os med at forstå, hvordan besøgende interagerer med webstedet.', + 'cookie_marketing_name' => 'Marketingcookies', + 'cookie_marketing_description' => 'Disse cookies bruges til at levere personlige annoncer.', + ], + ], ]; diff --git a/installer/classes/Installer.php b/installer/classes/Installer.php index 4bef7b599..c1aeba6ad 100755 --- a/installer/classes/Installer.php +++ b/installer/classes/Installer.php @@ -32,12 +32,14 @@ public function createEnvFile($host, $user, $password, $database, $port = 3306, $normalizedLocale = 'de_DE'; } elseif ($normalizedLocale === 'fr' || $normalizedLocale === 'fr_fr') { $normalizedLocale = 'fr_FR'; + } elseif ($normalizedLocale === 'da' || $normalizedLocale === 'da_dk') { + $normalizedLocale = 'da_DK'; } elseif ($normalizedLocale === 'it' || $normalizedLocale === 'it_it') { $normalizedLocale = 'it_IT'; } // Fallback safety - if (!in_array($normalizedLocale, ['it_IT', 'en_US', 'de_DE', 'fr_FR'], true)) { + if (!in_array($normalizedLocale, ['it_IT', 'en_US', 'de_DE', 'fr_FR', 'da_DK'], true)) { $normalizedLocale = 'it_IT'; } @@ -216,7 +218,7 @@ public function importData() { // Get locale from session first (most reliable), fallback to .env $locale = $_SESSION['app_locale'] ?? ($this->config['APP_LOCALE'] ?? 'it'); - // Convert locale code to full form (supports it, it_IT, en, en_US, de, de_DE, fr, fr_FR) + // Convert locale code to full form (supports it, it_IT, en, en_US, de, de_DE, fr, fr_FR, da, da_DK) $localeMap = [ 'it' => 'it_IT', 'it_it' => 'it_IT', @@ -226,6 +228,8 @@ public function importData() { 'de_de' => 'de_DE', 'fr' => 'fr_FR', 'fr_fr' => 'fr_FR', + 'da' => 'da_DK', + 'da_dk' => 'da_DK', ]; $normalizedLocale = strtolower(str_replace('-', '_', $locale)); $fullLocale = $localeMap[$normalizedLocale] ?? 'it_IT'; @@ -804,6 +808,7 @@ public function createAdminUser($nome, $cognome, $email, $password) { 'en' => 'en_US', 'en_us' => 'en_US', 'de' => 'de_DE', 'de_de' => 'de_DE', 'fr' => 'fr_FR', 'fr_fr' => 'fr_FR', + 'da' => 'da_DK', 'da_dk' => 'da_DK', ]; $supportedLocales = array_values(array_unique(array_values($localeMap))); $normalized = strtolower(str_replace('-', '_', $rawLocale)); @@ -1252,6 +1257,9 @@ private function getInstallerLocale(): string if ($locale === 'fr' || $locale === 'fr_fr') { return 'fr_FR'; } + if ($locale === 'da' || $locale === 'da_dk') { + return 'da_DK'; + } if ($locale === 'it' || $locale === 'it_it') { return 'it_IT'; } diff --git a/installer/database/data_da_DK.sql b/installer/database/data_da_DK.sql new file mode 100644 index 000000000..b1efca32f --- /dev/null +++ b/installer/database/data_da_DK.sql @@ -0,0 +1,380 @@ +-- Initial data for Pinakes +-- Generated by installer + +SET FOREIGN_KEY_CHECKS=0; + +INSERT INTO `system_settings` (`category`, `setting_key`, `setting_value`, `description`) VALUES +('cms', 'events_page_enabled', '1', 'Aktiver eller deaktiver begivenhedssiden på frontend') +ON DUPLICATE KEY UPDATE description = VALUES(description), updated_at = NOW(); + +INSERT INTO `system_settings` (`category`, `setting_key`, `setting_value`, `description`) VALUES +('system', 'catalogue_mode', '0', 'Kun katalog-tilstand – deaktiverer lån, reservationer og ønskeliste') +ON DUPLICATE KEY UPDATE description = VALUES(description), updated_at = NOW(); + +INSERT INTO `system_settings` (`category`, `setting_key`, `setting_value`, `description`) VALUES +('loans', 'pickup_expiry_days', '3', 'Antal dage til at afhente et godkendt lån, før det udløber') +ON DUPLICATE KEY UPDATE description = VALUES(description), updated_at = NOW(); + +INSERT INTO `system_settings` (`category`, `setting_key`, `setting_value`, `description`) VALUES +('loans', 'loan_duration_days', '30', 'Standardvarighed for et lån i dage') +ON DUPLICATE KEY UPDATE description = VALUES(description), updated_at = NOW(); + +INSERT INTO `system_settings` (`category`, `setting_key`, `setting_value`, `description`) VALUES +('loans', 'max_active_loans_per_user', '0', 'Maksimalt antal aktive lån pr. bruger (0 = ingen grænse)') +ON DUPLICATE KEY UPDATE description = VALUES(description), updated_at = NOW(); + +INSERT INTO `system_settings` (`category`, `setting_key`, `setting_value`, `description`) VALUES +('loans', 'max_renewals', '3', 'Maksimalt antal fornyelser tilladt pr. lån') +ON DUPLICATE KEY UPDATE description = VALUES(description), updated_at = NOW(); + +INSERT INTO `system_settings` (`category`, `setting_key`, `setting_value`, `description`) VALUES +('loans', 'max_loan_duration_days', '90', 'Maksimal lånevarighed, der kan anmodes om, i dage') +ON DUPLICATE KEY UPDATE description = VALUES(description), updated_at = NOW(); + +INSERT INTO `generi` VALUES (1,'Prosa',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',NULL); +INSERT INTO `generi` VALUES (2,'Poesi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',NULL); +INSERT INTO `generi` VALUES (3,'Teater',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',NULL); +INSERT INTO `generi` VALUES (4,'Skønlitteratur',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',1); +INSERT INTO `generi` VALUES (5,'Faglitteratur',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',1); +INSERT INTO `generi` VALUES (6,'Veltalenhed',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',1); +INSERT INTO `generi` VALUES (7,'Epik',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',2); +INSERT INTO `generi` VALUES (8,'Didaktisk digtning',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',2); +INSERT INTO `generi` VALUES (9,'Lyrik',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',2); +INSERT INTO `generi` VALUES (10,'Prosateater',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',3); +INSERT INTO `generi` VALUES (11,'Musikteater',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',3); +INSERT INTO `generi` VALUES (12,'Roman - fragment',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (13,'Roman - historisk - alternativhistorie',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (14,'Roman - historisk - ukroni',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (15,'Roman - historisk - kappe og kårde eller wuxia',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (16,'Roman - historisk - peplum eller sword and sandal',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (17,'Roman - science fiction - teknologisk science fiction - Singularity Fiction',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (18,'Roman - science fiction - teknologisk science fiction - cyberpunk - postcyberpunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (19,'Roman - science fiction - teknologisk science fiction - cyberpunk - biopunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (20,'Roman - science fiction - teknologisk science fiction - cyberpunk - nanopunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (21,'Roman - science fiction - teknologisk science fiction - cyberpunk - dieselpunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (22,'Roman - science fiction - teknologisk science fiction - cyberpunk - decopunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (23,'Roman - science fiction - teknologisk science fiction - cyberpunk - swordpunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (24,'Roman - science fiction - teknologisk science fiction - cyberpunk - sandalpunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (25,'Roman - science fiction - teknologisk science fiction - cyberpunk - rokokopunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (26,'Roman - science fiction - teknologisk science fiction - cyberpunk - nowpunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (27,'Roman - science fiction - teknologisk science fiction - cyberpunk - steelpunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (28,'Roman - science fiction - teknologisk science fiction - cyberpunk - raypunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (29,'Roman - science fiction - teknologisk science fiction - cyberpunk - dreampunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (30,'Roman - science fiction - teknologisk science fiction - cyberpunk - elfpunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (31,'Roman - science fiction - teknologisk science fiction - cyberpunk - ecopunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (32,'Roman - science fiction - teknologisk science fiction - cyberpunk - clockpunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (33,'Roman - science fiction - teknologisk science fiction - cyberpunk - atompunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (34,'Roman - science fiction - teknologisk science fiction - cyberpunk - mythpunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (35,'Roman - science fiction - teknologisk science fiction - cyberpunk - stonepunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (36,'Roman - science fiction - teknologisk science fiction - cyberpunk - steampunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (37,'Roman - science fiction - teknologisk science fiction - cyberpunk - solarpunk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (38,'Roman - science fiction - teknologisk science fiction - space opera - militær space opera',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (39,'Roman - science fiction - teknologisk science fiction - space opera - space western',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (40,'Roman - science fiction - teknologisk science fiction - space opera - xenofiktion',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (41,'Roman - science fiction - teknologisk science fiction - apokalyptisk og postapokalyptisk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (42,'Roman - science fiction - teknologisk science fiction - planetary romance og sword and planet',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (43,'Roman - science fiction - teknologisk science fiction - tidsrejser',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (44,'Roman - science fiction - teknologisk science fiction - new wave',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (45,'Roman - science fiction - teknologisk science fiction - edisonade',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (46,'Roman - science fiction - politisk science fiction - utopi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (47,'Roman - science fiction - politisk science fiction - dystopi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (48,'Roman - fantasy - high fantasy eller episk fantasy - sword and sorcery',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (49,'Roman - fantasy - high fantasy eller episk fantasy - dark fantasy',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (50,'Roman - fantasy - low fantasy',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (51,'Roman - fantasy - magisk realisme',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (52,'Roman - fantasy - nutidsfantasy - urban fantasy',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (53,'Roman - fantasy - nutidsfantasy - bangsiansk fantasy',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (54,'Roman - eventyrroman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (55,'Roman - dannelsesroman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (56,'Roman - føljetonroman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (57,'Roman - ungdomsroman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (58,'Roman - gyserroman - gotisk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (59,'Roman - actionroman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (60,'Roman - spionroman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (61,'Roman - thriller - mysterie-thriller',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (62,'Roman - thriller - psykologisk thriller',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (63,'Roman - thriller - spionthriller',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (64,'Roman - thriller - noir-thriller',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (65,'Roman - thriller - action-thriller - pulp - krimithriller',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (66,'Roman - thriller - teknothriller',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (67,'Roman - thriller - retsthriller',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (68,'Roman - thriller - politisk thriller - konspirationsthriller',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (69,'Roman - krimi - retskrimi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (70,'Roman - krimi - lægekrimi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (71,'Roman - krimi - mysterium i det lukkede rum',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (72,'Roman - noir - storbynoir',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (73,'Roman - hardboiled',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (74,'Roman - softboiled',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (75,'Roman - politiroman - police procedural',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (76,'Roman - kærlighedsroman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (77,'Roman - erotisk roman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (78,'Roman - psykologisk roman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (79,'Roman - humoristisk roman - sort humor',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (80,'Roman - humoristisk roman - satire',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (81,'Roman - humoristisk roman - parodi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (82,'Roman - socialroman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (83,'Roman - brevroman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (84,'Novelle - samme undergenrer som romanen',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (85,'Eventyr',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (86,'Prosafabel',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (87,'Historieskrivning - monografi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (88,'Historieskrivning - annaler',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (89,'Historieskrivning - krønike',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (90,'Historieskrivning - verdenshistorie',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (91,'Biografi - selvbiografi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (92,'Biografi - erindringslitteratur',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (93,'Dagbog',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',4); +INSERT INTO `generi` VALUES (94,'Dialog',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (95,'Afhandling',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (96,'Essay',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (97,'Pjece - smædeskrift',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (98,'Aforisme',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (99,'Apologi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (100,'Parabel',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (101,'Manifest',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (102,'Emblematik',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (103,'Prosaepistel - privat',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (104,'Prosaepistel - offentlig',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (105,'aretalogi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (106,'hagiografi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (107,'kerygmatisk biografi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (108,'filosofisk roman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (109,'undersøgende roman',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',5); +INSERT INTO `generi` VALUES (110,'Retorik - epideiktisk retorik',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',6); +INSERT INTO `generi` VALUES (111,'Retorik - juridisk retorik',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',6); +INSERT INTO `generi` VALUES (112,'Retorik - rådgivende retorik',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',6); +INSERT INTO `generi` VALUES (113,'Episk digt - historisk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',7); +INSERT INTO `generi` VALUES (114,'Episk digt - mytologisk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',7); +INSERT INTO `generi` VALUES (115,'Episk digt - kollektivt',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',7); +INSERT INTO `generi` VALUES (116,'Episk digt - ridderepos',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',7); +INSERT INTO `generi` VALUES (117,'Episk digt - kortere episk digt',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',7); +INSERT INTO `generi` VALUES (118,'Epyllion',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',7); +INSERT INTO `generi` VALUES (119,'Heltekomisk digt - kortere heltekomisk digt',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',7); +INSERT INTO `generi` VALUES (120,'Didaktisk-allegorisk digt - kortere didaktisk-allegorisk digt',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',8); +INSERT INTO `generi` VALUES (121,'Didaktisk digt - kortere didaktisk digt',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',8); +INSERT INTO `generi` VALUES (122,'Visdomsdigt - kortere visdomsdigt',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',8); +INSERT INTO `generi` VALUES (123,'Profeti',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',8); +INSERT INTO `generi` VALUES (124,'versfabel',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',8); +INSERT INTO `generi` VALUES (125,'filosofisk versepistel',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',8); +INSERT INTO `generi` VALUES (126,'monodisk lyrik - elegi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (127,'monodisk lyrik - jambe - kinaidion',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (128,'monodisk lyrik - jambe - meliambe',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (129,'korlyrik - dithyrambe',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (130,'korlyrik - encomium',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (131,'korlyrik - epicedium',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (132,'korlyrik - epinikion',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (133,'korlyrik - epithalamium',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (134,'korlyrik - hymenaios',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (135,'korlyrik - hymne',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (136,'korlyrik - hyporchema',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (137,'korlyrik - nomos',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (138,'korlyrik - partheneion',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (139,'korlyrik - pæan',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (140,'korlyrik - prosodion',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (141,'korlyrik - skolion',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (142,'korlyrik - threnos',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (143,'Bøn',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (144,'Lauda',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (145,'Bukolisk poesi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (146,'Satire',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (147,'Sonet',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (148,'Kanzone - petrarkisk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (149,'Kanzone - fri',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (150,'Capitolo (digtform)',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (151,'Carme (digt)',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (152,'Ode',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (153,'Madrigal',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (154,'Ballade',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (155,'Kort lyrisk digt',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (156,'Cento',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (157,'Frie vers',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (158,'Kalligram',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (159,'Lyrisk epistel',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',9); +INSERT INTO `generi` VALUES (160,'Tragedie',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',10); +INSERT INTO `generi` VALUES (161,'Komedie',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',10); +INSERT INTO `generi` VALUES (162,'Drama',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',10); +INSERT INTO `generi` VALUES (163,'Melodrama',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',10); +INSERT INTO `generi` VALUES (164,'Commedia dell''arte',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',10); +INSERT INTO `generi` VALUES (165,'Farce',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',10); +INSERT INTO `generi` VALUES (166,'Sketch',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',10); +INSERT INTO `generi` VALUES (167,'Prosamime',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',10); +INSERT INTO `generi` VALUES (168,'Opera - opera seria',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (169,'Opera - opera buffa',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (170,'Opera - operette',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (171,'Opera - farce',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (172,'Opera - zarzuela',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (173,'Opera - intermezzi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (174,'Ballet',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (175,'Pantomime',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (176,'Lyrisk mime - mimiambe',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (177,'Lyrisk mime - hilarodi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (178,'Lyrisk mime - magodi',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (179,'Lyrisk mime - musikalsk',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (180,'Musikdrama',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `generi` VALUES (181,'Oratorium',NULL,'2025-10-20 16:20:00','2025-10-20 16:20:00',11); +INSERT INTO `home_content` (section_key, title, subtitle, content, button_text, button_link, is_active, display_order, created_at, updated_at) VALUES +('hero', 'Dit digitale bibliotek', 'Udforsk, reservér og administrer din bogsamling', NULL, 'Udforsk kataloget', '/katalog', 1, -2, NOW(), NOW()), +('features_title', 'Hvorfor vælge Pinakes', 'En moderne, intuitiv oplevelse af biblioteksadministration, altid lige ved hånden', NULL, NULL, NULL, 1, 0, NOW(), NOW()), +('feature_1', 'Forenklet administration', 'Katalogiser dine bøger, håndter lån og afleveringer med en intuitiv og hurtig grænseflade', 'fas fa-tasks', NULL, NULL, 1, 1, NOW(), NOW()), +('feature_2', 'Komplet katalogisering', 'Importer data fra ISBN, organiser efter kategorier, generer etiketter og spor hvert fysisk eksemplar', 'fas fa-book', NULL, NULL, 1, 2, NOW(), NOW()), +('feature_3', 'Lånesystem', 'Håndter lån, forfaldsdatoer, fornyelser og automatiske e-mailnotifikationer til brugere og personale', 'fas fa-exchange-alt', NULL, NULL, 1, 3, NOW(), NOW()), +('feature_4', 'Open source og gratis', '100% gratis software uden licensomkostninger. Tilpas og bidrag til Pinakes-projektet', 'fas fa-code-branch', NULL, NULL, 1, 4, NOW(), NOW()), +('text_content', 'Πίνακες (Pinakes) – "Tavlerne"', NULL, '

Navnet Pinakes stammer fra det oldgræske πίνακες (pinakes), som betyder "tavler" eller "tabeller". Det hylder Kallimachos fra Kyrene (305-240 f.Kr.), som omkring 245 f.Kr. skabte det første systematiske bibliotekskatalog i historien for Biblioteket i Alexandria: Πίνακες τῶν ἐν πάσῃ παιδείᾳ διαλαμψάντων καὶ ὧν συνέγραψαν ("Tavler over dem, der har udmærket sig inden for ethvert vidensområde, og deres værker").

Dette monumentale værk, bestående af 120 ruller, organiserede systematisk over 120.000 papyrusruller i biblioteket. Selvom de originale Pinakes er gået tabt, har deres katalogiseringsmetode haft dybtgående indflydelse på moderne biblioteksvidenskab.

Dette projekt viderefører den årtusindgamle tradition på 2.268 år ved at bringe de samme principper om organisering og tilgængelighed af viden ind i den digitale tidsalder.

', NULL, NULL, 1, 4, NOW(), NOW()), +('latest_books_title', 'Seneste tilføjelser', 'Opdag de seneste tilføjelser til kataloget', NULL, NULL, NULL, 1, 5, NOW(), NOW()), +('genre_carousel', 'Udforsk de vigtigste genrer', 'Udforsk vores tematiske rødder, og lad dig inspirere af de tilgængelige titler.', NULL, NULL, NULL, 1, 6, NOW(), NOW()), +('events', 'Kommende arrangementer', 'Deltag i vores næste møder', NULL, NULL, NULL, 1, 7, NOW(), NOW()), +('cta', 'Klar til at komme i gang?', 'Registrer dig nu, og begynd at udforske vores katalog', NULL, 'Registrer dig nu', '/registrer', 1, 8, NOW(), NOW()); +SET FOREIGN_KEY_CHECKS=1; + +-- Themes with Danish descriptions +INSERT INTO `themes` (`name`, `slug`, `version`, `author`, `description`, `active`, `settings`) VALUES +('Pinakes Classic', 'default', '1.0.0', 'Pinakes Team', 'Standardtema med Pinakes\' oprindelige magentafarver', 1, '{"colors": {"primary": "#d70161", "secondary": "#111827", "button": "#d70262", "button_text": "#ffffff"}, "typography": {"font_family": "system-ui, sans-serif", "font_size_base": "16px"}, "logo": {"url": "", "width": "auto", "height": "50px"}, "advanced": {"custom_css": "", "custom_js": ""}}'), +('Minimal', 'minimal-bw', '1.0.0', 'Pinakes Team', 'Minimalistisk design med sort, grå og hvid for et rent og elegant udtryk', 0, '{"colors": {"primary": "#404040", "secondary": "#000000", "button": "#808080", "button_text": "#ffffff"}, "typography": {"font_family": "system-ui, sans-serif", "font_size_base": "16px"}, "logo": {"url": "", "width": "auto", "height": "50px"}, "advanced": {"custom_css": "", "custom_js": ""}}'), +('Ocean Blue', 'ocean-blue', '1.0.0', 'Pinakes Team', 'Moderne og professionelle havblå nuancer til en frisk brugerflade', 0, '{"colors": {"primary": "#0284c7", "secondary": "#0c4a6e", "button": "#0ea5e9", "button_text": "#ffffff"}, "typography": {"font_family": "system-ui, sans-serif", "font_size_base": "16px"}, "logo": {"url": "", "width": "auto", "height": "50px"}, "advanced": {"custom_css": "", "custom_js": ""}}'), +('Forest Green', 'forest-green', '1.0.0', 'Pinakes Team', 'Naturlig smaragdgrøn, der fremkalder naturens ro', 0, '{"colors": {"primary": "#059669", "secondary": "#064e3b", "button": "#10b981", "button_text": "#ffffff"}, "typography": {"font_family": "system-ui, sans-serif", "font_size_base": "16px"}, "logo": {"url": "", "width": "auto", "height": "50px"}, "advanced": {"custom_css": "", "custom_js": ""}}'), +('Sunset Orange', 'sunset-orange', '1.0.0', 'Pinakes Team', 'Varm og indbydende orange inspireret af middelhavssolnedgange', 0, '{"colors": {"primary": "#ea580c", "secondary": "#7c2d12", "button": "#f97316", "button_text": "#ffffff"}, "typography": {"font_family": "system-ui, sans-serif", "font_size_base": "16px"}, "logo": {"url": "", "width": "auto", "height": "50px"}, "advanced": {"custom_css": "", "custom_js": ""}}'), +('Burgundy', 'burgundy-red', '1.0.0', 'Pinakes Team', 'Elegant og raffineret bordeauxrød til et sofistikeret udtryk', 0, '{"colors": {"primary": "#be123c", "secondary": "#881337", "button": "#e11d48", "button_text": "#ffffff"}, "typography": {"font_family": "system-ui, sans-serif", "font_size_base": "16px"}, "logo": {"url": "", "width": "auto", "height": "50px"}, "advanced": {"custom_css": "", "custom_js": ""}}'), +('Teal Professional', 'teal-professional', '1.0.0', 'Pinakes Team', 'Professionel blågrøn, perfekt til erhvervsmiljøer', 0, '{"colors": {"primary": "#0d9488", "secondary": "#134e4a", "button": "#14b8a6", "button_text": "#ffffff"}, "typography": {"font_family": "system-ui, sans-serif", "font_size_base": "16px"}, "logo": {"url": "", "width": "auto", "height": "50px"}, "advanced": {"custom_css": "", "custom_js": ""}}'), +('Slate Gray', 'slate-gray', '1.0.0', 'Pinakes Team', 'Moderne skifergrå til et neutralt og nutidigt design', 0, '{"colors": {"primary": "#475569", "secondary": "#1e293b", "button": "#64748b", "button_text": "#ffffff"}, "typography": {"font_family": "system-ui, sans-serif", "font_size_base": "16px"}, "logo": {"url": "", "width": "auto", "height": "50px"}, "advanced": {"custom_css": "", "custom_js": ""}}'), +('Coral Warm', 'coral-warm', '1.0.0', 'Pinakes Team', 'Varme og indbydende koralnuancer til en behagelig atmosfære', 0, '{"colors": {"primary": "#f43f5e", "secondary": "#9f1239", "button": "#fb7185", "button_text": "#ffffff"}, "typography": {"font_family": "system-ui, sans-serif", "font_size_base": "16px"}, "logo": {"url": "", "width": "auto", "height": "50px"}, "advanced": {"custom_css": "", "custom_js": ""}}'), +('Navy Classic', 'navy-classic', '1.0.0', 'Pinakes Team', 'Klassisk og tidløs marineblå til et institutionelt udtryk', 0, '{"colors": {"primary": "#1e40af", "secondary": "#1e3a8a", "button": "#3b82f6", "button_text": "#ffffff"}, "typography": {"font_family": "system-ui, sans-serif", "font_size_base": "16px"}, "logo": {"url": "", "width": "auto", "height": "50px"}, "advanced": {"custom_css": "", "custom_js": ""}}'); + +-- CMS pages in Danish +INSERT INTO `cms_pages` VALUES (1,'chi-siamo','da_DK','Om os','

Velkommen til Pinakes

\n

Pinakes er et moderne, intuitivt og helt gratis biblioteksadministrationssystem. Bygget til at forenkle bogkatalogisering, håndtering af lån og administration af biblioteker af enhver størrelse.

\n\n

🎯 Vores mission

\n

At gøre biblioteksadministration tilgængelig for alle, uden licensomkostninger eller begrænsninger. Pinakes er 100% open source, frit og gratis for alle.

\n\n

✨ Vigtigste funktioner

\n\n\n

🚀 Hvorfor vælge Pinakes?

\n

Pinakes opstod ud fra behovet for at tilbyde et professionelt, pålideligt og gratis værktøj til administration af skolebiblioteker, foreninger og private samlinger. Du behøver ikke være it-ekspert: den intuitive grænseflade gør det muligt for alle at komme i gang med det samme.

\n\n

📖 Kom i gang i dag

\n

Tilpas denne side med oplysninger om dit bibliotek, dit team og dine services. Gå til admin-panelet (CMS > Sider) for at redigere dette indhold og gøre det unikt.

\n\n

Dette er eksempelindhold. Tilpas det for at fortælle historien om dit bibliotek!

',NULL,NULL,1,'2025-10-01 10:35:27','2025-10-01 10:35:27'); +INSERT INTO `cms_pages` VALUES (2,'privacy-policy','da_DK','Privatlivspolitik','

Privatlivspolitik

\n

Dette er en pladsholderside for privatlivspolitikken. Tilpas dette indhold i henhold til gældende lovgivning (GDPR) og de specifikke behov i dit bibliotek.

\n\n

1. Dataansvarlig

\n

[Indsæt oplysninger om den dataansvarlige her: navn, adresse, e-mail, telefon]

\n\n

2. Indsamlede data

\n

Personoplysninger indsamlet gennem dette system omfatter:

\n\n\n

3. Formål med behandlingen

\n

Data behandles udelukkende til:

\n\n\n

4. Den registreredes rettigheder

\n

Brugere har ret til at få adgang til deres data samt anmode om berigtigelse, sletning eller begrænsning af behandlingen, som fastsat i Forordning (EU) 2016/679 (GDPR).

\n\n

VIGTIGT: Dette er en eksempelskabelon. Kontakt en juridisk rådgiver for at udarbejde en privatlivspolitik, der overholder gældende lovgivning.

\n\n

Gå til admin-panelet (CMS > Sider) for at tilpasse denne side.

',NULL,NULL,1,'2025-10-01 10:35:27','2025-10-01 10:35:27'); + +-- Email Templates - Italian only +INSERT INTO `email_templates` VALUES (1,'admin_new_registration','da_DK','👤 Ny registreringsanmodning','\n

Ny registreringsanmodning

\n

En ny bruger har anmodet om adgang til Pinakes:

\n

Brugeroplysninger:

\n \n

Administrer Brugere

\n ','Email inviata agli admin quando un nuovo utente si registra.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (2,'admin_new_review','da_DK','⭐ Ny anmeldelse afventer godkendelse','

Ny anmeldelse afventer godkendelse

\n

Der er modtaget en ny anmeldelse af bogen:

\n

Bog: {{libro_titolo}}

\n
\n

Bedømmelse: {{stelle}} stjerner ⭐

\n

Bruger: {{utente_nome}} ({{utente_email}})

\n

Anmeldelsesdato: {{data_recensione}}

\n

Titel: {{titolo_recensione}}

\n

Beskrivelse:

\n

{{descrizione_recensione}}

\n
\n

\n Administrer Anmeldelse\n

\n

For at godkende eller afvise denne anmeldelse skal du logge ind i administrationspanelet.

','Inviata agli amministratori quando viene ricevuta una nuova recensione da approvare.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (3,'loan_approved','da_DK','✅ Din udlånsanmodning er blevet godkendt!','

Din udlånsanmodning er blevet godkendt!

\n

Hej {{utente_nome}},

\n

Vi er glade for at kunne fortælle dig, at din udlånsanmodning er blevet godkendt!

\n

Lånedetaljer:

\n\n
\n

📦 Afhentning af bogen

\n

{{pickup_instructions}}

\n
\n

Vigtigt: Husk at aflevere bogen inden udløbsdatoen. Du vil modtage en påmindelse et par dage før udløbet.

\n

God fornøjelse med læsningen!

','Inviata all\'utente quando un amministratore approva una richiesta di prestito.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (4,'loan_rejected','da_DK','❌ Din udlånsanmodning er ikke blevet godkendt','

Din udlånsanmodning er ikke blevet godkendt

\n

Hej {{utente_nome}},

\n

Vi må desværre meddele dig, at din udlånsanmodning for bogen "{{libro_titolo}}" ikke er blevet godkendt.

\n
\n

Årsag:

\n

{{motivo_rifiuto}}

\n
\n

Hvis du har spørgsmål eller ønsker yderligere oplysninger, er du velkommen til at kontakte os.

\n

Med venlig hilsen,
Biblioteksteamet

','Inviata all\'utente quando un amministratore rifiuta una richiesta di prestito.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (5,'loan_expiring_warning','da_DK','⚠️ Dit lån udløber snart','\n

Påmindelse om udløb af lån

\n

Hej {{utente_nome}},

\n

Vi minder dig om, at dit lån snart udløber:

\n

Lånedetaljer:

\n \n
\n

⏰ Handling påkrævet

\n

For at undgå gebyrer skal du aflevere bogen inden udløbsdatoen eller kontakte biblioteket for en eventuel fornyelse.

\n
\n

Tak for samarbejdet!

\n ','Email inviata all\'utente 3 giorni prima della scadenza del prestito.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (6,'loan_overdue_admin','da_DK','Lån #{{prestito_id}} er forsinket','

Forsinket lån

\n

Lånet #{{prestito_id}} er nu i status forsinket.

\n\n

Grib ind for at kontakte brugeren og rykke for aflevering.

','Avvisa gli amministratori quando un prestito entra in ritardo.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (7,'loan_overdue_notification','da_DK','🚨 Lån udløbet - Handling påkrævet','\n

Lån udløbet

\n

Hej {{utente_nome}},

\n

Dit lån er udløbet og skal afleveres omgående:

\n

Lånedetaljer:

\n \n
\n

🚨 Akut handling påkrævet

\n

Bogen skal afleveres omgående. Forsinket aflevering kan medføre sanktioner og suspendering af tjenesten.

\n
\n

Kontakt biblioteket omgående for at løse situationen.

\n ','Email inviata all\'utente quando il prestito è scaduto.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (8,'loan_request_notification','da_DK','📚 Ny udlånsanmodning','\n

Ny udlånsanmodning

\n

Der er modtaget en ny udlånsanmodning:

\n

Detaljer:

\n \n

Administrer Anmodning

\n ','Email inviata agli admin quando un utente richiede un prestito.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (9,'user_account_approved','da_DK','Konto godkendt - Velkommen til biblioteket!','\n

Din konto er blevet godkendt!

\n

Hej {{nome}} {{cognome}},

\n

Vi er glade for at kunne fortælle dig, at din konto er blevet godkendt af en administrator.

\n

Du kan nu logge ind på systemet og begynde at booke bøger!

\n

Detaljer om din konto:

\n \n

Log ind nu

\n

Velkommen til vores digitale bibliotek!

\n ','Email inviata quando un admin approva direttamente l\'account senza richiedere verifica email.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (10,'user_activation_with_verification','da_DK','Aktivér din konto - Bekræft email','\n

Din konto er blevet godkendt!

\n

Hej {{nome}} {{cognome}},

\n

Vi er glade for at kunne fortælle dig, at din konto er blevet godkendt af en administrator.

\n

📧 Bekræft din email

\n

For at fuldføre aktiveringen skal du klikke på knappen nedenfor for at bekræfte din emailadresse:

\n

\n ✅ Bekræft Email\n

\n

Detaljer om din konto:

\n \n
\n

⏰ Vigtigt

\n

Bekræftelseslinket er gyldigt i 7 dage. Efter bekræftelsen kan du logge ind på systemet og booke bøger.

\n
\n

Hvis du ikke har anmodet om denne registrering, kan du se bort fra denne email.

\n ','Email inviata quando un admin approva l\'account richiedendo la verifica email.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (11,'user_registration_pending','da_DK','Registrering modtaget - Afventer godkendelse','\n

Velkommen {{nome}} {{cognome}}!

\n

Din registreringsanmodning er blevet modtaget.

\n

Kontodetaljer:

\n \n {{sezione_verifica}}\n
\n

⏳ Konto afventer godkendelse

\n

Din konto afventer godkendelse af en administrator.\n Du vil modtage en bekræftelsesmail, når kontoen er blevet aktiveret.

\n
\n

Tak, fordi du valgte Pinakes!

\n ','Email inviata all\'utente dopo la registrazione, quando l\'account è in attesa di approvazione.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (12,'wishlist_book_available','da_DK','📖 Bog fra din ønskeliste er nu tilgængelig!','\n

Gode nyheder!

\n

Hej {{utente_nome}},

\n

Bogen, du tilføjede til din ønskeliste, er nu tilgængelig til udlån:

\n
\n

{{libro_titolo}}

\n

Forfatter: {{libro_autore}}

\n

ISBN: {{libro_isbn}}

\n

Tilgængelig fra: {{data_disponibilita}}

\n
\n
\n

✨ Reservér med det samme!

\n

Bogen er nu tilgængelig til reservation. Skynd dig, før en anden reserverer den!

\n
\n

\n 📚 Reservér Nu\n ❤️ Administrér Ønskeliste\n

\n

Bogen bliver på din ønskeliste; du vil ikke modtage flere notifikationer om denne titel.

\n ','Email inviata quando un libro della wishlist diventa disponibile.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (13,'reservation_book_available','da_DK','📚 Reserveret bog klar til afhentning!','

Din bog er klar til afhentning!

\n

Hej {{utente_nome}},

\n

Vi er glade for at kunne informere dig om, at bogen, du havde reserveret, nu er tilgængelig og klar til afhentning:

\n
\n

{{libro_titolo}}

\n

Forfatter: {{libro_autore}}

\n

ISBN: {{libro_isbn}}

\n

Lånperiode: {{data_inizio}} - {{data_fine}}

\n
\n
\n

📦 Næste skridt

\n

Kom forbi biblioteket for at hente bogen. Husk at medbringe et gyldigt legitimationsdokument.

\n
\n

\n 📖 Se Bog\n 👤 Mine Lån\n

\n

Reservationen er blevet konverteret til et lån, der afventer bekræftelse af afhentning.

','Email inviata quando un libro prenotato diventa disponibile e viene convertito in prestito.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (14,'user_password_setup','da_DK','🔐 Opret din adgangskode','

Opret din adgangskode

\n

Hej {{nome}} {{cognome}},

\n

Din konto på {{app_name}} er blevet oprettet. For at begynde at bruge systemet skal du oprette din adgangskode.

\n
\n

🔑 Konfigurér din konto

\n

Klik på knappen nedenfor for at oprette din adgangskode:

\n
\n

\n 🔐 Opret Adgangskode\n

\n
\n

⏰ Vigtigt

\n

Linket er gyldigt i 24 timer. Hvis det udløber, bedes du kontakte en administrator for at få et nyt.

\n
\n

Hvis du ikke har anmodet om denne e-mail, kan du se bort fra den.

','Email inviata ai nuovi utenti per impostare la password del loro account.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (15,'admin_invitation','da_DK','🎉 Invitation som Administrator','

Velkommen til teamet!

\n

Hej {{nome}} {{cognome}},

\n

Du er blevet inviteret som administrator på {{app_name}}.

\n
\n

Dine adgangsrettigheder

\n

Som administrator vil du have adgang til:

\n \n
\n

Sådan kommer du i gang:

\n
    \n
  1. Opret din adgangskode ved at klikke på knappen nedenfor
  2. \n
  3. Log ind på administrationspanelet
  4. \n
\n

\n 🔐 Opret Adgangskode\n 📊 Admin Dashboard\n

\n
\n

⏰ Vigtigt

\n

Linket til oprettelse af adgangskode er gyldigt i 24 timer.

\n
\n

Velkommen til teamet!

','Email inviata quando un utente viene invitato come amministratore.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (16,'loan_pickup_ready','da_DK','📦 Bog klar til afhentning!','

Bog klar til afhentning!

\n

Hej {{utente_nome}},

\n

Vi er glade for at kunne informere dig om, at din bog er klar til afhentning!

\n
\n

{{libro_titolo}}

\n

Lånperiode: {{data_inizio}} - {{data_fine}}

\n

Varighed: {{giorni_prestito}} dage

\n
\n
\n

⏰ Afhentningsfrist: {{scadenza_ritiro}}

\n

Afhent bogen inden denne dato, ellers annulleres lånet automatisk.

\n
\n
\n

📦 Sådan afhenter du

\n

{{pickup_instructions}}

\n
\n

God fornøjelse med læsningen!

','Inviata quando un prestito è stato approvato e il libro è pronto per il ritiro.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (17,'loan_pickup_expired','da_DK','⏰ Afhentningsfristen er udløbet','

Afhentningsfristen er udløbet

\n

Hej {{utente_nome}},

\n

Desværre har du ikke afhentet bogen inden for den fastsatte frist.

\n
\n

Bog: {{libro_titolo}}

\n

Afhentningsfrist: {{scadenza_ritiro}}

\n
\n

Lånet er automatisk blevet annulleret, og bogen er blevet gjort tilgængelig for andre brugere.

\n

Hvis du stadig ønsker denne bog, opfordrer vi dig til at indsende en ny låneanmodning.

\n

Med venlig hilsen,
Bibliotekets team

','Inviata quando il tempo per ritirare un libro è scaduto e il prestito è stato annullato.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (18,'loan_pickup_cancelled','da_DK','❌ Afhentning annulleret','

Afhentning annulleret

\n

Hej {{utente_nome}},

\n

Vi informerer dig om, at afhentningen af følgende bog er blevet annulleret:

\n
\n

Bog: {{libro_titolo}}

\n

Årsag: {{motivo}}

\n
\n

Bogen er blevet gjort tilgængelig for andre brugere. Hvis du stadig ønsker denne bog, opfordrer vi dig til at indsende en ny låneanmodning.

\n

Med venlig hilsen,
Bibliotekets team

','Inviata quando un ritiro viene annullato dall''amministratore.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (19,'loan_returned','da_DK','✅ Aflevering bekræftet','

Aflevering bekræftet

\n

Hej {{utente_nome}},

\n

Vi bekræfter afleveringen af følgende bog. Tak!

\n
\n

Bog: {{libro_titolo}}

\n

Afleveringsdato: {{data_restituzione}}

\n
\n

Vi håber, du nød læsningen. Vi ses snart på biblioteket!

\n

Med venlig hilsen,
Bibliotekets team

','Inviata all\'utente quando un prestito viene registrato come restituito.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (20,'reservation_expired','da_DK','⌛ Reservationen er udløbet','

Reservationen er udløbet

\n

Hej {{utente_nome}},

\n

Din reservation af følgende bog er udløbet og er blevet lukket automatisk:

\n
\n

Bog: {{libro_titolo}}

\n

Udløbet den: {{data_scadenza}}

\n
\n

Hvis du stadig er interesseret, kan du foretage en ny reservation når som helst.

\n

Med venlig hilsen,
Bibliotekets team

','Inviata all\'utente quando una prenotazione scade automaticamente senza essere stata convertita in prestito.',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (21,'copy_unavailable_user','da_DK','ℹ️ Opdatering om din reservation','

Opdatering om din reservation

\n

Hej {{utente_nome}},

\n

Vi informerer dig om, at det eksemplar, der var reserveret til din reservation af følgende bog, ikke længere er tilgængeligt:

\n
\n

Bog: {{libro_titolo}}

\n

Årsag: {{motivo}}

\n
\n

Vi forsøger at tildele dig et andet eksemplar hurtigst muligt. Hvis der ikke bliver flere eksemplarer tilgængelige, forbliver din reservation i køen, og vi giver dig besked, så snart bogen igen er tilgængelig.

\n

Vi beklager ulejligheden.

\n

Med venlig hilsen,
Bibliotekets team

','Inviata all\'utente quando la copia riservata per la sua prenotazione diventa indisponibile (persa o danneggiata).',1,NULL,NULL); +INSERT INTO `email_templates` VALUES (22,'reservation_cancelled','da_DK','❌ Reservation annulleret','

Reservation annulleret

\n

Hej {{utente_nome}},

\n

Vi informerer dig om, at din reservation af følgende bog er blevet annulleret:

\n
\n

Bog: {{libro_titolo}}

\n

Årsag: {{motivo}}

\n
\n

Hvis du stadig ønsker denne bog, kan du foretage en ny reservation når som helst.

\n

Med venlig hilsen,
Bibliotekets team

','Inviata all\'utente quando una prenotazione viene annullata dall\'amministrazione.',1,NULL,NULL); + +-- ============================================================================ +-- System Settings - Complete default configuration +-- These replace the old storage/settings.json file +-- ============================================================================ + +INSERT INTO `system_settings` (`category`, `setting_key`, `setting_value`, `description`, `updated_at`) VALUES +-- App settings +('app', 'name', 'Pinakes', 'Applikationsnavn', NOW()), +('app', 'logo_path', '', 'Sti til applikationens logo', NOW()), +('app', 'footer_description', 'Dit Pinakes-system til at katalogisere, administrere og dele din bogsamling.', 'Sidefodsbeskrivelse', NOW()), +('app', 'locale', 'da_DK', 'Default application locale', NOW()), +('app', 'social_facebook', '', 'Facebook-profil-URL', NOW()), +('app', 'social_twitter', '', 'Twitter-profil-URL', NOW()), +('app', 'social_instagram', '', 'Instagram-profil-URL', NOW()), +('app', 'social_linkedin', '', 'LinkedIn-profil-URL', NOW()), +('app', 'social_bluesky', '', 'Bluesky-profil-URL', NOW()), +('app', 'social_telegram', '', 'Telegram-kanal/gruppe-URL', NOW()), + +-- Le impostazioni email sono configurate dall'utente nello step 6 dell'installer +-- Nessun valore predefinito qui per evitare di sovrascrivere le scelte dell'utente + +-- Registration settings +('registration', 'require_admin_approval', '1', 'Kræv administratorgodkendelse for nye registreringer', NOW()), + +-- Contacts page settings +('contacts', 'page_title', 'Kontakt os', 'Titel på kontaktsiden', NOW()), +('contacts', 'page_content', '

Kontakt os for yderligere oplysninger.

', 'Indhold på kontaktsiden', NOW()), +('contacts', 'contact_email', '', 'Kontakt-e-mailadresse', NOW()), +('contacts', 'contact_phone', '', 'Kontakttelefonnummer', NOW()), +('contacts', 'google_maps_embed', '', 'Indlejringskode til Google Maps', NOW()), +('contacts', 'privacy_text', 'Dine data er beskyttet i henhold til vores privatlivspolitik.', 'Privatlivsfriskrivningstekst', NOW()), +('contacts', 'recaptcha_site_key', '', 'reCAPTCHA-webstedsnøgle', NOW()), +('contacts', 'recaptcha_secret_key', '', 'reCAPTCHA-hemmelig nøgle', NOW()), +('contacts', 'notification_email', '', 'E-mail, hvor indsendelser fra kontaktformularen sendes', NOW()), + +-- Privacy page settings +('privacy', 'page_title', 'Privatlivspolitik', 'Titel på privatlivspolitiksiden', NOW()), +('privacy', 'page_content', '

Dit privatliv er vigtigt for os.

', 'Indhold i privatlivspolitikken', NOW()), +('privacy', 'cookie_banner_enabled', '1', 'Aktiver cookie-samtykkebanner', NOW()), +('privacy', 'cookie_banner_language', 'da', 'Sprog for cookie-banner', NOW()), +('privacy', 'cookie_banner_country', 'DK', 'Land for cookie-banner', NOW()), +('privacy', 'cookie_statement_link', '', 'Link til cookieerklæring', NOW()), +('privacy', 'cookie_technologies_link', '', 'Link til side om cookieteknologier', NOW()), +('privacy', 'cookie_policy_content', '

Denne side forklarer, hvordan vi bruger cookies på vores websted.

', 'Indhold på cookiepolitiksiden', NOW()), + +-- Cookie banner settings +('cookie_banner', 'banner_description', '

Vi bruger cookies til at forbedre din oplevelse. Ved at fortsætte med at besøge dette websted accepterer du vores brug af cookies.

', 'Beskrivelse af cookie-banner', NOW()), +('cookie_banner', 'accept_all_text', 'Accepter alle', 'Tekst til knappen "Accepter alle"', NOW()), +('cookie_banner', 'reject_non_essential_text', 'Afvis ikke-nødvendige', 'Tekst til knappen "Afvis ikke-nødvendige"', NOW()), +('cookie_banner', 'preferences_button_text', 'Præferencer', 'Tekst til knappen "Præferencer"', NOW()), +('cookie_banner', 'save_selected_text', 'Accepter valgte', 'Tekst til knappen "Gem valgte"', NOW()), +('cookie_banner', 'preferences_title', 'Tilpas dine cookiepræferencer', 'Titel på præferencevindue', NOW()), +('cookie_banner', 'preferences_description', '

Vi respekterer din ret til privatliv. Du kan vælge ikke at tillade visse typer cookies. Dine præferencer vil gælde for hele webstedet.

', 'Beskrivelse af præferencevindue', NOW()), +('cookie_banner', 'cookie_essential_name', 'Nødvendige cookies', 'Navn på nødvendige cookies', NOW()), +('cookie_banner', 'cookie_essential_description', 'Disse cookies er nødvendige for, at webstedet kan fungere, og kan ikke deaktiveres.', 'Beskrivelse af nødvendige cookies', NOW()), +('cookie_banner', 'show_analytics', '1', 'Vis mulighed for analytiske cookies', NOW()), +('cookie_banner', 'cookie_analytics_name', 'Analytiske cookies', 'Navn på analytiske cookies', NOW()), +('cookie_banner', 'cookie_analytics_description', 'Disse cookies hjælper os med at forstå, hvordan besøgende interagerer med webstedet.', 'Beskrivelse af analytiske cookies', NOW()), +('cookie_banner', 'show_marketing', '1', 'Vis mulighed for marketingcookies', NOW()), +('cookie_banner', 'cookie_marketing_name', 'Marketingcookies', 'Navn på marketingcookies', NOW()), +('cookie_banner', 'cookie_marketing_description', 'Disse cookies bruges til at levere personlige annoncer.', 'Beskrivelse af marketingcookies', NOW()), + +-- Advanced settings +('advanced', 'custom_js_essential', '', 'Brugerdefineret JavaScript til nødvendige cookies', NOW()), +('advanced', 'custom_js_analytics', '', 'Brugerdefineret JavaScript til analytiske cookies', NOW()), +('advanced', 'custom_js_marketing', '', 'Brugerdefineret JavaScript til marketingcookies', NOW()), +('advanced', 'custom_header_css', '', 'Brugerdefineret CSS til header', NOW()), +('advanced', 'custom_header_js', '', 'Brugerdefineret JavaScript til header', NOW()), +('advanced', 'days_before_expiry_warning', '3', 'Antal dage før advarsel om udløb af kort', NOW()), +('advanced', 'sitemap_last_generated_at', '', 'Tidsstempel for seneste sitemap-generering', NOW()), +('advanced', 'sitemap_last_generated_total', '0', 'Samlet antal URL''er i det seneste genererede sitemap', NOW()), +('advanced', 'api_enabled', '0', 'Aktiver API-adgang', NOW()), + +-- Label printing settings +('label', 'width', '25', 'Etiketbredde i mm', NOW()), +('label', 'height', '38', 'Etikethøjde i mm', NOW()), +('label', 'format_name', '25x38mm (Standard)', 'Navn på etiketformat', NOW()), + +-- API settings +('api', 'enabled', '0', 'Aktiver API globalt', NOW()), + +-- Social sharing settings +('sharing', 'enabled_providers', 'facebook,x,whatsapp,email', 'Aktiverede udbydere til social deling på bogens detaljeside', NOW()) +ON DUPLICATE KEY UPDATE + description = VALUES(description), + updated_at = NOW(); + +-- Seed data for languages table +-- Issue #108: seed ALL shipped locales, not just the installer-chosen one, +-- so users whose `utenti.locale` differs from the install default +-- (e.g. a de_DE user on an it_IT install) can still have their locale +-- restored by RememberMeMiddleware → I18n::setLocale(), which gates on +-- `languages` table membership. +-- FIX F020: added ON DUPLICATE KEY UPDATE so re-running this seeder on an +-- existing DB (recovery / reinstall-test.sh path) doesn't fail with a +-- duplicate-key error on `languages.code`. Mirrors data_de_DE.sql:319. +-- FIX F023: total_keys/translated_keys/completion_percentage updated to real +-- JSON key counts (jq '[paths(scalars)] | length'): it_IT=493, en_US=4653, +-- de_DE=4653, fr_FR=4993. Previous values (2015/4009/4080) were stale and +-- inconsistent with migrate_0.7.5.sql (which used 4145). Fresh installs now +-- match the actual translation file contents. +INSERT INTO `languages` (`code`, `name`, `native_name`, `flag_emoji`, `is_default`, `is_active`, `translation_file`, `total_keys`, `translated_keys`, `completion_percentage`) VALUES +('it_IT', 'Italian', 'Italiano', '🇮🇹', 1, 1, NULL, 493, 493, 100.00), +('en_US', 'English', 'English', '🇬🇧', 0, 1, 'locale/en_US.json', 4653, 4653, 100.00), +('de_DE', 'German', 'Deutsch', '🇩🇪', 0, 1, 'locale/de_DE.json', 4653, 4653, 100.00), +('fr_FR', 'French', 'Français', '🇫🇷', 0, 1, 'locale/fr_FR.json', 4993, 4993, 100.00), +('da_DK', 'Danish', 'Dansk', '🇩🇰', 0, 1, 'locale/da_DK.json', 6604, 6604, 100.00) +ON DUPLICATE KEY UPDATE name = VALUES(name), native_name = VALUES(native_name), flag_emoji = VALUES(flag_emoji), translation_file = VALUES(translation_file), total_keys = VALUES(total_keys), translated_keys = VALUES(translated_keys), completion_percentage = VALUES(completion_percentage), is_active = VALUES(is_active), is_default = VALUES(is_default); + + +SET FOREIGN_KEY_CHECKS=1; diff --git a/installer/database/data_de_DE.sql b/installer/database/data_de_DE.sql index 6610274ef..605090928 100644 --- a/installer/database/data_de_DE.sql +++ b/installer/database/data_de_DE.sql @@ -340,7 +340,8 @@ INSERT INTO `languages` (`code`, `name`, `native_name`, `flag_emoji`, `is_defaul ('it_IT', 'Italian', 'Italiano', '🇮🇹', 0, 1, NULL, 493, 493, 100.00), ('en_US', 'English', 'English', '🇬🇧', 0, 1, 'locale/en_US.json', 4653, 4653, 100.00), ('de_DE', 'German', 'Deutsch', '🇩🇪', 1, 1, 'locale/de_DE.json', 4653, 4653, 100.00), -('fr_FR', 'French', 'Français', '🇫🇷', 0, 1, 'locale/fr_FR.json', 4993, 4993, 100.00) +('fr_FR', 'French', 'Français', '🇫🇷', 0, 1, 'locale/fr_FR.json', 4993, 4993, 100.00), +('da_DK', 'Danish', 'Dansk', '🇩🇰', 0, 1, 'locale/da_DK.json', 6579, 6579, 100.00) ON DUPLICATE KEY UPDATE name = VALUES(name), native_name = VALUES(native_name), flag_emoji = VALUES(flag_emoji), translation_file = VALUES(translation_file), total_keys = VALUES(total_keys), translated_keys = VALUES(translated_keys), completion_percentage = VALUES(completion_percentage), is_active = VALUES(is_active), is_default = VALUES(is_default); -- Home Content (German) diff --git a/installer/database/data_en_US.sql b/installer/database/data_en_US.sql index 8c70dad1b..0de1132e6 100644 --- a/installer/database/data_en_US.sql +++ b/installer/database/data_en_US.sql @@ -345,7 +345,8 @@ INSERT INTO `languages` (`code`, `name`, `native_name`, `flag_emoji`, `is_defaul ('it_IT', 'Italian', 'Italiano', '🇮🇹', 0, 1, NULL, 493, 493, 100.00), ('en_US', 'English', 'English', '🇬🇧', 1, 1, 'locale/en_US.json', 4653, 4653, 100.00), ('de_DE', 'German', 'Deutsch', '🇩🇪', 0, 1, 'locale/de_DE.json', 4653, 4653, 100.00), -('fr_FR', 'French', 'Français', '🇫🇷', 0, 1, 'locale/fr_FR.json', 4993, 4993, 100.00) +('fr_FR', 'French', 'Français', '🇫🇷', 0, 1, 'locale/fr_FR.json', 4993, 4993, 100.00), +('da_DK', 'Danish', 'Dansk', '🇩🇰', 0, 1, 'locale/da_DK.json', 6579, 6579, 100.00) ON DUPLICATE KEY UPDATE name = VALUES(name), native_name = VALUES(native_name), flag_emoji = VALUES(flag_emoji), translation_file = VALUES(translation_file), total_keys = VALUES(total_keys), translated_keys = VALUES(translated_keys), completion_percentage = VALUES(completion_percentage), is_active = VALUES(is_active), is_default = VALUES(is_default); -- Home Content (English) diff --git a/installer/database/data_fr_FR.sql b/installer/database/data_fr_FR.sql index b9aae268a..03e60c900 100644 --- a/installer/database/data_fr_FR.sql +++ b/installer/database/data_fr_FR.sql @@ -340,7 +340,8 @@ INSERT INTO `languages` (`code`, `name`, `native_name`, `flag_emoji`, `is_defaul ('it_IT', 'Italian', 'Italiano', '🇮🇹', 0, 1, NULL, 493, 493, 100.00), ('en_US', 'English', 'English', '🇬🇧', 0, 1, 'locale/en_US.json', 4653, 4653, 100.00), ('de_DE', 'German', 'Deutsch', '🇩🇪', 0, 1, 'locale/de_DE.json', 4653, 4653, 100.00), -('fr_FR', 'French', 'Français', '🇫🇷', 1, 1, 'locale/fr_FR.json', 4993, 4993, 100.00) +('fr_FR', 'French', 'Français', '🇫🇷', 1, 1, 'locale/fr_FR.json', 4993, 4993, 100.00), +('da_DK', 'Danish', 'Dansk', '🇩🇰', 0, 1, 'locale/da_DK.json', 6579, 6579, 100.00) ON DUPLICATE KEY UPDATE name = VALUES(name), native_name = VALUES(native_name), flag_emoji = VALUES(flag_emoji), translation_file = VALUES(translation_file), total_keys = VALUES(total_keys), translated_keys = VALUES(translated_keys), completion_percentage = VALUES(completion_percentage), is_active = VALUES(is_active), is_default = VALUES(is_default); -- Home Content (French) diff --git a/installer/database/data_it_IT.sql b/installer/database/data_it_IT.sql index b95395dc0..9e3f37957 100644 --- a/installer/database/data_it_IT.sql +++ b/installer/database/data_it_IT.sql @@ -372,7 +372,8 @@ INSERT INTO `languages` (`code`, `name`, `native_name`, `flag_emoji`, `is_defaul ('it_IT', 'Italian', 'Italiano', '🇮🇹', 1, 1, NULL, 493, 493, 100.00), ('en_US', 'English', 'English', '🇬🇧', 0, 1, 'locale/en_US.json', 4653, 4653, 100.00), ('de_DE', 'German', 'Deutsch', '🇩🇪', 0, 1, 'locale/de_DE.json', 4653, 4653, 100.00), -('fr_FR', 'French', 'Français', '🇫🇷', 0, 1, 'locale/fr_FR.json', 4993, 4993, 100.00) +('fr_FR', 'French', 'Français', '🇫🇷', 0, 1, 'locale/fr_FR.json', 4993, 4993, 100.00), +('da_DK', 'Danish', 'Dansk', '🇩🇰', 0, 1, 'locale/da_DK.json', 6579, 6579, 100.00) ON DUPLICATE KEY UPDATE name = VALUES(name), native_name = VALUES(native_name), flag_emoji = VALUES(flag_emoji), translation_file = VALUES(translation_file), total_keys = VALUES(total_keys), translated_keys = VALUES(translated_keys), completion_percentage = VALUES(completion_percentage), is_active = VALUES(is_active), is_default = VALUES(is_default); diff --git a/installer/database/migrations/migrate_0.7.41.sql b/installer/database/migrations/migrate_0.7.41.sql new file mode 100644 index 000000000..5ebe7fdcd --- /dev/null +++ b/installer/database/migrations/migrate_0.7.41.sql @@ -0,0 +1,30 @@ +-- Pinakes v0.7.41 — Danish (da_DK) language registration +-- +-- Registers the Danish locale in the `languages` table so existing installs +-- that upgrade to v0.7.41 pick up da_DK and expose it in the language UI. +-- Fresh installs already seed da_DK via data_*.sql; this migration covers the +-- upgrade path. +-- +-- Idempotent: the row is upserted (ON DUPLICATE KEY UPDATE) to the same +-- canonical values every time, so re-running the migration is safe and simply +-- refreshes the metadata / re-activates the language. +-- +-- total_keys/translated_keys mirror the shipped locale/da_DK.json key count +-- (6604 keys, exact parity with locale/it_IT.json). +-- +-- See CLAUDE.md "Migration file version MUST be ≤ release version": this file +-- runs only once version.json reaches 0.7.41 (updater compares +-- migrationVersion <= toVersion). + +INSERT INTO `languages` (`code`, `name`, `native_name`, `flag_emoji`, `is_default`, `is_active`, `translation_file`, `total_keys`, `translated_keys`, `completion_percentage`, `created_at`, `updated_at`) +VALUES ('da_DK', 'Danish', 'Dansk', '🇩🇰', 0, 1, 'locale/da_DK.json', 6604, 6604, 100.00, NOW(), NOW()) +ON DUPLICATE KEY UPDATE + is_active = 1, + name = VALUES(name), + native_name = VALUES(native_name), + flag_emoji = VALUES(flag_emoji), + translation_file = VALUES(translation_file), + total_keys = VALUES(total_keys), + translated_keys = VALUES(translated_keys), + completion_percentage = VALUES(completion_percentage), + updated_at = NOW(); diff --git a/installer/index.php b/installer/index.php index a82a90041..1080f5236 100755 --- a/installer/index.php +++ b/installer/index.php @@ -32,13 +32,14 @@ session_start(); // Start a fresh session } -// Normalize locale to canonical form (it_IT, en_US, de_DE) +// Normalize locale to canonical form (it_IT, en_US, de_DE, fr_FR, da_DK) function normalizeInstallerLocale(string $locale): string { $locale = str_replace('-', '_', strtolower($locale)); return match($locale) { 'en', 'en_us' => 'en_US', 'de', 'de_de' => 'de_DE', 'fr', 'fr_fr' => 'fr_FR', + 'da', 'da_dk' => 'da_DK', default => 'it_IT', }; } @@ -410,6 +411,7 @@ function renderHeader($currentStep, $stepTitle) { 'en_US' => 'en', 'de_DE' => 'de', 'fr_FR' => 'fr', + 'da_DK' => 'da', default => 'it', }; $versionFile = dirname(__DIR__) . '/version.json'; diff --git a/installer/steps/step0.php b/installer/steps/step0.php index 6d9effdcf..64ced3847 100644 --- a/installer/steps/step0.php +++ b/installer/steps/step0.php @@ -8,8 +8,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['language'])) { $selectedLanguage = $_POST['language']; - // Validate language — use canonical locale codes (it_IT, en_US, de_DE, fr_FR) - $allowedLanguages = ['it_IT', 'en_US', 'de_DE', 'fr_FR']; + // Validate language — use canonical locale codes (it_IT, en_US, de_DE, fr_FR, da_DK) + $allowedLanguages = ['it_IT', 'en_US', 'de_DE', 'fr_FR', 'da_DK']; if (!in_array($selectedLanguage, $allowedLanguages, true)) { $selectedLanguage = 'it_IT'; // Fallback to Italian } @@ -20,6 +20,7 @@ 'en_US' => 'en', 'de_DE' => 'de', 'fr_FR' => 'fr', + 'da_DK' => 'da', default => 'it', }; // app_locale is used by the installer __() helper and must match I18n locale codes @@ -42,12 +43,13 @@
🌍
-

Seleziona la Lingua / Select Language / Sprache wählen / Choisir la Langue

+

Seleziona la Lingua / Select Language / Sprache wählen / Choisir la Langue / Vælg Sprog

Scegli la lingua per l'installazione e per l'applicazione.
Choose the language for installation and application.
Wählen Sie die Sprache für die Installation und die Anwendung.
- Choisissez la langue pour l'installation et l'application. + Choisissez la langue pour l'installation et l'application.
+ Vælg sproget til installationen og applikationen.

@@ -159,10 +161,35 @@ class="language-radio"
+ + diff --git a/locale/da_DK.json b/locale/da_DK.json new file mode 100644 index 000000000..6620a6aba --- /dev/null +++ b/locale/da_DK.json @@ -0,0 +1,6606 @@ +{ + "Esiste già un utente con l'email %s. Se stai reinstallando su un database esistente, accedi con le credenziali esistenti oppure usa un'altra email.": "En bruger med e-mailadressen %s findes allerede. Hvis du geninstallerer på en eksisterende database, skal du logge ind med de eksisterende legitimationsoplysninger eller bruge en anden e-mailadresse.", + " libri": " bøger", + "\"%s\" prestato a %s è in ritardo di %d giorni": "\"%s\" udlånt til %s er %d dage forsinket", + "$1": "$1", + "$2": "$2", + "%d Indici Mancanti": "%d manglende indekser", + "%d Problemi": "%d problemer", + "%d Tabelle Mancanti": "%d manglende tabeller", + "%d autori eliminati": "%d forfattere slettet", + "%d copie disponibili su %d": "%d eksemplarer tilgængelige ud af %d", + "%d editori eliminati": "%d forlag slettet", + "%d edizioni disponibili": "%d udgaver tilgængelige", + "%d file sensibili protetti": "%d følsomme filer beskyttet", + "%d giorni": "%d dage", + "%d giorni di ritardo": "%d dage forsinket", + "%d import logs eliminati (più vecchi di %d giorni)": "%d importlogfiler slettet (ældre end %d dage)", + "%d import registrati": "%d importer registreret", + "%d import registrato": "%d import registreret", + "%d indici creati con successo": "%d indekser oprettet med succes", + "%d indici mancanti trovati": "%d manglende indekser fundet", + "%d libri assegnati alla collana \"%s\"": "%d bøger tildelt serien \"%s\"", + "%d libri eliminati": "%d bøger slettet", + "%d libri importati, %d aggiornati": "%d bøger importeret, %d opdateret", + "%d minuti fa": "for %d minutter siden", + "%d minuto fa": "for %d minutt siden", + "%d notifica non letta": "%d ulæst notifikation", + "%d notifiche non lette": "%d ulæste notifikationer", + "%d ora fa": "for %d time siden", + "%d ore fa": "for %d timer siden", + "%d prenotazione attiva": "%d aktiv reservation", + "%d prenotazioni attive": "%d aktive reservationer", + "%d prestiti attivi": "%d aktive udlån", + "%d prestiti in ritardo": "%d forsinkede udlån", + "%d prestiti passati": "%d tidligere udlån", + "%d prestito attivo": "%d aktivt udlån", + "%d prestito in ritardo": "%d forsinket udlån", + "%d prestito passato": "%d tidligere udlån", + "%d problemi rilevati": "%d problemer registreret", + "%d recensione": "%d anmeldelse", + "%d recensioni": "%d anmeldelser", + "%d richiesta in sospeso": "%d afventende anmodning", + "%d richieste in sospeso": "%d afventende anmodninger", + "%d risultati": "%d resultater", + "%d risultato": "%d resultat", + "%d tabelle create con successo": "%d tabeller oprettet med succes", + "%d titoli": "%d titler", + "%d transazioni totali": "%d transaktioner i alt", + "%d unità archivistiche di primo livello.": "%d arkivenheder på øverste niveau.", + "%s deve essere di almeno 8 caratteri": "%s skal være på mindst 8 tegn", + "%s ha prenotato \"%s\"": "%s har reserveret \"%s\"", + "%s ha preso in prestito \"%s\"": "%s har lånt \"%s\"", + "%s non può superare i 72 caratteri": "%s må ikke overskride 72 tegn", + "%s non è valido": "%s er ugyldig", + "%s è richiesta": "%s er påkrævet", + "%s è richiesto": "%s er påkrævet", + "(codici ISO e nomi inglesi accettati)": "(ISO-koder og engelske navne accepteres)", + "(filtrati da _MAX_ libri totali)": "(filtreret fra _MAX_ bøger i alt)", + "(opzionale - URL completo)": "(valgfrit - komplet URL)", + "(opzionale - max 160 caratteri)": "(valgfrit - maks. 160 tegn)", + "(opzionale - max 200 caratteri)": "(valgfrit - maks. 200 tegn)", + "(opzionale - max 60 caratteri)": "(valgfrit - maks. 60 tegn)", + "(opzionale - max 70 caratteri)": "(valgfrit - maks. 70 tegn)", + "(opzionale - separate da virgola)": "(valgfrit - kommatsepareret)", + "(opzionale)": "(valgfrit)", + "(percorso legacy)": "(legacy-sti)", + "+ 15 campi aggiuntivi disponibili (vedi CSV di esempio)": "+ 15 yderligere felter tilgængelige (se eksempels-CSV)", + "+ Aggiungi da preset...": "+ Tilføj fra forudindstilling...", + "+ Altri autori separati da pipe |": "+ Flere forfattere adskilt af lodret streg |", + "+ Altri campi LibraryThing vengono mappati automaticamente": "+ Flere LibraryThing-felter kortlægges automatisk", + "+ Nuova attività": "+ Ny aktivitet", + "+ Nuovo luogo": "+ Nyt sted", + "+39 02 1234567": "+45 12 34 56 78", + "+39 049 123 4567": "+45 12 34 56 78", + "+39 123 456 7890": "+45 12 34 56 78", + ", %d autori creati": ", %d forfattere oprettet", + ", %d editori creati": ", %d forlag oprettet", + ", %d errori": ", %d fejl", + ", %d libri arricchiti con scraping": ", %d bøger beriget med scraping", + "-- Seleziona --": "-- Vælg --", + "-- Seleziona un template --": "-- Vælg en skabelon --", + "... e altri %d errori": "... og %d andre fejl", + ".env caricato OK": ".env indlæst OK", + "/* Inserisci il tuo codice CSS qui */\n/* Esempio: */\n/* body { font-size: 16px; } */": "/* Indsæt din CSS-kode her */\n/* Eksempel: */\n/* body { font-size: 16px; } */", + "// Script analytics (es. Google Analytics)\n// Esempio Google Analytics 4:\n// (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n// (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n// m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n// })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');\n// ga('create', 'UA-XXXXX-Y', 'auto');\n// ga('send', 'pageview');": "// Analytics-scripts (f.eks. Google Analytics)\n// Google Analytics 4 eksempel:\n// (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n// (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n// m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n// })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');\n// ga('create', 'UA-XXXXX-Y', 'auto');\n// ga('send', 'pageview');", + "// Script essenziali (es. chat, accessibility)\n// Esempio:\n// console.log('Essential JS loaded');": "// Essentielle scripts (f.eks. chat, tilgængelighed)\n// Eksempel:\n// console.log('Essential JS loaded');", + "// Script marketing (es. Facebook Pixel)\n// Esempio Facebook Pixel:\n// !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n// n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;\n// n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;\n// t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,\n// document,'script','https://connect.facebook.net/en_US/fbevents.js');\n// fbq('init', 'YOUR_PIXEL_ID');\n// fbq('track', 'PageView');": "// Marketingscripts (f.eks. Facebook Pixel)\n// Facebook Pixel eksempel:\n// !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n// n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;\n// n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;\n// t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,\n// document,'script','https://connect.facebook.net/en_US/fbevents.js');\n// fbq('init', 'YOUR_PIXEL_ID');\n// fbq('track', 'PageView');", + "/catalogo": "/katalog", + "0-10 libri": "0-10 bøger", + "1 copia disponibile su %d": "1 eksemplar tilgængeligt ud af %d", + "1 evento": "1 arrangement", + "1. Accesso al server": "1. Serveradgang", + "1. Collegati al server via SSH:": "1. Forbind til serveren via SSH:", + "101-500 libri": "101-500 bøger", + "11-50 libri": "11-50 bøger", + "2. Aggiungi una delle configurazioni seguenti:": "2. Tilføj en af følgende konfigurationer:", + "2. Vai nella directory dell'applicazione:": "2. Gå til applikationsmappen:", + "3. Installa le dipendenze con Composer:": "3. Installer afhængighederne med Composer:", + "4. Verifica che le dipendenze siano state installate:": "4. Kontroller, at afhængighederne er blevet installeret:", + "51 — Catalogazione derivata": "51 — Afledt katalogisering", + "51-100 libri": "51-100 bøger", + "55+ Campi": "55+ felter", + "95 — Catalogazione originale": "95 — Original katalogisering", + ": attiva per ordinare la colonna in ordine crescente": ": aktivér for at sortere kolonnen i stigende rækkefølge", + ": attiva per ordinare la colonna in ordine decrescente": ": aktivér for at sortere kolonnen i faldende rækkefølge", + "A": "A", + "AA Testo Grande": "AA Stor tekst", + "AAAA o AAAA-MM-GG": "ÅÅÅÅ eller ÅÅÅÅ-MM-DD", + "API": "API", + "API Key": "API-nøgle", + "API Key già configurata": "API-nøgle allerede konfigureret", + "API Keys": "API-nøgler", + "API Pubblica": "Offentlig API", + "API abilitata con successo.": "API aktiveret med succes.", + "API configurata": "API konfigureret", + "API disabilitata con successo.": "API deaktiveret med succes.", + "API key creata con successo.": "API-nøgle oprettet med succes.", + "API key eliminata con successo.": "API-nøgle slettet med succes.", + "APP_CANONICAL_URL configurato con valore non valido: '%s'. Link nelle email potrebbero non funzionare. Valore suggerito: %s": "APP_CANONICAL_URL er konfigureret med en ugyldig værdi: '%s'. Links i e-mails fungerer muligvis ikke. Foreslået værdi: %s", + "APP_CANONICAL_URL configurato ma vuoto nel file .env. Link nelle email useranno fallback a HTTP_HOST. Valore suggerito: %s": "APP_CANONICAL_URL er konfigureret, men tom i .env-filen. Links i e-mails vil bruge HTTP_HOST som fallback. Foreslået værdi: %s", + "APP_CANONICAL_URL non configurato nel file .env. Link nelle email potrebbero non funzionare correttamente. Valore suggerito: %s": "APP_CANONICAL_URL er ikke konfigureret i .env-filen. Links i e-mails fungerer muligvis ikke korrekt. Foreslået værdi: %s", + "ATTENZIONE: Disinstallazione Irreversibile": "ADVARSEL: Uigenkaldelig afinstallation", + "AVVISO Trigger:": "Triggeradvarsel:", + "Abbiamo ricevuto una richiesta di reset della password per il tuo account.": "Vi har modtaget en anmodning om at nulstille adgangskoden til din konto.", + "Abilita": "Aktivér", + "Abilita Client SRU": "Aktivér SRU-klient", + "Abilita Cookie Banner": "Aktivér cookie-banner", + "Abilita HSTS": "Aktivér HSTS", + "Abilita Modalità Catalogo": "Aktivér katalogtilstand", + "Abilita Modalità Solo Catalogo": "Aktivér kun-katalog-tilstand", + "Abilita Plugin": "Aktivér plugin", + "Abilita Server SRU": "Aktivér SRU-server", + "Abilita l'arricchimento automatico tramite cron. I libri verranno arricchiti in background a intervalli regolari.": "Aktivér automatisk berigelse via cron. Bøger vil blive beriget i baggrunden med jævne mellemrum.", + "Abilita llms.txt": "Aktivér llms.txt", + "Abilita o disabilita l'accesso all'API pubblica": "Aktivér eller deaktivér adgang til den offentlige API", + "Abilitata": "Aktiveret", + "Abilitata - Visibile nel frontend": "Aktiveret - Synlig i frontend", + "Abilitato": "Aktiveret", + "Accedi": "Log ind", + "Accedi a /installer/?force=1 per forzare una reinstallazione": "Gå til /installer/?force=1 for at tvinge en geninstallation", + "Accedi al server tramite SSH e modifica il crontab:": "Tilgå serveren via SSH og rediger crontab:", + "Accedi al tuo account": "Log ind på din konto", + "Accedi all'area admin con le credenziali sopra indicate": "Log ind i administrationsområdet med ovenstående legitimationsoplysninger", + "Accedi e Procedi": "Log ind og fortsæt", + "Accedi per Prenotare": "Log ind for at reservere", + "Accedi per aggiungere ai Preferiti": "Log ind for at tilføje til favoritter", + "Accento": "Accent", + "Accesso": "Log ind", + "Accesso Richiesto": "Log ind påkrævet", + "Accesso in corso...": "Logger ind...", + "Accesso negato.": "Adgang nægtet.", + "Accesso negato. Permessi insufficienti.": "Adgang nægtet. Utilstækkelige tilladelser.", + "Accesso non autorizzato": "Uautoriseret adgang", + "Accetta selezionati": "Acceptér valgte", + "Accetta tutti": "Acceptér alle", + "Accetto la": "Jeg accepterer", + "Account": "Konto", + "Account In Attesa": "Konto afventer", + "Account Sospeso": "Konto spærret", + "Account attivato": "Konto aktiveret", + "Account creato con successo! Verifica la tua email.": "Konto oprettet med succes! Bekræft din e-mail.", + "Account creato! In attesa di approvazione da parte dell'amministratore.": "Konto oprettet! Afventer godkendelse fra administratoren.", + "Acquisito a": "Erhvervet til", + "Acquisito da": "Erhvervet fra", + "Acquisto": "Køb", + "Adesso": "Lige nu", + "Admin": "Admin", + "Admin Dewey": "Dewey-administration", + "Agente": "Aktør", + "Agente esecutore": "Udførende aktør", + "Aggiorna": "Opdatér", + "Aggiorna Dati": "Opdatér data", + "Aggiorna Evento": "Opdatér arrangement", + "Aggiorna Ora": "Opdatér nu", + "Aggiorna Statistiche": "Opdatér statistikker", + "Aggiorna da ISBN": "Opdatér fra ISBN", + "Aggiorna i dettagli del libro:": "Opdatér bogdetaljer:", + "Aggiorna i dettagli dell'autore: %s": "Opdatér forfatterdetaljer: %s", + "Aggiorna i dettagli dell'editore:": "Opdatér forlagsdetaljer:", + "Aggiorna il conteggio delle copie disponibili": "Opdatér antallet af tilgængelige eksemplarer", + "Aggiorna le informazioni del profilo selezionato.": "Opdatér oplysningerne for den valgte profil.", + "Aggiorna password": "Opdatér adgangskode", + "Aggiornamenti": "Opdateringer", + "Aggiornamento Manuale": "Manuel opdatering", + "Aggiornamento alla versione %s completato": "Opdatering til version %s fuldført", + "Aggiornamento completato con successo": "Opdatering fuldført med succes", + "Aggiornamento completato!": "Opdatering fuldført!", + "Aggiornamento disponibile!": "Opdatering tilgængelig!", + "Aggiornamento fallito": "Opdatering mislykkedes", + "Aggiornamento già in corso": "Opdatering er allerede i gang", + "Aggiornamento in corso. Riprova tra qualche minuto.": "Opdatering i gang. Prøv igen om et øjeblik.", + "Aggiornamento in corso...": "Opdatering i gang...", + "Aggiornamento...": "Opdaterer...", + "Aggiornata in base a scaffale, mensola e posizione.": "Opdateret baseret på reol, hylde og placering.", + "Aggiornate %d righe": "%d rækker opdateret", + "Aggiornati": "Opdateret", + "Aggiunge badge cliccabili alla scheda libro per cercare su Anna's Archive, Z-Library e Project Gutenberg con un click. Ispirato all'estensione browser GoodLib.": "Tilføjer klikbare badges til bogdetaljesiden for at søge på Anna's Archive, Z-Library og Project Gutenberg med et enkelt klik. Inspireret af browserudvidelsen GoodLib.", + "Aggiungere una Nuova Lingua": "Tilføj et nyt sprog", + "Aggiungi": "Tilføj", + "Aggiungi Genere Rapido": "Tilføj hurtig genre", + "Aggiungi Lingua": "Tilføj sprog", + "Aggiungi Nuova Lingua": "Tilføj nyt sprog", + "Aggiungi Nuovo Autore": "Tilføj ny forfatter", + "Aggiungi Nuovo Editore": "Tilføj nyt forlag", + "Aggiungi Nuovo Libro": "Tilføj ny bog", + "Aggiungi Partner": "Tilføj partner", + "Aggiungi Prima Lingua": "Tilføj første sprog", + "Aggiungi Sottogenere": "Tilføj undertitel / undergenre", + "Aggiungi ai Preferiti": "Tilføj til favoritter", + "Aggiungi al file .env: APP_CANONICAL_URL=%s": "Tilføj til .env-filen: APP_CANONICAL_URL=%s", + "Aggiungi alla collezione": "Tilføj til samling", + "Aggiungi copia digitalizzata": "Tilføj digitaliseret eksemplar", + "Aggiungi decimale": "Tilføj decimal", + "Aggiungi decimale sotto": "Tilføj decimal nedenfor", + "Aggiungi documento": "Tilføj dokument", + "Aggiungi eventuali note sul prestito": "Tilføj eventuelle bemærkninger om udlånet", + "Aggiungi eventuali note...": "Tilføj eventuelle noter...", + "Aggiungi i libri che ti interessano dalla scheda di dettaglio per ricevere un promemoria quando tornano disponibili.": "Tilføj bøger, du er interesseret i, fra detaljesiden for at modtage en påmindelse, når de er tilgængelige igen.", + "Aggiungi la tua API key per interrogare Google Books quando importi un ISBN. Google viene utilizzato prima di Open Library, ma dopo Scraping Pro.": "Tilføj din API-nøgle for at forespørge Google Books, når du importerer et ISBN. Google bruges før Open Library, men efter Scraping Pro.", + "Aggiungi le mensole (livelli) a ogni scaffale": "Tilføj hylder (niveauer) til hver reol", + "Aggiungi nuovo libro": "Tilføj ny bog", + "Aggiungi primo libro": "Tilføj første bog", + "Aggiungi scaffali e mensole per la tua biblioteca": "Tilføj reoler og hylder til dit bibliotek", + "Aggiungi un genere o un sottogenere alla struttura.": "Tilføj en genre eller undergenre til strukturen.", + "Aggiungi un motivo (opzionale)": "Tilføj en årsag (valgfrit)", + "Aggiungi un nuovo titolo per arricchire il catalogo di questo editore.": "Tilføj en ny titel for at udvide dette forlags katalog.", + "Aggiungi volume": "Tilføj bind", + "Aggiunti di recente al catalogo": "Senest tilføjet til kataloget", + "Aggiunto il": "Tilføjet den", + "Aiuto": "Hjælp", + "Al": "Til", + "Al momento non ci sono eventi attivi. Continua a seguirci per restare aggiornato sui prossimi appuntamenti.": "I øjeblikket er der ingen aktive arrangementer. Følg os for at holde dig opdateret om kommende arrangementer.", + "Al momento non ci sono eventi programmati. Torna a visitare questa pagina per scoprire i prossimi appuntamenti.": "I øjeblikket er der ingen planlagte arrangementer. Besøg denne side igen for at opdage de næste arrangementer.", + "Al:": "Til:", + "Alcune date richieste non sono disponibili": "Nogle af de ønskede datoer er ikke tilgængelige", + "Alcuni dati della dashboard non sono disponibili. Verifica la connessione al database.": "Nogle dashboarddata er ikke tilgængelige. Kontroller databaseforbindelsen.", + "Alcuni mancanti": "Nogle mangler", + "Alcuni requisiti non sono soddisfatti. Risolvi i problemi prima di continuare.": "Visse krav er ikke opfyldt. Løs problemerne, før du fortsætter.", + "Alert prestito in ritardo (Admin)": "Advarsel om forsinket udlån (Admin)", + "Allegato": "Vedhæftet fil", + "Almeno uno dei seguenti parametri è richiesto:": "Mindst én af følgende parametre er påkrævet:", + "Altre forme del nome": "Andre navneformer", + "Altre serie": "Andre serier", + "Altre serie nello stesso gruppo": "Andre serier i samme gruppe", + "Altri autori separati da pipe |": "Andre forfattere adskilt af lodret streg |", + "Altri eventi in programma": "Andre planlagte arrangementer", + "Altri filtri": "Andre filtre", + "Altro": "Andet", + "Altro Numero di Chiamata": "Andet opstillingsmærke", + "Ambito e contenuto": "Omfang og indhold", + "Amministratore": "Administrator", + "Amministrazione": "Administration", + "Analitici:": "Analytiske poster:", + "Analizza / Importa": "Analysér / Importér", + "Anna's Archive": "Anna's Archive", + "Anni di Vita": "Leveår", + "Anno": "År", + "Anno (YYYY)": "År (ÅÅÅÅ)", + "Anno a": "År til", + "Anno al": "År til", + "Anno creazione (a)": "Oprettelsesår (til)", + "Anno creazione (da)": "Oprettelsesår (fra)", + "Anno da": "År fra", + "Anno dal": "År fra", + "Anno di Pubblicazione": "Udgivelsesår", + "Anno di Uscita": "Udgivelsesår", + "Anno di pubblicazione": "Udgivelsesår", + "Anno finale": "Slutår", + "Anno iniziale": "Startår", + "Anno max": "Maks. år", + "Anno min": "Min. år", + "Anno numerico (usato per filtri e ordinamento)": "Numerisk år (bruges til filtre og sortering)", + "Anno pubblicazione": "Udgivelsesår", + "Anno pubblicazione a": "Udgivelsesår til", + "Anno pubblicazione da": "Udgivelsesår fra", + "Anno:": "År:", + "Annulla": "Annullér", + "Annulla Prenotazione": "Annullér reservation", + "Annulla Prestito": "Annullér udlån", + "Annulla Prestito Scaduto": "Annullér overskredet udlån", + "Annulla prenotazione": "Annullér reservation", + "Annullare il prestito scaduto?": "Vil du annullere det overskredne udlån?", + "Annullare questa prenotazione?": "Vil du annullere denne reservation?", + "Annullata": "Annulleret", + "Annullato": "Annulleret", + "Anteprima": "Forhåndsvisning", + "Anteprima Banner": "Forhåndsvisning af banner", + "Anteprima copertina": "Forhåndsvisning af omslag", + "Anteprima immagine caricata": "Forhåndsvisning af uploadet billede", + "Anteprima logo": "Forhåndsvisning af logo", + "Anteprima non disponibile": "Forhåndsvisning ikke tilgængelig", + "Anteprima:": "Forhåndsvisning:", + "Apparirà nei risultati di ricerca Google. Se vuoto, usa il titolo hero o il nome dell'app.": "Vises i Google-søgeresultater. Hvis den er tom, bruges hero-titlen eller appens navn.", + "Apparirà sotto il titolo nei risultati di ricerca. Se vuoto, usa il sottotitolo hero o una descrizione generica.": "Vises under titlen i søgeresultaterne. Hvis den er tom, bruges hero-undertitlen eller en generisk beskrivelse.", + "Applica": "Anvend", + "Applica Filtri": "Anvend filtre", + "Applica Fix": "Anvend rettelse", + "Applicazione Già Installata": "Applikationen er allerede installeret", + "Applicazione configurata:": "Applikation konfigureret:", + "Applicazione del fix...": "Anvender rettelse...", + "Applicazione già installata": "Applikationen er allerede installeret", + "Approva": "Godkend", + "Approva Prestiti": "Godkend udlån", + "Approva Prestito?": "Godkend udlån?", + "Approva e Invia Email Attivazione": "Godkend og send aktiverings-e-mail", + "Approva o rifiuta le recensioni degli utenti": "Godkend eller afvis brugeranmeldelser", + "Approva o rifiuta le richieste degli utenti": "Godkend eller afvis brugeranmodninger", + "Approva prestito?": "Godkend udlån?", + "Approva recensione": "Godkend anmeldelse", + "Approvata": "Godkendt", + "Approvata il": "Godkendt den", + "Approvati, iniziano in futuro": "Godkendt, starter i fremtiden", + "Approvato": "Godkendt", + "Approvato il %s": "Godkendt den %s", + "Approvato!": "Godkendt!", + "Approverai questa richiesta di prestito?": "Vil du godkende denne låneanmodning?", + "Apri": "Åbn", + "Apri Editor": "Åbn editor", + "Apri Google Cloud Console": "Åbn Google Cloud Console", + "Apri file": "Åbn fil", + "Apri menu": "Åbn menu", + "Archivi": "Arkiver", + "Archivi collegati": "Tilknyttede arkiver", + "Archivi: %d inseriti, %d aggiornati. Authority: %d inseriti, %d saltati (duplicati).": "Arkiver: %d indsat, %d opdateret. Normposter: %d indsat, %d udeladt (duplikater).", + "Archivia": "Arkivér", + "Archiviato": "Arkiveret", + "Archivio": "Arkiv", + "Archivio — Unità archivistiche": "Arkiv — Arkivenheder", + "Arco narrativo": "Handlingsforløb", + "Area Utente": "Brugerområde", + "Area di identificazione": "Identifikationsområde", + "Arricchimento": "Berigelse", + "Arricchimento Automatico": "Automatisk berigelse", + "Arricchimento Manuale": "Manuel berigelse", + "Arricchimento Massivo": "Masseberigelse", + "Arricchimento automatico dati": "Automatisk databerigelse", + "Arricchimento massivo ISBN": "Masseberigelse af ISBN", + "Arricchisci Adesso": "Berig nu", + "Arricchisci automaticamente i libri con ISBN cercando copertine e descrizioni mancanti": "Berig automatisk bøger med ISBN ved at søge efter manglende omslag og beskrivelser", + "Arricchisci dati con scraping web (copertine, descrizioni, etc.)": "Berig data med web-scraping (omslag, beskrivelser osv.)", + "Arricchiti": "Beriget", + "Arricchito": "Beriget", + "Article (Articolo/Blog)": "Artikel (Artikel/Blog)", + "Articolo": "Artikel", + "Artista": "Kunstner", + "Artista sconosciuto": "Ukendt kunstner", + "Artisti": "Kunstnere", + "Ascolta": "Lyt", + "Ascolta Audiobook": "Lyt til lydbog", + "Ascolta l'audiobook": "Lyt til lydbogen", + "Assegna": "Tildel", + "Assegna collana": "Tildel serie", + "Assicurati che corrisponda al tipo di carta per etichette che utilizzi.": "Sørg for, at det svarer til den etiketpapirtype, du bruger.", + "Assicurati che il path assoluto dello script sia corretto": "Sørg for, at scriptets absolutte sti er korrekt", + "Assicurati che sia configurato correttamente per evitare URL duplicati.": "Sørg for, at det er konfigureret korrekt for at undgå duplikerede URL'er.", + "Associato": "Tilknyttet", + "At least one search parameter is required (ean, isbn13, isbn10, or author)": "Mindst én søgeparameter er påkrævet (ean, isbn13, isbn10 eller forfatter)", + "Attendere prego": "Vent venligst", + "Attendere prego...": "Vent venligst...", + "Attenzione": "Advarsel", + "Attenzione!": "Advarsel!", + "Attenzione:": "Advarsel:", + "Attenzione: %d prestiti in ritardo": "Advarsel: %d forsinkede udlån", + "Attenzione: %d prestito in ritardo": "Advarsel: %d forsinket udlån", + "Attenzione: Azione Manuale Richiesta": "Advarsel: Manuel handling påkrævet", + "Attenzione: Non è stato possibile rimuovere tutte le copie richieste. Alcune copie sono attualmente in prestito.": "Advarsel: Det var ikke muligt at fjerne alle de ønskede eksemplarer. Nogle eksemplarer er i øjeblikket udlånt.", + "Attiva": "Aktivér", + "Attiva API key": "Aktivér API-nøgle", + "Attiva Direttamente": "Aktivér direkte", + "Attiva HTTP Strict Transport Security (max-age: 1 anno, include sottodomini)": "Aktivér HTTP Strict Transport Security (max-age: 1 år, inklusive subdomæner)", + "Attiva HTTPS solo se hai un certificato SSL valido installato. Attivare HSTS rende permanente il reindirizzamento HTTPS nel browser.": "Aktivér kun HTTPS, hvis du har et gyldigt SSL-certifikat installeret. Aktivering af HSTS gør HTTPS-omdirigering permanent i browseren.", + "Attiva questa opzione solo se il tuo server supporta HTTPS. Se il tuo hosting forza già HTTPS automaticamente, non è necessario abilitarla (potrebbe causare redirect loop).": "Aktivér kun denne indstilling, hvis din server understøtter HTTPS. Hvis din hosting allerede gennemtvinger HTTPS automatisk, er det ikke nødvendigt at aktivere den (det kan forårsage omdirigeringsløkker).", + "Attiva lingua": "Aktivér sprog", + "Attiva plugin": "Aktivér plugin", + "Attiva tema": "Aktivér tema", + "Attiva utente": "Aktivér bruger", + "Attivando questa modalità verranno disabilitati completamente i prestiti, le prenotazioni e la wishlist. Gli utenti potranno solo consultare il catalogo.": "Aktivering af denne tilstand vil fuldstændigt deaktivere udlån, reservationer og ønskeliste. Brugere vil kun kunne gennemse kataloget.", + "Attivare questo tema?": "Vil du aktivere dette tema?", + "Attivato:": "Aktiveret:", + "Attivi": "Aktive", + "Attività": "Aktivitet", + "Attività (RiC-CM)": "Aktiviteter (RiC-CM)", + "Attività in corso": "Igangværende aktivitet", + "Attività padre": "Overordnet aktivitet", + "Attivo": "Aktiv", + "Attivo:": "Aktiv:", + "Attuale": "Aktuel", + "Attualmente prestati": "I øjeblikket udlånt", + "Audio": "Lyd", + "Audio URL": "Lyd-URL", + "Audiobook": "Lydbog", + "Audiobook (MP3/M4A/OGG)": "Lydbog (MP3/M4A/OGG)", + "Audiobook caricato!": "Lydbog uploadet!", + "Audiobook disponibile": "Lydbog tilgængelig", + "Audiolibro": "Lydbog", + "Aumenta Copie": "Forøg eksemplarer", + "Autenticazione": "Godkendelse", + "Autenticazione Admin Richiesta": "Admin-godkendelse påkrævet", + "Autenticazione Richiesta": "Godkendelse påkrævet", + "Autenticazione richiesta.": "Godkendelse påkrævet.", + "Autenticazione utente": "Brugergodkendelse", + "Authority control SBN (REICAT)": "SBN-normkontrol (REICAT)", + "Authority record analizzati": "Analyserede normposter", + "Authority records": "Normposter", + "Authority records collegati": "Tilknyttede normposter", + "Auto": "Auto", + "Auto-attivazione:": "Autoreaktivering / automatisk aktivering:", + "Auto-attivazione: Se compili questo campo, il toggle \"Mostra Cookie Analitici\" in Privacy verrà attivato automaticamente.": "Automatisk aktivering: Hvis du udfylder dette felt, aktiveres knappen \"Vis analytiske cookies\" under Privatliv automatisk.", + "Auto-attivazione: Se compili questo campo, il toggle \"Mostra Cookie Marketing\" in Privacy verrà attivato automaticamente.": "Automatisk aktivering: Hvis du udfylder dette felt, aktiveres knappen \"Vis marketing-cookies\" under Privatliv automatisk.", + "Auto-detect se vuoto": "Automatisk registrering hvis tom", + "Automatismi": "Automatiseringer", + "Autore": "Forfatter", + "Cambia": "Skift", + "Autore \"${normalizedLabel}\" pronto per essere creato": "Forfatter \"${normalizedLabel}\" klar til at blive oprettet", + "Autore \"${normalizedLabel}\" è già selezionato": "Forfatter \"${normalizedLabel}\" er allerede valgt", + "Autore \"%s\" pronto per essere creato": "Forfatter \"%s\" klar til at blive oprettet", + "Autore \"%s\" è già selezionato": "Forfatter \"%s\" er allerede valgt", + "Autore A-Z": "Forfatter A-Å", + "Autore Principale e Secondario": "Hoved- og medforfatter", + "Autore Z-A": "Forfatter Å-A", + "Autore eliminato con successo.": "Forfatter slettet med succes.", + "Autore non specificato": "Forfatter ikke angivet", + "Autore non trovato.": "Forfatter ikke fundet.", + "Autore principale": "Hovedforfatter", + "Autore principale (formato: Cognome, Nome)": "Hovedforfatter (format: Efternavn, Fornavn)", + "Autore sconosciuto": "Ukendt forfatter", + "Autore/i:": "Forfatter(e):", + "Autore:": "Forfatter:", + "Autori": "Forfattere", + "Autori con biografie": "Forfattere med biografier", + "Autori di libreria collegati": "Tilknyttede biblioteksforfattere", + "Autori di libreria riconciliati": "Afstemte biblioteksforfattere", + "Autori ed editori vengono creati automaticamente": "Forfattere og forlag oprettes automatisk", + "Autori multipli separati da %s": "Flere forfattere adskilt af %s", + "Autori multipli separati da %s o %s": "Flere forfattere adskilt af %s eller %s", + "Autori pubblicati": "Udgivne forfattere", + "Autori uniti": "Forfattere flettet", + "Autori uniti con successo": "Forfattere flettet med succes", + "Autori:": "Forfattere:", + "Autorità": "Normpost", + "Avanti": "Næste", + "Avanzate": "Avanceret", + "Avvia Aggiornamento": "Start opdatering", + "Avvia l'aggiornamento": "Start opdateringen", + "Avvia manualmente l'arricchimento di un batch di 20 libri. Verranno cercate copertine e descrizioni mancanti.": "Start manuel berigelse af en batch på 20 bøger. Manglende omslag og beskrivelser vil blive søgt.", + "Avviare l'aggiornamento manuale?": "Vil du starte den manuelle opdatering?", + "Avvio aggiornamento": "Starter opdatering", + "Avvio backup database": "Starter databasebackup", + "Avvisa gli amministratori quando un prestito entra in ritardo.": "Advar administratorer, når et udlån bliver forsinket.", + "Avvisi scadenza prestiti (configurabile in Impostazioni → Avanzate, default 3 giorni prima)": "Påmindelser om udlånsudløb (kan konfigureres under Indstillinger → Avanceret, standard 3 dage før)", + "Avviso": "Advarsel", + "Azione richiesta:": "Handling påkrævet:", + "Azioni": "Handlinger", + "Azioni Rapide": "Hurtige handlinger", + "Azioni Veloci": "Hurtige handlinger", + "Azioni di Approvazione": "Godkendelseshandlinger", + "Azioni di Manutenzione": "Vedligeholdelseshandlinger", + "Azzera": "Nulstil", + "Azzera filtri": "Nulstil filtre", + "BCID": "BCID", + "BID (SBN Bibliographic ID)": "BID (SBN Bibliografisk ID)", + "Backup": "Backup", + "Backup Automatico": "Automatisk backup", + "Backup Salvati": "Gemte backups", + "Backup completato": "Backup fuldført", + "Backup creato con successo": "Backup oprettet med succes", + "Backup creato!": "Backup oprettet!", + "Backup database completato": "Databasebackup fuldført", + "Backup disponibili": "Tilgængelige backups", + "Backup e Sicurezza": "Backup og sikkerhed", + "Backup eliminato": "Backup slettet", + "Backup eliminato con successo": "Backup slettet med succes", + "Backup fallito": "Backup mislykkedes", + "Backup non trovato": "Backup ikke fundet", + "Backup non trovato.": "Backup ikke fundet.", + "Backup ripristinato con successo.": "Backup gendannet med succes.", + "Backup tabella": "Tabelbackup", + "Banner basso a tutta larghezza (max altezza 220px)": "Lavt banner i fuld bredde (maks. højde 220px)", + "Barcode": "Stregkode", + "Barcode fisico": "Fysisk stregkode", + "Barra laterale": "Sidemenu", + "Benvenuto": "Velkommen", + "Benvenuto nell'Installer": "Velkommen til installationsprogrammet", + "Benvenuto, %s!": "Velkommen, %s!", + "Bianco e nero": "Sort-hvid", + "Biblioteca": "Bibliotek", + "Biblioteca Digitale": "Digitalt bibliotek", + "Biblioteca Digitale - La tua biblioteca online": "Digitalt bibliotek - Dit online bibliotek", + "Biblioteca Digitale - Scopri e Prenota i Tuoi Libri Preferiti": "Digitalt bibliotek - Opdag og reserver dine yndlingsbøger", + "Biblioteca digitale con catalogo completo di libri disponibili per il prestito": "Digitalt bibliotek med komplet katalog af bøger til udlån", + "Biblioteca — Catalogo libri": "Bibliotek — Bogkatalog", + "Biblioteche partner per il prestito interbibliotecario NCIP 2.02": "Partnerbiblioteker for NCIP 2.02 fjernlån", + "Biografia": "Biografi", + "Biografia dell'autore": "Forfatterens biografi", + "Blu-ray": "Blu-ray", + "Bluesky": "Bluesky", + "Books": "Books", + "Bottone": "Knap", + "Bottone CTA": "CTA-knap", + "Bottone Primario": "Primær knap", + "Breadcrumb": "Brødkrummesti", + "Breve descrizione per i motori di ricerca": "Kort beskrivelse til søgemaskiner", + "Breve descrizione per i motori di ricerca (max 160 caratteri)": "Kort beskrivelse til søgemaskiner (maks. 160 tegn)", + "Buono": "God", + "CAP": "Postnummer", + "CCN (Codice di Controllo Nazionale)": "CCN (National kontrolkode)", + "CD Audio": "Lyd-CD", + "CMS": "CMS", + "CSRF": "CSRF", + "CSRF Fallito": "CSRF mislykkedes", + "CSRF non valido.": "Ugyldig CSRF-token.", + "CSS Personalizzato": "Tilpasset CSS", + "CSV": "CSV", + "CSV Standard": "Standard CSV", + "Calendario Disponibilità": "Tilgængelighedskalender", + "Calendario Prestiti e Prenotazioni": "Kalender for udlån og reservationer", + "Calendario eventi": "Arrangementskalender", + "Calendario eventi culturali": "Kulturarrangementkalender", + "Calendario non disponibile": "Kalender ikke tilgængelig", + "Call to Action": "Call to Action", + "Call to Action (CTA)": "Call to Action (CTA)", + "Cambia lingua": "Skift sprog", + "Cambia password": "Skift adgangskode", + "Cambia vista": "Skift visning", + "Campi Aggiornati": "Opdaterede felter", + "Campi Database": "Databasefelter", + "Campi Editabili": "Redigerbare felter", + "Campi ISAAR aggiuntivi (opzionali)": "Yderligere ISAAR-felter (valgfri)", + "Campi Supportati": "Understøttede felter", + "Campi che verranno aggiunti:": "Felter der vil blive tilføjet:", + "Campi estesi per l'integrazione con LibraryThing": "Udvidede felter til integration med LibraryThing", + "Campi minimi ISAAR(CPF) 5.1-5.2. Elementi aggiuntivi saranno disponibili nelle fasi successive.": "Minimale ISAAR(CPF) 5.1-5.2 felter. Yderligere elementer vil være tilgængelige i de senere faser.", + "Campo": "Felt", + "Campo %s obbligatorio": "Feltet %s er påkrævet", + "Campo LibraryThing": "LibraryThing-felt", + "Campo Obbligatorio": "Obligatorisk felt", + "Campo Pinakes": "Pinakes-felt", + "Campo obbligatorio": "Obligatorisk felt", + "Campo obbligatorio mancante: %s": "Manglende obligatorisk felt: %s", + "Cancel": "Annullér", + "Cancella": "Slet", + "Cancella filtri": "Ryd filtre", + "Cancella tutti i filtri": "Ryd alle filtre", + "Caratteristica": "Egenskab", + "Caratteristica geografica": "Geografisk kendetegn", + "Carica": "Upload", + "Carica %{smart_count} file": "Upload %{smart_count} fil", + "Carica Altri": "Indlæs flere", + "Carica File CSV": "Upload CSV-fil", + "Carica File JSON": "Upload JSON-fil", + "Carica File LibraryThing": "Upload LibraryThing-fil", + "Carica Nuovo File JSON": "Upload ny JSON-fil", + "Carica Pacchetto": "Upload pakke", + "Carica Plugin": "Upload plugin", + "Carica copertina": "Upload omslag", + "Carica documento": "Upload dokument", + "Carica il file JSON di traduzione (opzionale)": "Upload oversættelses-JSON-filen (valgfrit)", + "Carica il file ZIP": "Upload ZIP-filen", + "Carica il file usando l'uploader": "Upload filen ved hjælp af uploaderen", + "Carica logo (PNG, JPG, SVG)": "Upload logo (PNG, JPG, SVG)", + "Carica o collega eBook (PDF/ePub) e audiobook (MP3/M4A) per renderli disponibili agli utenti.": "Upload eller link e-bøger (PDF/ePub) og lydbøger (MP3/M4A) for at gøre dem tilgængelige for brugerne.", + "Carica un file CSV per importare più libri contemporaneamente": "Upload en CSV-fil for at importere flere bøger på én gang", + "Carica un file MARCXML (formato ABA / MARC21 Slim) per importare unità archivistiche e authority record presenti nel file.": "Upload en MARCXML-fil (ABA / MARC21 Slim-format) for at importere arkivenheder og normposter i filen.", + "Carica un file ZIP contenente il plugin. Il file deve includere un %s con le informazioni del plugin.": "Upload en ZIP-fil, der indeholder plugin'et. Filen skal indeholde en %s med plugin-oplysningerne.", + "Carica un nuovo file per aggiornare le traduzioni (opzionale). Verrà creato un backup del file precedente.": "Upload en ny fil for at opdatere oversættelserne (valgfrit). Der vil blive oprettet en backup af den forrige fil.", + "Carica un pacchetto di aggiornamento scaricato manualmente da GitHub": "Upload en opdateringspakke downloadet manuelt fra GitHub", + "Caricamento .env...": "Indlæser .env...", + "Caricamento automatico:": "Automatisk indlæsning:", + "Caricamento backup...": "Indlæser backup...", + "Caricamento categorie...": "Indlæser kategorier...", + "Caricamento completato": "Upload fuldført", + "Caricamento condizionale:": "Betinget indlæsning:", + "Caricamento del logo non riuscito. Verifica le dimensioni e il formato del file.": "Upload af logo mislykkedes. Kontroller filens størrelse og format.", + "Caricamento fallito": "Upload mislykkedes", + "Caricamento file...": "Uploader fil...", + "Caricamento in corso...": "Uploader...", + "Caricamento libri...": "Indlæser bøger...", + "Caricamento non riuscito. Riprova.": "Upload mislykkedes. Prøv igen.", + "Caricamento pacchetto...": "Indlæser pakke...", + "Caricamento sessioni...": "Indlæser sessioner...", + "Caricamento...": "Indlæser...", + "Caroselli Generi": "Genrekarruseller", + "Cartaceo": "Trykt udgave", + "Cartolina (hm)": "Postkort (hm)", + "Casa Editrice": "Forlag", + "Casa editrice": "Forlag", + "Case editrici": "Forlag", + "Cassetta": "Båndoptagelse / kassette", + "Catalog IDs (OCLC, Work ID, ISSN)": "Katalog-ID'er (OCLC, Work ID, ISSN)", + "Catalogazione REICAT / SBN": "REICAT / SBN katalogisering", + "Catalogo": "Katalog", + "Catalogo Completo Libri - Biblioteca Digitale": "Komplet bogkatalog - Digitalt bibliotek", + "Catalogo Libri": "Bogkatalog", + "Catalogo Libri - Biblioteca": "Bogkatalog - Bibliotek", + "Catalogo bibliotecario gestito con [Pinakes](https://github.com/fabiodalez-dev/Pinakes). Disponibile in: %s.": "Bibliotekskatalog administreret med [Pinakes](https://github.com/fabiodalez-dev/Pinakes). Tilgængelig på: %s.", + "Catalogo della biblioteca": "Bibliotekskatalog", + "Catalogo libri": "Bogkatalog", + "Catalogo pubblico": "Offentligt katalog", + "Català (CA)": "Catalansk (CA)", + "Categoria": "Kategori", + "Categorie": "Kategorier", + "Categorie Cookie": "Cookiekategorier", + "Centro Impostazioni": "Indstillingscenter", + "Cerca": "Søg", + "Cerca \"%s\" su %s": "Søg \"%s\" på %s", + "Cerca IP...": "Søg IP...", + "Cerca Libri": "Søg bøger", + "Cerca Libro": "Søg bog", + "Cerca Utente": "Søg bruger", + "Cerca autore...": "Søg forfatter...", + "Cerca autori esistenti o aggiungine di nuovi...": "Søg efter eksisterende forfattere eller tilføj nye...", + "Cerca codice o nome...": "Søg kode eller navn...", + "Cerca editore esistente o inserisci nuovo...": "Søg efter eksisterende forlag eller indtast nyt...", + "Cerca editore...": "Søg forlag...", + "Cerca editori esistenti o aggiungine di nuovi...": "Søg efter eksisterende forlag eller tilføj nye...", + "Cerca email...": "Søg e-mail...", + "Cerca entità da collegare": "Søg efter enhed der skal tilknyttes", + "Cerca genere...": "Søg genre...", + "Cerca globale": "Global søgning", + "Cerca icona... (es. user, home, book)": "Søg ikon... (f.eks. user, home, book)", + "Cerca la forma autorizzata del nome nel catalogo SBN e applicala come intestazione di autorità REICAT 18.0, con qualificatore di omonimia (date).": "Søg efter den godkendte navneform i SBN-kataloget og anvend den som en REICAT 18.0-normpostoverskrift med homonym-kvalifikator (datoer).", + "Cerca libri, autori, ISBN...": "Søg bøger, forfattere, ISBN...", + "Cerca libri, autori, editori, utenti...": "Søg bøger, forfattere, forlag, brugere...", + "Cerca libri, autori, editori...": "Søg bøger, forfattere, forlag...", + "Cerca libri, autori...": "Søg bøger, forfattere...", + "Cerca libri...": "Søg bøger...", + "Cerca libro": "Søg bog", + "Cerca nella biblioteca": "Søg i biblioteket", + "Cerca per ISBN-10": "Søg efter ISBN-10", + "Cerca per ISBN-13": "Søg efter ISBN-13", + "Cerca per codice EAN": "Søg efter EAN-kode", + "Cerca per nome autore (corrispondenza parziale)": "Søg efter forfatternavn (delvis match)", + "Cerca per nome o ID...": "Søg efter navn eller ID...", + "Cerca per nome, cognome, telefono, email o tessera": "Søg efter navn, efternavn, telefon, e-mail eller lånerkort", + "Cerca per nome...": "Søg efter navn...", + "Cerca per pseudonimo...": "Søg efter pseudonym...", + "Cerca per titolo o sottotitolo": "Søg efter titel eller undertitel", + "Cerca per titolo o stato (es. disponibile)": "Søg efter titel eller status (f.eks. tilgængelig)", + "Cerca per titolo, ISBN o EAN": "Søg efter titel, ISBN eller EAN", + "Cerca posizione...": "Søg placering...", + "Cerca pseudonimo...": "Søg pseudonym...", + "Cerca rapido...": "Hurtigsøgning...", + "Cerca su SBN": "Søg på SBN", + "Cerca su:": "Søg på:", + "Cerca testo": "Søg tekst", + "Cerca titoli": "Søg titler", + "Cerca titoli, autori, ISBN...": "Søg titler, forfattere, ISBN...", + "Cerca un authority record…": "Søg efter en normpost…", + "Cerca un soggetto e premi Invio per aggiungere…": "Søg efter et emne og tryk på Enter for at tilføje…", + "Cerca...": "Søg...", + "Cerca:": "Søg:", + "Certificato SSL/TLS valido": "Gyldigt SSL/TLS-certifikat", + "Chi Siamo": "Om os", + "Chiave": "Nøgle", + "Chiave API Google Books": "Google Books API-nøgle", + "Chiave Google Books aggiornata.": "Google Books-nøgle opdateret.", + "Chiave Google Books rimossa.": "Google Books-nøgle fjernet.", + "Chiave Google Books salvata correttamente.": "Google Books-nøgle gemt korrekt.", + "Chiave Route": "Rutenøgle", + "Chiave di cifratura non configurata (PLUGIN_ENCRYPTION_KEY o APP_KEY)": "Krypteringsnøgle ikke konfigureret (PLUGIN_ENCRYPTION_KEY eller APP_KEY)", + "Chiedi al tuo amministratore di database di eseguire i comandi contenuti nel file": "Bed din databaseadministrator om at køre kommandoerne i filen", + "Chiudi": "Luk", + "Chiudi Player": "Luk afspiller", + "Chiudi Visualizzatore": "Luk fremviser", + "Chiudi alternative": "Luk alternativer", + "Chiudi menu": "Luk menu", + "Chiudi popup": "Luk pop op", + "Ciao": "Hej", + "Ciclo": "Cyklus", + "Ciclo / stagione": "Cyklus / sæson", + "Citazione": "Citat", + "Città": "By", + "Classe (000-900)": "Klasse (000-900)", + "Classe principale mancante: %s.": "Manglende hovedklasse: %s.", + "Classi principali": "Hovedklasser", + "Classificazione Dewey": "Dewey-klassifikation", + "Classificazione LC": "LC-klassifikation", + "Classificazione locale": "Lokal klassifikation", + "Classificazione selezionata:": "Valgt klassifikation:", + "Classificazioni": "Klassifikationer", + "Classificazioni Bibliotecarie": "Biblioteksklassifikationer", + "Clicca o trascina per caricare un logo": "Klik eller træk for at uploade et logo", + "Clicca per selezionare": "Klik for at vælge", + "Clicca su \"Esegui Manutenzione\" per correggere automaticamente i problemi riparabili.": "Klik på \"Udfør vedligeholdelse\" for automatisk at rette de fejl, der kan udbedres.", + "Clicca su 'Aggiungi Lingua'": "Klik på 'Tilføj sprog'", + "Clicca su MoreExport your library": "Klik på MoreExport your library", + "Clicca su \\": "Klik på \\", + "Clicca su \\\"Esegui Manutenzione\\\" per correggere automaticamente i problemi riparabili.": "Klik på \\\"Udfør vedligeholdelse\\\" for automatisk at rette de fejl, der kan udbedres.", + "Clicca su un'icona per selezionarla": "Klik på et ikon for at vælge det", + "Clicca sul pulsante qui sotto per resettare la tua password:": "Klik på knappen nedenfor for at nulstille din adgangskode:", + "Close menu": "Luk menu", + "Coda": "Kø", + "Codice": "Kode", + "Codice *": "Kode *", + "Codice CSS": "CSS-kode", + "Codice CSS da applicare a tutte le pagine del frontend": "CSS-kode der skal anvendes på alle frontend-sider", + "Codice Dewey": "Dewey-kode", + "Codice Dewey non trovato": "Dewey-kode ikke fundet", + "Codice Dewey non trovato.": "Dewey-kode ikke fundet.", + "Codice Dewey selezionato:": "Valgt Dewey-kode:", + "Codice Dewey trovato e impostato": "Dewey-kode fundet og indstillet", + "Codice Fiscale": "Skattenummer / C.F.", + "Codice ISBN (supporta sia ISBN-10 che ISBN-13)": "ISBN-kode (understøtter både ISBN-10 og ISBN-13)", + "Codice ISBN o EAN": "ISBN- eller EAN-kode", + "Codice ISIL": "ISIL-kode", + "Codice ISO 2 lettere (es: IT, FR, GB)": "2-bogstavs ISO-kode (f.eks. IT, FR, GB)", + "Codice JavaScript": "JavaScript-kode", + "Codice JavaScript Analytics": "Analytics JavaScript-kode", + "Codice Lingua": "Sprogkode", + "Codice Tessera": "Lånerkortnummer", + "Codice Tessera:": "Lånerkortnummer:", + "Codice a Barre": "Stregkode", + "Codice embed completo": "Komplet indlejringskode (embed)", + "Codice fiscale": "Skattenummer / C.F.", + "Codice fiscale dell'editore (opzionale)": "Forlagets skattenummer (valgfrit)", + "Codice fiscale italiano (opzionale)": "Italiensk skattenummer / C.F. (valgfrit)", + "Codice istituzione": "Institutionskode", + "Codice lingua": "Sprogkode", + "Codice lingua non valido": "Ugyldig sprogkode", + "Codice parent non trovato.": "Overordnet kode ikke fundet.", + "Codice postale...": "Postnummer...", + "Codice scaffale obbligatorio": "Reolkode påkrævet", + "Codice tessera": "Lånerkortnummer", + "Cognome": "Efternavn", + "Collana": "Serie", + "Collana \"%s\" creata": "Serien \"%s\" blev oprettet", + "Collana \"%s\" eliminata (%d libri aggiornati)": "Serien \"%s\" blev slettet (%d bøger opdateret)", + "Collana \"%s\" eliminata (%d libri aggiornati, %d sotto-serie ricollegate al livello superiore)": "Serien \"%s\" blev slettet (%d bøger opdateret, %d underserier genetableret til øverste niveau)", + "Collana assegnata": "Serie tildelt", + "Collana editoriale": "Forlagsserie", + "Collana rinominata: %d libri aggiornati": "Serie omdøbt: %d bøger opdateret", + "Collane": "Serier", + "Collane totali": "Serier i alt", + "Collane unite: %d libri spostati in \"%s\"": "Serier flettet: %d bøger flyttet til \"%s\"", + "Collega": "Forbind", + "Collezione": "Samling", + "Collezione: %d libri, %d autori, %d editori.": "Samling: %d bøger, %d forfattere, %d forlag.", + "Collocazione": "Opstilling / placering", + "Collocazione calcolata": "Beregnet opstilling", + "Collocazione suggerita": "Foreslået opstilling", + "Collocazione:": "Opstilling:", + "Colonne": "Kolonner", + "Colore": "Farve", + "Colore Bottoni CTA": "Farve på CTA-knapper", + "Colore Primario": "Primærfarve", + "Colore Secondario": "Sekundærfarve", + "Colore Testo Bottoni": "Tekstfarve på knapper", + "Colore non valido": "Ugyldig farve", + "Colori Tema": "Temafarver", + "Colori ripristinati ai valori predefiniti": "Farver gendannet til standardværdier", + "Come Esportare da LibraryThing": "Sådan eksporterer du fra LibraryThing", + "Come Funziona": "Sådan fungerer det", + "Come Nuovo": "Som ny", + "Come ottenere il codice": "Sådan får du koden", + "Come ottenere un token:": "Sådan får du en token:", + "Commento": "Kommentar", + "Commento Privato": "Privat kommentar", + "Commento Pubblico": "Offentlig kommentar", + "Commento pubblico...": "Offentlig kommentar...", + "Communication error with the server": "Kommunikationsfejl med serveren", + "Compila con i dati dei tuoi libri": "Udfyld med data for dine bøger", + "Compila i campi ISAD(G) 3.1 (area di identificazione). Campi aggiuntivi (3.2-3.7) saranno disponibili nella vista di modifica dopo la creazione.": "Udfyld ISAD(G) 3.1-felterne (identifikationsområde). Yderligere felter (3.2-3.7) vil være tilgængelige i redigeringsvisningen efter oprettelsen.", + "Compila i dettagli del libro per aggiungerlo alla biblioteca": "Udfyld bogens detaljer for at tilføje den til biblioteket", + "Compila i dettagli dell'autore per aggiungerlo alla biblioteca": "Udfyld forfatterens detaljer for at tilføje vedkommende til biblioteket", + "Compila i dettagli della casa editrice per aggiungerla alla biblioteca": "Udfyld forlagets detaljer for at tilføje det til biblioteket", + "Compila nome e URL per tutti i server.": "Udfyld navn og URL for alle servere.", + "Compila tutti i campi obbligatori prima di salvare.": "Udfyld alle obligatoriske felter før du gemmer.", + "Compila tutti i campi obbligatori.": "Udfyld alle obligatoriske felter.", + "Compila tutti i campi per creare una nuova prenotazione": "Udfyld alle felter for at oprette en ny reservation", + "Compila tutti i campi richiesti": "Udfyld alle anmodede felter", + "Compito": "Opgave", + "Completamento": "Fuldførelse", + "Completamento...": "Fuldfører...", + "Completata": "Fuldført", + "Completati": "Fuldført", + "Completato": "Fuldført", + "Completato!": "Fuldført!", + "Complete": "Færdig", + "Completezza": "Fuldstændighed", + "Completo": "Komplet", + "Complimenti!": "Tillykke!", + "Componente": "Komponent", + "Comune": "Kommune", + "Con valore 3, un prestito che scade il 15 Gennaio riceverà l'avviso il 12 Gennaio": "Med værdien 3 vil et udlån, der udløber den 15. januar, modtage en advarsel den 12. januar", + "Condividi": "Del", + "Condividi la tua opinione su questo libro...": "Del din mening om denne bog...", + "Condividi su Bluesky": "Del på Bluesky", + "Condividi su Facebook": "Del på Facebook", + "Condividi su LINE": "Del på LINE", + "Condividi su LinkedIn": "Del på LinkedIn", + "Condividi su Pinterest": "Del på Pinterest", + "Condividi su Reddit": "Del på Reddit", + "Condividi su Telegram": "Del på Telegram", + "Condividi su Threads": "Del på Threads", + "Condividi su Tumblr": "Del på Tumblr", + "Condividi su Twitter": "Del på Twitter", + "Condividi su VK": "Del på VK", + "Condividi su WhatsApp": "Del på WhatsApp", + "Condividi su X": "Del på X", + "Condivisione": "Deling", + "Condiviso": "Delt", + "Condizione Fisica": "Fysisk tilstand", + "Condizioni": "Betingelser", + "Condizioni di accesso": "Adgangsbetingelser", + "Condizioni di accesso e uso": "Betingelser for adgang og brug", + "Conferma": "Bekræft", + "Conferma Aggiornamento": "Bekræft opdatering", + "Conferma Annullamento": "Bekræft annullering", + "Conferma Disinstallazione": "Bekræft afinstallation", + "Conferma Password": "Bekræft adgangskode", + "Conferma Restituzione": "Bekræft aflevering", + "Conferma Ritiro": "Bekræft afhentning", + "Conferma Salvataggio": "Bekræft lagring", + "Conferma aggiornamento": "Bekræft opdatering", + "Conferma attivazione": "Bekræft aktivering", + "Conferma eliminazione": "Bekræft sletning", + "Conferma la tua email": "Bekræft din e-mail", + "Conferma modifica": "Bekræft ændring", + "Conferma password": "Bekræft adgangskode", + "Conferma restituzione": "Bekræft aflevering", + "Conferma?": "Bekræft?", + "Confermare il ritiro?": "Vil du bekræfte afhentningen?", + "Confermi di voler attivare direttamente questo utente senza richiedere verifica email?": "Bekræfter du, at du vil aktivere denne bruger direkte uden at kræve e-mail-bekræftelse?", + "Confermi di voler attivare direttamente questo utente?": "Bekræfter du, at du vil aktivere denne bruger direkte?", + "Confermi l'eliminazione dell'autore?": "Vil du slette forfatteren?", + "Confermi l'eliminazione dell'editore?": "Vil du slette forlaget?", + "Confermi l'operazione?": "Bekræfter du handlingen?", + "Confermi la restituzione di questo libro?": "Bekræfter du afleveringen af denne bog?", + "Confermi?": "Bekræft?", + "Confermo di voler disinstallare il plugin e di aver effettuato un backup dei dati": "Jeg bekræfter, at jeg vil afinstallere plugin'et og har foretaget en backup af data", + "Configura API": "Konfigurér API", + "Configura Fonti": "Konfigurér kilder", + "Configura Google Books": "Konfigurér Google Books", + "Configura Z39.50": "Konfigurér Z39.50", + "Configura come opera multi-volume": "Konfigurér som flerbindsværk", + "Configura i testi mostrati all'interno del pannello delle preferenze dei cookie.": "Konfigurér de tekster, der vises i panelet for cookie-præferencer.", + "Configura i testi visualizzati agli utenti in ogni parte del cookie banner.": "Konfigurér de tekster, der vises til brugere i alle dele af cookie-banneret.", + "Configura i testi visualizzati agli utenti nel banner iniziale.": "Konfigurér de tekster, der vises til brugere i det første banner.", + "Configura l'identità dell'applicazione, i metodi di invio email e personalizza i template delle notifiche automatiche.": "Konfigurér applikationens identitet, e-mail-afsendelsesmetoder og tilpas skabelonerne for automatiske meddelelser.", + "Configura l'integrazione con le API di Discogs per lo scraping di metadati musicali.": "Konfigurér integrationen med Discogs API til scraping af musikmetadata.", + "Configura le date della prenotazione": "Konfigurér reservationsdatoerne", + "Configura le impostazioni di sicurezza per le connessioni HTTPS": "Konfigurér sikkerhedsindstillinger for HTTPS-forbindelser", + "Configura le impostazioni email per l'invio di notifiche agli utenti.": "Konfigurér e-mail-indstillinger til afsendelse af meddelelser til brugere.", + "Configura le impostazioni rimanenti (privacy, contatti, etc.)": "Konfigurér de resterende indstillinger (privatliv, kontakt osv.)", + "Configura quando inviare l'avviso di scadenza prestiti agli utenti": "Konfigurér, hvornår besked om udlånsudløb skal sendes til brugere", + "Configura un token per evitare i limiti di rate della GitHub API (60 req/ora → 5000 req/ora)": "Konfigurér en token for at undgå GitHub API's hastighedsgrænser (60 anmodninger/time → 5000 anmodninger/time)", + "Configurato": "Konfigureret", + "Configurazione": "Konfiguration", + "Configurazione Cron Job": "Cron Job-konfiguration", + "Configurazione Database": "Databasekonfiguration", + "Configurazione Email": "E-mail-konfiguration", + "Configurazione Etichette Libri": "Konfiguration af bogmærkater / etiketter", + "Configurazione SMTP": "SMTP-konfiguration", + "Configurazione aggiornata con successo!": "Konfiguration opdateret med succes!", + "Configurazione del banner cookie": "Konfiguration af cookie-banner", + "Configurazione guidata in pochi passaggi.": "Guidet konfiguration i få trin.", + "Configurazione invio": "Afsendelseskonfiguration", + "Configurazione sistema": "Systemkonfiguration", + "Confirm?": "Bekræft?", + "Connessione al database fallita": "Databaseforbindelse mislykkedes", + "Connessione database non disponibile": "Databaseforbindelse ikke tilgængelig", + "Connessione fallita": "Forbindelse mislykkedes", + "Connesso": "Forbundet", + "Consegna immediata": "Øjeblikkelig udlevering", + "Conserva queste informazioni in un luogo sicuro!": "Opbevar disse oplysninger et sikkert sted!", + "Conservatore": "Bevarer / arkivar", + "Consigliato": "Anbefalet", + "Consigliato JPG o PNG ad alta risoluzione (min 1920x1080px). Max 5MB.": "Anbefalet højopløselig JPG eller PNG (min. 1920x1080px). Maks. 5 MB.", + "Consigliato JPG, PNG o WebP (min 800x600px). Max 5MB.": "Anbefalet JPG, PNG eller WebP (min. 800x600px). Maks. 5 MB.", + "Consigliato PNG o SVG con sfondo trasparente. Dimensione massima 2MB.": "Anbefalet PNG eller SVG med gennemsigtig baggrund. Maksimal størrelse 2 MB.", + "Consigliato: 150-160 caratteri": "Anbefalet: 150-160 tegn", + "Consigliato: 50-60 caratteri": "Anbefalet: 50-60 tegn", + "Consigliato: PHP mail() per semplicità, SMTP per maggiore controllo": "Anbefalet: PHP mail() for enkeltheids skyld, SMTP for større kontrol", + "Consigliato: Summary Large Image per homepage.": "Anbefalet: Summary Large Image til forsiden.", + "Consiglio: esegui prima un dry-run per verificare la mappatura dei campi, poi disabilita il checkbox per l'insert.": "Tip: Kør først en testkørsel (dry-run) for at kontrollere feltkortlæggelsen, og deaktiver derefter afkrydsningsfeltet for indsættelse.", + "Consulta i fondi archivistici e le collezioni documentarie.": "Gennemse arkivfonde og dokumentsamlinger.", + "Consulta i fondi archivistici e le collezioni documentarie. Ogni unità è descritta secondo lo standard ISAD(G) — navigazione gerarchica per fondo, serie, fascicolo, unità.": "Gennemse arkivfonde og dokumentsamlinger. Hver enhed er beskrevet i henhold til ISAD(G)-standarden — hierarkisk navigation efter fond, serie, mappe, enhed.", + "Contatta il tuo provider di hosting e chiedi di eseguire": "Kontakt din udbyder af webhosting og bed dem om at køre", + "Contattaci": "Kontakt os", + "Contatti": "Kontakt", + "Contatti e accesso": "Kontakt og adgang", + "Contenuti Digitali": "Digitale indhold", + "Contenuti homepage aggiornati con successo!": "Forsideindhold opdateret med succes!", + "Contenuto": "Indhold", + "Contenuto Cookie Policy": "Indhold af cookiepolitik", + "Contenuto Pagina": "Sideindhold", + "Contenuto Privacy Policy": "Indhold af privatlivspolitik", + "Contenuto Testuale": "Tekstindhold", + "Contenuto della pagina": "Sideindhold", + "Contenuto della pagina /cookies accessibile dal banner": "Indhold af siden /cookies der kan tilgås fra banneret", + "Contenuto e struttura": "Indhold og struktur", + "Contenuto pagina": "Sideindhold", + "Contenuto testuale HTML con editor avanzato": "HTML-tekstindhold med avanceret editor", + "Contesto generale": "Generel kontekst", + "Continua": "Fortsæt", + "Contrasto": "Kontrast", + "Contrasto insufficiente tra bottone e testo (minimo 3:1). Attuale": "Utilstrækkelig kontrast mellem knap og tekst (minimum 3:1). Aktuel", + "Controlla Aggiornamenti": "Tjek for opdateringer", + "Controlla la tua casella di posta e clicca sul link per resettare la password. Il link sarà valido per 2 ore.": "Tjek din indbakke og klik på linket for at nulstille din adgangskode. Linket vil være gyldigt i 2 timer.", + "Controllo aggiornamenti": "Tjekker for opdateringer", + "Controllo pre-aggiornamento fallito": "Tjek før opdatering mislykkedes", + "Cookie Analitici": "Analytiske cookies", + "Cookie Banner": "Cookie-banner", + "Cookie Essenziali": "Essentielle cookies", + "Cookie di Marketing": "Marketingcookies", + "Cookies": "Cookies", + "Coordinate": "Koordinater", + "Copertina": "Omslag", + "Copertina Attuale": "Aktuelt omslag", + "Copertina applicata": "Omslag anvendt", + "Copertina attuale": "Aktuelt omslag", + "Copertina del Libro": "Bogens omslag", + "Copertina del libro": "Bogens omslag", + "Copertina del libro \"%s\"": "Omslag til bogen \"%s\"", + "Copertina e documenti": "Omslag og dokumenter", + "Copertina e documento": "Omslag og dokument", + "Copertina non trovata online:": "Omslag ikke fundet online:", + "Copertina recuperata automaticamente": "Omslag hentet automatisk", + "Copertina:": "Omslag:", + "Copertine già presenti: %s": "Omslag der allerede findes: %s", + "Copertine scaricate (LibraryThing):": "Downloadede omslag (LibraryThing):", + "Copertine scaricate:": "Downloadede omslag:", + "Copertine sincronizzate: %s": "Synkroniserede omslag: %s", + "Copia": "Kopiér", + "Copia %d di %d": "Eksemplar %d af %d", + "Copia ID %d del libro '%s' (ID: %d) ha stato '%s' ma nessun prestito attivo la riferisce": "Eksemplar-ID %d for bogen '%s' (ID: %d) har status '%s', men intet aktivt udlån henviser til det", + "Copia Link": "Kopiér link", + "Copia digitalizzata eliminata": "Digitaliseret eksemplar slettet", + "Copia eliminata con successo.": "Eksemplar slettet med succes.", + "Copia il token e incollalo qui": "Kopiér tokenen og indsæt den her", + "Copia link": "Kopiér link", + "Copia link negli appunti": "Kopiér link til udklipsholder", + "Copia non disponibile per il prestito": "Eksemplar ikke tilgængeligt til udlån", + "Copia non trovata.": "Eksemplar ikke fundet.", + "Copiato!": "Kopieret!", + "Copie": "Eksemplarer", + "Copie Aggiunte!": "Eksemplarer tilføjet!", + "Copie Digitalizzate (MAG/ICCU)": "Digitaliserede eksemplarer (MAG/ICCU)", + "Copie Disponibili": "Tilgængelige eksemplarer", + "Copie Eccessive": "Overflødige eksemplarer", + "Copie Fisiche": "Fysiske eksemplarer", + "Copie Negative": "Negative eksemplarer", + "Copie Totali": "Eksemplarer i alt", + "Copie disponibili": "Tilgængelige eksemplarer", + "Copie disponibili:": "Tilgængelige eksemplarer:", + "Copie totali": "Eksemplarer i alt", + "Copie totali:": "Eksemplarer i alt:", + "Copyright": "Copyright", + "Corpo Email": "E-mail-tekst", + "Corpo email": "E-mail-tekst", + "Correggi Permessi Automaticamente": "Ret tilladelser automatisk", + "Correggi Problemi": "Ret problemer", + "Correggi nel file .env: APP_CANONICAL_URL=%s": "Ret i .env-filen: APP_CANONICAL_URL=%s", + "Corrente": "Aktuel", + "Correzione Automatica Permessi": "Automatisk rettelse af tilladelser", + "Correzione Manuale via SSH (se automatica fallisce)": "Manuel rettelse via SSH (hvis automatisk mislykkedes)", + "Correzione parziale:": "Delvis rettelse:", + "Correzioni applicate: %d record aggiornati": "Anvendte rettelser: %d poster opdateret", + "Cos'è la Collocazione?": "Hvad er opstillingsmærket / opstillingen?", + "Cos'è llms.txt:": "Hvad er llms.txt:", + "Cosa fare:": "Hvad man skal gøre:", + "Cosa ne pensi di questo libro?": "Hvad syntes du om denne bog?", + "Cosa sono le Route?": "Hvad er routes (ruter)?", + "Cosa viene nascosto:": "Hvad der skjules:", + "Cover": "Omslag", + "Crea": "Opret", + "Crea API Key": "Opret API-nøgle", + "Crea Admin": "Opret administrator", + "Crea Backup": "Opret backup", + "Crea Backup Manuale": "Opret manuel backup", + "Crea Evento": "Opret arrangement", + "Crea Indici Automaticamente": "Opret indekser automatisk", + "Crea Nuova API Key": "Opret ny API-nøgle", + "Crea Nuova Prenotazione": "Opret ny reservation", + "Crea Nuovo Evento": "Opret nyt arrangement", + "Crea Nuovo Genere": "Opret ny genre", + "Crea Nuovo Prestito": "Opret nyt udlån", + "Crea Opera": "Opret værk", + "Crea Prenotazione": "Opret reservation", + "Crea Prestito": "Opret udlån", + "Crea Prima API Key": "Opret første API-nøgle", + "Crea Primo Genere": "Opret første genre", + "Crea Tabelle Mancanti": "Opret manglende tabeller", + "Crea Utente Admin": "Opret adminbruger", + "Crea Utente Amministratore": "Opret administratorbruger", + "Crea attività": "Opret aktivitet", + "Crea authority record": "Opret normpost", + "Crea e gestisci gli eventi della biblioteca": "Opret og administrer bibliotekets arrangementer", + "Crea gli scaffali (es: A, B, C)": "Opret reolerne (f.eks.: A, B, C)", + "Crea il primo authority record per associarlo poi a un archivio.": "Opret den første normpost for derefter at knytte den til et arkiv.", + "Crea il primo fondo (fonds) per iniziare a strutturare l'archivio.": "Opret den første fond (fond) for at begynde at strukturere arkivet.", + "Crea il primo utente amministratore. Questo account avrà accesso completo a tutte le funzionalità del sistema.": "Opret den første administratorbruger. Denne konto vil have fuld adgang til alle systemets funktioner.", + "Crea il tuo primo evento": "Opret dit første arrangement", + "Crea la cartella logs se non esiste: mkdir -p logs": "Opret mappen logs, hvis den ikke findes: mkdir -p logs", + "Crea luogo": "Opret sted", + "Crea nuovo": "Opret ny", + "Crea nuovo \"${item.label}\"": "Opret ny \"${item.label}\"", + "Crea opera": "Opret værk", + "Crea opera multi-volume": "Opret flerbindsværk", + "Crea record": "Opret post", + "Crea un backup manuale o attendi il prossimo aggiornamento.": "Opret en manuel backup eller vent på den næste opdatering.", + "Crea un libro padre che raccoglie tutti i volumi di questa collana.": "Opret en overordnet bog, der samler alle bind i denne serie.", + "Crea un nuovo account": "Opret en ny konto", + "Crea un nuovo profilo amministratore o lettore.": "Opret en ny administrator- eller læserprofil.", + "Crealo ora": "Opret den nu", + "Creare backup?": "Opret backup?", + "Creata": "Oprettet", + "Creata il": "Oprettet den", + "Creata:": "Oprettet:", + "Created At": "Oprettet den", + "Creato": "Oprettet", + "Creato il": "Oprettet den", + "Creatore": "Ophavsmand", + "Creazione backup database": "Opretter databasebackup", + "Creazione backup database...": "Opretter databasebackup...", + "Creazione backup...": "Opretter backup...", + "Creazione indici di ottimizzazione...": "Opretter optimeringsindekser...", + "Creazione indici...": "Opretter indekser...", + "Creazione tabelle...": "Opretter tabeller...", + "Credenziali": "Legitimationsoplysninger", + "Credenziali Admin:": "Admin-legitimationsoplysninger:", + "Credenziali Errate": "Ugyldige legitimationsoplysninger", + "Credenziali non valide o utente non admin": "Ugyldige legitimationsoplysninger eller brugeren er ikke administrator", + "Crediti": "Tak til", + "Crescente": "Stigende", + "Crittografia": "Kryptering", + "Cronologia": "Historik", + "Cronologia Aggiornamenti": "Opdateringshistorik", + "Cronologia Import": "Importhistorik", + "Cronologia degli aggiornamenti eseguiti": "Historik over udførte opdateringer", + "Curatore": "Kurator", + "DVD": "DVD", + "Da": "Fra", + "Da %s (%s)": "Fra %s (%s)", + "Da Approvare": "Afventer godkendelse", + "Da Dove Acquisito": "Erhvervet fra", + "Da Inventariare": "Til inventar", + "Da Ritirare": "Klar til afhentning", + "Da approvare": "Afventer godkendelse", + "Da approvare o rifiutare": "Skal godkendes eller afvises", + "Da consegnare": "Til udlevering", + "Da creare": "Skal oprettes", + "Da prenotazione": "Fra reservation", + "Da prenotazioni": "Fra reservationer", + "Da qui puoi gestire tutte le lingue disponibili nell'applicazione. Carica file JSON di traduzione e abilita/disabilita lingue.": "Herfra kan du administrere alle tilgængelige sprog i applikationen. Upload JSON-oversættelsesfiler og aktivér/deaktivér sprog.", + "Da ritirare": "Klar til afhentning", + "Dal": "Fra", + "Dal %s al %s": "Fra %s til %s", + "Dal:": "Fra:", + "Danneggiato": "Beskadiget", + "Dansk (DA)": "Dansk (DA)", + "Dashboard": "Kontrolpanel", + "Data": "Dato", + "Data Acq.": "Erhvervelsesdato", + "Data Acquisizione": "Erhvervelsesdato", + "Data Evento": "Begivenhedsdato", + "Data Fine": "Slutdato", + "Data Fine Lettura": "Læseslutdato", + "Data Fine Prestito": "Udløbsdato for lån", + "Data Inizio": "Startdato", + "Data Inizio Lettura": "Læasestartdato", + "Data Inizio Prestito": "Låns startdato", + "Data Inserimento": "Oprettelsesdato", + "Data Inserimento LibraryThing": "LibraryThing indtastningsdato", + "Data Nascita": "Fødselsdato", + "Data Prenotazione": "Reservationsdato", + "Data Prestito": "Udløbsdato", + "Data Prestito:": "Udløbsdato:", + "Data Pubblicazione": "Udgivelsesdato", + "Data Registrazione": "Registreringsdato", + "Data Restituzione": "Afleveringsdato", + "Data Restituzione:": "Afleveringsdato:", + "Data Scadenza": "Udløbsdato", + "Data Scadenza Tessera": "Medlemskortets udløbsdato", + "Data Scadenza:": "Udløbsdato:", + "Data Ultimo Accesso": "Seneste login-dato", + "Data acquisizione": "Erhvervelsesdato", + "Data acquisizione a": "Erhvervelsesdato til", + "Data acquisizione da": "Erhvervelsesdato fra", + "Data creazione": "Oprettet den", + "Data di Pubblicazione": "Udgivelsesdato", + "Data di fine": "Slutdato", + "Data di inizio": "Startdato", + "Data di inizio della prenotazione (default: oggi)": "Startdato for reservation (standard: i dag)", + "Data di inserimento in biblioteca": "Dato for optagelse i biblioteket", + "Data di morte": "Dødsdato", + "Data di nascita": "Fødselsdato", + "Data di pubblicazione": "Udgivelsesdato", + "Data di scadenza della prenotazione (default: +%d giorni)": "Udløbsdato for reservation (standard: +%d dage)", + "Data fine": "Slutdato", + "Data inizio": "Startdato", + "Data inizio richiesta mancante": "Anmodet startdato mangler", + "Data morte a": "Dødsdato til", + "Data morte da": "Dødsdato fra", + "Data nascita a": "Fødselsdato til", + "Data nascita da": "Fødselsdato fra", + "Data non valida.": "Ugyldig dato.", + "Data di pubblicazione originale (testo libero)": "Oprindelig udgivelsesdato (fri tekst)", + "Data prestito": "Udløbsdato", + "Data prestito (A)": "Udløbsdato (Til)", + "Data prestito (Da)": "Udløbsdato (Fra)", + "Data pubblicazione da": "Udgivelsesdato fra", + "Data scadenza prevista": "Forventet udløbsdato", + "Data/Ora": "Dato/Klokkeslæt", + "Data:": "Dato:", + "DataIntegrity warning (store loan)": "DataIntegritets-advarsel (gem lån)", + "Database": "Database", + "Database '%s' non esiste. Crealo prima di procedere.": "Databasen '%s' findes ikke. Opret den venligst, før du fortsætter.", + "Database installato (30 tabelle)": "Database installeret (30 tabeller)", + "Database installato (41 tabelle)": "Database installeret (41 tabeller)", + "Database installato (46 tabelle)": "Database installeret (46 tabeller)", + "Database:": "Database:", + "Datazione": "Datering", + "Date": "Datering", + "Date Non Valide": "Ugyldige datoer", + "Date Tracking (Acquired, Started, Read)": "Datosporing (Erhvervet, Startet, Læst)", + "Date di Lettura": "Læsedatoer", + "Date di esistenza": "Eksistensdatoer", + "Date estreme": "Periode", + "Dati Account": "Kontodata", + "Dati Utente": "Brugeroplysninger", + "Dati VIAF/ISNI rimossi.": "VIAF/ISNI-data fjernet.", + "Dati VIAF/ISNI salvati.": "VIAF/ISNI-data gemt.", + "Dati alternativi disponibili": "Alternative data tilgængelige", + "Dati bibliografici completi (titolo, sottotitolo, ISBN, EAN, ecc.)": "Komplette bibliografiske data (titel, undertitel, ISBN, EAN osv.)", + "Dati della Prenotazione": "Reservationsoplysninger", + "Dati di classificazione mancanti": "Klassifikationsdata mangler", + "Dati essenziali caricati": "Væsentlige data indlæst", + "Dati generi mancanti": "Genredata mangler", + "Dati importati da SBN.": "Data importeret fra SBN.", + "Dati iniziali importati OK": "Startdata importeret OK", + "Dati libro recuperati con successo da Open Library": "Bogsdata hentet med succes fra Open Library", + "Dati mancanti": "Manglende data", + "Dati mancanti.": "Manglende data.", + "Dati personali": "Personlige oplysninger", + "Dati validi.": "Gyldige data.", + "Debole": "Svag", + "Debug": "Fejlretning", + "Debug Log:": "Fejlretningslog:", + "Deceduto il %s": "Død den %s", + "Decimali": "Decimaler", + "Decrescente": "Faldende", + "Default: un mese dopo la data inizio": "Standard: en måned efter startdatoen", + "Definisce come viene visualizzata l'immagine di copertina nella pagina di dettaglio dell'evento.": "Definerer, hvordan omslagsbilledet vises på begivenhedens detaljeside.", + "Definisce i privilegi dell'utente.": "Definerer brugerens rettigheder.", + "Definisci un'attività ISDF (funzione, attività, transazione, compito o mandato) e collegala a un agente esecutore e/o a un'attività padre.": "Definer en ISDF-aktivitet (funktion, aktivitet, transaktion, opgave eller mandat) og knyt den til en udførende aktør og/eller en overordnet aktivitet.", + "Demo": "Demo", + "Descrivi l'utilizzo di questa API key...": "Beskriv brugen af denne API-nøgle...", + "Descrizione": "Beskrivelse", + "Descrizione Banner": "Bannerbeskrivelse", + "Descrizione Dewey": "Dewey-beskrivelse", + "Descrizione Evento": "Begivenhedsbeskrivelse", + "Descrizione Fisica": "Fysisk beskrivelse", + "Descrizione Modale": "Modalbeskrivelse", + "Descrizione OG": "OG-beskrivelse", + "Descrizione Open Graph": "Open Graph-beskrivelse", + "Descrizione SEO": "SEO-beskrivelse", + "Descrizione Twitter": "Twitter-beskrivelse", + "Descrizione archivistica": "Arkivbeskrivelse", + "Descrizione banner": "Bannerbeskrivelse", + "Descrizione breve": "Kort beskrivelse", + "Descrizione completa dell'evento con possibilità di formattazione HTML": "Komplet begivenhedsbeskrivelse med mulighed for HTML-formatering", + "Descrizione cookie analitici": "Beskrivelse af analytiske cookies", + "Descrizione cookie essenziali": "Beskrivelse af essentielle cookies", + "Descrizione cookie marketing": "Beskrivelse af marketing-cookies", + "Descrizione del libro...": "Bogbeskrivelse...", + "Descrizione della collana...": "Beskrivelse af serien...", + "Descrizione footer": "Sidefodsbeskrivelse", + "Descrizione modale": "Modalbeskrivelse", + "Descrizione nella modale preferenze. Puoi usare HTML.": "Beskrivelse i præferencemodalen. Du kan bruge HTML.", + "Descrizione per Twitter/X. Se vuoto, usa la descrizione Open Graph.": "Beskrivelse til Twitter/X. Hvis tom, bruges Open Graph-beskrivelsen.", + "Descrizione per anteprima social. Se vuoto, usa la descrizione SEO.": "Beskrivelse til social medie-forhåndsvisning. Hvis tom, bruges SEO-beskrivelsen.", + "Descrizione salvata": "Beskrivelse gemt", + "Descrizione troppo lunga (max 2000 caratteri)": "Beskrivelse for lang (maks. 2000 tegn)", + "Descrizione:": "Beskrivelse:", + "Deseleziona tutti": "Fravælg alle", + "Destinatario": "Modtager", + "Dettagli": "Detaljer", + "Dettagli Acquisizione": "Erhvervelsesdetaljer", + "Dettagli Fisici": "Fysiske detaljer", + "Dettagli Libro": "Bogdetaljer", + "Dettagli Messaggio": "Meddelelselsdetaljer", + "Dettagli del Prestito": "Lånedetaljer", + "Dettagli evento": "Begivenhedsdetaljer", + "Dettagli principali dell'evento": "Vigtigste begivenhedsdetaljer", + "Dettagli restituzione": "Afleveringsdetaljer", + "Deutsch (DE)": "Tysk (DE)", + "Deve contenere maiuscole, minuscole e numeri": "Skal indeholde store og små bogstaver samt tal", + "Deve iniziare con": "Skal starte med", + "Devi accettare la Privacy Policy per procedere": "Du skal acceptere privatlivspolitikken for at fortsætte", + "Devi elencare manualmente i cookie tracciati da questi script nella": "Du skal manuelt liste de cookies, der spores af disse scripts, i", + "Devi eseguire": "Du skal køre", + "Dewey": "Dewey", + "Dichiarazione dei diritti (URL)": "Rettighedserklæring (URL)", + "Dichiarazione diritti": "Rettighedserklæring", + "Digita almeno 2 caratteri per cercare tra i authority record.": "Indtast mindst 2 tegn for at søge blandt normdata.", + "Digitale": "Digital", + "Dimensione": "Størrelse", + "Dimensione (byte)": "Størrelse (bytes)", + "Dimensioni": "Dimensioner", + "Dimensioni etichetta non valide. Devono essere comprese tra 10mm e 100mm.": "Ugyldig etiketstørrelse. Skal være mellem 10 mm og 100 mm.", + "Dipendenze": "Afhængigheder", + "Directory Upload Pubblici": "Offentlig upload-mappe", + "Directory non scrivibile: %s": "Mappe ikke skrivbar: %s", + "Directory plugin già esistente.": "Plugin-mappe findes allerede.", + "Directory sorgente non trovata": "Kildemappe ikke fundet", + "Disabilita": "Deaktiver", + "Disabilita prestiti, prenotazioni e wishlist. Gli utenti potranno solo consultare il catalogo.": "Deaktiver lån, reservationer og ønskeliste. Brugere kan kun gennemse kataloget.", + "Disabilita se il tuo sito non usa cookie analitici (es. Google Analytics)": "Deaktiver, hvis dit websted ikke bruger analytiske cookies (f.eks. Google Analytics)", + "Disabilita se il tuo sito non usa cookie di marketing/advertising": "Deaktiver, hvis dit websted ikke bruger marketing-/reklame-cookies", + "Disabilita tutte le funzionalità di prestito e prenotazione": "Deaktiver alle låne- og reservationsfunktioner", + "Disabilitata": "Deaktiveret", + "Disabilitata - Nascosta nel frontend": "Deaktiveret – Skjult i frontend", + "Disabilitato": "Deaktiveret", + "Disattiva": "Deaktiver", + "Disattiva modalità manutenzione": "Deaktiver vedligeholdelsestilstand", + "Disattivata": "Inaktiv", + "Disattivato": "Deaktiveret", + "Disattivo": "Deaktiveret", + "Disco": "Plade", + "Discografia": "Diskografi", + "Disconnesso": "Afbrudt", + "Disconnetti": "Log ud", + "Disconnetti tutti": "Log alle ud", + "Discreto": "Jævn", + "Disegno / opera grafica (hd)": "Tegning / grafisk værk (hd)", + "Disinstalla": "Afinstaller", + "Disinstalla Plugin": "Afinstaller plugin", + "Disinstalla plugin": "Afinstaller plugin", + "Disponibile": "Tilgængelig", + "Disponibile dal:": "Tilgængelig fra:", + "Disponibile nella data selezionata": "Tilgængelig på den valgte dato", + "Disponibile ora": "Tilgængelig nu", + "Disponibile per il prestito.": "Tilgængelig til udlån.", + "Disponibile solo con driver SMTP": "Kun tilgængelig med SMTP-driver", + "Disponibili": "Tilgængelige", + "Disponibili e in prestito": "Tilgængelige og udlånte", + "Disponibilità": "Tilgængelighed", + "Disponibilità copie": "Eksemplartilgængelighed", + "Dispositivo sconosciuto": "Ukendt enhed", + "Divisione (010-990)": "Afdeling (010-990)", + "Divisioni": "Afdelinger", + "Do you want to automatically fix the detected integrity issues?": "Vil du automatisk rette de fundne integritetsproblemer?", + "Do you want to run full system maintenance? This may take a few minutes.": "Vil du køre fuld systemvedligeholdelse? Dette kan tage et par minutter.", + "Documentazione": "Dokumentation", + "Documentazione API": "API-dokumentation", + "Documenti scaricabili": "Downloadbare dokumenter", + "Documento": "Dokument", + "Documento generato il %s alle %s": "Dokument genereret den %s kl. %s", + "Documento precedente (carica uno nuovo per migrare al sistema multi-file)": "Forrige dokument (upload et nyt for at migrere til flerdelt-filsystemet)", + "Documento scaricabile": "Downloadbart dokument", + "Domini mirror": "Spejldomæner", + "Dominio non valido. Inserisci solo host o host:porta, senza percorsi.": "Ugyldigt domæne. Indtast kun vært eller vært:port uden stier.", + "Dominio personalizzato...": "Brugerdefineret domæne...", + "Donazione": "Donation", + "Dopo la conferma, un amministratore approverà la tua iscrizione.": "Efter bekræftelse vil en administrator godkende din tilmelding.", + "Dopo la rigenerazione, invia l'URL della sitemap a Google Search Console e Bing Webmaster Tools": "Efter genskabelse skal du indsende sitemap-URL'en til Google Search Console og Bing Webmaster Tools", + "Download aggiornamento": "Henter opdatering", + "Download completato": "Download fuldført", + "Download copertina fallito": "Download af omslag mislykkedes", + "Download fallito": "Download mislykkedes", + "Driver": "Driver", + "Driver Email": "E-mail-driver", + "Dry-run (analizza senza inserire)": "Tørkørsel (analyser uden indsættelse)", + "Dry-run:": "Tørkørsel:", + "Durata": "Varighed", + "EAN": "EAN", + "EAN:": "EAN:", + "ERRORE:": "FEJL:", + "Eccellente": "Fremragende", + "Eccezione creazione %s su %s:": "Undtagelse ved oprettelse af %s på %s:", + "Eccezione creazione tabella %s:": "Undtagelse ved oprettelse af tabel %s:", + "Edificio": "Bygning", + "Editor Classificazione Dewey": "Dewey-klassifikationseditor", + "Editore": "Forlag", + "Editore \"${item.label}\" selezionato": "Forlag \"${item.label}\" valgt", + "Editore \"${value}\" pronto per essere creato": "Forlag \"${value}\" klar til oprettelse", + "Editore \"%s\" pronto per essere creato": "Forlag \"%s\" klar til oprettelse", + "Editore \"%s\" selezionato": "Forlag \"%s\" valgt", + "Editore %s": "Forlag %s", + "Editore applicato": "Forlag anvendt", + "Editore eliminato con successo.": "Forlag slettet med succes.", + "Editore principale": "Hovedforlag", + "Editore sconosciuto": "Ukendt forlag", + "Editore selezionato:": "Valgt forlag:", + "Editore trovato:": "Forlag fundet:", + "Editore, Anno Pubblicazione": "Forlag, udgivelsesår", + "Editore:": "Forlag:", + "Editore: %s": "Forlag: %s", + "Editori": "Forlag", + "Editori uniti": "Forlag flettet", + "Editori uniti con successo": "Forlag flettet med succes", + "Edizione": "Udgave", + "Edizioni": "Udgivelser", + "Edizioni (Manifestation)": "Udgivelser (Manifestation)", + "Elaborati": "Behandlede", + "Elaborato da": "Behandlet af", + "Elaborazione in corso...": "Behandler...", + "Elaborazione libri": "Behandler bøger", + "Elaborazione lista attesa fallita": "Behandling af venteliste mislykkedes", + "Elaborazione...": "Behandler...", + "Elementi": "Elementer", + "Elenco Autori": "Forfatterliste", + "Elenco Autori - Biblioteca": "Forfatterliste – Bibliotek", + "Elenco Editori": "Forlagsliste", + "Elenco Editori - Biblioteca": "Forlagsliste – Bibliotek", + "Elenco Libri": "Bogliste", + "Elenco Libri - Biblioteca": "Bogliste – Bibliotek", + "Elenco Prestiti": "Udlånsliste", + "Elenco Utenti": "Brugerliste", + "Elenco Utenti - Biblioteca": "Brugerliste – Bibliotek", + "Elimina": "Slet", + "Elimina Installer": "Slet installationsprogram", + "Elimina Installer (Richiede Composer)": "Slet installationsprogram (kræver Composer)", + "Elimina Lingua": "Slet sprog", + "Elimina Opera": "Slet værk", + "Elimina collana": "Slet serie", + "Elimina copia": "Slet eksemplar", + "Elimina copia digitalizzata": "Slet digitaliseret eksemplar", + "Elimina genere": "Slet genre", + "Elimina il file .installed dalla root del progetto e riprova": "Slet filen .installed fra projektets rodmappe, og prøv igen", + "Elimina questa lingua. Questa azione non può essere annullata.": "Slet dette sprog. Denne handling kan ikke anulleres.", + "Elimina recensione": "Slet anmeldelse", + "Elimina tutto": "Slet alt", + "Eliminare i libri selezionati?": "Vil du slette de valgte bøger?", + "Eliminare il file .installed dalla root del progetto e rieseguire l'installer": "Slet filen .installed fra projektets rodmappe, og kør installationsprogrammet igen", + "Eliminare il libro?": "Vil du slette bogen?", + "Eliminare l'utente?": "Vil du slette brugeren?", + "Eliminare partner?": "Vil du slette partneren?", + "Eliminare questa attività?": "Vil du slette denne aktivitet?", + "Eliminare questa attività? È collegata a %d unità archivistiche — le relazioni saranno orfane.": "Vil du slette denne aktivitet? Den er knyttet til %d arkivenheder – relationerne vil blive forældreløse.", + "Eliminare questa copia digitalizzata?": "Vil du slette denne digitaliserede kopi?", + "Eliminare questa mensola? (Solo se vuota)": "Vil du slette denne hylde? (Kun hvis den er tom)", + "Eliminare questa opera? Le edizioni collegate verranno scollegate ma NON eliminate.": "Vil du slette dette værk? Tilknyttede udgivelser vil blive frakoblet, men IKKE slettet.", + "Eliminare questo authority record? L'operazione è reversibile (soft-delete).": "Vil du slette denne normpost? Handlingen kan omfordeles (blød sletning).", + "Eliminare questo backup?": "Vil du slette denne backup?", + "Eliminare questo luogo?": "Vil du slette dette sted?", + "Eliminare questo luogo? È collegato a %d relazione/i; le relazioni saranno orfane.": "Vil du slette dette sted? Det er knyttet til %d relation(er); relationerne vil blive forældreløse.", + "Eliminare questo partner?": "Vil du slette denne partner?", + "Eliminare questo record? L'operazione è reversibile (soft-delete) ma rimuoverà l'unità dalle viste.": "Vil du slette denne post? Handlingen kan omfordeles (blød sletning), men fjerner enheden fra visningerne.", + "Eliminare questo scaffale? (Solo se vuoto)": "Vil du slette denne reol? (Kun hvis den er tom)", + "Eliminati": "Slettede", + "Eliminato!": "Slettet!", + "Eliminazione in corso...": "Sletter...", + "Email": "E-mail", + "Email *": "E-mail *", + "Email Admin": "Admin e-mail", + "Email Contatto": "Kontakt e-mail", + "Email Non Valida": "Ugyldig e-mail", + "Email Non Verificata": "Ikke-verificeret e-mail", + "Email Referente": "Kontaktpersons e-mail", + "Email Verificata": "E-mail verificeret", + "Email associata al tuo account": "E-mail knyttet til din konto", + "Email configurata": "E-mail konfigureret", + "Email di contatto": "Kontakte-mail", + "Email di recupero inviata con successo!": "Gendannelsese-mail sendt med succes!", + "Email dove ricevere i messaggi dal form contatti": "E-mailadresse til modtagelse af beskeder fra kontaktformularen", + "Email e telefono visibili sulla pagina contatti": "E-mail og telefon synlige på kontaktsiden", + "Email già registrata": "E-mail allerede registreret", + "Questi dati risultano già registrati": "Disse oplysninger er allerede registreret", + "Codice fiscale già registrato": "Skattenummer allerede registreret", + "Codice tessera già assegnato": "Medlemskortnummer allerede tildelt", + "Email non trovata nel nostro sistema": "E-mail ikke fundet i vores system", + "Email non valida. Verifica il formato": "Ugyldig e-mail. Kontroller formatet", + "Email non verificata. Controlla la tua casella di posta e clicca sul link di verifica": "E-mail ikke verificeret. Tjek din indbakke og klik på verificeringslinket", + "Email o password non corretti. Verifica le credenziali e riprova": "Forkert e-mail eller adgangskode. Kontroller dine legitimationsoplysninger og prøv igen", + "Email per notifiche": "E-mail til notifikationer", + "Email troppo lunga (massimo 255 caratteri)": "E-mail for lang (maksimalt 255 tegn)", + "Numero di telefono troppo lungo": "Telefonnummer for langt", + "Email utente": "Bruger-e-mail", + "Email verificata con successo! Il tuo account è ora in attesa di approvazione da parte dell'amministratore. Riceverai un'email quando sarà attivato.": "E-mail verificeret med succes! Din konto afventer nu godkendelse fra administratoren. Du modtager en e-mail, når den aktiveres.", + "Email:": "E-mail:", + "Embed della mappa (Google Maps o OpenStreetMap). Puoi inserire l'URL o il codice iframe completo.": "Kortindlejring (Google Maps eller OpenStreetMap). Du kan indsætte URL'en eller den fulde iframe-kode.", + "Emoji Bandiera": "Flag-emoji", + "Emoji della bandiera del paese (opzionale)": "Landeflags-emoji (valgfrit)", + "Emoji della bandiera del paese (opzionale, default: 🌐)": "Landeflags-emoji (valgfrit, standard: 🌐)", + "Encryption": "Kryptering", + "Endpoint": "Slutpunkt", + "Endpoint NCIP": "NCIP-slutpunkt", + "Endpoint SRU:": "SRU-slutpunkt:", + "English (EN)": "Engelsk (EN)", + "Ente": "Institution", + "Ente (organizzazione, sindacato, partito)": "Institution (organisation, fagforening, parti)", + "Entità geografiche (paesi, regioni, comuni, edifici) collegabili a unità archivistiche, agenti e attività. Supporto identificativi GeoNames, Wikidata e Getty TGN per Linked Data.": "Geografiske enheder (lande, regioner, kommuner, bygninger), der kan knyttes til arkivenheder, aktører og aktiviteter. Understøtter GeoNames-, Wikidata- og Getty TGN-identifikatorer til sammenkædede data (Linked Data).", + "Errore": "Fejl", + "Errore HTTP durante la preparazione": "HTTP-fejl under klargøring", + "Errore Installazione": "Installationsfejl", + "Errore SQL durante migrazione %s: %s": "SQL-fejl under migration %s: %s", + "Errore Upload": "Uploadfejl", + "Errore aggiornamento log": "Fejl ved opdatering af log", + "Errore annullamento prenotazione": "Fejl ved annullering af reservation", + "Errore annullamento prestito": "Fejl ved annullering af lån", + "Errore attivazione prestito schedulato": "Fejl ved aktivering af planlagt lån", + "Errore backup database": "Fejl ved databasebackup", + "Errore caricamento Audiobook": "Fejl ved indlæsning af lydbog", + "Errore caricamento classificazione Dewey": "Fejl ved indlæsning af Dewey-klassifikation", + "Errore caricamento eBook": "Fejl ved indlæsning af e-bog", + "Errore connessione database": "Databaseforbindelsesfejl", + "Errore correzione dati:": "Fejl ved datakorrektur:", + "Errore creazione %s su %s:": "Fejl ved oprettelse af %s på %s:", + "Errore creazione indici:": "Fejl ved oprettelse af indekser:", + "Errore creazione tabella %s:": "Fejl ved oprettelse af tabel %s:", + "Errore creazione tabella migrazioni": "Fejl ved oprettelse af migrationstabel", + "Errore creazione tabella update_logs": "Fejl ved oprettelse af update_logs-tabel", + "Errore database": "Databasefejl", + "Errore database:": "Databasefejl:", + "Errore del Server": "Serverfejl", + "Errore del database": "Databasefejl", + "Errore del database durante la registrazione. Riprova più tardi": "Databasefejl under registrering. Prøv igen senere", + "Errore del server": "Serverfejl", + "Errore del server. Riprova più tardi.": "Serverfejl. Prøv igen senere.", + "Errore del server. Riprova.": "Serverfejl. Prøv igen.", + "Errore di comunicazione con il server": "Kommunikationsfejl med serveren", + "Errore di configurazione del server.": "Serverkonfigurationsfejl.", + "Errore di configurazione.": "Konfigurationsfejl.", + "Errore di connessione": "Forbindelsesfejl", + "Errore di connessione durante il processing": "Forbindelsesfejl under behandling", + "Errore di connessione durante l'importazione": "Forbindelsesfejl under import", + "Errore di connessione.": "Forbindelsesfejl.", + "Errore di connessione:": "Forbindelsesfejl:", + "Errore di rete": "Netværksfejl", + "Errore di rete.": "Netværksfejl.", + "Errore di salvataggio": "Fejl ved gemning", + "Errore di salvataggio. Riprova più tardi.": "Fejl ved gemning. Prøv igen senere.", + "Errore di sicurezza": "Sikkerhedsfejl", + "Errore di sicurezza, riprova": "Sikkerhedsfejl, prøv igen", + "Errore di sicurezza. Aggiorna la pagina e riprova": "Sikkerhedsfejl. Genindlæs siden, og prøv igen", + "Errore di sicurezza. Ricarica la pagina e riprova": "Sikkerhedsfejl. Genindlæs siden, og prøv igen", + "Errore di sicurezza. Ricarica la pagina e riprova.": "Sikkerhedsfejl. Genindlæs siden, og prøv igen.", + "Errore di sicurezza. Riprova.": "Sikkerhedsfejl. Prøv igen.", + "Errore di sistema.": "Systemfejl.", + "Errore durante il caricamento": "Fejl under indlæsning", + "Errore durante il caricamento dei dettagli del plugin.": "Fejl under indlæsning af plugin-detaljer.", + "Errore durante il caricamento del file": "Fejl ved upload af fil", + "Errore durante il caricamento del file (code: %s).": "Fejl ved upload af fil (kode: %s).", + "Errore durante il caricamento del file.": "Fejl ved upload af fil.", + "Errore durante il caricamento del messaggio.": "Fejl under indlæsning af besked.", + "Errore durante il caricamento del pacchetto": "Fejl under upload af pakke", + "Errore durante il completamento": "Fejl under fuldførelse", + "Errore durante il controllo": "Fejl under kontrol", + "Errore durante il processing": "Fejl under behandling", + "Errore durante il recupero dei dati": "Fejl under hentning af data", + "Errore durante il recupero delle sessioni": "Fejl under hentning af sessioner", + "Errore durante il ricalcolo:": "Fejl under genberegning:", + "Errore durante il rifiuto": "Fejl under afvisning", + "Errore durante il riordinamento delle sezioni.": "Fejl under omordning af sektioner.", + "Errore durante il salvataggio": "Fejl under gemning", + "Errore durante il salvataggio delle impostazioni.": "Fejl under gemning af indstillinger.", + "Errore durante il salvataggio delle impostazioni:": "Fejl under gemning af indstillinger:", + "Errore durante il salvataggio nel database.": "Fejl under gemning i databasen.", + "Errore durante il salvataggio.": "Fejl under gemning.", + "Errore durante il salvataggio:": "Fejl under gemning:", + "Errore durante il seed": "Fejl under seed", + "Errore durante l'aggiornamento": "Fejl under opdatering", + "Errore durante l'aggiornamento del profilo.": "Fejl under opdatering af profil.", + "Errore durante l'aggiornamento dell'evento.": "Fejl under opdatering af begivenhed.", + "Errore durante l'aggiornamento della chiave Google Books.": "Fejl under opdatering af Google Books-nøgle.", + "Errore durante l'aggiornamento delle copie": "Fejl under opdatering af eksemplarer", + "Errore durante l'aggiornamento dello stato": "Fejl under opdatering af status", + "Errore durante l'annullamento": "Fejl under annullering", + "Errore durante l'annullamento del ritiro": "Fejl under annullering af afhentning", + "Errore durante l'applicazione del fix:": "Fejl under anvendelse af rettelse:", + "Errore durante l'approvazione": "Fejl under godkendelse", + "Errore durante l'arricchimento": "Fejl under berigelse", + "Errore durante l'attivazione": "Fejl under aktivering", + "Errore durante l'attivazione del plugin.": "Fejl under aktivering af plugin.", + "Errore durante l'attivazione del tema": "Fejl under aktivering af tema", + "Errore durante l'attivazione: %s": "Fejl under aktivering: %s", + "Errore durante l'elaborazione": "Fejl under behandling", + "Errore durante l'eliminazione": "Fejl under sletning", + "Errore durante l'eliminazione del libro. Riprova.": "Fejl under sletning af bog. Prøv igen.", + "Errore durante l'eliminazione dell'evento.": "Fejl under sletning af begivenhed.", + "Errore durante l'estrazione del plugin.": "Fejl under udpakning af plugin.", + "Errore durante l'import: %s": "Importfejl: %s", + "Errore durante l'importazione (HTTP": "Fejl under import (HTTP", + "Errore durante l'importazione (HTTP %d)": "Importfejl (HTTP %d)", + "Errore durante l'importazione dati": "Fejl under dataimport", + "Errore durante l'installazione": "Fejl under installation", + "Errore durante l'installazione del plugin.": "Fejl under plugin-installation.", + "Errore durante l'installazione:": "Fejl under installation:", + "Errore durante l'installazione: %s": "Fejl under installation: %s", + "Errore durante l'invio dell'email. Riprova più tardi": "Fejl ved afsendelse af e-mail. Prøv igen senere", + "Errore durante l'unione degli autori": "Fejl under fletning af forfattere", + "Errore durante l'unione degli editori": "Fejl under fletning af forlag", + "Errore durante l'upload.": "Uploadfejl.", + "Errore durante la conferma del ritiro": "Fejl under bekræftelse af afhentning", + "Errore durante la correzione:": "Fejl under rettelse:", + "Errore durante la creazione degli indici": "Fejl under oprettelse af indekser", + "Errore durante la creazione degli indici:": "Fejl under oprettelse af indekser:", + "Errore durante la creazione del prestito.": "Fejl under oprettelse af lån.", + "Errore durante la creazione del prestito: ": "Fejl under oprettelse af lån:", + "Errore durante la creazione dell'evento.": "Fejl under oprettelse af begivenhed.", + "Errore durante la creazione dell'utente:": "Fejl under oprettelse af bruger:", + "Errore durante la creazione delle tabelle:": "Fejl under oprettelse af tabeller:", + "Errore durante la disattivazione del plugin.": "Fejl under deaktivering af plugin.", + "Errore durante la disattivazione: %s": "Fejl under deaktivering: %s", + "Errore durante la disinstallazione del plugin.": "Fejl under afinstallation af plugin.", + "Errore durante la disinstallazione: ": "Fejl under afinstallation:", + "Errore durante la finalizzazione:": "Fejl under afslutning:", + "Errore durante la manutenzione:": "Fejl under vedligeholdelse:", + "Errore durante la prenotazione": "Fejl under reservation", + "Errore durante la preparazione": "Fejl under klargøring", + "Errore durante la registrazione": "Registreringsfejl", + "Errore durante la restituzione": "Fejl under aflevering", + "Errore durante la revoca della sessione": "Fejl under tilbagekaldelse af session", + "Errore durante la revoca delle sessioni": "Fejl under tilbagekaldelse af sessioner", + "Errore durante la ricerca": "Fejl under søgning", + "Errore durante la ricerca su": "Fejl under søgning på", + "Errore durante la richiesta.": "Fejl under forespørgsel.", + "Errore durante la rimozione dal database.": "Fejl under fjernelse fra databasen.", + "Errore durante la verifica dei libri associati": "Fejl under kontrol af tilknyttede bøger", + "Errore durante la verifica dei prestiti attivi": "Fejl under kontrol af aktive lån", + "Errore elaborazione restituzione": "Fejl ved behandling af aflevering", + "Errore elaborazione ritiro scaduto": "Fejl ved behandling af udløbet afhentning", + "Errore export CSV": "CSV-eksportfejl", + "Errore fatale durante aggiornamento": "Alvorlig fejl under opdatering", + "Errore generazione PDF prestito": "Fejl ved generering af låne-PDF", + "Errore generazione calendario": "Fejl ved generering af kalender", + "Errore gestione cambio stato copia": "Fejl ved håndtering af ændring af eksemplarstatus", + "Errore gestione copia non disponibile": "Fejl ved håndtering af utilgængeligt eksemplar", + "Errore imprevisto durante l'unione degli autori": "Uventet fejl under fletning af forfattere", + "Errore imprevisto durante l'unione degli editori": "Uventet fejl under fletning af forlag", + "Errore interno del database": "Interne databasefejl", + "Errore interno del database durante la verifica": "Interne databasefejl under kontrol", + "Errore interno del database. Riprova più tardi.": "Interne databasefejl. Prøv igen senere.", + "Errore interno durante acquisizione lock.": "Intern fejl under erhvervelse af lås.", + "Errore interno durante l'approvazione": "Intern fejl under godkendelse", + "Errore interno.": "Intern fejl.", + "Errore interno: %s": "Intern fejl: %s", + "Errore invio notifica differita": "Fejl ved afsendelse af udsat notifikation", + "Errore invio notifica ritiro pronto": "Fejl ved afsendelse af notifikation om klar afhentning", + "Errore invio notifica ritiro scaduto": "Fejl ved afsendelse af notifikation om udløbet afhentning", + "Errore lettura calendario": "Fejl ved læsning af kalender", + "Errore modifica data prenotazione": "Fejl ved ændring af reservationsdato", + "Errore nel caricamento dei backup.": "Fejl ved indlæsning af sikkerhedskopier.", + "Errore nel caricamento dei libri": "Fejl ved indlæsning af bøger", + "Errore nel caricamento del file": "Fejl ved upload af fil", + "Errore nel caricamento del file JSON": "Fejl ved indlæsning af JSON-fil", + "Errore nel caricamento del file.": "Fejl ved indlæsning af fil.", + "Errore nel caricamento.": "Fejl ved indlæsning.", + "Errore nel caricamento. Riprova.": "Fejl ved indlæsning. Prøv igen.", + "Errore nel download della copertina.": "Fejl ved download af omslag.", + "Errore nel parsing del file JSON.": "Fejl ved parsing af JSON-fil.", + "Errore nel parsing della risposta": "Fejl ved parsing af svar", + "Errore nel recupero dati tabella %s": "Fejl ved hentning af tabeldata for %s", + "Errore nel recupero dei figli": "Fejl ved hentning af underpunkter", + "Errore nel recupero dei figli.": "Fejl ved hentning af underpunkter.", + "Errore nel recupero dei risultati": "Fejl ved hentning af resultater", + "Errore nel recupero del percorso.": "Fejl ved hentning af sti.", + "Errore nel recupero delle categorie.": "Fejl ved hentning af kategorier.", + "Errore nel recupero delle divisioni.": "Fejl ved hentning af afdelinger.", + "Errore nel recupero delle specifiche.": "Fejl ved hentning af specifikationer.", + "Errore nel recupero delle tabelle": "Fejl ved hentning af tabeller", + "Errore nel recupero struttura tabella %s": "Fejl ved hentning af tabelstruktur for %s", + "Errore nel rifiuto": "Fejl ved afvisning", + "Errore nel rifiuto della richiesta": "Fejl ved afvisning af anmodning", + "Errore nel ripristino dei colori": "Fejl ved gendannelse af farver", + "Errore nel ripristino.": "Fejl ved gendannelse.", + "Errore nel salvataggio del file di traduzione": "Fejl ved gemning af oversættelsesfil", + "Errore nel salvataggio del file route": "Fejl ved gemning af route-fil", + "Errore nel salvataggio del file.": "Fejl ved gemning af fil.", + "Errore nel salvataggio del tema": "Fejl ved gemning af tema", + "Errore nel salvataggio del token": "Fejl ved gemning af token", + "Errore nel salvataggio dell'immagine.": "Fejl ved gemning af billede.", + "Errore nel salvataggio dell'ordine. Ricarica la pagina e riprova.": "Fejl ved gemning af rækkefølge. Genindlæs siden, og prøv igen.", + "Errore nel salvataggio delle impostazioni.": "Fejl ved gemning af indstillinger.", + "Errore nell'aggiornamento del template": "Fejl ved opdatering af skabelon", + "Errore nell'aggiornamento della lingua.": "Fejl ved opdatering af sprog.", + "Errore nell'aggiornamento delle route.": "Fejl ved opdatering af routes.", + "Errore nell'aggiornamento dello stato dell'API key: %s": "Fejl ved opdatering af API-nøglestatus: %s", + "Errore nell'aggiornamento:": "Fejl ved opdatering:", + "Errore nell'aggiornare i preferiti.": "Fejl ved opdatering af favoritter.", + "Errore nell'aggiunta del partner.": "Fejl ved tilføjelse af partner.", + "Errore nell'approvazione": "Fejl ved godkendelse", + "Errore nell'eliminazione del partner.": "Fejl ved sletning af partner.", + "Errore nell'eliminazione dell'API key: %s": "Fejl ved sletning af API-nøgle: %s", + "Errore nell'eliminazione della lingua.": "Fejl ved sletning af sprog.", + "Errore nell'eliminazione:": "Fejl ved sletning:", + "Errore nell'operazione.": "Fejl under handling.", + "Errore nell'operazione:": "Fejl under handling:", + "Errore nella Verifica dell'Installazione": "Fejl ved installationskontrol", + "Errore nella codifica JSON.": "JSON-kodningsfejl.", + "Errore nella comunicazione con il server": "Kommunikationsfejl med serveren", + "Errore nella conferma del ritiro": "Fejl ved bekræftelse af afhentning", + "Errore nella copia del file: %s": "Fejl ved kopiering af fil: %s", + "Errore nella copia:": "Fejl ved kopiering:", + "Errore nella copia: ": "Fejl ved kopiering:", + "Errore nella creazione del genere.": "Fejl ved oprettelse af genre.", + "Errore nella creazione dell'API key: %s": "Fejl ved oprettelse af API-nøgle: %s", + "Errore nella creazione dell'opera": "Fejl ved oprettelse af værk", + "Errore nella creazione della lingua.": "Fejl ved oprettelse af sprog.", + "Errore nella creazione della recensione": "Fejl ved oprettelse af anmeldelse", + "Errore nella creazione della richiesta di prestito": "Fejl ved oprettelse af låneanmodning", + "Errore nella creazione:": "Fejl ved oprettelse:", + "Errore nella lettura del backup.": "Fejl ved læsning af backup.", + "Errore nella lettura del file Dewey esistente.": "Fejl ved læsning af eksisterende Dewey-fil.", + "Errore nella lettura del file.": "Fejl ved læsning af fil.", + "Errore nella prenotazione": "Fejl ved reservation", + "Errore nella prenotazione.": "Fejl ved reservation.", + "Errore nella query.": "Forespørgselsfejl.", + "Errore nella ricerca": "Søgefejl", + "Errore nella ricerca.": "Fejl ved søgning.", + "Errore nella richiesta di prestito.": "Fejl ved låneanmodning.", + "Errore prenotazione": "Reservationsfejl", + "Errore preparazione completamento log": "Fejl ved klargøring af logfuldførelse", + "Errore preparazione insert migrazione": "Fejl ved klargøring af migrationsindsættelse", + "Errore preparazione log aggiornamento": "Fejl ved klargøring af opdateringslog", + "Errore preparazione query migrazioni": "Fejl ved klargøring af migrationsforespørgsel", + "Errore processamento immagine": "Fejl ved billedbehandling", + "Errore recupero batch migrazioni": "Fejl ved hentning af migrationsbatch", + "Errore recupero risultati migrazioni": "Fejl ved hentning af migrationsresultater", + "Errore riassegnazione copia": "Fejl ved genindsættelse af eksemplar", + "Errore riassegnazione copia persa": "Fejl ved genindsættelse af tabt eksemplar", + "Errore richiesta prestito": "Fejl ved låneanmodning", + "Errore salvataggio immagine": "Fejl ved gemning af billede", + "Errore sconosciuto": "Ukendt fejl", + "Errore sconosciuto durante il caricamento": "Ukendt fejl under upload", + "Errore suggerimento": "Forslagsfejl", + "Errore validazione prestito:": "Fejl ved lånevalidering:", + "Errore verifica tabelle: %s": "Fejl ved tabelkontrol: %s", + "Errore!": "Fejl!", + "Errore:": "Fejl:", + "Errore: ": "Fejl:", + "Errore: Utente non trovato": "Fejl: Bruger ikke fundet", + "Errore: la data di scadenza deve essere successiva alla data di prestito.": "Fejl: Udløbsdatoen skal ligge efter udlånsdatoen.", + "Errore: tutti i campi obbligatori devono essere compilati.": "Fejl: Alle obligatoriske felter skal udfyldes.", + "Errori": "Fejl", + "Errori Totali": "Samlede fejl", + "Errori XSD (%d)": "XSD-fejl (%d)", + "Errori di validazione dopo il merge.": "Valideringsfejl efter fletning.", + "Errori di validazione nel file importato.": "Valideringsfejl i den importerede fil.", + "Errori di validazione.": "Valideringsfejl.", + "Errori durante l'import": "Importfejl", + "Errori durante l'import dei dati (%d). Primi errori:\n%s": "Fejl under dataimport (%d). Første fejl:\n%s", + "Errori durante l'importazione": "Fejl under import", + "Errori:": "Fejl:", + "Es. Biblioteca Digitale - Migliaia di libri da esplorare": "F.eks. Digitalt bibliotek – Tusindvis af bøger at udforske", + "Es. Biblioteca Nazionale di Roma": "f.eks. Rom Nationalbibliotek", + "Es. Esplora migliaia di libri, prenota online e gestisci i tuoi prestiti.": "F.eks. Udforsk tusindvis af bøger, reservér online, og administrer dine lån.", + "Es. Italiana, Americana, Francese...": "F.eks. Italiensk, amerikansk, fransk...", + "Es. Italiana, Americana...": "F.eks. Italiensk, amerikansk...", + "Es. Italiana...": "F.eks. Italiensk...", + "Es. La Tua Biblioteca Digitale": "F.eks. Dit digitale bibliotek", + "Es. Milano...": "F.eks. Milano...", + "Es. Presentazione libro \"Il Nome della Rosa\"": "F.eks. Bogpræsentation af \"Rosens navn\"", + "Es. Scopri il nostro catalogo digitale con migliaia di libri disponibili per il prestito. Registrati gratuitamente e inizia a leggere oggi stesso.": "F.eks. Oplev vores digitale katalog med tusindvis af bøger til udlån. Registrer dig gratis, og begynd at læse i dag.", + "Es. Un libro fantastico!": "F.eks. En fantastisk bog!", + "Es. Un libro straordinario!": "F.eks. En ekstraordinær bog!", + "Es. biblioteca digitale, prestito libri, catalogo online, libri gratis": "F.eks. digitalt bibliotek, bogudlån, online katalog, gratis bøger", + "Es. https://tuosito.com": "F.eks. https://ditwebsted.com", + "Es. https://tuosito.com/uploads/og-image.jpg": "F.eks. https://ditwebsted.com/uploads/og-image.jpg", + "Es. https://tuosito.com/uploads/twitter-image.jpg": "Eks. https://ditwebsted.dk/uploads/twitter-image.jpg", + "Esauriti tentativi riassegnazione copia": "Forsøg på genindsættelse af eksemplar opbrugt", + "Esci": "Log ud", + "Esecuzione ogni 30 minuti (consigliato)": "Kør hver 30. minut (anbefales)", + "Esecuzione ogni ora (8:00-20:00)": "Kør hver time (08:00-20:00)", + "Esegue la rigenerazione ogni giorno alle 02:00 e registra il log in": "Udfører genskabelse hver dag kl. 02:00 og logger i", + "Esegue la rigenerazione ogni giorno alle 02:00 e registra il log in storage/logs/sitemap.log.": "Udfører genskabelse hver dag kl. 02:00 og logger i storage/logs/sitemap.log.", + "Esegui": "Kør", + "Esegui Manutenzione": "Udfør vedligeholdelse", + "Esegui tutte le operazioni di manutenzione": "Udfør alle vedligeholdelseshandlinger", + "Eseguito da": "Udført af", + "Esempio": "Eksempel", + "Esempio di Chiamata": "Eksempel på kald", + "Esempio route inglese:": "Eksempel på engelsk route:", + "Esempio route italiana:": "Eksempel på italiensk route:", + "Esempio:": "Eksempel:", + "Esiste già un altro libro con lo stesso identificatore (ISBN/EAN).": "Der findes allerede en anden bog med samme identifikator (ISBN/EAN).", + "Esiste già un libro con lo stesso identificatore (ISBN/EAN).": "Der findes allerede en bog med samme identifikator (ISBN/EAN).", + "Esistente": "Eksisterende", + "Esistente dal": "Eksisterer fra", + "Esistente fino al": "Eksisterer indtil", + "Esito restituzione": "Afleveringsresultat", + "Español (ES)": "Spansk (ES)", + "Esplora Catalogo": "Udforsk katalog", + "Esplora catalogo": "Udforsk katalog", + "Esplora e gestisci gli autori della biblioteca": "Udforsk og administrer bibliotekets forfattere", + "Esplora e gestisci gli editori della biblioteca": "Udforsk og administrer bibliotekets forlag", + "Esplora e gestisci gli utenti registrati alla biblioteca": "Udforsk og administrer registrerede biblioteksbrugere", + "Esplora e gestisci la collezione della biblioteca": "Udforsk og administrer bibliotekssamlingen", + "Esplora i generi principali": "Udforsk hovedgenrerne", + "Esplora il catalogo": "Udforsk kataloget", + "Esplora il catalogo e scopri nuovi titoli.": "Gennemse kataloget og opdag nye titler.", + "Esplora il nostro catalogo digitale": "Udforsk vores digitale katalog", + "Esplora il nostro vasto catalogo di libri, prenota i tuoi titoli preferiti e scopri nuove letture": "Udforsk vores store bogkatalog, reservér dine yndlingstitler, og opdag ny læsning", + "Esplora il nostro vasto catalogo di libri, prenota i tuoi titoli preferiti e scopri nuove letture. Sistema di prestito moderno e intuitivo con ricerca avanzata e categorie organizzate.": "Udforsk vores store bogkatalog, reservér dine yndlingstitler, og opdag ny læsning. Moderne og intuitivt udlånssystem med avanceret søgning og organiserede kategorier.", + "Esplora per Categoria": "Udforsk efter kategori", + "Espone il catalogo locale via protocollo SRU per altre biblioteche.": "Eksponerer det lokale katalog via SRU-protokollen til andre biblioteker.", + "Esporta": "Eksporter", + "Esporta CSV": "Eksporter CSV", + "Esporta CSV (formato compatibile per import)": "Eksporter CSV (kompatibelt format til import)", + "Esporta EAD3": "Eksporter EAD3", + "Esporta Excel": "Eksporter Excel", + "Esporta MARCXML": "Eksporter MARCXML", + "Esporta PDF": "Eksporter PDF", + "Esporta Prestiti": "Eksporter lån", + "Esporta record UNIMARC (MARCXchange)": "Eksporter UNIMARC-poster (MARCXchange)", + "Esporta selezionati": "Eksporter valgte", + "Esportazione di %d libri filtrati su %d totali": "Eksport af %d filtrerede bøger ud af %d i alt", + "Esportazione di %d utenti filtrati su %d totali": "Eksport af %d filtrerede brugere ud af %d i alt", + "Esportazione di tutti i %d libri del catalogo": "Eksport af alle %d bøger i kataloget", + "Esportazione di tutti i %d utenti": "Eksport af alle %d brugere", + "Espressioni (Expression)": "Udtryk (Expression)", + "Essenziali:": "Essentielle:", + "Estensione": "Omfang", + "Estensione del file non valida.": "Ugyldig filtypenavn.", + "Estensione e supporto": "Omfang og medium", + "Estensioni": "Udvidelser", + "Estrazione del pacchetto fallita": "Udpakning af pakke mislykkedes", + "Estrazione pacchetto...": "Udpakker pakke...", + "Etichetta": "Etiket", + "Etichetta \"ombrello\" per spin-off (es. tutto il franchise di Fairy Tail).": "\"Paraply\"-mærkat for spin-offs (f.eks. hele Fairy Tail-franchiset).", + "Etichette": "Etiketter", + "Etichette interne grandi (Herma 4630, Avery 3490)": "Store interne etiketter (Herma 4630, Avery 3490)", + "European Article Number (opzionale)": "European Article Number (valgfrit)", + "Eventi": "Begivenheder", + "Eventi Recenti": "Seneste begivenheder", + "Eventi e Incontri": "Begivenheder og møder", + "Evento": "Begivenhed", + "Evento aggiornato con successo!": "Begivenhed opdateret med succes!", + "Evento creato con successo!": "Begivenhed oprettet med succes!", + "Evento della biblioteca": "Biblioteksbegivenhed", + "Evento eliminato con successo!": "Begivenhed slettet med succes!", + "Evento non trovato.": "Begivenhed ikke fundet.", + "Evento visibile sul sito": "Begivenhed synlig på webstedet", + "Eventuali annotazioni sullo stato del libro...": "Eventuelle bemærkninger om bogs stand...", + "Excel": "Excel", + "Export": "Eksport", + "Export per LibraryThing": "Eksport til LibraryThing", + "Exporting %d filtered users out of %d total": "Eksporterer %d filtrerede brugere ud af %d i alt", + "Exporting all %d users": "Eksporterer alle %d brugere", + "FAQ": "Ofte stillede spørgsmål", + "FATAL ERROR:": "FATAL FEJL:", + "Facebook": "Facebook", + "Fallimento": "Fejl", + "Fallito": "Fejlet", + "Famiglia": "Familie", + "Famiglia (genealogica)": "Familie (genealogisk)", + "Fascicolo": "Mappe", + "Fascicolo (case file, volume)": "Mappe (sag, bind)", + "Fatal Error:": "Fatal fejl:", + "Fatto!": "Færdig!", + "Feature %d": "Funktion %d", + "Feature 1": "Funktion 1", + "Feature 2": "Funktion 2", + "Feature 3": "Funktion 3", + "Feature 4": "Funktion 4", + "Features - Caratteristiche": "Funktioner - Egenskaber", + "Feed RSS": "RSS-feed", + "Feed e Scoperta": "Feeds og opdagelse", + "Femmina": "Kvinde", + "File": "Fil", + "File \"%s\" pronto per l'upload": "Fil \"%s\" klar til upload", + "File %s nella directory root": "Fil %s i rodmappen", + "File .env non trovato": ".env-fil ikke fundet", + "File .env:": ".env-fil:", + "File .htaccess creato": ".htaccess-fil oprettet", + "File .installed:": ".installed-fil:", + "File CSV (max 10MB)": "CSV-fil (maks. 10 MB)", + "File CSV non valido: usa \";\" o \",\" come separatore.": "Ugyldig CSV-fil: Brug \";\" eller \",\" som separator.", + "File CSV non valido: usa \";\", \",\" o TAB come separatore.": "Ugyldig CSV-fil: Brug \";\", \",\" eller TAB som separator.", + "File CSV vuoto o formato non valido": "Tom CSV-fil eller ugyldigt format", + "File Dewey esistente non è un JSON valido o è corrotto.": "Eksisterende Dewey-fil er ikke en gyldig JSON eller er korrupt.", + "File Dewey non trovato.": "Dewey-fil ikke fundet.", + "File JSON con le traduzioni (opzionale). Puoi caricarlo anche in seguito.": "JSON-fil med oversættelser (valgfrit). Du kan også uploade den senere.", + "File JSON non valido": "Ugyldig JSON-fil", + "File MARCXML": "MARCXML-fil", + "File Principale:": "Hovedfil:", + "File TSV/CSV da LibraryThing (max 10MB)": "TSV/CSV-fil fra LibraryThing (maks. 10 MB)", + "File URL": "Fil-URL", + "File ZIP con struttura plugin valida": "ZIP-fil med gyldig pluginstruktur", + "File ZIP del pacchetto di aggiornamento (max 200MB)": "ZIP-fil med opdateringspakke (maks. 200 MB)", + "File ZIP non trovato.": "ZIP-fil ikke fundet.", + "File ZIP troppo grande. Dimensione massima: 100 MB.": "ZIP-fil for stor. Maksimal størrelse: 100 MB.", + "File attuale": "Aktuel fil", + "File backup non trovato": "Backup-fil ikke fundet", + "File caricato con successo": "Fil uploadet med succes", + "File caricato, inizio processing...": "Fil uploadet, starter behandling...", + "File dati iniziali per la lingua selezionata non trovato: %s": "Startdatafil for det valgte sprog ikke fundet: %s", + "File di Esempio": "Eksempelfil", + "File di Traduzione": "Oversættelsesfil", + "File di Traduzione Attuale": "Aktuel oversættelsesfil", + "File di Traduzione JSON": "JSON-oversættelsesfil", + "File di aggiornamento non valido": "Ugyldig opdateringsfil", + "File di aggiornamento non valido (troppo piccolo)": "Ugyldig opdateringsfil (for lille)", + "File di log non trovato": "Logfil ikke fundet", + "File di traduzione non trovato": "Oversættelsesfil ikke fundet", + "File esistente (data modifica)": "Eksisterende fil (ændringsdato)", + "File non trovato nell'upload.": "Fil ikke fundet i upload.", + "File non trovato.": "Fil ikke fundet.", + "File non valido": "Ugyldig fil", + "File non valido o corrotto.": "Ugyldig eller korrupt fil.", + "File plugin.json non trovato nel pacchetto.": "Filen plugin.json blev ikke fundet i pakken.", + "File plugin.json non valido.": "Ugyldig plugin.json-fil.", + "File principale PHP specificato in %s": "Hoved-PHP-fil angivet i %s", + "File principale del plugin non trovato.": "Pluginets hovedfil ikke fundet.", + "File sitemap non trovato": "Sitemap-fil ikke fundet", + "File sitemap presente": "Sitemap-fil til stede", + "File troppo grande.": "Filen er for stor.", + "File troppo grande. Dimensione massima 10MB.": "Filen er for stor. Maksimal størrelse 10 MB.", + "File troppo grande. Dimensione massima 5MB.": "Filen er for stor. Maksimal størrelse 5 MB.", + "File vuoto o formato non valido": "Tom fil eller ugyldigt format", + "File:": "Fil:", + "Filtra": "Filtrer", + "Filtra mensole per scaffale": "Filtrer hylder efter reol", + "Filtra per Mensola": "Filtrer efter hylde", + "Filtra per Scaffale": "Filtrer efter reol", + "Filtra per tipo": "Filtrer efter type", + "Filtri": "Filtre", + "Filtri attivi:": "Aktive filtre:", + "Filtri cancellati": "Filtre ryddet", + "Filtri di Ricerca": "Søgefiltre", + "Filtri salvati": "Gemte filtre", + "Filtro Libro": "Bogfilter", + "Filtro Utente": "Brugerfilter", + "Filtro attivo": "Aktivt filter", + "Filtro genere attivo": "Genrefilter aktivt", + "Filtro sottogenere attivo": "Undergenrefilter aktivt", + "Financial (Purchase Price, Value, Condition)": "Økonomisk (købspris, værdi, stand)", + "Fine": "Slut", + "Fine:": "Slut:", + "Fino a quando? (opzionale):": "Indtil hvornår? (valgfrit):", + "Fix applicato": "Rettelse anvendt", + "Fondo": "Fonds", + "Fondo (archivio completo di un creatore)": "Fonds (fuldstændigt arkiv for en skaber)", + "Fonte dati:": "Datakilde:", + "Fonte/Venditore": "Kilde/sælger", + "Fonti attive": "Aktive kilder", + "Fonti consultate:": "Konsulterede kilder:", + "Footer": "Sidefod", + "Forma autorizzata": "Autoriseret form", + "Forma autorizzata (REICAT 18.0)": "Normeret form (REICAT 18.0)", + "Forma autorizzata applicata.": "Autoriseret form anvendt.", + "Forma autorizzata del nome": "Navnets autoriserede form", + "Formati supportati: JPG, PNG, GIF, WebP. Dimensione massima: 5MB": "Understøttede formater: JPG, PNG, GIF, WebP. Maksimal størrelse: 5 MB", + "Formati supportati: MP3, M4A, OGG • Dimensione massima: 500 MB": "Understøttede formater: MP3, M4A, OGG • Maks. størrelse: 500 MB", + "Formati supportati: PDF, ePub • Dimensione massima: 100 MB": "Understøttede formater: PDF, ePub • Maks. størrelse: 100 MB", + "Formato": "Format", + "Formato CSV Dettagliato": "Detaljeret CSV-format", + "Formato Etichetta": "Etiketformat", + "Formato File JSON": "JSON-filformat", + "Formato ISBN non valido.": "Ugyldigt ISBN-format.", + "Formato JSON non valido": "Ugyldigt JSON-format", + "Formato LibraryThing Dettagliato": "Detaljeret LibraryThing-format", + "Formato biblioteche scolastiche (compatibile A4)": "Skolebiblioteksformat (A4-kompatibelt)", + "Formato biblioteche scolastiche (compatibili A4)": "Skolebiblioteksformat (A4-kompatible)", + "Formato codice non valido": "Ugyldigt kodeformat", + "Formato codice non valido. Usa formato: 599 oppure 599.9 oppure 599.93": "Ugyldigt kodeformat. Brug formatet: 599 eller 599.9 eller 599.93", + "Formato codice non valido. Usa: XXX.Y (es. 599.1)": "Ugyldigt kodeformat. Brug: XXX.Y (f.eks. 599.1)", + "Formato data non valido": "Ugyldigt datoformat", + "Formato dati non valido.": "Ugyldigt dataformat.", + "Formato etichetta non valido.": "Ugyldigt etiketformat.", + "Formato etichette aggiornato correttamente.": "Etiketformat opdateret korrekt.", + "Formato file non supportato.": "Filformat ikke understøttet.", + "Formato immagine non supportato": "Billedformat ikke understøttet", + "Formato immagine non supportato. Usa JPG, PNG o WebP.": "Billedformat ikke understøttet. Brug JPG, PNG eller WebP.", + "Formato impostazioni non valido.": "Ugyldigt indstillingsformat.", + "Formato logo non supportato. Usa PNG, JPG o WEBP.": "Logoformat ikke understøttet. Brug PNG, JPG eller WEBP.", + "Formato nativo LibraryThing": "Nativt LibraryThing-format", + "Formato non valido: usa AAAA o AAAA-MM-GG.": "Ugyldigt format: brug ÅÅÅÅ eller ÅÅÅÅ-MM-DD.", + "Formato orizzontale per dorso": "Liggende format til ryg", + "Formato quadrato Tirrenia": "Tirrenia kvadratisk format", + "Formato richiesta non valido": "Ugyldigt anmodningsformat", + "Formato: CSV con separatore %s • Max 10MB": "Format: CSV med separator %s • Maks. 10 MB", + "Formato: TSV/CSV • Max 10MB": "Format: TSV/CSV • Maks. 10 MB", + "Formato: xx_XX (es. it_IT, en_US, es_ES)": "Format: xx_XX (f.eks. it_IT, en_US, es_ES)", + "Forme parallele del nome": "Parallelle navneformer", + "Forte": "Stærk", + "Forza HTTPS": "Tving HTTPS", + "Fotografia (hf)": "Fotografi (hf)", + "Fotografo / autore primario": "Fotograf / primær forfatter", + "Français (FR)": "Fransk (FR)", + "Frecce ↑ ↓ per il volume": "↑ ↓ Piletaster for lydstyrke", + "From Email": "Afsender e-mail", + "From Name": "Afsendernavn", + "Funzionalità Plugin": "Plugin-funktionalitet", + "Funzionamento automatico:": "Automatisk drift:", + "Funzionamento:": "Funktionsmåde:", + "Funzione": "Funktion", + "Funzione (ISDF — livello superiore)": "Funktion (ISDF — øverste niveau)", + "Funzioni": "Funktioner", + "Funzioni, attività e transazioni allineate allo standard ISDF. Ogni attività può essere collegata a unità archivistiche e a un agente esecutore.": "Funktioner, aktiviteter og transaktioner i overensstemmelse med ISDF-standarden. Hver aktivitet kan knyttes til arkivenheder og en udførende aktør.", + "Funzioni, occupazioni, attività": "Funktioner, erhverv, aktiviteter", + "Fuori Catalogo": "Udsolgt fra forlag / Ikke i katalog", + "Gap nella Coda Prenotazioni": "Hul i reservationskøen", + "Genera automaticamente": "Generer automatisk", + "Genera automaticamente un file llms.txt per rendere la biblioteca comprensibile ai modelli linguistici (LLM)": "Generer automatisk en llms.txt-fil for at gøre biblioteket forståeligt for sprogmodeller (LLM)", + "Genera il tuo token su": "Generer din token på", + "Generato il": "Genereret den", + "Generato il:": "Genereret den:", + "Generazione CSV in corso...": "Genererer CSV...", + "Generazione...": "Genererer...", + "Genere": "Genre", + "Genere aggiornato con successo!": "Genre opdateret med succes!", + "Genere creato con successo!": "Genre oprettet med succes!", + "Genere di destinazione": "Målgenre", + "Genere eliminato con successo!": "Genre slettet med succes!", + "Genere letterario": "Litterær genre", + "Genere letterario del libro": "Bogens litterære genre", + "Genere non trovato.": "Genre ikke fundet.", + "Genere padre (opz.)": "Overordnet genre (valgfrit)", + "Genere padre (opzionale)": "Overordnet genre (valgfrit)", + "Genere principale": "Hovedgenre", + "Genere superiore": "Overordnet genre", + "Genere:": "Genre:", + "Generi": "Genrer", + "Generi Principali": "Hovedgenrer", + "Generi e sottogeneri": "Genrer og undergenrer", + "Generi uniti con successo!": "Genrer flettet med succes!", + "Gerarchia consigliata: Fondo → Serie → Fascicolo → Unità (ISAD(G) 3.1.4).": "Anbefalet hierarki: Fonds → Serie → Mappe → Enhed (ISAD(G) 3.1.4).", + "Gestione Autori": "Forfatteradministration", + "Gestione Biblioteca": "Biblioteksadministration", + "Gestione Collane": "Serieadministration", + "Gestione Collocazione": "Placeringsadministration", + "Gestione Contenuti (CMS)": "Indholdsadministration (CMS)", + "Gestione Editori": "Forlagsadministration", + "Gestione Eventi": "Begivenhedsadministration", + "Gestione Generi": "Genreadministration", + "Gestione Generi e Sottogeneri": "Genre- og undergenreadministration", + "Gestione JavaScript Personalizzati basata su Cookie": "Cookie-baseret administration af brugerdefinerede JavaScript", + "Gestione Libri": "Bogadministration", + "Gestione Lingue": "Sprogadministration", + "Gestione Multilingua": "Flersproget administration", + "Gestione Partner NCIP": "NCIP-partneradministration", + "Gestione Plugin": "Plugin-administration", + "Gestione Plugin LibraryThing": "Administration af LibraryThing-plugin", + "Gestione Prenotazioni": "Reservationsadministration", + "Gestione Prestiti": "Udlånsadministration", + "Gestione Recensioni": "Anmeldelsesadministration", + "Gestione Temi": "Temadministration", + "Gestione Utenti": "Brugeradministration", + "Gestione autori": "Forfatteradministration", + "Gestione classificazione Dewey: seed e statistiche": "Dewey-klassifikationsadministration: seed og statistikker", + "Gestione collezione": "Samlingsadministration", + "Gestione materiale archivistico secondo standard ISAD(G) / ISAAR(CPF).": "Administration af arkivmateriale i henhold til ISAD(G) / ISAAR(CPF)-standarderne.", + "Gestione prestiti": "Udlånsadministration", + "Gestione recensioni": "Anmeldelsesadministration", + "Gestione utenti": "Brugeradministration", + "Gestisci": "Administrer", + "Gestisci incontri": "Administrer møder", + "Gestisci Eventi": "Administrer begivenheder", + "Gestisci Partner": "Administrer partnere", + "Gestisci Restituzione": "Administrer aflevering", + "Gestisci collane, spin-off e cicli di serie": "Administrer serier, spin-offs og seriecyklusser", + "Gestisci gli aggiornamenti dell'applicazione": "Administrer applikationsopdateringer", + "Gestisci gli autori della collezione": "Administrer samlingens forfattere", + "Gestisci gli eventi della biblioteca: crea, modifica ed elimina eventi con immagini e descrizioni": "Administrer bibliotekets begivenheder: opret, rediger og slet begivenheder med billeder og beskrivelser", + "Gestisci i dispositivi su cui hai effettuato l'accesso con 'Ricordami'. Puoi disconnetterti da singoli dispositivi o da tutti contemporaneamente.": "Administrer de enheder, du har logget ind på med 'Husk mig'. Du kan logge ud af enkelte enheder eller alle på én gang.", + "Gestisci i generi letterari": "Administrer de litterære genrer", + "Gestisci i prestiti attivi e storici": "Administrer aktive og historiske lån", + "Gestisci i tuoi prestiti, esplora il catalogo e scopri nuovi titoli.": "Administrer dine lån, udforsk kataloget, og opdag nye titler.", + "Gestisci i tuoi titoli preferiti, scopri quando tornano disponibili e accedi rapidamente ai dettagli del libro.": "Administrer dine yndlingstitler, se hvornår de er tilgængelige igen, og få hurtig adgang til bogdetaljerne.", + "Gestisci il contenuto della pagina Chi Siamo con testo e immagine": "Administrer indholdet på Om os-siden med tekst og billede", + "Gestisci il contenuto della pagina Chi Siamo con testo e immagine personalizzati": "Administrer indholdet på Om os-siden med brugerdefineret tekst og billede", + "Gestisci l'accesso all'API per cercare libri via EAN, ISBN e autore": "Administrer API-adgang til at søge efter bøger via EAN, ISBN og forfatter", + "Gestisci l'installazione e la configurazione del plugin LibraryThing": "Administrer installation og konfiguration af LibraryThing-pluginnet", + "Gestisci la collocazione fisica dei libri": "Administrer bøgers fysiske placering", + "Gestisci la visibilità delle categorie di cookie nel banner. I cookie essenziali sono sempre visibili e obbligatori.": "Administrer synligheden af cookiekategorier i banneret. Essentielle cookies er altid synlige og obligatoriske.", + "Gestisci le case editrici": "Administrer forlag", + "Gestisci le classificazioni Dewey per italiano e inglese": "Administrer Dewey-klassifikationer for italiensk og engelsk", + "Gestisci le collane e le serie di libri": "Administrer bogserier og serier", + "Gestisci le estensioni dell'applicazione": "Administrer applikationens udvidelser", + "Gestisci preferenze cookie": "Administrer cookiepræferencer", + "Gestisci record di autorità": "Administrer normposter", + "Gestisci restituzione": "Administrer aflevering", + "Gestisci tutte": "Administrer alle", + "Gestisci tutti": "Administrer alle", + "Gestito da": "Administreret af", + "Giorni di preavviso per scadenza prestito": "Dages varsel før lånets udløb", + "Giorni per ritirare un prestito approvato": "Dage til at afhente et godkendt lån", + "Già Installato": "Allerede installeret", + "Già presenti o senza ISBN:": "Allerede til stede eller uden ISBN:", + "Già presenti:": "Allerede til stede:", + "Già recensito": "Allerede anmeldt", + "Gli amministratori non richiedono tessera e riceveranno un invito per impostare la password.": "Administratorer kræver ikke medlemskort og modtager en invitation til at indstille adgangskoden.", + "Gli appuntamenti della biblioteca": "Bibliotekets aftaler", + "Gli import CSV e LibraryThing verranno visualizzati qui": "CSV- og LibraryThing-importer vil blive vist her", + "Gli import vengono tracciati automaticamente durante l'elaborazione": "Importer spores automatisk under behandlingen", + "Gli indici migliorano significativamente le performance delle query, specialmente su tabelle con molti record. Le installazioni recenti li includono già, ma le installazioni più vecchie potrebbero non averli.": "Indekser forbedrer forespørgselsydeevnen væsentligt, især på tabeller med mange poster. Nyere installationer inkluderer dem allerede, men ældre installationer har dem muligvis ikke.", + "Gli script JavaScript sono divisi in 3 categorie in base alla tipologia di cookie:": "JavaScript-scripts er opdelt i 3 kategorier baseret på cookietype:", + "Gli utenti possono selezionare questa lingua": "Brugere kan vælge dette sprog", + "Globale": "Global", + "GoodLib — External Sources": "GoodLib — Eksterne kilder", + "GoodLib — Fonti Esterne": "GoodLib — Eksterne kilder", + "Google Books API": "Google Books API", + "Google Books API collegata": "Google Books API tilknyttet", + "Google Books Configurato": "Google Books konfigureret", + "Google reCAPTCHA v3": "Google reCAPTCHA v3", + "Grazie per aver scelto Pinakes!": "Tak fordi du valgte Pinakes!", + "Gruppo": "Gruppe", + "Gruppo serie": "Seriegruppe", + "Guida": "Vejledning", + "Guida alla Gestione Lingue": "Vejledning til sprogadministration", + "Guida alle Route": "Vejledning til routes", + "Guida online": "Online-vejledning", + "HTTP Strict Transport Security forza i browser a usare solo connessioni HTTPS per 1 anno (raccomandato per produzione con SSL valido).": "HTTP Strict Transport Security tvinger browsere til kun at bruge HTTPS-forbindelser i 1 år (anbefales til produktion med gyldigt SSL).", + "Ha priorità 8, viene interrogato dopo le fonti di scraping standard.": "Har prioritet 8, forespørges efter standard-scraping-kilderne.", + "Hai aggiunto %s copie a \"%s\"": "Du har tilføjet %s eksemplarer til \"%s\"", + "Hai già un account?": "Har du allerede en konto?", + "Hai già un prestito attivo o in attesa per questo libro": "Du har allerede et aktivt eller afventende lån på denne bog", + "Hai già una prenotazione attiva per questo libro.": "Du har allerede en aktiv reservation til denne bog.", + "Hai già una richiesta di prestito in attesa per questo libro": "Du har allerede en udestående låneanmodning på denne bog", + "Hai libri che dovevano essere restituiti. Restituiscili al più presto per evitare sanzioni.": "Du har bøger, der skulle have været afleveret. Aflever dem hurtigst muligt for at undgå gebyrer.", + "Hai modifiche non salvate che andranno perse. Continuare?": "Du har ikke-gemte ændringer, der vil gå tabt. Vil du fortsætte?", + "Hai modifiche non salvate. I dati attuali verranno sostituiti.": "Du har ikke-gemte ændringer. De aktuelle data vil blive erstattet.", + "Hai modifiche non salvate. Vuoi continuare e perderle?": "Du har ikke-gemte ændringer. Vil du fortsætte og miste dem?", + "Header HTTP (consigliato):": "HTTP-header (anbefalet):", + "Heading 1": "Overskrift 1", + "Heading 2": "Overskrift 2", + "Heading 3": "Overskrift 3", + "Heading 4": "Overskrift 4", + "Heading 5": "Overskrift 5", + "Heading 6": "Overskrift 6", + "Hello World": "Hej Verden", + "Hero - Testata principale": "Hero - Hovedområde", + "Home": "Hjem", + "Homepage": "Forside", + "Host": "Vært", + "Host Database": "Databasevært", + "I Cookie Essenziali sono sempre visibili e non possono essere disabilitati poiché necessari per il funzionamento del sito.": "Essentielle cookies er altid synlige og kan ikke deaktiveres, da de er nødvendige for, at webstedet kan fungere.", + "I Miei Preferiti": "Mine Favoritter", + "I backup sono salvati in:": "Sikkerhedskopier gemmes i:", + "I campi con * sono obbligatori": "Felter med * er påkrævede", + "I campi null indicano dati non disponibili": "Null-felter angiver utilgængelige data", + "I campi selezionati saranno visibili nella pagina pubblica del libro. I commenti privati sono sempre nascosti nel frontend.": "De valgte felter vil være synlige på bogens offentlige side. Private kommentarer er altid skjult i frontend.", + "I contenitori fisici principali dove sono organizzati i libri": "De fysiske hovedbeholdere, hvor bøgerne er organiseret", + "I dati attuali verranno sostituiti.": "De aktuelle data vil blive erstattet.", + "I dati devono essere un array non vuoto.": "Dataene skal være et ikke-tomt array.", + "I dati provengono dal file JSON, nessun seeding necessario.": "Dataene kommer fra JSON-filen, ingen seeding nødvendig.", + "I doppioni (per ID, ISBN13 o EAN) vengono aggiornati senza modificare le copie fisiche": "Dubletter (efter ID, ISBN13 eller EAN) opdateres uden at ændre de fysiske eksemplarer", + "I filtri correnti sono stati salvati nell'URL": "De aktuelle filtre er gemt i URL'en", + "I filtri vengono applicati automaticamente mentre digiti": "Filtre anvendes automatisk, mens du skriver", + "I libri degli altri autori verranno assegnati a questo": "Bøger af de andre forfattere vil blive tildelt denne", + "I libri degli altri editori verranno assegnati a questo": "Bøger af de andre forlag vil blive tildelt dette", + "I livelli (ripiani) all'interno di ogni scaffale": "Niveauerne (hylderne) inde i hver reol", + "I log vengono conservati per 90 giorni per conformità GDPR": "Logfiler opbevares i 90 dage i overensstemmelse med GDPR", + "I miei preferiti": "Mine favoritter", + "I termini con identificativo BNCF sono controllati; puoi comunque aggiungere soggetti liberi.": "Termer med BNCF-identifikator er kontrollerede; du kan stadig tilføje frie emner.", + "I tuoi preferiti": "Dine favoritter", + "ID": "ID", + "ID Editore": "Forlags-ID", + "ID Libro": "Bogs-ID", + "ID Prestito": "Udlåns-ID", + "ID Prestito:": "Udlåns-ID:", + "ID Richiesta": "Anmodnings-ID", + "ID autori non validi": "Ugyldige forfatter-ID'er", + "ID editori non validi": "Ugyldige forlags-ID'er", + "ID genere non valido": "Ugyldig genre-ID", + "ID import mancante": "Manglende import-ID", + "ID libri non validi": "Ugyldige bog-ID'er", + "ID libro non valido": "Ugyldig bog-ID", + "ID libro:": "Bog-ID:", + "ID non valido": "Ugyldig ID", + "ID prenotazione non valido": "Ugyldig reservations-ID", + "ID prestito non valido": "Ugyldig udlåns-ID", + "ID sessione non valido": "Ugyldig sessions-ID", + "ID target": "Mål-ID", + "ID unità padre (gerarchia)": "Overordnet enheds-ID (hierarki)", + "ID utente:": "Bruger-ID:", + "ID:": "ID:", + "IN RITARDO": "OVERSPRUNGET / FORMINDSKET", + "IP": "IP", + "IP Address": "IP-adresse", + "ISBN": "ISBN", + "ISBN 10": "ISBN 10", + "ISBN 13": "ISBN 13", + "ISBN Mancante": "Manglende ISBN", + "ISBN a 13 cifre (univoco)": "13-cifret ISBN (unik)", + "ISBN non trovato nelle fonti disponibili.": "ISBN blev ikke fundet i de tilgængelige kilder.", + "ISBN non trovato. Fonti consultate: %s": "ISBN ikke fundet. Konsulterede kilder: %s", + "ISBN non valido. Specifica 10 o 13 cifre (eventualmente con X finale).": "Ugyldig ISBN. Angiv 10 eller 13 cifre (eventuelt med X til sidst).", + "ISBN o EAN...": "ISBN eller EAN...", + "ISBN per import SBN": "ISBN til SBN-import", + "ISBN, EAN, Barcode": "ISBN, EAN, stregkode", + "ISBN-13:": "ISBN-13:", + "ISBN10": "ISBN10", + "ISBN10 Non Valido": "Ugyldig ISBN10", + "ISBN10 deve contenere esattamente 10 caratteri (9 cifre + 1 cifra o X).": "ISBN10 skal indeholde nøjagtigt 10 tegn (9 cifre + 1 ciffer eller X).", + "ISBN10 o ISBN13": "ISBN10 eller ISBN13", + "ISBN13": "ISBN13", + "ISBN13 Non Valido": "Ugyldig ISBN13", + "ISBN13 deve contenere esattamente 13 cifre.": "ISBN13 skal indeholde nøjagtigt 13 cifre.", + "ISBN13: %s": "ISBN13: %s", + "ISBN:": "ISBN:", + "ISNI non valido (check digit errato o formato errato).": "Ugyldig ISNI (forkert kontrolciffer eller forkert format).", + "ISNI rimosso.": "ISNI fjernet.", + "ISNI salvato.": "ISNI gemt.", + "ISSN": "ISSN", + "ISSN Non Valido": "Ugyldig ISSN", + "ISSN deve essere nel formato XXXX-XXXX (8 cifre, l'ultima può essere X).": "ISSN skal være i formatet XXXX-XXXX (8 cifre, den sidste kan være X).", + "ISSN non valido. Il formato corretto è XXXX-XXXX (8 cifre, l'ultima può essere X).": "Ugyldig ISSN. Det korrekte format er XXXX-XXXX (8 cifre, den sidste kan være X).", + "IT": "IT", + "Icona FontAwesome": "FontAwesome-ikon", + "Identificativi": "Identifikatorer", + "Identificativo GeoNames": "GeoNames-identifikator", + "Identificativo Getty TGN": "Getty TGN-identifikator", + "Identificativo Wikidata": "Wikidata-identifikator", + "Identificatore ARK": "ARK-identifikator", + "Identificatore persistente ARK assegnato dall'istituzione. Usato come URI canonico in EAD3, Dublin Core e manifest IIIF.": "Vedvarende ARK-identifikator tildelt af institutionen. Bruges som kanonisk URI i EAD3, Dublin Core og IIIF-manifest.", + "Identificatori": "Identifikatorer", + "Identificatori Catalogo": "Katalogidentifikatorer", + "Identità": "Identitet", + "Identità Applicazione": "Applikationsidentitet", + "Ieri": "I går", + "Ieri alle %s": "I går kl. %s", + "Il Mio Profilo": "Min Profil", + "Il campo è obbligatorio": "Dette felt er påkrævet", + "Il catalogo SBN (OPAC Nazionale Italiano) è già integrato e viene interrogato automaticamente durante l'importazione ISBN. Non è necessario aggiungerlo come server esterno.": "SBN-kataloget (Italiensk National OPAC) er allerede integreret og forespørges automatisk under ISBN-importen. Det er ikke nødvendigt at tilføje det som en ekstern server.", + "Il codice %s ha un formato non valido.": "Koden %s har et ugyldigt format.", + "Il codice %s ha un livello non valido (deve essere 1-7).": "Koden %s har et ugyldigt niveau (skal være 1-7).", + "Il codice %s ha un nome non valido (minimo 2 caratteri).": "Koden %s har et ugyldigt navn (minimum 2 tegn).", + "Il codice %s non è un figlio valido di %s.": "Koden %s er ikke et gyldigt underpunkt af %s.", + "Il codice %s è duplicato.": "Koden %s er duplikeret.", + "Il codice deve iniziare con le stesse tre cifre della classe principale": "Koden skal begynde med de samme tre cifre som hovedklassen", + "Il codice lingua non può essere modificato dopo la creazione.": "Sprogkoden kan ikke ændres efter oprettelsen.", + "Il codice lingua è obbligatorio (es. it_IT, en_US)": "Sprogkoden er påkrævet (f.eks. it_IT, en_US)", + "Il codice scaffale \"%s\" esiste già. Usa un codice diverso.": "Reolkoden \"%s\" findes allerede. Brug en anden kode.", + "Il codice tessera sarà generato automaticamente (formato: ADMIN-YYYYMMDD-XXX).": "Kortkoden genereres automatisk (format: ADMIN-YYYYMMDD-XXX).", + "Il codice verrà inserito in un tag": "Koden vil blive indsat i et tag", + "Il codice verrà inserito in un tag ": "Koden indsættes i et ", + "Il cron utilizza gli stessi permessi dell'utente di sistema che lo esegue": "Cron bruger de samme rettigheder som den systembruger, der kører det", + "Il database '%s' non è vuoto. Deve essere un database vuoto.": "Databasen '%s' er ikke tom. Det skal være en tom database.", + "Il database deve essere vuoto.": "Databasen skal være tom.", + "Il database è coerente e non sono stati rilevati problemi.": "Databasen er konsistent, og der er ikke fundet nogen problemer.", + "Il database è già ottimizzato!": "Databasen er allerede optimeret!", + "Il database è stato installato, ma mancano le librerie PHP necessarie per eseguire l'applicazione.": "Databasen er blevet installeret, men de nødvendige PHP-biblioteker til at køre applikationen mangler.", + "Il download dovrebbe iniziare automaticamente": "Downloadet bør starte automatisk", + "Il file": "Filen", + "Il file JSON deve contenere coppie chiave-valore:": "JSON-filen skal indeholde nøgle-værdi-par:", + "Il file JSON non è valido:": "JSON-filen er ugyldig:", + "Il file caricato non è un archivio ZIP valido": "Den uploadede fil er et ugyldigt ZIP-arkiv", + "Il file deve avere estensione .csv": "Filen skal have udvidelsen .csv", + "Il file deve avere estensione .tsv, .csv o .txt": "Filen skal have udvidelsen .tsv, .csv eller .txt", + "Il file deve contenere coppie chiave (italiano) - valore (traduzione).": "Filen skal indeholde nøgle (italiensk) - værdi (oversættelse) par.", + "Il file deve essere un JSON valido": "Filen skal være gyldig JSON", + "Il file deve essere un archivio ZIP": "Filen skal være et ZIP-arkiv", + "Il file generato si trova in": "Den genererede fil findes i", + "Il file generato si trova in public/sitemap.xml": "Den genererede fil findes under public/sitemap.xml", + "Il file non sembra essere in formato LibraryThing": "Filen ser ikke ud til at være i LibraryThing-format", + "Il file non sembra essere in formato LibraryThing. Colonne richieste: Book Id, Title, Primary Author, ISBNs": "Filen ser ikke ud til at være i LibraryThing-format. Krævede kolonner: Book Id, Title, Primary Author, ISBNs", + "Il file non soddisfa i requisiti": "Filen opfylder ikke kravene", + "Il file supera il limite di upload di PHP (%s). Aumenta upload_max_filesize e post_max_size nella configurazione PHP.": "Filen overskrider PHP's uploadgrænse (%s). Forøg upload_max_filesize og post_max_size i PHP-konfigurationen.", + "Il file supera la dimensione massima consentita": "Filen overskrider den maksimale tilladte størrelse", + "Il file supera la dimensione massima di %s MB": "Filen overskrider den maksimale størrelse på %s MB", + "Il file è stato caricato solo parzialmente. Riprova.": "Filen blev kun delvist uploadet. Prøv igen.", + "Il file è troppo grande (max 50MB)": "Filen er for stor (maks. 50 MB)", + "Il formato scelto verrà utilizzato per generare i PDF delle etichette con codice a barre.": "Det valgte format vil blive brugt til at generere stregkode-etiket-PDF'er.", + "Il formato selezionato verrà applicato a tutte le etichette generate dal sistema.": "Det valgte format vil blive anvendt på alle etiketter genereret af systemet.", + "Il libro non sarà eliminato, solo la relazione.": "Bogen vil ikke blive slettet, kun relationen.", + "Il libro selezionato è già in prestito. Seleziona un altro libro.": "Den valgte bog er allerede udlånt. Vælg en anden bog.", + "Il libro viene consegnato subito all'utente. Se deselezionato, il prestito rimarrà in stato 'Da ritirare' fino alla conferma del ritiro.": "Bogen udleveres med det samme til brugeren. Hvis den fravælges, forbliver udlånet i status 'Til afhentning', indtil afhentningen bekræftes.", + "Il link di verifica email è scaduto o non valido. Registrati nuovamente per ricevere un nuovo link.": "E-mail-bekræftelseslinket er udløbet eller ugyldigt. Registrer dig igen for at modtage et nyt link.", + "Il link di verifica non è valido. Assicurati di aver copiato l'intero link dall'email.": "Bekræftelseslinket er ugyldigt. Sørg for, at du har kopieret hele linket fra e-mailen.", + "Il logo verrà ridimensionato automaticamente": "Logoet vil blive ændret automatisk i størrelse", + "Il mio profilo": "Min profil", + "Il nome del genere è obbligatorio.": "Genrenavnet er påkrævet.", + "Il nome dell'": "Navnet på", + "Il nome dell'API key è obbligatorio.": "Navnet på API-nøglen er påkrævet.", + "Il nome dell'autore è obbligatorio.": "Forfatternavnet er påkrævet.", + "Il nome dell'editore è obbligatorio.": "Forlagsnavnet er påkrævet.", + "Il nome della rosa": "Rosens navn", + "Il nome deve avere almeno 2 caratteri.": "Navnet skal have mindst 2 tegn.", + "Il nome inglese è obbligatorio": "Det engelske navn er påkrævet", + "Il nome inglese è obbligatorio (es. Italian, English)": "Det engelske navn er påkrævet (f.eks. Italian, English)", + "Il nome nativo è obbligatorio": "Det oprindelige navn er påkrævet", + "Il nome nativo è obbligatorio (es. Italiano, English)": "Det oprindelige navn er påkrævet (f.eks. Italiano, English)", + "Il nostro team è stato notificato e sta lavorando per risolvere il problema.": "Vores team er blevet a jourført og arbejder på at løse problemet.", + "Il pacchetto contiene percorsi non validi.": "Pakken indeholder ugyldige stier.", + "Il pacchetto non contiene file validi.": "Pakken indeholder ikke gyldige filer.", + "Il plugin è attualmente installato e funzionante.": "Pluginnet er i øjeblikket installeret og fungerer.", + "Il prestito è stato approvato con successo.": "Udlånet er blevet godkendt.", + "Il prestito è stato chiuso con successo.": "Udlånet er blevet afsluttet.", + "Il prestito è stato rifiutato.": "Udlånet er blevet afvist.", + "Il server ha restituito una risposta non valida. Controlla i log per dettagli.": "Serveren returnerede et ugyldigt svar. Tjek logfilerne for detaljer.", + "Il sistema creerà automaticamente libri, autori ed editori": "Systemet opretter automatisk bøger, forfattere og forlag", + "Il sistema di aggiornamento è pronto.": "Opdateringssystemet er klar.", + "Il sistema include un cron job che gestisce automaticamente:": "Systemet indeholder et cron-job, der automatisk håndterer:", + "Il sistema invierà automaticamente una email di promemoria agli utenti prima della scadenza del prestito. Il valore predefinito è 3 giorni.": "Systemet sender automatisk en påmindelses-e-mail til brugere før udlånets udløb. Standardværdien er 3 dage.", + "Il sito web deve essere un URL valido (es. https://www.esempio.com).": "Webstedet skal være en gyldig URL (f.eks. [https://www.eksempel.dk](https://www.eksempel.dk)).", + "Il sito web deve essere un URL valido.": "Hjemmesiden skal være en gyldig URL.", + "Il termine per il ritiro è scaduto": "Afhentningsfristen er udløbet", + "Il termine per il ritiro è scaduto. Vuoi annullare questo prestito?": "Afhentningsfristen er udløbet. Vil du annullere dette udlån?", + "Il titolo del libro è obbligatorio.": "Bogens titel er påkrævet.", + "Il titolo principale della pagina": "Sidens hovedtitel", + "Il titolo verrà utilizzato anche per generare l'URL della pagina": "Titlen vil også blive brugt til at generere side-URL'en", + "Il titolo è obbligatorio.": "Titlen er påkrævet.", + "Il token di accesso personale non è obbligatorio, ma aumenta il limite di richieste da 25 a 60 al minuto.": "Det personlige adgangstoken er ikke påkrævet, men det øger anmodningsgrænsen fra 25 til 60 pr. minut.", + "Il tuo account è in attesa di approvazione. Riceverai un'email quando sarà attivato": "Din konto afventer godkendelse. Du modtager en e-mail, når den aktiveres", + "Il tuo account è stato sospeso. Contatta l'amministratore per maggiori informazioni": "Din konto er blevet suspensioner. Kontakt administratoren for yderligere oplysninger", + "Il tuo browser non supporta la riproduzione audio.": "Din browser understøtter ikke lydafspilning.", + "Il tuo sistema Pinakes per catalogare, gestire e condividere la tua collezione libraria.": "Dit Pinakes-system til at katalogisere, administrere og dele din bogsamling.", + "Il valore deve essere un intero non negativo.": "Værdien skal være et ikke-negativt heltal.", + "Illustratore": "Illustrator", + "Immagine": "Billede", + "Immagine / stampa / dipinto (hb)": "Billede / tryk / maleri (hb)", + "Immagine Caricata!": "Billede uploadet!", + "Immagine Open Graph": "Open Graph-billede", + "Immagine Twitter": "Twitter-billede", + "Immagine attuale": "Aktuelt billede", + "Immagine di copertina": "Forsidebillede", + "Immagine di copertina della pagina (opzionale)": "Sideforsidebillede (valgfrit)", + "Immagine di sfondo Hero": "Hero-baggrundsbillede", + "Immagine in Evidenza": "Fremhævet billede", + "Immagine mostrata quando condividi la pagina su social media (Facebook, Twitter, LinkedIn). Se vuoto, usa l'immagine hero di sfondo. Dimensioni consigliate: 1200x630px (rapporto 1.91:1).": "Billede vist, når du deler siden på sociale medier (Facebook, Twitter, LinkedIn). Hvis det er tomt, bruges hero-baggrundsbilledet. Anbefalede dimensioner: 1200x630px (forhold 1.91:1).", + "Immagine mostrata quando condividi su social. Dimensioni consigliate: 1200x630px (rapporto 1.91:1). Se vuoto, usa l'immagine hero di sfondo.": "Billede vist ved deling på sociale medier. Anbefalede dimensioner: 1200x630px (forhold 1.91:1). Hvis det er tomt, bruges hero-baggrundsbilledet.", + "Immagine non valida": "Ugyldigt billede", + "Immagine per Twitter/X. Dimensioni consigliate: 1200x675px o 1200x1200px. Se vuoto, usa l'immagine Open Graph.": "Billede til Twitter/X. Anbefalede dimensioner: 1200x675px eller 1200x1200px. Hvis det er tomt, bruges Open Graph-billedet.", + "Immagine troppo grande da processare.": "Billedet er for stort til at blive behandlet.", + "Immagini JPG, PNG o WebP (max 5MB)": "JPG-, PNG- eller WebP-billeder (maks. 5 MB)", + "Import": "Importér", + "Import CSV": "CSV-import", + "Import CSV Standard": "Standard CSV-import", + "Import Completato": "Import fuldført", + "Import LibraryThing": "LibraryThing-import", + "Import LibraryThing completato: %d libri nuovi, %d libri aggiornati, %d autori creati, %d editori creati": "LibraryThing-import fuldført: %d nye bøger, %d opdaterede bøger, %d oprettede forfattere, %d oprettede forlag", + "Import Libri da CSV": "Importér bøger fra CSV", + "Import Massivo Libri": "Masseimport af bøger", + "Import completato: %d libri nuovi, %d libri aggiornati, %d autori creati, %d editori creati": "Import fuldført: %d nye bøger, %d opdaterede bøger, %d oprettede forfattere, %d oprettede forlag", + "Import da LibraryThing": "Import fra LibraryThing", + "Import dati iniziali...": "Importerer startdata...", + "Import in corso...": "Import i gang...", + "Import massivo da CSV": "Masseimport fra CSV", + "Import schema in corso...": "Importerer skema...", + "Import trigger...": "Importerer udløsere...", + "Import/Export TSV": "Import/Eksport TSV", + "Importa": "Importér", + "Importa Dati": "Importér data", + "Importa Libri": "Importér bøger", + "Importa MARCXML": "Importér MARCXML", + "Importa da ISBN": "Importér fra ISBN", + "Importa da SBN": "Importér fra SBN", + "Importa da SBN (OPAC Nazionale), gestisci l'identificativo BID e i soggetti del Nuovo Soggettario BNCF, esporta in UNIMARC.": "Importér fra SBN (National OPAC), administrer BID-identifikatoren og emnerne fra Nuovo Soggettario BNCF, eksportér til UNIMARC.", + "Importa i tuoi libri esportati da LibraryThing.com (formato TSV)": "Importér dine bøger eksporteret fra LibraryThing.com (TSV-format)", + "Importante:": "Vigtigt:", + "Importati": "Importerede", + "Importati %d record su %d.": "Importerede %d poster ud af %d.", + "Importato": "Importeret", + "Importato con successo. %d voci totali.": "Importeret med succes. %d poster i alt.", + "Importazione completata con successo!": "Import fuldført med succes!", + "Importazione in corso...": "Import i gang...", + "Importazione in corso…": "Import i gang…", + "Importazione libro": "Importerer bog", + "Importazione...": "Importerer...", + "Impossibile acquisire il lock. Riprova tra qualche secondo.": "Kan ikke erhverve lås. Prøv igen om et øjeblik.", + "Impossibile aggiornare l'utente. Riprova più tardi.": "Kunne ikke opdatere brugeren. Prøv igen senere.", + "Impossibile aggiornare la chiave Google Books.": "Google Books-nøglen kunne ikke opdateres.", + "Impossibile aggiornare la posizione automatica": "Kan ikke opdatere den automatiske placering", + "Impossibile aggiornare le copie.": "Kunne ikke opdatere eksemplarerne.", + "Impossibile aggiornare lo stato della copia": "Kan ikke opdatere eksemplarstatus", + "Impossibile approvare la recensione": "Anmeldelsen kunne ikke godkendes", + "Impossibile aprire file di backup per scrittura": "Kunne ikke åbne backup-fil til skrivning", + "Impossibile aprire il file": "Kan ikke åbne filen", + "Impossibile aprire il file CSV": "CSV-filen kunne ikke åbnes", + "Impossibile aprire il file CSV salvato": "Den gemte CSV-fil kunne ikke åbnes", + "Impossibile aprire il file ZIP.": "ZIP-filen kunne ikke åbnes.", + "Impossibile aprire il pacchetto ZIP": "Kan ikke åbne ZIP-pakken", + "Impossibile archiviare il messaggio.": "Beskeden kunne ikke arkiveres.", + "Impossibile attivare la nuova versione del plugin: %s": "Kan ikke aktivere den nye version af pluginnet: %s", + "Impossibile backup version.json: %s": "Kunne ikke sikkerhedskopiere version.json: %s", + "Impossibile caricare configurazione database": "Kan ikke indlæse databaskonfiguration", + "Impossibile caricare gli editori. Controlla la console per i dettagli.": "Kunne ikke indlæse forlag. Tjek konsollen for detaljer.", + "Impossibile caricare i libri. Controlla la console per i dettagli.": "Kunne ikke indlæse bøger. Tjek konsollen for detaljer.", + "Impossibile cifrare il token GitHub": "Kunne ikke kryptere GitHub-tokenet", + "Impossibile cifrare il token GitHub: salvataggio annullato": "Kunne ikke kryptere GitHub-token: gemning annulleret", + "Impossibile completare l'operazione. Riprova più tardi.": "Handlingen kunne ikke fuldføres. Prøv igen senere.", + "Impossibile comunicare con il server. Riprova più tardi.": "Kan ikke kommunikere med serveren. Prøv igen senere.", + "Impossibile configurare autocomplete: elementi mancanti": "Kan ikke konfigurere autoudfyld: manglende elementer", + "Impossibile connettersi a GitHub": "Kunne ikke oprette forbindelse til GitHub", + "Impossibile contattare il servizio di scraping. Riprova più tardi.": "Kan ikke kontakte scraping-tjenesten. Prøv igen senere.", + "Impossibile creare directory di backup": "Kunne ikke oprette backup-mappe", + "Impossibile creare directory di backup applicazione": "Kunne ikke oprette backup-mappe til applikation", + "Impossibile creare directory di backup: %s": "Kunne ikke oprette backup-mappe: %s", + "Impossibile creare directory di estrazione": "Kunne ikke oprette udpakningsmappe", + "Impossibile creare directory temporanea": "Kunne ikke oprette midlertidig mappe", + "Impossibile creare directory temporanea per upload": "Kunne ikke oprette midlertidig mappe til upload", + "Impossibile creare directory: %s": "Kunne ikke oprette mappe: %s", + "Impossibile creare il backup del plugin: %s": "Kunne ikke oprette plugin-backup: %s", + "Impossibile creare il file .env. Verifica i permessi.": "Kunne ikke oprette .env-filen. Tjek tilladelserne.", + "Impossibile creare il file di lock per l'aggiornamento": "Kunne ikke oprette låsefil til opdatering", + "Impossibile creare la cartella di upload.": "Uploadmappen kunne ikke oprettes.", + "Impossibile creare la directory del plugin.": "Kunne ikke oprette plugin-mappen.", + "Impossibile creare la mensola. Riprova più tardi.": "Hylden kunne ikke oprettes. Prøv igen senere.", + "Impossibile creare la prenotazione": "Reservationen kunne ikke oprettes", + "Impossibile creare la struttura del plugin.": "Kunne ikke oprette plugin-strukturen.", + "Impossibile creare lo scaffale. Riprova più tardi.": "Reolen kunne ikke oprettes. Prøv igen senere.", + "Impossibile creare lock file": "Kunne ikke oprette låsefil", + "Impossibile determinare l'ID del plugin Open Library.": "Kunne ikke fastslå ID'et for Open Library-pluginnet.", + "Impossibile eliminare il backup": "Kunne ikke slette backup", + "Impossibile eliminare il file di manutenzione": "Vedligeholdelsesfilen kunne ikke slettes", + "Impossibile eliminare il libro: ci sono prestiti o prenotazioni attive. Termina prima i prestiti/prenotazioni.": "Kan ikke slette bogen: der er aktive udlån eller reservationer. Afslut udlånene/reservationerne først.", + "Impossibile eliminare il messaggio.": "Beskeden kunne ikke slettes.", + "Impossibile eliminare l'autore: sono presenti libri associati.": "Forfatteren kan ikke slettes: der er tilknyttede bøger.", + "Impossibile eliminare l'editore: sono presenti libri associati.": "Forlaget kan ikke slettes: der er tilknyttede bøger.", + "Impossibile eliminare l'installer:": "Kunne ikke slette installationsprogrammet:", + "Impossibile eliminare l'installer: devi prima installare le dipendenze PHP con": "Kunne ikke slette installationsprogrammet: du skal først installere PHP-afhængighederne med", + "Impossibile eliminare la notifica.": "Notifikationen kunne ikke slettes.", + "Impossibile eliminare la recensione": "Anmeldelsen kan ikke slettes", + "Impossibile eliminare una copia attualmente in prestito.": "Kan ikke slette et eksemplar, der i øjeblikket er udlånt.", + "Impossibile eliminare: alcuni editori hanno libri associati": "Kan ikke slette: nogle forlag har tilknyttede bøger", + "Impossibile eliminare: alcuni libri hanno prestiti attivi": "Kan ikke slette: nogle bøger har aktive udlån", + "Impossibile eliminare: la mensola contiene libri": "Kan ikke slette: hylden indeholder bøger", + "Impossibile eliminare: lo scaffale contiene libri": "Kan ikke slette: reolen indeholder bøger", + "Impossibile eliminare: lo scaffale contiene mensole": "Kan ikke slette: reolen indeholder hylder", + "Impossibile generare la risposta JSON.": "Kunne ikke generere JSON-svar.", + "Impossibile importare i dati per questo ISBN.": "Kunne ikke importere data for denne ISBN.", + "Impossibile inizializzare Uppy per i contenuti digitali.": "Kunne ikke initialisere Uppy til digitalt indhold.", + "Impossibile inviare la recensione": "Anmeldelsen kunne ikke sendes", + "Impossibile inviare la recensione.": "Anmeldelsen kunne ikke sendes.", + "Impossibile leggere i dati del modulo. Riprova.": "Kunne ikke læse formulardata. Prøv igen.", + "Impossibile leggere il file .env": "Kan ikke læse .env-filen", + "Impossibile leggere il file caricato": "Kunne ikke læse den uploadede fil", + "Impossibile leggere il file di backup": "Kunne ikke læse backup-fil", + "Impossibile leggere il file di log": "Kan ikke læse logfil", + "Impossibile modificare una copia attualmente in prestito. Prima termina il prestito o imposta lo stato su \"Disponibile\" per chiuderlo automaticamente.": "Kan ikke redigere et eksemplar, der i øjeblikket er udlånt. Afslut først udlånet eller indstil status til \"Tilgængelig\" for at lukke det automatisk.", + "Impossibile notificare utente copia non disponibile": "Kan ikke give bruger besked om utilgængeligt eksemplar", + "Impossibile notificare utente: dati mancanti": "Kan ikke give bruger besked: manglende data", + "Impossibile processare l'immagine.": "Billedet kunne ikke behandles.", + "Impossibile recuperare i dati degli autori": "Kunne ikke hente forfatterdata", + "Impossibile recuperare i dati degli editori": "Kunne ikke hente forlagsdata", + "Impossibile recuperare informazioni sulla release": "Kunne ikke hente udgivelsesoplysninger", + "Impossibile revocare la sessione": "Kan ikke tilbagekalde sessionen", + "Impossibile riaprire il file ZIP": "Kan ikke genåbne ZIP-filen", + "Impossibile ricalcolare la disponibilità del libro.": "Bogtilgængelighed kan ikke genberegnes.", + "Impossibile ridurre le copie a %d. Ci sono %d copie non disponibili (in prestito, perse o danneggiate). Il numero minimo di copie totali è %d.": "Kan ikke reducere eksemplarerne til %d. Der er %d utilgængelige eksemplarer (udlånte, tabte eller beskadigede). Minimumsantallet af samlede eksemplarer er %d.", + "Impossibile rifiutare la recensione": "Anmeldelsen kunne ikke afvises", + "Impossibile rigenerare la sitemap.": "Sitemap kan ikke genereres igen.", + "Impossibile rigenerare la sitemap: %s": "Sitemap kunne ikke genereres igen: %s", + "Impossibile rimuovere directory: %s": "Kunne ikke fjerne mappe: %s", + "Impossibile rimuovere file: %s": "Kunne ikke fjerne fil: %s", + "Impossibile ripristinare il plugin precedente: %s": "Kunne ikke gendanne det forrige plugin: %s", + "Impossibile risolvere il percorso della directory plugins.": "Kunne ikke finde stien til plugins-mappen.", + "Impossibile salvare il file CSV caricato": "Kunne ikke gemme den uploadede CSV-fil", + "Impossibile salvare il file di aggiornamento": "Kunne ikke gemme opdateringsfil", + "Impossibile salvare il file.": "Kan ikke gemme filen.", + "Impossibile salvare il luogo. Riprovare.": "Stedet kunne ikke gemmes. Prøv igen.", + "Impossibile salvare l'attività. Riprovare.": "Aktiviteten kunne ikke gemmes. Prøv igen.", + "Impossibile salvare l'utente. Riprova più tardi.": "Brugeren kunne ikke gemmes. Prøv igen senere.", + "Impossibile salvare la password SMTP.": "SMTP-adgangskode kan ikke gemmes.", + "Impossibile salvare le impostazioni.": "Indstillinger kan ikke gemmes.", + "Impossibile scaricare (libro senza ISBN):": "Kan ikke downloade (bog uden ISBN):", + "Impossibile scaricare (senza ISBN/barcode):": "Kan ikke downloade (uden ISBN/stregkode):", + "Impossibile scrivere file di backup": "Kunne ikke skrive backup-fil", + "Impossibile scrivere il file su disco. Controlla i permessi della cartella temporanea.": "Kan ikke skrive filen til disk. Tjek tilladelserne for den midlertidige mappe.", + "Impossibile scrivere nel file .env": "Kan ikke skrive til .env-filen", + "Impossibile segnare come letta la notifica.": "Notifikationen kunne ikke markeres som læst.", + "Impossibile segnare tutte le notifiche come lette.": "Alle notifikationer kunne ikke markeres som læste.", + "Impossibile segnare tutti i messaggi come letti.": "Alle beskeder kunne ikke markeres som læste.", + "Impossibile spostare il file ZIP nel fallback: %s": "Kan ikke flytte ZIP-filen til fallback: %s", + "Impossibile: si creerebbe un ciclo.": "Umuligt: det ville skabe en cyklus.", + "Imposta come Predefinita": "Indstil som standard", + "Imposta come attiva o predefinita": "Indstil som aktiv eller standard", + "Imposta come lingua predefinita per nuovi utenti": "Indstil som standardsprog for nye brugere", + "Imposta il nome mostrato nel backend e il logo utilizzato nel layout.": "Indstil det navn, der vises i backend, og logoet, der bruges i layoutet.", + "Imposta nel file .env: APP_CANONICAL_URL=%s": "Indstil i .env-filen: APP_CANONICAL_URL=%s", + "Imposta password": "Indstil adgangskode", + "Impostare questa lingua come predefinita?\n\nQuesta diventerà la lingua dell'intera applicazione per tutti gli utenti.": "Vil du indstille dette sprog som standard?\n\nDette vil blive sproget for hele applikationen for alle brugere.", + "Impostare questa lingua come predefinita?\\n\\nQuesta diventerà la lingua dell'intera applicazione per tutti gli utenti.": "Angiv dette sprog som standard?\\n\\nDette bliver sproget for hele applikationen for alle brugere.", + "Impostazioni": "Indstillinger", + "Impostazioni API Book Scraper salvate correttamente.": "Book Scraper API-indstillinger blev gemt.", + "Impostazioni Applicazione": "Applikationsindstillinger", + "Impostazioni Date": "Datoindstillinger", + "Impostazioni Discogs salvate correttamente.": "Discogs-indstillinger gemt med succes.", + "Impostazioni GoodLib salvate correttamente.": "GoodLib-indstillinger gemt med succes.", + "Impostazioni SEO": "SEO-indstillinger", + "Impostazioni Z39.50 salvate correttamente.": "Z39.50-indstillinger gemt med succes.", + "Impostazioni avanzate aggiornate correttamente.": "Avancerede indstillinger opdateret med succes.", + "Impostazioni contatti aggiornate correttamente.": "Kontaktoplysninger opdateret med succes.", + "Impostazioni di condivisione aggiornate.": "Deleindstillinger opdateret.", + "Impostazioni email aggiornate correttamente.": "E-mail-indstillinger opdateret med succes.", + "Impostazioni eventi aggiornate.": "Begivenhedsindstillinger opdateret.", + "Impostazioni generali aggiornate correttamente.": "Generelle indstillinger opdateret med succes.", + "Impostazioni privacy aggiornate correttamente.": "Privatlivsindstillinger opdateret med succes.", + "Impostazioni salvate.": "Indstillinger gemt.", + "In Attesa": "Afventer", + "In Attesa di Approvazione": "Afventer godkendelse", + "In Corso": "I gang", + "In Riparazione": "Under reparation", + "In Ritardo": "For sen", + "In attesa": "Afventer", + "In attesa di approvazione": "Afventer godkendelse", + "In attesa di disponibilità": "Afventer tilgængelighed", + "In corso": "I gang", + "In corso di restituzione": "Under returnering", + "In corso...": "I gang...", + "In manutenzione": "Under vedligeholdelse", + "In prestito": "Udlånt", + "In prestito fino al": "Udlånt indtil", + "In questa pagina trovi tutti gli eventi, gli incontri e i laboratori organizzati dalla biblioteca.": "På denne side finder du alle begivenheder, møder og workshops organiseret af biblioteket.", + "In ritardo": "Forsinket", + "In scadenza": "Udløber snart", + "In sospeso": "Afventer", + "Inattivo": "Inaktiv", + "Incompleto": "Ufuldstændig", + "Indice %s creato su %s": "Indeks %s oprettet på %s", + "Indice ISBN": "ISBN-indeks", + "Indice completo degli URL": "Komplet URL-indeks", + "Indici creati con successo": "Indekser oprettet med succes", + "Indici creati:": "Oprettede indekser:", + "Indici di ottimizzazione creati OK": "Optimeringsindekser oprettet OK", + "Indietro": "Tilbage", + "Indirizzo": "Adresse", + "Indirizzo completo": "Fuld adresse", + "Indirizzo completo *": "Fuld adresse *", + "Indirizzo:": "Adresse:", + "Info": "Info", + "Info HSTS:": "HSTS-info:", + "Informativa sulla privacy": "Privatlivspolitik", + "Informazione": "Information", + "Informazioni": "Oplysninger", + "Informazioni Aggiuntive": "Yderligere oplysninger", + "Informazioni Base": "Grundlæggende oplysninger", + "Informazioni Evento": "Begivenhedsoplysninger", + "Informazioni Importanti": "Vigtige oplysninger", + "Informazioni LibraryThing": "LibraryThing-oplysninger", + "Informazioni Libro": "Bogoplysninger", + "Informazioni Personali": "Personlige oplysninger", + "Informazioni Plugin": "Plugin-oplysninger", + "Informazioni Prestito": "Udlånsoplysninger", + "Informazioni Report": "Rapportoplysninger", + "Informazioni di Contatto": "Kontaktoplysninger", + "Informazioni di contatto": "Kontaktoplysninger", + "Informazioni editore": "Forlagsoplysninger", + "Informazioni generali": "Generelle oplysninger", + "Informazioni personali": "Personlige oplysninger", + "Informazioni sulla biblioteca": "Om biblioteket", + "Informazioni sullo Storico Import": "Oplysninger om importhistorik", + "Informazioni tessera": "Kortoplysninger", + "Informazioni utili per il personale": "Nyttige oplysninger til personalet", + "Inizia Installazione": "Start installation", + "Inizia ad aggiungere libri al catalogo": "Begynd at tilføje bøger til kataloget", + "Inizia aggiungendo il primo libro alla collezione": "Start med at tilføje den første bog til samlingen", + "Inizia aggiungendo la prima lingua.": "Begynd med at tilføje det første sprog.", + "Inizia caricando il tuo primo plugin": "Start med at uploade dit første plugin", + "Inizia creando il primo genere letterario": "Start med at oprette den første litterære genre", + "Inizia la Tua Avventura Letteraria": "Start dit litterære eventyr", + "Inizializzazione...": "Initialiserer...", + "Inizio": "Start", + "Inizio installazione...": "Starter installation...", + "Inizio:": "Start:", + "Inserimento Manuale Dewey": "Manuel Dewey-indtastning", + "Inserisci $1": "Indtast $1", + "Inserisci almeno 2 caratteri per avviare la ricerca.": "Indtast mindst 2 tegn for at starte søgningen.", + "Inserisci codice locale (es. es_ES per Spagnolo)": "Indtast lokalkode (f.eks. es_ES for spansk)", + "Inserisci il codice Dewey completo (supporta fino a 4 decimali)": "Indtast den fulde Dewey-kode (understøtter op til 4 decimaler)", + "Inserisci il motivo del rifiuto...": "Indtast årsagen til afvisningen...", + "Inserisci il titolo": "Indtast tildeling", + "Inserisci la data di inizio (YYYY-MM-DD)": "Indtast startdato (ÅÅÅÅ-MM-DD)", + "Inserisci la password attuale": "Indtast nuværende adgangskode", + "Inserisci la tua email per ricevere il link di reset.": "Indtast din e-mail for at modtage nulstillingslinket.", + "Inserisci la tua email per ricevere un link di reset": "Indtast din e-mail for at modtage et nulstillingslink", + "Inserisci la tua nuova password": "Indtast din nye adgangskode", + "Inserisci le credenziali del tuo database MySQL. Assicurati che il database sia già stato creato e sia vuoto.": "Indtast dine MySQL-databaseoplysninger. Sørg for, at databasen allerede er oprettet og tom.", + "Inserisci le informazioni del nuovo evento": "Indtast oplysninger om den nye begivenhed", + "Inserisci parole chiave separate da virgole per facilitare la ricerca": "Indtast komma-separerede nøgleord for at lette søgningen", + "Inserisci qualsiasi codice Dewey (anche se non presente nell'elenco)": "Indtast en hvilken som helst Dewey-kode (selvom den ikke er på listen)", + "Inserisci solo script che NON tracciano utenti. Per analytics/marketing usa le sezioni dedicate.": "Indtast kun scripts, der IKKE sporer brugere. Til analytics/marketing bruges de dedikerede sektioner.", + "Inserisci un ISBN.": "Indtast venligst en ISBN.", + "Inserisci un codice Dewey": "Indtast en Dewey-kode", + "Inserisci un codice ISBN per continuare.": "Indtast en ISBN-kode for at fortsætte.", + "Inserisci un luogo geografico con eventuali coordinate e identificativi GeoNames / Wikidata / Getty TGN per il collegamento Linked Data.": "Indtast et geografisk sted med eventuelle koordinater og GeoNames- / Wikidata- / Getty TGN-identifikatorer til Linked Data-forbindelse.", + "Inserisci un nome": "Indtast et navn", + "Inserisci un numero valido di copie": "Indtast et gyldigt antal eksemplarer", + "Inserisci un token valido": "Indtast et gyldigt token", + "Inserisci un valore": "Indtast en værdi", + "Inserisci una breve biografia dell'autore...": "Indtast en kort biografi om forfatteren...", + "Instagram": "Instagram", + "Installa": "Installér", + "Installa Plugin": "Installér plugin", + "Installato": "Installeret", + "Installato:": "Installeret:", + "Installazione": "Installation", + "Installazione Completata": "Installation fuldført", + "Installazione Completata!": "Installation fuldført!", + "Installazione Cron Job": "Installation af Cron-job", + "Installazione Database": "Databaseinstallation", + "Installazione Guidata": "Guidet installation", + "Installazione completata": "Installation fuldført", + "Installazione database non completa. Tabelle mancanti: %s": "Databaseinstallation ikke fuldstændig. Manglende tabeller: %s", + "Installazione database non completa. Trovate %d tabelle, attese %d": "Databaseinstallation ikke fuldstændig. Fandt %d tabeller, forventede %d", + "Installazione delle tabelle del database e configurazione iniziale...": "Installation af databasetabeller og indledende konfiguration...", + "Installazione fallita": "Installation mislykket", + "Installazione file": "Filinstallation", + "Installazione file...": "Installerer filer...", + "Installazione in corso...": "Installation i gang...", + "Installazione italiana usa": "Italiensk installation bruger", + "Installazione plugin Open Library...": "Installerer Open Library-plugin...", + "Installazione...": "Installation...", + "Installer Pinakes": "Pinakes Installationsprogram", + "Installer eliminato con successo!": "Installationsprogram slettet med succes!", + "Insufficient privileges": "Utilstækkelig rettigheder", + "Insufficiente": "Utilstækkelig", + "Integrità dati": "Dataintegritet", + "Internal server error": "Intern serverfejl", + "International Standard Serial Number (per periodici)": "International Standard Serial Number (for tidsskrifter)", + "Interoperabilità bibliotecaria (MARCXML, Dublin Core)": "Biblioteksinteroperabilitet (MARCXML, Dublin Core)", + "Intervallo storico": "Historisk interval", + "Intervallo temporale": "Tidsinterval", + "Intestazione": "Overskrift", + "Intestazione sezione": "Sektionsoverskrift", + "Inventario": "Inventar", + "Invia Email": "Send e-mail", + "Invia Richiesta": "Send anmodning", + "Invia link": "Send link", + "Invia link di reset": "Send nulstillingslink", + "Invia messaggio": "Send besked", + "Invia per email": "Send via e-mail", + "Invia recensione": "Indsend anmeldelse", + "Invia via SMS": "Send via SMS", + "Inviaci un messaggio": "Send os en besked", + "Inviata agli amministratori quando viene ricevuta una nuova recensione da approvare.": "Sendes til administratorer, når der modtages en ny anmeldelse til godkendelse.", + "Inviata agli utenti quando un libro nella wishlist torna disponibile. Il libro rimane nella wishlist ma non riceverà altre notifiche per lo stesso libro.": "Sendes til brugere, når en bog på ønskelisten bliver tilgængelig igen. Bogen forbliver på ønskelisten, men modtager ikke flere notifikationer for den samme bog.", + "Inviata agli utenti quando un libro nella wishlist torna disponibile. Il libro viene automaticamente rimosso dalla wishlist dopo l'invio della notifica per evitare duplicati.": "Sendes til brugere, når en bog på ønskelisten bliver tilgængelig igen. Bogen fjernes automatisk fra ønskelisten, efter notifikationen er sendt, for at undgå dubletter.", + "Inviata ai nuovi utenti per impostare la password del loro account.": "Sendes til nye brugere for at indstille deres kontoadgangskode.", + "Inviata all'utente al termine della registrazione per confermare la ricezione e l'attesa di approvazione.": "Sendes til brugeren ved afslutningen af registreringen for at bekræfte modtagelsen og afventningen af godkendelse.", + "Inviata all'utente quando un amministratore approva l'account.": "Sendes til brugeren, når en administrator godkender kontoen.", + "Inviata all'utente quando un amministratore approva una richiesta di prestito.": "Sendes til brugeren, når en administrator godkender en låneanmodning.", + "Inviata all'utente quando un amministratore rifiuta una richiesta di prestito.": "Sendes til brugeren, når en administrator afviser en låneanmodning.", + "Inviata quando il tempo per ritirare un libro è scaduto e il prestito è stato annullato.": "Sendes, når tiden til at afhente en bog er udløbet, og udlånet er blevet annulleret.", + "Inviata quando un libro prenotato diventa disponibile e viene convertito in prestito pendente.": "Sendes, når en reserveret bog bliver tilgængelig og konverteres til et afventende udlån.", + "Inviata quando un prestito è stato approvato e il libro è pronto per il ritiro.": "Sendes, når et udlån er blevet godkendt, og bogen er klar til afhentning.", + "Inviata quando un ritiro viene annullato dall'amministratore.": "Sendes, når en afhentning annulleres af administratoren.", + "Inviata quando un utente viene invitato come amministratore.": "Sendes, når en bruger inviteres som administrator.", + "Inviato": "Sendt", + "Invio in corso...": "Sender...", + "Invio notifica prenotazione fallito": "Afsendelse af reservationsnotifikation mislykkedes", + "Invita gli utenti a registrarsi": "Inviter brugere til at registrere sig", + "Invito amministratore": "Administratorinvitation", + "Istituzione": "Institution", + "Istruzioni": "Instruktioner", + "Italiano (IT)": "Italiensk (IT)", + "JPEG, PNG o WebP. Max 8 MB.": "JPEG, PNG eller WebP. Maks. 8 MB.", + "JPG, PNG, GIF, WEBP - Max 5MB": "JPG, PNG, GIF, WEBP – Maks. 5 MB", + "JSON non valido.": "Ugyldig JSON.", + "JavaScript Analitici": "Analytisk JavaScript", + "JavaScript Essenziali": "Essentiel JavaScript", + "JavaScript Marketing": "Marketing JavaScript", + "L'API key può essere fornita in due modi:": "API-nøglen kan angives på to måder:", + "L'API key viene criptata con AES-256-GCM prima di essere salvata.": "API-nøglen krypteres med AES-256-GCM, før den gemmes.", + "L'API è limitata a 50 risultati per richiesta": "API'en er begrænset til 50 resultater pr. anmodning", + "L'ID primario deve essere presente nella lista degli autori da unire": "Det primære ID skal være tilstede i listen over forfattere, der skal flettes", + "L'ID primario deve essere presente nella lista degli editori da unire": "Det primære ID skal være tilstede i listen over forlag, der skal flettes", + "L'URL canonico non è valido. Deve iniziare con http:// o https://": "Den kanoniske URL er ugyldig. Den skal starte med http:// eller https://", + "L'URL del calendario è stato copiato negli appunti.": "Kalender-URL'en er kopieret til udklipsholderen.", + "L'URL fornito non è valido": "Den angivne URL er ugyldig", + "L'accesso alla cartella installer è automaticamente bloccato dopo l'installazione.": "Adgang til installationsmappen blokeres automatisk efter installationen.", + "L'aggiornamento può richiedere alcuni minuti. Non chiudere questa pagina.": "Opdateringen kan tage et par minutter. Luk ikke denne side.", + "L'applicazione NON può funzionare senza questo passaggio!": "Applikationen kan IKKE fungere uden dette trin!", + "L'applicazione risulta correttamente configurata.": "Applikationen er korrekt konfigureret.", + "L'applicazione è stata installata correttamente e tutte le verifiche sono andate a buon fine.": "Applikationen er blevet installeret korrekt, og alle kontroller bestod.", + "L'archivio ZIP è vuoto": "ZIP-arkivet er tomt", + "L'archivio non contiene ancora unità di primo livello.": "Arkivet indeholder endnu ikke enheder på første niveau.", + "L'email di attivazione è stata inviata. L'utente potrà verificare il proprio account cliccando il link ricevuto (valido 7 giorni).": "Aktiverings-e-mailen er sendt. Brugeren vil kunne bekræfte sin konto ved at klikke på det modtagne link (gyldigt i 7 dage).", + "L'immagine verrà scaricata al salvataggio": "Billedet vil blive downloadet ved gemning", + "L'immagine è troppo grande. Max 5MB.": "Billedet er for stort. Maks. 5 MB.", + "L'indirizzo email deve essere valido.": "E-mail-adressen skal være gyldig.", + "L'installazione del plugin aggiungerà 27 nuovi campi alla tabella 'libri' per supportare tutte le funzionalità di LibraryThing.": "Installation af pluginnet vil tilføje 27 nye felter til tabellen 'libri' for at understøtte alle LibraryThing-funktioner.", + "L'installazione non è completa o valida.": "Installation er ikke fuldstændig eller gyldig.", + "L'installazione sembra incompleta. Prova a disinstallare e reinstallare il plugin.": "Installation ser ud til at være ufuldstændig. Prøv at afinstallere og geninstallere pluginnet.", + "L'installazione è stata completata correttamente e tutte le verifiche sono andate a buon fine.": "Installation er fuldført korrekt, og alle kontroller bestod.", + "L'installazione è stata completata senza errori.": "Installation er fuldført uden fejl.", + "L'ora dell'evento deve essere nel formato corretto (HH:MM).": "Begivenhedens tidspunkt skal være i det korrekte format (TT:MM).", + "L'ora deve essere nel formato corretto (HH:MM).": "Klokkeslættet skal være i det korrekte format (TT:MM).", + "L'ultima sezione che invita all'azione": "Den sidste opfordring til handling", + "L'utente del database non ha i permessi per creare i TRIGGER. L'installazione è stata completata, ma per garantire la piena integrità dei dati è necessario installarli manualmente.": "Databasebrugeren har ikke tilladelse til at oprette TRIGGERES. Installationen er fuldført, men for at garantere fuld dataintegritet er det nødvendigt at installere dem manuelt.", + "L'utente ha ritirato il libro?": "Har brugeren afhentet bogen?", + "L'utente non è in stato sospeso. Solo gli utenti sospesi richiedono approvazione.": "Brugeren er ikke i suspenderet tilstand. Kun suspenderede brugere kræver godkendelse.", + "L'utente riceverà un'email con link di verifica (valido 7 giorni) e potrà attivare autonomamente l'account.": "Brugeren modtager en e-mail med et bekræftelseslink (gyldigt i 7 dage) og kan selv aktivere kontoen.", + "L'utente riceverà una notifica via email della prenotazione creata": "Brugeren modtager en e-mail-notifikation om den oprettede reservation", + "L'utente richiesto non esiste nel database.": "Den ønskede bruger findes ikke i databasen.", + "L'utente sarà attivato immediatamente e riceverà un'email di benvenuto. Potrà accedere subito.": "Brugeren aktiveres med det samme og modtager en velkomst-e-mail. De kan logge ind med det samme.", + "L'utente è stato attivato e può già effettuare il login. È stata inviata un'email di benvenuto.": "Brugeren er blevet aktiveret og kan allerede logge ind. Der er sendt en velkomst-e-mail.", + "L'utente è stato eliminato.": "Brugeren er blevet slettet.", + "LCCN": "LCCN", + "LP": "LP", + "L\\'utente riceverà una notifica via email della prenotazione creata": "Brugeren vil modtage en e-mail-notifikation om den oprettede reservation", + "La Tua Biblioteca Digitale": "Dit Digitale Bibliotek", + "La cartella vendor/ esiste e contiene le librerie necessarie.": "Mappen vendor/ findes og indeholder de nødvendige biblioteker.", + "La classificazione Dewey è utilizzata per organizzare i libri per argomento secondo standard internazionali": "Dewey-klassifikationen bruges til at organisere bøger efter emne i henhold til internationale standarder", + "La collocazione può essere assegnata automaticamente o inserita manualmente durante la creazione/modifica del libro": "Placeringen kan tildeles automatisk eller indtastes manuelt under oprettelse/redigering af bogen", + "La collocazione è l'indirizzo fisico che identifica dove si trova un libro nella biblioteca.": "Placeringen er den fysiske adresse, der angiver, hvor en bog findes på biblioteket.", + "La copertina verrà rimossa al salvataggio del libro": "Omslaget vil blive fjernet, når bogen gemmes", + "La copia assegnata è stata segnalata come persa o danneggiata": "Det tildelte eksemplar er blevet rapporteret som tabt eller beskadiget", + "La copia non è più disponibile": "Eksemplaret er ikke længere tilgængeligt", + "La cronologia degli aggiornamenti apparirà qui": "Opdateringshistorikken vises her", + "La data dell'evento è obbligatoria e deve essere nel formato corretto.": "Begivenhedsdatoen er påkrævet og skal være i det korrekte format.", + "La data dell'evento è obbligatoria.": "Begivenhedsdatoen er påkrævet.", + "La data di nascita deve essere precedente alla data di morte.": "Fødselsdatoen skal være før dødsdatoen.", + "La data non può essere nel passato.": "Datoen kan ikke være i fortiden.", + "La disinstallazione rimuoverà tutti i 27 campi LibraryThing dal database.": "Afinstallation vil fjerne alle 27 LibraryThing-felter fra databasen.", + "La lettera \"%s\" è già utilizzata da un altro scaffale. Usa un codice diverso.": "Bogstavet \"%s\" bruges allerede af en anden reol. Brug en anden kode.", + "La lingua contrassegnata come 'Predefinita' verrà usata in tutta l'applicazione per tutti gli utenti. Per cambiare la lingua dell'intera app, clicca sull'icona stella": "Sproget markeret som 'Standard' vil blive brugt i hele applikationen for alle brugere. For at ændre sproget for hele appen skal du klikke på stjerneikonet", + "La mappatura avviene automaticamente. Non è necessario rinominare i campi!": "Kortlægningen sker automatisk. Det er ikke nødvendigt at omdøbe felterne!", + "La mia bacheca": "Mit kontrolpanel", + "La modalità manutenzione non era attiva": "Vedligeholdelsestilstand var ikke aktiv", + "La pagina che stai cercando non esiste o è stata spostata.": "Den side, du leder efter, findes ikke eller er blevet flyttet.", + "La pagina che stai cercando non esiste.": "Den side, du leder efter, findes ikke.", + "La pagina verrà ricaricata automaticamente...": "Siden genindlæses automatisk...", + "La password attuale non è corretta.": "Den nuværende adgangskode er forkert.", + "La password deve contenere almeno 8 caratteri, lettere maiuscole, minuscole e numeri": "Adgangskoden skal indeholde mindst 8 tegn med store og små bogstaver samt tal", + "La password deve contenere almeno una lettera maiuscola, una minuscola e un numero": "Adgangskoden skal indeholde mindst ét stort bogstav, ét lille bogstav og ét tal", + "La password deve contenere almeno una lettera maiuscola, una minuscola e un numero.": "Adgangskoden skal indeholde mindst ét stort bogstav, ét lille bogstav og ét tal.", + "La password deve contenere maiuscole, minuscole e numeri.": "Adgangskoden skal indeholde store bogstaver, små bogstaver og tal.", + "La password deve essere lunga almeno 8 caratteri": "Adgangskoden skal være mindst 8 tegn lang", + "La password deve essere lunga almeno 8 caratteri!": "Adgangskoden skal være mindst 8 tegn lang!", + "La password deve essere lunga almeno 8 caratteri.": "Adgangskoden skal være mindst 8 tegn lang.", + "La password non può superare i 72 caratteri.": "Adgangskoden må ikke overstige 72 tegn.", + "La posizione fisica è indipendente dalla classificazione Dewey e indica dove si trova il libro sugli scaffali.": "Den fysiske placering er uafhængig af Dewey-klassifikationen og angiver, hvor bogen befinder sig på reolerne.", + "La posizione in coda sarà calcolata automaticamente in base alle prenotazioni esistenti": "Køpositionen beregnes automatisk baseret på eksisterende reservationer", + "La posizione viene assegnata automaticamente": "Placeringen tildeles automatisk", + "La prenotazione è scaduta": "Reservationen er udløbet", + "La query deve avere almeno 2 caratteri.": "Forespørgslen skal have mindst 2 tegn.", + "La recensione è stata approvata e pubblicata con successo.": "Anmeldelsen er blevet godkendt og offentliggjort.", + "La recensione è stata eliminata definitivamente.": "Anmeldelsen er blevet slettet permanent.", + "La recensione è stata rifiutata e non sarà pubblicata.": "Anmeldelsen er blevet afvist og vil ikke blive offentliggjort.", + "La richiesta ha impiegato troppo tempo. Riprova.": "Anmodningen tog for lang tid. Prøv igen.", + "La risposta include tutti i dati del libro:": "Svaret indeholder alle bogdata:", + "La route": "Ruten", + "La scadenza verrà estesa di 14 giorni": "Fristen forlænges med 14 dage", + "La sessione è scaduta. Aggiorna la pagina e riprova.": "Sessionen er udløbet. Genindlæs siden, og prøv igen.", + "La sezione principale che appare per prima sulla home": "Hovedafsnittet, der vises først på forsiden", + "La sitemap viene aggiornata automaticamente quando premi il pulsante oppure tramite lo script CLI": "Sitemap opdateres automatisk, når du trykker på knappen eller via CLI-scriptet", + "La sitemap viene aggiornata automaticamente quando premi il pulsante oppure tramite lo script CLI php scripts/generate-sitemap.php. Usa questa azione dopo aver importato un grande numero di libri o modifiche ai contenuti CMS.": "Sitemap opdateres automatisk, når du trykker på knappen eller via CLI-scriptet php scripts/generate-sitemap.php. Brug denne handling efter import af et stort antal bøger eller ændringer i CMS-indhold.", + "La tua biblioteca digitale...": "Dit digitale bibliotek...", + "La tua prenotazione per \"%s\" è stata messa in attesa. %s. Verrai notificato quando sarà disponibile una nuova copia.": "Din reservation af \"%s\" er sat i kø. %s. Du får besked, når et nyt eksemplar er tilgængeligt.", + "La tua recensione del libro...": "Din boganmeldelse...", + "La tua richiesta di prestito è stata inviata. Riceverai una notifica quando verrà approvata.": "Din låneanmodning er sendt. Du modtager en notifikation, når den godkendes.", + "La tua sessione è scaduta. Per motivi di sicurezza, effettua nuovamente l'accesso": "Din session er udløbet. Log venligst ind igen af sikkerhedsmæssige årsager", + "La tua sessione è scaduta. Per motivi di sicurezza, ricarica la pagina e riprova": "Din session er udløbet. Genindlæs siden, og prøv igen af sikkerhedsmæssige årsager", + "La tua sessione è scaduta. Per motivi di sicurezza, ricarica la pagina ed effettua nuovamente l'accesso.": "Din session er udløbet. Genindlæs siden, og log ind igen af sikkerhedsmæssige årsager.", + "La tua wishlist è vuota": "Din ønskeliste er tom", + "La validazione XSD usa lo schema MARC21 Slim v1.1 (Library of Congress). Molti export di sistemi archivistici non sono strict-compliant: usa questa opzione solo con file che sai essere conformi.": "XSD-validering bruger MARC21 Slim v1.1-skemaet (Library of Congress). Mange arkivsystemeksportører er ikke strengt overholdende: brug kun denne indstilling med filer, du ved er i overensstemmelse.", + "La versione %s è disponibile. Prima di aggiornare, verrà creato un backup automatico del database.": "Version %s er tilgængelig. Før opdatering oprettes der automatisk en databasebackup.", + "Language %s has been activated automatically": "Sprog %s er blevet aktiveret automatisk", + "Larghezza × Altezza (px)": "Bredde × Højde (px)", + "Lascia una recensione": "Skriv en anmeldelse", + "Lascia vuoto o usa \"Genera\" per assegnare automaticamente la prossima posizione disponibile.": "Lad stå tom eller brug \"Generér\" for automatisk at tildele den næste ledige placering.", + "Lascia vuoto o usa \\": "Lad stå tom eller brug \\", + "Lascia vuoto per 1 mese": "Lad stå tom i 1 måned", + "Lascia vuoto per auto-rilevamento. Necessario solo su macOS/Linux con socket personalizzati.": "Lad stå tom for automatisk registrering. Kun nødvendig på macOS/Linux med tilpassede sockets.", + "Lascia vuoto per generare automaticamente": "Lad stå tom for at generere automatisk", + "Lascia vuoto per inviare un link di impostazione": "Lad stå tom for at sende et opsætningslink", + "Lascia vuoto per mantenere il nome attuale": "Lad stå tom for at beholde det nuværende navn", + "Lascia vuoto per mantenere la chiave esistente. Inserisci un nuovo valore per aggiornarla.": "Lad stå tom for at beholde den eksisterende nøgle. Indtast en ny værdi for at opdatere den.", + "Lascia vuoto per nascondere il social dal footer": "Lad stå tom for at skjule det sociale medie fra sidefoden", + "Lascia vuoto per nascondere il titolo": "Lad stå tom for at skjule titlen", + "Lascia vuoto per non modificare": "Lad stå tom for ikke at ændre", + "Lascia vuoto se l'autore è vivente": "Lad stå tom, hvis forfatteren er i live", + "Lasciare vuoto per un record top-level (fondo). Per serie/fascicoli/unità: l'ID dell'unità padre.": "Lad stå tom for en post på topniveau (samling). For serier/filer/enheder: den overordnede enheds ID.", + "Latitudine": "Breddegrad", + "Layout immagine evento": "Billedlayout for begivenhed", + "Le API key disattivate restituiranno errore 401": "Deaktiverede API-nøgler vil returnere fejl 401", + "Le Mie Prenotazioni": "Mine Reservationer", + "Le Mie Recensioni": "Mine Anmeldelser", + "Le copie disponibili vengono calcolate automaticamente": "Tilgængelige eksemplarer beregnes automatisk", + "Le date rosse non sono disponibili. La richiesta verrà valutata da un amministratore.": "Røde datoer er ikke tilgængelige. Anmodningen vil blive vurderet af en administrator.", + "Le date rosse o arancioni non sono disponibili. La richiesta verrà valutata da un amministratore.": "Røde eller orangerøde datoer er ikke tilgængelige. Anmodningen vil blive vurderet af en administrator.", + "Le mie prenotazioni": "Mine reservationer", + "Le password non coincidono": "Adgangskorderne stemmer ikke overens", + "Le password non coincidono!": "Adgangskorderne stemmer ikke overens!", + "Le password non coincidono.": "Adgangskorderne stemmer ikke overens.", + "Le password non corrispondono": "Adgangskorderne stemmer ikke overens", + "Le posizioni si generano automaticamente": "Placeringer genereres automatisk", + "Le richieste API torneranno al limite di 60/ora.": "API-anmodninger vil vende tilbage til grænsen på 60/time.", + "Le route non possono contenere spazi": "Ruter må ikke indeholde mellemrum", + "Le route sono gli URL usati nell'applicazione. Traducendole, puoi avere URL in italiano o inglese in base alla lingua dell'installazione.": "Ruter er de URL'er, der bruges i applikationen. Ved at oversætte dem kan du have URL'er på italiensk eller engelsk afhængigt af installationssproget.", + "Le sessioni scadono automaticamente per proteggere i tuoi dati.": "Sessioner udløber automatisk for at beskytte dine data.", + "Le transazioni associate resteranno come orfane.": "Tilknyttede transaktioner forbliver forældreløse.", + "Le tue recensioni": "Dine anmeldelser", + "Leggi PDF": "Læs PDF", + "Lending Status & Patron": "Udlånsstatus & Låner", + "Lending status e patron tracking": "Udlånsstatus og lånersporing", + "Letta": "Læst", + "Letto": "Læst", + "Lettore": "Læser", + "Libero": "Ledig", + "Library Classifications (LCCN, LC, Dewey)": "Biblioteksklassifikationer (LCCN, LC, Dewey)", + "Library Management System": "Biblioteksadministrationssystem", + "Library of Congress Control Number": "Library of Congress Control Number", + "LibraryThing": "LibraryThing", + "LibraryThing TSV": "LibraryThing TSV", + "LibraryThing Work ID": "LibraryThing Work ID", + "LibraryThing esporta i dati in formato TSV (Tab-Separated Values). Pinakes riconosce automaticamente questi campi:": "LibraryThing eksporterer data i TSV-format (Tab-Separated Values). Pinakes genkender automatisk disse felter:", + "Librerie di upload non caricate. Ricarica la pagina.": "Upload-biblioteker er ikke indlæst. Genindlæs siden.", + "Libri": "Bøger", + "Libri Disponibili": "Tilgængelige Bøger", + "Libri Importati": "Importerede Bøger", + "Libri Prestati": "Udlånte Bøger", + "Libri Totali": "Bøger I Alt", + "Libri attualmente in prestito": "Bøger, der i øjeblikket er udlånt", + "Libri con ISBN": "Bøger med ISBN", + "Libri nelle collane": "Bøger i serier", + "Libri per Collocazione": "Bøger efter placering", + "Libri prenotati dagli utenti": "Bøger reserveret af brugere", + "Libro": "Bog", + "Libro '%s' (ID: %d) ha copie disponibili negative: %d": "Bogen '%s' (ID: %d) har negative tilgængelige eksemplarer: %d", + "Libro '%s' (ID: %d) ha più copie disponibili (%d) che totali (%d)": "Bogen '%s' (ID: %d) har flere tilgængelige eksemplarer (%d) end totalt (%d)", + "Libro '%s' (ID: %d) ha stato '%s' ma copie disponibili: %d": "Bogen '%s' (ID: %d) har status '%s', men tilgængelige eksemplarer: %d", + "Libro Esistente:": "Eksisterende bog:", + "Libro Già Esistente": "Bog findes allerede", + "Libro ID %d ha posizioni coda non sequenziali: %s": "Bog ID %d har ikke-sekventielle køpositioner: %s", + "Libro Restituito": "Bog afleveret", + "Libro aggiornato con successo!": "Bog opdateret med succes!", + "Libro aggiunto con successo!": "Bog tilføjet med succes!", + "Libro da prenotare": "Bog der skal reserveres", + "Libro disponibile per la prenotazione": "Bog tilgængelig til reservation", + "Libro e utente sono campi obbligatori.": "Bog og bruger er påkrævede felter.", + "Libro non disponibile": "Bog ikke tilgængelig", + "Libro non in collana": "Bog ikke i serie", + "Libro non trovato": "Bog ikke fundet", + "Libro non trovato nel database Open Library": "Bog ikke fundet i Open Library-databasen", + "Libro non trovato su Open Library.": "Bog ikke fundet på Open Library.", + "Libro non trovato.": "Bog ikke fundet.", + "Libro non valido o eliminato": "Ugyldig eller slettet bog", + "Libro prenotato disponibile": "Reserveret bog tilgængelig", + "Libro restituito con successo": "Bog afleveret med succes", + "Libro rimosso dalla serie": "Bog fjernet fra serien", + "Libro senza titolo": "Bog uden titel", + "Libro:": "Bog:", + "Licenza": "Licens", + "Limite massimo rinnovi raggiunto": "Maksimal grænse for fornyelser nået", + "Limite pagina: 500.": "Sidelimite: 500.", + "Limiti: massimo 50 libri con scraping attivo, timeout 5 minuti": "Grænser: maks. 50 bøger med aktiv scraping, timeout 5 minutter", + "Lingua": "Sprog", + "Lingua App": "App-sprog", + "Lingua Attiva": "Aktivt sprog", + "Lingua Predefinita": "Standardsprog", + "Lingua Predefinita:": "Standardsprog:", + "Lingua aggiornata con successo": "Sprog opdateret med succes", + "Lingua creata con successo": "Sprog oprettet med succes", + "Lingua del libro (ITA, ENG, etc.)": "Bogens sprog (ITA, ENG osv.)", + "Lingua e Provenienza": "Sprog og Oprindelse", + "Lingua eliminata con successo": "Sprog slettet med succes", + "Lingua non supportata": "Sprog ikke understøttet", + "Lingua non trovata": "Sprog ikke fundet", + "Lingua orig.": "Orig. sprog", + "Lingua originale": "Originalsprog", + "Lingua originale del libro": "Bogens originalsprog", + "Lingua predefinita impostata con successo": "Standardsprog indstillet med succes", + "Lingua, Numero Pagine": "Sprog, Sidetal", + "Lingue": "Sprog", + "Lingue Configurate": "Konfigurerede sprog", + "Lingue Originali": "Originalsprog", + "Lingue valide": "Gyldige sprog", + "Link": "Link", + "Link Cookie Statement": "Link til cookie-erklæring", + "Link Cookie Technologies": "Link til cookieteknologier", + "Link Social Media": "Sociale medier-links", + "Link al file digitale (se disponibile)": "Link til digital fil (hvis tilgængelig)", + "Link all'audiolibro (se disponibile)": "Link til lydbog (hvis tilgængelig)", + "Link copiato!": "Link kopieret!", + "Link di esempio": "Eksempellink", + "Link di reset non valido o scaduto": "Nulstillingslink ugyldigt eller udløbet", + "Link pulsante": "Knaplink", + "Linked Data:": "Linked Data:", + "LinkedIn": "LinkedIn", + "Lista": "Liste", + "Livello": "Niveau", + "Livello ${m.numero_livello}": "Niveau ${m.numero_livello}", + "Livello *": "Niveau *", + "Livello 1 (Classi)": "Niveau 1 (Klasser)", + "Livello 2 (Divisioni)": "Niveau 2 (Afdelinger)", + "Livello 3 (Specifiche)": "Niveau 3 (Specifikationer)", + "Livello di catalogazione": "Katalogiseringsniveau", + "Livello di descrizione": "Beskrivelsesniveau", + "Livello principale (es. Prosa, Poesia, Teatro)": "Hovedniveau (f.eks. Prosa, Poesi, Teater)", + "Lo script CLI utilizza il valore di": "CLI-scriptet bruger værdien af", + "Lo script CLI utilizza il valore di APP_CANONICAL_URL. Assicurati che sia configurato correttamente per evitare URL duplicati.": "CLI-scriptet bruger værdien af APP_CANONICAL_URL. Sørg for, at det er konfigureret korrekt for at undgå duplikerede URL'er.", + "Lo stato della prenotazione sarà impostato automaticamente come \"attiva\"": "Reservationsstatus indstilles automatisk til \"aktiv\"", + "Lo stato della prenotazione sarà impostato automaticamente come \\": "Reservationsstatus indstilles automatisk som \\", + "Loans": "Udlån", + "Locale": "Lokalt", + "Locale non supportato.": "Lokalitet ikke understøttet.", + "Località": "Sted", + "Lock file creato (installazione protetta)": "Låsefil oprettet (beskyttet installation)", + "Log": "Log", + "Log Sicurezza": "Sikkerhedslogfiler", + "Log Transazioni": "Transaktionslog", + "Log Transazioni NCIP": "NCIP-transaktionslog", + "Log di Sicurezza": "Sikkerhedslog", + "Login": "Log ind", + "Login Riuscito": "Login lykkedes", + "Logo": "Logo", + "Logo Applicazione (opzionale)": "Applikationslogo (valgfrit)", + "Logout effettuato con successo": "Logget ud med succes", + "Longitudine": "Længdegrad", + "Luoghi": "Steder", + "Luoghi (RiC-CM)": "Steder (RiC-CM)", + "Luogo": "Sted", + "Luogo padre": "Overordnet sted", + "MARCXML": "MARCXML", + "MD5 non valido (32 caratteri esadecimali).": "Ugyldig MD5 (32 hexadecimale tegn).", + "MP3, M4A o OGG, max 500 MB": "MP3, M4A eller OGG, maks. 500 MB", + "Mai generata": "Aldrig genereret", + "Mai utilizzata": "Aldrig brugt", + "MaintenanceService ICS non generato": "MaintenanceService ICS ikke genereret", + "MaintenanceService connessione database fallita": "MaintenanceService databaseforbindelse mislykkedes", + "MaintenanceService errore attivazione prestiti": "MaintenanceService fejl ved aktivering af udlån", + "MaintenanceService errore attivazione prestito": "MaintenanceService fejl ved aktivering af udlån", + "MaintenanceService errore conversione prenotazioni": "MaintenanceService fejl ved konvertering af reservationer", + "MaintenanceService errore durante hook login admin": "MaintenanceService fejl under admin-login-hook", + "MaintenanceService errore elaborazione prenotazione": "MaintenanceService fejl ved behandling af reservation", + "MaintenanceService errore generazione ICS": "MaintenanceService fejl ved generering af ICS", + "MaintenanceService errore notifiche": "MaintenanceService fejl ved notifikationer", + "MaintenanceService errore prenotazioni scadute": "MaintenanceService fejl ved udløbne reservationer", + "MaintenanceService errore prestiti in ritardo": "MaintenanceService fejl ved forsinkede udlån", + "MaintenanceService errore ritiri scaduti": "MaintenanceService fejl ved udløbne afhentninger", + "MaintenanceService errore scadenza prenotazione": "MaintenanceService fejl ved reservationsudløb", + "MaintenanceService errore scadenza ritiro": "MaintenanceService fejl ved udløb af afhentningsfrist", + "MaintenanceService eseguito al login admin": "MaintenanceService udført ved admin-login", + "MaintenanceService prenotazione convertita in prestito": "MaintenanceService reservation konverteret til udlån", + "MaintenanceService prenotazione scaduta": "MaintenanceService reservation udløbet", + "MaintenanceService ritiro scaduto": "MaintenanceService afhentningsfrist udløbet", + "Mancante": "Manglende", + "Mandati / fonti di autorità": "Mandater / autoritetskilder", + "Mandato": "Mandat", + "Mantieni in ritardo": "Behold som forsinket", + "Manuale": "Manuel", + "Manutenzione": "Vedligeholdelse", + "Manutenzione Completa": "Fuld vedligeholdelse", + "Manutenzione completata: %d record corretti": "Vedligeholdelse fuldført: %d poster rettet", + "Manutenzione disattivata": "Vedligeholdelse deaktiveret", + "Manutenzione giornaliera del database": "Daglig databasewebvedligeholdelse", + "Mappa / cartografia (hk)": "Kort / kartografi (hb)", + "Mappa Interattiva": "Interaktivt kort", + "Mappa del sito per i motori di ricerca": "Sitemap til søgemaskiner", + "Mappa non disponibile": "Kort ikke tilgængeligt", + "Mario": "Mogens", + "Marketing:": "Marketing:", + "Maschio": "Mand", + "Materiale archivistico (ISAD(G))": "Arkivmateriale (ISAD(G))", + "Materiale misto (zz)": "Blandet materiale (zz)", + "Materiale specifico (foto, poster, cartoline…)": "Specifikt materiale (fotos, plakater, postkort...)", + "Max 10.000 righe • Max 100 copie per libro": "Maks. 10.000 rækker • Maks. 100 eksemplarer pr. bog", + "Media": "Gennemsnit", + "Mediocre": "Mellem", + "Membro": "Medlem", + "Memory limit aumentato": "Hukommelsesgrænse forøget", + "Mensola": "Hylde", + "Mensola creata e %d posizioni generate.": "Hylde oprettet og %d positioner genereret.", + "Mensola creata.": "Hylde oprettet.", + "Mensola eliminata": "Hylde slettet", + "Mensole": "Hylder", + "Menu": "Menu", + "Menu \"Prestiti\" nell'admin sidebar": "Menuen \"Udlån\" i admin-sidepanelet", + "Menu Principale": "Hovedmenu", + "Merge - Aggiungi e aggiorna (mantiene dati esistenti)": "Flet - Tilføj og opdater (beholder eksisterende data)", + "Merge completato": "Fletning fuldført", + "Merge completato: %d aggiunti, %d aggiornati, %d invariati. Totale: %d voci.": "Fletning fuldført: %d tilføjet, %d opdateret, %d uændret. I alt: %d poster.", + "Mese": "Måned", + "Messaggi": "Beskeder", + "Messaggi di Contatto": "Kontaktbeskeder", + "Messaggio": "Besked", + "Messaggio inviato con successo! Ti risponderemo al più presto.": "Besked sendt med succes! Vi svarer hurtigst muligt.", + "Messaggio non trovato.": "Besked ikke fundet.", + "Metadati delle copie digitali usati nell'esportazione OAI-PMH formato MAG per ICCU/Internet Culturale.": "Metadata for digitale eksemplarer brugt i OAI-PMH-eksport i MAG-format til ICCU/Internet Culturale.", + "Metadati serie": "Seriemetadata", + "Metadati:": "Metadata:", + "Metodo di invio": "Forsendelsesmetode", + "Microforma (bm)": "Mikroform (bm)", + "Migrazione database": "Databasemigrering", + "Miniatura affiancata al testo (240px)": "Miniaturebillede ved siden af tekst (240px)", + "Minimo 8 caratteri": "Minimum 8 tegn", + "Minimo 8 caratteri, con lettere maiuscole, minuscole e numeri": "Minimum 8 tegn, med store og små bogstaver samt tal", + "Misto": "Blandet", + "Mittente": "Afsender", + "Mittente (email)": "Afsender (e-mail)", + "Mittente (nome)": "Afsender (navn)", + "Modalità Catalogo": "Katalogtilstand", + "Modalità Solo Catalogo": "Kun katalog-tilstand", + "Modalità colore": "Farvetilstand", + "Modalità di importazione": "Importtilstand", + "Modalità manutenzione disattivata": "Vedligeholdelsestilstand deaktiveret", + "Modalità manutenzione rimossa automaticamente (scaduta)": "Vedligeholdelsestilstand fjernet automatisk (udløbet)", + "Modello FRBR/LRM (Work)": "FRBR/LRM-model (Værk)", + "Moderatore": "Moderator", + "Modifica": "Redigér", + "Modifica %s": "Redigér %s", + "Modifica Autore": "Redigér forfatter", + "Modifica Autore:": "Redigér forfatter:", + "Modifica Chi Siamo": "Redigér Om os", + "Modifica Editore": "Redigér forlag", + "Modifica Evento": "Redigér begivenhed", + "Modifica Evento: %s": "Redigér begivenhed: %s", + "Modifica Homepage": "Redigér forside", + "Modifica Libro": "Redigér bog", + "Modifica Lingua:": "Redigér sprog:", + "Modifica Opera": "Redigér værk", + "Modifica Prenotazione": "Redigér reservation", + "Modifica Prenotazione #%s": "Redigér reservation #%s", + "Modifica Route": "Redigér rute", + "Modifica Route Tradotte": "Redigér oversatte ruter", + "Modifica Stato Copia": "Redigér eksemplarstatus", + "Modifica Utente": "Redigér bruger", + "Modifica attività": "Redigér aktivitet", + "Modifica authority record": "Redigér autoritetspost", + "Modifica i contenuti della homepage: hero, features, CTA e immagine di sfondo": "Redigér indholdet på forsiden: hero, features, CTA og baggrundsbillede", + "Modifica il contenuto e le impostazioni della pagina": "Redigér sidens indhold og indstillinger", + "Modifica le informazioni dell'evento": "Redigér begivenhedsoplysninger", + "Modifica le pagine statiche del sito": "Redigér websitets statiske sider", + "Modifica luogo": "Redigér sted", + "Modifica prestito": "Redigér udlån", + "Modifica prestito #%s": "Redigér udlån #%s", + "Modifica profilo": "Redigér profil", + "Modifica record": "Redigér post", + "Modifica record archivistico": "Redigér arkivpost", + "Modifica stato": "Redigér status", + "Modifica utente": "Redigér bruger", + "Modificabili nel form libro": "Kan redigeres i bogformularen", + "Modifiche non salvate": "Ikke-gemte ændringer", + "Modulo": "Modul", + "Molto Buono": "Meget god", + "Molto buono": "Meget god", + "Mondadori": "Mondadori", + "Monitora tentativi di login e eventi di sicurezza": "Overvåg login-forsøg og sikkerhedshændelser", + "Mostra": "Vis", + "Mostra API Key": "Vis API-nøgle", + "Mostra Cookie Analitici": "Vis analytiske cookies", + "Mostra Cookie di Marketing": "Vis marketing-cookies", + "Mostra _MENU_ libri": "Vis _MENU_ bøger", + "Mostra badge nell'area amministrazione": "Vis mærker i administrationsområdet", + "Mostra badge nella pagina dettaglio libro": "Vis mærke på bogdetaljesiden", + "Mostra categoria \\": "Vis kategori \\", + "Mostra filtri": "Vis filtre", + "Mostra gli ultimi libri aggiunti al catalogo": "Vis de seneste bøger tilføjet til kataloget", + "Mostra i badge nella pagina dettaglio libro del catalogo": "Vis mærker på katalogets bogdetaljeside", + "Mostra i badge nella scheda libro dell'area amministrazione": "Vis mærker på bogkortet i administrationsområdet", + "Mostra questa guida": "Vis denne vejledning", + "Mostra scorciatoie": "Vis genveje", + "Mostra tutto": "Vis alt", + "Mostra/nascondi token": "Vis/skjul token", + "Mostrati %d record archivistici su un massimo di %d per pagina.": "Viser %d arkivposter ud af maksimalt %d pr. side.", + "Mostrati %d record su un massimo di %d per pagina.": "Viser %d poster ud af maksimalt %d pr. side.", + "Mostrati primi 100 autori. Usa la ricerca type-ahead per liste più lunghe.": "Viser de første 100 forfattere. Brug type-ahead-søgning til længere lister.", + "Mostrati record:": "Viste poster:", + "Motivo del rifiuto (opzionale)": "Årsag til afvisning (valgfrit)", + "Motivo del rifiuto (opzionale):": "Årsag til afvisning (valgfrit):", + "N. Inventario": "Inventar-nr.", + "N. Libri": "Antal bøger", + "N/D": "U.A.", + "Narrativa": "Skønlitteratur", + "Nascita a": "Født til", + "Nascita da": "Født fra", + "Nascondi": "Skjul", + "Nascondi API Key": "Skjul API-nøgle", + "Nascondi filtri": "Skjul filtre", + "Nascondi se il sito non utilizza cookie di marketing o advertising": "Skjul, hvis websitet ikke bruger marketing- eller reklamecookies", + "Nascondi se il sito non utilizza strumenti di analytics (es. Google Analytics)": "Skjul, hvis websitet ikke bruger analyseredskaber (f.eks. Google Analytics)", + "Nascosto": "Skjult", + "Nato il %s": "Født den %s", + "Navigazione": "Navigation", + "Navigazione pagine": "Sidenavigation", + "Nazionalità": "Nationalitet", + "Nederlands (NL)": "Hollandsk (NL)", + "Nei Preferiti": "I Favoritter", + "Nella collezione": "I samlingen", + "Nella stessa collana": "I samme serie", + "Nessun Problema": "Ingen problemer", + "Nessun aggiornamento": "Ingen opdateringer", + "Nessun aggiornamento registrato": "Ingen registrerede opdateringer", + "Nessun authority record collegato. Aggiungine uno qui sotto.": "Ingen tilknyttede autoritetsposter. Tilføj en nedenfor.", + "Nessun authority record disponibile.": "Ingen autoritetsposter tilgængelige.", + "Nessun authority record.": "Ingen autoritetsposter.", + "Nessun autore di libreria collegato. Associa un autore qui sotto per unificare libri e archivi nella ricerca.": "Ingen tilknyttede biblioteksforfattere. Knyt en forfatter til nedenfor for at forene bøger og arkiver i søgningen.", + "Nessun autore selezionato": "Ingen forfattere valgt", + "Nessun autore trovato": "Ingen forfattere fundet", + "Nessun autore trovato, premi Invio per aggiungerne uno nuovo": "Ingen forfatter fundet, tryk på Enter for at tilføje en ny", + "Nessun backup disponibile": "Ingen backup tilgængelig", + "Nessun backup disponibile.": "Ingen backup tilgængelig.", + "Nessun dato": "Ingen data", + "Nessun dato trovato su LibreriaUniversitaria/Feltrinelli.": "Ingen data fundet på LibreriaUniversitaria/Feltrinelli.", + "Nessun dato.": "Ingen data.", + "Nessun documento caricato.": "Ingen dokumenter uploadet.", + "Nessun editore selezionato": "Ingen forlag valgt", + "Nessun editore trovato": "Ingen forlag fundet", + "Nessun editore trovato per": "Ingen forlag fundet for", + "Nessun editore trovato per \"${query}\" — premi Invio per crearne uno nuovo.": "Ingen forlag fundet for \"${query}\" — tryk på Enter for at oprette et nyt.", + "Nessun editore trovato, premi Invio per aggiungerne uno nuovo": "Ingen forlag fundet, tryk på Enter for at tilføje et nyt", + "Nessun elemento trovato": "Ingen elementer fundet", + "Nessun errore": "Ingen fejl", + "Nessun evento": "Ingen begivenheder", + "Nessun evento in programma": "Ingen planlagte begivenheder", + "Nessun file caricato": "Ingen fil uploadet", + "Nessun file caricato.": "Ingen fil uploadet.", + "Nessun file di traduzione caricato. Carica un file JSON per abilitare questa lingua.": "Ingen oversættelsesfil uploadet. Upload en JSON-fil for at aktivere dette sprog.", + "Nessun fondo pubblicato.": "Ingen offentliggjorte samlinger.", + "Nessun genere trovato": "Ingen genrer fundet", + "Nessun import in corso": "Ingen import i gang", + "Nessun import registrato": "Ingen registrerede importer", + "Nessun libro": "Ingen bøger", + "Nessun libro ancora inserito": "Ingen bøger tilføjet endnu", + "Nessun libro con collocazione trovato": "Ingen bøger med placering fundet", + "Nessun libro da arricchire": "Ingen bøger at berige", + "Nessun libro nel database": "Ingen bøger i databasen", + "Nessun libro nella collana": "Ingen bøger i serien", + "Nessun libro recente": "Ingen nye bøger", + "Nessun libro recente disponibile": "Ingen nye bøger tilgængelige", + "Nessun libro registrato": "Ingen registrerede bøger", + "Nessun libro selezionato": "Ingen bøger valgt", + "Nessun libro trovato": "Ingen bøger fundet", + "Nessun log disponibile": "Ingen logfiler tilgængelige", + "Nessun logo caricato": "Ingen logo uploadet", + "Nessun luogo registrato.": "Ingen sted registreret.", + "Nessun messaggio ricevuto": "Ingen modtagne beskeder", + "Nessun motivo specificato": "Ingen årsag angivet", + "Nessun padre (genere principale)": "Ingen overordnet (hovedgenre)", + "Nessun partner configurato.": "Ingen partnere konfigureret.", + "Nessun plugin installato": "Ingen plugins installeret", + "Nessun prestito attivo": "Ingen aktive lån", + "Nessun prestito disponibile per generare il grafico": "Ingen lån til rådighed til at generere diagrammet", + "Nessun prestito in attesa di ritiro": "Ingen lån afventer afhentning", + "Nessun prestito in corso": "Ingen løbende lån", + "Nessun prestito passato": "Ingen tidligere lån", + "Nessun prestito registrato": "Ingen lån registreret", + "Nessun prestito scaduto": "Ingen forfaldne lån", + "Nessun prestito trovato": "Ingen lån fundet", + "Nessun prestito trovato.": "Ingen lån fundet.", + "Nessun pulsante selezionato": "Ingen knapper valgt", + "Nessun record archivistico.": "Ingen arkivposter endnu.", + "Nessun record trovato su SBN.": "Ingen post fundet på SBN.", + "Nessun risultato": "Ingen resultater", + "Nessun risultato per": "Ingen resultater for", + "Nessun risultato trovato": "Ingen resultater fundet", + "Nessun risultato trovato con i filtri applicati": "Ingen resultater fundet med de anvendte filtre", + "Nessun risultato trovato per": "Ingen resultater fundet for", + "Nessun risultato trovato per la ricerca.": "Ingen resultater fundet for søgningen.", + "Nessun ritiro": "Ingen afhentninger", + "Nessun server configurato. Aggiungine uno per iniziare.": "Ingen servere konfigureret. Tilføj en for at komme i gang.", + "Nessun sottogenere": "Ingen undergenre", + "Nessun sottogenere definito": "Ingen undergenrer defineret", + "Nessun sottogenere.": "Ingen undergenrer.", + "Nessun suggerimento": "Ingen forslag", + "Nessun suggerimento disponibile": "Intet forslag til rådighed", + "Nessun titolo corrisponde al filtro corrente.": "Ingen titel matcher det aktuelle filter.", + "Nessuna": "Ingen", + "Nessuna API key configurata": "Ingen API-nøgle konfigureret", + "Nessuna alternativa disponibile": "Ingen alternativer til rådighed", + "Nessuna attività": "Ingen aktivitet", + "Nessuna attività registrata.": "Ingen aktivitet registreret.", + "Nessuna collana trovata. Aggiungi una collana a un libro per iniziare.": "Ingen serier fundet. Tilføj en serie til en bog for at komme i gang.", + "Nessuna collocazione trovata": "Ingen placeringer fundet", + "Nessuna copertina caricata": "Intet omslag uploadet", + "Nessuna copertina caricata.": "Intet omslag uploadet.", + "Nessuna copertina da scaricare": "Ingen omslag at downloade", + "Nessuna copia attualmente disponibile": "Ingen eksemplarer til rådighed i øjeblikket", + "Nessuna copia digitalizzata registrata.": "Ingen digitaliserede eksemplarer registreret.", + "Nessuna copia disponibile nelle date richieste": "Ingen eksemplarer til rådighed på de ønskede datoer", + "Nessuna copia disponibile per il periodo richiesto": "Ingen eksemplarer til rådighed i den anmodede periode", + "Nessuna copia disponibile per il periodo richiesto.": "Ingen eksemplarer til rådighed i den anmodede periode.", + "Nessuna copia disponibile per questo libro": "Ingen eksemplarer til rådighed for denne bog", + "Nessuna copia registrata": "Ingen eksemplarer registreret", + "Nessuna descrizione disponibile": "Ingen beskrivelse til rådighed", + "Nessuna descrizione disponibile per questo libro.": "Ingen beskrivelse til rådighed for denne bog.", + "Nessuna edizione collegata. Apri un libro e usa «Collega a Opera».": "Ingen udgaver tilknyttet. Åbn en bog og brug „Tilknyt til værk“.", + "Nessuna edizione disponibile per questa opera.": "Ingen udgaver til rådighed for dette værk.", + "Nessuna espressione registrata (traduzioni, revisioni, adattamenti).": "Ingen udtryk registreret (oversættelser, revisioner, bearbejdelser).", + "Nessuna fonte di scraping disponibile. Installa almeno un plugin di scraping (es. Open Library o Scraping Pro).": "Ingen scraping-kilde til rådighed. Installer mindst ét scraping-plugin (f.eks. Open Library eller Scraping Pro).", + "Nessuna forma trovata su SBN.": "Ingen form fundet på SBN.", + "Nessuna lingua configurata": "Ingen sprog konfigureret", + "Nessuna mensola per questo scaffale. Creane una!": "Ingen hylder til dette reol. Opret en!", + "Nessuna mensola. Creane una per iniziare!": "Ingen hylder. Opret en for at komme i gang!", + "Nessuna notifica": "Ingen notifikationer", + "Nessuna opera ancora. Raggruppa le edizioni dei tuoi libri creando la prima opera.": "Ingen værker endnu. Grupper udgaverne af dine bøger ved at oprette det første værk.", + "Nessuna prenotazione": "Ingen reservationer", + "Nessuna prenotazione attiva": "Ingen aktive reservationer", + "Nessuna recensione": "Ingen anmeldelser", + "Nessuna recensione approvata": "Ingen godkendte anmeldelser", + "Nessuna recensione in attesa": "Ingen afventende anmeldelser", + "Nessuna recensione rifiutata": "Ingen afviste anmeldelser", + "Nessuna relazione collegata.": "Ingen tilknyttede relationer.", + "Nessuna ricerca recente": "Ingen seneste søgninger", + "Nessuna richiesta": "Ingen anmodninger", + "Nessuna richiesta da approvare": "Ingen anmodninger at godkende", + "Nessuna richiesta in attesa": "Ingen afventende anmodninger", + "Nessuna richiesta in attesa di approvazione.": "Ingen anmodninger afventer godkendelse.", + "Nessuna selezione": "Intet valgt", + "Nessuna sessione attiva. Le sessioni vengono create quando accedi con 'Ricordami' selezionato.": "Ingen aktive sessioner. Sessioner oprettes, når du logger ind med 'Husk mig' valgt.", + "Nessuna transazione registrata.": "Ingen transaktioner registreret.", + "Nessuna unità archivistica collegata.": "Ingen arkivenhed tilknyttet.", + "Nessuna valutazione": "Ingen bedømmelse", + "Nessuno": "Ingen", + "Nessuno scaffale. Creane uno per iniziare!": "Ingen reoler. Opret en for at komme i gang!", + "Nessuno storico": "Ingen historik", + "No": "Nej", + "Nodo mancante di codice a profondità %d.": "Manglende knude med kode i dybde %d.", + "Nome": "Fornavn", + "Nome *": "Navn *", + "Nome Applicazione": "Applikationsnavn", + "Nome Categoria": "Kategorinavn", + "Nome Cognome": "For- og efternavn", + "Nome Database": "Databasenavn", + "Nome Editore": "Forlagets navn", + "Nome File": "Filnavn", + "Nome Indice": "Indeksnavn", + "Nome Inglese": "Engelsk navn", + "Nome Nativo": "Oprindeligt navn", + "Nome Partner": "Partnernavn", + "Nome Referente": "Kontaktpersons navn", + "Nome Server": "Servernavn", + "Nome applicazione": "Applikationsnavn", + "Nome autore": "Forfatternavn", + "Nome backup non specificato": "Backupnavn ikke angivet", + "Nome backup non valido": "Ugyldigt backupnavn", + "Nome categoria esistente": "Eksisterende kategorinavn", + "Nome collana di destinazione": "Målseriens navn", + "Nome collana non valido": "Ugyldigt serienavn", + "Nome completo": "Fulde navn", + "Nome cookie analitici": "Navn på analytiske cookies", + "Nome cookie essenziali": "Navn på essentielle cookies", + "Nome cookie marketing": "Navn på marketingcookies", + "Nome d'arte o pseudonimo": "Kunstnernavn eller pseudonym", + "Nome del curatore dell'opera (se applicabile)": "Navn på værkets kurator (hvis relevant)", + "Nome del prestatore": "Udlånerens navn", + "Nome del traduttore (se applicabile)": "Oversætterens navn (hvis relevant)", + "Nome dell'editore": "Forlagets navn", + "Nome dell'illustratore (se applicabile)": "Illustratorens navn (hvis relevant)", + "Nome della casa editrice": "Forlagets navn", + "Nome della classificazione": "Klassifikationsnavn", + "Nome della collana": "Seriens navn", + "Nome della lingua in inglese (es. Italian, English, Spanish)": "Sproglets navn på engelsk (f.eks. Italian, English, Spanish)", + "Nome della lingua nella lingua stessa (es. Italiano, English, Español)": "Sproglets navn på sproget selv (f.eks. Italiano, English, Español)", + "Nome e cognome del referente": "Kontaktpersonens for- og efternavn", + "Nome e cognome dell'autore": "Forfatterens for- og efternavn", + "Nome e cognome sono obbligatori.": "For- og efternavn er påkrævet.", + "Nome ed Endpoint URL sono obbligatori.": "Navn og Endpoint URL er påkrævet.", + "Nome editore": "Forlagets navn", + "Nome editore...": "Forlagets navn...", + "Nome file non valido.": "Ugyldigt filnavn.", + "Nome genere": "Genrenavn", + "Nome o cognome troppo lungo (massimo 100 caratteri)": "For- eller efternavn for langt (maksimalt 100 tegn)", + "Nome plugin non valido. Usa solo lettere, numeri, trattini o underscore.": "Ugyldigt plugin-navn. Brug kun bogstaver, tal, bindestreger eller underscores.", + "Nome sottogenere": "Undergenrenavn", + "Nome specifico della serie a cui appartiene il libro.": "Specifikt navn på den serie, bogen tilhører.", + "Nome, cognome, email...": "Navn, efternavn, e-mail...", + "Nome, pseudonimo, biografia...": "Navn, pseudonym, biografi...", + "Nome:": "Navn:", + "Non Disponibile": "Ikke tilgængelig", + "Non Disponibili": "Ikke tilgængelige", + "Non Installato": "Ikke installeret", + "Non ancora restituito": "Endnu ikke afleveret tilbage", + "Non assegnata": "Ikke tildelt", + "Non autenticato": "Ikke godkendt", + "Non autorizzato": "Ikke autoriseret", + "Non autorizzato.": "Ikke autoriseret.", + "Non chiudere questa finestra": "Luk ikke dette vindue", + "Non ci sono azioni urgenti da completare.": "Der er ingen uopsættelige handlinger, der skal fuldføres.", + "Non ci sono dati da esportare": "Der er ingen data at eksportere", + "Non ci sono nuovi arrivi al momento.": "Der er ingen nye ankomster i øjeblikket.", + "Non ci sono prestiti o prenotazioni attive al momento.": "Der er ingen aktive lån eller reservationer i øjeblikket.", + "Non ci sono recensioni in attesa di approvazione.": "Der er ingen anmeldelser, der afventer godkendelse.", + "Non ci sono richieste di prestito in attesa di approvazione.": "Der er ingen låneanmodninger, der afventer godkendelse.", + "Non configurato": "Ikke konfigureret", + "Non disponibile": "Ikke tilgængelig", + "Non disponibile nella data selezionata": "Ikke tilgængelig på den valgte dato", + "Non disponibile ora": "Ikke tilgængelig nu", + "Non eliminabile": "Kan ikke slettes", + "Non hai ancora creato nessun evento. Inizia creando il tuo primo evento.": "Du har ikke oprettet nogen begivenheder endnu. Start med at oprette din første begivenhed.", + "Non hai ancora lasciato recensioni": "Du har ikke skrevet nogen anmeldelser endnu", + "Non hai libri in prestito al momento": "Du har ingen lånte bøger i øjeblikket", + "Non hai prenotazioni attive al momento": "Du har ingen aktive reservationer i øjeblikket", + "Non hai prestiti in corso al momento.": "Du har ingen løbende lån i øjeblikket.", + "Non hai prestiti passati": "Du har ingen tidligere lån", + "Non hai un account?": "Har du ikke en konto?", + "Non in prestito": "Ikke udlånt", + "Non includere tag": "Inkluder ikke tags", + "Non includere tag ": "Inkluder ikke -tags", + "Non installato": "Ikke installeret", + "Non letto": "Ulæst", + "Non modifica funzionalità esistenti": "Ændrer ikke eksisterende funktionalitet", + "Non puoi eliminare l'installer finché non completi l'installazione delle dipendenze PHP.": "Du kan ikke slette installationsprogrammet, før du har fuldført installationen af PHP-afhængigheder.", + "Non puoi recensire questo libro (devi averlo preso in prestito e non averlo già recensito)": "Du kan ikke anmelde denne bog (du skal have lånt den og må ikke have anmeldt den allerede)", + "Non rinnovabile: prestito in ritardo": "Kan ikke fornyes: forsinket lån", + "Non scrivibile": "Ikke skrivbar", + "Non selezionato": "Ikke valgt", + "Non serve selezionare alcuno scope (il repository è pubblico)": "Det er ikke nødvendigt at vælge et scope (arkivet er offentligt)", + "Non sono stati trovati libri di questo autore.": "Der blev ikke fundet nogen bøger af denne forfatter.", + "Non sono stati trovati libri di questo editore.": "Der blev ikke fundet nogen bøger fra dette forlag.", + "Non sono stati trovati libri di questo genere.": "Der blev ikke fundet nogen bøger i denne genre.", + "Non specificata": "Ikke angivet", + "Non specificato": "Ikke angivet", + "Non trovati": "Ikke fundet", + "Non trovato": "Ikke fundet", + "Non usare spazi nelle route": "Brug ikke mellemrum i ruter", + "Non è possibile creare la directory: %s": "Kan ikke oprette biblioteket: %s", + "Non è stato possibile eliminare l'utente. Controlla la console.": "Det var ikke muligt at slette brugeren. Tjek konsollen.", + "Non è stato trovato alcun aggiornamento": "Der blev ikke fundet nogen opdatering", + "Nota Importante": "Vigtig bemærkning", + "Nota di versione": "Versionsnote", + "Nota:": "Bemærk:", + "Nota: Data acquisizione è nel campo nativo 'Data Acquisizione' sopra": "Bemærk: Erhvervelsesdato er i det oprindelige felt 'Erhvervelsesdato' ovenfor", + "Nota: Il prezzo di acquisto è nel campo 'Prezzo' della sezione 'Dati di Acquisizione'": "Bemærk: Købsprisen er i feltet 'Pris' under afsnittet 'Erhvervelsesdata'", + "Nota: Impostare come predefinita disattiverà lo status di predefinita per tutte le altre lingue.": "Bemærk: Angivelse som standard vil deaktivere standardstatus for alle andre sprog.", + "Nota: Peso e dimensioni sono nei campi nativi dell'app (sezione Dati Fisici)": "Bemærk: Vægt og dimensioner er i appens oprindelige felter (afsnit Fysiske data)", + "Nota: in produzione limita questa funzione agli amministratori.": "Bemærk: I produktion bør denne funktion begrænses til administratorer.", + "Note": "Noter", + "Note (opzionali)": "Noter (valgfrit)", + "Note Importanti": "Vigtige bemærkninger", + "Note Utente": "Brugernoter", + "Note Varie": "Diverse noter", + "Note aggiuntive o osservazioni particolari...": "Yderligere noter eller særlige bemærkninger...", + "Note importanti:": "Vigtige bemærkninger:", + "Note interne": "Interne noter", + "Note private...": "Private noter...", + "Note sul prestito": "Lånenoter", + "Note sulla restituzione": "Afleveringsnoter", + "Note tecniche": "Tekniske noter", + "Notifica agli amministratori quando viene inoltrata una nuova richiesta di prestito.": "Giv administratorer besked, når der indsendes en ny låneanmodning.", + "Notifica agli utenti quando il prestito è scaduto e deve essere restituito.": "Giv brugere besked, når lånet er udløbet og skal afleveres.", + "Notifica copia non disponibile creata": "Notifikation om utilgængeligt eksemplar oprettet", + "Notifica prenotazione disponibile inviata": "Notifikation om tilgængelig reservation sendt", + "Notifica prestito fallita": "Lånenotifikation mislykkedes", + "Notifica richiesta prestito fallita": "Notifikation om låneanmodning mislykkedes", + "Notifiche": "Notifikationer", + "Notifiche Automatiche": "Automatiske notifikationer", + "Notifiche Prestiti": "Lånenotifikationer", + "Notifiche disponibilità libri in wishlist": "Notifikationer om tilgængelighed af bøger på ønskelisten", + "Notifiche prestiti scaduti": "Notifikationer om overførte lån", + "Novità nelle versioni successive": "Nyheder i efterfølgende versioner", + "Numero Inventario": "Inventarnummer", + "Numero Libri": "Antal bøger", + "Numero Pagine": "Sidetal", + "Numero Serie": "Serienummer", + "Numero colonne non valido": "Ugyldigt antal kolonner", + "Numero di Pagine": "Antal sider", + "Numero di copie non valido.": "Ugyldigt antal eksemplarer.", + "Numero di libri": "Antal bøger", + "Numero inventario": "Inventarnummer", + "Numero massimo di righe superato (%d)": "Maksimalt antal rækker overskredet (%d)", + "Numero massimo di righe superato (%d). Dividi il file in parti più piccole.": "Maksimalt antal rækker overskredet (%d). Del filen op i mindre dele.", + "Numero o descrizione dell'edizione": "Udgave nummer eller beskrivelse", + "Numero prenotazioni attive": "Antal aktive reservationer", + "Numero serie": "Serienummer", + "Numero tessera": "Kortnummer", + "Numero volume": "Bindnummer", + "Nuova Collana": "Ny serie", + "Nuova Collocazione": "Ny placering", + "Nuova Opera": "Nyt værk", + "Nuova Password": "Ny adgangskode", + "Nuova attività": "Ny aktivitet", + "Nuova copia digitalizzata": "Nyt digitaliseret eksemplar", + "Nuova password": "Ny adgangskode", + "Nuova prenotazione": "Ny reservation", + "Nuova recensione (Admin)": "Ny anmeldelse (Admin)", + "Nuova recensione da approvare": "Ny anmeldelse til godkendelse", + "Nuova registrazione utente": "Ny brugerregistrering", + "Nuova ricerca": "Ny søgning", + "Nuova richiesta di prestito": "Ny låneanmodning", + "Nuovo": "Ny", + "Nuovo Autore": "Ny forfatter", + "Nuovo Editore": "Nyt forlag", + "Nuovo Evento": "Ny begivenhed", + "Nuovo Genere": "Ny genre", + "Nuovo Libro": "Ny bog", + "Nuovo Prestito": "Nyt lån", + "Nuovo Utente": "Ny bruger", + "Nuovo aggiornamento disponibile!": "Ny opdatering til rådighed!", + "Nuovo authority record": "Ny autoritetspost", + "Nuovo editore:": "Nyt forlag:", + "Nuovo libro": "Ny bog", + "Nuovo luogo": "Nyt sted", + "Nuovo messaggio di contatto": "Ny kontaktbesked", + "Nuovo nome (opzionale)": "Nyt navn (valgfrit)", + "Nuovo prestito creato": "Nyt lån oprettet", + "Nuovo record": "Ny post", + "Nuovo record archivistico": "Ny arkivpost", + "Nuovo utente": "Ny bruger", + "OAI-PMH": "OAI-PMH", + "OCLC": "OCLC", + "OCLC number": "OCLC-nummer", + "OFF": "Fra", + "OK": "OK", + "ON": "Til", + "Obbligatorio": "Obligatorisk", + "Obbligatorio per utenti non amministratori.": "Obligatorisk for ikke-administratorbrugere.", + "Obsoleto": "Foreldet", + "Occupato": "Optaget", + "Occupato (in ritardo)": "Optaget (for sen)", + "Occupato (prestito attivo)": "Optaget (aktivt lån)", + "Offline": "Offline", + "Oggetto": "Emne", + "Oggetto dell'email": "E-mailens emne", + "Oggetto tridimensionale / realia (ho)": "Tredimensionelt objekt / realia (ho)", + "Oggi": "I dag", + "Ogni 15 minuti nei giorni lavorativi (8:00-18:00)": "Hvert 15. minut på hverdage (8:00-18:00)", + "Ogni errore include: numero riga, titolo libro, tipo errore e messaggio dettagliato": "Hver fejl inkluderer: rækkenummer, bogtitel, fejltype og detaljeret besked", + "Ogni route deve iniziare con": "Hver rute skal starte med", + "Online": "Online", + "Open Graph (Facebook)": "Open Graph (Facebook)", + "Open Graph (Facebook, LinkedIn)": "Open Graph (Facebook, LinkedIn)", + "Opera": "Værk", + "Opera \"%s\" creata con %d volumi": "Værket \"%s\" oprettet med %d bind", + "Opera non trovata": "Værk ikke fundet", + "Operation completed": "Handlingen fuldført", + "Operation failed": "Handlingen mislykkedes", + "Operatore": "Operatør", + "Operazione annullata": "Handling annulleret", + "Operazione completata": "Handling fuldført", + "Operazione fallita": "Handling mislykkedes", + "Operazione non consentita": "Handling ikke tilladt", + "Operazione non riuscita": "Handling mislykkedes", + "Operazioni": "Handlinger", + "Opere": "Værker", + "Opere (FRBR/LRM)": "Værker (FRBR/LRM)", + "Oppure accedere a /installer/?force=1 per forzare una nuova procedura": "Eller gå til /installer/?force=1 for at gennemtvinge en ny procedure", + "Oppure copia e incolla questo link nel tuo browser:": "Eller kopier og indsæt dette link i din browser:", + "Oppure naviga per categorie": "Eller gennemse efter kategorier", + "Oppure naviga per categorie:": "Eller gennemse efter kategorier:", + "Oppure usa il terminale SSH del tuo hosting (cPanel, Plesk, etc.)": "Eller brug din hostings SSH-terminal (cPanel, Plesk osv.)", + "Ops, qualcosa è andato storto": "Ups, noget gik galt", + "Opzionale": "Valgfrit", + "Opzionale per amministratori": "Valgfrit for administratorer", + "Opzione 1:": "Mulighed 1:", + "Opzione 2:": "Mulighed 2:", + "Opzione 3:": "Mulighed 3:", + "Ora Evento": "Begivenhedstidspunkt", + "Ora puoi accedere con la tua nuova password.": "Du kan nu logge ind med din nye adgangskode.", + "Ora puoi ricaricare questa pagina - il warning sparirà se tutto è OK.": "Du kan nu genindlæse denne side – advarslen forsvinder, hvis alt er i orden.", + "Ordina Sezioni Homepage": "Sorter hjemmesidens sektioner", + "Ordina per": "Sorter efter", + "Ordinamento": "Sortering", + "Ordinamento libri": "Bogsortering", + "Ordine ciclo": "Cyklusrækkefølge", + "Ordine ciclo %d": "Cyklusrækkefølge %d", + "Ordine salvato con successo!": "Rækkefølge gemt med succes!", + "Ordine:": "Rækkefølge:", + "Organizza e gestisci i generi letterari della biblioteca": "Organiser og administrer bibliotekets litterære genrer", + "Organizza scaffali, mensole e posizioni per la biblioteca fisica": "Organiser reoler, hylder og placeringer for det fysiske bibliotek", + "Originale a tutta larghezza (grande)": "Original i fuld bredde (stor)", + "Ospite": "Gæst", + "Ottieni le chiavi da Google reCAPTCHA": "Få nøgler fra Google reCAPTCHA", + "Ottimizza l'evento per i motori di ricerca e i social media": "Optimer begivenheden til søgemaskiner og sociale medier", + "Ottimizzato": "Optimeret", + "Ottimizzazione": "Optimering", + "Ottimizzazione Indici Database": "Optimering af databasedekser", + "Ottimizzazione SEO (Meta Tags)": "SEO-optimering (metatags)", + "Ottimizzazione SEO e Social Media": "SEO- og sociale medier-optimering", + "Ottimo": "Fremragende", + "Output atteso: cartella vendor/ con sottocartelle (slim, monolog, etc.)": "Forventet output: vendor/-mappe med undermapper (slim, monolog osv.)", + "PDF": "PDF", + "PDF generato!": "PDF genereret!", + "PDF o ePub, max 100 MB": "PDF eller ePub, maks. 100 MB", + "PDF prestito non generato": "Låns-PDF ikke genereret", + "PDF, ePub, audio (mp3/m4a/ogg/wav), video (mp4/webm), immagini (tiff/jpg/png). Max 200 MB.": "PDF, ePub, lyd (mp3/m4a/ogg/wav), video (mp4/webm), billeder (tiff/jpg/png). Maks. 200 MB.", + "PHP mail()": "PHP mail()", + "PHP mail() - Predefinito": "PHP mail() - Standard", + "PHPMailer": "PHPMailer", + "PNG, SVG, JPG o WebP (max 2MB)": "PNG, SVG, JPG eller WebP (maks. 2 MB)", + "Pacchetto caricato con successo": "Pakke uploadet med succes", + "Pacchetto caricato non trovato": "Uploadet pakke ikke fundet", + "Pacchetto di aggiornamento non valido: manca %s": "Ugyldig opdateringspakke: %s mangler", + "Paese": "Land", + "Page navigation": "Sidenavigation", + "Pagina": "Side", + "Pagina %d di %d": "Side %d af %d", + "Pagina Cookie": "Cookiedataside", + "Pagina Cookie Policy": "Side med cookiepolitik", + "Pagina Non Trovata": "Side ikke fundet", + "Pagina \\": "Side \\", + "Pagina aggiornata con successo.": "Side opdateret med succes.", + "Pagina attiva (visibile sul sito)": "Aktiv side (synlig på websitet)", + "Pagina non trovata.": "Side ikke fundet.", + "Pagina precedente": "Forrige side", + "Pagina successiva": "Næste side", + "Paginazione eventi": "Sideningdeling af begivenheder", + "Pagine": "Sider", + "Pagine Principali": "Hovedsider", + "Pannello": "Panel", + "Panoramica completa di prestiti, ritiri e prenotazioni": "Komplet oversigt over lån, afhentninger og reservationer", + "Panoramica generale": "Generel oversigt", + "Panoramica generale di Pinakes": "Generel oversigt over Pinakes", + "Paragrafo": "Afsnit", + "Paragraph": "Afsnit", + "Parametri di Ricerca": "Søgeparametre", + "Parametri non validi": "Ugyldige parametre", + "Parametri non validi per l'unione": "Ugyldige parametre til fletning", + "Parametro ISBN mancante.": "Manglende ISBN-parameter.", + "Parametro category_id obbligatorio.": "Parametret category_id er obligatorisk.", + "Parametro code obbligatorio.": "Parametret code er obligatorisk.", + "Parametro cover_url mancante.": "Manglende cover_url-parameter.", + "Parametro division_id obbligatorio.": "Parametret division_id er obligatorisk.", + "Parametro q mancante.": "Manglende q-parameter.", + "Parola chiave": "Nøgleord", + "Parole Chiave": "Nøgleord", + "Parole Chiave SEO": "SEO-nøgleord", + "Parole chiave": "Nøgleord", + "Parole chiave SEO": "SEO-nøgleord", + "Parole chiave per i motori di ricerca (impatto SEO limitato). Separate da virgola.": "Nøgleord til søgemaskiner (begrænset SEO-indflydelse). Adskilt af komma.", + "Partner": "Partner", + "Partner Configurati": "Konfigurerede partnere", + "Partner aggiunto con successo.": "Partner tilføjet med succes.", + "Partner eliminato con successo.": "Partner slettet med succes.", + "Passo": "Trin", + "Password": "Adgangskode", + "Password aggiornata con successo.": "Adgangskode opdateret med succes.", + "Password attuale": "Nuværende adgangskode", + "Password dimenticata": "Glemt adgangskode", + "Password dimenticata?": "Glemt adgangskode?", + "Password iniziale": "Start-adgangskode", + "Password resettata con successo!": "Adgangskode nulstillet med succes!", + "Password troppo lunga (massimo 128 caratteri)": "Adgangskode for lang (maksimalt 128 tegn)", + "Path pacchetto non specificato": "Pakkenstien ikke angivet", + "Path pacchetto non valido": "Ugyldig pakkesti", + "Pattern URL": "URL-mønster", + "Payload JSON non valido": "Ugyldig JSON-payload", + "Pellicola cinematografica (lf)": "Spillefilm (lf)", + "Pendente": "Afventende", + "Pending": "Afventende", + "Per aggiornare automaticamente la sitemap ogni giorno:": "For at opdatere sitemap automatisk hver dag:", + "Per assistenza, contatta l'amministrazione della biblioteca.": "Kontakt bibliotekets administration for at få hjælp.", + "Per inserire il codice JavaScript Analytics (Google Analytics, Matomo, ecc.), vai su {{variabile}} per inserire dati dinamici.": "Tilpas indholdet af automatiske e-mails med TinyMCE-editoren. Brug pladsholderne {{variabile}} til at indsætte dynamiske data.", + "Personalizza il contenuto delle mail automatiche con l'editor TinyMCE. Usa i segnaposto sospeso e richiede approvazione. Scegli un'opzione:": "Denne bruger er i status suspenderet og kræver godkendelse. Vælg en mulighed:", + "REICAT: distingue il record catalogato originalmente (95) da quello derivato (51).": "REICAT: skelner den oprindeligt katalogiserede post (95) fra den afledte (51).", + "Racchiudi il termine di ricerca tra virgolette CQL (es. BnF)": "Sæt søgetiden ind i CQL-anførselstegn (f.eks. BnF)", + "Radice": "Rod", + "Rallenta l'importazione": "Sænker importens hastighed", + "Rate limit exceeded. Please try again later.": "Forespørgselsgrænse overskredet. Prøv igen senere.", + "Recati in biblioteca durante gli orari di apertura per ritirare il libro.": "Mød op på biblioteket i åbningstiden for at afhente bogen.", + "Recensione": "Anmeldelse", + "Recensione (opzionale)": "Anmeldelse (valgfrit)", + "Recensione approvata": "Anmeldelse godkendt", + "Recensione del": "Anmeldelse af", + "Recensione e Valutazione": "Anmeldelse og bedømmelse", + "Recensione eliminata": "Anmeldelse slettet", + "Recensione inviata con successo!": "Anmeldelse sendt med succes!", + "Recensione inviata con successo! Sarà pubblicata dopo l'approvazione di un amministratore.": "Anmeldelse sendt med succes! Den vil blive offentliggjort efter godkendelse af en administrator.", + "Recensione inviata!": "Anmeldelse sendt!", + "Recensione per \"%s\" da %s - %s": "Anmeldelse af \"%s\" af %s - %s", + "Recensione rifiutata": "Anmeldelse afvist", + "Recensioni": "Anmeldelser", + "Recensioni Approvate": "Godkendte anmeldelser", + "Recensioni Rifiutate": "Afviste anmeldelser", + "Recensioni utenti": "Brugeranmeldelser", + "Recente": "Seneste", + "Record analizzati": "Analyserede poster", + "Record di autorità (persone, enti, famiglie) secondo lo standard ISAAR(CPF).": "Autoritetsposter (personer, institutioner, familier) i henhold til ISAAR(CPF)-standarden.", + "Recupera Password": "Gendan adgangskode", + "Recupera la tua password": "Gendan din adgangskode", + "Reference": "Signatur", + "Reference Code": "Signaturkode", + "Referente": "Kontaktperson", + "Regione": "Region", + "Registra Restituzione": "Registrer aflevering", + "Registra prestito": "Registrer lån", + "Registra restituzione": "Registrer aflevering", + "Registra restituzione prestito": "Registrer lånets aflevering", + "Registra una prenotazione per permettere ad un utente di riservare un libro specifico": "Registrer en reservation for at lade en bruger reservere en specifik bog", + "Registrati": "Registrer dig", + "Registrati Ora": "Registrer dig nu", + "Registrato da": "Registreret af", + "Registrato il": "Registreret den", + "Registrazione": "Registrering", + "Registrazione Completata": "Registrering fuldført", + "Registrazione audio (lm)": "Lydoptagelse (lm)", + "Registrazione completata": "Registrering fuldført", + "Registrazione completata! Effettua l'accesso": "Registrering fuldført! Log venligst ind", + "Registrazione nuovo utente": "Ny brugerregistrering", + "Registrazione ricevuta": "Registrering modtaget", + "Registro delle migrazioni database applicate": "Register over anvendte databasemigrationer", + "Reimposta password": "Nulstil adgangskode", + "Reindirizza automaticamente tutte le richieste HTTP a HTTPS": "Omdiriger automatisk alle HTTP-anmodninger til HTTPS", + "Reindirizzamento verso dominio non autorizzato bloccato.": "Omdirigering til uautoriseret domæne blokeret.", + "Reinstalla da Capo": "Geninstaller helt forfra", + "Relazione ciclica: questo libro è già opera padre del libro selezionato": "Cyklisk relation: denne bog er allerede overordnet værk for den valgte bog", + "Relazioni RiC-CM": "RiC-CM-relationer", + "Remoto": "Fjern", + "Rende disponibile /llms.txt e lo aggiunge a robots.txt": "Gør /llms.txt tilgængelig og tilføjer den til robots.txt", + "Report": "Rapport", + "Report Integrità Dati": "Rapport om dataintegritet", + "Report e analisi": "Rapporter og analyser", + "Requisiti": "Krav", + "Requisiti del plugin:": "Plugin-krav:", + "Requisiti di Sistema": "Systemkrav", + "Requisiti di sistema non soddisfatti": "Systemkrav ikke opfyldt", + "Requisiti:": "Krav:", + "Requisito '%s' non soddisfatto": "Kravet '%s' er ikke opfyldt", + "Reset": "Nulstil", + "Reset Filtri": "Nulstil filtre", + "Reset anni": "Nulstil år", + "Resetta Password": "Nulstil adgangskode", + "Restituisci": "Aflever tilbage", + "Restituito": "Afleveret tilbage", + "Restituito — copia in manutenzione": "Afleveret tilbage — eksemplar under vedligeholdelse", + "Restituito — copia in restauro": "Afleveret tilbage — eksemplar under restaurering", + "Restituito in ritardo": "Afleveret for sent", + "Restituito regolarmente": "Afleveret rettidigt", + "Restituzione": "Aflevering", + "Restituzione prestito": "Aflevering af lån", + "Restituzione prestito #%s": "Aflevering af lån #%s", + "Retention: 90 giorni": "Opbevaring: 90 dage", + "Retrocompatibile": "Bagudkompatibel", + "Review, Rating, Comments": "Anmeldelse, bedømmelse, kommentarer", + "Revocate %d sessioni": "%d sessioner tilbagekaldt", + "Riassegnazione copia fallita": "Gen-tildeling af eksemplar mislykkedes", + "Riassegnazione prenotazione nuova copia fallita": "Gen-tildeling af reservation til nyt eksemplar mislykkedes", + "Ricalcola Disponibilità": "Genberegn tilgængelighed", + "Ricarica Dewey (seed)": "Genindlæs Dewey (seed)", + "Ricarica Pagina": "Genindlæs side", + "Ricerca": "Søgning", + "Ricerca (titolo, reference code, descrizione)": "Søgning (titel, referencekode, beskrivelse)", + "Ricerca Libro": "Søg efter bog", + "Ricerca Utente": "Søg efter bruger", + "Ricerca cross-entity su archivi, authority records e autori di libreria riconciliati.": "Tvær-entitetssøgning på tværs af arkiver, autoritetsposter og afstemte biblioteksforfattere.", + "Ricerca in corso...": "Søger...", + "Ricerca rapida": "Hurtigsøgning", + "Ricerca su SBN…": "Søg på SBN…", + "Ricerca unificata": "Samlet søgning", + "Ricerche recenti": "Seneste søgninger", + "Riceverai un link di reset via email. Il link sarà valido per 2 ore.": "Du modtager et nulstillingslink via e-mail. Linket er gyldigt i 2 timer.", + "Riceverai un link di reset via email. Il link sarà valido per 24 ore.": "Du modtager et nulstillingslink via e-mail. Linket er gyldigt i 24 timer.", + "Riceverai una conferma via email appena la richiesta sarà approvata.": "Du modtager en bekræftelse via e-mail, så snart anmodningen er godkendt.", + "Ricevuta Prestito": "Lånekvittering", + "Ricevuta di Prestito": "Lånekvittering", + "Ricevuta di prestito bibliotecario": "Kvittering for bibliotekslån", + "Ricevuto": "Modtaget", + "Richiede App:": "Kræver app:", + "Richiede PHP:": "Kræver PHP:", + "Richiedi Prestito": "Anmod om lån", + "Richiedi approvazione admin dopo la conferma email": "Kræv admin-godkendelse efter e-mailbekræftelse", + "Richiedono attenzione immediata": "Kræver øjeblikkelig opmærksomhed", + "Richiesta Inviata!": "Anmodning sendt!", + "Richiesta Pendente": "Afventende anmodning", + "Richiesta Prestito": "Låneanmodning", + "Richiesta del %s": "Anmodning af %s", + "Richiesta di prestito dal %1$s al %2$s": "Låneanmodning fra %1$s til %2$s", + "Richiesta di prestito dal %s per 1 mese": "Låneanmodning fra %s i 1 måned", + "Richiesta di prestito inviata con successo": "Låneanmodning sendt med succes", + "Richiesta di prestito per \"%s\" da %s dal %s al %s": "Låneanmodning for \"%s\" af %s fra den %s til den %s", + "Richiesta di prestito per \\": "Låneanmodning for \\", + "Richiesta fallita:": "Anmodning mislykkedes:", + "Richiesta inviata con successo!": "Anmodning sendt med succes!", + "Richiesta inviata!": "Anmodning sendt!", + "Richiesta manuale": "Manuel anmodning", + "Richiesta prestito": "Låneanmodning", + "Richiesta rifiutata": "Anmodning afvist", + "Richiesta utente": "Brugeranmodning", + "Richieste Manuali": "Manuelle anmodninger", + "Richieste Pendenti": "Afventende anmodninger", + "Richieste di Prestito": "Låneanmodninger", + "Richieste di Prestito in Attesa": "Afventende låneanmodninger", + "Richieste in Attesa": "Afventende anmodninger", + "Richieste in Sospeso": "Afventende anmodninger", + "Richieste in sospeso": "Afventende anmodninger", + "Richieste pendenti": "Afventende anmodninger", + "Richiesto": "Påkrævet", + "Richiesto il": "Anmodet den", + "Richiesto il %s": "Anmodet den %s", + "Richiesto:": "Påkrævet:", + "Ricordami": "Husk mig", + "Ricordi la password?": "Kan du huske din adgangskode?", + "Riepilogo Installazione": "Installationsresumé", + "Riepilogo wishlist": "Resumé af ønskeliste", + "Riferimento normativo": "Lovmæssig reference", + "Riferimento normativo (mandato giuridico)": "Lovmæssig reference (juridisk mandat)", + "Rifiuta": "Afvis", + "Rifiuta Prestito?": "Afvis lån?", + "Rifiuta non essenziali": "Afvis ikke-essentielle", + "Rifiuta prestito": "Afvis lån", + "Rifiuta recensione": "Afvis anmeldelse", + "Rifiutata": "Afvist", + "Rifiutata il": "Afvist den", + "Rifiutato": "Afvist", + "Rifiuterai questa richiesta di prestito?": "Vil du afvise denne låneanmodning?", + "Riga %d (%s): %s": "Række %d (%s): %s", + "Riga %d: numero di colonne non corrispondente": "Række %d: antallet af kolonner matcher ikke", + "Rigenera Sitemap": "Gengenerer sitemap", + "Rigenera adesso": "Gengenerer nu", + "Rimosso": "Fjernet", + "Rimuove la collana da tutti i libri. I libri non verranno eliminati.": "Fjerner serien fra alle bøger. Bøgerne slettes ikke.", + "Rimuovere dalla wishlist?": "Vil du fjerne fra ønskelisten?", + "Rimuovere i libri associati prima di eliminare l'autore": "Fjern tilknyttede bøger, før forfatteren slettes", + "Rimuovere i libri dell'editore prima di eliminarlo": "Fjern forlagets bøger, før det slettes", + "Rimuovere il documento?": "Vil du fjerne dokumentet?", + "Rimuovere il token?": "Vil du fjerne tokent?", + "Rimuovere la copertina?": "Vil du fjerne omslaget?", + "Rimuovere questo collegamento?": "Vil du fjerne dette link?", + "Rimuovere questo file?": "Vil du fjerne denne fil?", + "Rimuovere questo libro dalla serie?": "Vil du fjerne denne bog fra serien?", + "Rimuovi": "Fjern", + "Rimuovi Token": "Fjern token", + "Rimuovi classificazione Dewey": "Fjern Dewey-klassifikation", + "Rimuovi copertina": "Fjern omslag", + "Rimuovi dai Preferiti": "Fjern fra foretrukne", + "Rimuovi dalla serie": "Fjern fra serie", + "Rimuovi dalla wishlist": "Fjern fra ønskeliste", + "Rimuovi documento": "Fjern dokument", + "Rimuovi editore": "Fjern forlag", + "Rimuovi filtro": "Fjern filter", + "Rimuovi immagine": "Fjern billede", + "Rimuovi immagine attuale": "Fjern nuværende billede", + "Rimuovi immagine di sfondo attuale": "Fjern nuværende baggrundsbillede", + "Rimuovi logo attuale": "Fjern nuværende logo", + "Rimuovi token GitHub": "Fjern GitHub-token", + "Rimuovi tutti i filtri": "Fjern alle filtre", + "Rimuovi volume?": "Fjern bind?", + "Rinnova": "Forny", + "Rinnova prestito (+14 giorni)": "Forny lån (+14 dage)", + "Rinnova prestito?": "Forny lån?", + "Rinnovare il prestito? La scadenza verrà estesa di 14 giorni.": "Vil du fornye lånet? Udløbsdatoen udvides med 14 dage.", + "Rinnovi": "Fornyelser", + "Rinnovi Effettuati:": "Gennemførte fornyelser:", + "Rinnovi effettuati": "Gennemførte fornyelser", + "Rinnovo prestito fallito": "Lånefornyelse mislykkedes", + "Rinomina": "Omdøb", + "Rinomina collana": "Omdøb serie", + "Riordina trascinando gli elementi": "Omorganiser ved at trække elementerne", + "Ripara automaticamente gli errori rilevati": "Reparer registrerede fejl automatisk", + "Ripeti la password": "Gentag adgangskode", + "Ripristina": "Gendan", + "Ripristina Default": "Gendan standard", + "Ripristinare i colori?": "Vil du gendanne farverne?", + "Ripristinare questo backup?": "Vil du gendanne denne backup?", + "Ripristinato": "Gendannet", + "Ripristino": "Gendannelse", + "Riprova": "Prøv igen", + "Riservato": "Reserveret", + "Risolvi i problemi indicati sopra e ricarica la pagina.": "Løs problemerne angivet ovenfor, og genindlæs siden.", + "Risorsa": "Ressource", + "Risorsa elettronica / nato-digitale (le)": "Elektronisk ressource / born-digital (le)", + "Risorse esterne": "Eksterne ressourcer", + "Rispettiamo il tuo diritto alla privacy. Puoi scegliere di non consentire alcuni tipi di cookie. Le tue preferenze si applicheranno all'intero sito web.": "Vi respekterer din ret til privatliv. Du kan vælge at fravælge visse typer af cookies. Dine præferencer vil gælde for hele webstedet.", + "Rispondi": "Svar", + "Risposta": "Svar", + "Risposta JSON": "JSON-svar", + "Risposta VIAF non valida.": "Ugyldigt VIAF-svar.", + "Risposta del server non valida": "Ugyldigt serversvar", + "Risposta non valida dal server (timeout o errore)": "Ugyldigt svar fra server (timeout eller fejl)", + "Risposta non valida dal servizio ISBN.": "Ugyldigt svar fra ISBN-tjenesten.", + "Risposta non valida. Controlla la console per dettagli.": "Ugyldigt svar. Tjek konsollen for detaljer.", + "Risultati": "Resultater", + "Risultati Ultimo Batch": "Resultater af seneste batch", + "Risultati per '%s' - Catalogo Biblioteca": "Resultater for '%s' – Bibliotekskatalog", + "Ritiri da Confermare": "Afhentninger der skal bekræftes", + "Ritiri scaduti elaborati": "Udløbne afhentninger behandlet", + "Ritiro annullato": "Afhentning annulleret", + "Ritiro annullato con successo": "Afhentning annulleret med succes", + "Ritiro confermato con successo": "Afhentning bekræftet med succes", + "Ritiro confermato!": "Afhentning bekræftet!", + "Ritiro confermato! Il prestito è ora in corso.": "Afhentning bekræftet! Lånet er nu aktivt.", + "Ritiro già confermato o modificato": "Afhentning allerede bekræftet eller ændret", + "Ritiro non effettuato": "Afhentning ikke gennemført", + "Ritiro non effettuato entro il termine previsto": "Afhentning ikke gennemført inden for den planlagte frist", + "Ritiro non effettuato entro la scadenza": "Afhentning ikke gennemført inden udløbsdatoen", + "Ritiro scaduto": "Afhentning udløbet", + "Ritiro scaduto il": "Afhentning udløbet den", + "Rossi": "Jensen", + "Route Comuni": "Almindelige ruter", + "Route Tradotte": "Oversatte ruter", + "Route aggiornate con successo": "Ruter opdateret med succes", + "Ruolo": "Rolle", + "Ruolo:": "Rolle:", + "SBN Italia - Integrato": "SBN Italien - Integreret", + "SDK": "SDK", + "SEO - Meta Description": "SEO - Metabeskrivelse", + "SEO Base": "Basis-SEO", + "SEO Base (Meta Tags)": "Basis-SEO (metatags)", + "SMTP (custom)": "SMTP (brugerdefineret)", + "SMTP Host": "SMTP-vært", + "SMTP Password": "SMTP-adgangskode", + "SMTP Personalizzato": "Brugerdefineret SMTP", + "SMTP Port": "SMTP-port", + "SMTP Username": "SMTP-brugernavn", + "SMTP personalizzato": "Brugerdefineret SMTP", + "SSL": "SSL", + "Saltato": "Springet over", + "Salva": "Gem", + "Salva API Key": "Gem API-nøgle", + "Salva Autore": "Gem forfatter", + "Salva Configurazione": "Gem konfiguration", + "Salva Contatti": "Gem kontakter", + "Salva Editore": "Gem forlag", + "Salva Identità": "Gem identitet", + "Salva Impostazioni": "Gem indstillinger", + "Salva Impostazioni Avanzate": "Gem avancerede indstillinger", + "Salva Libro": "Gem bog", + "Salva Lingua": "Gem sprog", + "Salva Modifiche": "Gem ændringer", + "Salva Privacy Policy": "Gem privatlivspolitik", + "Salva Route": "Gem ruter", + "Salva Template": "Gem skabelon", + "Salva Testi Cookie Banner": "Gem tekster til cookie-banner", + "Salva descrizione": "Gem beskrivelse", + "Salva filtri correnti": "Gem aktuelle filtre", + "Salva identità": "Gem identitet", + "Salva impostazioni condivisione": "Gem deleindstillinger", + "Salva impostazioni email": "Gem e-mailindstillinger", + "Salva impostazioni etichette": "Gem indstillinger for etiketter", + "Salva impostazioni eventi": "Gem indstillinger for arrangementer", + "Salva in UTF-8": "Gem i UTF-8", + "Salva la API key in un luogo sicuro. Non sarà possibile visualizzarla nuovamente dopo la creazione.": "Gem API-nøglen et sikkert sted. Den kan ikke vises igen efter oprettelsen.", + "Salva modifiche": "Gem ændringer", + "Salva modifiche Homepage": "Gem ændringer for startside", + "Salva su Pocket": "Gem på Pocket", + "Salva template": "Gem skabelon", + "Salva testi banner": "Gem bannertekster", + "Salva utente": "Gem bruger", + "Salvataggio in corso...": "Gemmer...", + "Salvataggio...": "Gemmer...", + "Salvato": "Gemt", + "Salvato con successo.": "Gemt med succes.", + "Sarà pubblicata dopo l'approvazione di un amministratore.": "Offentliggøres efter godkendelse af en administrator.", + "Sarà utilizzata per accedere al sistema": "Vil blive brugt til at logge ind på systemet", + "Sarà visualizzato nell'header e in tutto il sito": "Vises i headeren og på hele websitet", + "Scade": "Udløber", + "Scade tra %d giorni": "Udløber om %d dage", + "Scadenza": "Udløbsdato", + "Scadenza Mancante": "Manglende udløbsdato", + "Scadenza prenotazione": "Udløb af reservation", + "Scadenza ritiro": "Afhentningsfrist", + "Scadenza ritiro:": "Afhentningsfrist:", + "Scadenza tessera": "Kortudløb", + "Scadenza:": "Udløbsdato:", + "Scadenza: %s": "Udløb: %s", + "Scaduta": "Udløbet", + "Scaduta il": "Udløbet den", + "Scaduto": "Udløbet", + "Scaduto il:": "Udløbet den:", + "Scaduto:": "Udløbet:", + "Scaffale": "Reol", + "Scaffale *": "Reol *", + "Scaffale Narrativa": "Skønlitteraturreol", + "Scaffale creato": "Reol oprettet", + "Scaffale eliminato": "Reol slettet", + "Scaffale obbligatorio": "Reol påkrævet", + "Scaffali": "Reoler", + "Scaffali e mensole": "Reoler og hylder", + "Scarica": "Hent", + "Scarica Audiobook": "Hent lydbog", + "Scarica Errori": "Hent fejl", + "Scarica JSON": "Hent JSON", + "Scarica PDF": "Hent PDF", + "Scarica Ricevuta PDF": "Hent PDF-kvittering", + "Scarica Script SQL": "Hent SQL-script", + "Scarica automaticamente la ricevuta PDF dopo la creazione del prestito.": "Hent automatisk PDF-kvitteringen efter oprettelse af lånet.", + "Scarica copertine": "Hent omslag", + "Scarica documento": "Hent dokument", + "Scarica eBook": "Hent e-bog", + "Scarica esempio_import_libri.csv": "Hent beispiel_import_buecher.csv", + "Scarica esempio_librarything.tsv": "Hent beispiel_librarything.tsv", + "Scarica il CSV di esempio con 3 libri già compilati per capire il formato corretto e iniziare subito.": "Hent eksempel-CSV-filen med 3 udfyldte bøger for at forstå det korrekte format og komme i gang med det samme.", + "Scarica il file .tsv e caricalo qui sopra": "Hent .tsv-filen og upload den ovenfor", + "Scarica il file CSV di esempio": "Hent eksempel-CSV-fil", + "Scarica il pacchetto da GitHub": "Hent pakke fra GitHub", + "Scarica il report CSV per analizzare gli errori in dettaglio": "Hent CSV-rapporten for at analysere fejlene i detaljer", + "Scarica l'eBook in formato digitale": "Hent e-bogen i digitalt format", + "Scarica ricevuta PDF": "Hent PDF-kvittering", + "Scarica un file TSV di esempio con alcuni libri già compilati per capire il formato LibraryThing e iniziare subito.": "Hent en eksempel-TSV-fil med nogle udfyldte bøger for at forstå LibraryThing-formatet og komme i gang med det samme.", + "Scaricamento copertine...": "Henter omslag...", + "Scarso": "Dårlig", + "Scegli": "Vælg", + "Scegli Icona Font Awesome": "Vælg Font Awesome-ikon", + "Scegli come inviare le email dal sistema. Puoi usare la funzione PHP mail(), PHPMailer o un server SMTP esterno.": "Vælg, hvordan e-mails skal sendes fra systemet. Du kan bruge PHP-funktionen mail(), PHPMailer eller en ekstern SMTP-server.", + "Scegli come inviare le email dal sistema. Puoi usare la funzione PHP Tab-delimited text come formato": "Vælg Tab-delimited text som format", + "Seleziona Libro": "Vælg bog", + "Seleziona Template": "Vælg skabelon", + "Seleziona Utente": "Vælg bruger", + "Seleziona almeno 2 autori": "Vælg mindst 2 forfattere", + "Seleziona almeno 2 autori da unire": "Vælg mindst 2 forfattere, der skal flettes", + "Seleziona almeno 2 editori": "Vælg mindst 2 forlag", + "Seleziona almeno 2 editori da unire": "Vælg mindst 2 forlag, der skal flettes", + "Seleziona almeno uno stato": "Vælg mindst én status", + "Seleziona classe...": "Vælg klasse...", + "Seleziona data": "Vælg dato", + "Seleziona divisione...": "Vælg afdeling...", + "Seleziona file": "Vælg fil", + "Seleziona genere...": "Vælg genre...", + "Seleziona gli stati dei prestiti da esportare:": "Vælg de lånetatuser, der skal eksporteres:", + "Seleziona i pulsanti di condivisione da mostrare nella pagina del libro.": "Vælg de deleknapper, der skal vises på bogomslaget.", + "Seleziona il formato delle etichette da stampare per i libri.": "Vælg formatet på de etiketter, der skal udskrives til bøgerne.", + "Seleziona la valutazione": "Vælg bedømmelse", + "Seleziona le date per la tua prenotazione. La richiesta verrà inviata alla biblioteca per approvazione.": "Vælg datoer for din reservation. Anmodningen sendes til biblioteket til godkendelse.", + "Seleziona mensola...": "Vælg hylde...", + "Seleziona ora": "Vælg tid", + "Seleziona prima un genere": "Vælg en genre først", + "Seleziona prima un genere...": "Vælg en genre først...", + "Seleziona prima una radice...": "Vælg en rod først...", + "Seleziona prima uno scaffale...": "Vælg en reol først...", + "Seleziona quali campi LibraryThing mostrare nella pagina pubblica del libro": "Vælg hvilke LibraryThing-felter der skal vises på bogens offentlige side", + "Seleziona radice...": "Vælg rod...", + "Seleziona scaffale e mensola prima": "Vælg reol og hylde først", + "Seleziona scaffale...": "Vælg reol...", + "Seleziona sezione...": "Vælg afsnit...", + "Seleziona tutti": "Vælg alle", + "Seleziona un Genere prima del Sottogenere.": "Vælg en genre før undergenren.", + "Seleziona un authority record": "Vælg en autoritetspost", + "Seleziona un autore di libreria": "Vælg en biblioteksforfatter", + "Seleziona un file ZIP da caricare": "Vælg en ZIP-fil, der skal uploades", + "Seleziona un file ZIP del plugin.": "Vælg en plugin-ZIP-fil.", + "Seleziona un genere di destinazione.": "Vælg en målgenre.", + "Seleziona un libro": "Vælg en bog", + "Seleziona un libro dalla lista...": "Vælg en bog fra listen...", + "Seleziona un libro per vedere la disponibilità": "Vælg en bog for at se tilgængelighed", + "Seleziona un livello": "Vælg et niveau", + "Seleziona un tipo": "Vælg en type", + "Seleziona un utente dalla lista...": "Vælg en bruger fra listen...", + "Seleziona un'opzione": "Vælg en indstilling", + "Seleziona una Radice prima del Genere.": "Vælg en rod før genren.", + "Seleziona una data di inizio": "Vælg en startdato", + "Seleziona una modalità": "Vælg en tilstand", + "Seleziona una valutazione prima di inviare la recensione.": "Vælg venligst en bedømmelse, før du indsender anmeldelsen.", + "Seleziona uno scaffale dal filtro sopra per gestire le sue mensole": "Vælg en reol fra filteret ovenfor for at administrere dens hylder", + "Seleziona uno scaffale per vedere le sue mensole...": "Vælg en reol for at se dens hylder...", + "Seleziona uno scaffale per visualizzare e riordinare le sue mensole": "Vælg en reol for at få vist og ændre rækkefølgen på dens hylder", + "Seleziona...": "Vælg...", + "Selezionato": "Valgt", + "Selezione non valida": "Ugyldigt valg", + "Sempre Online": "Altid online", + "Senza copertina": "Uden omslag", + "Senza descrizione": "Uden beskrivelse", + "Senza titolo": "Uden titel", + "Senza token: 25 richieste/minuto. Con token: 60 richieste/minuto.": "Uden token: 25 forespørgsler/minut. Med token: 60 forespørgsler/minut.", + "Separale con virgole": "Adskil dem med kommaer", + "Serie": "Serie", + "Serie (raggruppamento per funzione/forma)": "Serie (gruppering efter funktion/form)", + "Serie e collana": "Serie og samling", + "Serie e collane di libri": "Serier og bogsamlinger", + "Serie padre": "Overordnet serie", + "Serie padre / universo": "Overordnet serie / univers", + "Serie principale": "Hovedserie", + "Serie superiore nella gerarchia (es. l'universo che contiene cicli e stagioni).": "Overordnet serie i hierarkiet (f.eks. universet, der indeholder cyklusser og sæsoner).", + "Server Esterni SRU": "Eksterne SRU-servere", + "Server SMTP": "SMTP-server", + "Server SRU aggiuntivi per Copy Cataloging. SBN Italia è già integrato (vedi sopra).": "Yderligere SRU-servere til copy cataloging. SBN Italien er allerede integreret (se ovenfor).", + "Server in manutenzione. Attendi il completamento dell'aggiornamento.": "Server under vedligeholdelse. Vent venligst på, at opdateringen fuldføres.", + "Servizio": "Tjeneste", + "Servizio VIAF non raggiungibile. Riprova più tardi.": "VIAF-tjenesten kan ikke nås. Prøv igen senere.", + "Sessione Scaduta": "Session udløbet", + "Sessione corrente": "Aktuel session", + "Sessione import non valida": "Ugyldig importsession", + "Sessione import scaduta o dati non validi": "Importsession udløbet eller ugyldige data", + "Sessione revocata": "Session tilbagekaldt", + "Sessione scaduta, ti preghiamo di rifare il login": "Sessionen er udløbet, log venligst ind igen", + "Sessioni attive": "Aktive sessioner", + "Sesso": "Køn", + "Settimana": "Uge", + "Sezione": "Afsnit", + "Sezione Caratteristiche": "Afsnit med funktioner", + "Sezione Carosello Generi": "Afsnit med genrekarrusel", + "Sezione Eventi abilitata! Il menu e le pagine sono ora visibili nel frontend.": "Arrangementsafsnit aktiveret! Menuen og siderne er nu synlige i frontend.", + "Sezione Eventi disabilitata. Il menu e le pagine sono ora nascosti nel frontend.": "Arrangementsafsnit deaktiveret. Menuen og siderne er nu skjult i frontend.", + "Sezione Hero (Testata principale)": "Hero-afsnit (hovedhoved)", + "Sezione Testo Libero": "Afsnit med fri tekst", + "Sezione Ultimi Libri": "Afsnit med seneste bøger", + "Sezione prestiti nel profilo utente": "Låneafsnit i brugerprofil", + "Sezione wishlist nel profilo utente": "Ønskelisteafsnit i brugerprofil", + "Sezioni": "Afsnit", + "Sfoglia Catalogo": "Gennemse katalog", + "Sfoglia e cerca la collezione completa": "Gennemse og søg i hele samlingen", + "Sfoglia il nostro catalogo completo di libri disponibili per il prestito. Filtra per categoria, autore, editore e anno di pubblicazione per trovare la tua prossima lettura.": "Gennemse vores komplette katalog af bøger, der er til rådighed for lån. Filtrer efter kategori, forfatter, forlag og udgivelsesår for at finde din næste læsning.", + "Si caricano sempre, indipendentemente dal consenso cookie": "Indlæses altid, uafhængigt af cookie-samtykke", + "Si caricano solo se l'utente accetta i cookie Analytics nel banner": "Indlæses kun, hvis brugeren accepterer analysecookies i banneret", + "Si caricano solo se l'utente accetta i cookie Marketing nel banner": "Indlæses kun, hvis brugeren accepterer marketingcookies i banneret", + "Si consiglia di effettuare un backup del database prima dell'installazione.": "Det anbefales at tage en backup af databasen før installationen.", + "Si è verificato un errore di rete.": "Der opstod en netværksfejl.", + "Si è verificato un errore durante il salvataggio della prenotazione.": "Der opstod en fejl under lagring af reservationen.", + "Si è verificato un errore durante il salvataggio.": "Der opstod en fejl under lagring.", + "Si è verificato un errore durante l'accesso. Riprova": "Der opstod en fejl under login. Prøv igen", + "Si è verificato un errore durante l'aggiornamento del prestito.": "Der opstod en fejl under opdatering af lånet.", + "Si è verificato un errore durante l'operazione. Riprova più tardi.": "Der opstod en fejl under handlingen. Prøv igen senere.", + "Si è verificato un errore durante la sincronizzazione": "Der opstod en fejl under synkronisering", + "Si è verificato un errore imprevisto sul server.": "Der opstod en uventet fejl på serveren.", + "Si è verificato un errore imprevisto.": "Der opstod en uventet fejl.", + "Si è verificato un errore nella rimozione. Riprova.": "Der opstod en fejl under fjernelse. Prøv igen.", + "Si è verificato un errore.": "Der opstod en fejl.", + "Si è verificato un errore. Riprova": "Der opstod en fejl. Prøv igen", + "Si è verificato un errore. Riprova.": "Der opstod en fejl. Prøv igen.", + "Si è verificato un errore: %s": "Der opstod en fejl: %s", + "Sicurezza": "Sikkerhed", + "Sicurezza Automatica": "Automatisk sikkerhed", + "Sicurezza Connessione": "Forbindelsessikkerhed", + "Sincronizza (ICS)": "Synkroniser (ICS)", + "Sincronizza Copertine": "Synkroniser omslag", + "Sincronizza copertine mancanti via scraping": "Synkroniser manglende omslag via scraping", + "Sincronizzare le copertine?": "Vil du synkronisere omslag?", + "Sincronizzazione completata!": "Synkronisering fuldført!", + "Sincronizzazione...": "Synkroniserer...", + "Sintassi": "Syntaks", + "Sistema": "System", + "Sistema Pinakes": "Pinakes-system", + "Sistema Pinakes - Installazione": "Pinakes-system – Installation", + "Sistema attivo": "System aktivt", + "Site Key": "Nøgle til websted", + "Sitemap XML": "XML-sitemap", + "Sitemap rigenerata con successo (%d URL).": "Sitemap gendannet med succes (%d URL'er).", + "Sito": "Websted", + "Sito Web": "Websted", + "Sito web": "Websted", + "Sito web ufficiale dell'autore (se disponibile)": "Forfatterens officielle websted (hvis tilgængeligt)", + "Sito web ufficiale dell'editore": "Forlagets officielle websted", + "Slovenčina (SK)": "Slovakisk (SK)", + "Slug plugin bundled non valido: %s": "Ugyldigt slug for bundlet plugin: %s", + "Socket MySQL (opzionale)": "MySQL-socket (valgfrit)", + "Soggetti (Nuovo Soggettario BNCF)": "Emneord (Nuovo Soggettario BNCF)", + "Soggetti produttori e associati": "Ophavsmænd og tilhørende enheder", + "Soggetto": "Emne", + "Soggetto Email": "E-mail-emne", + "Solo ${maxItemCount} autori possono essere aggiunti": "Kun ${maxItemCount} forfattere kan tilføjes", + "Solo %d autori possono essere aggiunti": "Kun %d forfattere kan tilføjes", + "Solo Catalogo": "Kun katalog", + "Solo file ZIP sono accettati.": "Kun ZIP-filer accepteres.", + "Solo sospesi": "Kun spærrede", + "Sono accettati anche domini personalizzati; se incolli un URL completo verrà salvato solo l'host.": "Brugerdefinerede domener accepteres også; hvis du indsætter en fuld URL, gemmes kun værten.", + "Sono stati rilevati problemi di integrità": "Der blev fundet integritetsproblemer", + "Sospeso": "Spærret", + "Sostituisci - Sovrascrivi tutto": "Erstat – Overskriv alt", + "Sostituisci /usr/bin/php con il percorso corretto di PHP sul tuo server": "Erstat /usr/bin/php med den korrekte PHP-sti på din server", + "Sottocategoria": "Underkategori", + "Sottodomini devono supportare HTTPS (se usati)": "Subdomæner skal understøtte HTTPS (hvis de bruges)", + "Sottogenere": "Undergenre", + "Sottogenere di": "Undergenre af", + "Sottogenere specifico (opzionale)": "Specifik undergenre (valgfrit)", + "Sottogeneri": "Undergenrer", + "Sottotitolo": "Undertitel", + "Sottotitolo CTA": "CTA-undertitel", + "Sottotitolo del libro (opzionale)": "Bogundertitel (valgfrit)", + "Sottotitolo sezione": "Afsnitsundertitel", + "Source & Acquisition Info": "Kilde- og erhvervelsesoplysninger", + "Spanish, French, German": "Spansk, fransk, tysk", + "Spazio libero": "Ledig plads", + "Spin-off": "Spin-off", + "Spin-off / sottoserie": "Spin-off / underserie", + "Sposta tutti i libri e sottogeneri di questo genere nel genere selezionato, poi elimina questo genere.": "Flyt alle bøger og undergenrer fra denne genre til den valgte genre, og slet derefter denne genre.", + "Staff": "Personale", + "Staff:": "Personale:", + "Stagione": "Sæson", + "Stai per aggiornare Pinakes alla versione": "Du er ved at opdatere Pinakes til version", + "Stai per eliminare": "Du er ved at slette", + "Stai per eliminare %d editori. Questa azione non può essere annullata.": "Du er ved at slette %d forlag. Denne handling kan ikke annulleres.", + "Stai per eliminare %d libri. Questa azione non può essere annullata.": "Du er ved at slette %d bøger. Denne handling kan ikke annulleres.", + "Stai per unire": "Du er ved at flette", + "Stai utilizzando l'ultima versione disponibile.": "Du bruger den seneste tilgængelige version.", + "Stai utilizzando l'ultima versione.": "Du bruger den seneste version.", + "Stampa": "Udskriv", + "Stampa etichetta": "Udskriv etiket", + "Standard": "Standard", + "Standard Tirrenia catalogazione": "Standard Tirrenia-katalogisering", + "Standard dorso libri (più comune)": "Standard bogryg (almindeligst)", + "Statistiche": "Statistik", + "Statistiche Prestiti": "Lånestatistik", + "Statistiche Rapide": "Hurtig statistik", + "Statistiche aggiornate per": "Statistik opdateret for", + "Statistiche:": "Statistik:", + "Stato": "Status", + "Stato API": "API-status", + "Stato API key aggiornato con successo.": "API-nøglestatus opdateret med succes.", + "Stato Copia Stale": "Udløbet eksemplarstatus", + "Stato Incongruente": "Statusafvigelse", + "Stato Plugin": "Plugin-status", + "Stato Prestito": "Lånestatus", + "Stato aggiornato per %d libri": "Status opdateret for %d bøger", + "Stato attuale:": "Aktuel status:", + "Stato dell'installazione:": "Installationsstatus:", + "Stato della copia": "Eksemplarstatus", + "Stato della copia aggiornato con successo.": "Eksemplarstatus opdateret med succes.", + "Stato e Gestione": "Status og administration", + "Stato non valido": "Ugyldig status", + "Stato non valido.": "Ugyldig status.", + "Stato prestito": "Lånestatus", + "Stato prestito corrente": "Aktuel lånestatus", + "Stato prestito non valido.": "Ugyldig lånestatus.", + "Stato sconosciuto": "Ukendt status", + "Stato:": "Status:", + "Status attuale di questa copia del libro": "Aktuel status for dette bogeneksemplar", + "Status giuridico": "Juridisk status", + "Step 1: Creazione backup": "Trin 1: Opret backup", + "Step 2: Download aggiornamento": "Trin 2: Hent opdatering", + "Step 3: Installazione aggiornamento": "Trin 3: Installer opdatering", + "Storia": "Historie", + "Storia archivistica": "Arkivhistorie", + "Storico Import": "Importeringshistorik", + "Storico Prestiti": "Lånehistorik", + "Struttura interna / genealogia": "Intern struktur / genealogi", + "Struttura pacchetto non valida": "Ugyldig pakkestruktur", + "Struttura pacchetto non valida: directory sorgente non trovata": "Ugyldig pakkestruktur: kildemappe ikke fundet", + "Successiva": "Næste", + "Successivo": "Næste", + "Successo": "Succes", + "Successo!": "Succes!", + "Suggerimenti": "Tips", + "Suggerimento": "Tip", + "Suggerimento:": "Tip:", + "Suggerimento: la ricerca usa MATCH…AGAINST (full-text MySQL). Parole di 3 caratteri o meno possono essere ignorate dal min-word-length di MySQL.": "Tip: Søgningen bruger MATCH…AGAINST (MySQL fuldtekst). Ord på 3 tegn eller derunder kan blive ignoreret af MySQL's min-word-length.", + "Suggerisci collocazione": "Foreslå placering", + "Suggerito scaffale #${data.scaffale_id}": "Foreslået reol #${data.scaffale_id}", + "Suggerito:": "Foreslået:", + "Summary (Immagine Piccola)": "Summary (lille billede)", + "Summary Large Image (Immagine Grande)": "Summary Large Image (stort billede)", + "Supporto": "Support", + "Supporto completo LibraryThing": "Fuld LibraryThing-understøttelse", + "Sì": "Ja", + "Sì, Aggiorna": "Ja, opdater", + "Sì, Annulla": "Ja, annuller", + "Sì, Salva": "Ja, gem", + "Sì, aggiorna": "Ja, opdater", + "Sì, applica": "Ja, anvend", + "Sì, approva": "Ja, godkend", + "Sì, attiva": "Ja, aktivér", + "Sì, correggi": "Ja, ret", + "Sì, crea indici": "Ja, opret indeks", + "Sì, crea tabelle": "Ja, opret tabeller", + "Sì, disattiva": "Ja, deaktivér", + "Sì, disinstalla": "Ja, afinstaller", + "Sì, elimina": "Ja, slet", + "Sì, elimina!": "Ja, slet!", + "Sì, esegui": "Ja, kør", + "Sì, rimuovi": "Ja, fjern", + "Sì, sincronizza": "Ja, synkroniser", + "TLS": "TLS", + "TUTTI I DATI IN QUESTI CAMPI VERRANNO ELIMINATI PERMANENTEMENTE!": "ALLE DATA I DISSE FELTER SLETTES PERMANENT!", + "Tab-delimited text da LibraryThing.com": "Tabulatorsepareret tekst fra LibraryThing.com", + "Tabella": "Tabel", + "Tabella %s creata": "Tabel %s oprettet", + "Tabelle create:": "Oprettede tabeller:", + "Tabelle di Sistema": "Systemtabeller", + "Tabelle richieste per l'aggiornamento": "Tabeller krævet til opdatering", + "Tag": "Tag", + "Tag e parole chiave": "Tags og nøgleord", + "Tags, Descrizione": "Tags, beskrivelse", + "Tassonomia: serie / universo / ciclo / stagione / spin-off / arco / collana editoriale.": "Taksonomi: serie / univers / cyklus / sæson / spin-off / bue / forlagsserie.", + "Telefono": "Telefon", + "Telefono *": "Telefon *", + "Telefono Referente": "Kontaktpersonens telefon", + "Telefono:": "Telefon:", + "Tema": "Tema", + "Tema Attivo": "Aktivt tema", + "Tema attivato con successo": "Tema aktiveret med succes", + "Tema non trovato": "Tema ikke fundet", + "Tema salvato con successo": "Tema gemt med succes", + "Temi": "Temaer", + "Temi Disponibili": "Tilgængelige temaer", + "Template": "Skabeloner", + "Template Email": "E-mail-skabeloner", + "Template aggiornato con successo!": "Skabelon opdateret med succes!", + "Template email": "E-mail-skabeloner", + "Termini": "Betingelser", + "Termini di Servizio": "Servicevilkår", + "Tessera biblioteca": "Bibliotekskort", + "Test": "Test", + "Test Connessione": "Forbindelsestest", + "Test Endpoint": "Test endpoint", + "Test del cron job:": "Cron-job-test:", + "Testi Banner": "Bannertekster", + "Testi Banner Cookie": "Cookie-banner-tekster", + "Testi Banner Iniziale": "Tekster til indledende banner", + "Testi Cookie Banner": "Cookie-banner-tekster", + "Testi Modale Preferenze": "Tekster til præferencedialog", + "Testi categorie cookie": "Tekster til cookiekategorier", + "Testo / manoscritto (bf)": "Tekst / manuskript (bf)", + "Testo Bottone": "Knaptekst", + "Testo Privacy": "Privatlivstekst", + "Testo che apparirà nel footer del sito": "Tekst, der vises i websitets fodnote", + "Testo checkbox": "Afkrydsningsfeltets tekst", + "Testo della checkbox privacy nel form": "Tekst til privatlivsafkrydsningsfelt i formular", + "Testo introduttivo": "Introduktionstekst", + "Testo principale mostrato nel banner. Puoi usare HTML.": "Hovedtekst vist i banneret. Du kan bruge HTML.", + "Testo pulsante": "Knaptekst", + "Testo pulsante \"Accetta tutti\"": "Knaptekst \"Accepter alle\"", + "Testo pulsante \"Preferenze\"": "Knaptekst \"Præferencer\"", + "Testo pulsante \"Rifiuta non essenziali\"": "Knaptekst \"Afvis ikke-væsentlige\"", + "Testo pulsante \"Salva selezionati\"": "Knaptekst \"Gem valgte\"", + "Ti abbiamo inviato un'email con il link per confermare l'indirizzo.": "Vi har sendt dig en e-mail med et link til at bekræfte adressen.", + "Timeout (secondi)": "Timeout (sekunder)", + "Timestamp": "Tidsstempel", + "Tipo": "Type", + "Tipo (ISDF)": "Type (ISDF)", + "Tipo Acquisizione": "Erhvervelsestype", + "Tipo Card": "Korttype", + "Tipo Contenuto": "Indholdstype", + "Tipo MIME non valido. Solo file CSV sono accettati.": "Ugyldig MIME-type. Kun CSV-filer accepteres.", + "Tipo Media": "Medietype", + "Tipo Messaggio": "Beskedtype", + "Tipo OG": "OG-type", + "Tipo Twitter Card": "Twitter Card-type", + "Tipo Utente": "Brugertype", + "Tipo acquisizione": "Erhvervelsestype", + "Tipo di contenuto per Open Graph. Scegli 'Website' per la homepage.": "Indholdstype for Open Graph. Vælg 'Website' til forsiden.", + "Tipo di entità": "Enhedstype", + "Tipo di file non consentito. Sono ammessi solo: %s": "Filtype ikke tilladt. Kun tilladt: %s", + "Tipo di file non supportato. Solo JPEG e PNG sono consentiti.": "Ikke-understøttet filtype. Kun JPEG og PNG er tilladt.", + "Tipo di file non valido.": "Ugyldig filtype.", + "Tipo di file non valido. Carica un'immagine reale.": "Ugyldig filtype. Upload venligst et rigtigt billede.", + "Tipo di issue non valido": "Ugyldig fejltype", + "Tipo di luogo": "Stedtype", + "Tipo di materiale": "Materialetype", + "Tipo entità": "Enhedstype", + "Tipo file": "Filtype", + "Tipo non valido": "Ugyldig type.", + "Tipo serie": "Serietype", + "Tipo utente": "Brugertype", + "Tipologia account": "Kontotype", + "Tipologia:": "Type:", + "Titolo": "Titel", + "Titolo (opzionale)": "Titel (valgfrit)", + "Titolo 1": "Overskrift 1", + "Titolo 2": "Overskrift 2", + "Titolo 3": "Overskrift 3", + "Titolo A-Z": "Titel A–Z", + "Titolo CTA": "CTA-titel", + "Titolo Evento": "Arrangementstitel", + "Titolo Modale": "Dialogtitel", + "Titolo OG": "OG-titel", + "Titolo Open Graph": "Open Graph-titel", + "Titolo Pagina": "Sideritel", + "Titolo SEO": "SEO-titel", + "Titolo Twitter": "Twitter-titel", + "Titolo Z-A": "Titel Z–A", + "Titolo attribuito": "Tildelt titel", + "Titolo del libro": "Bogtitel", + "Titolo dell'opera completa": "Titel på det samlede værk", + "Titolo della sezione e le 4 card con le caratteristiche": "Afsnitstitel og de 4 funktionstegn", + "Titolo e descrizione mostrati sopra i caroselli dei generi": "Titel og beskrivelse vist over genrekarrusellerne", + "Titolo formale": "Formel titel", + "Titolo formale:": "Formel titel:", + "Titolo libro": "Bogtitel", + "Titolo mancante": "Manglende titel", + "Titolo modale": "Modaltitel", + "Titolo mostrato quando condividi su Facebook/LinkedIn. Se vuoto, usa il titolo SEO o hero.": "Titel vist, når du deler på Facebook/LinkedIn. Hvis tom, bruges SEO- eller hero-titlen.", + "Titolo non disponibile": "Titel ikke tilgængelig", + "Titolo o ISBN...": "Titel eller ISBN...", + "Titolo obbligatorio mancante": "Obligatorisk felt titel mangler", + "Titolo originale": "Originaltitel", + "Titolo pagina": "Sidetitel", + "Titolo per Twitter/X. Se vuoto, usa il titolo Open Graph.": "Titel til Twitter/X. Hvis tom, bruges Open Graph-titlen.", + "Titolo principale (H1)": "Hovedtitel (H1)", + "Titolo principale del libro": "Bogens hovedtitel", + "Titolo sezione": "Afsnitstitel", + "Titolo troppo lungo (max 255 caratteri)": "Titel for lang (maks. 255 tegn)", + "Titolo uniforme": "Ensartet titel", + "Titolo, Sottotitolo": "Titel, undertitel", + "Titolo, nome, descrizione… (minimo 2 caratteri)": "Titel, navn, beskrivelse… (mindst 2 tegn)", + "Titolo, reference code, descrizione…": "Titel, referencecode, beskrivelse…", + "Titolo, sottotitolo, descrizione...": "Titel, undertitel, beskrivelse...", + "Titolo...": "Titel...", + "Titolo:": "Titel:", + "Toggle menu": "Skift menu", + "Toggle search": "Skift søgning", + "Token CSRF non valido": "Ugyldig CSRF-token.", + "Token CSRF non valido.": "Ugyldig CSRF-token.", + "Token CSRF non valido. Riprova.": "Ugyldig CSRF-token. Prøv igen.", + "Token Discogs rimosso correttamente.": "Discogs-token fjernet korrekt.", + "Token GitHub API": "GitHub API-token", + "Token GitHub non valido": "Ugyldig GitHub-token", + "Token GitHub non valido: contiene caratteri di controllo": "Ugyldig GitHub-token: indeholder kontroltegn", + "Token GitHub rimosso": "GitHub-token fjernet", + "Token GitHub salvato con successo": "GitHub-token gemt med succes", + "Token configurato": "Token konfigureret", + "Token configurato — lascia vuoto per mantenere": "Token konfigureret — lad stå tom for at beholde", + "Token di Accesso": "Adgangstoken", + "Token di sicurezza non valido. Riprova.": "Ugyldig sikkerhedstoken. Prøv igen.", + "Token opzionale:": "Valgfri token:", + "Too many requests": "For mange forespørgsler", + "Top 10 Lettori Più Attivi": "Top 10 mest aktive læsere", + "Top 10 Libri Più Prestati": "Top 10 mest udlånte bøger", + "Torna Indietro": "Tilbage", + "Torna agli Eventi": "Tilbage til arrangementer", + "Torna agli eventi": "Tilbage til arrangementer", + "Torna ai Libri": "Tilbage til bøger", + "Torna ai Plugin": "Tilbage til plugins", + "Torna ai Prestiti": "Tilbage til lån", + "Torna ai temi": "Tilbage til temaer", + "Torna al login": "Tilbage til login", + "Torna all'Applicazione": "Tilbage til applikationen", + "Torna all'elenco": "Tilbage til listen", + "Torna alla Configurazione Database": "Tilbage til databasekonfiguration", + "Torna alla Home": "Tilbage til startside", + "Torna alla categoria superiore": "Tilbage til overordnede kategori", + "Torna alla dashboard": "Tilbage til kontrolpanel", + "Torna alla lista": "Tilbage til listen", + "Torna alla panoramica eventi": "Tilbage til arrangementsoversigt", + "Torna alle Impostazioni": "Tilbage til indstillinger", + "Torna alle Impostazioni CMS": "Tilbage til CMS-indstillinger", + "Torna alle Lingue": "Tilbage til sprog", + "Torna alle Prenotazioni": "Tilbage til reservationer", + "Torna su": "Til toppen", + "Total users:": "Brugere i alt:", + "Totale": "I alt", + "Totale Autori": "Forfattere i alt", + "Totale Generi": "Genrer i alt", + "Totale Libri": "Bøger i alt", + "Totale Prestiti": "Lån i alt", + "Totale autori": "Forfattere i alt", + "Totale editori:": "Forlag i alt:", + "Totale libri": "Bøger i alt", + "Totale libri presenti": "Bøger i bestand i alt", + "Totale utenti:": "Brugere i alt:", + "Totale: %s righe": "I alt: %s rækker", + "Totali": "I alt", + "Tra %d giorni": "Om %d dage", + "Tracce": "Numre", + "Tracciamento Prestiti": "Lånesporing", + "Tracklist": "Sporliste", + "Traduttore": "Oversætter", + "Traduzioni e localizzazione": "Oversættelse og lokalisering", + "Transazione": "Transaktion", + "Trascina il file nell'area di upload o clicca per selezionarlo": "Træk filen til uploadområdet eller klik for at vælge den", + "Trascina le sezioni per riordinarle. L'ordine sarà salvato automaticamente e rispecchiato nella homepage.": "Træk afsnittene for at ændre rækkefølgen. Rækkefølgen gemmes automatisk og afspejles på forsiden.", + "Trascina per riordinare • Il codice deve essere univoco": "Træk for at ændre rækkefølge • Koden skal være unik", + "Trascina per riordinare • Ogni scaffale + livello deve essere univoco": "Træk for at ændre rækkefølge • Hver reol- og hyldekombination skal være unik", + "Trascina qui il file CSV o %{browse}": "Træk CSV-filen hertil eller %{browse}", + "Trascina qui il file TSV o %{browse}": "Træk TSV-filen hertil eller %{browse}", + "Trascina qui il file ZIP del plugin o %{browse}": "Træk plugin-ZIP-filen hertil eller %{browse}", + "Trascina qui il logo o %{browse}": "Træk logoet hertil eller %{browse}", + "Trascina qui l'immagine di sfondo o %{browse}": "Træk baggrundsbilledet hertil eller %{browse}", + "Trascina qui l'immagine o %{browse}": "Træk billedet hertil eller %{browse}", + "Trascina qui l'immagine, %{browse} o importa da": "Træk billedet hertil, %{browse} eller importer fra", + "Trascina qui la copertina del libro o %{browse}": "Træk bogomslaget hertil eller %{browse}", + "Trascina qui la copertina del libro o clicca per selezionare": "Træk bogomslaget hertil eller klik for at vælge", + "Trasforma Pinakes in un catalogo di sola consultazione": "Omdan Pinakes til et rent opslagskatalog", + "Trigger database configurati": "Databasetriggere konfigureret", + "Trigger database: azione manuale richiesta": "Databasetrigger: manuel handling påkrævet", + "Trigger importati OK": "Triggere importeret OK", + "Troppi errori durante l'import dei dati (%d errori). Primi errori:\n%s": "For mange fejl under dataimport (%d fejl). Første fejl:\n%s", + "Troppi errori durante l'import dello schema (%d errori). Primi errori:\n%s": "For mange fejl under skemaimport (%d fejl). Første fejl:\n%s", + "Troppi tentativi. Attendi qualche minuto prima di riprovare": "For mange forsøg. Vent et par minutter, før du prøver igen", + "Trovate tabelle da backuppare": "Tabeller, der skal sikkerhedskopieres, fundet", + "Trovato": "Fundet", + "Trovato anche nell'archivio:": "Også fundet i arkivet:", + "Tutorial": "Vejledning", + "Tutte le copie di questo libro hanno già un prestito attivo o prenotato. Attendi che una copia venga restituita.": "Alle eksemplarer af denne bog har allerede et aktivt lån eller er reserveret. Vent venligst på, at et eksemplar returneres.", + "Tutte le copie in prestito": "Alle eksemplarer udlånt", + "Tutte le copie prenotate": "Alle eksemplarer reserveret", + "Tutte le date sono in formato ISO 8601 (YYYY-MM-DD HH:MM:SS)": "Alle datoer er i ISO 8601-format (YYYY-MM-DD HH:MM:SS)", + "Tutte le mensole": "Alle hylder", + "Tutte le notifiche del sistema": "Alle systemmeddelelser", + "Tutte le richieste sono state gestite.": "Alle anmodninger er blevet behandlet.", + "Tutte le risorse del sito devono essere HTTPS": "Alle webstedsressourcer skal være HTTPS", + "Tutte le route devono iniziare con": "Alle ruter skal starte med", + "Tutte le serie": "Alle serier", + "Tutte le tabelle di sistema sono presenti!": "Alle systemtabeller er til stede!", + "Tutti": "Alle", + "Tutti gli anni": "Alle år", + "Tutti gli autori": "Alle forfattere", + "Tutti gli editori": "Alle forlag", + "Tutti gli eventi": "Alle arrangementer", + "Tutti gli indici di performance sono presenti.": "Alle præstationsindekser er til stede.", + "Tutti gli scaffali": "Alle reoler", + "Tutti gli stati": "Alle statusser", + "Tutti i controlli di integrità sono passati con successo!": "Alle integritetskontroller bestod med succes!", + "Tutti i diritti riservati.": "Alle rettigheder forbeholdes.", + "Tutti i filtri sono stati rimossi": "Alle filtre er blevet fjernet", + "Tutti i generi": "Alle genrer", + "Tutti i libri": "Alle bøger", + "Tutti i livelli": "Alle niveauer", + "Tutti i media": "Alle medier", + "Tutti i messaggi ricevuti tramite il form contatti": "Alle beskeder modtaget via kontaktformular", + "Tutti i requisiti sono soddisfatti! Puoi procedere con l'installazione.": "Alle krav er opfyldt! Du kan fortsætte med installationen.", + "Tutti i ruoli": "Alle roller", + "Tutti soddisfatti": "Alle opfyldt", + "Tutto": "Alt", + "Tutto aggiornato!": "Alt er opdateret!", + "Tutto sotto controllo!": "Alt er under kontrol!", + "Twitter": "Twitter", + "Twitter Card": "Twitter Card", + "Twitter Cards (X)": "Twitter Cards (X)", + "URI standard (RightsStatements.org o Creative Commons) incluso nel manifest IIIF come campo 'rights'.": "Standard-URI (RightsStatements.org eller Creative Commons) inkluderet i IIIF-manifestet som feltet 'rights'.", + "URL": "URL", + "URL Canonico": "Kanonisk URL", + "URL Canonico (opzionale)": "Kanonisk URL (valgfrit)", + "URL Canonico Mancante": "Manglende kanonisk URL", + "URL Canonico Non Valido": "Ugyldig kanonisk URL", + "URL Canonico Vuoto": "Tom kanonisk URL", + "URL Endpoint API": "API-endpoint-URL", + "URL Endpoint NCIP": "NCIP-slutpunkt-URL", + "URL Endpoint SRU": "SRU-slutpunkt-URL", + "URL Non Valido": "Ugyldig URL", + "URL OG": "OG-URL", + "URL completo del sito (es: https://biblioteca.example.com). Usato per link nelle email (verifica account, reset password). Se lasciato vuoto, verrà auto-rilevato.": "Fulstændig websteds-URL (f.eks. https://biblioteca.example.com). Bruges til links i e-mails (kontobekræftelse, nulstilling af adgangskode). Hvis den efterlades tom, registreres den automatisk.", + "URL completo della pagina (auto-generato se vuoto)": "Fuld side-URL (automatisk genereret, hvis tom)", + "URL del file o carica usando il pulsante": "Fil-URL eller upload ved hjælp af knappen", + "URL della pagina con la cookie policy": "URL til siden med cookiepolitik", + "URL della pagina con le tecnologie dei cookie": "URL til siden med cookieteknologier", + "URL di download non trovato": "Hentnings-URL ikke fundet", + "URL file": "Fil-URL", + "URL manifest IIIF (server esterno)": "IIIF-manifest-URL (ekstern server)", + "URL non sicuro": "Usikker URL", + "URL non valido o non permesso.": "Ugyldig eller ikke tilladt URL.", + "URL non valido.": "Ugyldig URL.", + "URL non valido. Deve essere un URL HTTPS valido.": "Ugyldig URL. Skal være en gyldig HTTPS-URL.", + "URL non valido. Deve essere un URL di Google Maps (https://www.google.com/maps/embed?...) o OpenStreetMap (https://www.openstreetmap.org/export/embed.html?...).": "Ugyldig URL. Skal være en Google Maps-URL (https://www.google.com/maps/embed?...) eller OpenStreetMap-URL (https://www.openstreetmap.org/export/embed.html?...).", + "URL obbligatorio.": "URL er påkrævet.", + "URL principale del sito. Se vuoto, usa l'URL corrente.": "Webstedets hoved-URL. Hvis tom, bruges den aktuelle URL.", + "URL pubblico:": "Offentlig URL:", + "URL sito web...": "Websteds-URL...", + "URL...": "URL...", + "Ultima": "Sidste", + "Ultima Versione": "Seneste version", + "Ultima generazione:": "Sidste generering:", + "Ultima modifica": "Senest ændret", + "Ultime aggiunte al catalogo (RSS 2.0)": "Seneste tilføjelser til kataloget (RSS 2.0)", + "Ultimi Arrivi": "Nye ankomster", + "Ultimi Libri Aggiunti": "Senest tilføjede bøger", + "Ultimi Libri Inseriti": "Senest indsatte bøger", + "Ultimi aggiunti (data creazione)": "Senest tilføjede (oprettelsesdato)", + "Ultimi modificati (data aggiornamento)": "Senest ændrede (opdateringsdato)", + "Ultimo": "Sidste", + "Ultimo Aggiornamento": "Seneste opdatering", + "Ultimo accesso": "Sidste login", + "Ultimo aggiornamento": "Seneste opdatering", + "Ultimo uso:": "Sidste brug:", + "Ultimo utilizzo": "Senest brugt", + "Umberto Eco": "Umberto Eco", + "Un altro aggiornamento è già in corso. Riprova più tardi.": "En anden opdatering er allerede i gang. Prøv igen senere.", + "Un backup viene creato automaticamente prima di salvare": "Der oprettes automatisk en backup før lagring", + "Un genere non può essere genitore di sé stesso.": "En genre kan ikke være sin egen forælder.", + "Un'esperienza di lettura moderna, intuitiva e sempre a portata di mano": "En moderne, intuitiv læseoplevelse – altid lige ved hånden", + "Una chiave è attualmente salvata e funzionante. Puoi aggiornarla inserendo un nuovo valore o lasciarla vuota per rimuoverla.": "En nøgle er i øjeblikket gemt og fungerer. Du kan opdatere den ved at indtaste en ny værdi eller lade den stå tom for at fjerne den.", + "Una chiave è già salvata. Inserisci un nuovo valore per aggiornarla oppure lascia vuoto per rimuoverla.": "En nøgle er allerede gemt. Indtast en ny værdi for at opdatere den, eller lad feltet stå tomt for at fjerne den.", + "Una descrizione completa aiuta gli utenti a conoscere meglio l'autore": "En fuldstændig beskrivelse hjælper brugerne med at lære forfatteren bedre at kende", + "Una mensola con livello %d esiste già in questo scaffale. Usa un livello diverso.": "En hylde med niveau %d findes allerede i denne reol. Brug et andet niveau.", + "Una panoramica dei libri che hai salvato per non perderli di vista.": "En oversigt over de bøger, du har gemt for ikke at miste dem af syne.", + "Una serie per riga": "Én serie pr. linje", + "Una serie per riga (le virgole sono trattate come parte del nome).": "Én serie pr. linje (kommaer behandles som en del af navnet).", + "Una serie per riga o separate da virgola": "Én serie pr. linje eller adskilt af komma", + "Unisci": "Flet", + "Unisci autori": "Flet forfattere", + "Unisci con altra collana": "Flet med anden serie", + "Unisci con altro genere": "Flet med anden genre", + "Unisci editori": "Flet forlag", + "Unisciti alla nostra community di lettori e scopri il piacere della lettura con la nostra piattaforma moderna.": "Bliv en del af vores læsefællesskab og opdag læseglæden med vores moderne platform.", + "Unità": "Enhed", + "Unità (lettera, nota, memo)": "Enhed (brev, note, memo)", + "Unità archivistica": "Arkivenhed", + "Unità archivistiche": "Arkivenheder", + "Unità archivistiche analizzate": "Analyserede arkivenheder", + "Unità archivistiche collegate": "Tilnyttede arkivenheder", + "Unità discendenti (%d)": "Underordnede enheder (%d)", + "Unità padre": "Overordnet enhed", + "Universo / macroserie": "Univers / makroserie", + "Updated At": "Opdateret den", + "Upload non valido": "Ugyldig upload", + "Uploader non disponibile": "Uploader ikke tilgængelig", + "Usa": "Brug", + "Usa 'localhost' (raccomandato, rileva automaticamente TCP/socket). Puoi forzare '127.0.0.1' per TCP.": "Brug 'localhost' (anbefalet, registrerer automatisk TCP/socket). Du kan tvinge '127.0.0.1' til TCP.", + "Usa codici semplici (A, B, C...)": "Brug enkle koder (A, B, C...)", + "Usa formato: 599 oppure 599.9 oppure 599.93": "Brug format: 599 eller 599.9 eller 599.93", + "Usa gli endpoint specifici per il formato legacy": "Brug de specifikke endpoints til legacy-formatet", + "Usa gli endpoint specifici per il formato legacy.": "Brug de specifikke endepunkter til det ældre format.", + "Usa i servizi online per precompilare automaticamente i dati del libro": "Brug onlinetjenester til automatisk at udfylde bogdata", + "Usa il controllo schermo intero del viewer o del browser": "Brug skærmfuldskontrol i visningsprogrammet eller browseren", + "Usa il pulsante \"Rigenera adesso\" per crearla": "Brug knappen \"Gendan nu\" for at oprette den", + "Usa il separatore %s": "Brug separatoren %s", + "Usa l'editor per formattare il testo, aggiungere link, immagini e altro": "Brug editoren til at formatering af tekst, tilføje links, billeder m.m.", + "Usa l'editor per formattare il testo, aggiungere link, immagini e altro.": "Brug editoren til at formaterer tekst, tilføje links, billeder og mere.", + "Usa la funzione di ricerca del browser per trovare testo nel documento": "Brug browserens søgefunktion til at finde tekst i dokumentet", + "Usa le frecce ← → per saltare": "Brug piletasterne ← → til at springe", + "Usa questa azione dopo aver importato un grande numero di libri o modifiche ai contenuti CMS.": "Brug denne handling efter import af et stort antal bøger eller ændringer i CMS-indhold.", + "Usa questa funzione solo se l'aggiornamento automatico non funziona a causa dei limiti di rate della GitHub API. Il pacchetto deve essere lo stesso generato per le release di GitHub.": "Brug kun denne funktion, hvis den automatiske opdatering ikke fungerer på grund af GitHub API-hastighedsgrænser. Pakken skal være den samme som den, der genereres til GitHub-releases.", + "Usa questo campo per personalizzare lo stile del sito senza modificare i file di tema.": "Brug dette felt til at tilpasse websitets stil uden at ændre temafilerne.", + "Usa {isbn} come placeholder. Es: https://api.example.com/books/{isbn}": "Brug {isbn} som pladsholder. Eks: https://api.example.com/books/{isbn}", + "Usata per login e comunicazioni.": "Bruges til login og kommunikation.", + "Username": "Brugernavn", + "Users": "Brugere", + "Utente": "Bruger", + "Utente %s (%s) si è registrato": "Bruger %s (%s) har registreret sig", + "Utente admin creato:": "Adminbruger oprettet:", + "Utente aggiornato con successo!": "Bruger opdateret med succes!", + "Utente approvato con successo!": "Bruger godkendt med succes!", + "Utente attivato direttamente!": "Bruger aktiveret direkte!", + "Utente creato con successo!": "Bruger oprettet med succes!", + "Utente eliminato con successo.": "Bruger slettet med succes.", + "Utente prenotante": "Reserverende bruger", + "Utente preselezionato": "Forudvalgt bruger", + "Utente sconosciuto": "Ukendt bruger", + "Utente senza nome": "Unavngiven bruger", + "Utente:": "Bruger:", + "Utenti": "Brugere", + "Utenti Attivi": "Aktive brugere", + "Utenti in Attesa di Approvazione": "Brugere der afventer godkendelse", + "Utenti registrati": "Registrerede brugere", + "Utilizza l'editor TinyMCE per formattare il testo e Uppy per caricare immagini di alta qualità. Le modifiche saranno immediatamente visibili nella pagina pubblica.": "Brug TinyMCE-editoren til at formatere tekst og Uppy til at uploade billeder i høj kvalitet. Ændringer vil straks være synlige på den offentlige side.", + "Utilizziamo i cookie per migliorare la tua esperienza. Continuando a visitare questo sito, accetti il nostro uso dei cookie.": "Vi bruger cookies til at forbedre din oplevelse. Ved at fortsætte med at besøge dette websted accepterer du vores brug af cookies.", + "VIAF ID non valido. Deve essere un numero.": "Ugyldigt VIAF-ID. Skal være et tal.", + "VIAF ID rimosso.": "VIAF-ID fjernet.", + "VIAF ID salvato.": "VIAF-ID gemt.", + "Vai": "Gå", + "Vai a Autori": "Gå til forfattere", + "Vai a Dashboard": "Gå til kontrolpanel", + "Vai a Editori": "Gå til forlag", + "Vai a Impostazioni": "Gå til indstillinger", + "Vai a Libri": "Gå til bøger", + "Vai a Prestiti": "Gå til lån", + "Vai a Utenti": "Gå til brugere", + "Vai ad Autori": "Til forfattere", + "Vai al Login": "Gå til login", + "Vai al login": "Gå til login", + "Vai all'Applicazione": "Gå til applikationen", + "Vai all'applicazione": "Gå til applikationen", + "Vai alla": "Gå til", + "Vai alla Home": "Gå til startside", + "Vai su": "Gå til", + "Vai su LibraryThing.com → Your Library": "Gå til LibraryThing.com → Your Library", + "Validazione XSD strict (rifiuta file non conformi a MARC21 Slim)": "Streng XSD-validering (afviser filer, der ikke overholder MARC21 Slim)", + "Validazione prestito fallita": "Lånevalidering mislykkedes", + "Validazione prestito fallita (post-creazione)": "Lånevalidering mislykkedes (efter oprettelse)", + "Valore Corrente": "Aktuel værdi", + "Valore Corrente Stimato": "Estimeret aktuel værdi", + "Valore applicato": "Værdi anvendt", + "Valore compreso tra 1 e 30 giorni. Consigliato: 3 giorni": "Værdi mellem 1 og 30 dage. Anbefalet: 3 dage", + "Valore di mercato attuale (diverso dal prezzo di acquisto)": "Aktuel markedsværdi (forskellig fra købsprisen)", + "Valore e Condizione": "Værdi og tilstand", + "Valore non valido": "Ugyldig værdi", + "Valutazione": "Bedømmelse", + "Valutazione *": "Bedømmelse *", + "Valutazione non valida (1-5 stelle)": "Ugyldig bedømmelse (1-5 stjerner)", + "Variabili disponibili:": "Tilgængelige variabler:", + "Vecchio": "Gammel", + "Vedi": "Se", + "Vedi Dettagli": "Se detaljer", + "Vedi alternative": "Se alternativer", + "Vedi dettagli": "Se detaljer", + "Vedi istruzioni sotto per correggere manualmente.": "Se vejledningen nedenfor for manuel korrektur.", + "Vedi pagina pubblica": "Se offentlig side", + "Vedi tutte le notifiche": "Se alle meddelelser", + "Vedi tutti": "Se alle", + "Vedi tutti gli eventi": "Se alle arrangementer", + "Vedi tutti i risultati": "Se alle resultater", + "Verifica Leggibilità": "Tjek læsbarhed", + "Verifica che il database sia accessibile e configurato correttamente nel file .env": "Kontroller, at databasen er tilgængelig og korrekt konfigureret i .env-filen", + "Verifica che le credenziali del database nel file .env siano corrette": "Kontroller, at databaselegitimationsoplysningerne i .env-filen er korrekte", + "Verifica coerenza e integrità del database": "Kontroller databasekonsistens og -integritet", + "Verifica completata OK": "Kontrol fuldført OK", + "Verifica i permessi di esecuzione: chmod +x cron/automatic-notifications.php": "Kontroller udførelsestilladelser: chmod +x cron/automatic-notifications.php", + "Verifica in corso...": "Kontrollerer...", + "Verifica installazione...": "Kontrollerer installation...", + "Verifica reCAPTCHA fallita. Riprova.": "reCAPTCHA-kontrol mislykkedes. Prøv igen.", + "Verifica versioni": "Kontroller versioner", + "Verificato": "Verificeret", + "Verrà creato automaticamente un backup prima dell'aggiornamento.": "Der oprettes automatisk en backup før opdatering.", + "Verrà creato automaticamente un backup prima dell'installazione": "Der oprettes automatisk en backup før installation", + "Verrà creato un backup completo del database.": "Der oprettes en komplet databasebackup.", + "Verrà installato il pacchetto:": "Følgende pakke installeres:", + "Versione": "Version", + "Versione Installata": "Installeret version", + "Versione Installer:": "Installer-version:", + "Versione SRU": "SRU-version", + "Versione non specificata": "Version ikke angivet", + "Versione non trovata": "Version ikke fundet", + "Versione:": "Version:", + "Via Roma 123, 00100 Roma RM, Italia": "Musterstraße 123, 10115 Berlin, Tyskland", + "Via, numero civico, città, CAP": "Vej, husnummer, by, postnummer", + "Via, numero...": "Gade, nummer...", + "Video": "Video", + "Video (vm)": "Video (vm)", + "Video tutorial": "Videovejledning", + "Vinile": "Vinyl", + "Visibile": "Synlig", + "Visibile pubblicamente sulla pagina contatti": "Offentligt synlig på kontaktsiden", + "Visibilita": "Synlighed", + "Visibilità": "Synlighed", + "Visibilità Sezione Eventi": "Synlighed for arrangementsafsnit", + "Visibilità aggiornata!": "Synlighed opdateret!", + "Visibilità nel Frontend": "Synlighed i frontend", + "Visita il sito ufficiale": "Besøg det officielle websted", + "Vista griglia": "Gittervisning", + "Vista tabella": "Tabelvisning", + "Visualizza": "Vis", + "Visualizza Libro": "Vis bog", + "Visualizza Tutte le Categorie": "Vis alle kategorier", + "Visualizza Tutto il Catalogo": "Vis hele kataloget", + "Visualizza dettagli": "Vis detaljer", + "Visualizza dettagli libro": "Vis bogdetaljer", + "Visualizza e esporta l'elenco dei libri per posizione fisica": "Vis og eksporter listen over bøger efter fysisk placering", + "Visualizza e gestisci tutti i prestiti della biblioteca": "Vis og administrer alle bibliotekets lån", + "Visualizza la cronologia degli import CSV e LibraryThing con report errori dettagliati": "Se historikken for CSV- og LibraryThing-importer med detaljerede fejlrapporter", + "Visualizza pagina live": "Vis liveside", + "Visualizzatore PDF": "PDF-visningsprogram", + "Visualizzazione da _START_ a _END_ di _TOTAL_ libri": "Viser _START_ til _END_ af _TOTAL_ bøger", + "Visualizzazione gerarchica di generi e sottogeneri": "Hierarkisk visning af genrer og undergenrer", + "Voci totali": "Poster i alt", + "Volume aggiunto": "Bind tilføjet", + "Volume rimosso": "Bind fjernet", + "Volumi": "Bind", + "Volumi di quest'opera": "Bind af dette værk", + "Vuoi aggiornare il libro \"${title}\"?": "Vil du opdatere bogen \"${title}\"?", + "Vuoi aggiornare il libro \"%s\"?": "Vil du opdatere bogen \"%s\"?", + "Vuoi aggiornare lo stato di questa copia?": "Vil du opdatere status for dette eksemplar?", + "Vuoi approvare questa recensione e renderla visibile sul sito?": "Vil du godkende denne anmeldelse og gøre den synlig på websitet?", + "Vuoi attivare questo plugin?": "Vil du aktivere dette plugin?", + "Vuoi aumentare il numero di copie di questo libro?": "Vil du øge antallet af eksemplarer af denne bog?", + "Vuoi correggere automaticamente i problemi di integrità rilevati?": "Vil du automatisk rette de registrerede integritetsproblemer?", + "Vuoi creare gli indici mancanti? Questa operazione migliorerà le performance del database.": "Vil du oprette de manglende indekser? Denne handling vil forbedre databasens ydeevne.", + "Vuoi creare le tabelle di sistema mancanti? Queste sono necessarie per il sistema di aggiornamento.": "Vil du oprette de manglende systemtabeller? Disse er nødvendige for opdateringssystemet.", + "Vuoi disattivare questo plugin?": "Vil du deaktivere dette plugin?", + "Vuoi disconnettere questo dispositivo?": "Vil du afbryde forbindelsen til denne enhed?", + "Vuoi disconnettere tutti i dispositivi? Dovrai effettuare nuovamente l'accesso su ogni dispositivo.": "Vil du afbryde forbindelsen til alle enheder? Du skal logge ind igen på hver enhed.", + "Vuoi eliminare": "Vil du slette", + "Vuoi eliminare definitivamente questa recensione? Questa azione non può essere annullata.": "Vil du slette denne anmeldelse permanent? Denne handling kan ikke annulleres.", + "Vuoi eliminare questo elemento?": "Vil du slette dette element?", + "Vuoi eseguire la manutenzione completa del sistema? Questa operazione potrebbe richiedere alcuni minuti.": "Vil du udføre fuld systemvedligeholdelse? Denne handling kan tage et par minutter.", + "Vuoi impostare APP_CANONICAL_URL a:": "Vil du indstille APP_CANONICAL_URL til:", + "Vuoi procedere?": "Vil du fortsætte?", + "Vuoi rifiutare questa recensione? L'utente verrà avvisato dell'esito.": "Vil du afvise denne anmeldelse? Brugeren vil blive underrettet om resultatet.", + "WCAG AA Conforme": "WCAG AA-kompatibel", + "Website (Sito Web)": "Websted", + "Wishlist": "Ønskeliste", + "Wishlist disponibile": "Ønskeliste tilgængelig", + "Working...": "Arbejder...", + "Yes, fix": "Ja, ret", + "Yes, run": "Ja, kør", + "Z-Library": "Z-Library", + "Zona Pericolosa": "Farezone", + "acquisto": "køb", + "admin@biblioteca.it": "admin@biblioteca.it", + "aggiornato": "opdateret", + "agosto": "august", + "al": "til", + "altamente consigliato": "stærkt anbefalet", + "aprile": "april", + "attivata": "aktiveret", + "autori": "forfattere", + "autori. Questa azione non può essere annullata.": "forfattere. Denne handling kan ikke annulleres.", + "autori. Tutti i libri verranno assegnati all'autore risultante.": "forfattere. Alle bøger tildeles den resulterende forfatter.", + "biblioteca, prestito libri, catalogo online, scopri libri, prenotazioni": "bibliotek, bølgeudlån, onlinekatalog, opdag bøger, reservationer", + "bottoni nelle card": "knapper i kort", + "bottoni principali": "hovedknapper", + "chiavi": "nøgler", + "chiavi tradotte": "oversatte nøgler", + "classe principale": "hovedklasse", + "come nuovo autore": "som ny forfatter", + "come nuovo editore": "som nyt forlag", + "completamento": "fuldførelse", + "con successo": "med succes", + "copi": "eksemplar(er)", + "copia": "eksemplar", + "copie": "eksemplarer", + "crontab -e": "crontab -e", + "dal": "fra", + "danneggiato": "beskadiget", + "della lingua desiderata.": "af det ønskede sprog.", + "descrive cosa è cambiato in questa revisione del record": "beskriver, hvad der har ændret sig i denne revision af posten", + "deve iniziare con": "skal starte med", + "di": "af", + "di %s": "af %s", + "dicembre": "december", + "directory": "mapper", + "disattivata": "deaktiveret", + "disponibile": "tilgængelig", + "disponibili ora": "tilgængelig nu", + "donazione": "donation", + "dopo aver completato l'installazione.": "efter afslutning af installationen.", + "duplicato (saltato)": "duplikat (sprunget over)", + "e altri": "og andre", + "e scarica il file": "og hent filen", + "eBook": "e-bog", + "eBook (PDF/ePub)": "e-bog (PDF/ePub)", + "eBook caricato!": "e-bog uploadet!", + "eBook disponibile": "e-bog tilgængelig", + "editori": "forlag", + "editori. Questa azione non può essere annullata.": "forlag. Denne handling kan ikke annulleres.", + "editori. Tutti i libri verranno assegnati all'editore risultante.": "forlag. Alle bøger tildeles det resulterende forlag.", + "elementi": "elementer", + "elemento": "element", + "elimina la cartella": "slet mappen", + "errore di comunicazione con il server": "kommunikationsfejl med serveren", + "errori": "fejl", + "es. \"15×10 cm\" o \"35mm\"": "f.eks. \"15×10 cm\" eller \"35mm\"", + "es. \"1888–1976\" o \"fl. 1920s\"": "f.eks. \"1888–1976\" eller \"fl. 1920'erne\"", + "es. 0.450": "f.eks. 0,450", + "es. 1234-5678": "f.eks. 1234-5678", + "es. 15": "f.eks. 15", + "es. 19.90": "f.eks. 19,90", + "es. 1900": "f.eks. 1900", + "es. 1923-1985": "f.eks. 1923-1985", + "es. 1950": "f.eks. 1950", + "es. 2020": "f.eks. 2020", + "es. 2024": "f.eks. 2024", + "es. 2025": "f.eks. 2025", + "es. 21x14 cm": "f.eks. 21x14 cm", + "es. 25.00": "f.eks. 25,00", + "es. 26 agosto 2025": "f.eks. 26. august 2025", + "es. 320": "f.eks. 320", + "es. 599.9, 004.6782, 641.5945": "f.eks. 599.9, 004.6782, 641.5945", + "es. 599.9, 004.6782, 641.5945, 599.1": "f.eks. 599.9, 004.6782, 641.5945, 599.1", + "es. 8842935786": "f.eks. 8842935786", + "es. 978-88-429-3578-0": "f.eks. 978-88-429-3578-0", + "es. 9788842935780": "f.eks. 9788842935780", + "es. 9788845292866": "f.eks. 9788845292866", + "es. Acquisto, Donazione, Prestito": "f.eks. Køb, donation, lån", + "es. Aggiornati i dati di estensione dopo inventario 2026": "f.eks. Omfangsdata opdateret efter 2026-inventar", + "es. Amazon, Libreria XYZ": "f.eks. Amazon, Boghandel XYZ", + "es. Biblioteca Civica": "f.eks. Folkebibliotek", + "es. Calvino, Italo": "f.eks. Calvino, Italo", + "es. Ciclo 1 - Aldebaran": "f.eks. Cyklus 1 - Aldebaran", + "es. Copertina rigida, Brossura": "f.eks. Hardcover, paperback", + "es. DK5": "f.eks. DK5", + "es. English, Italian": "f.eks. Engelsk, italiensk", + "es. Fairy Tail": "f.eks. Fairy Tail", + "es. Fairy Tail: 100 Years Quest": "f.eks. Fairy Tail: 100 Years Quest", + "es. Fantasy contemporaneo": "f.eks. Samtidsofantasy", + "es. Gianni De Conno": "f.eks. Gianni De Conno", + "es. Hardcover, 500 pages": "f.eks. Hardcover, 500 sider", + "es. Harry Potter": "f.eks. Harry Potter", + "es. History & geography > History of Asia > ...": "f.eks. Historie & geografi > Asiens historie > ...", + "es. I Classici": "f.eks. Klassikerne", + "es. I mondi di Aldebaran": "f.eks. Aldebarans verdener", + "es. INV-2024-001": "f.eks. INV-2024-001", + "es. IT-MI-001 o Fondo Rossi": "f.eks. IT-MI-001 eller Rossi-samlingen", + "es. Integrazione Sito Web": "f.eks. Hjemmeside-integration", + "es. Italiano, Inglese": "f.eks. Italiensk, Engelsk", + "es. La morale anarchica": "f.eks. Den anarkistiske moral", + "es. Mario Rossi": "f.eks. Jens Hansen", + "es. Noir mediterraneo": "f.eks. Middelhavs-noir", + "es. PS3566.A686": "f.eks. PS3566.A686", + "es. Prima edizione": "f.eks. Første udgave", + "es. RD 9 ottobre 1861 n. 250": "f.eks. RD 9. oktober 1861 nr. 250", + "es. RMB": "f.eks. RMB", + "es. RSSMRA80A01H501U": "f.eks. RSSMRA80A01H501U", + "es. SBN Nazionale": "f.eks. Nationale SBN", + "es. Umberto Eco": "f.eks. Umberto Eco", + "es. Urban fantasy": "f.eks. Urban fantasy", + "es. VIAF, ISNI, ORCID": "f.eks. VIAF, ISNI, ORCID", + "es. bath.isbn": "f.eks. bath.isbn", + "es. noreply@biblioteca.local": "f.eks. noreply@bibliotek.local", + "es. romanzo, fantasy, avventura (separare con virgole)": "f.eks. roman, fantasy, eventyr (adskilles med komma)", + "es. santo, papa, di Sassonia": "f.eks. helgen, pave, af Sachsen", + "eventi": "Arrangementer", + "eventi, biblioteca, cultura": "arrangementer, bibliotek, kultur", + "facoltativo (32 hex)": "valgfri (32 hex)", + "fallite.": "fejlet.", + "fas fa-users": "fas fa-users", + "febbraio": "februar", + "fino al": "indtil", + "gennaio": "januar", + "giorni prima della scadenza": "dage før udløb", + "giugno": "juni", + "https://bsky.app/profile/tuoprofilo": "https://bsky.app/profile/dinprofil", + "https://esempio.com/cookie-policy": "https://eksempel.dk/cookie-politik", + "https://esempio.com/tecnologie-cookie": "https://eksempel.dk/cookie-teknologier", + "https://facebook.com/tuapagina": "https://facebook.com/dinside", + "https://instagram.com/tuoprofilo": "https://instagram.com/dinprofil", + "https://linkedin.com/company/tuaazienda": "https://linkedin.com/company/dinvirksomhed", + "https://twitter.com/tuoprofilo": "https://twitter.com/dinprofil", + "https://www.editore.com": "https://www.forlag.dk", + "https://www.esempio.com": "https://www.eksempel.dk", + "icone disponibili": "tilgængelige ikoner", + "in attesa": "afventer", + "in corso": "i gang", + "in_corso": "i_gang", + "in_ritardo": "overskredet", + "info@biblioteca.it": "info@bibliotek.dk", + "info@editore.com": "info@forlag.dk", + "inserito": "indsat", + "installazione inglese usa": "engelsk installation anvendt", + "kg": "kg", + "lascia vuoto se non disponibile": "lad stå tom, hvis ikke tilgængelig", + "libri": "bøger", + "libri aggiornati": "bøger opdateret", + "libri eliminati": "bøger slettet", + "libri trovati": "bøger fundet", + "libri. Questa azione non può essere annullata.": "bøger. Denne handling kan ikke anulleres.", + "libro": "bog", + "libro trovato": "bog fundet", + "linea": "linje", + "lingue": "sprog", + "lingue. Errori:": "sprog. Fejl:", + "link, accenti": "links, accenter", + "livello": "niveau", + "luglio": "juli", + "maggio": "maj", + "manutenzione": "vedligeholdelse", + "mario.rossi@email.it": "jens.hansen@email.dk", + "marzo": "marts", + "minuti fa": "for minutter siden", + "modifica": "rediger", + "nell'header. Non includere i tag": "i headeren. Inkluder ikke tags", + "nella directory dell'applicazione.": "i applikationsmappen.", + "nella nostra biblioteca.": "i vores bibliotek.", + "nella root del progetto impedisce qualsiasi accesso non autorizzato.": "i projektets rodmappe forhindrer al uautoriseret adgang.", + "nessuna": "ingen", + "nessuno": "ingen", + "non può contenere spazi": "må ikke indeholde mellemrum", + "non può essere vuota": "må ikke være tom", + "novembre": "november", + "o multipli separati da |": "eller flere adskilt af |", + "o multipli: Engels;Marx": "eller flere: Engels;Marx", + "occorrenze": "forekomster", + "opzionale": "valgfri", + "opzionali": "valgfrie", + "ordine:": "rækkefølge:", + "ore fa": "for timer siden", + "ottobre": "oktober", + "pagina": "side", + "pagine": "sider", + "per": "for", + "per conformità GDPR.": "for GDPR-overholdelse.", + "per evitare blocchi (delay di 3 secondi tra ogni richiesta).": "for at undgå blokeringer (3 sekunders forsinkelse mellem hver forespørgsel).", + "per il giorno": "for dagen", + "per pagina": "pr. side", + "perso": "tabt", + "poi": "derefter", + "preferiti": "favoritter", + "premi Invio per crearne uno nuovo.": "tryk på Enter for at oprette en ny.", + "prenotato": "reserveret", + "prenotazione attiva": "aktiv reservation", + "prenotazioni": "reservationer", + "prenotazioni attive": "aktive reservationer", + "prestato": "udlånt", + "prestiti attivi": "aktive udlån", + "prestiti passati": "tidligere udlån", + "prestiti totali": "udlån i alt", + "prestito attivo": "aktivt udlån", + "prestito passato": "tidligere udlån", + "preview": "eksempel", + "prima di procedere.": "før du fortsætter.", + "pseudonimi, varianti storiche": "pseudonymer, historiske varianter", + "recensione": "anmeldelse", + "recensioni": "anmeldelser", + "referente@editore.com": "kontakt@forlag.dk", + "restituito": "afleveret", + "richiesta in sospeso": "afventende anmodning", + "richieste in sospeso": "afventende anmodninger", + "risultati": "resultater", + "risultati per": "resultater for", + "risultato": "resultat", + "ruolo:": "rolle:", + "saltato": "sprunget over", + "scollega": "afbryd", + "secondi (min: 5, max: 60)": "sekunder (min: 5, maks: 60)", + "seleziona": "gennemsøg", + "seleziona file": "vælg fil", + "selezionati": "valgte", + "sessioni attive": "aktive sessioner", + "settembre": "september", + "sfoglia": "gennemsøg", + "smtp.example.com": "smtp.example.com", + "sottogeneri": "undergenrer", + "sottogeneri spostati": "undergenrer flyttet", + "stella": "stjerne", + "stelle": "stjerner", + "sul server tramite SSH.": "på serveren via SSH.", + "titoli": "titler", + "trad.": "overs.", + "trovati %d record archivistici e %d authority record. Nessuna riga è stata inserita.": "fandt %d arkivposter og %d autoritetsposter. Ingen rækker blev indsat.", + "trovati %d record. Nessuna riga è stata inserita. Deseleziona 'Dry-run' e ripeti per procedere con l'insert.": "fandt %d poster. Ingen rækker blev indsat. Fjern markeringen i 'Testkørsel' og gentag for at fortsætte med indsættelsen.", + "utente@example.com": "bruger@eksempel.dk", + "utenti": "brugere", + "verranno automaticamente selezionati.": "vil automatisk blive valgt.", + "visualizzazione per copia": "visning efter eksemplar", + "volumi": "bind", + "È uno standard emergente (llmstxt.org) che fornisce ai motori AI un sommario strutturato del sito in formato Markdown. Quando attivo, il file viene generato dinamicamente con le statistiche della biblioteca, le pagine pubbliche e le informazioni API.": "Det er en kommende standard (llmstxt.org), der giver AI-motorer et struktureret resumé af websitet i Markdown-format. Når den er aktiv, genereres filen dynamisk med biblioteksstatistikker, offentlige sider og API-information.", + "Български (BG)": "Bulgarsk (BG)", + "עברית (HE)": "Hebraisk (HE)", + "– Nessuno –": "– Ingen –", + "— Nessuno (genere principale) —": "— Ingen (hovedgenre) —", + "— Nessuno —": "— Ingen —", + "— Seleziona —": "— Vælg —", + "••••••••": "••••••••", + "⚙️ Comportamento Automatico: Se inserisci codice in \"JavaScript Analitici\" o \"JavaScript Marketing\", i rispettivi toggle in Impostazioni Privacy verranno automaticamente selezionati.": "⚙️ Automatisk adfærd: Hvis du indsat kode i \"Analytics JavaScript\" eller \"Marketing JavaScript\", vil de respektive tilvalg i Privatlivsindstillinger automatisk blive markeret.", + "⚠️ AZIONE RICHIESTA: Installazione Dipendenze PHP": "⚠️ HANDLING PÅKRAVET: Installation af PHP-afhængigheder", + "⚠️ Privacy: Le mappe esterne vengono caricate solo se l'utente accetta i cookie Analytics.": "⚠️ Privatliv: Eksterne kort indlæses kun, hvis brugeren accepterer Analytics-cookies.", + "✅ Dipendenze PHP installate correttamente": "✅ PHP-afhængigheder installeret korrekt", + "✓ Aggiorna duplicati (ISBN)": "✓ Opdater dubletter (ISBN)", + "✓ Connessione riuscita! Database è vuoto e pronto per l'installazione.": "✓ Forbindelse lykkedes! Databasen er tom og klar til installation.", + "✓ Crea autori mancanti": "✓ Opret manglende forfattere", + "✓ Crea editori mancanti": "✓ Opret manglende forlag", + "✓ Mappatura automatica campi": "✓ Automatisk feltmapping", + "✓ Report errori": "✓ Fejlrapport", + "✓ Scraping copertine/dati": "✓ Scraping af omslag/data", + "✓ Validazione dati": "✓ Datavalidering", + "❌ Errore di comunicazione con il server": "Kommunikationsfejl med serveren", + "💡 Non hai accesso SSH?": "💡 Har du ikke SSH-adgang?", + "📋 Importante: Devi elencare manualmente i cookie tracciati da questi script nella Pagina Cookie per conformità GDPR.": "📋 Vigtigt: Du skal manuelt liste de cookies, der spores af disse scripts, på Cookie-siden for at overholde GDPR.", + "📋 Istruzioni SSH (Click per espandere/chiudere)": "📋 SSH-vejledning (Klik for at udvide/lukke)", + "🔒 Sicurezza Importante": "🔒 Vigtig sikkerhed", + "Rimuovi soggetto": "Fjern emne", + "Inserisci prima il nome dell'autore": "Indtast forfatternavnet først", + "es. 24604287": "f.eks. 24604287", + "VIAF Work ID": "VIAF Work ID", + "Wikidata ID": "Wikidata ID", + "Impossibile preparare il file LibraryThing": "Kan ikke klargøre LibraryThing-filen", + "Errore di sistema durante l'importazione": "Systemfejl under import", + "es. Q12345": "f.eks. Q12345", + "Durata sessione": "Sessionsvarighed", + "30 minuti": "30 minutter", + "1 ora": "1 time", + "2 ore": "2 timer", + "3 ore": "3 timer", + "6 ore": "6 timer", + "12 ore": "12 timer", + "24 ore": "24 timer", + "Tempo di inattività prima che la sessione scada. Aumentalo se durante catalogazioni lunghe ricevi l'errore «sessione scaduta» al salvataggio. Predefinito: 3 ore.": "Inaktivitetstid før sessionen udløber. Øg den, hvis du under langvarig katalogisering modtager fejlen \"session udløbet\" ved gemning. Standard: 3 timer.", + "Quando aumentarla:": "Hvornår den skal øges:", + "Predefinito:": "Standard:", + "Quanto tempo un utente resta connesso prima che la sessione scada per inattività.": "Hvor længe en bruger forbliver logget ind, før sessionen udløber på grund af inaktivitet.", + "Aumenta questo valore se durante catalogazioni lunghe (ad esempio digitando un indice esteso nelle note) ricevi l'errore «sessione scaduta» al salvataggio e perdi i dati inseriti. Il valore predefinito è 3 ore.": "Øg denne værdi, hvis du under langvarige katalogiseringssessioner (f.eks. ved indtastning af et omfattende indholdsfortegnelse i noterne) modtager fejlen \"session udløbet\" ved gemning og mister de indtastede data. Standardværdien er 3 timer.", + "Durata predefinita prestito": "Standard udlånsvarighed", + "Numero di giorni di default assegnati a ogni prestito quando la data di scadenza non viene specificata manualmente.": "Standardantal dage tildelt hvert udlån, når udløbsdatoen ikke angives manuelt.", + "Questo valore viene usato nelle richieste di prestito utente, nella creazione admin e nell'approvazione delle prenotazioni.": "Denne værdi bruges i brugerens udlånsforespørgsler, admin-oprettelse og godkendelse af reservationer.", + "Durata predefinita prestito (giorni)": "Standard udlånsvarighed (dage)", + "giorni": "dage", + "Valore compreso tra 1 e 365 giorni. Predefinito: 30 giorni": "Værdi mellem 1 og 365 dage. Standard: 30 dage", + "Giorni per il ritiro": "Afhentningsdage", + "Numero di giorni che l'utente ha a disposizione per ritirare un prestito approvato prima che scada automaticamente.": "Antal dage brugeren har til at afhente et godkendt udlån, før det automatisk udløber.", + "Giorni per il ritiro del prestito approvato": "Dage til afhentning af det godkendte udlån", + "Valore compreso tra 1 e 30 giorni. Predefinito: 3 giorni": "Værdi mellem 1 og 30 dage. Standard: 3 dage", + "Rinnovi massimi": "Maksimal fornyelse", + "Numero massimo di volte che un utente può rinnovare lo stesso prestito.": "Maksimalt antal gange en bruger kan forny det samme udlån.", + "Numero massimo di rinnovi per prestito": "Maksimalt antal fornyelser pr. udlån", + "rinnovi": "fornyelser", + "Inserisci 0 per disabilitare i rinnovi. Predefinito: 3": "Indtast 0 for at deaktivere fornyelser. Standard: 3", + "Limite prestiti attivi per utente": "Grænse for aktive udlån pr. bruger", + "Numero massimo di prestiti contemporaneamente attivi per ogni utente. Impostare 0 per nessun limite.": "Maksimalt antal samtidige aktive udlån pr. bruger. Sæt til 0 for ingen grænse.", + "Prestiti conteggiati:": "Medregnede udlån:", + "prenotato, da_ritirare, in_corso, in_ritardo.": "reserveret, til_afhentning, i_gang, overskredet.", + "Numero massimo di prestiti attivi per utente": "Maksimalt antal aktive udlån pr. bruger", + "prestiti (0 = nessun limite)": "udlån (0 = ingen grænse)", + "Predefinito: 0 (nessun limite)": "Standard: 0 (ingen grænse)", + "Salva impostazioni prestiti": "Gem udlånsindstillinger", + "Impostazioni prestiti aggiornate correttamente.": "Udlånsindstillinger opdateret korrekt.", + "Hai raggiunto il numero massimo di prestiti attivi consentiti": "Du har nået det maksimale antal tilladte aktive udlån", + "Capienza prenotazioni/prestiti superata": "Kapacitet for reservationer/udlån overskredet", + "Richiesta duplicata utente/libro": "Dubleret bruger-/boganmodning", + "Libro non trovato o non più disponibile.": "Bogen blev ikke fundet eller er ikke længere tilgængelig.", + "L'utente ha raggiunto il numero massimo di prestiti attivi consentiti. Restituisci un libro prima di crearne un altro.": "Brugeren har nået det maksimale antal aktive udlån. Aflever en bog, før du opretter en anden.", + "Il prestito non è più attivo.": "Udlånet er ikke længere aktivt.", + "Impossibile rinnovare: il prestito è in ritardo.": "Kan ikke forny: Udlånet er overskredet.", + "Impossibile rinnovare: il prestito non è ancora stato ritirato.": "Kan ikke forny: Udlånet er endnu ikke afhentet.", + "Numero massimo di rinnovi raggiunto per questo prestito.": "Maksimalt antal fornyelser nået for dette udlån.", + "Impossibile rinnovare: un altro prestito o prenotazione occupa il periodo richiesto.": "Kan ikke forny: Et andet udlån eller reservation optager den ønskede periode.", + "Operazione non riuscita. Riprova.": "Handling mislykkedes. Prøv igen.", + "Data di scadenza della prenotazione (default: +30 giorni)": "Udløbsdato for reservation (standard: +30 dage)", + "Modalità privata": "Privat tilstand", + "Limita l'accesso all'intero sito ai soli utenti registrati: i visitatori non autenticati vengono reindirizzati alla pagina di accesso": "Begrænser adgangen til hele websitet til kun registrerede brugere: ikke-godkendte besøgende omdirigeres til login-siden", + "Questo sito è riservato agli utenti registrati. Accedi per continuare.": "Dette website er forbeholdt registrerede brugere. Log ind for at fortsætte.", + "Accesso al sito": "Adgang til websitet", + "Controlla chi può consultare il sito pubblico": "Styr hvem der kan se det offentlige website", + "Con la modalità privata attiva, l'area amministrativa, l'accesso, la registrazione e gli asset restano sempre raggiungibili; tutto il resto richiede l'autenticazione.": "Når privat tilstand er aktiv, forbliver administrationsområdet, login, registrering og aktiver altid tilgængelige; alt andet kræver godkendelse.", + "Codice mancante": "Manglende kode", + "Inserisci un codice ISBN o EAN per continuare.": "Indtast en ISBN- eller EAN-kode for at fortsætte.", + "Prima di ogni aggiornamento viene creato automaticamente un backup.": "Før hver opdatering oprettes der automatisk en backup.", + "Includi i file caricati nel backup pre-aggiornamento": "Inkluder uploadede filer i pre-opdateringsbackup", + "Contenuto del backup": "Backup-indhold", + "Completo (database + file caricati)": "Komplet (database + uploadede filer)", + "Solo database": "Kun database", + "Ripristina da file": "Gendan fra fil", + "Carica e Ripristina": "Upload og Gendan", + "Il ripristino sovrascrive i dati attuali. Verrà creato un backup di sicurezza prima.": "Gendannelse overskriver de aktuelle data. Der oprettes en sikkerhedskopi først.", + "DB + file": "DB + filer", + "Ripristinare da questo file?": "Gendan fra denne fil?", + "I dati attuali (database e file) verranno sovrascritti. Un backup di sicurezza verrà creato prima del ripristino.": "De aktuelle data (database og filer) vil blive overskrevet. En sikkerhedskopi oprettes før gendannelse.", + "Nessun file selezionato": "Ingen fil valgt", + "Ripristino in corso...": "Gendannelse i gang...", + "L'operazione può richiedere alcuni minuti. Non chiudere la pagina.": "Handlingen kan tage et par minutter. Luk ikke siden.", + "Ripristino completato": "Gendannelse gennemført", + "Backup di sicurezza creato:": "Sikkerhedskopi oprettet:", + "Operazione riservata agli amministratori": "Handling forbeholdt administratorer", + "Estensione ZipArchive non disponibile": "ZipArchive-udvidelse ikke tilgængelig", + "Impossibile creare il file di backup": "Kan ikke oprette backup-fil", + "Errore nella scrittura del backup": "Fejl ved skrivning af backup", + "Backup non valido per il ripristino": "Ugyldig backup til gendannelse", + "File di backup troppo grande": "Backup-fil for stor", + "Archivio di backup non valido": "Ugyldigt backup-arkiv", + "Impossibile salvare il file caricato": "Kan ikke gemme den uploadede fil", + "Impossibile creare il backup di sicurezza pre-ripristino": "Kan ikke oprette sikkerhedskopi før gendannelse", + "Impossibile aprire l'archivio di backup": "Kan ikke åbne backup-arkivet", + "Database mancante nel backup": "Manglende database i backup", + "Dump del database vuoto o illeggibile": "Databasedump tomt eller ulæseligt", + "Errore durante il ripristino del database": "Fejl under gendannelse af database", + "connessione al database non riuscita": "databaseforbindelse mislykkedes", + "Errore durante il ripristino dei file": "Fejl under gendannelse af filer", + "Errore durante il ripristino": "Fejl under gendannelse", + "Impossibile salvare l'impostazione": "Kan ikke gemme indstillingen", + "Il backup è corrotto (checksum del database non valido)": "Backuppen er korrupt (ugyldig database-checksum)", + "Ripristino parziale": "Delvis gendannelse", + "Il database è stato ripristinato ma il ripristino dei file è fallito. NON riprovare il ripristino: ripristina il backup di sicurezza solo se necessario.": "Databasen blev gendannet, men filgendannelsen mislykkedes. Forsøg IKKE at gendanne igen: Gendan kun sikkerhedskopien om nødvendigt.", + "Sono accettati solo file .zip.": "Kun .zip-filer accepteres.", + "File troppo grande": "Filen er for stor", + "Il file supera il limite di 2 GB.": "Filen overskrider grænsen på 2 GB.", + "Sono accettati solo file .zip fino a 2 GB.": "Kun .zip-filer op til 2 GB accepteres.", + "Ricarica la pagina": "Genindlæs siden", + "Formato legacy": "Legacy-format", + "Sola lettura": "Skrivebeskyttet", + "Il ripristino non è supportato per i backup in formato cartella; scarica il file per un ripristino manuale.": "Gendannelse understøttes ikke for mapperformat-backups; download filen for manuel gendannelse.", + "Upload in corso...": "Uploader...", + "la destinazione è un link simbolico": "destinationen er et symbolsk link", + "Impossibile attivare la modalità manutenzione per il ripristino": "Kan ikke aktivere vedligeholdelsestilstand for gendannelse", + "Tempo trascorso": "Medgået tid", + "Il server non ha risposto correttamente: l'operazione potrebbe essere ancora in corso o interrotta a metà. Non avviare subito un nuovo ripristino. Verifica la lista backup (potrebbe esserci un backup di sicurezza pre-ripristino) e i log del server.": "Serveren svarede ikke korrekt: Handlingen er muligvis stadig i gang eller afbrudt midt i. Start ikke en ny gendannelse med det samme. Tjek backuplisten (der kan være en sikkerhedskopi før gendannelse) og serverloggene.", + "Ripristina solo archivi creati da questa istanza o di cui ti fidi completamente: il contenuto del database verrà sostituito con quello dell'archivio.": "Gendan kun arkiver oprettet af denne instans eller som du stoler fuldstændigt på: Databasedataene vil blive erstattet med arkivets.", + "Archivio di backup non valido: dimensione decompressa eccessiva": "Ugyldigt backup-arkiv: udpakket størrelse for stor", + "Un ripristino o aggiornamento è già in corso. Riprova tra poco.": "En gendannelse eller opdatering er allerede i gang. Prøv igen om lidt.", + "Ripristino in corso. Riprova tra qualche minuto.": "Gendannelse i gang. Prøv igen om nogle minutter.", + "Backup troppo grande per l'importazione PHP: installa il client mysql o aumenta memory_limit": "Backup for stor til PHP-import: Installer mysql-klienten eller øg memory_limit", + "Foto e Collegamenti": "Foto & Links", + "Foto dell'autore": "Forfatterfoto", + "Foto autore": "Forfatterfoto", + "Carica un'immagine (PNG/JPG/WEBP/GIF, max 5MB) oppure incolla un URL qui sotto.": "Upload et billede (PNG/JPG/WEBP/GIF, maks. 5MB) eller indsæt en URL nedenfor.", + "https://www.esempio.com/foto.jpg": "https://www.eksempel.dk/foto.jpg", + "Rimuovi la foto attuale": "Fjern nuværende foto", + "Collegamenti e fonti": "Links & kilder", + "Link a fonti, voci enciclopediche o siti rilevanti per l'autore.": "Links til kilder, opslagsværker eller relevante websites for forfatteren.", + "Etichetta (es. Wikipedia)": "Mærkat (f.eks. Wikipedia)", + "Aggiungi collegamento": "Tilføj link", + "Trascina qui la foto dell'autore o clicca per selezionare": "Træk forfatterfotoet hertil eller klik for at vælge", + "La foto supera la dimensione massima di 5 MB.": "Fotoet overskrider den maksimale størrelse på 5 MB.", + "Formato immagine non supportato. Usa PNG, JPG, WebP o GIF.": "Billedformat ikke understøttet. Brug PNG, JPG, WebP eller GIF.", + "Impossibile elaborare l'immagine caricata.": "Kan ikke behandle det uploadede billede.", + "Anteprima foto autore": "Eksempel på forfatterfoto", + "Nessuna disponibilità nel periodo": "Ingen tilgængelighed i perioden", + "Tutte le copie sono già impegnate (prestiti o prenotazioni) per il periodo richiesto. Scegli un altro periodo.": "Alle eksemplarer er allerede optaget (udlån eller reservationer) i den ønskede periode. Vælg en anden periode.", + "La copia assegnata non è prestabile. Riassegna la copia o annulla il ritiro.": "Det tildelte eksemplar kan ikke udlånes. Tildel eksemplaret igen eller annuller afhentningen.", + "Il prestito associato non è più chiudibile. Ricarica la pagina.": "Det tilknyttede udlån kan ikke længere afsluttes. Genindlæs siden.", + "Impossibile eliminare una copia attualmente impegnata in un prestito o una prenotazione.": "Kan ikke slette et eksemplar, der i øjeblikket er optaget af et udlån eller en reservation.", + "Impossibile modificare una copia attualmente impegnata in un prestito o una prenotazione. Prima liberala (chiudi o annulla il prestito) oppure impostala su \"Disponibile\".": "Kan ikke ændre et eksemplar, der i øjeblikket er optaget af et udlån eller en reservation. Frigiv det først (afslut eller annuller udlånet) eller indstil det til \"Tilgængelig\".", + "La release non contiene un pacchetto installabile verificabile (pinakes-*.zip). Aggiornamento annullato.": "Udgivelsen indeholder ikke en verficerbar installerbar pakke (pinakes-*.zip). Opdatering annulleret.", + "Verifica di integrità impossibile: la release non pubblica un digest sha256 valido. Installazione di un pacchetto non verificato rifiutata.": "Integritetskontrol umulig: Udgivelsen offentliggør ikke et gyldigt sha256-digest. Installation af en ikke-verificeret pakke afvist.", + "Patch post-installazione non verificabile.": "Post-installationspatch kan ikke verificeres.", + "Patch post-installazione presente ma non verificabile: patch non applicata, aggiornamento mantenuto.": "Post-installationspatch til stede, men kan ikke verificeres: Patch ikke anvendt, opdatering bevaret.", + "Patch pre-aggiornamento non verificabile.": "Pre-opdateringspatch kan ikke verificeres.", + "Patch pre-aggiornamento presente ma non verificabile: aggiornamento interrotto per sicurezza.": "Pre-opdateringspatch til stede, men kan ikke verificeres: Opdatering afbrudt af sikkerhedsmæssige årsager.", + "Risposta GitHub inattesa (redirect) su una richiesta autenticata.": "Uventet GitHub-svar (omdirigering) på en godkendt forespørgsel.", + "Verifica di integrità fallita: l'archivio scaricato non corrisponde al checksum atteso.": "Integritetskontrol mislykkedes: Det downloadede arkiv matcher ikke den forventede checksum.", + "Errore di Sicurezza": "Sikkerhedsfejl", + "La verifica di sicurezza del modulo non è riuscita. Ricarica la pagina e invia di nuovo: il tuo accesso è ancora valido, non devi rifare il login.": "Formularers sikkerhedskontrol mislykkedes. Genindlæs siden og indsend igen — din adgang er stadig gyldig, du behøver ikke logge ind igen.", + "Torna indietro e riprova": "Gå tilbage og prøv igen", + "Questo controllo protegge i tuoi moduli da invii non autorizzati.": "Denne kontrol beskytter dine formularer mod uautoriserede indsendelser.", + "Provider push non supportato.": "Push-udbyder ikke understøttet.", + "Endpoint UnifiedPush non valido (richiesto HTTPS verso un host pubblico).": "Ugyldig UnifiedPush-endpoint (kræver HTTPS til en offentlig vært).", + "Token di registrazione FCM mancante.": "Manglende FCM-registreringstoken.", + "Dispositivo registrato per le notifiche push.": "Enhed registreret til push-notifikationer.", + "Notifiche push disattivate per questo dispositivo.": "Push-notifikationer deaktiveret for denne enhed.", + "Preferenze non disponibili.": "Præferencer ikke tilgængelige.", + "Orario silenzioso non valido (formato HH:MM).": "Ugyldig stille time (HH:MM-format).", + "Preferenze aggiornate.": "Præferencer opdateret.", + "Libro di nuovo disponibile": "Bog tilgængelig igen", + "\"%s\" è di nuovo disponibile per il prestito.": "„%s“ kan lånes igen.", + "Notifiche push": "Push-notifikationer", + "Facoltative. Senza credenziali l'app riceve comunque le notifiche tramite il feed in-app (polling). Le notifiche push non bloccano mai il funzionamento.": "Valgfrit. Uden legitimationsoplysninger modtager appen stadig notifikationer via in-app-feedet (polling). Push-notifikationer blokerer aldrig driften.", + "Provider push": "Push-udbyder", + "UnifiedPush (consigliato, nessuna credenziale centrale)": "UnifiedPush (anbefalet, ingen centrale legitimationsoplysninger)", + "Firebase Cloud Messaging (sperimentale)": "Firebase Cloud Messaging (eksperimentel)", + "Soggetto VAPID (UnifiedPush, facoltativo)": "VAPID-emne (UnifiedPush, valgfri)", + "Credenziali FCM (JSON service-account, facoltative)": "FCM-legitimationsoplysninger (servicekonto-JSON, valgfri)", + "Lascia vuoto per usare solo UnifiedPush / feed in-app.": "Lad stå tom for kun at bruge UnifiedPush / in-app-feed.", + "Errore: plugin Mobile API non caricato correttamente.": "Fejl: Mobile API-plugin ikke indlæst korrekt.", + "Dispositivo revocato.": "Enhed tilbagekaldt.", + "Impossibile revocare il dispositivo.": "Kan ikke tilbagekalde enheden.", + "Impostazioni salvate correttamente.": "Indstillinger gemt korrekt.", + "Mobile API": "Mobil API", + "Abilita l'accesso dell'app mobile a questa biblioteca tramite l'API REST /api/v1.": "Aktiver mobilappens adgang til dette bibliotek via REST API /api/v1.", + "Accesso app mobile": "Mobilapp-adgang", + "Abilita accesso app mobile": "Aktiver mobilapp-adgang", + "Quando disattivato, l'app non può autenticarsi. L'endpoint /api/v1/health e la documentazione /api/v1/docs restano sempre raggiungibili.": "Når deaktiveret, kan appen ikke godkendes. Endpointet /api/v1/health og dokumentationen /api/v1/docs forbliver altid tilgængelige.", + "API attiva. Endpoint:": "API aktiv. Endpoint:", + "L'API richiede HTTPS (eccetto loopback in sviluppo).": "API'en kræver HTTPS (undtagen loopback under udvikling).", + "Salva impostazioni": "Gem indstillinger", + "Dispositivi": "Enheder", + "Dispositivi attivi": "Aktive enheder", + "I token revocati vengono invalidati immediatamente.": "Tilbagekaldte tokens ugyldiggøres med det samme.", + "Nessun dispositivo attivo.": "Ingen aktive enheder.", + "Dispositivo": "Enhed", + "Piattaforma": "Platform", + "Revoca": "Tilbagekald", + "Revocare dispositivo?": "Vil du tilbagekalde enheden?", + "L'app non potrà più usare questo token. L'utente dovrà effettuare di nuovo il login.": "Appen kan ikke længere bruge denne token. Brugeren skal logge ind igen.", + "Prestito in scadenza": "Udlån udløber snart", + "Il prestito di \"%s\" scade il %s.": "Udlånet af „%s“ udløber den %s.", + "Il prestito di \"%s\" è scaduto il %s.": "Udlånet af „%s“ udløb den %s.", + "Prenotazione pronta": "Reservation klar", + "\"%s\" è pronto per il ritiro.": "„%s“ er klar til afhentning.", + "L'accesso da app non è abilitato su questa istanza.": "App-adgang er ikke aktiveret på denne instans.", + "Token di autenticazione mancante o non valido.": "Manglende eller ugyldig godkendelsestoken.", + "Errore di autenticazione.": "Godkendelsesfejl.", + "Token non valido, revocato o scaduto.": "Token ugyldig, tilbagekaldt eller udløbet.", + "Account non disponibile.": "Konto ikke tilgængelig.", + "Hai superato il limite di richieste. Riprova più tardi.": "Du har overskredet forespørgselsgrænsen. Prøv igen senere.", + "Questa API richiede una connessione HTTPS.": "Denne API kræver en HTTPS-forbindelse.", + "Prestiti non disponibili.": "Udlån ikke tilgængelige.", + "Prenotazioni non disponibili.": "Reservationer ikke tilgængelige.", + "Identificativo libro non valido.": "Ugyldig bog-id.", + "Data richiesta non valida.": "Ugyldig anmodet dato.", + "La data richiesta è nel passato.": "Den anmodede dato er i fortiden.", + "Richiesta di prestito inviata. In attesa di approvazione.": "Udlånsforespørgsel sendt. Afventer godkendelse.", + "Prenotazione registrata.": "Reservation registreret.", + "Richiesta non disponibile.": "Anmodning ikke tilgængelig.", + "Prenotazione non trovata.": "Reservation ikke fundet.", + "Prenotazione annullata.": "Reservation annulleret.", + "Impossibile annullare la prenotazione.": "Kan ikke annullere reservationen.", + "Operazione non disponibile.": "Handling ikke tilgængelig.", + "Preferiti non disponibili.": "Favoritter ikke tilgængelige.", + "Aggiunto ai preferiti.": "Tilføjet til favoritter.", + "Elemento non trovato nei preferiti.": "Element ikke fundet i favoritter.", + "Rimosso dai preferiti.": "Fjernet fra favoritter.", + "Profilo non disponibile.": "Profil ikke tilgængelig.", + "Indirizzo email non valido.": "Ugyldig e-mailadresse.", + "Messaggio inviato. Ti risponderemo al più presto.": "Besked sendt. Vi svarer hurtigst muligt.", + "Invio messaggio non disponibile.": "Beskedsending ikke tilgængelig.", + "Notifiche non disponibili.": "Notifikationer ikke tilgængelige.", + "Non autenticato.": "Ikke godkendt.", + "Hai già una richiesta attiva per questo libro.": "Du har allerede en aktiv forespørgsel på denne bog.", + "Il libro non è disponibile per il periodo richiesto.": "Bogen er ikke tilgængelig i den ønskede periode.", + "Hai raggiunto il numero massimo di prestiti attivi.": "Du har nået det maksimale antal aktive udlån.", + "Richiesta non riuscita.": "Forespørgsel mislykkedes.", + "La password deve avere almeno 8 caratteri.": "Adgangskoden skal være på mindst 8 tegn.", + "Impossibile aggiornare la password.": "Kan ikke opdatere adgangskoden.", + "Devi accettare la privacy policy.": "Du skal acceptere privatlivspolitikken.", + "Verifica anti-spam non superata.": "Anti-spam-kontrol ikke bestået.", + "Invio messaggio non riuscito.": "Beskedsending mislykkedes.", + "Ricerca non disponibile.": "Søgning ikke tilgængelig.", + "Dettaglio non disponibile.": "Detaljer ikke tilgængelige.", + "Generi non disponibili.": "Genrer ikke tilgængelige.", + "Email o password non validi.": "Ugyldig e-mail eller adgangskode.", + "Errore del server.": "Serverfejl.", + "Devi confermare la tua email prima di accedere.": "Du skal bekræfte din e-mail, før du logger ind.", + "Il tuo account non è ancora attivo.": "Din konto er endnu ikke aktiv.", + "La registrazione non è abilitata su questa istanza.": "Registrering er ikke aktiveret på denne instans.", + "Nome o cognome troppo lunghi.": "For- eller efternavn for langt.", + "La password deve avere tra 8 e 72 caratteri.": "Adgangskoden skal være mellem 8 og 72 tegn.", + "Esiste già un account con questa email.": "Der findes allerede en konto med denne e-mail.", + "Errore durante la registrazione.": "Fejl under registrering.", + "Registrazione completata. Controlla la tua email per confermare l'account.": "Registrering fuldført. Tjek din e-mail for at bekræfte kontoen.", + "Se l'indirizzo è registrato, riceverai un'email con le istruzioni.": "Hvis adressen er registreret, modtager du en e-mail med instruktioner.", + "Troppe richieste. Riprova più tardi.": "For mange forespørgsler. Prøv igen senere.", + "Disconnesso.": "Logget ud.", + "Dispositivo non trovato.": "Enhed ikke fundet.", + "Impossibile recuperare lo stato del servizio.": "Kan ikke hente tjenestens status.", + "Il file caricato supera il limite di caricamento del server (post_max_size = %s). Aumenta post_max_size e upload_max_filesize nella configurazione PHP del server e riprova. Su hosting con php-fpm o CGI le direttive php_value in .htaccess vengono ignorate: modifica php.ini o la configurazione del pool php-fpm.": "Den uploadede fil overskrider serverens uploadgrænse (post_max_size = %s). Øg post_max_size og upload_max_filesize i serverens PHP-konfiguration og prøv igen. På hosting med php-fpm eller CGI ignoreres php_value-direktiver i .htaccess: Rediger php.ini eller php-fpm-pool-konfigurationen.", + "Il file caricato supera il limite di upload del server (upload_max_filesize = %s). Aumenta upload_max_filesize e post_max_size nella configurazione PHP del server e riprova. Su hosting con php-fpm o CGI le direttive php_value in .htaccess vengono ignorate: modifica php.ini o la configurazione del pool php-fpm.": "Den uploadede fil overskrider serverens uploadgrænse (upload_max_filesize = %s). Øg upload_max_filesize og post_max_size i serverens PHP-konfiguration og prøv igen. På hosting med php-fpm eller CGI ignoreres php_value-direktiver i .htaccess: Rediger php.ini eller php-fpm-pool-konfigurationen.", + "Digita almeno 2 lettere per cercare o creare": "Indtast mindst 2 bogstaver for at søge eller oprette", + "Invia questo URL a Google Search Console.": "Send denne URL til Google Search Console.", + "Percorso sul server (per cron/CLI) — non inviarlo a Google.": "Sti på serveren (til cron/CLI) — send den ikke til Google.", + "Utente non trovato": "Bruger ikke fundet", + "Utente sospeso: prestiti non consentiti": "Bruger suspenderet: udlån ikke tilladt", + "Tessera scaduta: rinnovala per richiedere prestiti": "Kort udløbet: Forny det for at anmode om udlån", + "Utente non idoneo al prestito": "Bruger ikke berettiget til udlån", + "Prenotazione annullata": "Reservation annulleret", + "Inviata all'utente quando una prenotazione viene annullata dall'amministrazione.": "Sendes til brugeren, når en reservation annulleres af administrationen.", + "\"%s\" prestato a %s scade fra %d giorni": "\"%s\" udlånt til %s udløber om %d dage", + "\"%s\" prestato a %s scade oggi": "\"%s\" udlånt til %s udløber i dag", + "MaintenanceService claim cooldown fallito": "MaintenanceService krav om nedkøling mislykkedes", + "MaintenanceService errore recupero notifiche prenotazione": "MaintenanceService fejl ved hentning af reservationsnotifikationer", + "La data di inizio non può essere nel passato": "Startdatoen kan ikke være i fortiden", + "La data di fine non può precedere la data di inizio": "Slutdatoen kan ikke ligge før startdatoen", + "Il periodo richiesto supera la durata massima consentita di %d giorni": "Den anmodede periode overskrider den maksimale tilladte varighed på %d dage", + "Annullare questa richiesta di prestito?": "Vil du annullere denne udlånsforespørgsel?", + "Annulla richiesta": "Annuller forespørgsel", + "Annullare questo prestito programmato?": "Vil du annullere dette planlagte udlån?", + "Annulla prestito": "Annuller udlån", + "La finestra del prestito è già trascorsa: annulla il ritiro o modifica le date": "Udlånsvinduet er allerede udløbet: Annuller afhentningen eller rediger datoerne", + "Annullata dalla biblioteca": "Annulleret af biblioteket", + "Impossibile eliminare la copia: ha uno storico prestiti. Puoi metterla fuori circolazione cambiandone lo stato.": "Kan ikke slette eksemplaret: Det har en udlånshistorik. Du kan tage det ud af cirkulation ved at ændre dets status.", + "Annullamento effettuato correttamente.": "Annullering gennemført korrekt.", + "Elemento non trovato o non più annullabile: lo stato potrebbe essere cambiato nel frattempo.": "Element ikke fundet eller kan ikke længere annulleres: Status kan have ændret sig i mellemtiden.", + "Errore: la data di scadenza non può essere precedente alla data di prestito.": "Fejl: Udløbsdatoen kan ikke ligge før udlånsdatoen.", + "Il prestito è già chiuso: la modifica non è stata salvata.": "Udlånet er allerede lukket: Ændringen blev ikke gemt.", + "Prenotazione aggiornata correttamente.": "Reservation opdateret korrekt.", + "Prestito non trovato o non chiudibile.": "Udlån ikke fundet eller kan ikke afsluttes.", + "Si è verificato un errore. Riprova più tardi.": "Der opstod en fejl. Prøv igen senere.", + "Non sei idoneo al prestito: account sospeso o tessera scaduta.": "Du er ikke berettiget til udlån: Konto suspenderet eller kort udløbet.", + "Aggiornamento annullato prima di ogni modifica: il processo PHP non può scrivere in questi percorsi: %s. Correggi i permessi (proprietario/scrittura per l'utente del web server) e riprova, oppure esegui l'aggiornamento da riga di comando come proprietario dei file: php scripts/manual-upgrade.php ": "Opdatering annulleret før ændringer: PHP-processen kan ikke skrive til disse stier: %s. Ret rettighederne (ejer/skrivetilgang for webserverbrugeren) og prøv igen, eller udfør opdateringen fra kommandolinjen som filejer: php scripts/manual-upgrade.php ", + "Cartella radice": "Rodmappe", + "Cartella backup": "Backup-mappe", + "Cartella storage": "Lagringsmappe", + "Accedi per partecipare": "Log ind for at deltage", + "Accesso solo su invito": "Adgang kun efter invitation", + "Accetta l'invito": "Accepter invitation", + "Aggiorna il mio voto": "Opdater min stemme", + "Aggiungi membro": "Tilføj medlem", + "Aggiungi stato": "Tilføj status", + "Ancora nessun libro: unisciti al club e proponi il primo!": "Ingen bøger endnu: Bliv medlem af klubben og foreslå den første!", + "Annulla incontro": "Aflys møde", + "Annullare questo incontro?": "Vil du aflyse dette møde?", + "Aperta": "Åben", + "Apri una nuova votazione": "Åbn en ny afstemning", + "Apri votazione": "Åbn afstemning", + "Attenzione: rinominare una chiave non migra i libri già in quello stato.": "Advarsel: Omdøbning af en nøgle migrerer ikke bøger i denne status.", + "Bandito": "Udelukket", + "Benvenuto nel club \"%s\"!": "Velkommen til klubben „%s“!", + "Benvenuto nel club!": "Velkommen til klubben!", + "Book Club": "Læseklub", + "Calendario iCal": "iCal-kalender", + "Cerca nel catalogo della biblioteca e racconta al club perché vale la pena leggerlo.": "Søg i bibliotekets katalog og fortæl klubben, hvorfor den er værd at læse.", + "Cerca per titolo o ISBN…": "Søg efter titel eller ISBN…", + "Chiudere la votazione adesso? Il libro più votato avanzerà nel workflow.": "Vil du lukke afstemningen nu? Den mest stemte bog rykker frem i workflowet.", + "Chiudi la votazione adesso": "Luk afstemningen nu", + "Chiusa": "Lukket", + "Club": "Klub", + "Club aggiornato.": "Klub opdateret.", + "Club attivo": "Aktiv klub", + "Club creato.": "Klub oprettet.", + "Club di lettura": "Læsekredse", + "Club eliminato.": "Klub slettet.", + "Collegati": "Deltag online", + "Concluso": "Afsluttet", + "Crea club": "Opret klub", + "Crea incontro": "Opret møde", + "Creazione del club non riuscita.": "Oprettelse af klub mislykkedes.", + "Discussione aperta": "Åben diskussion", + "Dove:": "Hvor:", + "Elimina club": "Slet klub", + "Eliminare questo club? I dati restano nel database ma il club non sarà più visibile.": "Vil du slette denne klub? Dataene forbliver i databasen, men klubben vil ikke længere være synlig.", + "Email non inviata. Condividi manualmente questo link di invito: %s": "E-mail ikke sendt. Del dette invitationslink manuelt: %s", + "Email utente registrato": "E-mail for registreret bruger", + "Esplora i club": "Udforsk klubber", + "Fine (facoltativa)": "Slut (valgfri)", + "Fondatore": "Grundlægger", + "Forse": "Måske", + "Gestione dei club di lettura": "Håndtering af læsekredse", + "Hai già %d proposte aperte: attendi che vengano votate.": "Du har allerede %d åbne forslag: Vent på, at der stemmes om dem.", + "Hai lasciato il club.": "Du har forladt klubben.", + "I libri del club": "Klubbens bøger", + "I libri in votazione sostano qui": "Bøger til afstemning opholder sig her", + "I miei club": "Mine klubber", + "I miei club di lettura": "Mine læsekredse", + "Ibrido": "Hybrid", + "Il club \"%s\" si incontra il %s.": "Klubben „%s“ mødes den %s.", + "Il club ha raggiunto il numero massimo di membri.": "Klubben har nået det maksimale antal medlemmer.", + "Il club ha scelto: %s": "Klubben har valgt: %s", + "Il club non è più disponibile.": "Klubben er ikke længere tilgængelig.", + "Il nome del club è obbligatorio.": "Klubbens navn er obligatorisk.", + "Il workflow deve avere almeno due stati.": "Workflowet skal have mindst to statusser.", + "In lettura": "Læses", + "In moderazione": "Til moderering", + "In presenza": "Fremmøde", + "In programma": "Planlagt", + "In votazione": "Til afstemning", + "Incontri": "Møder", + "Incontro aggiornato.": "Møde opdateret.", + "Incontro non creato, riprova.": "Møde ikke oprettet, prøv igen.", + "Incontro pianificato.": "Møde planlagt.", + "Invia invito": "Send invitation", + "Invia proposta": "Indsend forslag", + "Invita un lettore": "Inviter en læser", + "Invito al club di lettura \"%s\"": "Invitation til læsekredsen „%s“", + "Invito inviato a %s.": "Invitation sendt til %s.", + "Invito non creato, riprova.": "Invitation ikke oprettet, prøv igen.", + "Invito non valido o scaduto.": "Ugyldig eller udløbet invitation.", + "La votazione è chiusa.": "Afstemningen er lukket.", + "Lascia il club": "Forlad klubben", + "Le transizioni di stato si gestiscono dalla pagina pubblica del club (come moderatore).": "Statustransitioner håndteres fra klubbens offentlige side (som moderator).", + "Leggi insieme: proposte, votazioni e incontri.": "Læs sammen: forslag, afstemninger og møder.", + "Lettura corrente": "Nuværende læsning", + "Libri del club": "Klubbens bøger", + "Libro non trovato in catalogo.": "Bog ikke fundet i kataloget.", + "Link videoconferenza": "Videokonferencelink", + "Massimo proposte aperte per membro": "Maksimalt antal åbne forslag pr. medlem", + "Membri": "Medlemmer", + "Membro aggiornato.": "Medlem opdateret.", + "Membro aggiunto al club.": "Medlem tilføjet til klubben.", + "Membro approvato.": "Medlem godkendt.", + "Modera le proposte: un moderatore deve approvarle prima che diventino visibili": "Moderér forslag: En moderator skal godkende dem, før de bliver synlige", + "Modifica club": "Rediger klub", + "Mostrato come \"lettura corrente\" nella dashboard": "Vises som \"nuværende læsning\" på kontrolpanelet", + "Mostrato nella pagina del club, visibile a tutti i membri.": "Vises på klubbens side, synlig for alle medlemmer.", + "Nascosto — invisibile nelle liste": "Skjult — usynlig i lister", + "Nessun club ancora. Crea il primo!": "Ingen klubber endnu. Opret den første!", + "Nessun club di lettura attivo al momento.": "Ingen aktive læsekredse i øjeblikket.", + "Nessun incontro in programma.": "Ingen kommende møder.", + "Nessun incontro pianificato.": "Ingen planlagte møder.", + "Nessun incontro.": "Ingen møder.", + "Nessun libro collegato": "Ingen tilknyttet bog", + "Nessun libro in lettura.": "Ingen bog læses i øjeblikket.", + "Nessun libro in questo stato.": "Ingen bøger i denne status.", + "Nessun libro: le proposte dei membri appariranno qui.": "Ingen bøger: Medlemmernes forslag vil blive vist her.", + "Nessun membro.": "Ingen medlemmer.", + "Nessun utente registrato con questa email.": "Ingen registreret bruger med denne e-mail.", + "Nessuna votazione al momento.": "Ingen afstemninger i øjeblikket.", + "Nessuna votazione aperta.": "Ingen åbne afstemninger.", + "Nessuna votazione.": "Ingen afstemninger.", + "Nome del club": "Klubbens navn", + "Non ci sono più posti disponibili per questo incontro.": "Der er ikke flere ledige pladser til dette møde.", + "Non fai ancora parte di nessun club.": "Du er endnu ikke med i nogen klub.", + "Non puoi unirti a questo club.": "Du kan ikke tilmelde dig denne klub.", + "Numero massimo membri": "Maksimalt antal medlemmer", + "Nuovo club": "Ny klub", + "Opzione non valida.": "Ugyldig mulighed.", + "Ordine del giorno (facoltativo)": "Dagsorden (valgfri)", + "Pagina pubblica": "Offentlig side", + "Partecipazione registrata.": "Deltagelse registreret.", + "Parteciperai?": "Deltager du?", + "Perché proponi questo libro? (facoltativo)": "Hvorfor foreslår du denne bog? (valgfri)", + "Pianifica un incontro": "Planlæg et møde", + "Posti (illimitati)": "Pladser (ubegrænsede)", + "Preferenza multipla": "Flervalg", + "Preferenza multipla: %d voti a testa": "Flervalg: %d stemmer hver", + "Preferenza multipla: %d voto a testa": "Flervalg: %d stemme hver", + "Privato — adesione con approvazione": "Privat — tilmelding med godkendelse", + "Promemoria: \"%s\" — incontro del club \"%s\"": "Påmindelse: „%s“ — møde i klubben „%s“", + "Proponi un libro": "Foreslå en bog", + "Proposta aggiunta al club.": "Forslag tilføjet til klubben.", + "Proposta inviata: sarà visibile dopo l'approvazione di un moderatore.": "Forslag sendt: Det vil være synligt efter godkendelse af en moderator.", + "Proposta non salvata, riprova.": "Forslag ikke gemt, prøv igen.", + "Proposta rifiutata.": "Forslag afvist.", + "Proposte da moderare": "Forslag til moderering", + "Proposto": "Foreslået", + "Prossimo incontro": "Næste møde", + "Pubblico — chiunque può unirsi": "Offentlig — alle kan deltage", + "Puoi esprimere al massimo %d voti.": "Du kan afgive højst %d stemmer.", + "Puoi esprimere al massimo %d voto.": "Du kan afgive højst %d stemme.", + "Puoi selezionare fino a %d libri.": "Du kan vælge op til %d bøger.", + "Questo club è accessibile solo su invito.": "Denne klub er kun tilgængelig efter invitation.", + "Questo libro è già presente nel club.": "Denne bog findes allerede i klubben.", + "Regolamento del club": "Klubbens reglement", + "Richiedi di partecipare": "Anmod om at deltage", + "Richiesta in attesa di approvazione": "Anmodning afventer godkendelse", + "Richiesta inviata: un moderatore deve approvarla.": "Anmodning sendt: En moderator skal godkende den.", + "Richiesta rifiutata.": "Anmodning afvist.", + "Rimuovi stato": "Fjern status", + "Ruolo non valido.": "Ugyldig rolle.", + "Salva workflow": "Gem workflow", + "Scadenza (facoltativa)": "Frist (valgfri)", + "Scelto": "Valgt", + "Se non hai ancora un account, registrati prima con questo indirizzo email.": "Hvis du ikke har en konto endnu, skal du registrere dig med denne e-mailadresse først.", + "Segna come svolto": "Marker som udført", + "Sei stato invitato a unirti al club di lettura \"%s\".": "Du er blevet inviteret til at deltage i læsekredsen „%s“.", + "Seleziona almeno due proposte da mettere in votazione.": "Vælg mindst to forslag til afstemning.", + "Seleziona almeno un libro.": "Vælg mindst én bog.", + "Seleziona un libro dal catalogo.": "Vælg en bog fra kataloget.", + "Servono almeno due proposte per aprire una votazione.": "Der kræves mindst to forslag for at åbne en afstemning.", + "Sezione archivio": "Arkivsektion", + "Solo i membri attivi del club possono votare.": "Kun aktive klubmedlemmer kan stemme.", + "Solo i membri attivi possono votare.": "Kun aktive medlemmer kan stemme.", + "Sposta": "Flyt", + "Stati ordinati che ogni libro attraversa. Il primo stato accoglie le proposte; il vincitore di una votazione avanza allo stato successivo.": "Sorterede statusser, som hver bog gennemgår. Den første status modtager forslag; vinderen af en afstemning rykker til den næste status.", + "Stato del libro aggiornato.": "Bogstatus opdateret.", + "Su invito": "Efter invitation", + "Su invito — solo con link di invito": "Efter invitation — kun med invitationslink", + "Svolto": "Udført", + "Titolo (es. Votazione autunno 2026)": "Titel (f.eks. Efterårsafstemning 2026)", + "Titolo dell'incontro": "Mødets titel", + "Titolo e data di inizio sono obbligatori.": "Titel og startdato er obligatoriske.", + "Una delle proposte selezionate non è valida.": "Et af de valgte forslag er ugyldigt.", + "Unisciti al club": "Bliv medlem af klubben", + "Uscito": "Udmeldt", + "Vai alla pagina del club": "Gå til klubbens side", + "Verbale": "Referat", + "Vota": "Stem", + "Votazione": "Afstemning", + "Votazione aperta.": "Afstemning åbnet.", + "Votazione chiusa.": "Afstemning lukket.", + "Votazione della prossima lettura": "Afstemning om næste læsning", + "Votazione non creata, riprova.": "Afstemning ikke oprettet, prøv igen.", + "Votazioni": "Afstemninger", + "Votazioni aperte": "Åbne afstemninger", + "Voti per membro (solo preferenza multipla)": "Stemmer pr. medlem (kun flervalg)", + "Voto non registrato, riprova.": "Stemme ikke registreret, prøv igen.", + "Voto pubblico": "Åben afstemning", + "Voto registrato. Puoi modificarlo finché la votazione è aperta.": "Stemme registreret. Du kan ændre den, så længe afstemningen er åben.", + "Voto segreto": "Hemmelig afstemning", + "Voto singolo": "Enkeltstemme", + "Vuoi davvero lasciare il club?": "Vil du virkelig forlade klubben?", + "Workflow aggiornato.": "Workflow opdateret.", + "Workflow del libro": "Bog-workflow", + "Workflow predefinito": "Standard-workflow", + "adesione in attesa di approvazione": "tilmelding afventer godkendelse", + "forse": "måske", + "illimitato": "ubegrænset", + "membri": "medlemmer", + "posti": "pladser", + "proposto da": "foreslået af", + "scade il": "udløber den", + "scaduta il": "udløb den", + "Votazione terminata": "Afstemningen er afsluttet", + "Questo libro è già collegato a un'altra proposta di questo club: non è stato acquisito di nuovo.": "Denne bog er allerede knyttet til et andet forslag i denne klub og blev ikke tilføjet igen.", + "La scadenza della votazione è passata: la votazione è stata chiusa e il tuo voto non è stato registrato.": "Afstemningsfristen er udløbet: Afstemningen er blevet lukket, og din stemme blev ikke registreret.", + "sì": "ja", + "votanti": "deltagere", + "voti": "stemmer", + "voto": "stemme", + "voto pubblico": "åben afstemning", + "voto segreto": "hemmelig afstemning", + "%1$d copie disponibili su %2$d": "%1$d af %2$d eksemplarer tilgængelige", + "%1$d membri su %2$d hanno finito il libro": "%1$d af %2$d medlemmer har afsluttet bogen", + "%1$d partecipanti, %2$d copie: valuta l'acquisto di altre copie o l'allungamento dei tempi di lettura.": "%1$d deltagere, %2$d eksemplarer: Overvej at købe flere eksemplarer eller forlænge læsetiden.", + "%d lettori hanno registrato un progresso": "%d læsere har registreret en fremgang", + "%d libri": "%d bøger", + "%d membri del club lo hanno in prestito": "%d klubmedlemmer har den udlånt", + "%d membri l'hanno superata": "%d medlemmer har passeret den", + "%d membro del club lo ha in prestito": "%d klubmedlem har den udlånt", + "%d prenotazione in lista d'attesa": "%d reservation på ventelisten", + "%d prenotazioni in lista d'attesa": "%d reservationer på ventelisten", + "%d proposte": "%d forslag", + "%d proposte in attesa di moderazione": "%d forslag venter på moderering", + "%d stelle su 5": "%d af 5 stjerner", + "%d votazione aperta": "%d åben afstemning", + "%d votazioni aperte": "%d åbne afstemninger", + "(modificato)": "(redigeret)", + "24 ore prima · email · gestito dal sistema": "24 timer før · e-mail · styret af systemet", + "Aggiorna progresso": "Opdater fremskridt", + "Aggiungi sezione": "Tilføj sektion", + "Ancora nessuna discussione: apri la prima!": "Ingen diskussioner endnu: åbn den første!", + "Annuncio": "Bekendtgørelse", + "Anticipo (ore)": "Forudsigelse (timer)", + "Approvare le proposte": "Godkend forslag", + "Approvare le richieste di adesione": "Godkend tilmeldingsanmodninger", + "Apri discussione": "Åbn diskussion", + "Apri il tracker di lettura": "Åbn læsesporingsværktøj", + "Apri una nuova discussione": "Åbn en ny diskussion", + "Apri una nuova discussione…": "Åbn en ny diskussion…", + "Aprire votazioni": "Åbn afstemninger", + "Assegna almeno una valutazione in stelle.": "Tildel mindst én stjernebedømmelse.", + "Assegna una posizione a ogni libro: 1 = preferito.": "Tildel en position til hver bog: 1 = favorit.", + "Automazioni": "Automatiseringer", + "Automazioni aggiornate.": "Automatiseringer opdateret.", + "Avanzamento medio del club": "Gennemsnitligt klubfremskridt", + "Avvisa i membri quando la fine della lettura corrente si avvicina.": "Giv medlemmer besked, når slutningen på den nuværende læsning nærmer sig.", + "Avvisa i membri quando una votazione aperta sta per chiudersi.": "Giv medlemmer besked, når en åben afstemning er ved at lukke.", + "Biblioteca e recensioni": "Bibliotek og anmeldelser", + "Blocca": "Bloker", + "Bloccata": "Blokeret", + "Book Club: scadenza lettura": "Læseklub: Læsefrist", + "Book Club: votazione in chiusura": "Læseklub: Afstemning lukker snart", + "Capitolo": "Kapitel", + "Chiudere votazioni": "Luk afstemninger", + "Chiusa il": "Lukket den", + "Classifica (Borda)": "Rangliste (Borda)", + "Classifica completa (conteggio Borda)": "Komplet rangliste (Borda-tælling)", + "Concludere il turno corrente? Il libro ultimo classificato sarà eliminato.": "Vil du afslutte den nuværende runde? Den sidstplacerede bog vil blive fjernet.", + "Concludi il turno": "Afslut runden", + "Condividi le tue impressioni… usa @nome per menzionare un membro.": "Del dine indtryk… brug @navn for at nævne et medlem.", + "Crea ruolo": "Opret rolle", + "Crea stagione": "Opret sæson", + "Creare incontri": "Opret møder", + "Creazione del ruolo non riuscita.": "Oprettelse af rolle mislykkedes.", + "Cronologia stati": "Statushistorik", + "Descrizione (facoltativa)": "Beskrivelse (valgfri)", + "Discussione aperta.": "Diskussion åbnet.", + "Discussione bloccata.": "Diskussion blokeret.", + "Discussione dal": "Diskussion fra", + "Discussione fissata in alto.": "Diskussion fastgjort øverst.", + "Discussione non creata, riprova.": "Diskussion ikke oprettet, prøv igen.", + "Discussione non più in evidenza.": "Diskussion ikke længere fremhævet.", + "Discussione sbloccata.": "Diskussion unblokeret.", + "Discussioni": "Diskussioner", + "Disponibilità copie, prestiti dei membri, lista d'attesa e recensioni del club": "Eksemplartilgængelighed, medlemmers udlån, venteliste og klubanmeldelser", + "Disponibilità in biblioteca": "Tilgængelighed på biblioteket", + "Dove sono arrivato": "Hvor jeg er nået til", + "Elimina ruolo": "Slet rolle", + "Eliminare definitivamente questo ruolo?": "Vil du slette denne rolle permanent?", + "Eliminare questa sezione?": "Vil du slette denne sektion?", + "Eliminare questa stagione?": "Vil du slette denne sæson?", + "Eliminato al turno %d": "Udgået i runde %d", + "Eliminazione progressiva": "Trinvis eliminering", + "Eliminazione progressiva — turno %d": "Trinvis eliminering — runde %d", + "Email + in-app": "E-mail + in-app", + "Es. Capitoli 1–5": "F.eks. Kapitler 1–5", + "Eseguire le esportazioni": "Udfør eksport", + "Esempi: Bibliotecario, Organizzatore eventi, Curatore Fantasy, Tesoriere.": "Eksempler: Bibliotekar, Eventarrangør, Fantasy-kurator, Kasserer.", + "Esporta JSON": "Eksporter JSON", + "Fine lettura": "Læseende", + "Fissa in alto": "Fastgør øverst", + "Generale": "Generelt", + "Governance e automazioni": "Governance og automatiseringer", + "Hai finito questo libro!": "Du har afsluttet denne bog!", + "Hai già recensito questo libro.": "Du har allerede anmeldt denne bog.", + "Hai già recensito tutti i libri conclusi dal club.": "Du har allerede anmeldt alle bøger, som klubben har afsluttet.", + "Ho finito il libro": "Jeg har læst bogen færdig", + "Il club \"%s\" concluderà la lettura di \"%s\" il %s.": "Klubben „%s“ afslutter læsningen af „%s“ den %s.", + "Il club sta leggendo": "Klubben læser", + "Il messaggio non può essere vuoto.": "Beskeden må ikke være tom.", + "Il mio progresso": "Mit fremskridt", + "Il nome del ruolo è obbligatorio.": "Rollens navn er obligatorisk.", + "Il nome della stagione è obbligatorio.": "Sæsonens navn er obligatorisk.", + "Il promemoria degli incontri è sempre attivo e viene inviato dal nucleo del plugin.": "Mødepåmindelsen er altid aktiv og sendes af plugin-kernen.", + "Il ruolo è assegnato ad almeno un membro e non può essere eliminato.": "Rollen er tildelt mindst ét medlem og kan ikke slettes.", + "Il ruolo è in uso e non può essere eliminato.": "Rollen er i brug og kan ikke slettes.", + "Il titolo della discussione è obbligatorio.": "Diskussionens titel er obligatorisk.", + "Il titolo della sezione è obbligatorio.": "Sektionens titel er obligatorisk.", + "Impossibile aggiornare la sezione.": "Kan ikke opdatere sektionen.", + "Impossibile aggiornare la stagione.": "Kan ikke opdatere sæsonen.", + "Impossibile aggiungere la sezione.": "Kan ikke tilføje sektionen.", + "Impossibile creare la stagione.": "Kan ikke oprette sæsonen.", + "Impossibile eliminare la sezione.": "Kan ikke slette sektionen.", + "Impossibile eliminare la stagione.": "Kan ikke slette sæsonen.", + "Impossibile impostare la stagione corrente.": "Kan ikke indstille den aktuelle sæson.", + "Impossibile salvare il progresso. Riprova.": "Kan ikke gemme fremskridt. Prøv igen.", + "Imposta come corrente": "Indstil som nuværende", + "Imposta come stagione corrente": "Indstil som nuværende sæson", + "In evidenza": "Fremhævet", + "In prestito a:": "Udlånt til:", + "Incontri svolti": "Afholdte møder", + "Inizio lettura": "Læasestart", + "Invia risposta": "Send svar", + "Invitare lettori": "Inviter læsere", + "La discussione è bloccata: non è possibile aggiungere messaggi.": "Diskussionen er blokeret: Det er ikke muligt at tilføje beskeder.", + "La lettura di \"%s\" per il club \"%s\" si conclude a breve": "Læsningen af „%s“ for klubben „%s“ slutter snart", + "La recensione contiene spoiler": "Anmeldelsen indeholder spoilers", + "La recensione sarà pubblicata dopo l'approvazione di un amministratore della biblioteca.": "Anmeldelsen vil blive offentliggjort efter godkendelse af en biblioteksadministrator.", + "La tua attività": "Din aktivitet", + "La tua recensione…": "Din anmeldelse…", + "La votazione \"%s\" del club \"%s\" si chiude a breve": "Afstemningen „%s“ i klubben „%s“ lukker snart", + "La votazione \"%s\" si chiude il %s: fai sentire la tua voce!": "Afstemningen „%s“ lukker den %s: Gør din stemme hørt!", + "Le modalità in breve": "Tilstandene i korthed", + "Le stelle vanno da 1 a 5.": "Stjerner går fra 1 til 5.", + "Le votazioni avanzate non sono attive per questo club.": "Avancerede afstemninger er ikke aktive for denne klub.", + "Lettura condivisa": "Fælles læsning", + "Libera": "Fri", + "Libri conclusi": "Afsluttede bøger", + "Libri nel club": "Bøger i klubben", + "Libri per stato": "Bøger efter status", + "Livello spoiler": "Spoilerniveau", + "Media stelle recensioni": "Gennemsnit af anmeldelsesstjerner", + "Membri attivi": "Aktive medlemmer", + "Messaggio non pubblicato, riprova.": "Besked ikke offentliggjort, prøv igen.", + "Messaggio pubblicato.": "Besked offentliggjort.", + "Messaggio rimosso.": "Besked fjernet.", + "Modalità": "Tilstand", + "Modalità di voto": "Afstemningstilstand", + "Moderare le discussioni": "Moderér diskussioner", + "Modificato da": "Ændret af", + "Mostra la recensione (contiene spoiler)": "Vis anmeldelse (indeholder spoilers)", + "Nel club \"%s\" la lettura di \"%s\" termina il %s.": "I klubben „%s“ slutter læsningen af „%s“ den %s.", + "Nel club \"%s\" la votazione \"%s\" si chiude il %s.": "I klubben „%s“ lukker afstemningen „%s“ den %s.", + "Nessun libro proposto finora.": "Ingen bøger foreslået indtil videre.", + "Nessun messaggio: scrivi il primo!": "Ingen beskeder: Skriv den første!", + "Nessun ruolo personalizzato: creane uno qui sotto.": "Ingen tilpasset rolle: Opret en nedenfor.", + "Nessuna recensione approvata per i libri conclusi dal club.": "Ingen godkendte anmeldelser for bøger afsluttet af klubben.", + "Nessuna sezione collegata": "Ingen tilknyttet sektion", + "Nessuna sezione definita per questo libro.": "Ingen sektioner defineret for denne bog.", + "Nessuna stagione definita.": "Ingen sæson defineret.", + "Nessuno spoiler": "Ingen spoilers", + "Nome del ruolo": "Rollens navn", + "Nome della stagione (es. 2026 Primavera)": "Sæsonens navn (f.eks. Forår 2026)", + "Notifica in-app": "In-app-notifikation", + "Nuova sezione": "Ny sektion", + "Nuova stagione": "Ny sæson", + "Nuovo ruolo": "Ny rolle", + "Obiettivo libri": "Bogmål", + "Obiettivo: %d libri": "Mål: %d bøger", + "Oltre ai ruoli di sistema (Fondatore, Moderatore, Membro, Ospite) puoi definire ruoli su misura spuntando i permessi dalla matrice.": "Udover systemrollerne (Grundlægger, Moderator, Medlem, Gæst) kan du definere skræddersyede roller ved at markere tilladelserne i matrixen.", + "Opzioni votazione": "Afstemningsmuligheder", + "Ordina tutti i libri assegnando a ciascuno una posizione diversa da 1 a %d.": "Sorter alle bøger ved at tildele hver en anden position fra 1 til %d.", + "Ordine": "Rækkefølge", + "Organizza le letture in stagioni con archivio storico": "Organiser læsninger i sæsoner med et historisk arkiv", + "Parità in testa: proclama il vincitore tra le opzioni evidenziate.": "Uafgjort i toppen: Proklamér vinderen blandt de fremhævede muligheder.", + "Parità in testa: un moderatore deve proclamare il vincitore.": "Uafgjort i toppen: En moderator skal proklamere vinderen.", + "Parte": "Del", + "Percentuale letta": "Læst procentdel", + "Percentuale minima di membri attivi che devono votare perché ci sia un vincitore": "Minimumsprocentdel af aktive medlemmer, der skal stemme, for at der er en vinder", + "Personaggio": "Karakter", + "Personalizzata": "Tilpasset", + "Pesi fissi: fondatore ×2,0 · moderatore ×1,5 · membro ×1,0.": "Faste vægte: grundlægger ×2,0 · moderator ×1,5 · medlem ×1,0.", + "Posizione in classifica (1 = preferito)": "Placering på ranglisten (1 = favorit)", + "Post scritti": "Skrevne indlæg", + "Presenze confermate": "Bekræftede tilstedeværelser", + "Proclama vincitore": "Proklamér vinder", + "Proclamare questo libro vincitore? Avanzerà nel workflow.": "Vil du proklamere denne bog som vinder? Den vil rykke frem i workflowet.", + "Progresso aggiornato.": "Fremskridt opdateret.", + "Promemoria automatici inviati ai membri attivi dal cron di manutenzione. Ogni avviso parte una sola volta per libro o votazione.": "Automatiske påmindelser sendes til aktive medlemmer af vedligeholdelses-cron'en. Hver advarsel sendes én gang pr. bog eller afstemning.", + "Promemoria incontro": "Mødepåmindelse", + "Proporre libri": "Foreslå bøger", + "Proposto da": "Foreslået af", + "Pubblica messaggio": "Offentliggør besked", + "Punteggio": "Point", + "Punti deboli": "Svagheder", + "Punti deboli (facoltativo)": "Svagheder (valgfri)", + "Punti di forza": "Styrker", + "Punti di forza (facoltativo)": "Styrker (valgfri)", + "Puoi eliminare solo stagioni senza libri.": "Du kan kun slette sæsoner uden bøger.", + "Puoi recensire solo i libri che il club ha concluso.": "Du kan kun anmelde bøger, som klubben har afsluttet.", + "Quando": "Hvornår", + "Questa discussione è bloccata.": "Denne diskussion er blokeret.", + "Questa opzione non era tra quelle in parità.": "Denne mulighed var ikke blandt dem, der stod uafgjort.", + "Quorum": "Quorum", + "Quorum % (facoltativo)": "Quorum % (valgfri)", + "Quorum non raggiunto": "Quorum ikke nået", + "Quorum non raggiunto: la votazione si è chiusa senza vincitore.": "Quorum ikke nået: Afstemningen sluttede uden en vinder.", + "Reagisci": "Reager", + "Reazione non valida.": "Ugyldig reaktion.", + "Recensione inviata! Sarà visibile dopo l'approvazione di un amministratore.": "Anmeldelse sendt! Den vil være synlig efter godkendelse af en administrator.", + "Recensioni del club": "Klubbens anmeldelser", + "Redigere i verbali": "Udarbejde referater", + "Rimuovere questo messaggio?": "Vil du fjerne denne besked?", + "Rimuovi messaggio": "Fjern besked", + "Ruoli del club": "Klubroller", + "Ruoli personalizzati": "Tilpassede roller", + "Ruoli personalizzati con permessi granulari e promemoria automatici": "Tilpassede roller med detaljerede rettigheder og automatiske påmindelser", + "Ruolo aggiornato.": "Rolle opdateret.", + "Ruolo creato.": "Rolle oprettet.", + "Ruolo eliminato.": "Rolle slettet.", + "Salva automazioni": "Gem automatiseringer", + "Salva ruolo": "Gem rolle", + "Sblocca": "Fjern blokering", + "Scadenza lettura": "Læsefrist", + "Scegli il libro concluso…": "Vælg den afsluttede bog…", + "Scrivi un messaggio": "Skriv en besked", + "Scrivi una recensione": "Skriv en anmeldelse", + "Scrivi una risposta…": "Skriv et svar…", + "Seleziona un solo libro per questo turno.": "Vælg kun én bog til denne runde.", + "Senza stagione": "Uden sæson", + "Sezione aggiornata.": "Sektion opdateret.", + "Sezione aggiunta.": "Sektion tilføjet.", + "Sezione eliminata.": "Sektion slettet.", + "Sezioni del libro": "Bogens sektioner", + "Sezioni del libro, tracker di avanzamento e progressi del club": "Bogens sektioner, fremskridtssporingsværktøj og klubbens fremskridt", + "Solo i membri attivi del club possono aggiornare il progresso.": "Kun aktive klubmedlemmer kan opdatere fremskridtet.", + "Solo i membri attivi del club possono aprire discussioni.": "Kun aktive klubmedlemmer kan åbne diskussioner.", + "Solo i membri attivi del club possono inviare recensioni.": "Kun aktive klubmedlemmer kan indsende anmeldelser.", + "Solo i membri attivi del club possono reagire ai messaggi.": "Kun aktive klubmedlemmer kan reagere på beskeder.", + "Solo i membri attivi del club possono registrare il proprio progresso.": "Kun aktive klubmedlemmer kan registrere deres eget fremskridt.", + "Solo i membri attivi del club possono scrivere messaggi.": "Kun aktive klubmedlemmer kan skrive beskeder.", + "Solo i moderatori possono pubblicare annunci.": "Kun moderatorer kan offentliggøre bekendtgørelser.", + "Spareggio in caso di parità": "Omkamp i tilfælde af uafgjort", + "Spareggio: decide un moderatore": "Omkamp: En moderator afgør det", + "Spareggio: sorteggio deterministico": "Omkamp: Deterministisk lodtrækning", + "Spareggio: vince la proposta più antica": "Omkamp: Det ældste forslag vinder", + "Spoiler": "Spoiler", + "Spoiler completo": "Komplet spoiler", + "Spoiler fino a… (facoltativo)": "Spoiler op til… (valgfri)", + "Spoiler leggero": "Let spoiler", + "Spoiler — fino a: %s": "Spoiler — op til: %s", + "Spostare i libri nel workflow": "Flytte bøger i workflowet", + "Stagione aggiornata.": "Sæson opdateret.", + "Stagione corrente": "Aktuel sæson", + "Stagione creata.": "Sæson oprettet.", + "Stagione eliminata.": "Sæson slettet.", + "Stagione impostata come corrente.": "Sæson indstillet som nuværende.", + "Stagioni": "Sæsoner", + "Statistiche del club": "Klubstatistikker", + "Statistiche di lettura del club e dei membri, con export dei dati": "Læsestatistikker for klubben og medlemmerne, med dataeksport", + "Stelle (0 = nessun voto)": "Stjerner (0 = ingen stemme)", + "Stelle (1–5)": "Stjerner (1–5)", + "Stelle, classifica, eliminazione progressiva, voto ponderato, quorum e spareggi": "Stjerner, rangliste, trinvis eliminering, vægtet stemme, quorum og omkampe", + "Stelle: valuta i libri da 1 a 5": "Stjerner: Bedøm bøgerne fra 1 til 5", + "Storico letture": "Læsehistorik", + "Thread per libro e capitolo con spoiler protetti, reazioni e menzioni": "Tråde pr. bog og kapitel med beskyttede spoilers, reaktioner og omtaler", + "Titolo della discussione": "Diskussionens titel", + "Titolo della recensione (facoltativo)": "Anmeldelsens titel (valgfri)", + "Togli evidenza": "Fjern fremhævelse", + "Top proponenti": "Top-forslagsstillere", + "Torna al club": "Tilbage til klubben", + "Turno concluso: il libro ultimo classificato è stato eliminato. Si apre il turno %d.": "Runde afsluttet: Den sidstplacerede bog er blevet elimineret. Runde %d åbner.", + "Tutte le discussioni": "Alle diskussioner", + "Tutte le modalità avanzate: stelle, classifica, eliminazione, voto ponderato, quorum e spareggio.": "Alle avancerede tilstande: stjerner, rangliste, eliminering, vægtet stemme, quorum og omkamp.", + "Tutte le votazioni": "Alle afstemninger", + "Ultima sezione completata": "Sidste gennemførte sektion", + "Un voto per turno: siamo al turno %d.": "Én stemme pr. runde: Vi er i runde %d.", + "Vai alla scheda del libro per prenotare la tua copia": "Gå til bogkortet for at reservere dit eksemplar", + "Vai alla votazione": "Gå til afstemning", + "Valuta da 1 a 5 stelle solo i libri che ti interessano.": "Bedøm kun de bøger, der interesserer dig, med 1 til 5 stjerner.", + "Valutazione…": "Bedømmelse…", + "Vedere le statistiche": "Se statistikker", + "Vedi tutte le statistiche": "Se alle statistikker", + "Vincitore": "Vinder", + "Vincitore non salvato, riprova.": "Vinder ikke gemt, prøv igen.", + "Vincitore proclamato: il libro avanza nel workflow.": "Vinder proklameret: Bogen rykker frem i workflowet.", + "Votazione in chiusura": "Afstemning lukker snart", + "Votazioni avanzate": "Avancerede afstemninger", + "Voti": "Stemmer", + "Voti espressi": "Afgivne stemmer", + "Voti per membro (preferenza multipla e voto ponderato)": "Stemmer pr. medlem (flervalg og vægtet afstemning)", + "Voto ponderato": "Vægtet afstemning", + "[messaggio rimosso]": "[besked fjernet]", + "a ogni turno esce il libro ultimo classificato, fino alla finale a due.": "i hver runde udgår den sidstplacerede bog, indtil finalen med to.", + "aperta da": "åbnet af", + "clicca per rivelare": "klik for at afsløre", + "come il voto singolo/multiplo, ma il voto del fondatore vale 2,0 punti e quello dei moderatori 1,5.": "som enkelt-/flervalg, men grundlæggerens stemme gælder for 2,0 point og moderatorernes for 1,5.", + "discussione": "diskussion", + "discussioni": "diskussioner", + "la votazione si è chiusa senza vincitore e le proposte tornano tra i libri proposti.": "afstemningen lukkede uden en vinder, og forslagene vender tilbage til de foreslåede bøger.", + "messaggi": "beskeder", + "messaggio": "besked", + "ogni membro dispone di più voti (campo «voti per membro»).": "hvert medlem har flere stemmer (feltet „stemmer pr. medlem“).", + "ogni membro ordina tutti i libri; conteggio Borda (1° = N punti).": "hvert medlem sorterer alle bøger; Borda-tælling (1. = N point).", + "ogni membro valuta i libri che preferisce da 1 a 5 stelle; vince la somma più alta.": "hvert medlem bedømmer sine foretrukne bøger fra 1 til 5 stjerner; den højeste sum vinder.", + "permessi": "rettigheder", + "punti": "point", + "quorum %d%%": "quorum %d%%", + "quorum %d%% dei membri attivi": "quorum %d%% af aktive medlemmer", + "se alla chiusura i votanti sono meno della percentuale indicata, non c'è vincitore e le proposte tornano disponibili.": "hvis vælgerne ved lukning er færre end den angivne procentdel, er der ingen vinder, og forslagene bliver tilgængelige igen.", + "turno %d": "runde %d", + "ultima attività": "seneste aktivitet", + "un voto a testa.": "én stemme hver.", + " di %s": "af %s", + "%1$d/%2$d generazioni nelle ultime 24 ore": "%1$d/%2$d generationer inden for de seneste 24 timer", + "%d g": "%d d", + "%d h": "%d t", + "%d libri non ancora letti dal club": "%d bøger endnu ikke læst af klubben", + "%d min": "%d min.", + "%d minuti": "%d minutter", + "%d pagine": "%d sider", + "%d pagine totali": "%d sider i alt", + "%d partecipanti": "%d deltagere", + "%d risposte": "%d svar", + "API JSON in sola lettura del plugin Book Club di Pinakes": "Skrivebeskyttet JSON-API til Pinakes Book Club-pluginnet", + "API JSON in sola lettura per app e integrazioni esterne (richiede una chiave API)": "Skrivebeskyttet JSON-API til apps og eksterne integrationer (kræver en API-nøgle)", + "API REST": "REST-API", + "API compatibile con Anthropic Messages (header anthropic-version). Solo HTTPS.": "API kompatibel med Anthropic Messages (anthropic-version header). Kun HTTPS.", + "Abilita le funzioni IA": "Aktiver AI-funktioner", + "Accetta": "Accepter", + "Affinità con %s": "Affinitet med %s", + "Affinità di lettura tra membri (opt-in) e suggerimenti automatici dal catalogo": "Læseaffinitet mellem medlemmer (tilvalg) og automatiske forslag fra kataloget", + "Affinità e suggerimenti": "Affinitet og forslag", + "Affinità tra lettori": "Affinitet mellem læsere", + "Aggiornata il": "Opdateret den", + "Aggiungi almeno una domanda prima di pubblicare.": "Tilføj mindst ét spørgsmål før offentliggørelse.", + "Aggiungi domanda": "Tilføj spørgsmål", + "Aggiungi una citazione": "Tilføj et citat", + "Ancora nessuna citazione: aggiungi la prima!": "Ingen citater endnu: Tilføj det første!", + "Ancora nessuna generazione per questo club.": "Ingen generationer endnu for denne klub.", + "Annotazione": "Note", + "Annotazione aggiornata.": "Note opdateret.", + "Annotazione aggiunta.": "Note tilføjet.", + "Annotazione eliminata.": "Note slettet.", + "Annotazioni": "Noter", + "Annotazioni condivise dal club": "Noter deles med klubben", + "Annullare questo sprint?": "Annullere denne sprint?", + "Anonimo": "Anonym", + "Aperto": "Åben", + "Apri affinità e suggerimenti": "Åbn affinitet og forslag", + "Apri l'assistente": "Åbn assistenten", + "Apri le impostazioni IA": "Åbn AI-indstillinger", + "Assistente IA": "AI-assistent", + "Attiva condivisione": "Aktiver deling", + "Attiva la condivisione per scoprire la tua affinità di lettura con gli altri membri.": "Aktiver deling for at opdage din læseaffinitet med de andre medlemmer.", + "Autori da riscoprire": "Forfattere der skal genopdages", + "Autori dei libri conclusi con altri titoli in catalogo non ancora letti dal club.": "Forfattere af afsluttede bøger med andre titler i kataloget, som klubben endnu ikke har læst.", + "Autori diversi": "Forskellige forfattere", + "Avanzamento": "Fremskridt", + "Avanzamento del club": "Klubbens fremskridt", + "Badge disponibili": "Tilgængelige badges", + "Book Club — Impostazioni IA": "Bogklub — AI-indstillinger", + "Bozza": "Udkast", + "Bozza creata: aggiungi le domande e pubblica quando è pronta.": "Udkast oprettet: Tilføj spørgsmålene og udgiv, når det er klar.", + "Bozze": "Udkast", + "Buddy Reading": "Makkerlæsning", + "Cambia visibilità": "Skift synlighed", + "Chiave API": "API-nøgle", + "Chiave attualmente configurata: %s": "Aktuelt konfigureret nøgle: %s", + "Chiude il": "Lukker den", + "Chiudere il questionario? Non accetterà più risposte.": "Vil du lukke spørgeskemaet? Det vil ikke længere acceptere svar.", + "Chiudi questionario": "Luk spørgeskema", + "Chiuso": "Lukket", + "Chiusura automatica (facoltativa)": "Automatisk lukning (valgfrit)", + "Citazione aggiunta.": "Citat tilføjet.", + "Citazione eliminata.": "Citat slettet.", + "Citazioni": "Citations", + "Citazioni dai libri del club con pagina e nota, annotazioni personali ed export dei propri dati": "Citater fra klubbens bøger med side og note, personlige noter og eksport af egne data", + "Citazioni del club": "Klubbens citater", + "Citazioni e annotazioni": "Citater og noter", + "Citazioni recenti": "Seneste citater", + "Classifica": "Rangliste", + "Classifica del club": "Klubbens rangliste", + "Club non trovato": "Klub ikke fundet", + "Come si guadagnano i punti": "Sådan optjenes point", + "Compagno di lettura": "Læsemakker", + "Concludi": "Afslut", + "Conclusa": "Afsluttet", + "Condivisione attiva": "Deling aktiv", + "Condivisione disattivata": "Deling deaktiveret", + "Crea bozza": "Opret udkast", + "Crea sprint": "Opret sprint", + "Data e ora di inizio non valide.": "Ugyldig startdato og -tidspunkt.", + "Descrizione del libro:": "Bogbeskrivelse:", + "Dettaglio del club con libri, incontri e votazioni aperte": "Klubdetaljer med bøger, møder og åbne afstemninger", + "Disattiva condivisione": "Deaktiver deling", + "Documento OpenAPI di questa API": "OpenAPI-dokument for denne API", + "Domanda aggiunta.": "Spørgsmål tilføjet.", + "Domanda eliminata.": "Spørgsmål slettet.", + "Domande": "Spørgsmål", + "Domande di discussione": "Diskussionsspørgsmål", + "Domande di discussione e riassunti dei verbali generati con l'IA (richiede chiave API configurata dall'amministratore)": "AI-genererede diskussionsspørgsmål og referatoversigter (kræver en API-nøgle konfigureret af administratoren)", + "Domande di discussione generate per «%s».": "Diskussionsspørgsmål genereret til \"%s\".", + "Dopo la pubblicazione le domande non saranno più modificabili.": "Efter offentliggørelse kan spørgsmålene ikke længere redigeres.", + "Durata (minuti)": "Varighed (minutter)", + "Elenco dei club attivi": "Liste over aktive klubber", + "Eliminare questa annotazione?": "Vil du slette denne note?", + "Eliminare questa citazione?": "Vil du slette dette citat?", + "Eliminare questa domanda?": "Vil du slette dette spørgsmål?", + "Eliminare questa sfida?": "Vil du slette denne udfordring?", + "Endpoint URL": "Slutpunkt-URL", + "Errore interno del server": "Intern serverfejl", + "Es. 12 libri in un anno": "F.eks. 12 bøger på et år", + "Es. Il finale ti ha convinto?": "F.eks. Overbeviste slutningen dig?", + "Es. Qual è il tuo personaggio preferito?": "F.eks. Hvem er din yndlingsfigur?", + "Es. Sprint del venerdì sera": "F.eks. Fredag ​​aften-sprint", + "Esiste già una lettura in coppia con questo membro su questo libro.": "Der findes allerede en fælles læsning med dette medlem for denne bog.", + "Esporta i miei dati (CSV)": "Eksporter mine data (CSV)", + "Esporta i miei dati (Markdown)": "Eksporter mine data (Markdown)", + "Esportato il %s": "Eksporteret den %s", + "Gamification": "Gamification", + "Genera 5 domande": "Generer 5 spørgsmål", + "Genera 5 domande aperte per l'incontro, a partire da titolo, autori e descrizione del libro nel catalogo.": "Generer 5 åbne spørgsmål til mødet baseret på bogens titel, forfattere og beskrivelse i kataloget.", + "Genera domande di discussione per un libro o il riassunto del verbale di un incontro.": "Generer diskussionsspørgsmål til en bog eller et referat af et møde.", + "Genera esattamente 5 domande di discussione per un club del libro che ha letto «%s»%s. Le domande devono stimolare il confronto tra i membri, toccare temi, personaggi e stile, ed essere aperte (mai a risposta sì/no). Formattale come elenco numerato da 1 a 5, una domanda per riga, senza testo introduttivo né conclusivo.": "Generer nøjagtigt 5 diskussionsspørgsmål til en bogklub, der har læst \"%s\"%s. Spørgsmålene skal stimulere udvekslingen mellem medlemmerne, berøre temaer, figurer og stil og være åbne (aldrig ja/nej-spørgsmål). Formater dem som en nummereret liste fra 1 til 5, ét spørgsmål pr. linje, uden indledende eller afsluttende tekst.", + "Genera riassunto": "Generer resumé", + "Genera un riassunto strutturato (sintesi, decisioni prese, prossimi passi) dal verbale di un incontro.": "Generer et struktureret resumé (overblik, trufne beslutninger, næste skridt) ud fra et mødereferat.", + "Generazione non riuscita: il servizio IA non ha risposto. Riprova più tardi.": "Generering mislykkedes: AI-tjenesten svarede ikke. Prøv igen senere.", + "Generazioni precedenti": "Tidligere generationer", + "Generi più letti dal club": "Klubbens mest læste genrer", + "Grazie, la tua risposta è stata registrata.": "Tak, dit svar er blevet registreret.", + "Hai attivato la condivisione delle affinità.": "Du har aktiveret deling af affiniteter.", + "Hai concluso 10 libri con il club": "Du har afsluttet 10 bøger med klubben", + "Hai concluso 50 libri con il club": "Du har afsluttet 50 bøger med klubben", + "Hai concluso il tuo primo libro con il club": "Du har afsluttet din første bog med klubben", + "Hai disattivato la condivisione delle affinità.": "Du har deaktiveret deling af affiniteter.", + "Hai espresso 10 voti nelle votazioni del club": "Du har afgivet 10 stemmer i klubafstemninger", + "Hai già risposto": "Du har allerede svaret", + "Hai già risposto a questo questionario.": "Du har allerede besvaret dette spørgeskema.", + "Hai organizzato 3 incontri del club": "Du har arrangeret 3 klubmøder", + "Hai pubblicato 5 recensioni approvate di libri del club": "Du har udgivet 5 godkendte anmeldelser af klubbøger", + "I punti vengono ricalcolati automaticamente al massimo una volta all'ora.": "Point genberegnes automatisk højst én gang i timen.", + "I risultati saranno visibili alla chiusura.": "Resultaterne vil være synlige ved lukning.", + "Il club ha già letto tutti i libri in catalogo per i suoi generi preferiti.": "Klubben har allerede læst alle katalogbøger for sine yndlingsgenrer.", + "Il compagno scelto non è un membro attivo del club.": "Den valgte læsemakker er ikke et aktivt medlem af klubben.", + "Il livello si calcola come 1 + parte intera della radice quadrata di XP/100: livello 2 a 100 XP, livello 3 a 400 XP, livello 4 a 900 XP.": "Niveauet beregnes som 1 + heltalsdelen af kvadratroden af XP/100: niveau 2 ved 100 XP, niveau 3 ved 400 XP, niveau 4 ved 900 XP.", + "Il mio contributo": "Mit bidrag", + "Il modulo IA non è configurato: chiedi all'amministratore di Pinakes di impostare la chiave API.": "AI-modulet er ikke konfigureret: Bed Pinakes-administratoren om at indstille API-nøglen.", + "Il modulo IA è opt-in: va attivato per ogni club e funziona solo con una chiave API configurata qui. La chiave è cifrata nel database e non viene mai mostrata per intero.": "AI-modulet er tilvalg (opt-in): Det skal aktiveres for hver klub og fungerer kun med en API-nøgle, der er konfigureret her. Nøglen krypteres i databasen og vises aldrig fuldstændigt.", + "Il modulo Lettura condivisa non è installato: l'avanzamento delle sfide non può essere calcolato.": "Modulet for fælles læsning er ikke installeret: Udfordringernes fremskridt kan ikke beregnes.", + "Il questionario viene creato come bozza: potrai aggiungere le domande e pubblicarlo quando è pronto.": "Spørgeskemaet oprettes som et udkast: Du kan tilføje spørgsmålene og udgive det, når det er klar.", + "Il testo dell'annotazione è obbligatorio.": "Notens tekst er påkrævet.", + "Il testo della citazione è obbligatorio.": "Citatets tekst er påkrævet.", + "Il testo della citazione…": "Citatets tekst...", + "Il testo della domanda è obbligatorio.": "Spørgsmålsteksten er påkrævet.", + "Il titolo del questionario è obbligatorio.": "Spørgeskemaets titel er påkrævet.", + "Il titolo della sfida è obbligatorio.": "Udfordringens titel er påkrævet.", + "Il titolo dello sprint è obbligatorio.": "Sprintens titel er påkrævet.", + "Impossibile accettare la proposta. Riprova.": "Forslaget kunne ikke accepteres. Prøv igen.", + "Impossibile aggiornare l'annotazione.": "Noten kunne ikke opdateres.", + "Impossibile aggiornare la citazione.": "Citatet kunne ikke opdateres.", + "Impossibile aggiornare la condivisione delle affinità. Riprova.": "Delingen af affiniteter kunne ikke opdateres. Prøv igen.", + "Impossibile annullare lo sprint. Riprova.": "Sprinten kunne ikke aflyses. Prøv igen.", + "Impossibile chiudere il questionario.": "Spørgeskemaet kunne ikke lukkes.", + "Impossibile concludere la lettura in coppia. Riprova.": "Den fælles læsning kunne ikke afsluttes. Prøv igen.", + "Impossibile creare il questionario. Riprova.": "Spørgeskemaet kunne ikke oprettes. Prøv igen.", + "Impossibile creare la lettura in coppia. Riprova.": "Den fælles læsning kunne ikke oprettes. Prøv igen.", + "Impossibile creare la sfida. Riprova.": "Udfordringen kunne ikke oprettes. Prøv igen.", + "Impossibile creare lo sprint. Riprova.": "Sprinten kunne ikke oprettes. Prøv igen.", + "Impossibile eliminare l'annotazione.": "Noten kunne ikke slettes.", + "Impossibile eliminare la citazione.": "Citatet kunne ikke slettes.", + "Impossibile eliminare la sfida.": "Udfordringen kunne ikke slettes.", + "Impossibile iscriversi allo sprint. Riprova.": "Tilmelding til sprinten mislykkedes. Prøv igen.", + "Impossibile pubblicare il questionario.": "Spørgeskemaet kunne ikke udgives.", + "Impossibile registrare la risposta. Riprova.": "Svaret kunne ikke registreres. Prøv igen.", + "Impossibile registrare le pagine lette. Riprova.": "De læste sider kunne ikke registreres. Prøv igen.", + "Impossibile rimuovere la proposta. Riprova.": "Forslaget kunne ikke fjernes. Prøv igen.", + "Impossibile ritirarsi dallo sprint. Riprova.": "Det lykkedes ikke at trække sig fra sprinten. Prøv igen.", + "Impossibile salvare il risultato generato.": "Det genererede resultat kunne ikke gemmes.", + "Impossibile salvare l'annotazione. Riprova.": "Noten kunne ikke gemmes. Prøv igen.", + "Impossibile salvare la citazione. Riprova.": "Citatet kunne ikke gemmes. Prøv igen.", + "Impossibile salvare la domanda. Riprova.": "Spørgsmålet kunne ikke gemmes. Prøv igen.", + "Impossibile salvare le impostazioni IA: controlla i log (chiave di cifratura configurata?).": "AI-indstillingerne kunne ikke gemmes: Tjek logfilerne (er krypteringsnøglen konfigureret?).", + "Impostazioni IA salvate.": "AI-indstillinger gemt.", + "Impostazioni assistente IA": "Indstillinger for AI-assistent", + "In coppia con %s": "Sammen med %s", + "In corso — termina tra %s": "I gang — slutter om %s", + "Incolla qui la chiave API": "Indsæt API-nøglen her", + "Incontro con verbale": "Møde med referat", + "Inizia tra %s": "Begynder om %s", + "Interruttore globale: anche i club con il modulo attivo non potranno generare nulla finché è spento.": "Global afbryder: Selv klubber med aktivt modul vil ikke kunne generere noget, så længe den er slukket.", + "Invia le risposte": "Send svar", + "Inviata il": "Indsendt den", + "Iscrizione allo sprint registrata.": "Tilmelding til sprint registreret.", + "L'avanzamento è ricalcolato automaticamente dal tracker di lettura: contano i libri del club segnati come finiti nell'anno.": "Fremskridtet genberegnes automatisk af læsetrackeren: Klubbider markeret som færdige i året tæller med.", + "L'endpoint deve essere un URL HTTPS valido.": "Slutpunktet skal være en gyldig HTTPS-URL.", + "L'incontro selezionato non ha un verbale da riassumere.": "Det valgte møde har ikke et referat, der kan opsummeres.", + "L'obiettivo deve essere un numero positivo.": "Målet skal være et positivt tal.", + "La classifica è ancora vuota: i punti vengono calcolati dalle attività del club.": "Ranglisten er stadig tom: Point beregnes ud fra klubbens aktiviteter.", + "La domanda \"%s\" è obbligatoria.": "Spørgsmålet \"%s\" er påkrævet.", + "La durata deve essere compresa tra %d e %d minuti.": "Varigheden skal være mellem %d og %d minutter.", + "La tua posizione": "Din placering", + "La tua sfida": "Din udfordring", + "Lascia vuoto per mantenere la chiave attuale": "Lad være tom for at beholde den aktuelle nøgle", + "Le affinità sono calcolate solo tra i membri che hanno attivato la condivisione: chi non aderisce non compare mai negli elenchi degli altri.": "Affiniteter beregnes kun mellem medlemmer, der har aktiveret deling: Dem der ikke deltager, vises aldrig på de andres lister.", + "Le domande a scelta richiedono almeno due opzioni (una per riga).": "Svarmulighedsspørgsmål kræver mindst to valgmuligheder (én pr. linje).", + "Le iscrizioni sono aperte solo prima dell'inizio dello sprint.": "Tilmelding er kun åben før sprintens start.", + "Le mie annotazioni": "Mine noter", + "Le mie citazioni e annotazioni": "Mine citater og noter", + "Le mie sfide di lettura": "Mine læseudfordringer", + "Le pagine lette si registrano solo a sprint concluso.": "Læste sider kan først registreres, når sprinten er afsluttet.", + "Le tue pagine lette": "Dine læste sider", + "Le tue riflessioni su questo libro…": "Dine tanker om denne bog...", + "Le tue risposte": "Dine svar", + "Leggenda del club": "Klublegende", + "Lettore instancabile": "Utrættelig læser", + "Lettura in coppia avviata. Buona lettura!": "Fælles læsning startet. God læselyst!", + "Lettura in coppia conclusa.": "Fælles læsning afsluttet.", + "Letture in coppia sui libri del club, con proposta e conferma tra membri": "Fælles læsning af klubbisk bøger med forslag og bekræftelse mellem medlemmer", + "Libri dal catalogo che il club non ha ancora letto": "Katalogbøger, som klubben endnu ikke har læst", + "Libri finiti": "Afsluttede bøger", + "Libro (facoltativo)": "Bog (valgfrit)", + "Libro collegato (facoltativo)": "Tilknyttet bog (valgfrit)", + "Libro concluso": "Bog afsluttet", + "Libro del club": "Klubbens bog", + "Libro in lettura": "Bog der læses", + "Limite di %d domande raggiunto.": "Grænsen på %d spørgsmål er nået.", + "Limite di sicurezza fisso: 20 generazioni per club nelle 24 ore.": "Fast sikkerhedsgrænse: 20 generationer pr. klub på 24 timer.", + "Limite di sicurezza raggiunto: massimo %d generazioni IA per club nelle ultime 24 ore. Riprova più tardi.": "Sikkerhedsgrænse nået: maksimalt %d AI-generationer pr. klub inden for de sidste 24 timer. Prøv igen senere.", + "Livello %d": "Niveau %d", + "Membri con condivisione attiva: %d": "Medlemmer med aktiv deling: %d", + "Metrica": "Metrik", + "Metrica non valida.": "Ugyldig metrik.", + "Modello": "Model", + "Modifica le domande": "Rediger spørgsmål", + "Modulo IA non configurato": "AI-modul ikke konfigureret", + "Nessun altro membro ha attivato la condivisione, per ora.": "Ingen andre medlemmer har aktiveret deling endnu.", + "Nessun altro membro ha condiviso annotazioni.": "Intet andet medlem har delt noter.", + "Nessun badge ancora: partecipa alla vita del club per sbloccarli!": "Ingen badges endnu: Deltag i klublivet for at låse dem op!", + "Nessun badge configurato.": "Ingen badges konfigureret.", + "Nessun incontro con verbale: compila prima il verbale di un incontro.": "Ingen møder med referat: Udfyld først et mødereferat.", + "Nessun libro (questionario del club)": "Ingen bog (klubspørgeskema)", + "Nessun libro attualmente in lettura: la coppia si propone sui libri in corso.": "Ingen bog læses i øjeblikket: Parret foreslås på igangværende bøger.", + "Nessun libro nel club: aggiungi prima un libro per annotarlo.": "Ingen bøger i klubben: Tilføj en bog først for at skrive noter til den.", + "Nessun libro nel club: aggiungi prima un libro per citarlo.": "Ingen bøger i klubben: Tilføj en bog først for at citere den.", + "Nessun libro nel club: proponi prima un libro.": "Ingen bøger i klubben: Foreslå en bog først.", + "Nessun libro specifico": "Ingen specifik bog", + "Nessun questionario aperto al momento.": "Ingen åbne spørgeskemaer i øjeblikket.", + "Nessun questionario chiuso.": "Ingen lukkede spørgeskemaer.", + "Nessun risultato disponibile.": "Ingen resultater tilgængelige.", + "Nessun suggerimento disponibile: il club non ha ancora concluso letture con un genere assegnato.": "Ingen forslag tilgængelige: Klubben har endnu ikke afsluttet læsninger med en tildelt genre.", + "Nessuna annotazione.": "Ingen noter.", + "Nessuna citazione.": "Ingen citater.", + "Nessuna domanda: aggiungi la prima qui sotto.": "Ingen spørgsmål: Tilføj det første nedenfor.", + "Nessuna lettura in coppia: proponine una a un altro membro!": "Ingen fælles læsning: Foreslå en til et andet medlem!", + "Nessuna risposta ricevuta.": "Ingen svar modtaget.", + "Nessuna risposta testuale.": "Ingen tekstsvar.", + "Nessuna sfida di club per il %d.": "Ingen klubudfordring for %d.", + "Nessuna sfida personale per il %d.": "Ingen personlig udfordring for %d.", + "Nessuno sprint ancora: crea il primo!": "Ingen sprint endnu: Opret den første!", + "Nessuno sprint in programma.": "Ingen sprint planlagt.", + "Non hai ancora scritto annotazioni.": "Du har ikke skrevet nogen noter endnu.", + "Non puoi eliminare questa sfida.": "Du kan ikke slette denne udfordring.", + "Nota": "Note", + "Nota personale (facoltativa)": "Personlig note (valgfrit)", + "Numero di pagine non valido.": "Ugyldigt sidetal.", + "Nuova annotazione": "Ny note", + "Nuova domanda": "Nyt spørgsmål", + "Nuova sfida di club": "Ny klubudfordring", + "Nuova sfida personale": "Ny personlig udfordring", + "Nuovo questionario": "Nyt spørgeskema", + "Nuovo sprint": "Ny sprint", + "Obiettivi annuali di lettura, personali o di club, con avanzamento ricalcolato automaticamente": "Årlige læsemål, personlige eller for klubben, med automatisk genberegnet fremskridt", + "Obiettivo": "Mål", + "Obiettivo annuale": "Årsmål", + "Opzioni (una per riga, solo per scelta singola/multipla)": "Valgmuligheder (én pr. linje, kun til enkelt-/flervalg)", + "Organizzane uno!": "Arranger en!", + "Organizzatore": "Arrangør", + "Pagine lette": "Læste sider", + "Pagine lette registrate.": "Læste sider registreret.", + "Partecipa": "Deltag", + "Per usare l'assistente IA (domande di discussione e riassunti dei verbali) l'amministratore di Pinakes deve configurare una chiave API nelle impostazioni del plugin.": "For at bruge AI-assistenten (diskussionsspørgsmål og referatoversigter) skal Pinakes-administratoren konfigurere en API-nøgle i plugin-indstillingerne.", + "Plugin Book Club non trovato nel registro dei plugin.": "Book Club-plugin blev ikke fundet i plugin-registeret.", + "Post scritto nelle discussioni": "Indlæg skrevet i diskussionerne", + "Presenza confermata a un incontro": "Bekræftet fremmøde til et møde", + "Primo libro": "Første bog", + "Privata": "Privat", + "Pronto? La pubblicazione apre il questionario ai membri e congela le domande.": "Klar? Udgivelsen åbner spørgeskemaet for medlemmerne og fastfryser spørgsmålene.", + "Proponi": "Foreslå", + "Proposta di lettura accettata": "Accepteret læseforslag", + "Proposta di lettura in coppia inviata: in attesa di conferma.": "Forslag til fælles læsning sendt: Venter på bekræftelse.", + "Proposta di lettura in coppia rimossa.": "Forslag til fælles læsning fjernet.", + "Prossimo livello a %d XP": "Næste niveau ved %d XP", + "Pubblica": "Udgiv", + "Pubblicare il questionario? Le domande non saranno più modificabili.": "Vil du udgive spørgeskemaet? Spørgsmålene kan derefter ikke længere redigeres.", + "Punti esperienza, livelli, badge e classifica dei membri del club": "Erfaringspoint, niveauer, badges og medlemsrangliste for klubben", + "Puoi rispondere una sola volta.": "Du kan kun svare én gang.", + "Puoi ritirarti solo prima dell'inizio dello sprint.": "Du kan kun trække dig før sprintens start.", + "Questa proposta è già stata gestita.": "Dette forslag er allerede blevet behandlet.", + "Questionari": "Spørgeskemaer", + "Questionari aperti": "Åbne spørgeskemaer", + "Questionari chiusi": "Lukkede spørgeskemaer", + "Questionari del club per libro o generici, anonimi o nominali, con risultati aggregati ed export CSV": "Klubspørgeskemaer pr. bog eller generiske, anonyme eller navngivne, med aggregerede resultater og CSV-eksport", + "Questionario anonimo (i nomi dei rispondenti non saranno mai mostrati né esportati)": "Anonymt spørgeskema (svardeltagernes navne vil aldrig blive vist eller eksporteret)", + "Questionario anonimo: il tuo nome non sarà mai mostrato. La partecipazione viene registrata solo per garantire una risposta a testa.": "Anonymt spørgeskema: Dit navn vil aldrig blive vist. Deltagelsen registreres kun for at sikre én besvarelse pr. person.", + "Questionario chiuso: i risultati sono ora visibili ai membri.": "Spørgeskema lukket: Resultaterne er nu synlige for medlemmerne.", + "Questionario pubblicato: le domande non sono più modificabili.": "Spørgeskema udgivet: Spørgsmålene kan ikke længere redigeres.", + "Questo questionario non accetta più risposte.": "Dette spørgeskema accepterer ikke flere svar.", + "Reading Challenge": "Læseudfordring", + "Reading Sprint": "Læsesprint", + "Recensionista": "Anmelder", + "Riassumi il verbale dell'incontro «%s» di un club del libro. Produci un riassunto breve e strutturato in tre sezioni con questi titoli: \"Sintesi\", \"Decisioni prese\", \"Prossimi passi\". Usa elenchi puntati sintetici. Non inventare informazioni assenti dal verbale.": "Opsummer referatet af bogklubmødet \"%s\". Lav et kort, struktureret resumé i tre afsnit med disse titler: \"Resumé\", \"Trufne beslutninger\", \"Næste skridt\". Brug korte punkttegn. Find ikke på informationer, der ikke findes i referatet.", + "Riassunto del verbale": "Mødereferat", + "Riassunto del verbale generato per «%s».": "Referatoversigt genereret til \"%s\".", + "Riassunto verbale": "Mødereferat", + "Rimuovi la chiave salvata": "Fjern den gemte nøgle", + "Rispondi al questionario": "Besvar spørgeskemaet", + "Risposta non valida alla domanda \"%s\".": "Ugyldigt svar på spørgsmålet \"%s\".", + "Risposta obbligatoria": "Obligatorisk svar", + "Ritira": "Træk tilbage", + "Ritirare questa proposta?": "Vil du trække dette forslag tilbage?", + "Ritirati": "Meld afbud", + "Salva annotazione": "Gem note", + "Salva citazione": "Gem citat", + "Salvata cifrata (AES-256-GCM) in plugin_settings; usata solo lato server.": "Gemt krypteret (AES-256-GCM) i plugin_settings; bruges kun på serversiden.", + "Scala 1–5": "Skala 1–5", + "Scegli un altro membro del club come compagno di lettura.": "Vælg et andet klubmedlem som læsemakker.", + "Scegli un libro attualmente in lettura nel club.": "Vælg en bog, der i øjeblikket læses i klubben.", + "Scelta multipla": "Flervalg", + "Scelta singola": "Enkeltvalg", + "Scopri la tua affinità di lettura con gli altri membri e i suggerimenti dal catalogo.": "Opdag din læseaffinitet med de andre medlemmer og katalogforslagene.", + "Segnare questa lettura in coppia come conclusa?": "Vil du markere denne fælles læsning som afsluttet?", + "Sei iscritto": "Du er tilmeldt", + "Seleziona un incontro del club.": "Vælg et klubmøde.", + "Seleziona un libro del club.": "Vælg en klubbog.", + "Sessioni di lettura cronometrate con partecipanti e classifica delle pagine lette": "Tidsbestemte læsesessioner med deltagere og rangliste over læste sider", + "Sessioni di lettura cronometrate: iscriviti prima dell'inizio, leggi per la durata dello sprint e registra le pagine lette alla fine.": "Tidsbestemte læsesessioner: Tilmeld dig før start, læs i sprintens varighed og registrer de læste sider til sidst.", + "Sfida completata!": "Udfordring fuldført!", + "Sfida creata.": "Udfordring oprettet.", + "Sfida di club": "Klubudfordring", + "Sfida eliminata.": "Udfordring slettet.", + "Sfide del club": "Klubudfordringer", + "Sfide personali": "Personlige udfordringer", + "Solo chi ha partecipato allo sprint può registrare le pagine lette.": "Kun deltagere i sprinten kan registrere læste sider.", + "Solo club": "Kun klub", + "Solo i gestori del club possono creare sfide di club.": "Kun klubadministratorer kan oprette klubudfordringer.", + "Solo i membri attivi del club possono creare una sfida.": "Kun aktive klubmedlemmer kan oprette en udfordring.", + "Solo i membri attivi del club possono creare uno sprint.": "Kun aktive klubmedlemmer kan oprette en sprint.", + "Solo i membri attivi del club possono gestire la condivisione delle affinità.": "Kun aktive klubmedlemmer kan administrere deling af affiniteter.", + "Solo i membri attivi del club possono partecipare agli sprint.": "Kun aktive klubmedlemmer kan deltage i sprinter.", + "Solo i membri attivi del club possono proporre una lettura in coppia.": "Kun aktive klubmedlemmer kan foreslå en fælles læsning.", + "Solo i membri attivi del club possono rispondere ai questionari.": "Kun aktive klubmedlemmer kan besvare spørgeskemaer.", + "Solo una lettura in coppia attiva può essere conclusa.": "Kun en aktiv fælles læsning kan afsluttes.", + "Sposta giù": "Flyt ned", + "Sposta su": "Flyt op", + "Sprint annullato.": "Sprint aflyst.", + "Sprint creato: sei già tra i partecipanti.": "Sprint oprettet: Du er allerede blandt deltagerne.", + "Statistiche principali del club": "Klubbens vigtigste statistikker", + "Suggerimenti per il club": "Forslag til klubben", + "Sì/No": "Ja/Nej", + "Testo": "Tekst", + "Testo breve": "Kort tekst", + "Testo lungo": "Lang tekst", + "Ti piace un titolo? Proponilo al club dalla pagina principale.": "Kan du lide en titel? Foreslå den til klubben fra hovedsiden.", + "Ti sei ritirato dallo sprint.": "Du har trukket dig fra sprinten.", + "Tipo di domanda": "Spørgsmålstype", + "Top lettori": "Toplæsere", + "Tu": "Du", + "Tutte le citazioni": "Alle citater", + "Tutti gli sprint": "Alle sprinter", + "Tutti i questionari": "Alle spørgeskemaer", + "Una opzione per riga": "Én indstilling pr. linje", + "Uno sprint concluso non può essere annullato.": "En afsluttet sprint kan ikke aflyses.", + "Vedi la classifica completa": "Se den fulde rangliste", + "Vedi tutte le sfide": "Se alle udfordringer", + "Verbale:": "Referat:", + "Visibilità della citazione aggiornata.": "Citatets synlighed opdateret.", + "Visibilità non valida.": "Ugyldig synlighed.", + "Votante": "Vælger", + "Voto espresso in una votazione": "Afgivet stemme i en afstemning", + "dati insufficienti": "utilstrækkelige data", + "non registrate": "ikke registreret", + "pag. %d": "s. %d", + "proposta inviata": "forslag sendt", + "ti ha invitato": "har inviteret dig", + "Moduli attivi per questo club": "Aktive moduler for denne klub", + "Una delle proposte selezionate non è valida o è già in un'altra votazione aperta.": "Et af de valgte forslag er ugyldigt eller er allerede i en anden åben afstemning.", + "Gli ospiti non possono votare.": "Gæster kan ikke stemme.", + "Questo invito è riservato a un altro indirizzo email.": "Denne invitation er beregnet til en anden e-mailadresse.", + "%1$d lettori su %2$d membri": "%1$d læsere af %2$d medlemmer", + "%d copia offerta dai membri": "%d eksemplar udbudt af medlemmer", + "%d copie offerte dai membri": "%d eksemplarer udbudt af medlemmer", + "Annulla l'offerta": "Annuller tilbud", + "Annullare questa offerta?": "Vil du annullere dette tilbud?", + "Apertura programmata (facoltativa)": "Planlagt åbning (valgfrit)", + "Apre il": "Åbner den", + "Assegna i libri alle stagioni": "Tildel bøger til sæsoner", + "Bozza eliminata.": "Udkast slettet.", + "Citazioni dai club di lettura": "Citater fra læseklubber", + "Consegna la copia": "Aflever eksemplaret", + "Copia consegnata: buona lettura!": "Eksemplar afleveret: God læselyst!", + "Copia offerta al club.": "Eksemplar udbudt til klubben.", + "Copia segnata come restituita.": "Eksemplar markeret som afleveret tilbage.", + "Copie offerte dai membri": "Eksemplarer udbudt af medlemmer", + "Da restituire entro il %s": "Skal afleveres senest den %s", + "Data di riconsegna (facoltativa)": "Afleveringsdato (valgfrit)", + "Elimina bozza": "Slet udkast", + "Eliminare questa bozza? Le domande andranno perse.": "Vil du slette dette udkast? Spørgsmålene vil gå tabt.", + "Es. edizione tascabile, qualche sottolineatura a matita…": "F.eks. paperback-udgave, lidt blyantsunderstregning...", + "Hai già un'offerta aperta per questo libro.": "Du har allerede et åbent tilbud på denne bog.", + "I membri prestano le proprie copie personali dei libri del club": "Medlemmerne udlåner deres personlige eksemplarer af klubbens bøger til hinanden", + "I miei prestiti attivi": "Mine aktive lån", + "I miei prestiti ricevuti": "Mine modtagne lån", + "I pesi si applicano solo alla modalità «Voto ponderato»; gli altri membri valgono sempre 1,0.": "Vægtene gælder kun for tilstanden \"Vægtet afstemning\"; alle andre medlemmer tæller altid 1,0.", + "Il questionario aprirà il %s": "Spørgeskemaet åbner den %s", + "Impossibile aggiornare il questionario. Riprova.": "Spørgeskemaet kunne ikke opdateres. Prøv igen.", + "Impossibile assegnare la stagione.": "Sæsonen kunne ikke tildeles.", + "Impossibile completare l'operazione. Riprova.": "Handlingen kunne ikke fuldføres. Prøv igen.", + "Impossibile eliminare la bozza. Riprova.": "Udkastet kunne ikke slettes. Prøv igen.", + "In attesa della consegna": "Venter på levering", + "In offerta": "Tilbudt", + "La data di chiusura deve essere successiva a quella di apertura.": "Slutdatoen skal være efter startdatoen.", + "Le mie offerte": "Mine tilbud", + "Modifica dettagli": "Rediger detaljer", + "Nessun libro nel club: aggiungi prima un libro per offrirne una copia.": "Ingen bøger i klubben: Tilføj en bog først for at tilbyde et eksemplar.", + "Nessuna copia disponibile al momento.": "Ingen eksemplarer tilgængelige i øjeblikket.", + "Nessuna stagione": "Ingen sæson", + "Non hai ancora offerto nessuna copia.": "Du har ikke udbudt nogen eksemplarer endnu.", + "Non hai richiesto nessuna copia in prestito.": "Du har ikke anmodet om nogen eksemplarer til lån.", + "Non puoi richiedere una copia che offri tu.": "Du kan ikke anmode om et eksemplar, som du selv udbyder.", + "Note sulla copia (facoltative)": "Bemærkninger til eksemplaret (valgfrit)", + "Offerta annullata.": "Tilbud annulleret.", + "Offerta da %s": "Tilbudt af %s", + "Offri la copia": "Tilbud eksemplar", + "Offri una tua copia": "Tilbud dit eget eksemplar", + "Pesi: fondatore ×%s · moderatore ×%s · membro ×1,0.": "Vægte: Stifter ×%s · Moderator ×%s · Medlem ×1,0.", + "Peso del voto dei moderatori": "Moderatorernes stemmevægt", + "Peso del voto del fondatore": "Stifterens stemmevægt", + "Prestata a %s": "Udlånt til %s", + "Prestata da %s": "Udlånt af %s", + "Prestito tra membri": "Udlån mellem medlemmer", + "Questa copia non è più disponibile.": "Dette eksemplar er ikke længere tilgængeligt.", + "Questionario aggiornato.": "Spørgeskema opdateret.", + "Qui i membri si prestano le proprie copie personali: le copie della biblioteca si prenotano dalla scheda del libro.": "Her udlåner medlemmerne deres personlige eksemplarer til hinanden: Bibliotekets eksemplarer reserveres via bogens side.", + "Restituita": "Afleveret tilbage", + "Restituita il %s": "Afleveret tilbage den %s", + "Richiedi in prestito": "Anmod om lån", + "Richiesta": "Anmodet", + "Richiesta da %s": "Anmodning fra %s", + "Richiesta inviata al proprietario della copia.": "Anmodning sendt til eksemplarets ejer.", + "Richiesta rifiutata: la copia è di nuovo disponibile.": "Anmodning afvist: Eksemplaret er tilgængeligt igen.", + "Rifiuta la richiesta": "Afvis anmodning", + "Segna come restituita": "Marker som afleveret tilbage", + "Sei un assistente per club di lettura di una biblioteca. Rispondi sempre in %s, con tono cordiale e concreto.": "Du er assistent for en biblioteksbogklub. Svar altid på %s i en venlig og konkret tone.", + "Solo per il voto ponderato: quanto vale il voto dei moderatori (da 1 a 5)": "Kun for vægtet afstemning: Hvor meget moderatorernes stemme tæller (fra 1 til 5)", + "Solo per il voto ponderato: quanto vale il voto del fondatore (da 1 a 5)": "Kun for vægtet afstemning: Hvor meget stifterens stemme tæller (fra 1 til 5)", + "Stagione del libro aggiornata.": "Bogens sæson opdateret.", + "Stagione non valida.": "Ugyldig sæson.", + "Stai consultando l'archivio del %d: le sfide degli anni passati sono in sola lettura.": "Du ser arkivet for %d: Tidligere års udfordringer er skrivebeskyttede.", + "Titolo, libro, anonimato e date sono modificabili solo finché il questionario è una bozza.": "Titel, bog, anonymitet og datoer kan kun redigeres, så længe spørgeskemaet er et udkast.", + "Vai ai prestiti tra membri": "Gå til udlån mellem medlemmer", + "avanzamento medio del club": "klubbens gennemsnitlige læsefremskridt", + "come il voto singolo/multiplo, ma i voti del fondatore e dei moderatori valgono di più (pesi configurabili per votazione, predefiniti 2,0 e 1,5).": "som enkelt-/flervalsafstemning, men stifterens og moderatorernes stemmer tæller mere (konfigurerbare vægte pr. afstemning, standard er 2,0 og 1,5).", + "francese": "Fransk", + "in coda dal club: %d": "i kø fra klubben: %d", + "inglese": "Engelsk", + "italiano": "Italiensk", + "tedesco": "Tysk", + "È una tua offerta": "Dette er dit tilbud", + "App mobile": "Mobilapp", + "Espone il club nell'app Pinakes (API /api/v1/bookclub con token dell'app)": "Viser klubben i Pinakes-appen (API /api/v1/bookclub med app-token)", + "Questa modalità di voto è disponibile solo dal sito.": "Denne afstemningstilstand er kun tilgængelig fra websitet.", + "Club non trovato.": "Klub ikke fundet.", + "La data di inizio dello sprint deve essere futura.": "Sprintens starttidspunkt skal være i fremtiden.", + "Non hai i permessi per proporre libri in questo club.": "Du har ikke tilladelse til at foreslå bøger i denne klub.", + "Solo i membri attivi del club possono confermare la partecipazione.": "Kun aktive klubmedlemmer kan bekræfte deltagelse.", + "Il modulo lettura non è attivo per questo club.": "Læsemodulet er ikke aktiveret for denne klub.", + "Incontro non trovato.": "Møde ikke fundet.", + "Le sfide degli anni passati sono in archivio e non si possono eliminare.": "Tidligere års udfordringer er arkiveret og kan ikke slettes.", + "Disponibilità non disponibile.": "Tilgængelighedsoplysninger ikke tilgængelige.", + "Il testo della recensione non può superare %d caratteri.": "Anmeldelsesteksten må ikke overstige %d tegn.", + "La valutazione deve essere tra 1 e 5 stelle.": "Bedømmelsen skal være mellem 1 og 5 stjerner.", + "Nessuna recensione da eliminare.": "Ingen anmeldelse at slette.", + "Puoi recensire solo i titoli che hai preso in prestito.": "Du kan kun anmelde titler, som du har lånt.", + "Testo della recensione non valido.": "Ugyldig anmeldelsestekst.", + "Proxy fidati (reverse proxy)": "Pålidelige proxyer (reverse proxy)", + "Se Pinakes è dietro un reverse proxy (NAS/QNAP/Synology/nginx/Docker) che termina il TLS, elenca qui gli IP o le reti (CIDR) del proxy: solo così l'app accetta l'header X-Forwarded-Proto e l'API non risponde \"HTTPS richiesto\" anche su HTTPS reale.": "Hvis Pinakes er bag en reverse proxy (NAS/QNAP/Synology/nginx/Docker), der afslutter TLS, skal du angive proxyens IP-adresser eller netværk (CIDR) her: Kun på denne måde accepterer appen X-Forwarded-Proto-headeren, og API'en svarer ikke med \"HTTPS påkrævet\" selv ved ægte HTTPS.", + "Rilevato un reverse proxy da %s che inoltra HTTPS, ma quell'indirizzo non è ancora fidato: l'app riceverebbe un errore HTTPS. Aggiungilo alla lista qui sopra e salva.": "Der blev registreret en reverse proxy fra %s, som videresender HTTPS, men denne adresse er endnu ikke pålidelig: Appen ville modtage en HTTPS-fejl. Tilføj den til listen ovenfor, og gem.", + "Aggiungi %s": "Tilføj %s", + "Questa azione conferma che l'utente ha ritirato il libro.": "Denne handling bekræfter, at brugeren har afhentet bogen.", + "L'utente ha già un prestito attivo per questo libro": "Brugeren har allerede et aktivt lån for denne bog", + "L'utente ha già una prenotazione attiva per questo libro": "Brugeren har allerede en aktiv reservation for denne bog", + "Errore durante l'annullamento della prenotazione": "Fejl ved annullering af reservationen", + "Hai già una prenotazione attiva per questo libro": "Du har allerede en aktiv reservation for denne bog", + "Tessera": "Lånerkort", + "%d utenti": "%d brugere", + "%d utenti filtrati su %d totali": "%d filtrerede brugere af %d i alt", + "Nessun utente da esportare.": "Ingen brugere at eksportere.", + "Nessuna copia disponibile per la stampa delle etichette.": "Ingen eksemplarer tilgængelige til etiketudskrivning.", + "Inserisci un codice inventario.": "Indtast en inventarkode.", + "Nessun prestito attivo trovato per questo codice copia.": "Ingen aktive lån fundet for denne eksemplarkode.", + "Trovati più prestiti attivi per questo codice: gestiscili manualmente.": "Flere aktive lån fundet for denne kode: Håndtér dem manuelt.", + "Nessuna copia trovata con questo codice inventario.": "Intet eksemplar fundet med denne inventarkode.", + "Il codice copia inserito appartiene a un altro libro.": "Den indtastede eksemplarkode tilhører en anden bog.", + "La copia indicata non è disponibile per il periodo richiesto.": "Det angivne eksemplar er ikke tilgængeligt i den ønskede periode.", + "Codice copia (inventario)": "Eksemplarkode (inventar)", + "Inserisci o scansiona il codice inventario di una copia specifica": "Indtast eller scan inventarkoden for et bestemt eksemplar", + "Facoltativo. Se vuoto, una copia disponibile verrà assegnata automaticamente.": "Valgfrit. Hvis den er tom, tildeles et tilgængeligt eksemplar automatisk.", + "Stampa etichette copie": "Udskriv eksemplaretiketter", + "Restituzione rapida con codice copia": "Hurtig aflevering med eksemplarkode", + "Restituisci copia": "Aflever eksemplar", + "Scansiona": "Scan", + "Scansiona codice a barre": "Scan stregkode", + "Inquadra il codice a barre nella cornice": "Ret stregkoden ind i rammen", + "Avvio della fotocamera in corso...": "Starter kamera...", + "Impossibile accedere alla fotocamera. Controlla i permessi del browser.": "Kan ikke få adgang til kameraet. Tjek browserens tilladelser.", + "Nessuna fotocamera trovata su questo dispositivo.": "Intet kamera fundet på denne enhed.", + "Questo browser non supporta l'accesso alla fotocamera.": "Denne browser understøtter ikke kamerazadgang.", + "Impossibile avviare lo scanner.": "Scanneren kunne ikke startes.", + "Proponi un libro non ancora presente in biblioteca. Non verrà aggiunto al catalogo finché il club non lo sceglie e un responsabile lo acquisisce.": "Foreslå en bog, der endnu ikke findes på biblioteket. Den tilføjes ikke til kataloget, før klubben vælger den, og en ansvarlig person overtager den.", + "Libro acquisito e aggiunto al catalogo.": "Bog overtaget og tilføjet til kataloget.", + "Acquisizione non riuscita, riprova.": "Overtagelse mislykkedes, prøv igen.", + "Modifica incontro": "Rediger møde", + "Il libro non è in catalogo?": "Er bogen ikke i kataloget?", + "Email verificata con successo! Il tuo account è attivo: puoi accedere subito.": "E-mail verificet med succes! Din konto er aktiv: Du kan logge ind med det samme.", + "Tecnologie e cookie utilizzati": "Anvendte teknologier og cookies", + "Copia identificata: %s": "Eksemplar identificeret: %s", + "Periodo massimo che un utente può richiedere per un prestito o una prenotazione. Le richieste che superano questo limite vengono rifiutate.": "Maksimal periode, en bruger kan anmode om for et lån eller en reservation. Anmodninger, der overstiger denne grænse, afvises.", + "Durata massima richiedibile": "Maksimal anmodelig varighed", + "Autore/i": "Forfatter(e)", + "Copia:": "Eksemplar:", + "Questa copia non è disponibile ora.": "Dette eksemplar er ikke tilgængeligt nu.", + "Acquisisci in catalogo": "Tilføj til katalog", + "Editore (facoltativo)": "Forlag (valgfrit)", + "Incontro non aggiornato, riprova.": "Møde ikke opdateret, prøv igen.", + "Inserisci almeno il titolo del libro.": "Indtast mindst bogens titel.", + "Sottotitolo:": "Undertitel:", + "Se attivo, un nuovo utente resta in attesa finché un amministratore non ne approva l'account. Se disattivo, l'account si attiva automaticamente dopo la verifica dell'email.": "Hvis aktiveret, afventer en ny bruger, indtil en administrator godkender kontoen. Hvis deaktiveret, aktiveres kontoen automatisk efter e-mail-verificering.", + "Durata massima prestito (giorni)": "Maksimal udlånsvarighed (dage)", + "Facoltativo. Se vuoto, una copia disponibile verrà assegnata automaticamente. Se inserisci o scansioni un codice, il libro viene identificato in automatico.": "Valgfrit. Hvis tom, tildeles et tilgængeligt eksemplar automatisk. Hvis du indtaster eller scanner en kode, identificeres bogen automatisk.", + "Proponi libro esterno": "Foreslå ekstern bog", + "Valore compreso tra 1 e 3650 giorni. Predefinito: 90 giorni": "Værdi mellem 1 og 3650 dage. Standard: 90 dage", + "Richiedi l'approvazione dell'amministratore per le nuove registrazioni": "Kræv administratorens godkendelse af nye registreringer", + "Crea la voce di catalogo da questa proposta esterna.": "Opret katalogposten ud fra dette eksterne forslag.", + "Codice copia:": "Eksemplarkode:", + "Registrazione utenti": "Brugerregistrering", + "I link cookie devono essere URL HTTP o HTTPS validi, senza credenziali incorporate.": "Cookie-links skal være gyldige HTTP- eller HTTPS-URL'er uden indbyggede loginoplysninger.", + "Questo libro è già in catalogo.": "Denne bog er allerede i kataloget.", + "Proposta esterna": "Eksternt forslag", + "Inviata quando l'account si attiverà automaticamente dopo la verifica dell'email.": "Sendes, når kontoen aktiveres automatisk efter e-mail-verificering.", + "Registrazione ricevuta - verifica email": "Registring modtaget - bekræft e-mail", + "Questo libro non è ancora nel catalogo della biblioteca.": "Denne bog er endnu ikke i bibliotekets katalog.", + "Partecipa online": "Deltag online", + "Proponi un libro non ancora in catalogo": "Foreslå en bog, der ikke er i kataloget endnu", + "Me stesso": "Mig selv", + "Rimuovere questo libro dalla lista del club? L'operazione non si può annullare.": "Vil du fjerne denne bog fra klubbens liste? Denne handling kan ikke anulleres.", + "Rimuovi dal club": "Fjern fra klub", + "Stampa PDF": "Udskriv PDF", + "Libro rimosso dal club.": "Bog fjernet fra klubben.", + "Impossibile rimuovere il libro, riprova.": "Bogen kunne ikke fjernes, prøv igen.", + "Nessun libro nel club.": "Ingen bøger i klubben.", + "Un utente": "En bruger", + "Richiesta di adesione al club \"%s\"": "Anmodning om medlemskab af klubben \"%s\"", + "%s ha chiesto di unirsi al club \"%s\". Approva o rifiuta la richiesta dalla pagina del club.": "%s har anmodet om at melde sig ind i klubben \"%s\". Godkend eller afvis anmodningen fra klubbens side.", + "Nuova proposta nel club \"%s\"": "Nyt forslag i klubben \"%s\"", + "%s ha proposto \"%s\" nel club \"%s\".": "%s har foreslået \"%s\" i klubben \"%s\".", + "Nuovo incontro nel club \"%s\"": "Nyt møde i klubben \"%s\"", + "\"%s\" — %s": "\"%s\" — %s", + "Dimensioni personalizzate": "Brugerdefinerede mål", + "Larghezza (mm)": "Bredde (mm)", + "Altezza (mm)": "Højde (mm)", + "Contenuto etichetta": "Etiketindhold", + "Sottotitolo libro": "Bogundertitel", + "Autore ed editore": "Forfatter og forlag", + "Spaziatura": "Afstand", + "Margine interno (mm)": "Indvendig margin (mm)", + "Il contenuto si adatta automaticamente alle dimensioni dell'etichetta. Aggiungi un margine interno extra per rifinire il layout.": "Indholdet tilpasser sig automatisk etiketstørrelsen. Tilføj en ekstra indvendig margin for at finjustere layoutet.", + "Nessun destinatario: inserisci un indirizzo email o assicurati che il tuo account admin ne abbia uno.": "Ingen modtager: Indtast en e-mailadresse, eller sørg for, at din adminkonto har en.", + "Email di prova inviata a %s. Controlla la casella (anche lo spam).": "Test-e-mail sendt til %s. Tjek indbakken (også spam).", + "Invio fallito: %s": "Afsendelse mislykkedes: %s", + "Indirizzo email del destinatario non valido.": "Ugyldig modtagers e-mailadresse.", + "Email di prova da Pinakes": "Test-e-mail fra Pinakes", + "Questa è un'email di prova inviata dalle impostazioni di Pinakes. Se la ricevi, la configurazione email funziona.": "Dette er en test-e-mail sendt fra Pinakes-indstillingerne. Hvis du modtager den, fungerer e-mail-konfigurationen.", + "La funzione mail() di PHP ha restituito un errore. Verifica la configurazione del server di posta.": "PHP's mail()-funktion returnerede en fejl. Tjek mailserverens konfiguration.", + "Prova invio": "Test afsendelse", + "Invia un'email di prova con le impostazioni attuali e vedi subito se funziona o qual è l'errore. Salva prima le impostazioni.": "Send en test-e-mail med de aktuelle indstillinger og se med det samme, om den virker, eller hvad fejlen er. Gem indstillingerne først.", + "Destinatario (vuoto = la tua email admin)": "Modtager (tom = din admine-mail)", + "Invia email di prova": "Send test-e-mail", + "Invio in corso…": "Sender...", + "Richiesta non riuscita. Riprova.": "Anmodning mislykkedes. Prøv igen.", + "oggi": "i dag", + "Database installato (%d tabelle)": "Database installeret (%d tabeller)", + "Colorista": "Farvelægger", + "Co-autore": "Medforfatter", + "Cerca o aggiungi...": "Søg eller tilføj...", + "Nessun risultato, premi Invio per aggiungerne uno nuovo": "Ingen resultater, tryk på Enter for at tilføje et nyt", + "Cerca un autore esistente o scrivine uno nuovo": "Søg efter en eksisterende forfatter eller skriv en ny", + "Cerca un autore esistente o scrivine uno nuovo (utile per i fumetti)": "Søg efter en eksisterende forfatter eller skriv en ny (nyttigt til tegneserier)", + "Cerca un illustratore esistente o aggiungine uno nuovo digitando il nome": "Søg efter en eksisterende illustrator, eller tilføj en ny ved at skrive navnet", + "Cerca un traduttore esistente o aggiungine uno nuovo digitando il nome": "Søg efter en eksisterende oversætter, eller tilføj en ny ved at skrive navnet", + "Cerca un curatore esistente o aggiungine uno nuovo digitando il nome": "Søg efter en eksisterende kurator, eller tilføj en ny ved at skrive navnet", + "Cerca un colorista esistente o aggiungine uno nuovo digitando il nome (utile per i fumetti)": "Søg efter en eksisterende kolorist, eller tilføj en ny ved at skrive navnet (nyttigt til tegneserier)", + "Contributore \"%s\" è già selezionato": "Bidragyder \"%s\" er allerede valgt", + "Contributore \"%s\" pronto per essere creato": "Bidragyder \"%s\" klar til at blive oprettet", + "Numero": "Tal", + "Casella di spunta": "Afkrydsningsfelt", + "Campi personalizzati": "Brugerdefinerede felter", + "Campi obbligatori alla registrazione": "Obligatoriske felter ved registrering", + "Disattiva i campi che la tua comunità non vuole raccogliere: diventeranno facoltativi nel modulo di registrazione.": "Deaktiver de felter, som dit samfund ikke ønsker at indsamle: De bliver valgfri i registreringsformular.", + "Campi aggiuntivi definiti da te (es. username Telegram): compaiono nel modulo di registrazione e nel profilo utente.": "Yderligere felter defineret af dig (f.eks. Telegram-brugernavn): De vises i registreringsformularen og brugerprofilen.", + "Etichetta nuovo campo": "Etiket til nyt felt", + "L'utente li gestisce dal proprio profilo.": "Brugeren administrerer dem fra sin egen profil.", + "Salva impostazioni registrazione": "Gem registreringsindstillinger", + "Impostazioni di registrazione aggiornate correttamente.": "Registreringsindstillinger opdateret med succes.", + "Salvataggio dei campi personalizzati non riuscito. Riprova.": "Gemning af brugerdefinerede felter mislykkedes. Prøv igen.", + "Le modifiche ai campi vengono salvate insieme alle impostazioni di registrazione.": "Feltændringer gemmes sammen med registreringsindstillingerne.", + "Non puoi cambiare il tipo di un campo che contiene già valori. Crea un nuovo campo o elimina prima i dati esistenti.": "Du kan ikke ændre typen på et felt, der allerede indeholder værdier. Opret et nyt felt eller slet de eksisterende data først.", + "Controlla i campi personalizzati: un valore inserito non è valido.": "Tjek de brugerdefinerede felter: En indtastet værdi er ugyldig.", + "Eliminare i campi personalizzati selezionati? I valori salvati dagli utenti per questi campi verranno rimossi definitivamente.": "Vil du slette de valgte brugerdefinerede felter? Værdier gemt af brugere for disse felter vil blive permanent fjernet.", + "I file dell'applicazione non sono scrivibili dall'utente del web server e Pinakes gira dentro un container. Sull'immagine ufficiale (fabiodalez/pinakes) il codice è incluso nell'immagine e in sola lettura per scelta: aggiorna scaricando la nuova immagine con «docker compose pull && docker compose up -d» (il database e i volumi storage/uploads restano al sicuro). Se usi un'immagine community che monta il codice da un volume scrivibile questo pulsante funziona normalmente — se vedi questo messaggio quel volume è al momento in sola lettura, controlla il suo mount.": "Applikationsfilerne er ikke skrivebare for webserverbrugeren, og Pinakes kører i en container. På det officielle billed (fabiodalez/pinakes) er koden inkluderet i billedet og skrivebeskyttet af hensigt: Opdater ved at hente det nye billed med «docker compose pull && docker compose up -d» (databasen og storage/uploads-volumenerne forbliver sikre). Hvis du bruger et community-billed, der monteres fra et skrivebart volumen, fungerer denne knap normalt — hvis du ser denne meddelelse, er det volumen i øjeblikket skrivebeskyttet, kontroller dens montering.", + "https://t.me/tuocanale": "https://t.me/dinkanal", + "Genere e sottogeneri eliminati con successo!": "Genre og undergenrer slettet med succes!", + "Questa azione elimina il genere e tutti i suoi sottogeneri in modo permanente. I libri associati verranno scollegati da questi generi.": "Denne handling sletter genren og alle dens undergenrer permanent. Tilknyttede bøger vil blive fjernet fra disse genrer.", + "Sei sicuro di voler eliminare questo genere e tutti i suoi sottogeneri? I libri associati verranno scollegati da questi generi.": "Er du sikker på, at du vil slette denne genre og alle dens undergenrer? Tilknyttede bøger vil blive fjernet fra disse genrer.", + "Elimina genere e sottogeneri": "Slet genre og undergenrer.", + "Proposte non selezionate": "Ikke valgte forslag", + "Proposte ancora in attesa di essere scelte. La lista include i libri mai votati e quelli che non hanno mai vinto una votazione chiusa.": "Forslag, der stadig afventer at blive valgt. Listen omfatter bøger, der aldrig er blevet stemt om, og bøger, der aldrig har vundet en afsluttet afstemning.", + "votazione": "afstemning", + "votazioni": "afstemninger", + "ultima": "seneste", + "Non in catalogo": "Ikke i kataloget", + "Votazioni chiuse": "Afsluttede afstemninger", + "mai votata": "endnu ikke stemt om", + "Seleziona tutti i prestiti estendibili": "Vælg alle lån, der kan forlænges", + "Estendi di": "Forlæng med", + "Estendi prestiti selezionati": "Forlæng valgte lån", + "%d prestiti selezionati": "%d lån valgt", + "Estendere i prestiti selezionati?": "Forlæng de valgte lån?", + "%s prestiti verranno estesi di %d giorni.": "%s lån forlænges med %d dage.", + "Prestiti estesi": "Lån forlænget", + "Nessun prestito esteso": "Ingen lån forlænget", + "%s prestiti estesi di %d giorni.": "%s lån forlænget med %d dage.", + "Selezione o numero di giorni non validi.": "Ugyldigt valg eller antal dage.", + "Estensione non riuscita, riprova.": "Forlængelsen mislykkedes. Prøv igen.", + "Estensione annullata: almeno un prestito entrerebbe in conflitto con un altro prestito o una prenotazione.": "Forlængelsen blev annulleret: Mindst ét lån ville være i konflikt med et andet lån eller en reservation.", + "Estendi": "Forlæng", + "Lingue non disponibili.": "Sprog er ikke tilgængelige." +} diff --git a/locale/de_DE.json b/locale/de_DE.json index 5e5bd7d5f..923e6dbd0 100644 --- a/locale/de_DE.json +++ b/locale/de_DE.json @@ -5658,6 +5658,9 @@ "proposto da": "vorgeschlagen von", "scade il": "endet am", "scaduta il": "endete am", + "Votazione terminata": "Abstimmung beendet", + "Questo libro è già collegato a un'altra proposta di questo club: non è stato acquisito di nuovo.": "Dieses Buch ist bereits mit einem anderen Vorschlag dieses Clubs verknüpft: Es wurde nicht erneut übernommen.", + "La scadenza della votazione è passata: la votazione è stata chiusa e il tuo voto non è stato registrato.": "Die Frist der Abstimmung ist abgelaufen: Die Abstimmung wurde geschlossen und deine Stimme wurde nicht gezählt.", "sì": "ja", "votanti": "Teilnehmende", "voti": "Stimmen", @@ -6577,5 +6580,27 @@ "Genere e sottogeneri eliminati con successo!": "Genre und Untergenres erfolgreich gelöscht!", "Questa azione elimina il genere e tutti i suoi sottogeneri in modo permanente. I libri associati verranno scollegati da questi generi.": "Diese Aktion löscht das Genre und alle seine Untergenres dauerhaft. Zugeordnete Bücher werden von diesen Genres getrennt.", "Sei sicuro di voler eliminare questo genere e tutti i suoi sottogeneri? I libri associati verranno scollegati da questi generi.": "Sind Sie sicher, dass Sie dieses Genre und alle seine Untergenres löschen möchten? Zugeordnete Bücher werden von diesen Genres getrennt.", - "Elimina genere e sottogeneri": "Genre und Untergenres löschen" + "Elimina genere e sottogeneri": "Genre und Untergenres löschen", + "Proposte non selezionate": "Nicht ausgewählte Vorschläge", + "Proposte ancora in attesa di essere scelte. La lista include i libri mai votati e quelli che non hanno mai vinto una votazione chiusa.": "Vorschläge, die noch auf eine Auswahl warten. Dazu gehören Bücher, über die noch nie abgestimmt wurde, und Bücher, die noch nie eine abgeschlossene Abstimmung gewonnen haben.", + "votazione": "Abstimmung", + "votazioni": "Abstimmungen", + "ultima": "zuletzt", + "Non in catalogo": "Nicht im Katalog", + "Votazioni chiuse": "Geschlossene Abstimmungen", + "mai votata": "noch nicht abgestimmt", + "Seleziona tutti i prestiti estendibili": "Alle verlängerbaren Ausleihen auswählen", + "Estendi di": "Verlängern um", + "Estendi prestiti selezionati": "Ausgewählte Ausleihen verlängern", + "%d prestiti selezionati": "%d Ausleihen ausgewählt", + "Estendere i prestiti selezionati?": "Ausgewählte Ausleihen verlängern?", + "%s prestiti verranno estesi di %d giorni.": "%s Ausleihen werden um %d Tage verlängert.", + "Prestiti estesi": "Ausleihen verlängert", + "Nessun prestito esteso": "Keine Ausleihe verlängert", + "%s prestiti estesi di %d giorni.": "%s Ausleihen um %d Tage verlängert.", + "Selezione o numero di giorni non validi.": "Ungültige Auswahl oder Anzahl der Tage.", + "Estensione non riuscita, riprova.": "Verlängerung fehlgeschlagen, bitte erneut versuchen.", + "Estensione annullata: almeno un prestito entrerebbe in conflitto con un altro prestito o una prenotazione.": "Verlängerung abgebrochen: Mindestens eine Ausleihe würde mit einer anderen Ausleihe oder Reservierung in Konflikt geraten.", + "Estendi": "Verlängern", + "Lingue non disponibili.": "Sprachen sind nicht verfügbar." } diff --git a/locale/en_US.json b/locale/en_US.json index 0bd39013f..ac9813d6f 100644 --- a/locale/en_US.json +++ b/locale/en_US.json @@ -5658,6 +5658,9 @@ "proposto da": "proposed by", "scade il": "closes on", "scaduta il": "closed on", + "Votazione terminata": "Voting ended", + "Questo libro è già collegato a un'altra proposta di questo club: non è stato acquisito di nuovo.": "This book is already linked to another proposal in this club: it was not acquired again.", + "La scadenza della votazione è passata: la votazione è stata chiusa e il tuo voto non è stato registrato.": "The poll's deadline has passed: the poll has been closed and your vote was not recorded.", "sì": "yes", "votanti": "voters", "voti": "votes", @@ -6577,5 +6580,27 @@ "Genere e sottogeneri eliminati con successo!": "Genre and subgenres deleted successfully!", "Questa azione elimina il genere e tutti i suoi sottogeneri in modo permanente. I libri associati verranno scollegati da questi generi.": "This action permanently deletes the genre and all of its subgenres. Associated books will be unlinked from these genres.", "Sei sicuro di voler eliminare questo genere e tutti i suoi sottogeneri? I libri associati verranno scollegati da questi generi.": "Are you sure you want to delete this genre and all of its subgenres? Associated books will be unlinked from these genres.", - "Elimina genere e sottogeneri": "Delete genre and subgenres" + "Elimina genere e sottogeneri": "Delete genre and subgenres", + "Proposte non selezionate": "Proposals not selected", + "Proposte ancora in attesa di essere scelte. La lista include i libri mai votati e quelli che non hanno mai vinto una votazione chiusa.": "Proposals still awaiting selection. The list includes books not yet voted on and books that have never won a closed poll.", + "votazione": "poll", + "votazioni": "polls", + "ultima": "last", + "Non in catalogo": "Not in catalog", + "Votazioni chiuse": "Closed polls", + "mai votata": "not yet voted on", + "Seleziona tutti i prestiti estendibili": "Select all extendable loans", + "Estendi di": "Extend by", + "Estendi prestiti selezionati": "Extend selected loans", + "%d prestiti selezionati": "%d loans selected", + "Estendere i prestiti selezionati?": "Extend the selected loans?", + "%s prestiti verranno estesi di %d giorni.": "%s loans will be extended by %d days.", + "Prestiti estesi": "Loans extended", + "Nessun prestito esteso": "No loan extended", + "%s prestiti estesi di %d giorni.": "%s loans extended by %d days.", + "Selezione o numero di giorni non validi.": "Invalid selection or number of days.", + "Estensione non riuscita, riprova.": "Extension failed, please try again.", + "Estensione annullata: almeno un prestito entrerebbe in conflitto con un altro prestito o una prenotazione.": "Extension cancelled: at least one loan would conflict with another loan or reservation.", + "Estendi": "Extend", + "Lingue non disponibili.": "Languages are unavailable." } diff --git a/locale/fr_FR.json b/locale/fr_FR.json index 2ea7a0674..117184a4d 100644 --- a/locale/fr_FR.json +++ b/locale/fr_FR.json @@ -5658,6 +5658,9 @@ "proposto da": "proposé par", "scade il": "expire le", "scaduta il": "expiré le", + "Votazione terminata": "Vote terminé", + "Questo libro è già collegato a un'altra proposta di questo club: non è stato acquisito di nuovo.": "Ce livre est déjà lié à une autre proposition de ce club : il n'a pas été acquis à nouveau.", + "La scadenza della votazione è passata: la votazione è stata chiusa e il tuo voto non è stato registrato.": "La date limite du vote est dépassée : le vote a été clôturé et votre vote n'a pas été enregistré.", "sì": "oui", "votanti": "votants", "voti": "votes", @@ -6577,5 +6580,27 @@ "Genere e sottogeneri eliminati con successo!": "Genre et sous-genres supprimés avec succès !", "Questa azione elimina il genere e tutti i suoi sottogeneri in modo permanente. I libri associati verranno scollegati da questi generi.": "Cette action supprime définitivement le genre et tous ses sous-genres. Les livres associés seront dissociés de ces genres.", "Sei sicuro di voler eliminare questo genere e tutti i suoi sottogeneri? I libri associati verranno scollegati da questi generi.": "Voulez-vous vraiment supprimer ce genre et tous ses sous-genres ? Les livres associés seront dissociés de ces genres.", - "Elimina genere e sottogeneri": "Supprimer le genre et les sous-genres" + "Elimina genere e sottogeneri": "Supprimer le genre et les sous-genres", + "Proposte non selezionate": "Propositions non retenues", + "Proposte ancora in attesa di essere scelte. La lista include i libri mai votati e quelli che non hanno mai vinto una votazione chiusa.": "Propositions encore en attente de sélection. La liste comprend les livres jamais soumis au vote et ceux qui n'ont jamais remporté un vote clos.", + "votazione": "vote", + "votazioni": "votes", + "ultima": "dernière", + "Non in catalogo": "Pas au catalogue", + "Votazioni chiuse": "Votes clos", + "mai votata": "pas encore soumise au vote", + "Seleziona tutti i prestiti estendibili": "Sélectionner tous les prêts prolongeables", + "Estendi di": "Prolonger de", + "Estendi prestiti selezionati": "Prolonger les prêts sélectionnés", + "%d prestiti selezionati": "%d prêts sélectionnés", + "Estendere i prestiti selezionati?": "Prolonger les prêts sélectionnés ?", + "%s prestiti verranno estesi di %d giorni.": "%s prêts seront prolongés de %d jours.", + "Prestiti estesi": "Prêts prolongés", + "Nessun prestito esteso": "Aucun prêt prolongé", + "%s prestiti estesi di %d giorni.": "%s prêts prolongés de %d jours.", + "Selezione o numero di giorni non validi.": "Sélection ou nombre de jours invalide.", + "Estensione non riuscita, riprova.": "La prolongation a échoué, veuillez réessayer.", + "Estensione annullata: almeno un prestito entrerebbe in conflitto con un altro prestito o una prenotazione.": "Prolongation annulée : au moins un prêt entrerait en conflit avec un autre prêt ou une réservation.", + "Estendi": "Prolonger", + "Lingue non disponibili.": "Les langues ne sont pas disponibles." } diff --git a/locale/it_IT.json b/locale/it_IT.json index 00a96034b..7a97a440d 100644 --- a/locale/it_IT.json +++ b/locale/it_IT.json @@ -5658,6 +5658,9 @@ "proposto da": "proposto da", "scade il": "scade il", "scaduta il": "scaduta il", + "Votazione terminata": "Votazione terminata", + "Questo libro è già collegato a un'altra proposta di questo club: non è stato acquisito di nuovo.": "Questo libro è già collegato a un'altra proposta di questo club: non è stato acquisito di nuovo.", + "La scadenza della votazione è passata: la votazione è stata chiusa e il tuo voto non è stato registrato.": "La scadenza della votazione è passata: la votazione è stata chiusa e il tuo voto non è stato registrato.", "sì": "sì", "votanti": "votanti", "voti": "voti", @@ -6577,5 +6580,27 @@ "Genere e sottogeneri eliminati con successo!": "Genere e sottogeneri eliminati con successo!", "Questa azione elimina il genere e tutti i suoi sottogeneri in modo permanente. I libri associati verranno scollegati da questi generi.": "Questa azione elimina il genere e tutti i suoi sottogeneri in modo permanente. I libri associati verranno scollegati da questi generi.", "Sei sicuro di voler eliminare questo genere e tutti i suoi sottogeneri? I libri associati verranno scollegati da questi generi.": "Sei sicuro di voler eliminare questo genere e tutti i suoi sottogeneri? I libri associati verranno scollegati da questi generi.", - "Elimina genere e sottogeneri": "Elimina genere e sottogeneri" + "Elimina genere e sottogeneri": "Elimina genere e sottogeneri", + "Proposte non selezionate": "Proposte non selezionate", + "Proposte ancora in attesa di essere scelte. La lista include i libri mai votati e quelli che non hanno mai vinto una votazione chiusa.": "Proposte ancora in attesa di essere scelte. La lista include i libri mai votati e quelli che non hanno mai vinto una votazione chiusa.", + "votazione": "votazione", + "votazioni": "votazioni", + "ultima": "ultima", + "Non in catalogo": "Non in catalogo", + "Votazioni chiuse": "Votazioni chiuse", + "mai votata": "mai votata", + "Seleziona tutti i prestiti estendibili": "Seleziona tutti i prestiti estendibili", + "Estendi di": "Estendi di", + "Estendi prestiti selezionati": "Estendi prestiti selezionati", + "%d prestiti selezionati": "%d prestiti selezionati", + "Estendere i prestiti selezionati?": "Estendere i prestiti selezionati?", + "%s prestiti verranno estesi di %d giorni.": "%s prestiti verranno estesi di %d giorni.", + "Prestiti estesi": "Prestiti estesi", + "Nessun prestito esteso": "Nessun prestito esteso", + "%s prestiti estesi di %d giorni.": "%s prestiti estesi di %d giorni.", + "Selezione o numero di giorni non validi.": "Selezione o numero di giorni non validi.", + "Estensione non riuscita, riprova.": "Estensione non riuscita, riprova.", + "Estensione annullata: almeno un prestito entrerebbe in conflitto con un altro prestito o una prenotazione.": "Estensione annullata: almeno un prestito entrerebbe in conflitto con un altro prestito o una prenotazione.", + "Estendi": "Estendi", + "Lingue non disponibili.": "Lingue non disponibili." } diff --git a/locale/routes_da_DK.json b/locale/routes_da_DK.json new file mode 100644 index 000000000..05dca823c --- /dev/null +++ b/locale/routes_da_DK.json @@ -0,0 +1,35 @@ +{ + "login": "/log-ind", + "logout": "/log-ud", + "register": "/registrer", + "register_success": "/registrer/succes", + "verify_email": "/bekraeft-email", + "forgot_password": "/glemt-adgangskode", + "reset_password": "/nulstil-adgangskode", + "profile": "/profil", + "profile_update": "/profil/opdater", + "profile_password": "/profil/adgangskode", + "user_dashboard": "/bruger/oversigt", + "wishlist": "/oenskeliste", + "reservations": "/reservationer", + "events": "/begivenheder", + "catalog": "/katalog", + "catalog_legacy": "/katalog.php", + "book": "/bog", + "book_legacy": "/bog-detalje.php", + "author": "/forfatter", + "publisher": "/forlag", + "genre": "/genre", + "about": "/om-os", + "contact": "/kontakt", + "contact_submit": "/kontakt/send", + "privacy": "/privatlivspolitik", + "cookies": "/cookiepolitik", + "api_catalog": "/api/katalog", + "api_book": "/api/bog", + "api_home": "/api/hjem", + "language_switch": "/sprog", + "archives": "/arkiv", + "archive_item": "/arkiv", + "bibframe.book": "/api/bibframe/book/{id}" +} diff --git a/storage/plugins/archives/ArchivesPlugin.php b/storage/plugins/archives/ArchivesPlugin.php index ce65ca567..060004634 100644 --- a/storage/plugins/archives/ArchivesPlugin.php +++ b/storage/plugins/archives/ArchivesPlugin.php @@ -1248,8 +1248,8 @@ function ( $app->get('/archive', $publicIndex); $app->get('/archive/{slug:[a-z0-9-]+}-{id:[0-9]+}', $publicShow); $app->get('/archive/{id:[0-9]+}', $publicShow); - // FIX F029: include fr_FR so the localised /archives route registers for French installs. - foreach (['it_IT', 'en_US', 'de_DE', 'fr_FR'] as $locale) { + // Register every bundled locale so localized archive routes are reachable. + foreach (['it_IT', 'en_US', 'de_DE', 'fr_FR', 'da_DK'] as $locale) { $base = $publicRouteFor($locale); if (!empty($base) && $base !== '/archive') { $app->get($base, $publicIndex); diff --git a/tests/code-quality.spec.js b/tests/code-quality.spec.js index 132ab0ac4..93ab51d20 100644 --- a/tests/code-quality.spec.js +++ b/tests/code-quality.spec.js @@ -311,15 +311,77 @@ test.describe.serial('Code Quality — 15 static analysis tests', () => { test('10. API endpoints documented in README.md exist in PHP code', () => { const readme = fs.readFileSync(path.join(ROOT, 'README.md'), 'utf-8'); - const phpSources = [ + const phpFiles = [ ...glob('app', '.php', ['vendor']), ...glob('storage/plugins', '.php'), - ].map(f => fs.readFileSync(f, 'utf-8')).join('\n'); + ].map(f => fs.readFileSync(f, 'utf-8')); + const phpSources = phpFiles.join('\n'); const DOC_RE = /`GET (\/(?:api|resync|oai|openurl|archives)[^\s`]+)/g; const violations = []; const normalizedPhpSources = phpSources.replace(/\{([^}:]+):[^}]+\}/g, '{$1}'); const normalizedRouteSources = normalizedPhpSources.replace(/\{[^}:]+(?::[^}]+)?\}/g, '{}'); + + // Return only the lexical body of each /api/v1 group callback. Looking + // for a group and a child route anywhere in the same file is too weak: + // an unrelated top-level GET later in that file would be a false pass. + const apiV1GroupBodies = source => { + const bodies = []; + const groupRe = /->group\(\s*(['"])\/api\/v1\1\s*,\s*function\b[^{]*\{/g; + let groupMatch; + while ((groupMatch = groupRe.exec(source)) !== null) { + const open = groupRe.lastIndex - 1; + let depth = 0; + let quote = null; + let escaped = false; + let lineComment = false; + let blockComment = false; + for (let i = open; i < source.length; i++) { + const ch = source[i]; + const next = source[i + 1] ?? ''; + if (lineComment) { + if (ch === '\n') lineComment = false; + continue; + } + if (blockComment) { + if (ch === '*' && next === '/') { blockComment = false; i++; } + continue; + } + if (quote !== null) { + if (escaped) { escaped = false; continue; } + if (ch === '\\') { escaped = true; continue; } + if (ch === quote) quote = null; + continue; + } + if (ch === '/' && next === '/') { lineComment = true; i++; continue; } + if (ch === '#') { lineComment = true; continue; } + if (ch === '/' && next === '*') { blockComment = true; i++; continue; } + if (ch === "'" || ch === '"' || ch === '`') { quote = ch; continue; } + if (ch === '{') depth++; + if (ch === '}' && --depth === 0) { + bodies.push(source.slice(open + 1, i)); + groupRe.lastIndex = i + 1; + break; + } + } + } + return bodies; + }; + const groupedGetExists = (source, child) => { + const escapedChild = child.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + const getRe = new RegExp(`->get\\(\\s*(['"])${escapedChild}\\1`); + return apiV1GroupBodies(source).some(body => { + const normalized = body + .replace(/\{([^}:]+):[^}]+\}/g, '{$1}') + .replace(/\{[^}:]+(?::[^}]+)?\}/g, '{}'); + return getRe.test(normalized); + }); + }; + const falsePositiveFixture = "$app->group('/api/v1', function ($g) {}); $app->get('/auth/registration-fields', $handler);"; + expect(groupedGetExists(falsePositiveFixture, '/auth/registration-fields'), + 'a top-level GET outside the /api/v1 callback must not satisfy the route check' + ).toBe(false); + let m; while ((m = DOC_RE.exec(readme)) !== null) { // Strip the query string + hash before matching against the PHP @@ -330,7 +392,24 @@ test.describe.serial('Code Quality — 15 static analysis tests', () => { // `{}` to align with the PHP-side normalisation above. const pathOnly = m[1].split('?')[0].split('#')[0]; const search = pathOnly.replace(/\/$/, '').replace(/\{[^}:]+(?::[^}]+)?\}/g, '{}'); - if (!normalizedRouteSources.includes(search)) violations.push(m[1]); + let found = normalizedRouteSources.includes(search); + + // Slim plugins commonly register `/api/v1` once with group(), then + // declare child routes as `/auth/...`. Require the GET child literal + // inside that exact group's callback so unrelated routes elsewhere + // in the same PHP file cannot satisfy a documented API path. + if (search.startsWith('/api/v1/')) { + const child = search.slice('/api/v1'.length); + const escapedSearch = search.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + const directGetRe = new RegExp(`->get\\(\\s*(['"])${escapedSearch}\\1`); + found = phpFiles.some(source => { + const normalized = source + .replace(/\{([^}:]+):[^}]+\}/g, '{$1}') + .replace(/\{[^}:]+(?::[^}]+)?\}/g, '{}'); + return directGetRe.test(normalized) || groupedGetExists(source, child); + }); + } + if (!found) violations.push(m[1]); } expect(violations, `Endpoints documented in README but no matching route found in PHP:\n${violations.map(v => ' GET ' + v).join('\n')}` diff --git a/tests/danish-locale-279.unit.php b/tests/danish-locale-279.unit.php new file mode 100644 index 000000000..51fd8b797 --- /dev/null +++ b/tests/danish-locale-279.unit.php @@ -0,0 +1,112 @@ +{{variabile}} per inserire dati dinamici.'; +$check(str_contains((string) ($danish[$tinyMceKey] ?? ''), '{{variabile}}'), 'TinyMCE placeholder token is preserved verbatim'); +$styleKey = "Il codice verrà inserito in un tag "; +$styleValue = (string) ($danish[$styleKey] ?? ''); +$check(str_contains($styleValue, ''), 'literal style tags survive translation'); +$check( + !str_contains(json_encode($danish, JSON_UNESCAPED_UNICODE) ?: '', 'duleret') + && !str_contains(json_encode($danish, JSON_UNESCAPED_UNICODE) ?: '', 'Verfügbar') + && !str_contains(json_encode($danish, JSON_UNESCAPED_UNICODE) ?: '', 'analyseculies'), + 'known corrupt or cross-language translations are absent' +); + +$analyticsPrefixKey = 'Per inserire il codice JavaScript Analytics (Google Analytics, Matomo, ecc.), vai su { // Simulates an admin upgrading to this version and switching the app language. // Verifies: fr_FR LibraryThing strings (our i18n fix), en_US and de_DE render // without errors, and it_IT is always restored as the default at the end. -// All 4 languages are pre-seeded by the installer — no language creation needed. +// All 5 languages (incl. da_DK) are pre-seeded by the installer — no language creation needed. // ════════════════════════════════════════════════════════════════════════════ test.describe.serial('Phase 21: Language Switch', () => { /** @type {import('@playwright/test').BrowserContext} */ diff --git a/tests/migration-0.7.41.unit.php b/tests/migration-0.7.41.unit.php new file mode 100644 index 000000000..1c55e2293 --- /dev/null +++ b/tests/migration-0.7.41.unit.php @@ -0,0 +1,148 @@ +set_charset('utf8mb4'); +} catch (\Throwable $e) { + // A migration test that silently skips its DB section is a false green in + // CI (both ci-quality and ci-e2e provision MySQL). Fail loudly instead. + fwrite(STDERR, "FAIL: database unreachable — the migration section is mandatory: {$e->getMessage()}\n"); + exit(1); +} + +$SB = 'zz_mig_languages_0741'; +$migration = (string) file_get_contents($root . '/installer/database/migrations/migrate_0.7.41.sql'); + +// Retarget the REAL migration at a sandbox table name so the test never +// collides with a live `languages` table. +$sandbox = static fn (string $sql): string => str_replace('`languages`', "`{$SB}`", $sql); + +$runMigration = static function () use ($db, $migration, $sandbox): void { + foreach (array_filter(array_map('trim', preg_split('/;\s*\n/', $sandbox(preg_replace('/^--.*$/m', '', $migration) ?? $migration)))) as $statement) { + if ($statement !== '') { + $db->query($statement); + } + } +}; + +$cleanup = static function () use ($db, $SB): void { + $db->query("DROP TABLE IF EXISTS {$SB}"); +}; + +try { + $cleanup(); + + // Recreate the languages schema (the columns the migration writes + the + // UNIQUE(code) key the ON DUPLICATE KEY UPDATE relies on). + $db->query("CREATE TABLE {$SB} ( + id int NOT NULL AUTO_INCREMENT, + code varchar(10) NOT NULL, + name varchar(100) NOT NULL, + native_name varchar(100) NOT NULL, + flag_emoji varchar(10) DEFAULT NULL, + is_default tinyint(1) DEFAULT 0, + is_active tinyint(1) DEFAULT 1, + translation_file varchar(255) DEFAULT NULL, + total_keys int DEFAULT 0, + translated_keys int DEFAULT 0, + completion_percentage decimal(5,2) DEFAULT 0.00, + created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (id), + UNIQUE KEY unique_code (code) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"); + + // Pre-0.7.41 install state: existing locales present, da_DK absent. + $db->query("INSERT INTO {$SB} (code, name, native_name, is_default, is_active, translation_file) VALUES + ('it_IT','Italian','Italiano',1,1,'locale/it_IT.json'), + ('en_US','English','English',0,1,'locale/en_US.json')"); + + $before = (int) $db->query("SELECT COUNT(*) FROM {$SB} WHERE code='da_DK'")->fetch_row()[0]; + $check($before === 0, 'da_DK absent before migration (pre-0.7.41 state)'); + + $runMigration(); + + $row = $db->query("SELECT native_name, is_active, total_keys, translated_keys, completion_percentage, translation_file FROM {$SB} WHERE code='da_DK'")->fetch_assoc(); + $check($row !== null, 'da_DK row inserted by migration'); + $check($row !== null && $row['native_name'] === 'Dansk', 'native_name = Dansk'); + $check($row !== null && (int) $row['is_active'] === 1, 'da_DK is active'); + $locale = json_decode((string) file_get_contents($root . '/locale/da_DK.json'), true, 512, JSON_THROW_ON_ERROR); + $expectedKeys = count($locale); + $check( + $row !== null + && (int) $row['total_keys'] === $expectedKeys + && (int) $row['translated_keys'] === $expectedKeys, + "key counts match locale/da_DK.json ({$expectedKeys}/{$expectedKeys})" + ); + $check($row !== null && (float) $row['completion_percentage'] === 100.00, 'completion_percentage = 100.00'); + $check($row !== null && $row['translation_file'] === 'locale/da_DK.json', 'translation_file = locale/da_DK.json'); + + $others = (int) $db->query("SELECT COUNT(*) FROM {$SB} WHERE code IN ('it_IT','en_US')")->fetch_row()[0]; + $check($others === 2, 'pre-existing locales left untouched'); + + // Idempotency: a second run must not error and must not duplicate. + $runMigration(); + $dupes = (int) $db->query("SELECT COUNT(*) FROM {$SB} WHERE code='da_DK'")->fetch_row()[0]; + $check($dupes === 1, 'second run does not duplicate da_DK (idempotent upsert)'); + + // Re-activation: a manually deactivated da_DK is switched back on. + $db->query("UPDATE {$SB} SET is_active=0 WHERE code='da_DK'"); + $runMigration(); + $reactivated = (int) $db->query("SELECT is_active FROM {$SB} WHERE code='da_DK'")->fetch_row()[0]; + $check($reactivated === 1, 'migration re-activates a deactivated da_DK'); + + $cleanup(); +} catch (\Throwable $e) { + $fail++; + echo " FAIL exception: {$e->getMessage()}\n"; + $cleanup(); +} + +echo "\n{$pass} PASS, {$fail} FAIL\n"; +exit($fail === 0 ? 0 : 1); diff --git a/version.json b/version.json index 3da1a9607..dfd9858b4 100644 --- a/version.json +++ b/version.json @@ -1,5 +1,5 @@ { - "name": "Pinakes", - "version": "0.7.40", - "description": "Library Management System - Sistema di Gestione Bibliotecaria" + "name": "Pinakes", + "version": "0.7.41", + "description": "Library Management System - Sistema di Gestione Bibliotecaria" }