diff --git a/data/web/lang/lang.nl.json b/data/web/lang/lang.nl.json
index 5c7ffc8d..053e109c 100644
--- a/data/web/lang/lang.nl.json
+++ b/data/web/lang/lang.nl.json
@@ -14,6 +14,7 @@
         "quarantine": "Quarantaine-acties",
         "quarantine_attachments": "Quarantainebijlagen",
         "quarantine_notification": "Quarantainemeldingen",
+        "quarantine_category": "Wijzig categorie van quarantainemeldingen",
         "ratelimit": "Ratelimit",
         "recipient_maps": "Ontvanger-maps",
         "smtp_ip_access": "Wijzig toegestane hosts voor SMTP",
@@ -138,6 +139,7 @@
         "ban_list_info": "Bekijk de lijst met verbannen IP-adressen hieronder: <b>netwerk (resterende tijd) - [acties]</b>.<br />Rode labels geven een permanente verbanning aan.<br />Het kan enkele seconden duren voordat wijzigingen hieronder zichtbaar zijn.",
         "change_logo": "Logo",
         "configuration": "Instellingen",
+        "convert_html_to_text": "Converteer HTML naar plaintext",
         "credentials_transport_warning": "<b>Waarschuwing</b>: Bij het toevoegen van een nieuwe transport-map zullen de aanmeldingsgegevens voor alle items met een overeenkomende nexthop-kolom worden overgeschreven.",
         "customer_id": "Klantnummer",
         "customize": "Personalisatie",
@@ -189,6 +191,7 @@
         "hash_remove_info": "Het verwijderen van een ratelimit-hash, indien nog aanwezig, zal zijn teller volledig herstellen.<br>Elke hash wordt aangeduid met een aparte kleur.",
         "help_text": "Hulpteksten onder aanmeldvenster (HTML toegestaan)",
         "host": "Host",
+        "html": "HTML",
         "import": "Importeer",
         "import_private_key": "Importeer private key",
         "in_use_by": "In gebruik door",
@@ -216,6 +219,7 @@
         "oauth2_redirect_uri": "Redirect URI",
         "oauth2_renew_secret": "Genereer een nieuw client-secret",
         "oauth2_revoke_tokens": "Trek alle client-tokens in",
+        "optional": "optioneel",
         "password": "Wachtwoord",
         "password_repeat": "Herhaal wachtwoord",
         "priority": "Prioriteit",
@@ -225,6 +229,7 @@
         "quarantine_exclude_domains": "Sluit de volgende domeinen en aliasdomeinen uit",
         "quarantine_max_age": "Maximale leeftijd in dagen<br><small>Dit kan niet minder zijn dan 1 dag.</small>",
         "quarantine_max_size": "Maximale grootte in MiB (mail die de limiet overschrijdt zal worden verwijderd):<br><small>0 betekent <b>niet</b> onbeperkt!</small>",
+        "quarantine_max_score": "Stuur geen notificatie wanneer de spamscore hoger is dan:<br><small>Standaard: 9999.0</small>",
         "quarantine_notification_html": "Meldingssjabloon:<br><small>Laat leeg om de standaardsjabloon te herstellen.</small>",
         "quarantine_notification_sender": "Afzender van meldingen",
         "quarantine_notification_subject": "Onderwerp van meldingen",
@@ -276,7 +281,7 @@
         "rspamd_global_filters": "Globale filters",
         "rspamd_global_filters_agree": "Ik ben me ervan bewust dat aanpassingen desastreuze gevolgen kunnen hebben",
         "rspamd_global_filters_info": "Ieder globaal filter heeft zijn eigen functie, zie de namen.",
-        "rspamd_global_filters_regex": "De velden kunnen uitsluitend regular expressions bevatten met het formaat \"/pattern/options\", bijvoorbeeld <code>/.+@domain\\.tld/i</code>.<br>Ondanks dat alle invoer wordt gecontroleerd op fouten, is het toch mogelijk dat Rspamd onbruikbaar wordt als deze de invoer niet kan lezen.<br>Als je problemen ervaart, <a href=\"\" data-toggle=\"modal\" data-container=\"rspamd-mailcow\" data-target=\"#RestartContainer\">herstart Rspamd</a> dan om de filters opnieuw te laten lezen.",
+        "rspamd_global_filters_regex": "De velden kunnen uitsluitend regular expressions bevatten met het formaat \"/pattern/options\", bijvoorbeeld <code>/.+@domain\\.tld/i</code>.<br>Ondanks dat alle invoer wordt gecontroleerd op fouten, is het toch mogelijk dat Rspamd onbruikbaar wordt als deze de invoer niet kan lezen.<br>Als je problemen ervaart, <a href=\"\" data-toggle=\"modal\" data-container=\"rspamd-mailcow\" data-target=\"#RestartContainer\">herstart Rspamd</a> dan om de filters opnieuw te laten lezen.<br>Elementen op de blacklist zijn uitgesloten van de quarantaine.",
         "rspamd_settings_map": "Rspamd",
         "sal_level": "Moo-level",
         "save": "Sla wijzigingen op",
