Files
TREK/client/src/i18n/translations/nl.ts
jubnl 71c1683bb3 feat(atlas): mark sub-national regions as visited with cascade behavior
- Add visited_regions table migration
- Mark/unmark region endpoints with auto-mark parent country
- Unmark country cascades to its regions; unmark last region cascades to country
- Region modal with mark/unmark flow and bucket list shortcut
- Viewport-based lazy loading of region GeoJSON at zoom >= 6
- i18n: add atlas.markRegionVisitedHint and atlas.confirmUnmarkRegion across all 13 locales
2026-04-05 03:17:59 +02:00

1611 lines
80 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const nl: Record<string, string> = {
// Common
'common.save': 'Opslaan',
'common.cancel': 'Annuleren',
'common.delete': 'Verwijderen',
'common.edit': 'Bewerken',
'common.add': 'Toevoegen',
'common.loading': 'Laden...',
'common.import': 'Importeren',
'common.error': 'Fout',
'common.back': 'Terug',
'common.all': 'Alles',
'common.close': 'Sluiten',
'common.open': 'Openen',
'common.upload': 'Uploaden',
'common.search': 'Zoeken',
'common.confirm': 'Bevestigen',
'common.ok': 'OK',
'common.yes': 'Ja',
'common.no': 'Nee',
'common.or': 'of',
'common.none': 'Geen',
'common.date': 'Datum',
'common.rename': 'Hernoemen',
'common.name': 'Naam',
'common.email': 'E-mail',
'common.password': 'Wachtwoord',
'common.saving': 'Opslaan...',
'common.saved': 'Opgeslagen',
'trips.reminder': 'Herinnering',
'trips.reminderNone': 'Geen',
'trips.reminderDay': 'dag',
'trips.reminderDays': 'dagen',
'trips.reminderCustom': 'Aangepast',
'trips.reminderDaysBefore': 'dagen voor vertrek',
'trips.reminderDisabledHint': 'Reisherinneringen zijn uitgeschakeld. Schakel ze in via Admin > Instellingen > Meldingen.',
'common.update': 'Bijwerken',
'common.change': 'Wijzigen',
'common.uploading': 'Uploaden…',
'common.backToPlanning': 'Terug naar planning',
'common.reset': 'Resetten',
// Navbar
'nav.trip': 'Reis',
'nav.share': 'Delen',
'nav.settings': 'Instellingen',
'nav.admin': 'Admin',
'nav.logout': 'Uitloggen',
'nav.lightMode': 'Lichte modus',
'nav.darkMode': 'Donkere modus',
'nav.autoMode': 'Automatisch',
'nav.administrator': 'Beheerder',
// Dashboard
'dashboard.title': 'Mijn reizen',
'dashboard.subtitle.loading': 'Reizen laden...',
'dashboard.subtitle.trips': '{count} reizen ({archived} gearchiveerd)',
'dashboard.subtitle.empty': 'Begin je eerste reis',
'dashboard.subtitle.activeOne': '{count} actieve reis',
'dashboard.subtitle.activeMany': '{count} actieve reizen',
'dashboard.subtitle.archivedSuffix': ' · {count} gearchiveerd',
'dashboard.newTrip': 'Nieuwe reis',
'dashboard.gridView': 'Rasterweergave',
'dashboard.listView': 'Lijstweergave',
'dashboard.currency': 'Valuta',
'dashboard.timezone': 'Tijdzones',
'dashboard.localTime': 'Lokaal',
'dashboard.timezoneCustomTitle': 'Aangepaste tijdzone',
'dashboard.timezoneCustomLabelPlaceholder': 'Label (optioneel)',
'dashboard.timezoneCustomTzPlaceholder': 'bijv. America/New_York',
'dashboard.timezoneCustomAdd': 'Toevoegen',
'dashboard.timezoneCustomErrorEmpty': 'Voer een tijdzone-identificatie in',
'dashboard.timezoneCustomErrorInvalid': 'Ongeldige tijdzone. Gebruik een formaat zoals Europe/Berlin',
'dashboard.timezoneCustomErrorDuplicate': 'Al toegevoegd',
'dashboard.emptyTitle': 'Nog geen reizen',
'dashboard.emptyText': 'Maak je eerste reis aan en begin met plannen!',
'dashboard.emptyButton': 'Eerste reis aanmaken',
'dashboard.nextTrip': 'Volgende reis',
'dashboard.shared': 'Gedeeld',
'dashboard.sharedBy': 'Gedeeld door {name}',
'dashboard.days': 'Dagen',
'dashboard.places': 'Plaatsen',
'dashboard.members': 'Reisgenoten',
'dashboard.archive': 'Archiveren',
'dashboard.copyTrip': 'Kopiëren',
'dashboard.copySuffix': 'kopie',
'dashboard.restore': 'Herstellen',
'dashboard.archived': 'Gearchiveerd',
'dashboard.status.ongoing': 'Lopend',
'dashboard.status.today': 'Vandaag',
'dashboard.status.tomorrow': 'Morgen',
'dashboard.status.past': 'Afgelopen',
'dashboard.status.daysLeft': 'nog {count} dagen',
'dashboard.toast.loadError': 'Reizen laden mislukt',
'dashboard.toast.created': 'Reis aangemaakt!',
'dashboard.toast.createError': 'Reis aanmaken mislukt',
'dashboard.toast.updated': 'Reis bijgewerkt!',
'dashboard.toast.updateError': 'Reis bijwerken mislukt',
'dashboard.toast.deleted': 'Reis verwijderd',
'dashboard.toast.deleteError': 'Reis verwijderen mislukt',
'dashboard.toast.archived': 'Reis gearchiveerd',
'dashboard.toast.archiveError': 'Reis archiveren mislukt',
'dashboard.toast.restored': 'Reis hersteld',
'dashboard.toast.restoreError': 'Reis herstellen mislukt',
'dashboard.toast.copied': 'Reis gekopieerd!',
'dashboard.toast.copyError': 'Reis kopiëren mislukt',
'dashboard.confirm.delete': 'Reis "{title}" verwijderen? Alle plaatsen en plannen worden permanent verwijderd.',
'dashboard.editTrip': 'Reis bewerken',
'dashboard.createTrip': 'Nieuwe reis aanmaken',
'dashboard.tripTitle': 'Titel',
'dashboard.tripTitlePlaceholder': 'bijv. Zomer in Japan',
'dashboard.tripDescription': 'Beschrijving',
'dashboard.tripDescriptionPlaceholder': 'Waar gaat deze reis over?',
'dashboard.startDate': 'Startdatum',
'dashboard.endDate': 'Einddatum',
'dashboard.noDateHint': 'Geen datum ingesteld — er worden standaard 7 dagen aangemaakt. Je kunt dit altijd wijzigen.',
'dashboard.coverImage': 'Omslagafbeelding',
'dashboard.addCoverImage': 'Omslagafbeelding toevoegen',
'dashboard.addMembers': 'Reisgenoten',
'dashboard.addMember': 'Lid toevoegen',
'dashboard.coverSaved': 'Omslagafbeelding opgeslagen',
'dashboard.coverUploadError': 'Uploaden mislukt',
'dashboard.coverRemoveError': 'Verwijderen mislukt',
'dashboard.titleRequired': 'Titel is verplicht',
'dashboard.endDateError': 'Einddatum moet na de startdatum liggen',
// Settings
'settings.title': 'Instellingen',
'settings.subtitle': 'Configureer je persoonlijke instellingen',
'settings.map': 'Kaart',
'settings.mapTemplate': 'Kaartsjabloon',
'settings.mapTemplatePlaceholder.select': 'Selecteer sjabloon...',
'settings.mapDefaultHint': 'Laat leeg voor OpenStreetMap (standaard)',
'settings.mapTemplatePlaceholder': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
'settings.mapHint': 'URL-sjabloon voor kaarttegels',
'settings.latitude': 'Breedtegraad',
'settings.longitude': 'Lengtegraad',
'settings.saveMap': 'Kaart opslaan',
'settings.apiKeys': 'API-sleutels',
'settings.mapsKey': 'Google Maps API-sleutel',
'settings.mapsKeyHint': 'Voor plaatsen zoeken. Vereist Places API (New). Verkrijgbaar op console.cloud.google.com',
'settings.weatherKey': 'OpenWeatherMap API-sleutel',
'settings.weatherKeyHint': 'Voor weergegevens. Gratis op openweathermap.org/api',
'settings.keyPlaceholder': 'Sleutel invoeren...',
'settings.configured': 'Geconfigureerd',
'settings.saveKeys': 'Sleutels opslaan',
'settings.display': 'Weergave',
'settings.colorMode': 'Kleurmodus',
'settings.light': 'Licht',
'settings.dark': 'Donker',
'settings.auto': 'Automatisch',
'settings.language': 'Taal',
'settings.temperature': 'Temperatuureenheid',
'settings.timeFormat': 'Tijdnotatie',
'settings.routeCalculation': 'Routeberekening',
'settings.blurBookingCodes': 'Boekingscodes vervagen',
'settings.notifications': 'Meldingen',
'settings.notifyTripInvite': 'Reisuitnodigingen',
'settings.notifyBookingChange': 'Boekingswijzigingen',
'settings.notifyTripReminder': 'Reisherinneringen',
'settings.notifyVacayInvite': 'Vacay-fusieuitnodigingen',
'settings.notifyPhotosShared': 'Gedeelde foto\'s (Immich)',
'settings.notifyCollabMessage': 'Chatberichten (Collab)',
'settings.notifyPackingTagged': 'Paklijst: toewijzingen',
'settings.notifyWebhook': 'Webhook-meldingen',
'settings.notificationsDisabled': 'Meldingen zijn niet geconfigureerd. Vraag een beheerder om e-mail- of webhookmeldingen in te schakelen.',
'settings.notificationsActive': 'Actief kanaal',
'settings.notificationsManagedByAdmin': 'Meldingsgebeurtenissen worden geconfigureerd door je beheerder.',
'admin.notifications.title': 'Meldingen',
'admin.notifications.hint': 'Kies een meldingskanaal. Er kan er slechts één tegelijk actief zijn.',
'admin.notifications.none': 'Uitgeschakeld',
'admin.notifications.email': 'E-mail (SMTP)',
'admin.notifications.webhook': 'Webhook',
'admin.notifications.events': 'Meldingsgebeurtenissen',
'admin.notifications.eventsHint': 'Kies welke gebeurtenissen meldingen activeren voor alle gebruikers.',
'admin.notifications.configureFirst': 'Configureer eerst de SMTP- of webhook-instellingen hieronder en schakel dan de events in.',
'admin.notifications.save': 'Meldingsinstellingen opslaan',
'admin.notifications.saved': 'Meldingsinstellingen opgeslagen',
'admin.notifications.testWebhook': 'Testwebhook verzenden',
'admin.notifications.testWebhookSuccess': 'Testwebhook succesvol verzonden',
'admin.notifications.testWebhookFailed': 'Testwebhook mislukt',
'admin.smtp.title': 'E-mail en meldingen',
'admin.smtp.hint': 'SMTP-configuratie voor het verzenden van e-mailmeldingen.',
'admin.smtp.testButton': 'Test-e-mail verzenden',
'admin.webhook.hint': 'Meldingen verzenden naar een externe webhook (Discord, Slack, enz.).',
'admin.smtp.testSuccess': 'Test-e-mail succesvol verzonden',
'admin.smtp.testFailed': 'Test-e-mail mislukt',
'dayplan.icsTooltip': 'Kalender exporteren (ICS)',
'share.linkTitle': 'Openbare link',
'share.linkHint': 'Maak een link die iedereen kan gebruiken om deze reis te bekijken zonder in te loggen. Alleen-lezen — bewerken niet mogelijk.',
'share.createLink': 'Link aanmaken',
'share.deleteLink': 'Link verwijderen',
'share.createError': 'Kon link niet aanmaken',
'common.copy': 'Kopiëren',
'common.copied': 'Gekopieerd',
'share.permMap': 'Kaart en plan',
'share.permBookings': 'Boekingen',
'share.permPacking': 'Paklijst',
'shared.expired': 'Link verlopen of ongeldig',
'shared.expiredHint': 'Deze gedeelde reislink is niet meer actief.',
'shared.readOnly': 'Alleen-lezen weergave',
'shared.tabPlan': 'Plan',
'shared.tabBookings': 'Boekingen',
'shared.tabPacking': 'Paklijst',
'shared.tabBudget': 'Budget',
'shared.tabChat': 'Chat',
'shared.days': 'dagen',
'shared.places': 'plaatsen',
'shared.other': 'Overig',
'shared.totalBudget': 'Totaal budget',
'shared.messages': 'berichten',
'shared.sharedVia': 'Gedeeld via',
'shared.confirmed': 'Bevestigd',
'shared.pending': 'In afwachting',
'share.permBudget': 'Budget',
'share.permCollab': 'Chat',
'settings.on': 'Aan',
'settings.off': 'Uit',
'settings.mcp.title': 'MCP-configuratie',
'settings.mcp.endpoint': 'MCP-eindpunt',
'settings.mcp.clientConfig': 'Clientconfiguratie',
'settings.mcp.clientConfigHint': 'Vervang <your_token> door een API-token uit de onderstaande lijst. Het pad naar npx moet mogelijk worden aangepast voor jouw systeem (bijv. C:\\PROGRA~1\\nodejs\\npx.cmd op Windows).',
'settings.mcp.copy': 'Kopiëren',
'settings.mcp.copied': 'Gekopieerd!',
'settings.mcp.apiTokens': 'API-tokens',
'settings.mcp.createToken': 'Nieuw token aanmaken',
'settings.mcp.noTokens': 'Nog geen tokens. Maak er een aan om MCP-clients te verbinden.',
'settings.mcp.tokenCreatedAt': 'Aangemaakt',
'settings.mcp.tokenUsedAt': 'Gebruikt',
'settings.mcp.deleteTokenTitle': 'Token verwijderen',
'settings.mcp.deleteTokenMessage': 'Dit token werkt onmiddellijk niet meer. Elke MCP-client die het gebruikt verliest de toegang.',
'settings.mcp.modal.createTitle': 'API-token aanmaken',
'settings.mcp.modal.tokenName': 'Tokennaam',
'settings.mcp.modal.tokenNamePlaceholder': 'bijv. Claude Desktop, Werklaptop',
'settings.mcp.modal.creating': 'Aanmaken…',
'settings.mcp.modal.create': 'Token aanmaken',
'settings.mcp.modal.createdTitle': 'Token aangemaakt',
'settings.mcp.modal.createdWarning': 'Dit token wordt slechts één keer getoond. Kopieer en bewaar het nu — het kan niet worden hersteld.',
'settings.mcp.modal.done': 'Klaar',
'settings.mcp.toast.created': 'Token aangemaakt',
'settings.mcp.toast.createError': 'Token aanmaken mislukt',
'settings.mcp.toast.deleted': 'Token verwijderd',
'settings.mcp.toast.deleteError': 'Token verwijderen mislukt',
'settings.account': 'Account',
'settings.about': 'Over',
'settings.username': 'Gebruikersnaam',
'settings.email': 'E-mail',
'settings.role': 'Rol',
'settings.roleAdmin': 'Beheerder',
'settings.oidcLinked': 'Gekoppeld met',
'settings.changePassword': 'Wachtwoord wijzigen',
'settings.mustChangePassword': 'U moet uw wachtwoord wijzigen voordat u kunt doorgaan. Stel hieronder een nieuw wachtwoord in.',
'settings.currentPassword': 'Huidig wachtwoord',
'settings.currentPasswordRequired': 'Huidig wachtwoord is verplicht',
'settings.newPassword': 'Nieuw wachtwoord',
'settings.confirmPassword': 'Bevestig nieuw wachtwoord',
'settings.updatePassword': 'Wachtwoord bijwerken',
'settings.passwordRequired': 'Voer het huidige en nieuwe wachtwoord in',
'settings.passwordTooShort': 'Wachtwoord moet minimaal 8 tekens bevatten',
'settings.passwordMismatch': 'Wachtwoorden komen niet overeen',
'settings.passwordWeak': 'Wachtwoord moet hoofdletters, kleine letters, een cijfer en een speciaal teken bevatten',
'settings.passwordChanged': 'Wachtwoord succesvol gewijzigd',
'settings.deleteAccount': 'Account verwijderen',
'settings.deleteAccountTitle': 'Account verwijderen?',
'settings.deleteAccountWarning': 'Je account en al je reizen, plaatsen en bestanden worden permanent verwijderd. Deze actie kan niet ongedaan worden gemaakt.',
'settings.deleteAccountConfirm': 'Permanent verwijderen',
'settings.deleteBlockedTitle': 'Verwijderen niet mogelijk',
'settings.deleteBlockedMessage': 'Je bent de enige beheerder. Maak eerst een andere gebruiker beheerder voordat je je account verwijdert.',
'settings.roleUser': 'Gebruiker',
'settings.saveProfile': 'Profiel opslaan',
'settings.mfa.title': 'Tweefactorauthenticatie (2FA)',
'settings.mfa.description': 'Voegt een tweede stap toe bij het inloggen. Gebruik een authenticator-app (Google Authenticator, Authy, etc.).',
'settings.mfa.requiredByPolicy': 'Je beheerder vereist tweestapsverificatie. Stel hieronder een authenticator-app in voordat je verdergaat.',
'settings.mfa.backupTitle': 'Back-upcodes',
'settings.mfa.backupDescription': 'Gebruik deze eenmalige codes als je geen toegang meer hebt tot je authenticator-app.',
'settings.mfa.backupWarning': 'Sla deze codes nu op. Elke code kan maar een keer worden gebruikt.',
'settings.mfa.backupCopy': 'Codes kopiëren',
'settings.mfa.backupDownload': 'TXT downloaden',
'settings.mfa.backupPrint': 'Afdrukken / PDF',
'settings.mfa.backupCopied': 'Back-upcodes gekopieerd',
'settings.mfa.enabled': '2FA is ingeschakeld op je account.',
'settings.mfa.disabled': '2FA is niet ingeschakeld.',
'settings.mfa.setup': 'Authenticator instellen',
'settings.mfa.scanQr': 'Scan deze QR-code met je app of voer de sleutel handmatig in.',
'settings.mfa.secretLabel': 'Geheime sleutel (handmatige invoer)',
'settings.mfa.codePlaceholder': '6-cijferige code',
'settings.mfa.enable': '2FA inschakelen',
'settings.mfa.cancelSetup': 'Annuleren',
'settings.mfa.disableTitle': '2FA uitschakelen',
'settings.mfa.disableHint': 'Voer je wachtwoord en een huidige code van je authenticator in.',
'settings.mfa.disable': '2FA uitschakelen',
'settings.mfa.toastEnabled': 'Tweefactorauthenticatie ingeschakeld',
'settings.mfa.toastDisabled': 'Tweefactorauthenticatie uitgeschakeld',
'settings.mfa.demoBlocked': 'Niet beschikbaar in demomodus',
'settings.toast.mapSaved': 'Kaartinstellingen opgeslagen',
'settings.toast.keysSaved': 'API-sleutels opgeslagen',
'settings.toast.displaySaved': 'Weergave-instellingen opgeslagen',
'settings.toast.profileSaved': 'Profiel opgeslagen',
'settings.uploadAvatar': 'Profielfoto uploaden',
'settings.removeAvatar': 'Profielfoto verwijderen',
'settings.avatarUploaded': 'Profielfoto bijgewerkt',
'settings.avatarRemoved': 'Profielfoto verwijderd',
'settings.avatarError': 'Uploaden mislukt',
// Login
'login.error': 'Inloggen mislukt. Controleer je inloggegevens.',
'login.tagline': 'Jouw reizen.\nJouw plan.',
'login.description': 'Plan reizen samen met interactieve kaarten, budgetten en realtime synchronisatie.',
'login.features.maps': 'Interactieve kaarten',
'login.features.mapsDesc': 'Google Places, routes en clustering',
'login.features.realtime': 'Realtime synchronisatie',
'login.features.realtimeDesc': 'Plan samen via WebSocket',
'login.features.budget': 'Budgetbeheer',
'login.features.budgetDesc': 'Categorieën, grafieken en kosten per persoon',
'login.features.collab': 'Samenwerking',
'login.features.collabDesc': 'Meerdere gebruikers met gedeelde reizen',
'login.features.packing': 'Paklijsten',
'login.features.packingDesc': 'Categorieën, voortgang en suggesties',
'login.features.bookings': 'Reserveringen',
'login.features.bookingsDesc': 'Vluchten, hotels, restaurants en meer',
'login.features.files': 'Documenten',
'login.features.filesDesc': 'Upload en beheer documenten',
'login.features.routes': 'Slimme routes',
'login.features.routesDesc': 'Automatisch optimaliseren en exporteren naar Google Maps',
'login.selfHosted': 'Zelf gehost · Open Source · Jouw gegevens blijven van jou',
'login.title': 'Inloggen',
'login.subtitle': 'Welkom terug',
'login.signingIn': 'Inloggen…',
'login.signIn': 'Inloggen',
'login.createAdmin': 'Beheerdersaccount aanmaken',
'login.createAdminHint': 'Stel het eerste beheerdersaccount in voor TREK.',
'login.setNewPassword': 'Nieuw wachtwoord instellen',
'login.setNewPasswordHint': 'U moet uw wachtwoord wijzigen voordat u verder kunt gaan.',
'login.createAccount': 'Account aanmaken',
'login.createAccountHint': 'Registreer een nieuw account.',
'login.creating': 'Aanmaken…',
'login.noAccount': 'Nog geen account?',
'login.hasAccount': 'Heb je al een account?',
'login.register': 'Registreren',
'login.emailPlaceholder': 'jouw@email.com',
'login.username': 'Gebruikersnaam',
'login.oidc.registrationDisabled': 'Registratie is uitgeschakeld. Neem contact op met je beheerder.',
'login.oidc.noEmail': 'Geen e-mailadres ontvangen van de provider.',
'login.mfaTitle': 'Tweefactorauthenticatie',
'login.mfaSubtitle': 'Voer de 6-cijferige code van je authenticator-app in.',
'login.mfaCodeLabel': 'Verificatiecode',
'login.mfaCodeRequired': 'Voer de code van je authenticator-app in.',
'login.mfaHint': 'Open Google Authenticator, Authy of een andere TOTP-app.',
'login.mfaBack': '← Terug naar inloggen',
'login.mfaVerify': 'Verifiëren',
'login.oidc.tokenFailed': 'Authenticatie mislukt.',
'login.oidc.invalidState': 'Ongeldige sessie. Probeer het opnieuw.',
'login.demoFailed': 'Demo-login mislukt',
'login.oidcSignIn': 'Inloggen met {name}',
'login.oidcOnly': 'Wachtwoordauthenticatie is uitgeschakeld. Log in via je SSO-provider.',
'login.demoHint': 'Probeer de demo — geen registratie nodig',
// Register
'register.passwordMismatch': 'Wachtwoorden komen niet overeen',
'register.passwordTooShort': 'Wachtwoord moet minimaal 8 tekens bevatten',
'register.failed': 'Registratie mislukt',
'register.getStarted': 'Aan de slag',
'register.subtitle': 'Maak een account aan en begin met het plannen van je droomreizen.',
'register.feature1': 'Onbeperkte reisplannen',
'register.feature2': 'Interactieve kaartweergave',
'register.feature3': 'Beheer plaatsen en categorieën',
'register.feature4': 'Houd reserveringen bij',
'register.feature5': 'Maak paklijsten',
'register.feature6': 'Bewaar foto\'s en bestanden',
'register.createAccount': 'Account aanmaken',
'register.startPlanning': 'Begin met het plannen van je reis',
'register.minChars': 'Min. 6 tekens',
'register.confirmPassword': 'Bevestig wachtwoord',
'register.repeatPassword': 'Herhaal wachtwoord',
'register.registering': 'Registreren...',
'register.register': 'Registreren',
'register.hasAccount': 'Heb je al een account?',
'register.signIn': 'Inloggen',
// Admin
'admin.title': 'Beheer',
'admin.subtitle': 'Gebruikersbeheer en systeeminstellingen',
'admin.tabs.users': 'Gebruikers',
'admin.tabs.categories': 'Categorieën',
'admin.tabs.backup': 'Back-up',
'admin.tabs.audit': 'Auditlog',
'admin.stats.users': 'Gebruikers',
'admin.stats.trips': 'Reizen',
'admin.stats.places': 'Plaatsen',
'admin.stats.photos': 'Foto\'s',
'admin.stats.files': 'Bestanden',
'admin.table.user': 'Gebruiker',
'admin.table.email': 'E-mail',
'admin.table.role': 'Rol',
'admin.table.created': 'Aangemaakt',
'admin.table.lastLogin': 'Laatste login',
'admin.table.actions': 'Acties',
'admin.you': '(Jij)',
'admin.editUser': 'Gebruiker bewerken',
'admin.newPassword': 'Nieuw wachtwoord',
'admin.newPasswordHint': 'Laat leeg om het huidige wachtwoord te behouden',
'admin.deleteUser': 'Gebruiker "{name}" verwijderen? Alle reizen worden permanent verwijderd.',
'admin.deleteUserTitle': 'Gebruiker verwijderen',
'admin.newPasswordPlaceholder': 'Nieuw wachtwoord invoeren…',
'admin.toast.loadError': 'Beheergegevens laden mislukt',
'admin.toast.userUpdated': 'Gebruiker bijgewerkt',
'admin.toast.updateError': 'Bijwerken mislukt',
'admin.toast.userDeleted': 'Gebruiker verwijderd',
'admin.toast.deleteError': 'Verwijderen mislukt',
'admin.toast.cannotDeleteSelf': 'Je kunt je eigen account niet verwijderen',
'admin.toast.userCreated': 'Gebruiker aangemaakt',
'admin.toast.createError': 'Gebruiker aanmaken mislukt',
'admin.toast.fieldsRequired': 'Gebruikersnaam, e-mail en wachtwoord zijn verplicht',
'admin.createUser': 'Gebruiker aanmaken',
'admin.invite.title': 'Uitnodigingslinks',
'admin.invite.subtitle': 'Eenmalige registratielinks aanmaken',
'admin.invite.create': 'Link aanmaken',
'admin.invite.createAndCopy': 'Aanmaken en kopiëren',
'admin.invite.empty': 'Nog geen uitnodigingslinks aangemaakt',
'admin.invite.maxUses': 'Max. gebruik',
'admin.invite.expiry': 'Verloopt na',
'admin.invite.uses': 'gebruikt',
'admin.invite.expiresAt': 'verloopt op',
'admin.invite.createdBy': 'door',
'admin.invite.active': 'Actief',
'admin.invite.expired': 'Verlopen',
'admin.invite.usedUp': 'Opgebruikt',
'admin.invite.copied': 'Uitnodigingslink gekopieerd',
'admin.invite.copyLink': 'Link kopiëren',
'admin.invite.deleted': 'Uitnodigingslink verwijderd',
'admin.invite.createError': 'Fout bij aanmaken van link',
'admin.invite.deleteError': 'Fout bij verwijderen van link',
'admin.tabs.settings': 'Instellingen',
'admin.allowRegistration': 'Registratie toestaan',
'admin.allowRegistrationHint': 'Nieuwe gebruikers kunnen zichzelf registreren',
'admin.requireMfa': 'Tweestapsverificatie (2FA) verplicht stellen',
'admin.requireMfaHint': 'Gebruikers zonder 2FA moeten de installatie in Instellingen voltooien voordat ze de app kunnen gebruiken.',
'admin.apiKeys': 'API-sleutels',
'admin.apiKeysHint': 'Optioneel. Schakelt uitgebreide plaatsgegevens in zoals foto\'s en weer.',
'admin.mapsKey': 'Google Maps API-sleutel',
'admin.mapsKeyHint': 'Vereist voor het zoeken van plaatsen. Verkrijgbaar op console.cloud.google.com',
'admin.mapsKeyHintLong': 'Zonder API-sleutel wordt OpenStreetMap gebruikt voor het zoeken van plaatsen. Met een Google API-sleutel kunnen ook foto\'s, beoordelingen en openingstijden worden geladen. Verkrijgbaar op console.cloud.google.com.',
'admin.recommended': 'Aanbevolen',
'admin.weatherKey': 'OpenWeatherMap API-sleutel',
'admin.weatherKeyHint': 'Voor weergegevens. Gratis op openweathermap.org',
'admin.validateKey': 'Testen',
'admin.keyValid': 'Verbonden',
'admin.keyInvalid': 'Ongeldig',
'admin.keySaved': 'API-sleutels opgeslagen',
'admin.oidcTitle': 'Single Sign-On (OIDC)',
'admin.oidcSubtitle': 'Sta inloggen toe via externe providers zoals Google, Apple, Authentik of Keycloak.',
'admin.oidcDisplayName': 'Weergavenaam',
'admin.oidcIssuer': 'Issuer-URL',
'admin.oidcIssuerHint': 'De OpenID Connect Issuer-URL van de provider. Bijv. https://accounts.google.com',
'admin.oidcSaved': 'OIDC-configuratie opgeslagen',
'admin.oidcOnlyMode': 'Wachtwoordauthenticatie uitschakelen',
'admin.oidcOnlyModeHint': 'Indien ingeschakeld, is alleen SSO-login toegestaan. Inloggen en registreren met wachtwoord worden geblokkeerd.',
// File Types
'admin.fileTypes': 'Toegestane bestandstypen',
'admin.fileTypesHint': 'Configureer welke bestandstypen gebruikers kunnen uploaden.',
'admin.fileTypesFormat': 'Kommagescheiden extensies (bijv. jpg,png,pdf,doc). Gebruik * om alle typen toe te staan.',
'admin.fileTypesSaved': 'Bestandstype-instellingen opgeslagen',
'admin.bagTracking.title': 'Bagagetracking',
'admin.bagTracking.subtitle': 'Gewicht en bagagetoewijzing inschakelen voor paklijstitems',
'admin.tabs.config': 'Configuratie',
'admin.tabs.templates': 'Paksjablonen',
'admin.packingTemplates.title': 'Paksjablonen',
'admin.packingTemplates.subtitle': 'Herbruikbare paklijsten maken voor je reizen',
'admin.packingTemplates.create': 'Nieuw sjabloon',
'admin.packingTemplates.namePlaceholder': 'Sjabloonnaam (bijv. Strandvakantie)',
'admin.packingTemplates.empty': 'Nog geen sjablonen aangemaakt',
'admin.packingTemplates.items': 'items',
'admin.packingTemplates.categories': 'categorieën',
'admin.packingTemplates.itemName': 'Itemnaam',
'admin.packingTemplates.itemCategory': 'Categorie',
'admin.packingTemplates.categoryName': 'Categorienaam (bijv. Kleding)',
'admin.packingTemplates.addCategory': 'Categorie toevoegen',
'admin.packingTemplates.created': 'Sjabloon aangemaakt',
'admin.packingTemplates.deleted': 'Sjabloon verwijderd',
'admin.packingTemplates.loadError': 'Fout bij laden van sjablonen',
'admin.packingTemplates.createError': 'Fout bij aanmaken van sjabloon',
'admin.packingTemplates.deleteError': 'Fout bij verwijderen van sjabloon',
'admin.packingTemplates.saveError': 'Fout bij opslaan',
// Addons
'admin.tabs.addons': 'Add-ons',
'admin.addons.title': 'Add-ons',
'admin.addons.subtitle': 'Schakel functies in of uit om je TREK-ervaring aan te passen.',
'admin.addons.catalog.memories.name': 'Foto\'s (Immich)',
'admin.addons.catalog.memories.description': 'Deel reisfoto\'s via je Immich-instantie',
'admin.addons.catalog.mcp.name': 'MCP',
'admin.addons.catalog.mcp.description': 'Model Context Protocol voor AI-assistent integratie',
'admin.addons.catalog.packing.name': 'Lists',
'admin.addons.catalog.packing.description': 'Packing lists and to-do tasks for your trips',
'admin.addons.catalog.budget.name': 'Budget',
'admin.addons.catalog.budget.description': 'Houd uitgaven bij en plan je reisbudget',
'admin.addons.catalog.documents.name': 'Documenten',
'admin.addons.catalog.documents.description': 'Bewaar en beheer reisdocumenten',
'admin.addons.catalog.vacay.name': 'Vacay',
'admin.addons.catalog.vacay.description': 'Persoonlijke vakantieplanner met kalenderweergave',
'admin.addons.catalog.atlas.name': 'Atlas',
'admin.addons.catalog.atlas.description': 'Wereldkaart met bezochte landen en reisstatistieken',
'admin.addons.catalog.collab.name': 'Collab',
'admin.addons.catalog.collab.description': 'Realtime notities, polls en chat voor het plannen van reizen',
'admin.addons.subtitleBefore': 'Schakel functies in of uit om je ',
'admin.addons.subtitleAfter': '-ervaring aan te passen.',
'admin.addons.enabled': 'Ingeschakeld',
'admin.addons.disabled': 'Uitgeschakeld',
'admin.addons.type.trip': 'Reis',
'admin.addons.type.global': 'Globaal',
'admin.addons.type.integration': 'Integratie',
'admin.addons.tripHint': 'Beschikbaar als tabblad binnen elke reis',
'admin.addons.globalHint': 'Beschikbaar als zelfstandig onderdeel in de hoofdnavigatie',
'admin.addons.integrationHint': 'Backenddiensten en API-integraties zonder eigen pagina',
'admin.addons.toast.updated': 'Add-on bijgewerkt',
'admin.addons.toast.error': 'Add-on bijwerken mislukt',
'admin.addons.noAddons': 'Geen add-ons beschikbaar',
// Weather info
'admin.weather.title': 'Weergegevens',
'admin.weather.badge': 'Sinds 24 maart 2026',
'admin.weather.description': 'TREK gebruikt Open-Meteo als weerbron. Open-Meteo is een gratis, open-source weerdienst — geen API-sleutel vereist.',
'admin.weather.forecast': '16-daagse voorspelling',
'admin.weather.forecastDesc': 'Voorheen 5 dagen (OpenWeatherMap)',
'admin.weather.climate': 'Historische klimaatgegevens',
'admin.weather.climateDesc': 'Gemiddelden over de afgelopen 85 jaar voor dagen buiten de 16-daagse voorspelling',
'admin.weather.requests': '10.000 verzoeken / dag',
'admin.weather.requestsDesc': 'Gratis, geen API-sleutel vereist',
'admin.weather.locationHint': 'Het weer is gebaseerd op de eerste plaats met coördinaten op elke dag. Als er geen plaats aan een dag is toegewezen, wordt een plaats uit de lijst als referentie gebruikt.',
// MCP Tokens
'admin.tabs.mcpTokens': 'MCP-tokens',
'admin.mcpTokens.title': 'MCP-tokens',
'admin.mcpTokens.subtitle': 'API-tokens van alle gebruikers beheren',
'admin.mcpTokens.owner': 'Eigenaar',
'admin.mcpTokens.tokenName': 'Tokennaam',
'admin.mcpTokens.created': 'Aangemaakt',
'admin.mcpTokens.lastUsed': 'Laatst gebruikt',
'admin.mcpTokens.never': 'Nooit',
'admin.mcpTokens.empty': 'Er zijn nog geen MCP-tokens aangemaakt',
'admin.mcpTokens.deleteTitle': 'Token verwijderen',
'admin.mcpTokens.deleteMessage': 'Dit token wordt onmiddellijk ingetrokken. De gebruiker verliest MCP-toegang via dit token.',
'admin.mcpTokens.deleteSuccess': 'Token verwijderd',
'admin.mcpTokens.deleteError': 'Token kon niet worden verwijderd',
'admin.mcpTokens.loadError': 'Tokens konden niet worden geladen',
// GitHub
'admin.tabs.github': 'GitHub',
'admin.audit.subtitle': 'Beveiligingsgevoelige en beheerdersgebeurtenissen (back-ups, gebruikers, MFA, instellingen).',
'admin.audit.empty': 'Nog geen auditregistraties.',
'admin.audit.refresh': 'Vernieuwen',
'admin.audit.loadMore': 'Meer laden',
'admin.audit.showing': '{count} geladen · {total} totaal',
'admin.audit.col.time': 'Tijd',
'admin.audit.col.user': 'Gebruiker',
'admin.audit.col.action': 'Actie',
'admin.audit.col.resource': 'Bron',
'admin.audit.col.ip': 'IP',
'admin.audit.col.details': 'Details',
'admin.github.title': 'Release-geschiedenis',
'admin.github.subtitle': 'Laatste updates van {repo}',
'admin.github.latest': 'Nieuwste',
'admin.github.prerelease': 'Pre-release',
'admin.github.showDetails': 'Details tonen',
'admin.github.hideDetails': 'Details verbergen',
'admin.github.loadMore': 'Meer laden',
'admin.github.loading': 'Laden...',
'admin.github.support': 'Helpt mij TREK verder te ontwikkelen',
'admin.github.error': 'Releases laden mislukt',
'admin.github.by': 'door',
'admin.update.available': 'Update beschikbaar',
'admin.update.text': 'TREK {version} is beschikbaar. Je draait {current}.',
'admin.update.button': 'Bekijk op GitHub',
'admin.update.install': 'Update installeren',
'admin.update.confirmTitle': 'Update installeren?',
'admin.update.confirmText': 'TREK wordt bijgewerkt van {current} naar {version}. De server herstart automatisch.',
'admin.update.dataInfo': 'Al je gegevens (reizen, gebruikers, API-sleutels, uploads, Vacay, Atlas, budgetten) worden bewaard.',
'admin.update.warning': 'De app is kort niet beschikbaar tijdens het herstarten.',
'admin.update.confirm': 'Nu bijwerken',
'admin.update.installing': 'Bijwerken…',
'admin.update.success': 'Update geïnstalleerd! Server herstart…',
'admin.update.failed': 'Update mislukt',
'admin.update.backupHint': 'We raden aan een back-up te maken voordat je bijwerkt.',
'admin.update.backupLink': 'Naar back-up',
'admin.update.howTo': 'Hoe bij te werken',
'admin.update.dockerText': 'Je TREK-instantie draait in Docker. Om bij te werken naar {version}, voer de volgende commando\'s uit op je server:',
'admin.update.reloadHint': 'Herlaad de pagina over een paar seconden.',
// Vacay addon
'vacay.subtitle': 'Plan en beheer vakantiedagen',
'vacay.settings': 'Instellingen',
'vacay.year': 'Jaar',
'vacay.addYear': 'Volgend jaar toevoegen',
'vacay.addPrevYear': 'Vorig jaar toevoegen',
'vacay.removeYear': 'Jaar verwijderen',
'vacay.removeYearConfirm': '{year} verwijderen?',
'vacay.removeYearHint': 'Alle vakantie-invoeren en bedrijfsvakanties voor dit jaar worden permanent verwijderd.',
'vacay.remove': 'Verwijderen',
'vacay.persons': 'Personen',
'vacay.noPersons': 'Geen personen toegevoegd',
'vacay.addPerson': 'Persoon toevoegen',
'vacay.editPerson': 'Persoon bewerken',
'vacay.removePerson': 'Persoon verwijderen',
'vacay.removePersonConfirm': '{name} verwijderen?',
'vacay.removePersonHint': 'Alle vakantie-invoeren voor deze persoon worden permanent verwijderd.',
'vacay.personName': 'Naam',
'vacay.personNamePlaceholder': 'Naam invoeren',
'vacay.color': 'Kleur',
'vacay.add': 'Toevoegen',
'vacay.legend': 'Legenda',
'vacay.publicHoliday': 'Feestdag',
'vacay.companyHoliday': 'Bedrijfsvakantie',
'vacay.weekend': 'Weekend',
'vacay.modeVacation': 'Vakantie',
'vacay.modeCompany': 'Bedrijfsvakantie',
'vacay.entitlement': 'Recht',
'vacay.entitlementDays': 'Dagen',
'vacay.used': 'Gebruikt',
'vacay.remaining': 'Resterend',
'vacay.carriedOver': 'van {year}',
'vacay.blockWeekends': 'Weekenden blokkeren',
'vacay.blockWeekendsHint': 'Voorkom vakantie-invoeren op zaterdag en zondag',
'vacay.weekendDays': 'Weekenddagen',
'vacay.mon': 'Ma',
'vacay.tue': 'Di',
'vacay.wed': 'Wo',
'vacay.thu': 'Do',
'vacay.fri': 'Vr',
'vacay.sat': 'Za',
'vacay.sun': 'Zo',
'vacay.publicHolidays': 'Feestdagen',
'vacay.publicHolidaysHint': 'Markeer feestdagen in de kalender',
'vacay.selectCountry': 'Selecteer land',
'vacay.selectRegion': 'Selecteer regio (optioneel)',
'vacay.companyHolidays': 'Bedrijfsvakanties',
'vacay.companyHolidaysHint': 'Sta het markeren van bedrijfsbrede vakantiedagen toe',
'vacay.companyHolidaysNoDeduct': 'Bedrijfsvakanties worden niet afgetrokken van vakantiedagen.',
'vacay.carryOver': 'Overdracht',
'vacay.carryOverHint': 'Draag resterende vakantiedagen automatisch over naar het volgende jaar',
'vacay.sharing': 'Delen',
'vacay.sharingHint': 'Deel je vakantieplan met andere TREK-gebruikers',
'vacay.owner': 'Eigenaar',
'vacay.shareEmailPlaceholder': 'E-mail van TREK-gebruiker',
'vacay.shareSuccess': 'Plan succesvol gedeeld',
'vacay.shareError': 'Plan delen mislukt',
'vacay.dissolve': 'Fusie opheffen',
'vacay.dissolveHint': 'Kalenders weer scheiden. Je invoeren blijven behouden.',
'vacay.dissolveAction': 'Opheffen',
'vacay.dissolved': 'Kalender gescheiden',
'vacay.fusedWith': 'Gefuseerd met',
'vacay.you': 'jij',
'vacay.noData': 'Geen gegevens',
'vacay.changeColor': 'Kleur wijzigen',
'vacay.inviteUser': 'Gebruiker uitnodigen',
'vacay.inviteHint': 'Nodig een andere TREK-gebruiker uit om een gecombineerde vakantiekalender te delen.',
'vacay.selectUser': 'Selecteer gebruiker',
'vacay.sendInvite': 'Uitnodiging verzenden',
'vacay.inviteSent': 'Uitnodiging verzonden',
'vacay.inviteError': 'Uitnodiging verzenden mislukt',
'vacay.pending': 'in behandeling',
'vacay.noUsersAvailable': 'Geen gebruikers beschikbaar',
'vacay.accept': 'Accepteren',
'vacay.decline': 'Afwijzen',
'vacay.acceptFusion': 'Accepteren en fuseren',
'vacay.inviteTitle': 'Fusieverzoek',
'vacay.inviteWantsToFuse': 'wil een vakantiekalender met je delen.',
'vacay.fuseInfo1': 'Jullie zien allebei alle vakantie-invoeren in één gedeelde kalender.',
'vacay.fuseInfo2': 'Beide partijen kunnen invoeren voor elkaar aanmaken en bewerken.',
'vacay.fuseInfo3': 'Beide partijen kunnen invoeren verwijderen en vakantierechten wijzigen.',
'vacay.fuseInfo4': 'Instellingen zoals feestdagen en bedrijfsvakanties worden gedeeld.',
'vacay.fuseInfo5': 'De fusie kan op elk moment door beide partijen worden opgeheven. Je invoeren blijven behouden.',
'vacay.addCalendar': 'Kalender toevoegen',
'vacay.calendarColor': 'Kleur',
'vacay.calendarLabel': 'Label',
'vacay.noCalendars': 'Geen kalenders',
'nav.myTrips': 'Mijn reizen',
// Atlas addon
'atlas.subtitle': 'Je reisvoetafdruk over de wereld',
'atlas.countries': 'Landen',
'atlas.trips': 'Reizen',
'atlas.places': 'Plaatsen',
'atlas.days': 'Dagen',
'atlas.visitedCountries': 'Bezochte landen',
'atlas.cities': 'Steden',
'atlas.noData': 'Nog geen reisgegevens',
'atlas.noDataHint': 'Maak een reis aan en voeg plaatsen toe om je wereldkaart te zien',
'atlas.lastTrip': 'Laatste reis',
'atlas.nextTrip': 'Volgende reis',
'atlas.daysLeft': 'dagen te gaan',
'atlas.streak': 'Reeks',
'atlas.year': 'jaar',
'atlas.years': 'jaar',
'atlas.yearInRow': 'jaar op rij',
'atlas.yearsInRow': 'jaar op rij',
'atlas.tripIn': 'reis in',
'atlas.tripsIn': 'reizen in',
'atlas.since': 'sinds',
'atlas.europe': 'Europa',
'atlas.asia': 'Azië',
'atlas.northAmerica': 'N.-Amerika',
'atlas.southAmerica': 'Z.-Amerika',
'atlas.africa': 'Afrika',
'atlas.oceania': 'Oceanië',
'atlas.other': 'Overig',
'atlas.firstVisit': 'Eerste reis',
'atlas.lastVisitLabel': 'Laatste reis',
'atlas.tripSingular': 'Reis',
'atlas.tripPlural': 'Reizen',
'atlas.placeVisited': 'Bezochte plaats',
'atlas.placesVisited': 'Bezochte plaatsen',
'atlas.statsTab': 'Statistieken',
'atlas.bucketTab': 'Bucket List',
'atlas.addBucket': 'Toevoegen aan bucket list',
'atlas.bucketNamePlaceholder': 'Plaats of bestemming...',
'atlas.bucketNotesPlaceholder': 'Notities (optioneel)',
'atlas.bucketEmpty': 'Je bucket list is leeg',
'atlas.bucketEmptyHint': 'Voeg plekken toe die je wilt bezoeken',
'atlas.unmark': 'Verwijderen',
'atlas.confirmMark': 'Dit land als bezocht markeren?',
'atlas.confirmUnmark': 'Dit land van je bezochte lijst verwijderen?',
'atlas.confirmUnmarkRegion': 'Deze regio van je bezochte lijst verwijderen?',
'atlas.markVisited': 'Markeren als bezocht',
'atlas.markVisitedHint': 'Dit land toevoegen aan je bezochte lijst',
'atlas.markRegionVisitedHint': 'Deze regio toevoegen aan je bezochte lijst',
'atlas.addToBucket': 'Aan bucket list toevoegen',
'atlas.addPoi': 'Plaats toevoegen',
'atlas.searchCountry': 'Zoek een land...',
'atlas.month': 'Maand',
'atlas.addToBucketHint': 'Opslaan als plek die je wilt bezoeken',
'atlas.bucketWhen': 'Wanneer ben je van plan te gaan?',
// Trip Planner
'trip.tabs.plan': 'Plan',
'trip.tabs.reservations': 'Boekingen',
'trip.tabs.reservationsShort': 'Boek',
'trip.tabs.packing': 'Paklijst',
'trip.tabs.packingShort': 'Inpakken',
'trip.tabs.lists': 'Lists',
'trip.tabs.listsShort': 'Lists',
'trip.tabs.budget': 'Budget',
'trip.tabs.files': 'Bestanden',
'trip.loading': 'Reis laden...',
'trip.loadingPhotos': 'Plaatsfoto laden...',
'trip.mobilePlan': 'Plan',
'trip.mobilePlaces': 'Plaatsen',
'trip.toast.placeUpdated': 'Plaats bijgewerkt',
'trip.toast.placeAdded': 'Plaats toegevoegd',
'trip.toast.placeDeleted': 'Plaats verwijderd',
'trip.toast.selectDay': 'Selecteer eerst een dag',
'trip.toast.assignedToDay': 'Plaats toegewezen aan dag',
'trip.toast.reorderError': 'Herordenen mislukt',
'trip.toast.reservationUpdated': 'Reservering bijgewerkt',
'trip.toast.reservationAdded': 'Reservering toegevoegd',
'trip.toast.deleted': 'Verwijderd',
'trip.confirm.deletePlace': 'Weet je zeker dat je deze plaats wilt verwijderen?',
// Day Plan Sidebar
'dayplan.emptyDay': 'Geen plaatsen gepland voor deze dag',
'dayplan.addNote': 'Notitie toevoegen',
'dayplan.editNote': 'Notitie bewerken',
'dayplan.noteAdd': 'Notitie toevoegen',
'dayplan.noteEdit': 'Notitie bewerken',
'dayplan.noteTitle': 'Notitie',
'dayplan.noteSubtitle': 'Dagnotitie',
'dayplan.totalCost': 'Totale kosten',
'dayplan.days': 'Dagen',
'dayplan.dayN': 'Dag {n}',
'dayplan.calculating': 'Berekenen...',
'dayplan.route': 'Route',
'dayplan.optimize': 'Optimaliseren',
'dayplan.optimized': 'Route geoptimaliseerd',
'dayplan.routeError': 'Route berekenen mislukt',
'dayplan.toast.needTwoPlaces': 'Minimaal twee plaatsen nodig voor route-optimalisatie',
'dayplan.toast.routeOptimized': 'Route geoptimaliseerd',
'dayplan.toast.noGeoPlaces': 'Geen plaatsen met coördinaten gevonden voor routeberekening',
'dayplan.confirmed': 'Bevestigd',
'dayplan.pendingRes': 'In behandeling',
'dayplan.pdf': 'PDF',
'dayplan.pdfTooltip': 'Dagplan exporteren als PDF',
'dayplan.pdfError': 'PDF-export mislukt',
'dayplan.cannotReorderTransport': 'Boekingen met een vast tijdstip kunnen niet worden verplaatst',
'dayplan.confirmRemoveTimeTitle': 'Tijd verwijderen?',
'dayplan.confirmRemoveTimeBody': 'Deze plek heeft een vast tijdstip ({time}). Verplaatsen verwijdert het tijdstip en maakt vrije sortering mogelijk.',
'dayplan.confirmRemoveTimeAction': 'Tijd verwijderen en verplaatsen',
'dayplan.cannotDropOnTimed': 'Items kunnen niet tussen tijdgebonden items worden geplaatst',
'dayplan.cannotBreakChronology': 'Dit zou de chronologische volgorde van geplande items en boekingen doorbreken',
// Places Sidebar
'places.addPlace': 'Plaats/activiteit toevoegen',
'places.importGpx': 'GPX',
'places.gpxImported': '{count} plaatsen geïmporteerd uit GPX',
'places.gpxError': 'GPX-import mislukt',
'places.importGoogleList': 'Google Lijst',
'places.googleListHint': 'Plak een gedeelde Google Maps lijstlink om alle plaatsen te importeren.',
'places.googleListImported': '{count} plaatsen geimporteerd uit "{list}"',
'places.googleListError': 'Google Maps lijst importeren mislukt',
'places.viewDetails': 'Details bekijken',
'places.urlResolved': 'Plaats geïmporteerd van URL',
'places.assignToDay': 'Aan welke dag toevoegen?',
'places.all': 'Alle',
'places.unplanned': 'Ongepland',
'places.search': 'Plaatsen zoeken...',
'places.allCategories': 'Alle categorieën',
'places.categoriesSelected': 'categorieën',
'places.clearFilter': 'Filter wissen',
'places.count': '{count} plaatsen',
'places.countSingular': '1 plaats',
'places.allPlanned': 'Alle plaatsen zijn gepland',
'places.noneFound': 'Geen plaatsen gevonden',
'places.editPlace': 'Plaats bewerken',
'places.formName': 'Naam',
'places.formNamePlaceholder': 'bijv. Eiffeltoren',
'places.formDescription': 'Beschrijving',
'places.formDescriptionPlaceholder': 'Korte beschrijving...',
'places.formAddress': 'Adres',
'places.formAddressPlaceholder': 'Straat, stad, land',
'places.formLat': 'Breedtegraad (bijv. 48.8566)',
'places.formLng': 'Lengtegraad (bijv. 2.3522)',
'places.formCategory': 'Categorie',
'places.noCategory': 'Geen categorie',
'places.categoryNamePlaceholder': 'Categorienaam',
'places.formTime': 'Tijd',
'places.startTime': 'Start',
'places.endTime': 'Einde',
'places.endTimeBeforeStart': 'Eindtijd is vóór de starttijd',
'places.timeCollision': 'Tijdoverlap met:',
'places.formWebsite': 'Website',
'places.formNotesPlaceholder': 'Persoonlijke notities...',
'places.formReservation': 'Reservering',
'places.reservationNotesPlaceholder': 'Reserveringsnotities, bevestigingsnummer...',
'places.mapsSearchPlaceholder': 'Plaatsen zoeken...',
'places.mapsSearchError': 'Zoeken naar plaatsen mislukt.',
'places.osmHint': 'Zoeken via OpenStreetMap (geen foto\'s, openingstijden of beoordelingen). Voeg een Google API-sleutel toe in instellingen voor volledige details.',
'places.osmActive': 'Zoeken via OpenStreetMap (geen foto\'s, beoordelingen of openingstijden). Voeg een Google API-sleutel toe in Instellingen voor uitgebreide gegevens.',
'places.categoryCreateError': 'Categorie aanmaken mislukt',
'places.nameRequired': 'Voer een naam in',
'places.saveError': 'Opslaan mislukt',
// Place Inspector
'inspector.opened': 'Open',
'inspector.closed': 'Gesloten',
'inspector.openingHours': 'Openingstijden',
'inspector.showHours': 'Openingstijden tonen',
'inspector.files': 'Bestanden',
'inspector.filesCount': '{count} bestanden',
'inspector.removeFromDay': 'Verwijderen van dag',
'inspector.addToDay': 'Toevoegen aan dag',
'inspector.confirmedRes': 'Bevestigde reservering',
'inspector.pendingRes': 'Reservering in behandeling',
'inspector.google': 'Openen in Google Maps',
'inspector.website': 'Website openen',
'inspector.addRes': 'Reservering',
'inspector.editRes': 'Reservering bewerken',
'inspector.participants': 'Deelnemers',
'inspector.trackStats': 'Routegegevens',
// Reservations
'reservations.title': 'Boekingen',
'reservations.empty': 'Nog geen reserveringen',
'reservations.emptyHint': 'Voeg reserveringen toe voor vluchten, hotels en meer',
'reservations.add': 'Reservering toevoegen',
'reservations.addManual': 'Handmatige boeking',
'reservations.placeHint': 'Tip: Reserveringen kun je het beste direct vanuit een plaats aanmaken om ze te koppelen aan je dagplan.',
'reservations.confirmed': 'Bevestigd',
'reservations.pending': 'In behandeling',
'reservations.summary': '{confirmed} bevestigd, {pending} in behandeling',
'reservations.fromPlan': 'Vanuit plan',
'reservations.showFiles': 'Bestanden tonen',
'reservations.editTitle': 'Reservering bewerken',
'reservations.status': 'Status',
'reservations.datetime': 'Datum en tijd',
'reservations.startTime': 'Starttijd',
'reservations.endTime': 'Eindtijd',
'reservations.date': 'Datum',
'reservations.time': 'Tijd',
'reservations.timeAlt': 'Tijd (alternatief, bijv. 19:30)',
'reservations.notes': 'Notities',
'reservations.notesPlaceholder': 'Extra notities...',
'reservations.meta.airline': 'Luchtvaartmaatschappij',
'reservations.meta.flightNumber': 'Vluchtnr.',
'reservations.meta.from': 'Van',
'reservations.meta.to': 'Naar',
'reservations.meta.trainNumber': 'Treinnr.',
'reservations.meta.platform': 'Perron',
'reservations.meta.seat': 'Stoel',
'reservations.meta.checkIn': 'Check-in',
'reservations.meta.checkOut': 'Check-out',
'reservations.meta.linkAccommodation': 'Accommodatie',
'reservations.meta.pickAccommodation': 'Koppel aan accommodatie',
'reservations.meta.noAccommodation': 'Geen',
'reservations.meta.hotelPlace': 'Accommodatie',
'reservations.meta.pickHotel': 'Selecteer accommodatie',
'reservations.meta.fromDay': 'Van',
'reservations.meta.toDay': 'Tot',
'reservations.meta.selectDay': 'Selecteer dag',
'reservations.type.flight': 'Vlucht',
'reservations.type.hotel': 'Accommodatie',
'reservations.type.restaurant': 'Restaurant',
'reservations.type.train': 'Trein',
'reservations.type.car': 'Huurauto',
'reservations.type.cruise': 'Cruise',
'reservations.type.event': 'Evenement',
'reservations.type.tour': 'Rondleiding',
'reservations.type.other': 'Overig',
'reservations.confirm.delete': 'Weet je zeker dat je de reservering "{name}" wilt verwijderen?',
'reservations.confirm.deleteTitle': 'Boeking verwijderen?',
'reservations.confirm.deleteBody': '"{name}" wordt permanent verwijderd.',
'reservations.toast.updated': 'Reservering bijgewerkt',
'reservations.toast.removed': 'Reservering verwijderd',
'reservations.toast.fileUploaded': 'Bestand geüpload',
'reservations.toast.uploadError': 'Uploaden mislukt',
'reservations.newTitle': 'Nieuwe reservering',
'reservations.bookingType': 'Boekingstype',
'reservations.titleLabel': 'Titel',
'reservations.titlePlaceholder': 'bijv. Lufthansa LH123, Hotel Adlon, ...',
'reservations.locationAddress': 'Locatie / Adres',
'reservations.locationPlaceholder': 'Adres, luchthaven, hotel...',
'reservations.confirmationCode': 'Boekingscode',
'reservations.confirmationPlaceholder': 'bijv. ABC12345',
'reservations.day': 'Dag',
'reservations.noDay': 'Geen dag',
'reservations.place': 'Plaats',
'reservations.noPlace': 'Geen plaats',
'reservations.pendingSave': 'wordt opgeslagen…',
'reservations.uploading': 'Uploaden...',
'reservations.attachFile': 'Bestand bijvoegen',
'reservations.linkExisting': 'Bestaand bestand koppelen',
'reservations.toast.saveError': 'Opslaan mislukt',
'reservations.toast.updateError': 'Bijwerken mislukt',
'reservations.toast.deleteError': 'Verwijderen mislukt',
'reservations.confirm.remove': 'Reservering voor "{name}" verwijderen?',
'reservations.linkAssignment': 'Koppelen aan dagtoewijzing',
'reservations.pickAssignment': 'Selecteer een toewijzing uit je plan...',
'reservations.noAssignment': 'Geen koppeling (zelfstandig)',
'reservations.price': 'Price',
'reservations.budgetCategory': 'Budget category',
'reservations.budgetCategoryPlaceholder': 'e.g. Transport, Accommodation',
'reservations.budgetCategoryAuto': 'Auto (from booking type)',
'reservations.budgetHint': 'A budget entry will be created automatically when saving.',
'reservations.departureDate': 'Vertrek',
'reservations.arrivalDate': 'Aankomst',
'reservations.departureTime': 'Vertrektijd',
'reservations.arrivalTime': 'Aankomsttijd',
'reservations.pickupDate': 'Ophalen',
'reservations.returnDate': 'Inleveren',
'reservations.pickupTime': 'Ophaaltijd',
'reservations.returnTime': 'Inlevertijd',
'reservations.endDate': 'Einddatum',
'reservations.meta.departureTimezone': 'TZ vertrek',
'reservations.meta.arrivalTimezone': 'TZ aankomst',
'reservations.span.departure': 'Vertrek',
'reservations.span.arrival': 'Aankomst',
'reservations.span.inTransit': 'Onderweg',
'reservations.span.pickup': 'Ophalen',
'reservations.span.return': 'Inleveren',
'reservations.span.active': 'Actief',
'reservations.span.start': 'Start',
'reservations.span.end': 'Einde',
'reservations.span.ongoing': 'Lopend',
'reservations.validation.endBeforeStart': 'Einddatum/-tijd moet na de startdatum/-tijd liggen',
// Budget
'budget.title': 'Budget',
'budget.exportCsv': 'CSV exporteren',
'budget.emptyTitle': 'Nog geen budget aangemaakt',
'budget.emptyText': 'Maak categorieën en invoeren aan om je reisbudget te plannen',
'budget.emptyPlaceholder': 'Categorienaam invoeren...',
'budget.createCategory': 'Categorie aanmaken',
'budget.category': 'Categorie',
'budget.categoryName': 'Categorienaam',
'budget.table.name': 'Naam',
'budget.table.total': 'Totaal',
'budget.table.persons': 'Personen',
'budget.table.days': 'Dagen',
'budget.table.perPerson': 'Per persoon',
'budget.table.perDay': 'Per dag',
'budget.table.perPersonDay': 'P. p. / dag',
'budget.table.note': 'Notitie',
'budget.table.date': 'Datum',
'budget.newEntry': 'Nieuwe invoer',
'budget.defaultEntry': 'Nieuwe invoer',
'budget.defaultCategory': 'Nieuwe categorie',
'budget.total': 'Totaal',
'budget.totalBudget': 'Totaal budget',
'budget.byCategory': 'Per categorie',
'budget.editTooltip': 'Klik om te bewerken',
'budget.confirm.deleteCategory': 'Weet je zeker dat je de categorie "{name}" met {count} invoeren wilt verwijderen?',
'budget.deleteCategory': 'Categorie verwijderen',
'budget.perPerson': 'Per persoon',
'budget.paid': 'Betaald',
'budget.open': 'Open',
'budget.noMembers': 'Geen leden toegewezen',
'budget.settlement': 'Afrekening',
'budget.settlementInfo': 'Klik op de avatar van een lid bij een budgetpost om deze groen te markeren — dit betekent dat diegene heeft betaald. De afrekening toont vervolgens wie wie hoeveel verschuldigd is.',
'budget.netBalances': 'Nettosaldi',
// Files
'files.title': 'Bestanden',
'files.count': '{count} bestanden',
'files.countSingular': '1 bestand',
'files.uploaded': '{count} geüpload',
'files.uploadError': 'Uploaden mislukt',
'files.dropzone': 'Sleep bestanden hierheen',
'files.dropzoneHint': 'of klik om te bladeren',
'files.allowedTypes': 'Afbeeldingen, PDF, DOC, DOCX, XLS, XLSX, TXT, CSV · Max 50 MB',
'files.uploading': 'Uploaden...',
'files.filterAll': 'Alle',
'files.filterPdf': 'PDF\'s',
'files.filterImages': 'Afbeeldingen',
'files.filterDocs': 'Documenten',
'files.filterCollab': 'Collab-notities',
'files.sourceCollab': 'Uit Collab-notities',
'files.empty': 'Nog geen bestanden',
'files.emptyHint': 'Upload bestanden om ze aan je reis toe te voegen',
'files.openTab': 'Openen in nieuw tabblad',
'files.confirm.delete': 'Weet je zeker dat je dit bestand wilt verwijderen?',
'files.toast.deleted': 'Bestand verwijderd',
'files.toast.deleteError': 'Bestand verwijderen mislukt',
'files.sourcePlan': 'Dagplan',
'files.sourceBooking': 'Boeking',
'files.attach': 'Bijvoegen',
'files.pasteHint': 'Je kunt ook afbeeldingen plakken vanuit het klembord (Ctrl+V)',
'files.trash': 'Prullenbak',
'files.trashEmpty': 'Prullenbak is leeg',
'files.emptyTrash': 'Prullenbak legen',
'files.restore': 'Herstellen',
'files.star': 'Ster',
'files.unstar': 'Ster verwijderen',
'files.assign': 'Toewijzen',
'files.assignTitle': 'Bestand toewijzen',
'files.assignPlace': 'Plaats',
'files.assignBooking': 'Boeking',
'files.unassigned': 'Niet toegewezen',
'files.unlink': 'Koppeling verwijderen',
'files.toast.trashed': 'Naar prullenbak verplaatst',
'files.toast.restored': 'Bestand hersteld',
'files.toast.trashEmptied': 'Prullenbak geleegd',
'files.toast.assigned': 'Bestand toegewezen',
'files.toast.assignError': 'Toewijzing mislukt',
'files.toast.restoreError': 'Herstellen mislukt',
'files.confirm.permanentDelete': 'Dit bestand permanent verwijderen? Dit kan niet ongedaan worden gemaakt.',
'files.confirm.emptyTrash': 'Alle bestanden in de prullenbak permanent verwijderen? Dit kan niet ongedaan worden gemaakt.',
'files.noteLabel': 'Notitie',
'files.notePlaceholder': 'Notitie toevoegen...',
// Packing
'packing.title': 'Paklijst',
'packing.empty': 'Paklijst is leeg',
'packing.import': 'Importeren',
'packing.importTitle': 'Paklijst importeren',
'packing.importHint': 'Eén item per regel. Optioneel categorie en aantal gescheiden door komma, puntkomma of tab: Naam, Categorie, Aantal',
'packing.importPlaceholder': 'Tandenborstel\nZonnebrand, Hygiëne\nT-Shirts, Kleding, 5\nPaspoort, Documenten',
'packing.importCsv': 'CSV/TXT laden',
'packing.importAction': '{count} importeren',
'packing.importSuccess': '{count} items geïmporteerd',
'packing.importError': 'Import mislukt',
'packing.importEmpty': 'Geen items om te importeren',
'packing.progress': '{packed} van {total} ingepakt ({percent}%)',
'packing.clearChecked': '{count} aangevinkte verwijderen',
'packing.clearCheckedShort': '{count} verwijderen',
'packing.suggestions': 'Suggesties',
'packing.suggestionsTitle': 'Suggesties toevoegen',
'packing.allSuggested': 'Alle suggesties toegevoegd',
'packing.allPacked': 'Alles ingepakt!',
'packing.addPlaceholder': 'Nieuw item toevoegen...',
'packing.categoryPlaceholder': 'Categorie...',
'packing.filterAll': 'Alle',
'packing.filterOpen': 'Open',
'packing.filterDone': 'Klaar',
'packing.emptyTitle': 'Paklijst is leeg',
'packing.emptyHint': 'Voeg items toe of gebruik de suggesties',
'packing.emptyFiltered': 'Geen items gevonden voor dit filter',
'packing.menuRename': 'Hernoemen',
'packing.menuCheckAll': 'Alles aanvinken',
'packing.menuUncheckAll': 'Alles uitvinken',
'packing.menuDeleteCat': 'Categorie verwijderen',
'packing.addItem': 'Item toevoegen',
'packing.addItemPlaceholder': 'Itemnaam...',
'packing.addCategory': 'Categorie toevoegen',
'packing.newCategoryPlaceholder': 'Categorienaam (bijv. Kleding)',
'packing.applyTemplate': 'Sjabloon toepassen',
'packing.template': 'Sjabloon',
'packing.templateApplied': '{count} items toegevoegd vanuit sjabloon',
'packing.templateError': 'Fout bij toepassen van sjabloon',
'packing.assignUser': 'Gebruiker toewijzen',
'packing.noMembers': 'Geen leden',
'packing.bags': 'Bagage',
'packing.noBag': 'Niet toegewezen',
'packing.totalWeight': 'Totaalgewicht',
'packing.bagName': 'Naam...',
'packing.addBag': 'Bagage toevoegen',
'packing.changeCategory': 'Categorie wijzigen',
'packing.confirm.clearChecked': 'Weet je zeker dat je {count} aangevinkte items wilt verwijderen?',
'packing.confirm.deleteCat': 'Weet je zeker dat je de categorie "{name}" met {count} items wilt verwijderen?',
'packing.defaultCategory': 'Overig',
'packing.toast.saveError': 'Opslaan mislukt',
'packing.toast.deleteError': 'Verwijderen mislukt',
'packing.toast.renameError': 'Hernoemen mislukt',
'packing.toast.addError': 'Toevoegen mislukt',
// Packing suggestions
'packing.suggestions.items': [
{ name: 'Paspoort', category: 'Documenten' },
{ name: 'Identiteitskaart', category: 'Documenten' },
{ name: 'Reisverzekering', category: 'Documenten' },
{ name: 'Vliegtickets', category: 'Documenten' },
{ name: 'Creditcard', category: 'Financiën' },
{ name: 'Contant geld', category: 'Financiën' },
{ name: 'Visum', category: 'Documenten' },
{ name: 'T-shirts', category: 'Kleding' },
{ name: 'Broeken', category: 'Kleding' },
{ name: 'Ondergoed', category: 'Kleding' },
{ name: 'Sokken', category: 'Kleding' },
{ name: 'Jas', category: 'Kleding' },
{ name: 'Slaapkleding', category: 'Kleding' },
{ name: 'Zwemkleding', category: 'Kleding' },
{ name: 'Regenjas', category: 'Kleding' },
{ name: 'Comfortabele schoenen', category: 'Kleding' },
{ name: 'Tandenborstel', category: 'Toiletartikelen' },
{ name: 'Tandpasta', category: 'Toiletartikelen' },
{ name: 'Shampoo', category: 'Toiletartikelen' },
{ name: 'Deodorant', category: 'Toiletartikelen' },
{ name: 'Zonnebrandcrème', category: 'Toiletartikelen' },
{ name: 'Scheermesje', category: 'Toiletartikelen' },
{ name: 'Oplader', category: 'Elektronica' },
{ name: 'Powerbank', category: 'Elektronica' },
{ name: 'Koptelefoon', category: 'Elektronica' },
{ name: 'Reisadapter', category: 'Elektronica' },
{ name: 'Camera', category: 'Elektronica' },
{ name: 'Pijnstillers', category: 'Gezondheid' },
{ name: 'Pleisters', category: 'Gezondheid' },
{ name: 'Ontsmettingsmiddel', category: 'Gezondheid' },
],
// Members / Sharing
'members.shareTrip': 'Reis delen',
'members.inviteUser': 'Gebruiker uitnodigen',
'members.selectUser': 'Selecteer gebruiker…',
'members.invite': 'Uitnodigen',
'members.allHaveAccess': 'Alle gebruikers hebben al toegang.',
'members.access': 'Toegang',
'members.person': 'persoon',
'members.persons': 'personen',
'members.you': 'jij',
'members.owner': 'Eigenaar',
'members.leaveTrip': 'Reis verlaten',
'members.removeAccess': 'Toegang verwijderen',
'members.confirmLeave': 'Reis verlaten? Je verliest de toegang.',
'members.confirmRemove': 'Toegang voor deze gebruiker verwijderen?',
'members.loadError': 'Leden laden mislukt',
'members.added': 'toegevoegd',
'members.addError': 'Toevoegen mislukt',
'members.removed': 'Lid verwijderd',
'members.removeError': 'Verwijderen mislukt',
// Categories (Admin)
'categories.title': 'Categorieën',
'categories.subtitle': 'Beheer categorieën voor plaatsen',
'categories.new': 'Nieuwe categorie',
'categories.empty': 'Nog geen categorieën',
'categories.namePlaceholder': 'Categorienaam',
'categories.icon': 'Pictogram',
'categories.color': 'Kleur',
'categories.customColor': 'Kies een aangepaste kleur',
'categories.preview': 'Voorbeeld',
'categories.defaultName': 'Categorie',
'categories.update': 'Bijwerken',
'categories.create': 'Aanmaken',
'categories.confirm.delete': 'Categorie verwijderen? Plaatsen in deze categorie worden niet verwijderd.',
'categories.toast.loadError': 'Categorieën laden mislukt',
'categories.toast.nameRequired': 'Voer een naam in',
'categories.toast.updated': 'Categorie bijgewerkt',
'categories.toast.created': 'Categorie aangemaakt',
'categories.toast.saveError': 'Opslaan mislukt',
'categories.toast.deleted': 'Categorie verwijderd',
'categories.toast.deleteError': 'Verwijderen mislukt',
// Backup (Admin)
'backup.title': 'Gegevensback-up',
'backup.subtitle': 'Database en alle geüploade bestanden',
'backup.refresh': 'Vernieuwen',
'backup.upload': 'Back-up uploaden',
'backup.uploading': 'Uploaden…',
'backup.create': 'Back-up aanmaken',
'backup.creating': 'Aanmaken…',
'backup.empty': 'Nog geen back-ups',
'backup.createFirst': 'Eerste back-up aanmaken',
'backup.download': 'Downloaden',
'backup.restore': 'Herstellen',
'backup.confirm.restore': 'Back-up "{name}" herstellen?\n\nAlle huidige gegevens worden vervangen door de back-up.',
'backup.confirm.uploadRestore': 'Back-upbestand "{name}" uploaden en herstellen?\n\nAlle huidige gegevens worden overschreven.',
'backup.confirm.delete': 'Back-up "{name}" verwijderen?',
'backup.toast.loadError': 'Back-ups laden mislukt',
'backup.toast.created': 'Back-up succesvol aangemaakt',
'backup.toast.createError': 'Back-up aanmaken mislukt',
'backup.toast.restored': 'Back-up hersteld. Pagina wordt herladen…',
'backup.toast.restoreError': 'Herstellen mislukt',
'backup.toast.uploadError': 'Uploaden mislukt',
'backup.toast.deleted': 'Back-up verwijderd',
'backup.toast.deleteError': 'Verwijderen mislukt',
'backup.toast.downloadError': 'Downloaden mislukt',
'backup.toast.settingsSaved': 'Auto-back-up-instellingen opgeslagen',
'backup.toast.settingsError': 'Instellingen opslaan mislukt',
'backup.auto.title': 'Auto-back-up',
'backup.auto.subtitle': 'Automatische back-up volgens schema',
'backup.auto.enable': 'Auto-back-up inschakelen',
'backup.auto.enableHint': 'Back-ups worden automatisch aangemaakt volgens het gekozen schema',
'backup.auto.interval': 'Interval',
'backup.auto.hour': 'Uitvoeren om',
'backup.auto.hourHint': 'Lokale servertijd ({format}-notatie)',
'backup.auto.dayOfWeek': 'Dag van de week',
'backup.auto.dayOfMonth': 'Dag van de maand',
'backup.auto.dayOfMonthHint': 'Beperkt tot 128 voor compatibiliteit met alle maanden',
'backup.auto.scheduleSummary': 'Planning',
'backup.auto.summaryDaily': 'Elke dag om {hour}:00',
'backup.auto.summaryWeekly': 'Elke {day} om {hour}:00',
'backup.auto.summaryMonthly': 'Dag {day} van elke maand om {hour}:00',
'backup.auto.envLocked': 'Docker',
'backup.auto.envLockedHint': 'Auto-back-up is geconfigureerd via Docker-omgevingsvariabelen. Pas je docker-compose.yml aan en herstart de container om deze instellingen te wijzigen.',
'backup.auto.copyEnv': 'Docker-omgevingsvariabelen kopiëren',
'backup.auto.envCopied': 'Docker-omgevingsvariabelen gekopieerd naar klembord',
'backup.auto.keepLabel': 'Oude back-ups verwijderen na',
'backup.dow.sunday': 'Zo',
'backup.dow.monday': 'Ma',
'backup.dow.tuesday': 'Di',
'backup.dow.wednesday': 'Wo',
'backup.dow.thursday': 'Do',
'backup.dow.friday': 'Vr',
'backup.dow.saturday': 'Za',
'backup.interval.hourly': 'Elk uur',
'backup.interval.daily': 'Dagelijks',
'backup.interval.weekly': 'Wekelijks',
'backup.interval.monthly': 'Maandelijks',
'backup.keep.1day': '1 dag',
'backup.keep.3days': '3 dagen',
'backup.keep.7days': '7 dagen',
'backup.keep.14days': '14 dagen',
'backup.keep.30days': '30 dagen',
'backup.keep.forever': 'Voor altijd bewaren',
// Photos
'photos.allDays': 'Alle dagen',
'photos.noPhotos': 'Nog geen foto\'s',
'photos.uploadHint': 'Upload je reisfoto\'s',
'photos.clickToSelect': 'of klik om te selecteren',
'photos.linkPlace': 'Koppel plaats',
'photos.noPlace': 'Geen plaats',
'photos.uploadN': '{n} foto(\'s) uploaden',
// Backup restore modal
'backup.restoreConfirmTitle': 'Back-up herstellen?',
'backup.restoreWarning': 'Alle huidige gegevens (reizen, plaatsen, gebruikers, uploads) worden permanent vervangen door de back-up. Deze actie kan niet ongedaan worden gemaakt.',
'backup.restoreTip': 'Tip: Maak een back-up van de huidige status voordat je herstelt.',
'backup.restoreConfirm': 'Ja, herstellen',
// PDF
'pdf.travelPlan': 'Reisplan',
'pdf.planned': 'Gepland',
'pdf.costLabel': 'Kosten EUR',
'pdf.preview': 'PDF-voorbeeld',
'pdf.saveAsPdf': 'Opslaan als PDF',
// Planner
'planner.places': 'Plaatsen',
'planner.bookings': 'Boekingen',
'planner.packingList': 'Paklijst',
'planner.documents': 'Documenten',
'planner.dayPlan': 'Dagplan',
'planner.reservations': 'Reserveringen',
'planner.minTwoPlaces': 'Minimaal 2 plaatsen met coördinaten nodig',
'planner.noGeoPlaces': 'Geen plaatsen met coördinaten beschikbaar',
'planner.routeCalculated': 'Route berekend',
'planner.routeCalcFailed': 'Route kon niet worden berekend',
'planner.routeError': 'Fout bij routeberekening',
'planner.routeOptimized': 'Route geoptimaliseerd',
'planner.reservationUpdated': 'Reservering bijgewerkt',
'planner.reservationAdded': 'Reservering toegevoegd',
'planner.confirmDeleteReservation': 'Reservering verwijderen?',
'planner.reservationDeleted': 'Reservering verwijderd',
'planner.days': 'Dagen',
'planner.allPlaces': 'Alle plaatsen',
'planner.totalPlaces': '{n} plaatsen totaal',
'planner.noDaysPlanned': 'Nog geen dagen gepland',
'planner.editTrip': 'Reis bewerken \u2192',
'planner.placeOne': '1 plaats',
'planner.placeN': '{n} plaatsen',
'planner.addNote': 'Notitie toevoegen',
'planner.noEntries': 'Geen invoeren voor deze dag',
'planner.addPlace': 'Plaats/activiteit toevoegen',
'planner.addPlaceShort': '+ Plaats/activiteit toevoegen',
'planner.resPending': 'Reservering in behandeling · ',
'planner.resConfirmed': 'Reservering bevestigd · ',
'planner.notePlaceholder': 'Notitie…',
'planner.noteTimePlaceholder': 'Tijd (optioneel)',
'planner.noteExamplePlaceholder': 'bijv. S3 om 14:30 vanaf centraal station, veerboot van pier 7, lunchpauze…',
'planner.totalCost': 'Totale kosten',
'planner.searchPlaces': 'Plaatsen zoeken…',
'planner.allCategories': 'Alle categorieën',
'planner.noPlacesFound': 'Geen plaatsen gevonden',
'planner.addFirstPlace': 'Eerste plaats toevoegen',
'planner.noReservations': 'Geen reserveringen',
'planner.addFirstReservation': 'Eerste reservering toevoegen',
'planner.new': 'Nieuw',
'planner.addToDay': '+ Dag',
'planner.calculating': 'Berekenen…',
'planner.route': 'Route',
'planner.optimize': 'Optimaliseren',
'planner.openGoogleMaps': 'Openen in Google Maps',
'planner.selectDayHint': 'Selecteer een dag uit de lijst links om het dagplan te bekijken',
'planner.noPlacesForDay': 'Nog geen plaatsen voor deze dag',
'planner.addPlacesLink': 'Plaatsen toevoegen \u2192',
'planner.minTotal': 'min. totaal',
'planner.noReservation': 'Geen reservering',
'planner.removeFromDay': 'Verwijderen van dag',
'planner.addToThisDay': 'Toevoegen aan dag',
'planner.overview': 'Overzicht',
'planner.noDays': 'Geen dagen',
'planner.editTripToAddDays': 'Bewerk de reis om dagen toe te voegen',
'planner.dayCount': '{n} dagen',
'planner.clickToUnlock': 'Klik om te ontgrendelen',
'planner.keepPosition': 'Positie behouden tijdens route-optimalisatie',
'planner.dayDetails': 'Dagdetails',
'planner.dayN': 'Dag {n}',
// Dashboard Stats
'stats.countries': 'Landen',
'stats.cities': 'Steden',
'stats.trips': 'Reizen',
'stats.places': 'Plaatsen',
'stats.worldProgress': 'Wereldvoortgang',
'stats.visited': 'bezocht',
'stats.remaining': 'resterend',
'stats.visitedCountries': 'Bezochte landen',
// Day Detail Panel
'day.precipProb': 'Regenkans',
'day.precipitation': 'Neerslag',
'day.wind': 'Wind',
'day.sunrise': 'Zonsopgang',
'day.sunset': 'Zonsondergang',
'day.hourlyForecast': 'Uurlijkse voorspelling',
'day.climateHint': 'Historische gemiddelden — echte voorspelling beschikbaar binnen 16 dagen voor deze datum.',
'day.noWeather': 'Geen weergegevens beschikbaar. Voeg een plaats met coördinaten toe.',
'day.overview': 'Dagoverzicht',
'day.accommodation': 'Accommodatie',
'day.addAccommodation': 'Accommodatie toevoegen',
'day.hotelDayRange': 'Toepassen op dagen',
'day.noPlacesForHotel': 'Voeg eerst plaatsen toe aan je reis',
'day.allDays': 'Alle',
'day.checkIn': 'Check-in',
'day.checkOut': 'Check-out',
'day.confirmation': 'Bevestiging',
'day.editAccommodation': 'Accommodatie bewerken',
'day.reservations': 'Reserveringen',
// Memories / Immich
'memories.title': 'Foto\'s',
'memories.notConnected': 'Immich niet verbonden',
'memories.notConnectedHint': 'Verbind je Immich-instantie in Instellingen om je reisfoto\'s hier te zien.',
'memories.noDates': 'Voeg data toe aan je reis om foto\'s te laden.',
'memories.noPhotos': 'Geen foto\'s gevonden',
'memories.noPhotosHint': 'Geen foto\'s gevonden in Immich voor de datumreeks van deze reis.',
'memories.photosFound': 'foto\'s',
'memories.fromOthers': 'van anderen',
'memories.sharePhotos': 'Foto\'s delen',
'memories.sharing': 'Wordt gedeeld',
'memories.reviewTitle': 'Je foto\'s bekijken',
'memories.reviewHint': 'Klik op foto\'s om ze uit te sluiten van delen.',
'memories.shareCount': '{count} foto\'s delen',
'memories.immichUrl': 'Immich Server URL',
'memories.immichApiKey': 'API-sleutel',
'memories.testConnection': 'Verbinding testen',
'memories.testFirst': 'Test eerst de verbinding',
'memories.connected': 'Verbonden',
'memories.disconnected': 'Niet verbonden',
'memories.connectionSuccess': 'Verbonden met Immich',
'memories.connectionError': 'Kon niet verbinden met Immich',
'memories.saved': 'Immich-instellingen opgeslagen',
'memories.oldest': 'Oudste eerst',
'memories.newest': 'Nieuwste eerst',
'memories.allLocations': 'Alle locaties',
'memories.addPhotos': 'Foto\'s toevoegen',
'memories.linkAlbum': 'Album koppelen',
'memories.selectAlbum': 'Immich-album selecteren',
'memories.noAlbums': 'Geen albums gevonden',
'memories.syncAlbum': 'Album synchroniseren',
'memories.unlinkAlbum': 'Ontkoppelen',
'memories.photos': 'fotos',
'memories.selectPhotos': 'Selecteer foto\'s uit Immich',
'memories.selectHint': 'Tik op foto\'s om ze te selecteren.',
'memories.selected': 'geselecteerd',
'memories.addSelected': '{count} foto\'s toevoegen',
'memories.alreadyAdded': 'Toegevoegd',
'memories.private': 'Privé',
'memories.stopSharing': 'Delen stoppen',
'memories.tripDates': 'Reisdata',
'memories.allPhotos': 'Alle foto\'s',
'memories.confirmShareTitle': 'Delen met reisgenoten?',
'memories.confirmShareHint': '{count} foto\'s worden zichtbaar voor alle leden van deze reis. Je kunt individuele foto\'s later privé maken.',
'memories.confirmShareButton': 'Foto\'s delen',
// Collab Addon
'collab.tabs.chat': 'Chat',
'collab.tabs.notes': 'Notities',
'collab.tabs.polls': 'Polls',
'collab.whatsNext.title': 'Wat komt er',
'collab.whatsNext.today': 'Vandaag',
'collab.whatsNext.tomorrow': 'Morgen',
'collab.whatsNext.empty': 'Geen komende activiteiten',
'collab.whatsNext.until': 'tot',
'collab.whatsNext.emptyHint': 'Activiteiten met tijden verschijnen hier',
'collab.chat.send': 'Verzenden',
'collab.chat.placeholder': 'Typ een bericht...',
'collab.chat.empty': 'Start het gesprek',
'collab.chat.emptyHint': 'Berichten worden gedeeld met alle reisleden',
'collab.chat.emptyDesc': 'Deel ideeën, plannen en updates met je reisgroep',
'collab.chat.today': 'Vandaag',
'collab.chat.yesterday': 'Gisteren',
'collab.chat.deletedMessage': 'heeft een bericht verwijderd',
'collab.chat.reply': 'Beantwoorden',
'collab.chat.loadMore': 'Oudere berichten laden',
'collab.chat.justNow': 'zojuist',
'collab.chat.minutesAgo': '{n} min. geleden',
'collab.chat.hoursAgo': '{n} uur geleden',
'collab.notes.title': 'Notities',
'collab.notes.new': 'Nieuwe notitie',
'collab.notes.empty': 'Nog geen notities',
'collab.notes.emptyHint': 'Begin met het vastleggen van ideeën en plannen',
'collab.notes.all': 'Alle',
'collab.notes.titlePlaceholder': 'Notitietitel',
'collab.notes.contentPlaceholder': 'Schrijf iets...',
'collab.notes.categoryPlaceholder': 'Categorie',
'collab.notes.newCategory': 'Nieuwe categorie...',
'collab.notes.category': 'Categorie',
'collab.notes.noCategory': 'Geen categorie',
'collab.notes.color': 'Kleur',
'collab.notes.save': 'Opslaan',
'collab.notes.cancel': 'Annuleren',
'collab.notes.edit': 'Bewerken',
'collab.notes.delete': 'Verwijderen',
'collab.notes.pin': 'Vastpinnen',
'collab.notes.unpin': 'Losmaken',
'collab.notes.daysAgo': '{n}d geleden',
'collab.notes.categorySettings': 'Categorieën beheren',
'collab.notes.create': 'Aanmaken',
'collab.notes.website': 'Website',
'collab.notes.websitePlaceholder': 'https://...',
'collab.notes.attachFiles': 'Bestanden bijvoegen',
'collab.notes.noCategoriesYet': 'Nog geen categorieën',
'collab.notes.emptyDesc': 'Maak een notitie om te beginnen',
'collab.polls.title': 'Polls',
'collab.polls.new': 'Nieuwe poll',
'collab.polls.empty': 'Nog geen polls',
'collab.polls.emptyHint': 'Stel de groep een vraag en stem samen',
'collab.polls.question': 'Vraag',
'collab.polls.questionPlaceholder': 'Wat zullen we doen?',
'collab.polls.addOption': '+ Optie toevoegen',
'collab.polls.optionPlaceholder': 'Optie {n}',
'collab.polls.create': 'Poll aanmaken',
'collab.polls.close': 'Sluiten',
'collab.polls.closed': 'Gesloten',
'collab.polls.votes': '{n} stemmen',
'collab.polls.vote': '{n} stem',
'collab.polls.multipleChoice': 'Meerkeuze',
'collab.polls.multiChoice': 'Meerkeuze',
'collab.polls.deadline': 'Deadline',
'collab.polls.option': 'Optie',
'collab.polls.options': 'Opties',
'collab.polls.delete': 'Verwijderen',
'collab.polls.closedSection': 'Gesloten',
// Permissions
'admin.tabs.permissions': 'Rechten',
'perm.title': 'Rechtinstellingen',
'perm.subtitle': 'Bepaal wie welke acties mag uitvoeren in de applicatie',
'perm.saved': 'Rechtinstellingen opgeslagen',
'perm.resetDefaults': 'Standaardwaarden herstellen',
'perm.customized': 'aangepast',
'perm.level.admin': 'Alleen beheerder',
'perm.level.tripOwner': 'Reiseigenaar',
'perm.level.tripMember': 'Reisleden',
'perm.level.everybody': 'Iedereen',
'perm.cat.trip': 'Reisbeheer',
'perm.cat.members': 'Ledenbeheer',
'perm.cat.files': 'Bestanden',
'perm.cat.content': 'Inhoud & planning',
'perm.cat.extras': 'Budget, paklijsten & samenwerking',
'perm.action.trip_create': 'Reizen aanmaken',
'perm.action.trip_edit': 'Reisdetails bewerken',
'perm.action.trip_delete': 'Reizen verwijderen',
'perm.action.trip_archive': 'Reizen archiveren / dearchiveren',
'perm.action.trip_cover_upload': 'Omslagfoto uploaden',
'perm.action.member_manage': 'Leden toevoegen / verwijderen',
'perm.action.file_upload': 'Bestanden uploaden',
'perm.action.file_edit': 'Bestandsmetadata bewerken',
'perm.action.file_delete': 'Bestanden verwijderen',
'perm.action.place_edit': 'Plaatsen toevoegen / bewerken / verwijderen',
'perm.action.day_edit': 'Dagen, notities & toewijzingen bewerken',
'perm.action.reservation_edit': 'Reserveringen beheren',
'perm.action.budget_edit': 'Budget beheren',
'perm.action.packing_edit': 'Paklijsten beheren',
'perm.action.collab_edit': 'Samenwerking (notities, polls, chat)',
'perm.action.share_manage': 'Deellinks beheren',
'perm.actionHint.trip_create': 'Wie kan nieuwe reizen aanmaken',
'perm.actionHint.trip_edit': 'Wie kan reisnaam, data, beschrijving en valuta wijzigen',
'perm.actionHint.trip_delete': 'Wie kan een reis permanent verwijderen',
'perm.actionHint.trip_archive': 'Wie kan een reis archiveren of dearchiveren',
'perm.actionHint.trip_cover_upload': 'Wie kan de omslagfoto uploaden of wijzigen',
'perm.actionHint.member_manage': 'Wie kan reisleden uitnodigen of verwijderen',
'perm.actionHint.file_upload': 'Wie kan bestanden uploaden naar een reis',
'perm.actionHint.file_edit': 'Wie kan bestandsbeschrijvingen en links bewerken',
'perm.actionHint.file_delete': 'Wie kan bestanden naar de prullenbak verplaatsen of permanent verwijderen',
'perm.actionHint.place_edit': 'Wie kan plaatsen toevoegen, bewerken of verwijderen',
'perm.actionHint.day_edit': 'Wie kan dagen, dagnotities en plaatstoewijzingen bewerken',
'perm.actionHint.reservation_edit': 'Wie kan reserveringen aanmaken, bewerken of verwijderen',
'perm.actionHint.budget_edit': 'Wie kan budgetposten aanmaken, bewerken of verwijderen',
'perm.actionHint.packing_edit': 'Wie kan pakitems en tassen beheren',
'perm.actionHint.collab_edit': 'Wie kan notities, polls aanmaken en berichten versturen',
'perm.actionHint.share_manage': 'Wie kan openbare deellinks aanmaken of verwijderen',
// Undo
'undo.button': 'Ongedaan maken',
'undo.tooltip': 'Ongedaan maken: {action}',
'undo.assignPlace': 'Locatie aan dag toegewezen',
'undo.removeAssignment': 'Locatie uit dag verwijderd',
'undo.reorder': 'Locaties hergeordend',
'undo.optimize': 'Route geoptimaliseerd',
'undo.deletePlace': 'Locatie verwijderd',
'undo.moveDay': 'Locatie naar andere dag verplaatst',
'undo.lock': 'Vergrendeling locatie gewijzigd',
'undo.importGpx': 'GPX-import',
'undo.importGoogleList': 'Google Maps-import',
// Notifications
'notifications.title': 'Meldingen',
'notifications.markAllRead': 'Alles als gelezen markeren',
'notifications.deleteAll': 'Alles verwijderen',
'notifications.showAll': 'Alle meldingen weergeven',
'notifications.empty': 'Geen meldingen',
'notifications.emptyDescription': 'Je bent helemaal bijgewerkt!',
'notifications.all': 'Alle',
'notifications.unreadOnly': 'Ongelezen',
'notifications.markRead': 'Markeren als gelezen',
'notifications.markUnread': 'Markeren als ongelezen',
'notifications.delete': 'Verwijderen',
'notifications.system': 'Systeem',
'memories.error.loadAlbums': 'Albums laden mislukt',
'memories.error.linkAlbum': 'Album koppelen mislukt',
'memories.error.unlinkAlbum': 'Album ontkoppelen mislukt',
'memories.error.syncAlbum': 'Album synchroniseren mislukt',
'memories.error.loadPhotos': 'Foto\'s laden mislukt',
'memories.error.addPhotos': 'Foto\'s toevoegen mislukt',
'memories.error.removePhoto': 'Foto verwijderen mislukt',
'memories.error.toggleSharing': 'Delen bijwerken mislukt',
'undo.addPlace': 'Locatie toegevoegd',
'undo.done': 'Ongedaan gemaakt: {action}',
'notifications.test.title': 'Testmelding van {actor}',
'notifications.test.text': 'Dit is een eenvoudige testmelding.',
'notifications.test.booleanTitle': '{actor} vraagt om uw goedkeuring',
'notifications.test.booleanText': 'Booleaanse testmelding.',
'notifications.test.accept': 'Goedkeuren',
'notifications.test.decline': 'Afwijzen',
'notifications.test.navigateTitle': 'Bekijk iets',
'notifications.test.navigateText': 'Navigatie-testmelding.',
'notifications.test.goThere': 'Ga erheen',
'notifications.test.adminTitle': 'Admin-broadcast',
'notifications.test.adminText': '{actor} heeft een testmelding naar alle admins gestuurd.',
'notifications.test.tripTitle': '{actor} heeft gepost in uw reis',
'notifications.test.tripText': 'Testmelding voor reis "{trip}".',
// Todo
'todo.subtab.packing': 'Packing List',
'todo.subtab.todo': 'To-Do',
'todo.completed': 'completed',
'todo.filter.all': 'All',
'todo.filter.open': 'Open',
'todo.filter.done': 'Done',
'todo.uncategorized': 'Uncategorized',
'todo.namePlaceholder': 'Task name',
'todo.descriptionPlaceholder': 'Description (optional)',
'todo.unassigned': 'Unassigned',
'todo.noCategory': 'No category',
'todo.hasDescription': 'Has description',
'todo.addItem': 'Add new task...',
'todo.newCategory': 'Category name',
'todo.addCategory': 'Add category',
'todo.newItem': 'New task',
'todo.empty': 'No tasks yet. Add a task to get started!',
'todo.filter.my': 'My Tasks',
'todo.filter.overdue': 'Overdue',
'todo.sidebar.tasks': 'Tasks',
'todo.sidebar.categories': 'Categories',
'todo.detail.title': 'Task',
'todo.detail.description': 'Description',
'todo.detail.category': 'Category',
'todo.detail.dueDate': 'Due date',
'todo.detail.assignedTo': 'Assigned to',
'todo.detail.delete': 'Delete',
'todo.detail.save': 'Save changes',
'todo.detail.create': 'Create task',
'todo.detail.priority': 'Priority',
'todo.detail.noPriority': 'None',
'todo.sortByPrio': 'Priority',
}
export default nl