diff --git a/config/app.php b/config/app.php
index 6944b0e9..70cb95a8 100644
--- a/config/app.php
+++ b/config/app.php
@@ -96,6 +96,7 @@
'hu_HU' => 'Magyar',
'it_IT' => 'Italiano',
'ja_JP' => '日本語',
+ 'nl_NL' => 'Dutch',
'no_NO' => 'Norsk',
'pl_PL' => 'Polski',
'ro_RO' => 'Română',
diff --git a/lang/de_DE/auth.php b/lang/de_DE/auth.php
index 3ee512ae..ea03fb74 100644
--- a/lang/de_DE/auth.php
+++ b/lang/de_DE/auth.php
@@ -18,6 +18,7 @@
'failed' => 'Diese Zugangsdaten stimmen nicht mit unseren Datensätzen überein.',
'throttle' => 'Zu viele fehlgeschlagene Anmeldeversuche. Bitte versuche es erneut in :seconds Sekunden.',
+ 'unauthorized' => 'Login nicht autorisiert. Bitte kontaktieren Sie Ihren Administrator.',
'confirm_title' => 'Bestätigung erforderlich',
'confirm' => 'Bitte bestätige diese Aktion mit dem aktuellen Passwort.',
@@ -51,4 +52,24 @@
'api_tokens.revoke_confirm' => 'Wollen Sie diesen Token wirklich widerrufen? Dieser Schritt kann nicht rückgängig gemacht werden und der Token kann nicht wiederhergestellt werden.',
'api_tokens.revoke_successful' => 'Der Token wurde erfolgreich widerrufen.',
+ 'sso' => 'SSO',
+ 'sso_account_provider' => 'SSO-Anbieter',
+ 'sso_account_id' => 'SSO-ID',
+ 'sso_provider_disabled' => 'Der ausgewählte SSO-Anbieter ist nicht verfügbar. Bitte wählen Sie einen anderen.',
+ 'sso_wrong_provider' => 'Anmeldung mit :currentProvider nicht möglich. Bitte verwenden Sie :userProvider um sich anzumelden, oder kontaktieren Sie Ihren Administrator für Hilfe.',
+
+ 'sso_provider' => [
+ 'auth0' => '',
+ 'authentik' => '',
+ 'azure' => '',
+ 'cognito' => '',
+ 'fusionauth' => '',
+ 'google' => '',
+ 'github' => '',
+ 'gitlab' => '',
+ 'keycloak' => '',
+ 'oidc' => '',
+ 'okta' => '',
+ 'zitadel' => '',
+ ],
];
diff --git a/lang/nl_NL/admin.php b/lang/nl_NL/admin.php
new file mode 100644
index 00000000..cc7c55d0
--- /dev/null
+++ b/lang/nl_NL/admin.php
@@ -0,0 +1,25 @@
+ [
+ 'title' => 'Gebruikersbeheer',
+
+ 'invitations' => 'Uitnodigingen',
+ 'invite' => 'Gebruiker uitnodigen',
+ 'invite_help' => 'Voer het e-mailadres in van een gebruiker die je wilt uitnodigen. De gebruiker ontvangt een e-mail met een link om een nieuw gebruikersaccount te registreren. De uitnodiging is 72 uur geldig.',
+ 'invite_delete_confirmation' => 'Weet je zeker dat je deze uitnodiging wilt verwijderen?',
+ 'invite_successful' => 'De uitnodiging is verzonden.',
+ 'invite_accept' => 'Accepteer uitnodiging',
+ 'invite_accepted_by' => 'Uitnodiging is geaccepteerd door :user (ID :id)',
+ 'invite_delete_successful' => 'Uitnodiging aan :email is succesvol verwijderd.',
+
+ 'invite_notification_title' => 'Je bent uitgenodigd om toe te treden tot LinkAce!',
+ 'invite_notification' => 'Je bent uitgenodigd om deel te nemen aan LinkAce, een sociale-bladwijzers-tool. Klik op de knop hieronder om jouw gebruikersaccount in te stellen. Als je geen uitnodiging hebt aangevraagd of er geen hebt verwacht, negeer dan deze e-mail of neem contact op met je beheerder.',
+
+ 'invite_link_invalid' => 'De uitnodiging is verlopen of de link is onjuist. Neem contact op met je beheerder.',
+ 'invite_token_invalid' => 'De uitnodigingslink is ongeldig of de uitnodiging is verwijderd.',
+ 'invite_expired' => 'De uitnodiging is verlopen of is al gebruikt. Neem contact op met je beheerder om een nieuwe uitnodiging te ontvangen.',
+
+ 'invite_valid_until' => 'Geldig tot :datetime',
+ 'invite_valid_until_info' => 'Deze uitnodiging is geldig tot :datetime',
+ ],
+];
diff --git a/lang/nl_NL/attributes.php b/lang/nl_NL/attributes.php
new file mode 100644
index 00000000..978196fb
--- /dev/null
+++ b/lang/nl_NL/attributes.php
@@ -0,0 +1,11 @@
+ [
+ ModelAttribute::VISIBILITY_PUBLIC => 'Openbaar',
+ ModelAttribute::VISIBILITY_INTERNAL => 'Intern',
+ ModelAttribute::VISIBILITY_PRIVATE => 'Privé',
+ ],
+];
diff --git a/lang/nl_NL/audit.php b/lang/nl_NL/audit.php
new file mode 100644
index 00000000..e271e102
--- /dev/null
+++ b/lang/nl_NL/audit.php
@@ -0,0 +1,24 @@
+ 'Auditlogboek',
+ 'system_events' => 'Systeemgebeurtenissen',
+ 'settings_history' => 'Instellingengeschiedenis',
+ 'user_history' => 'Gebruikersgeschiedenis',
+ 'user_history_entry' => 'Wijziging gebruiker :id:',
+
+ 'no_logs_found' => 'Geen logboekvermeldingen gevonden',
+
+ 'activity_entry_with_causer' => ':change door :causer',
+
+ 'logs' => [
+ 'system' => [
+ 'cron_token_regenerated' => 'Systeem: Cron-token is opnieuw gegenereerd',
+ ],
+ 'user_settings' => [
+ 'api_token_generated' => 'Gebruiker: API-token is gegenereerd',
+ 'api_token_revoken' => 'Gebruiker: API-token is ingetrokken',
+ ],
+ ],
+];
diff --git a/lang/nl_NL/import.php b/lang/nl_NL/import.php
new file mode 100644
index 00000000..11ab8521
--- /dev/null
+++ b/lang/nl_NL/import.php
@@ -0,0 +1,14 @@
+ 'Importeren',
+ 'start_import' => 'Importeren starten',
+ 'import_running' => 'Bezig met importeren...',
+ 'import_file' => 'Bestand voor importeren',
+
+ 'import_help' => 'Je kunt hier je bestaande browserbladwijzers importeren. Meestal worden bladwijzers geëxporteerd naar een .html-bestand door uw browser. Selecteer het bestand hier en start het importeren.
Afhankelijk van het aantal bladwijzers kan dit proces enige tijd duren.',
+
+ 'import_networkerror' => 'Er ging iets mis bij het importeren van de bladwijzers. Controleer de browserconsole voor meer informatie of raadpleeg de applicatielogboeken.',
+ 'import_error' => 'Er ging iets mis tijdens het importeren van de bladwijzers. Raadpleeg de applicatielogboeken.',
+ 'import_empty' => 'Kan geen bladwijzers importeren. Het geüploade bestand is beschadigd of leeg.',
+ 'import_successfully' => ':imported koppelingen succesvol geïmporteerd, :skipped overgeslagen. Alle geïmporteerde koppelingen zijn toegewezen aan de tag: taglink.',
+];
diff --git a/lang/nl_NL/link.php b/lang/nl_NL/link.php
new file mode 100644
index 00000000..85edebd0
--- /dev/null
+++ b/lang/nl_NL/link.php
@@ -0,0 +1,73 @@
+ 'Koppeling',
+ 'links' => 'Koppelingen',
+ 'all_links' => 'Alle koppelingen',
+ 'recent_links' => 'Recente koppelingen',
+ 'update_links' => 'Koppeling bijwerken',
+ 'no_links' => 'Geen koppelingen',
+
+ 'add' => 'Koppeling toevoegen',
+ 'add_quick' => 'Koppelink snel toevoegen',
+ 'show' => 'Toon koppelingen',
+ 'details' => 'Koppelingsdetails',
+ 'edit' => 'Koppeling bewerken',
+ 'update' => 'Koppeling bijwerken',
+ 'delete' => 'Koppeling verwijderen|Koppelingen verwijderen',
+
+ 'public' => 'Openbare koppeling',
+ 'internal' => 'Interne koppeling',
+ 'private' => 'Privékoppeling',
+
+ 'history_deleted' => 'De koppeling is verwijderd',
+ 'history_restored' => 'De koppeling is hersteld',
+ 'history_created' => 'De koppeling is aangemaakt',
+
+ 'url' => 'Webadres',
+ 'title' => 'Titel',
+ 'description' => 'Omschrijving',
+ 'revtags' => 'Tags',
+ 'revlists' => 'Lijsten',
+ 'visibility' => 'Zichtbaarheid',
+
+ 'status' => 'Status',
+ 'stati' => [
+ '1' => 'Werkend',
+ '2' => 'Verplaatst',
+ '3' => 'Kapot',
+ ],
+
+ 'author' => 'door :user',
+
+ 'external_link' => 'Externe koppeling',
+ 'wayback' => 'Link archiveren bij Wayback Machine',
+
+ 'check_disable' => 'Controle uitschakelen',
+ 'check_disabled' => 'De controle is uitgeschakeld',
+ 'check_enable' => 'Controle inschakelen',
+ 'check_enabled' => 'De controle is ingeschakeld',
+
+ 'status_is_broken' => 'De koppeling is gemarkeerd als kapot',
+ 'status_mark_working' => 'Markeer als werkende',
+
+ 'bulk_title' => 'Je wilt :count koppeling bewerken.|Je wilt :count koppelingen bewerken.',
+ 'bulk_edit_add' => 'Koppeling toevoegen aan bulkbewerking',
+ 'bulk_edit_success' => ':success van :selected geselecteerde koppelingen bijgewerkt.',
+ 'bulk_delete_success' => ':success van :selected geselecteerde koppelingen verplaatst naar de prullenbak.',
+
+ 'added_successfully' => 'De koppeling is succesvol toegevoegd.',
+ 'added_connection_error' => 'De koppeling is toegevoegd, maar er is een verbindingsfout opgetreden bij het openen van het webadres. Details kunnen worden gevonden in de logs.',
+ 'added_request_error' => 'De koppeling is toegevoegd, maar er is een fout opgetreden bij het opvragen van het webadres (bijvoorbeeld een ongeldig certificaat). Details kunnen worden gevonden in de logs.',
+ 'updated_successfully' => 'De koppeling is succesvol toegevoegd.',
+ 'deleted_successfully' => 'De koppeling is succesvol verwijderd.',
+ 'deletion_error' => 'De koppeling kon niet worden verwijderd.',
+
+ 'duplicates_found' => 'LinkAce heeft mogelijke duplicaten van het opgegeven webadres gevonden:',
+ 'existing_found' => 'Een koppeling met het opgegeven webadres bestaat al.',
+
+ 'notifications.linkcheck.errors' => 'LinkAce heeft fouten gevonden bij het controleren van jouw koppelingen.',
+ 'notifications.linkcheck.errors.moved' => '⚠️ De volgende koppelingen zijn verplaatst naar een nieuwe locatie:',
+ 'notifications.linkcheck.errors.broken' => '🚫 De volgende koppelingen zijn niet meer bereikbaar of geven een foutmelding terug:',
+
+ 'happy_bookmarking' => 'Veel plezier bij het bladwijzeren',
+];
diff --git a/lang/nl_NL/linkace.php b/lang/nl_NL/linkace.php
new file mode 100644
index 00000000..c8c85e52
--- /dev/null
+++ b/lang/nl_NL/linkace.php
@@ -0,0 +1,74 @@
+ 'LinkAce',
+
+ 'user' => 'Gebruiker',
+ 'username' => 'Gebruikersnaam',
+ 'email' => 'E-mailadres',
+ 'password' => 'Wachtwoord',
+ 'password_confirm' => 'Bevestig het wachtwoord',
+ 'login' => 'Aanmelden',
+ 'logout' => 'Afmelden',
+ 'remember_me' => 'Onthoud mij',
+ 'go_to_dashboard' => 'Naar het dashboard',
+ 'dashboard' => 'Dashboard',
+ 'system_logs' => 'Systeemlogboeken',
+
+ 'reset_password' => 'Wachtwoord opnieuw instellen',
+ 'send_reset_email' => 'Stuur een wachtwoordherstellink',
+ 'forgot_password_link' => 'Wachtwoord vergeten?? Stel het hier opnieuw in',
+
+ 'added' => 'Toegevoegd',
+ 'added_at' => 'Toegevoegd op',
+ 'added_by' => 'Toegevoegd door',
+ 'created' => 'Aangemaakt',
+ 'created_at' => 'Aangemaakt op',
+ 'updated_at' => 'Bijgewerkt op',
+ 'last_update' => 'Laatste wijziging',
+ 'last_used' => 'Laatst gebruikt',
+ 'never_used' => 'Nooit gebruikt',
+ 'blocked' => 'Geblokkeerd',
+ 'blocked_at' => 'Geblokkeerd op',
+ 'deleted' => 'Verwijderd',
+ 'deleted_at' => 'Verwijderd op',
+
+ 'add' => 'Toevoegen',
+ 'show' => 'Tonen',
+ 'edit' => 'Bewerken',
+ 'update' => 'Bijwerken',
+ 'delete' => 'Verwijderen',
+ 'restore' => 'Herstellen',
+ 'block' => 'Blokkeren',
+ 'unblock' => 'Deblokkeren',
+ 'unblocked' => 'Gedeblokkeerd',
+ 'details' => 'Details',
+
+ 'menu' => 'Menu',
+ 'entries' => 'Invoer',
+ 'feed' => 'Feed',
+
+ 'continue_adding' => 'Doorgaan met toevoegen',
+
+ 'visibility' => 'Zichtbaarheid',
+ 'change_visibility' => 'Zichtbaarheid wijzigen',
+ 'dont_change_visibility' => 'Zichtbaarheid niet wijzigen',
+
+ 'history' => 'Geschiedenis',
+ 'history_added' => ':newvalue
toegevoegd aan :fieldname.',
+ 'history_changed' => ':fieldname van :oldvalue
gewijzigd naar :newvalue
',
+ 'history_removed' => ':oldvalue
verwijderd uit :fieldname.',
+
+ 'yes' => 'Ja',
+ 'no' => 'Nee',
+ 'more' => 'Meer',
+
+ 'no_results_found' => 'Geen :model gevonden.',
+
+ 'bookmarklet_close' => 'Dit bladwijzervenster sluit automatisch in 5 seconden.',
+ 'open_linkace' => 'Open LinkAce',
+
+ 'demo_login_hint' => 'Je kunt direct inloggen. Let op dat deze demo elke 2 uur zal worden gereset.',
+
+ 'project_of' => 'LinkAce is een project van',
+ 'version' => 'Huidige versie: :version',
+];
diff --git a/lang/nl_NL/list.php b/lang/nl_NL/list.php
new file mode 100644
index 00000000..2103cfd0
--- /dev/null
+++ b/lang/nl_NL/list.php
@@ -0,0 +1,46 @@
+ 'Lijst',
+ 'lists' => 'Lijsten',
+ 'all_lists' => 'Alle lijsten',
+ 'recent_lists' => 'Recente lijsten',
+ 'update_lists' => 'Lijsten bijwerken',
+
+ 'add' => 'Lijst toevoegen',
+ 'show' => 'Toon lijst',
+ 'edit' => 'Bewerk lijst',
+ 'update' => 'Bewerk lijst',
+ 'delete' => 'Verwijder lijst|Verwijder lijsten',
+
+ 'filter_lists' => 'Lijsten filteren...',
+
+ 'public' => 'Openbare koppeling',
+ 'internal' => 'Interne lijst',
+ 'private' => 'Privélijst',
+
+ 'name' => 'Lijstnaam',
+ 'description' => 'Lijstomschrijving',
+ 'visibility' => 'Zichtbaarheid',
+
+ 'history_deleted' => 'De lijst is verwijderd',
+ 'history_restored' => 'De lijst is hersteld',
+ 'history_created' => 'De lijst is aangemaakt',
+
+ 'author' => 'door :user',
+
+ 'no_lists' => 'Geen lijsten',
+
+ 'bulk_title' => 'Je wilt :count lijst bewerken.|Je wilt :count lijsten bewerken.',
+ 'bulk_edit_add' => 'Lijst toevoegen aan bulkbewerking',
+ 'bulk_edit_success' => ':success van :selected lijsten bijgewerkt.',
+ 'bulk_delete_success' => ':success van :selected lijsten verplaatst naar de prullenbak.',
+ 'bulk_mode_append' => 'Voeg nieuwe lijsten toe aan bestaande',
+ 'bulk_mode_replace' => 'Vervang bestaande lijsten met nieuwe',
+
+ 'number_links' => ':number koppeling in deze lijst|:number koppelingen in deze lijst',
+
+ 'added_successfully' => 'De lijst is succesvol toegevoegd.',
+ 'updated_successfully' => 'De lijst is succesvol bijgewerkt.',
+ 'deleted_successfully' => 'De lijst is succesvol verwijderd.',
+ 'deletion_error' => 'De lijst kon niet worden verwijderd.',
+];
diff --git a/lang/nl_NL/note.php b/lang/nl_NL/note.php
new file mode 100644
index 00000000..823d0806
--- /dev/null
+++ b/lang/nl_NL/note.php
@@ -0,0 +1,22 @@
+ 'Notitie',
+ 'notes' => 'Notities',
+
+ 'add' => 'Notitie toevoegen',
+ 'show' => 'Toon notitie',
+ 'edit' => 'Bewerk notitie',
+ 'update' => 'Notitie bijwerken',
+ 'delete' => 'Verwijder notitie',
+
+ 'public' => 'Openbare notitie',
+ 'internal' => 'Interne notitie',
+ 'private' => 'Privénotitie',
+
+ 'note_content' => 'Notitie-inhoud',
+
+ 'added_successfully' => 'De notitie is succesvol toegevoegd.',
+ 'updated_successfully' => 'De notitie is succesvol bijgewerkt.',
+ 'deleted_successfully' => 'De notitie is succesvol verwijderd.',
+ 'deletion_error' => 'De notitie kon niet worden verwijderd.',
+];
diff --git a/lang/nl_NL/search.php b/lang/nl_NL/search.php
new file mode 100644
index 00000000..299297bb
--- /dev/null
+++ b/lang/nl_NL/search.php
@@ -0,0 +1,31 @@
+ 'Zoeken',
+ 'results' => 'resultaten',
+
+ 'filter_by_list' => 'Filteren op lijst(en)',
+ 'filter_by_tag' => 'Filteren op tag(s)',
+ 'query' => 'Zoek naar...',
+ 'search_title' => 'Zoeken in titels',
+ 'search_description' => 'Zoeken in omschrijvingen',
+ 'visibility' => 'Zoek op zichtbaarheid...',
+ 'broken_links' => 'Alleen defecte links',
+ 'empty_tags' => 'zonder tags',
+ 'empty_lists' => 'zonder lijsten',
+
+ 'order_by' => 'Sorteren op',
+ 'order_by.title:asc' => 'Titel A-Z',
+ 'order_by.title:desc' => 'Title Z-A',
+ 'order_by.url:asc' => 'Webadres A-Z',
+ 'order_by.url:desc' => 'Webadres Z-A',
+ 'order_by.created_at:asc' => 'Oudste',
+ 'order_by.created_at:desc' => 'Nieuwste',
+ 'order_by.number_links:asc' => 'Minste koppelingen',
+ 'order_by.number_links:desc' => 'Meeste koppelingen',
+ 'order_by.random' => 'Willekeurig',
+
+ 'no_results' => 'Geen resultaten gevonden.',
+ 'results_for' => 'Zoekresultaten voor',
+
+ 'validation_query_missing' => 'Vul een zoekopdracht in of selecteer een lijst, een tag of schakel het zoeken in voor defecte links.',
+];
diff --git a/lang/nl_NL/settings.php b/lang/nl_NL/settings.php
new file mode 100644
index 00000000..73f081eb
--- /dev/null
+++ b/lang/nl_NL/settings.php
@@ -0,0 +1,99 @@
+ 'Instellingen',
+ 'user_settings' => 'Gebruikersinstellingen',
+ 'account_settings' => 'Accountinstellingen',
+ 'app_settings' => 'Applicatie-instellingen',
+ 'system_settings' => 'Systeeminstellingen',
+ 'guest_settings' => 'Gastgebruikersinstellingen',
+
+ 'locale' => 'Taal',
+ 'timezone' => 'Tijdzone',
+ 'date_format' => 'Datumnotatie',
+ 'time_format' => 'Tijdnotatie',
+ 'listitem_count' => 'Aantal resultaten in lijsten',
+
+ 'links_new_tab' => 'Externe links in nieuwe tabbladen openen',
+
+ 'markdown_for_text' => 'Markdown voor omschrijvingen en notities inschakelen',
+
+ 'privacy' => 'Privacy',
+ 'profile_privacy' => 'De volgende instellingen zijn van toepassing op je gebruikersprofiel dat zichtbaar is voor gasten.',
+ 'profile_is_public' => 'Profiel is openbaar',
+ 'default_visibility_help' => 'De volgende instellingen bepalen de standaard zichtbaarheid voor links, lijsten, notities en tags wanneer er nieuwe worden toegevoegd.',
+ 'links_default_visibility' => 'Standaard zichtbaarheid koppelingen',
+ 'notes_default_visibility' => 'Standaard zichtbaarheid koppelingen',
+ 'lists_default_visibility' => 'Standaard zichtbaarheid lijsten',
+ 'tags_default_visibility' => 'Standaard zichtbaarheid tags',
+
+ 'archive_backups' => 'Wayback Machine-back-ups',
+ 'archive_backups_help' => 'Indien ingeschakeld, vertelt LinkAce de Wayback Machine om een back-up van je links te maken. De Wayback Machine wordt gevoed door het Internet Archive, een non-profit organisatie. Overweeg te doneren aan het Internet Archive.',
+ 'archive_backups_enabled' => 'Back-ups inschakelen',
+ 'archive_backups_enabled_help' => 'Indien ingeschakeld worden niet-privékoppelingen opgeslagen door het Internet Archive.',
+ 'archive_private_backups_enabled' => 'Back-ups inschakelen voor privékoppelingen',
+ 'archive_private_backups_enabled_help' => 'Als dit is ingeschakeld, worden privékoppelingen ook opgeslagen. Back-ups moeten zijn ingeschakeld.',
+
+ 'link_display_mode' => 'Weergavemodus koppelingen',
+ 'display_mode' => 'Koppelingen weergeven als',
+ 'display_mode_list_simple' => 'Toon koppelingen als eenvoudige lijst',
+ 'display_mode_list_detailed' => 'Toon koppelingen als gedetailleerde lijst',
+ 'display_mode_cards' => 'Toon koppelingen als kaarten',
+
+ 'sharing' => 'Koppelingen delen',
+ 'guest_sharing' => 'Gastkoppelingdeling',
+ 'sharing_help' => 'Schakel alle diensten in die u wilt weergeven voor koppelingen om ze gemakkelijk te delen met één klik.',
+ 'sharing_toggle' => 'Alles aan/uit',
+
+ 'darkmode_setting' => 'Donkere modus',
+ 'darkmode_help' => 'Je kunt kiezen om dit permanent of automatisch in te schakelen op basis van je apparaatinstellingen. (Controleer hier of je browser automatische detectie ondersteunt)',
+ 'darkmode_disabled' => 'Uitgeschakeld',
+ 'darkmode_auto' => 'Automatisch',
+ 'darkmode_permanent' => 'Permanent',
+
+ 'save_settings' => 'Instellingen opslaan',
+ 'settings_saved' => 'Instellingen succesvol bijgewerkt!',
+
+ 'bookmarklet' => 'Bookmarklet',
+ 'bookmarklet_button' => 'Sleep dit naar je bladwijzers of klik met de rechtermuisknop en sla het op als een bladwijzer',
+ 'bookmarklet_help' => 'Voeg deze bladwijzer toe aan je browser om snel koppelingen toe te voegen van de sites die je bezoekt zonder LinkAce handmatig te hoeven openen.',
+
+ 'change_password' => 'Wijzig wachtwoord',
+ 'old_password' => 'Oud wachtwoord',
+ 'new_password' => 'Nieuw wachtwoord',
+ 'new_password2' => 'Herhaal het nieuwe wachtwoord',
+ 'password_updated' => 'Wachtwoord succesvol gewijzigd!',
+ 'old_password_invalid' => 'Het oude wachtwoord is onjuist!',
+
+ 'two_factor_auth' => 'Tweestapsverificatie',
+ 'two_factor_enable' => 'Tweestapsverificatie inschakelen',
+ 'two_factor_disable' => 'Tweestapsverificatie uitschakelen',
+ 'two_factor_setup_app' => 'Tweestapsverificatie is ingeschakeld. Configureer je verificatieapparaat nu door de volgende QR-code te scannen.',
+ 'two_factor_setup_url' => 'Werkt de QR-code niet? Je kunt deze URL ook direct gebruiken.',
+ 'two_factor_recovery_codes' => 'Sla deze herstelcodes op in een veilige wachtwoordmanager. Deze kunnen worden gebruikt om de toegang tot je account te herstellen als je tweestapsverificatieapparaat verloren gaat.',
+ 'two_factor_recovery_codes_view' => 'Herstelcodes bekijken',
+ 'two_factor_regenerate_recovery_codes' => 'Nieuwe herstelcodes genereren',
+
+ 'page_title' => 'Paginatitel',
+ 'guest_access' => 'Gastgebruiker inschakelen',
+ 'guest_access_help' => 'Indien ingeschakeld, kunnen gasten alle koppelingen zien die niet privé zijn.',
+ 'custom_header_content' => 'Aangepaste header-inhoud',
+ 'custom_header_content_help' => 'Inhoud die hier is ingevoerd zal voor de </head> tag op alle LinkAce sites worden geplaatst. Nuttig om analytics of aanpassingsscripts te plaatsen. Let op: de inhoud wordt letterlijk overgenomen en kan de site kapotmaken!',
+
+ 'cron_token' => 'Cron-token',
+ 'cron_token_generate' => 'Token genereren',
+ 'cron_token_generate_confirm' => 'Wil je echt een nieuw token genereren?',
+ 'cron_token_help' => 'Het cron-token is nodig om de cron-dienst uit te voeren die controleert op defecte koppelingen of backups uitvoert.',
+ 'cron_token_url' => 'Richt uw cron-taak naar het volgende webadres: :route',
+ 'cron_token_generate_info' => 'Let op: als je al een cron-token hebt zal het genereren van een nieuwe token alle bestaande integraties verbreken!',
+ 'cron_token_generate_failure' => 'Er kon geen nieuw cron-token worden gegenereerd. Controleer je browserconsole en applicatielogboeken voor meer informatie.',
+ 'cron_token_auth_failure' => 'Het verstrekte cron-token is ongeldig',
+ 'cron_execute_successful' => 'Cron-taak succesvol uitgevoerd',
+
+ 'update_check' => 'Controleren op updates',
+ 'update_check_running' => 'Bezig met controleren op updates...',
+ 'update_check_version_found' => 'Update gevonden. Versie #VERSION# is beschikbaar.',
+ 'update_check_success' => 'Geen update gevonden.',
+ 'update_check_failed' => 'Kon niet controleren op updates.',
+
+ 'guest_settings_info' => 'De volgende instellingen zijn van toepassing op gasten die uw site bezoeken, als gasttoegang is ingeschakeld.',
+];
diff --git a/lang/nl_NL/tag.php b/lang/nl_NL/tag.php
new file mode 100644
index 00000000..2f716d18
--- /dev/null
+++ b/lang/nl_NL/tag.php
@@ -0,0 +1,43 @@
+ 'Tag',
+ 'tags' => 'Tags',
+ 'all_tags' => 'Alle tags',
+ 'recent_tags' => 'Recente tags',
+ 'update_tags' => 'Tags bijwerken',
+
+ 'add' => 'Voeg een tag toe',
+ 'show' => 'Toon tag',
+ 'edit' => 'Bewerk tag',
+ 'update' => 'Tag bijwerken',
+ 'delete' => 'Verwijder tag|Verwijder tags',
+
+ 'filter_tags' => 'Tags filteren...',
+
+ 'public' => 'Openbare tag',
+ 'internal' => 'Interne tag',
+ 'private' => 'Privétag',
+
+ 'name' => 'Tagnaam',
+ 'visibility' => 'Zichtbaarheid',
+
+ 'history_deleted' => 'De tag is verwijderd',
+ 'history_restored' => 'De tag is hersteld',
+ 'history_created' => 'De tag is aangemaakt',
+
+ 'author' => 'door :user',
+
+ 'no_tags' => 'Geen tags',
+
+ 'bulk_title' => 'Je wilt :count tag bewerken.|Je wilt :count tags bewerken.',
+ 'bulk_edit_add' => 'Tag toevoegen aan bulkbewerking',
+ 'bulk_edit_success' => ':success van :selected tags bijgewerkt.',
+ 'bulk_delete_success' => ':success van :selected tags verplaatst naar de prullenbak.',
+ 'bulk_mode_append' => 'Voeg nieuwe tags toe aan bestaande',
+ 'bulk_mode_replace' => 'Vervang bestaande tags met nieuwe',
+
+ 'added_successfully' => 'De tag is succesvol toegevoegd.',
+ 'updated_successfully' => 'De tag is succesvol bijgewerkt.',
+ 'deleted_successfully' => 'De tag is succesvol verwijderd.',
+ 'deletion_error' => 'De tag kon niet worden verwijderd.',
+];
diff --git a/lang/nl_NL/user.php b/lang/nl_NL/user.php
new file mode 100644
index 00000000..e91b5e38
--- /dev/null
+++ b/lang/nl_NL/user.php
@@ -0,0 +1,41 @@
+ 'Gebruiker',
+ 'users' => 'Gebruikers',
+
+ 'username' => 'Gebruikersnaam',
+ 'name' => 'Gebruikersnaam',
+ 'email' => 'E-mailadres',
+ 'blocked_at' => 'Geblokkeerd op',
+ 'is_deleted' => 'Gebruiker verwijderd',
+
+ 'edit' => 'Gebruiker bewerken',
+
+ 'block' => 'Gebruiker blokkeren',
+ 'block_confirmation' => 'Weet je zeker dat je deze gebruiker wilt blokkeren?',
+ 'block_warning' => 'Je gebruikersaccount is momenteel geblokkeerd. Neem contact op met je beheerder voor hulp.',
+ 'block_successful' => 'Gebruiker :username is geblokkeerd.',
+ 'unblock' => 'Gebruiker deblokkeren',
+ 'unblock_confirmation' => 'Weet je zeker dat je deze gebruiker wilt deblokkeren?',
+ 'unblock_successful' => 'Gebruiker :username is gedeblokkeerd.',
+ 'delete' => 'Gebruiker verwijderen',
+ 'delete_confirmation' => 'Weet je zeker dat je deze gebruiker wilt verwijderen?',
+ 'delete_successful' => 'Gebruiker :username is verwijderd.',
+ 'restore' => 'Herstel gebruiker',
+ 'restore_confirmation' => 'Weet je zeker dat je deze gebruiker wilt herstellen?',
+ 'restore_successful' => 'Gebruiker :username is hersteld.',
+
+ 'system_user_locked' => 'De systeemgebruiker kan niet als een gewone gebruiker inloggen. Gelieve in te loggen met je persoonlijke account.',
+
+ 'action_not_allowed_on_user' => 'Deze actie kan niet worden uitgevoerd op de geselecteerde gebruiker.',
+
+ 'history_deleted' => 'Gebruiker :name
is verwijderd',
+ 'history_restored' => 'Gebruiker :name
is hersteld',
+ 'history_created' => 'Gebruiker :name
is aangemaakt',
+ 'history_blocked' => 'Gebruiker :name
is geblokkeerd',
+ 'history_unblocked' => 'Gebruiker :name
is gedeblokkeerd',
+
+ 'hello' => 'Hallo :user!',
+ 'for_user' => 'voor gebruiker',
+ 'unknown_user' => 'onbekende gebruiker',
+];
diff --git a/lang/nl_NL/validation.php b/lang/nl_NL/validation.php
new file mode 100644
index 00000000..d075284b
--- /dev/null
+++ b/lang/nl_NL/validation.php
@@ -0,0 +1,149 @@
+ ':attribute moet worden geaccepteerd.',
+ 'active_url' => ':attribute is geen geldig webadres.',
+ 'after' => ':attribute moet een datum zijn later dan :date.',
+ 'after_or_equal' => ':attribute moet een datum zijn later dan of gelijk aan :date.',
+ 'alpha' => ':attribute mag enkel letters bevatten.',
+ 'alpha_dash' => ':attribute mag alleen letters, cijfers, streepjes en liggende streepjes bevatten.',
+ 'alpha_num' => ':attribute mag enkel letters en cijfers bevatten.',
+ 'array' => ':attribute moet een lijst zijn.',
+ 'before' => ':attribute moet een datum zijn voor :date.',
+ 'before_or_equal' => ':attribute moet een datum zijn voor of gelijk aan :date.',
+ 'between' => [
+ 'numeric' => ':attribute moet tussen :min en :max zijn.',
+ 'file' => ':attribute moet tussen :min en :max kilobytes zijn.',
+ 'string' => ':attribute moet tussen :min en :max tekens zijn.',
+ 'array' => ':attribute moet tussen :min en :max entiteiten bevatten.',
+ ],
+ 'boolean' => ':attribute moet waar of onwaar zijn.',
+ 'confirmed' => 'De bevestiging van :attribute komt niet overeen.',
+ 'date' => ':attribute is geen geldige datum.',
+ 'date_format' => ':attribute komt niet overeen met het formaat :format.',
+ 'different' => ':attribute en :other mogen niet hetzelfde zijn.',
+ 'digits' => ':attribute moet bestaan uit :digits cijfers.',
+ 'digits_between' => ':attribute moet tussen :min en :max tekens lang zijn.',
+ 'dimensions' => ':attribute heeft ongeldige afmetingen.',
+ 'distinct' => ':attribute heeft een dubbele waarde.',
+ 'email' => ':attribute moet een geldig e-mailadres zijn.',
+ 'exists' => 'Geselecteerde waarde :attribute is ongeldig.',
+ 'file' => ':attribute moet een bestand zijn.',
+ 'filled' => ':attribute moet een waarde hebben.',
+ 'gt' => [
+ 'numeric' => ':attribute moet groter zijn dan :value.',
+ 'file' => ':attribute moet groter zijn dan :value kilobytes.',
+ 'string' => ':attribute moet meer dan :value tekens bevatten.',
+ 'array' => ':attribute moet meer dan :value entiteiten bevatten.',
+ ],
+ 'gte' => [
+ 'numeric' => ':attribute moet groter dan of gelijk zijn aan :value.',
+ 'file' => ':attribute moet groter zijn dan :value kilobytes.',
+ 'string' => ':attribute moet :value of meer tekens bevatten.',
+ 'array' => ':attribute moet :value of meer entiteiten bevatten.',
+ ],
+ 'image' => ':attribute moet een afbeelding zijn.',
+ 'in' => 'Geselecteerde waarde :attribute is ongeldig.',
+ 'in_array' => ':attribute bestaat niet in :other.',
+ 'integer' => ':attribute moet een getal zijn.',
+ 'ip' => ':attribute moet een geldig IP-adres zijn.',
+ 'ipv4' => ':attribute moet een geldig IPv4-adres zijn.',
+ 'ipv6' => ':attribute moet een geldig IPv6-adres zijn.',
+ 'json' => ':attribute moet eem geldige JSON-tekenreeks zijn.',
+ 'lt' => [
+ 'numeric' => ':attribute moet kleiner zijn dan :value.',
+ 'file' => ':attribute moet kleiner zijn dan :value kilobytes.',
+ 'string' => ':attribute moet minder dan :value tekens bevatten.',
+ 'array' => ':attribute moet minder dan :value entiteiten bevatten.',
+ ],
+ 'lte' => [
+ 'numeric' => ':attribute moet kleiner of gelijk zijn aan :value.',
+ 'file' => ':attribute moet kleiner dan of gelijk zijn aan :value.',
+ 'string' => ':attribute moet :value of minder tekens bevatten.',
+ 'array' => ':attribute mag niet meer dan :value entiteiten bevatten.',
+ ],
+ 'max' => [
+ 'numeric' => ':attribute mag niet groter zijn dan :max.',
+ 'file' => ':attribute mag niet groter zijn dan :max kilobytes.',
+ 'string' => ':attribute mag niet langer zijn dan :max tekens.',
+ 'array' => ':attribute mag niet meer dan :max entiteiten bevatten.',
+ ],
+ 'mimes' => ':attribute moet een bestand zijn van het type :values.',
+ 'mimetypes' => ':attribute moet een bestand zijn van het type :values.',
+ 'min' => [
+ 'numeric' => ':attribute moet minstens :min zijn.',
+ 'file' => ':attribute moet minstens :min kilobytes groot zijn.',
+ 'string' => ':attribute moet minstens :min tekens lang zijn.',
+ 'array' => ':attribute moet minstens :min entiteiten bevatten.',
+ ],
+ 'not_in' => 'Geselecteerde waarde :attribute is ongeldig.',
+ 'not_regex' => 'De indeling van :attribute is ongeldig.',
+ 'numeric' => ':attribute moet een getal zijn.',
+ 'present' => ':attribute moet aanwezig zijn.',
+ 'regex' => 'De indeling van :attribute is ongeldig.',
+ 'required' => ':attribute is verplicht.',
+ 'required_if' => ':attribute is verplicht als :other gelijk is aan :value.',
+ 'required_unless' => ':attribute is verplicht tenzij :other voorkomt in :values.',
+ 'required_with' => ':attribute is verplicht als :value aanwezig is.',
+ 'required_with_all' => ':attribute is verplicht als :value aanwezig is.',
+ 'required_without' => ':attribute is verplicht als :values niet aanwezig is.',
+ 'required_without_all' => ':attribute is verplicht al geen van :values aanwezig is.',
+ 'same' => ':attribute en :other moeten hetzelfde zijn.',
+ 'size' => [
+ 'numeric' => ':attribute moet :size zijn.',
+ 'file' => ':attribute moet :size kilobytes zijn.',
+ 'string' => ':attribute moet :size tekens zijn.',
+ 'array' => ':attribute moet :size entiteiten bevatten.',
+ ],
+ 'string' => ':attribute moet een tekenreeks zijn.',
+ 'timezone' => ':attribute moet een geldige tijdzone zijn.',
+ 'unique' => ':attribute is al in gebruik.',
+ 'uploaded' => 'Uploaden van :attribute is mislukt.',
+ 'url' => 'De indeling van :attribute is ongeldig.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'visibility' => [
+ 'visibility' => 'De zichtbaarheid moet ofwel 1 (openbaar), 2 (intern) of 3 (privé) zijn.',
+ ],
+ 'api_token_ability' => [
+ 'api_token_ability' => 'De API-token moet ten minste één machtiging hebben van de vooraf gedefinieerde tokenmachtigingen.',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];