@@ -416,12 +421,14 @@
         "targetd_relay_domain": "Doeldomein %s is een geforward domein",
         "temp_error": "Tijdelijke fout",
         "text_empty": "De tekst dient ingevuld te worden",
+        "tfa_token_invalid": "Tweefactorauthenticatietoken is ongeldig",
         "tls_policy_map_dest_invalid": "Beleidsbestemming is ongeldig",
         "tls_policy_map_entry_exists": "Versleutelingsbeleid met \"%s\" bestaat reeds",
         "tls_policy_map_parameter_invalid": "Beleidsparameter is ongeldig",
         "totp_verification_failed": "TOTP-verificatie mislukt",
         "transport_dest_exists": "Transportbestemming \"%s\" bestaat reeds",
         "u2f_verification_failed": "U2F-verificatie mislukt: %s",
+        "fido2_verification_failed": "FIDO2-verificatie mislukt: %s",
         "unknown": "Er is een onbekende fout opgetreden",
         "unknown_tfa_method": "Onbekende tweefactorauthenticatiemethode",
         "unlimited_quota_acl": "Onbeperkte quota geweigerd door toegangscontrole",
@@ -595,8 +602,10 @@
     },
     "login": {
         "delayed": "Aanmelding vertraagd met %s seconden.",
+        "fido2_webauthn": "FIDO2/WebAuthn",
         "login": "Aanmelden",
         "mobileconfig_info": "Log in als mailboxgebruiker om het Apple-verbindingsprofiel te downloaden.",
+        "other_logins": "Meld aan met key",
         "password": "Wachtwoord",
         "username": "Gebruikersnaam"
     },
@@ -672,6 +681,8 @@
         "mailbox_defquota": "Standaard mailboxgrootte",
         "mailbox_quota": "Maximale mailboxgrootte",
         "mailboxes": "Mailboxen",
+        "mailbox_defaults": "Standaardinstellingen",
+        "mailbox_defaults_info": "Stel standaardinstellingen in voor nieuwe mailboxen.",
         "mins_interval": "Interval (min)",
         "msg_num": "Bericht #",
         "multiple_bookings": "Meerdere boekingen",
@@ -681,7 +692,11 @@
         "owner": "Eigenaar",
         "private_comment": "Persoonlijke opmerking",
         "public_comment": "Publieke opmerking",
+        "q_add_header": "Spamfolder",
+        "q_all": "Alle categorieën",
+        "q_reject": "Geweigerd",
         "quarantine_notification": "Quarantainemeldingen",
+        "quarantine_category": "Categorie van quarantainemelding",
         "quick_actions": "Handelingen",
         "recipient_map": "Ontvanger-map",
         "recipient_map_info": "Ontvanger-maps worden gebruikt om het doeladres van een bericht te vervangen voordat het in een mailbox terecht komt.",
@@ -746,19 +761,24 @@
         "action": "Handeling",
         "atts": "Bijlagen",
         "check_hash": "Zoek bestandshash op in VT",
+        "confirm": "Bevestig",
         "confirm_delete": "Bevestig de verwijdering van dit item.",
         "danger": "Risico",
+        "deliver_inbox": "Vrijgeven naar inbox",
         "disabled_by_config": "De huidige systeemconfiguratie deactiveert de quarantainefunctionaliteit. Het instellen van \"Maximale retenties per mailbox\" en \"Maximale grootte\" is vereist om deze functie te activeren.",
         "download_eml": "Download (.eml)",
         "empty": "Geen resultaten",
-        "high_danger": "Hoog risico",
+        "high_danger": "Hoog",
+        "info": "Informatie",
+        "junk_folder": "Spamfolder",
         "learn_spam_delete": "Markeer als spam en verwijder",
-        "low_danger": "Laag risico",
-        "medium_danger": "Middelmatig risico",
-        "neutral_danger": "Neutraal/geen beoordeling",
+        "low_danger": "Laag",
+        "medium_danger": "Gemiddeld",
+        "neutral_danger": "Neutraal",
         "notified": "Verwittigd",
         "qhandler_success": "Aanvraag succesvol verzonden naar het systeem. Je kunt nu het venster sluiten.",
         "qid": "Rspamd QID",
+        "qinfo": "Het quarantainesysteem slaat een kopie van zowel geweigerde mail (voor de afzender zal het lijken alsof de mail <em>niet</em> afgeleverd is), als mail die afgeleverd is de spamfolder, op in de database.\r\n  <br>\"Markeer als spam en verwijder\" traint het systeem om soortgelijke mails in de toekomst opnieuw als spam te markeren.\r\n  <br>Wanneer er meerdere berichten tegelijkertijd worden behandeld kan het mogelijk enige tijd duren.<br>Elementen op de blacklist zijn uitgesloten van de quarantaine.",
         "qitem": "Quarantaine-item",
         "quarantine": "Quarantaine",
         "quick_actions": "Handelingen",
@@ -766,16 +786,21 @@
         "received": "Ontvangen",
         "recipients": "Ontvangers",
         "refresh": "Ververs",
+        "rejected": "Geweigerd",
         "release": "Geef vrij",
         "release_body": "We hebben het oorspronkelijke bericht als los bestand bijgevoegd. Open dit bestand om het bericht weer te geven.",
         "release_subject": "Mogelijk schadelijk quarantaine-item %s",
         "remove": "Verwijder",
+        "rewrite_subject": "Herschrijf onderwerp",
         "rspamd_result": "Rspamd-resultaat",
         "sender": "Afzender (SMTP)",
         "sender_header": "Afzender (\"From\" header)",
+        "type": "Type",
         "quick_release_link": "Open snelkoppeling voor vrijgeven",
         "quick_delete_link": "Open snelkoppeling voor verwijderen",
+        "quick_info_link": "Open snelkoppeling met informatie",
         "show_item": "Toon item",
+        "spam": "Spam",
         "spam_score": "Score",
         "subj": "Onderwerp",
         "table_size": "Tabelgrootte",
@@ -863,6 +888,7 @@
         "upload_success": "Bestand succesvol geupload",
         "verified_totp_login": "TOTP succesvol geverifieerd",
         "verified_u2f_login": "U2F succesvol geverifieerd",
+        "verified_fido2_login": "FIDO2 succesvol geverifieerd",
         "verified_yotp_login": "Yubico OTP succesvol geverifieerd"
     },
     "tfa": {
@@ -883,12 +909,27 @@
         "set_tfa": "Kies methode voor tweefactorauthenticatie",
         "start_u2f_validation": "Start validatie",
         "tfa": "Tweefactorauthenticatie",
+        "tfa_token_invalid": "Tweefactorauthenticatietoken is ongeldig",
         "totp": "TOTP (Step Two, Authy, etc.)",
         "u2f": "U2F",
         "waiting_usb_auth": "<i>In afwachting van USB-apparaat...</i><br><br>Druk nu op de knop van je U2F-apparaat.",
         "waiting_usb_register": "<i>In afwachting van USB-apparaat...</i><br><br>Voer je wachtwoord hierboven in en bevestig de registratie van het U2F-apparaat door op de knop van het apparaat te drukken.",
         "yubi_otp": "Yubico OTP"
     },
+    "fido2": {
+        "set_fn": "Stel naam in",
+        "fn": "Naam",
+        "rename": "Hernoem",
+        "confirm": "Bevestig",
+        "register_status": "Registratiestatus",
+        "known_ids": "Bekende IDs",
+        "none": "Uitgeschakeld",
+        "set_fido2": "Registreer FIDO2-apparaat",
+        "start_fido2_validation": "Start FIDO2-validatie",
+        "fido2_auth": "Aanmelden met FIDO2",
+        "fido2_success": "Apparaat succesvol geregistreerd",
+        "fido2_validation_failed": "Validatie mislukt"
+    },
     "user": {
         "action": "Handeling",
         "active": "Actief",
@@ -960,8 +1001,13 @@
         "pushover_title": "Meldingstitel",
         "pushover_vars": "Wanneer er geen afzenders zijn uitgesloten zullen alle mails doorkomen.<br>Regex-filters en afzendercontroles kunnen individueel worden ingesteld en zullen in volgorde worden verwerkt. Ze zijn niet afhankelijk van elkaar.<br>Bruikbare variabelen voor tekst en titel (let op het gegevensbeschermingsbeleid)",
         "pushover_verify": "Verifieer aanmeldingsgegevens",
+        "q_add_header": "Spamfolder",
+        "q_all": "Alle categorieën",
+        "q_reject": "Geweigerd",
         "quarantine_notification": "Quarantainemeldingen",
+        "quarantine_category": "Categorie van quarantainemelding",
         "quarantine_notification_info": "Zodra een melding is verzonden worden de items als gelezen gemarkeerd. Er zal niet nogmaals melding van diezelfde items worden gemaakt.",
+        "quarantine_category_info": "De meldingscategorie \"Geweigerd\" bevat mail die geweigerd is, terwijl \"Spamfolder\" mail bevat die afgeleverd is in de spamfolder van een gebruiker.",
         "remove": "Verwijder",
         "running": "Wordt uitgevoerd",
         "save": "Sla wijzigingen op",
@@ -978,7 +1024,7 @@
         "spamfilter": "Spamfilter",
         "spamfilter_behavior": "Beoordeling",
         "spamfilter_bl": "Blacklist",
-        "spamfilter_bl_desc": "Zet mailadressen op de blacklist om ze <b>altijd</b> als spam te markeren.<br>Deze lijst wordt niet toegepast op een gedeeld aliasadres.<br>Wildcards (*) zijn toegestaan.",
+        "spamfilter_bl_desc": "Zet mailadressen op de blacklist om ze <b>altijd</b> als spam te markeren. Geweigerde mail zal <b>niet</b> gekopieerd worden naar de quarantaine. Deze lijst wordt niet toegepast op een gedeeld aliasadres. Wildcards (*) zijn toegestaan.",
         "spamfilter_default_score": "Standaardwaarden",
         "spamfilter_green": "Groen: dit bericht is geen spam.",
         "spamfilter_hint": "De eerste waarde omschrijft een lage spamscore, de tweede een hoge spamscore.",